複数のネットワークデバイス間の接続を求める需要が急速に増大し続けている。多くのシステムにおいて、ネットワーク接続および/または通信の機能を有する、ますます多くのデバイスが製造されるようになっている。例えば、いくつかの自動車においては、以前は接続性を考慮されていなかった構成要素が接続機能を有して製造されるようになってきている。ブレーキ、スロットル、および/またはさまざまな他の部品のような部品が、イーサネット(登録商標)AVBネットワークを通じて通信することができる、イーサネット(登録商標)オーディオ・ビデオブリッジング(「イーサネット(登録商標)AVB」)使用可能デバイスとして製造される場合がある。いくつかのシステムにおいて、イーサネット(登録商標)ネットワークは、1つまたは複数のデバイスを、無線でかつ/またはイーサネット(登録商標)ケーブルのような有線接続で、送信されているオーディオおよび/またはビデオデータストリームに接続するのに使用される場合がある。
ますます多くのデバイスがネットワーク通信機能を有して製造され、成長を続けるネットワーク内に含まれるようになってきていることにより、より多くの量のデータ、ストリーム広告、および/またはデータストリームが、ネットワークを通じて送信、伝送、受信、かつ/または他の様態で通信されるようになってきている。例えば、イーサネット(登録商標)AVBネットワークのようないくつかのネットワークにおいて、数百または数千ストリームのデータがネットワーク上で利用可能であり得る。これらのネットワークシステムの多くにおいて、ネットワークに接続されている各デバイスは、ネットワークを通じて送信されるデータまたはデータストリームのすべてに関する情報および/またはデータを受信および記憶している場合がある。これらのストリームのすべてを追跡するには、メモリ資源および処理能力が必要であり得る。デバイスにとって関心がないデータ、ストリーム広告、および/またはデータストリームを受信している場合などには、これは、メモリ、処理能力、および/またはデバイスの他の資源の効率的な使用でない場合がある。いくつかのデバイスでは、デバイスの上位層に関連のあるデータまたはストリーム広告を転送するフィルタとしての役割を果たすことができる構成要素または機能を有することが望ましい場合がある。
これらの課題に対処するのに有用であり得る多数のシステムおよび方法(一般的に「システム」と称される)が説明される。これらのシステムは、ストリーム予約プロトコルスパースモードを組み込むことができる。スパースモードにおいて、デバイスはそのストリーム予約プロトコルリスナを、デバイスにとって関心があるストリームのみを処理するように構成することができる。スパースモードによって指定されるストリームと一致しないストリームおよび/またはストリームのためのストリーム広告は、関心がないものとみなされ、単純に無視される場合がある。
図1は、スパースモード動作のためのシステムおよび方法を組み込み、含み、かつ/または使用することができるネットワーク通信システムの例を示す。システムは、1つもしくは複数のネットワーク110、1つもしくは複数のトーカ130、131、および132、1つもしくは複数のリスナ140、141、および142、1つもしくは複数のトーカ/リスナ150、ならびに/または1つもしくは複数のコントローラ190を含むことができる。トーカ130、131、および132は、ネットワーク110を介して情報および/またはデータを送信するように構成されることができる。リスナ140、141、および142は、ネットワーク110を介して情報および/またはデータを受信するように構成されることができる。トーカ/リスナ150は、ネットワークを介して情報および/またはデータを送受信するように構成されることができる。コントローラ190は、ネットワーク110、トーカ130、131、および132、リスナ140、141、および142、ならびに/またはトーカ/リスナ150の1つまたは複数の態様を制御するように構成されることができる。トーカ130、131、および132、リスナ140、141、および142、トーカ/リスナ150、ならびに/またはコントローラ190のうちの1つまたは複数は、後述するシステムの機能性の一部またはすべてを実施するハードウェア、ソフトウェア、および/またはハードウェアとソフトウェアとの組み合わせであることができるか、またはそれらを含むことができる。他の例においては、より多くのまたはより少ない構成要素が含まれてもよい。
トーカ130、131、および132、リスナ140、141、および142、トーカ/リスナ150、ならびに/またはコントローラ190のうちの1つまたは複数は、ネットワーク110を通じて、または使用して、互いに接続されることができる。代替的にまたは付加的に、トーカ130、131、および132、リスナ140、141、および142、トーカ/リスナ150、ならびに/またはコントローラ190のうちの1つまたは複数は、直接互いに接続されることができる。例えば、トーカ130、131、および132、リスナ140、141、および142、トーカ/リスナ150、ならびに/またはコントローラ190のうちの1つまたは複数は、イーサネット(登録商標)ケーブルのような有線接続および/または無線ネットワークを使用して、互いに接続されることができる。さまざまな他の接続が可能である。
ネットワーク110は、イーサネット(登録商標)AVBネットワークであることができ、それを含むことができ、かつ/またはそれを通じてもしくは用いて通信することができる。ネットワーク110は、ネットワークを通じて通信しかつ/またはネットワークに接続される1つまたは複数のデバイスと通信することができる1つまたは複数のブリッジを含むことができる。1つまたは複数のブリッジは、IEEEによって指定されるイーサネット(登録商標)AVBプロトコルのようなさまざまなプロトコルを通じて、またはそれを使用して、ネットワーク110、および/またはネットワークに接続されるデバイスと通信することができる。例えば、1つまたは複数のブリッジは、ネットワークタイミングおよび同期のためのIEEE802.1AS−2001(gPTP)、ストリーミングデータを待ち行列に入れて転送するためのIEEE802.1Qav−2009、ネットワーク内のデータストリーム帯域幅を予約するためのIEEE802.1Qat−2010(SRP)、および/または可能なデータストリーミングフォーマットに関連するIEEE1722−2011のような、イーサネット(登録商標)AVBプロトコルを通じて、またはそれらを使用して、ネットワーク110、および/またはネットワークに接続されるデバイスと通信することができる。さまざまな他のプロトコルが使用されてもよい。代替的にまたは付加的に、ネットワーク110は、インターネットのような広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、キャンパスエリアネットワーク、都市規模ネットワーク、または、データ通信を可能にすることができる任意の他の無線および/もしくは有線接続ネットワークとすることができ、それらを含むことができ、かつ/またはそれらを通じて、もしくはそれらを使用して通信することができる。ネットワーク110は、複数のサブネットワークに分割されることができる。サブネットワークは、ネットワーク110に接続される構成要素のすべてへのアクセスを可能にすることができるか、またはサブネットワークは、ネットワーク110に接続される構成要素間のアクセスを制限することができる。ネットワーク110は、公衆または私的ネットワークとみなされることができ、例えば、仮想プライベートネットワーク、暗号化、または公衆インターネット上で採用される任意の他のセキュリティ機構などを含むことができる。さまざまな他のタイプのネットワーク110が可能である。
トーカ130、131、および132、リスナ140、141、および142、ならびに/またはトーカ/リスナ150のうちの1つまたは複数は、データ転送をサポートする任意の構成でネットワーク110に接続されることができる。これは、有線接続されるかまたは無線であり得るネットワーク110へのデータ接続を含むことができる。トーカ130、131、および132、リスナ140、141、および142、ならびに/またはトーカ/リスナ150のうちの1つまたは複数は、ケーブルまたはイーサネット(登録商標)AVBネットワークへの無線接続を使用するなどして、イーサネット(登録商標)接続を通じて、またはそれを用いて、イーサネット(登録商標)AVBネットワークに、かつ/または互いに接続されることができる。さまざまな他の接続が可能であり得る。
システムは、1つまたは複数のトーカシステム、またはトーカ130、131、および132を含むことができる。小規模の通信ネットワークでは、システムは20以下のような少数のトーカのみを有する場合がある。他のより大きな通信システムでは、システムは数百、数千または可能性としては数百万のトーカを含む場合がある。さまざまな数のトーカが可能である。
トーカ130、131、および132は、図10に示し後述するコンピュータシステム1000のようなコンピュータシステムの機構の一部またはすべてであるかもしくはそれらを含む場合もあり、またはそれらでないかもしくはそれらを含まない場合もある。トーカ130、131、および132は、イーサネット(登録商標)AVB使用可能かつ/または準拠とすることができる。トーカ130、131、および132は、1つまたは複数の標準規格またはプロトコルに従って、それらを通じて、かつ/またはそれらを使用するなどして、イーサネット(登録商標)AVBネットワークを通じて、かつ/またはそれを用いて通信するように構成され、適合され、動作可能であり、かつ/またはイネーブルされることができる。トーカ130とネットワーク110との間の通信に関連付けられるプロトコルの例は、IEEE802.1Qat−2010において指定されるストリーム予約プロトコルであり得る。代替的にまたは付加的に、マルチMACレジストレーションプロトコル(「MMRP」)、IEEE 802.1AS−2011(gPTP)、IEEE 802.1Qav−2009、および/またはIEEE 1722−2011のような、さまざまな他のプロトコルが使用されることができる。
トーカ130、131、および132は、ネットワーク110を通じて情報および/またはデータを送信するように構成され、適合され、動作可能であり、かつ/またはイネーブルされることができる。例えば、トーカ130、131、および132は、イーサネット(登録商標)AVBネットワークを通じて、使用して、または介して、データ、コマンド、および/またはコマンド信号を含む情報のストリームを送信するように構成および/または適合されることができる。イーサネット(登録商標)AVBネットワークを通じてなど、ネットワーク110を通じてトーカ130、131、および132によって送信される情報および/またはデータは、リスナ140、141、および142ならびに/またはトーカ/リスナ150のような、ネットワーク110に接続される他のデバイスによって受信されることができる。
トーカ130、131、および132は、さまざまな機能を実行し、かつ/またはさまざまな構成要素に接続されるか、もしくはそれらを含むことができる。例えば、トーカ130は、ネットワーク110、および、楽器またはマイクのような入力デバイスに接続されることができる。情報および/またはデータは、トーカ130またはトーカ130に接続されるデバイスに送信され、それらによって受信され、かつ/または他の様態で入力されることができる。例えば、ユーザは、トーカ130に接続されるマイクに向かって楽器を演奏するかまたは歌うことができ、楽器、歌、および/または音声に関する情報および/またはデータがトーカ130によって受信されることができる。
ネットワーク通信システム内のトーカ130、131、および132は、それ自体が(マイクのような)物理的デバイスである場合があるか、またはそのように記載されている場合があるが、いくつかのシステムにおいては、トーカは、図10に示し後述するコンピュータシステム1000の機構のいくつかまたはすべてのような、(マイクのような)トーカを制御するために使用され、かつ/またはそのために動作することができる、コンピュータまたは他の電子制御デバイスであることができるか、またはそれらを含むことができることが理解されるべきである。これらのシステムでは、コンピュータまたは他の電子制御デバイスは、AVB使用可能であり、かつ/またはネットワーク110と直接通信することができる。加えて、コンピュータまたは他の電子制御デバイスは、有線または無線接続を用いるなどして、物理的デバイスまたは他のデバイスとさまざまな方法で通信することができる。さまざまな他の代替形態が可能である。
トーカ130は、さまざまな方法で受信された情報および/またはデータを処理することができる。例えば、トーカ130は、音楽信号のような受信された任意の信号を、アナログ信号からデジタル信号に変換することができる。他のシステムでは、コンピュータデバイスが受信された情報および/またはデータの処理を実行することができるとともに、処理された情報および/またはデータをトーカ130に送信することができる。さまざまな他の処理機能が、トーカ130および/またはトーカ130と通信するデバイスによって実行されることができる。
トーカ130は、データストリームおよび/またはイーサネット(登録商標)AVB信号内で、それらを用いて、かつ/またはそれらを使用して、(「広告」)処理済み情報および/またはデータをネットワーク110に伝送、送信、出力、および/または広告することができる。そのような信号は例えば、ストリーム広告と称される場合がある。例えば、トーカ130は、トーカ130に接続されるデバイスにおいてユーザによって演奏された音楽に関連するデータを包含するデータストリームをイーサネット(登録商標)AVBネットワーク上に広告することができるストリーム広告を生成することができる。ストリーム広告内でネットワーク110上のトーカ130によって広告される情報および/またはデータは、さまざまなリスナ140、141、および142ならびに/またはトーカ/リスナ150のような、他のデバイスによって受信されることができる。さまざまな他の処理機能が、トーカ130によって実行されることができる。
各トーカ130、131、および132は、1つまたは複数のトーカ属性を有することができる。トーカ属性は、トーカ130および/またはトーカ130によって広告されるデータストリームに関する特性を指定し、含み、かつ/または他の様態で識別することができる。例えば、トーカ属性は、トーカ130がネットワーク110を介してマルチキャストすることになる、オーディオ、ビデオ、および/またはコマンドデータストリームのようなデータストリームを記述することができる。トーカ属性は、ネットワーク110を介してデバイスによって受信されるために、トーカ130によって広告されるデータストリームがどれだけの帯域幅を必要とし得るかを指定することができる。トーカ属性は、トーカ130から送信される情報および/またはデータがリスナ140に到達するのにどれだけの時間がかかり得るかを指定することができ、これはレイテンシまたはレイテンシ期間と称される場合がある。トーカ属性は、各リスナに関連する一意の識別番号または特性のセットによって、またはそれらを使用するなどして、トーカ130によって広告される情報および/またはデータ内でリスナが何に関心があり得るかを指定することができる。トーカ属性は、トーカ130および/またはトーカ130によって広告されるストリームのための一意のストリーム識別子(「ID」)を指定することができる。トーカ属性は、さまざまな他の情報および/またはデータを指定し、含み、かつ/または識別することができる。1つのトーカ属性は、ダウンロードのために必要とされる帯域幅に関する情報、およびトーカの一意のストリームIDのような複数の情報および/またはデータを含むことができる。いくつかのシステムでは、各トーカ属性は、ただ1つの情報および/またはデータに関連することができ、各トーカ130、131、および132は複数のトーカ属性を有することができる。他のシステムでは、各トーカ130、131、および132は、トーカに関する複数の情報および/またはデータを指定するただ1つのトーカ属性を有する。さまざまな組み合わせが可能である。
上記のように、トーカ属性は、トーカ130のためのストリームIDを指定することができる。トーカ130のストリームIDは、1つのトーカ130のみに割り当てられることができる、一意の文字列および/または数字の列とすることができる。いくつかのシステムにおいては、どの2つのトーカも同じストリームIDを有し得ない。その後、トーカ130の一意のストリームIDの識別は、情報および/またはデータのソースを確実に識別するために、デバイスおよび/またはネットワークによって使用されることができる。例えば、デバイスは、イーサネット(登録商標)AVBネットワークを介して一意のストリームIDを含むデータストリームのためのストリーム広告を受信することができ、一意のストリームIDの識別に基づいて、データストリームを広告したトーカを判断することができる。ストリームIDのさまざまな他の用途が可能である。一意のストリームIDは64ビットストリームIDとすることができるか、またはさまざまな他のストリームIDが使用されることができる。トーカ130は、製造者などによってトーカ130が製造されるときに、トーカ130自体によって生成されることなどによって製造後に、コントローラ190などによってトーカ130がネットワーク110に接続されるときに、かつ/またはさまざまな他の時点において一意のストリームIDを割り当てられることができる。
1つまたは複数のトーカ属性が、トーカ130、131、および132、リスナ140、141、および142、トーカ/リスナ150、ならびに/またはコントローラ190のうちの1つまたは複数に記憶されることができる。例えば、トーカ130の一意のストリームIDはコントローラ190に送信され、かつ/またはコントローラ190によって受信されることができ、コントローラ190は、トーカ130の一意のストリームIDを記録および/もしくは記憶し、かつ/またはトーカ130の一意のストリームIDを、非SRPプロトコルを通じて、用いて、または使用するなどして、1つまたは複数のリスナ140、141、および142に転送することができる。
ストリーム広告は、ネットワーク110を通じてわたされることができるトーカ130、131、または132からの信号および/または他の伝達とすることができる。トーカ130によって送信されるストリーム広告は、トーカ130が、当該トーカがネットワーク110を介して送信、マルチキャスト、および/または他の様態で伝送することができ、かつ/またはそうすることになるデータストリームを有することを指示することができる。ストリーム広告は、トーカ130によって広告および/または出力されるストリーム広告とともに送信され、かつ/またはその中に含まれることができる1つまたは複数のトーカ属性のような、データストリームに関する詳細を含むことができる。例えば、ストリーム広告は、ストリーム広告を使用してトーカ130によって広告されているデータストリームの一意のストリームIDを含むことができる。トーカ130によって送信されるストリーム広告は、ネットワーク110と通信している1つまたは複数のデバイスにネットワーク110を介して伝送され、かつ/または当該デバイスによって受信されることができる。いくつかのシステムにおいて、ストリーム広告は、ネットワーク110上のすべてのデバイスに送信される。
1つまたは複数のリスナ140、141、および142、ならびに/またはトーカ/リスナ150は、トーカからストリーム広告を受信することができる。リスナがストリーム広告によって広告されているデータストリームを受信することを望む場合、リスナは「リスナ待機(Listener Ready)」信号をブリッジ、ネットワーク110および/またはトーカに送信することができる。信号は、ストリーム広告内に含まれるストリームIDによってデータストリームにアタッチするための要求であることができる。イーサネット(登録商標)AVBブリッジは、「リスナ待機」信号をリスナから受信し、ブリッジはそれをトーカ広告とマッチングすることになり、ストリーム広告によって参照されるデータストリームが要求しているリスナに送信されることを許可する。1つまたは2つ以上のリスナが、1つのストリームIDを介して同じデータストリームを要求および/またはアタッチする場合がある。1つのリスナが2つ以上のデータストリームを、要求される各データストリームのストリームIDによって要求および/またはアタッチする場合がある。他の変形形態が可能である。
1つまたは複数のストリーム広告が、ネットワーク110を用いて、通じて、かつ/または使用して個別にかつ/または単独で送信および/またはアクセスされる場合がある。1つまたは複数のストリーム広告が、リスナ140、141、および142、トーカ/リスナ150、ならびに/またはコントローラ190のような、ネットワーク110上の1つまたは複数の受信デバイスに送信され、それらによってアクセスされ、かつ/または受信されることができる。ストリーム広告および/またはトーカ属性のさまざまな他の用途および機能が可能である。
システムは、1つまたは複数のリスナシステム、またはリスナ140、141、および142を含むことができる。小規模のネットワークでは、システムは20以下のような少数のリスナのみを有する場合がある。他のより大きな通信システムでは、システムは数百、数千または可能性としては数百万のリスナを含む場合がある。さまざまな数のリスナが可能である。
リスナ140、141、および142は、図10に示し後述するコンピュータシステム1000のようなコンピュータシステムの機構の一部またはすべてであるかもしくはそれらを含む場合もあり、またはそれらでないかもしくはそれらを含まない場合もある。リスナ140、141、および142は、イーサネット(登録商標)AVB使用可能かつ/または準拠とすることができる。リスナ140、141、および142は、例えば、IEEE802.1AS−2011(gPTP)、IEEE802.1Qav−2009、IEEE802.1Qat−2010(SRP)、および/またはIEEE1722−2011において確認されるストリーム予約プロトコルのような、1つまたは複数の標準規格またはプロトコルに従って、それらを通じて、かつ/またはそれらを使用するなどして、イーサネット(登録商標)AVBネットワークを通じて、かつ/またはそれを用いて通信するように構成され、適合され、動作可能であり、かつ/またはイネーブルされることができる。代替的に、MMRPのようなさまざまな他のプロトコルが使用されてもよい。
リスナ140、141、および142は、ネットワーク110を介して、それを通じて、かつ/またはそれを使用してデータを含む情報を受信するように構成され、適合され、かつ/または動作可能であることができる。例えば、リスナ140は、イーサネット(登録商標)AVBネットワークのようなネットワーク110を通過するストリーム広告および/またはデータストリームを受信するように構成および/または適合されることができる。リスナ140、141、および142によって受信される情報および/またはデータは、例えば、トーカ130、131、および132によって送信される情報および/もしくはデータ、コントローラ190によって送信される情報および/もしくはデータ、ならびに/またはネットワーク110を通じてかつ/またはそれを使用して送信されるさまざまな他の情報および/もしくはデータとすることができる。いくつかのシステムにおいては、リスナ140、141、および142は、データストリームを広告する1つまたは複数のストリーム広告をトーカ130から受信することができる。リスナ140、141、および/または142は、トーカ130からのストリーム広告によって広告されているデータストリームに登録し、かつ/または当該データストリームを受信することができる。データストリームへの登録および/または受信は、保証された帯域幅でリスナ140、141、および142で受信される場合もあるし、またはされない場合もある。さまざまな他の可能性が存在する。
リスナ140、141、および142は、さまざまな機能を実行し、かつ/またはさまざまな構成要素を含むか、もしくはそれに接続されることができる。例えば、リスナ140は、ネットワーク110、および、スピーカまたはテレビ受像機モニタのような出力デバイスに接続されることができる。情報および/またはデータは、ネットワーク110を通じてリスナ140によって収集および/または他の様態で受信されることができる。例えば、楽器によって演奏された音符に関する情報および/またはデータがトーカ130によってネットワーク110を通じて送信されることができるとともに、リスナ140によって受信されることができる。リスナ140は、ネットワーク110を通じて受信された情報および/またはデータを処理することができる。リスナ140は、処理された情報および/またはデータをスピーカに出力することができる。例えば、リスナ140は、イーサネット(登録商標)AVBネットワークを通じて受信された信号に関連する情報および/またはデータをスピーカに出力することができる。
ネットワーク通信システム内のリスナ140、141、および142は、それ自体が(スピーカのような)物理的デバイスである場合があり、そのように記載されている場合があるが、いくつかのシステムにおいては、リスナは、図10に示し後述するコンピュータシステム1000の機構のいくつかまたはすべてのような、(スピーカのような)リスナを制御するために使用され、かつ/またはそのために動作することができる、コンピュータまたは他の電子制御デバイスであることができるか、またはそれらを含むことができることが理解されるべきである。これらのシステムでは、コンピュータまたは他の電子制御デバイスは、AVB使用可能であり、かつ/またはネットワーク110と直接通信することができる。これらのシステムでは、コンピュータまたは他の電子制御デバイスは、標準的な有線または無線接続を用いるなどして、物理的デバイスまたは他のデバイスとさまざまな方法で通信することができる。さまざまな他の代替形態が可能である。
各リスナ140、141、および142は、1つまたは複数のリスナ属性を有することができる。リスナ属性は、例えば、リスナ待機、リスナ要求失敗(Listener Asking Failed)、および/またはリスナ待機失敗(Listener Ready Failed)の属性であることができる。これらの属性は、リスナがアタッチすることを望むストリームIDのような単一の情報を含有する場合もあるし、またはしない場合もある。
1つまたは複数のリスナ属性が、ネットワーク110を用いて、通じて、かつ/または使用して送信されることができる。1つまたは複数のリスナ属性が、トーカ130、131、および132、トーカ/リスナ150、ならびに/またはコントローラ190のような、ネットワーク110上の1つまたは複数の受信デバイスに送信され、それらによってアクセスされ、かつ/または受信されることができる。1つまたは複数のリスナ属性が、トーカ130、131、および132、リスナ140、141、および142、トーカ/リスナ150、ならびに/またはコントローラ190のうちの1つまたは複数に記憶されることができる。1つまたは複数のリスナ属性が、リスナをデータストリームおよび/またはトーカに接続するのに使用されることができる。リスナ属性のさまざまな他の用途および機能が可能である。
各リスナ140、141、および142は、付加的にまたは代替的に、リスナ140に関する特性を指定し、含み、かつ/または他の様態で識別することができる1つまたは複数のリスナ特性を有することができる。リスナ特性は、例えば、ストリーム予約プロトコルスタック230の外側に存在しかつ/もしくはそこで使用されることができ、かつ/またはネットワーク上のデバイスに、リスナの特性および/もしくは機能について通知するのに使用されることができる。例えば、リスナ特性は、トーカリスナ140が何に関心があり得るかを指定することができる。リスナ特性は、リスナ140のための一意のリスナIDを指定することができ、リスナIDは例えば、リスナ140をネットワーク110上の他のデバイスに対して一意に識別することができる。リスナ特性は、リスナ140が利用可能であり得る帯域幅、リスナ140が関心がありかつ/もしくは処理が可能であり得るデータストリームのタイプ、および/またはリスナ140のさまざまな他の機能のような、リスナ140の1つまたは複数の機能を識別することができる。リスナ特性は、付加的にまたは代替的に、リスナ140に関するさまざまな他の情報および/またはデータを指定することができる。1つのリスナ特性が、複数の情報および/またはデータを含むことができる。いくつかのシステムでは、各リスナ特性は、ただ1つの情報および/またはデータに関連することができ、各リスナ140、141、および142は複数のリスナ特性を有することができる。他のシステムでは、各リスナ140、141、および142は、リスナに関する複数の情報および/またはデータを指定するただ1つのリスナ特性を有する。さまざまな組み合わせが可能である。
トーカ/リスナ150は、ネットワーク110を通じて情報および/またはデータを送受信するように構成され、適合され、動作可能であり、かつ/またはイネーブルされることができる。従って、トーカ/リスナ150は、トーカ130およびリスナ140の能力および機能を含むことができる。いくつかのシステムにおいて、ネットワーク110に接続されるすべてのデバイスが、トーカ/リスナ150であってもよい。他のシステムにおいて、ネットワーク110に接続されるいくつかのデバイスが、トーカ/リスナ150であってもよく、またはいずれもがトーカ/リスナ150でなくてもよい。以下の論述においてはトーカ130およびリスナ140のみに対してのみ個別に言及するが、いくつかのシステムにおいては、論述されるトーカ130、131、および132ならびに/またはリスナ140、141、および142の機能および属性は、トーカ/リスナ150によって達成されてもよいことが理解されるべきである。さまざまな組み合わせが可能である。
システムは1つまたは複数のコントローラ190を含むことができる。コントローラ190は、図10に示し後述するコンピュータシステム1000のようなコンピュータシステムの機構の一部またはすべてであるかもしくはそれらを含む場合もあり、またはそれらでないかもしくはそれらを含まない場合もある。コントローラ190は、イーサネット(登録商標)AVB使用可能かつ/または準拠であることができる。コントローラ190は、例えば、IEEE802.1AS−2011(gPTP)、IEEE802.1Qav−2009、IEEE802.1Qat−2010(SRP)、および/またはIEEE1722−2011において概説されるストリーム予約プロトコルのような、1つまたは複数の標準規格またはプロトコルに従って、それらを通じて、かつ/またはそれらを用いるなどして、イーサネット(登録商標)AVBネットワークを用いて、かつ/またはそれを通じて通信するように構成され、適合され、動作可能であり、かつ/またはイネーブルされることができる。代替的に、MMRPのようなさまざまな他のプロトコルが使用されてもよい。
コントローラ190は、イーサネット(登録商標)AVBネットワーク内のかつ/またはイーサネット(登録商標)AVBネットワークを使用して通信するトーカおよびリスナのような、ネットワーク110内のかつ/またはネットワーク110を使用して通信するトーカ130、131、および132、ならびにリスナ140、141、および142を識別することができる。コントローラ190は、トーカ130、131、および132、ならびにリスナ140、141、および142と直接的にまたは間接的に通信することができる。コントローラ190は、トーカ130、131、および132、ならびにリスナ140、141、および142に、それらから、またはそれらの間で情報を受信および通信することができる。例えば、コントローラ190は、一意のストリームIDまたは他のトーカ属性をトーカ130に読みだすかまたは割り当てることができ、かつ/またはトーカの一意のストリームIDおよび/または他のトーカ属性をリスナ140にわたすことができる。トーカ130、131、および132、ならびにリスナ140、141、および142とさまざまな他の通信および対話が可能である。
図2は、例示のリスナ210のブロック図であり、リスナ210は、図1におけるリスナ140、141、および142のうちの1つまたは複数と同様でありかつ/またはそれらと類似している場合がある。リスナ210内の機構はリスナ140、141、および142のうちの1つまたは複数の中に見出される場合があり、逆も同様である。
リスナ210は、プロセッサ、フィールドプログラマブルゲートアレイ(「FPGA」)、ハードウェアモジュール、ソフトウェアモジュール、ハードウェアモジュールとソフトウェアモジュールとの組み合わせ、メモリ、スタック、レイヤ、ならびに/または他のさまざまな他の構成要素および/もしくは機構を含むことができる。リスナ210は、上位層アプリケーション220、ストリーム予約プロトコルモジュール、もしくはストリーム予約プロトコルスタック230、ネットワークインタフェース240、ならびに/またはメモリ270のうちの1つまたは複数を含むことができる。ストリーム予約プロトコルスタック230は、マルチストリームレジストレーションプロトコル(「MSRP」)属性データベース250および/またはスパースモードエンジン260をさらに含むことができる。リスナ210は、開放型システム間相互接続モデル(OSIモデル)の機構に倣ってモデリングされる場合があるか、もしくはモデリングされない場合もあり、かつ/またはそれを含む場合があるかもしくはそれらを含まない場合もある。別の例では、リスナ210は2つ以上のデバイスを含むことができ、それによって、リスナ210のモジュールまたは構成要素のうちの1つまたは複数が異なる複数のデバイス内に配置されることができる。例えば、1つのデバイスがスパースモードエンジン260を含むことができ、一方で第2のデバイスがリスナ210の上位層アプリケーション220を含むことができる。他の変形形態が可能である。
上位層アプリケーション220は、上位層モジュール、上位層アプリケーションモジュール、上位層、および/またはスタックである場合があり、それらを含む場合があり、かつ/またはそれらとして参照される場合がある。上位層アプリケーション220は、プロセッサによって実行可能なソフトウェア、ハードウェア、またはそれらの何らかの組み合わせを含むことができる。リスナ210の上位層アプリケーション220は、リスナ210のための1つまたは複数の管理タスクを実行することができ、かつ/またはリスナ210の1つまたは複数の構成要素を統合および/もしくは組織化してリスナ210がリスナ210のために実施され得るタスクを実行することを確実にすることができる。上位層アプリケーション220は、例えば、ネットワーク110を介して広告および/または伝送され得るデータストリームを識別し、受信し、取得し、かつ/またはそれに関して学習することができる。
上位層アプリケーション220は、上位層アプリケーション220によってストリーム予約プロトコルスタック230から受信されるすべてのストリーム広告および/またはデータストリームに関する情報を記憶することができ、かつ/またはリスナ210に関連し得るデータストリームをリスナ210に接続される構成要素に送信することができる。例えば、上位層アプリケーション220は、メモリおよび/またはデータベースと通信しかつ/またはそれらを含むことができ、上位層アプリケーションはそれらを使用して、受信されるすべてのストリーム広告および/またはデータストリームに関連する情報を記憶することができる。上位層アプリケーション220によってアクセス可能でありかつ利用されるメモリおよび/またはデータベースは、上位層アプリケーション220の一部とすることができるか、または後述するメモリ270のような、リスナ210の別個の構成要素であることができる。メモリ270は、上位層アプリケーション220によって実行されるべき動作および/または機能に関する命令を含みかつ/または記憶することができる。さまざまな他の例が可能である。
上位層アプリケーション220は、リスナ210に送信されるデータストリームが、リスナ210に取り付けられている他の構成要素に通信されることができることを確実にすることができる。例えば、リスナ210がスピーカに接続されるかまたはスピーカを表す場合、上位層アプリケーション220は、ストリーム予約プロトコルスタック230から受信されるすべてのデータストリームから、スピーカによって出力されるべきオーディオ信号に関する情報および/またはデータを含むデータストリームを特定することができるとともに、この情報を処理しかつ/またはブロードキャストおよび/もしくは音声通信のためにスピーカに伝送することができる。さまざまな他の例が可能である。
上位層アプリケーション220は、付加的にまたは代替的に、リスナ210内のまたはリスナ210に接続されるプロセッサを構成することが可能であり得る。例えば、リスナ210が増幅器である場合、リスナ210の上位層アプリケーション220は、リスナ210のデジタル信号プロセッサを、バランス、音量、低音部、および/または高音部用に構成することができる。上位層アプリケーション220は、ネットワーク通信システム内のコントローラ190と通信することができる。例えば、コントローラ190は、リスナ210が取得するのに関心があり得るデータストリームを広告し得るトーカの1つまたは複数の一意のストリームIDのリストを送信することができる。コントローラ190は、リスナ210によって送信される可能性に基づいて、1つまたは複数のデータストリームに関してどの可能性をリスナが有し得るかを判断することができ、またリスナ210が登録するためにデータストリームのストリームIDを送信することができる。上位層アプリケーション220は、付加的にまたは代替的に、トーカからの対応するストリーム広告が受信されたときに「リスナ待機」アタッチ要求を起動するのに使用することができる。特定のリスナデバイスが、特定のストリームIDに対するアタッチメント要求を、ストリーム広告を受信しているか否かにかかわらず常に起動するように「ハードコード」されている場合があるシステムのような他のシステムでは、これは含まれていない場合がある。上位層アプリケーションののさまざまな他の機能が可能である。
リスナ210は、ストリーム予約プロトコルスタック230を含むことができる。ストリーム予約プロトコルスタック230は、リスナ210のためのプロトコルを識別し、指定し、表し、かつ/または含むことができる。例えば、ストリーム予約プロトコルスタック230は、IEEE 802.1Q−2011 clause 35のようなIEEE 802.1Qにおいて確認され記載されているストリーム予約プロトコルであるか、もしくはそれを表すことができ、かつ/またはイーサネット(登録商標)AVBプロトコルの一部とすることができる。ストリーム広告のような、ネットワークインタフェース240を通じて受信される情報および/またはデータは、ストリーム予約プロトコルスタック230にわたされることができ、ストリーム予約プロトコルスタック230はこの情報および/またはデータを処理することができる。ストリーム予約プロトコルスタック230は、処理され、実施され、かつ/または伝送されるべき、受信されたストリーム広告のような、ネットワーク110から受信される情報および/またはデータのうちのいくらかまたはすべてを上位層アプリケーション220に伝送し、出力し、送信し、かつ/またはわたすことができる。いくつかのシステムでは、ストリーム予約プロトコルスタック230は、ストリーム広告を処理し、分析し、かつ/またはそれに関与するのみである場合がある。
いくつかのシステムでは、ストリーム予約プロトコルスタック230は、トーカデバイスがクラッシュするかまたはデータのストリーミングを停止するときに発生し得る、トーカからのストリーム広告の廃棄を伝送し、取り扱い、かつ/または処理することができる。いくつかのシステムでは、ストリーム予約プロトコルスタック230は、MVRPならびにMSRPを使用することができる。MVRPは、リスナ140がトーカ130と同じVLANにアタッチすることを可能にすることができる。ストリーム予約プロトコルスタック230の他の機能が可能である。
ストリーム予約プロトコルスタック230は、ストリーム予約プロトコルモジュール、ストリーム予約プロトコルレイヤモジュール、ストリーム予約プロトコル、ストリーム予約プロトコルアプリケーション、および/またはストリーム予約プロトコルレイヤである場合があり、それらを含む場合があり、かつ/またはそれらとして参照される場合がある。ストリーム予約プロトコルスタック230は、プロセッサによって実行可能なソフトウェア、ハードウェア、またはそれらの何らかの組み合わせを含むことができる。ストリーム予約プロトコルスタック230は、メモリおよび/またはデータベースと通信しかつ/またはそれらを含むことができ、ストリーム予約プロトコルスタック230はそれらを使用して、受信されるストリーム広告に関する情報のような、情報および/またはデータを記憶することができる。ストリーム予約プロトコルスタック230によってアクセス可能でありかつ利用されるメモリおよび/またはデータベースは、ストリーム予約プロトコルスタック230の一部とすることができるか、または後述するメモリ270のような、リスナ210の別個の構成要素とすることができる。メモリ270は、ストリーム予約プロトコルスタック230によって実行されるべき動作および/または機能に関する命令を含みかつ/または記憶することができる。さまざまな他の例が可能である。
リスナ210は、ネットワークインタフェース240を含むことができる。ネットワークインタフェース240は、リスナ210の1つまたは複数の構成要素および/または機構とネットワーク110との間のインタフェースであることができる。ネットワークインタフェース240は、ネットワーク110から情報および/またはデータを受信することができ、かつ/または受信された情報および/またはデータをリスナ210のストリーム予約プロトコルスタック230にわたすことができる。いくつかのシステムでは、ネットワークインタフェース240は、リスナ210のストリーム予約プロトコルスタック230からの情報をネットワーク110に送信することができる。
リスナ210は、メモリ270を含むことができる。メモリ270は、ランダムアクセスメモリ、読み出し専用メモリ、プログラム可能読み出し専用メモリ、電気的プログラム可能読み出し専用メモリ、電気的消去可能読み出し専用メモリ、フラッシュメモリ、磁気テープまたはディスク、光媒体などを含むがこれらには限定されない、さまざまなタイプの揮発性および不揮発性記憶媒体のような、コンピュータ可読記憶媒体を含むことができるが、これには限定されない。1つの例では、メモリ270は、後述するコンピュータシステム1000のプロセッサ1002のようなプロセッサのためのキャッシュまたはランダムアクセスメモリを含むことができる。代替的な例では、メモリ270は、プロセッサのキャッシュメモリ、システムメモリ、または他のメモリのように、プロセッサから独立している。メモリ270は、データを記憶するための外部記憶デバイスまたはデータベースであることができる。例は、ハードドライブ、コンパクトディスク(「CD」)、デジタルビデオディスク(「DVD」)、メモリカード、メモリスティック、フロッピー(登録商標)ディスク、ユニバーサルシリアルバス(「USB」)メモリデバイス、またはデータを記憶するように動作する任意の他のデバイスを含む。メモリ270は、プロセッサによって実行可能な命令を記憶するように動作可能であることができる。図面において例示されているかまたは説明されている機能、役割またはタスクは、メモリ270内に記憶されている命令を実行するプログラムされたプロセッサによって実行されることができる。機能、役割またはタスクは特定のタイプの命令セット、記憶媒体、プロセッサまたは処理ストラテジとは無関係であり、独立してまたは組み合わせにおいて動作しているソフトウェア、ハードウェア、集積回路、ファームウェア、マイクロコードなどによって実行されることができる。同様に、処理ストラテジは、マルチ処理、マルチタスキング、並列処理などを含むことができる。メモリ270は、上位層アプリケーション220、ストリーム予約プロトコルスタック230、MSRP属性データベース250、および/またはスパースモードエンジン260のような、リスナ210の1つまたは複数のモジュールによってアクセス可能であり、かつ/またはそれらと通信することができる。付加的にまたは代替的に、上位層アプリケーション220、ストリーム予約プロトコルスタック230、MSRP属性データベース250、および/またはスパースモードエンジン260のような、リスナ210のモジュールのうちの1つまたは複数は、内部メモリおよび/またはモジュールに特有のメモリを有することができ、これはメモリ270と類似または同様であり得る。
リスナ210のストリーム予約プロトコルスタック230は、MSRP属性データベース250を含み、それに接続され、かつ/またはそれと通信することができる。MSRP属性データベース250は、メモリを表すことができ、これはメモリ270、データ記憶バンク、および/またはさまざまな他の構成要素と類似かつ/または同様であり得る。MSRP属性データベース250は、図10に示し後述するコンピュータシステム1000のようなコンピュータシステムの1つまたは複数の機構であるかもしくはそれらを含む場合があり、またはそれらでないかもしくはそれらを含まない場合もある。MSRP属性データベース250は、トーカ属性および/またはトーカストリームIDのような新たな属性がネットワーク110上で登録されかつ/またはストリーム予約プロトコルスタック230によって受信されると、いつでも上位層アプリケーションに通知するように設計されることができるアプリケーションプログラミングインタフェース(「API」)を有することができる。
上記のように、トーカ130、131、および132のうちの1つまたは複数はトーカ属性を有することができ、かつ/またはリスナ140、141、および142のうちの1つまたは複数はリスナ属性を有することができる。MSRP属性データベース250は、ネットワーク110上で、トーカ130、131、および132、ならびに/またはリスナ140、141、および142のための1つまたは複数のトーカ属性および/またはリスナ属性を含みかつ/または記憶するデータベースを表すことができる。例えば、MSRP属性データベース250は、イーサネット(登録商標)AVBネットワークのようなネットワーク110上の、または当該ネットワークに接続されるすべてのトーカ130、131、および132、ならびに/またはリスナ140、141、および142のための属性を含むことができる。MSRP属性データベース250において追跡されるかまたはその中に含まれる各トーカおよび/またはリスナについて、MSRP属性データベース250は、トーカおよび/もしくはリスナがどこにあるか、トーカからのデータストリームがどれだけの帯域幅を必要とし得るか、リスナにとってどれだけの帯域幅が利用可能であり得るか、トーカおよび/もしくはリスナのための一意のストリームID、ならびに/または種々の他の情報および/もしくはデータを記憶または識別することができる。MSRP属性データベース250は、例えば、第1の一意のストリームIDを有するトーカ130がイーサネット(登録商標)AVBネットワークに接続されていることを指示し、トーカ130からデータストリームを取得しかつ/またはそれに登録するためにどの情報および/またはデータをネットワーク110および/またはコントローラ190から要求するか、ならびに、リスナ140がトーカ130からデータストリームに登録しており、かつ/またはその受信を開始する場合にどの程度の割合のイーサネット(登録商標)接続が使用されることになるかを特定する情報および/またはデータを記憶することができる。ネットワーク110からの1つまたは複数のストリーム広告のような、MSRP属性データベース250によって受信される情報および/またはデータは、ストリーム予約プロトコルスタック230から上位層アプリケーション220に伝送され、出力され、送信され、かつ/またはわたされることができる。
いくつかのシステムでは、各トーカ130、131、および132、ならびに/またはリスナ140、141、および142内のMSRP属性データベース250が、別個のかつ/または集合的なMSRP属性データベースから作成および/または更新されることができる。この別個のかつ/または集合的なMSRP属性データベースは、ネットワーク110上の複数のまたはすべてのトーカ130、131、および132、ならびに/またはリスナ140、141、および142のための1つのデータベースを表すことができる。例えば、別個のかつ/または集合的なMSRP属性データベースは、ネットワーク110にアタッチされかつ/もしくはネットワーク110と通信することができ、かつ/または1つまたは複数のトーカ130、131、および132、ならびに/またはリスナ140、141、および142に関する情報および/またはデータを記憶することができる。各トーカ130、131、および132、ならびに/またはリスナ140、141、および142は、MSRP属性データベース250を含むことができ、かつ/または別個のかつ/または集合的なMSRP属性データベースにアクセスすることが可能であり得る。
各トーカ130、131、および132、ならびに/またはリスナ140、141、および142のMSRP属性データベース250は、別個のかつ/または集合的なMSRP属性データベースの複製であることができ、かつ/または当該MSRP属性データベースからの情報を含むことができる。このようなシステムでは、別個のかつ/または集合的なMSRP属性データベースは、連続的に更新されるか、またはさまざまな他の間隔をおいて更新されることができる。いくつかのシステムにおいては、別個のかつ/または集合的なMSRP属性データベースは、トーカ130、131、および132、ならびに/またはリスナ140、141、および142のそれぞれのMSRP属性データベース250のそれぞれにおいて受信および/または記憶されているストリーム広告および/またはデータストリームに関する情報および/またはデータに基づいて情報を収集および/または更新することができる。更新は、別個のかつ/または集合的なMSRP属性データベースによって、各個々のトーカ130、131、および132、ならびに/またはリスナ140、141、および142のMSRP属性データベース250に、10〜15秒ごとなどのようなさまざまな間隔をおいて送信されることができる。これらのシステムでは、トーカ130、131、および132、ならびに/またはリスナ140、141、および142のそれぞれのMSRP属性データベース250は同じであることができる。
代替的な例では、MSRP属性データベース250は、トーカ130、131、および132、ならびに/またはリスナ140、141、および142のいずれの上にも全くない場合があるが、別個に存在しかつ/または当該トーカおよびリスナのうちの1つまたは複数と通信することができる。別の代替的な例では、別個のかつ/または集合的なMSRP属性データベースの部分は、トーカまたはリスナが電源投入されると外部データベースから抽出され、トーカ130、131、および132、またはリスナ140、141、および142内の揮発性メモリ内に記憶されることができる。MSRP属性データベース250のさまざまな他の例、機能および/または機構が可能である。
ストリーム予約プロトコルスタック230は、スパースモードエンジン260をも含むことができる。スパースモードエンジン260は、スパースモードまたはフルモードにあるリスナ210の動作中に構成され、適合され、動作可能であり、かつ/または使用されることができる。スパースモードエンジン260は、上位層アプリケーション220、MSRP属性データベース250、および/またはネットワークインタフェース240と通信し、それらに接続し、かつ/または他の様態でそれらにデータを送信しかつ/もしくはそれらからデータを受信するようにイネーブルされることができる。スパースモードエンジンは、リスナシステムまたはリスナ210の追加のおよび/もしくは変更されたハードウェア構成要素であることができ、ソフトウェア内に符号化されかつ/もしくはリスナ210のメモリ内に記憶されることができ、かつ/またはハードウェアおよび/もしくはソフトウェアの組み合わせとすることができる。さまざまな他の組み合わせが可能である。
スパースモードエンジン260は、スパースモードモジュール、スパースモードレイヤ、スパースモードアプリケーション、および/またはスパースモードスタックである場合があり、それらを含む場合があり、かつ/またはそれらとして参照される場合がある。スパースモードエンジン260は、プロセッサ、プロセッサによって実行可能なソフトウェア、ハードウェア、またはそれらの何らかの組み合わせを含むことができる。スパースモードエンジン260は、メモリおよび/またはデータベースと通信しかつ/またはそれらを含むことができる。スパースモードエンジン260によってアクセス可能でありかつ利用されるメモリおよび/またはデータベースは、スパースモードエンジン260の一部とすることができるか、または後述するメモリ270のような、リスナ210の別個の構成要素とすることができる。メモリ270は、スパースモードエンジン260によって実行されるべき動作および/または機能に関する命令を含みかつ/または記憶することができる。さまざまな他の例が可能である。
スパースモードエンジン260は、さまざまな機能を実行することができる。スパースモードエンジン260は、ネットワーク110を介して広告および/または送信される1つまたは複数のストリーム広告を受信することができる。いくつかのシステムにおいては、スパースモードエンジン260は、ネットワーク110を介して広告および/または送信されるデータストリームに登録することができる。ストリーム広告はネットワーク110から直接、ネットワークインタフェース240から、かつ/またはさまざまな他の方法で受信されることができる。スパースモードエンジン260は、上位層アプリケーション220および/またはリスナ210にとって関心があるか、または他の様態でそれらによって要求され得る1つまたは複数のストリーム広告を受信、特定、および/または記憶することができる。スパースモードエンジン260は、ネットワーク110から1つまたは複数の受信されたストリーム広告を、リスナ210のMSRP属性データベース250および/または上位層アプリケーション220に伝送し、出力し、送信し、かつ/またはわたすことができる。例えば、リスナ210がフルモードで動作しているとき、スパースモードエンジン260は、受信されたストリーム広告のほとんどまたはすべてを、MSRP属性データベース250および/または上位層アプリケーション220にわたすことができる。フルモードでは、スパースモードエンジン260は、ディセーブルされる場合があり、かつ/もしくは通過部として機能する場合があり、かつ/または比較および/またはフィルタリング機能のような他の機能を実行しない場合がある。
リスナ210がスパースモードで動作しているときのような別のモードでは、スパースモードエンジン260は、リスナ210にとって関心があり得る1つまたは複数のストリーム広告を特定するように構成され、適合され、そうすることが可能であり、かつ/またはそのように動作可能であることができる。スパースモードエンジン260は、1つまたは複数の指定されたストリームIDを上位層アプリケーション220から受信することができ、上位層アプリケーション220は、ネットワーク210を通じてまたは介して広告することができる1つまたは複数のデータストリームまたはトーカを特定しかつ/またはそれらに関連し得る。これらの指定されたストリームIDは、リスナ210が関心があるデータストリームを表すことができる。上位層アプリケーション220は、リスナ210および/または上位層アプリケーション220にとって関心があるデータまたはデータストリームに関する情報および/またはデータを、クエリ、信号、リストおよび/またはストリームIDクエリを通じて送信することができる。
スパースモードでは、スパースモードエンジン260は、スパースモードエンジン260がネットワーク110から受信することができるストリーム広告のそれぞれからの1つまたは複数のストリームIDを受信、特定、および/または決定することができる。例えば、上記のように、各トーカ130のストリームIDは、トーカ130によってネットワーク110を介して広告されるストリーム広告に直接アタッチされることができ、スパースモードエンジン260は、受信されたストリーム広告からストリームIDおよび/または他の情報を抽出するように構成されることができる。ストリームIDを特定するさまざまな他の方法が可能である。
スパースモードでは、スパースモードエンジン260は、1つまたは複数の広告されたデータストリームおよび/またはリスナ210によって受信されたストリーム広告のストリームIDを、上位層アプリケーション220および/またはリスナ210によって指定される1つまたは複数のストリームIDと比較するように構成され、適合され、そのように動作可能であり、かつ/またはそのために使用されることができる。スパースモードで動作しているとき、スパースモードエンジン260は、上位層アプリケーション220から受信されたストリームIDおよび/またはリスナ210もしくは上位層アプリケーション220にとって関心があるストリームIDのうちの少なくとも1つに一致するストリームIDを有するストリーム広告のみを、MSRP属性データベース250および/または上位層アプリケーション220に伝送し、出力し、送信し、かつ/またはわたすことができる。スパースモードエンジン260は、さまざまな他の機構を実行することができる。
ストリーム予約プロトコルスタック230および/またはリスナ210は、少なくとも2つのモードで動作することができる。例えば、図3は、フルモードで動作しているストリーム予約プロトコルスタック230および/またはリスナ210の例を示す。フルモードでは、ストリーム広告310、311、312、および313は、イーサネット(登録商標)AVBネットワークのようなネットワーク110に沿ってまたは当該ネットワークを通じて広告され、伝送され、送信され、通過し、かつ/または他の様態で通信されることができる。リスナ210のような1つまたは複数のリスナは、広告されたストリーム広告310、311、312、および313のそれぞれを受信および/または特定することができる。例えば、リスナ210は、ネットワーク110に追加されるかまたは当該ネットワークから除去されるすべてのストリーム広告310、311、312、および313のためのストリーム登録指示/ストリーム登録解除指示(REGISTER_STREAM.Indication/DEREGISTER_STREAM.Indication)を受信することができる。
ストリーム広告310、311、312、および313は、リスナ210によって直接、かつ/またはイーサネット(登録商標)AVBインタフェースのようなネットワークインタフェース240を通じてまたは使用して受信されることができる。ネットワーク110上で広告されるストリーム広告310、311、312、および313は、ストリーム広告310、311、312、および313を広告していたかつ/または伝送していた可能性のあるトーカ130、131、および132に関するトーカ属性を含む場合がある。例えば、各ストリーム広告310、311、312、および313は、そのストリーム広告を広告したトーカ130の一意のストリームIDを含み、かつ/またはそれに関連する場合がある。ストリーム広告310は「a」のストリームIDに関連しかつ/もしくはそれを有することができ、ストリーム広告311は「b」のストリームIDに関連しかつ/もしくはそれを有することができ、ストリーム広告312は「c」のストリームIDに関連しかつ/もしくはそれを有することができ、かつ/またはストリーム広告313は「d」のストリームIDに関連しかつ/もしくはそれを有することができる。さまざまな他の構成が可能である。
ストリーム広告310、311、312、および313は、スパースモードエンジン260を通じて伝送され、出力され、送信され、かつ/またはわたされることができ、スパースモードエンジン260はディセーブルされる場合があり、かつ/またはストリーム広告310、311、312、および313に影響を及ぼさず、改変せず、処理せず、かつ/もしくは他の様態においても変更しない場合がある。ストリーム広告310、311、312、および313は、MSRP属性データベース250に伝送され、出力され、送信され、かつ/または他の様態でわたされることができる。MSRP属性データベース250は、ストリーム広告310、311、312、および313の受信を記録する場合もあるし、または記録しない場合もある。MSRP属性データベース250は、ストリーム広告310、311、312、および313を処理もしくは改変する場合もあるし、またはしない場合もある。MSRP属性データベース250は、ストリーム予約プロトコルスタック230によって受信されたストリーム広告310、311、312、および313のすべてを、アプリケーションプログラミングインタフェースを通じてまたは使用するなどして、上位層アプリケーション220に通知しかつ/またはわたすことができる。
フルモードでは、リスナ210によって受信されたすべてのストリーム広告310、311、312、および313は、最終的には上位層アプリケーション220に送信され得る。ストリーム予約プロトコルスタック230は、ネットワーク110に追加されるかまたは当該ネットワークから除去されるすべてのストリーム広告310、311、312、および313のためのストリーム登録指示/ストリーム登録解除指示(REGISTER_STREAM.Indication/DEREGISTER_STREAM.Indication)を、上位層アプリケーション220に送信することができる。いくつかのシステムでは、これによって、多くのメッセージがストリーム予約プロトコルスタック230と上位層アプリケーション220との間でやり取りされる結果になり得る。
上位層アプリケーション220は、MSRP属性データベース250から受信されるストリーム広告310、311、312、および313のすべてに関する情報を記憶することができる。いくつかのシステムにおいては、上位層アプリケーション220は、ストリーム広告310、311、312、および313のすべてよりも少ないもののみに関心があり得る。上位層アプリケーション220が関心がなく、受信することを望まず、考慮せず、処理することが可能でないかまたは専ら処理しない場合があり、かつ/または他の様態で上位層アプリケーション220にとって価値のないものであり得る1つまたは複数のデータストリームに関連するストリーム広告310、311、312、および313があり得る。上位層アプリケーション220は、受信されるストリーム広告310、311、312、および313のすべてに関する情報を記憶することができるが、いくつかのシステムにおいては、リスナ210が処理するようにプログラムされていないデータストリームに関連し得る機能および/またはストリーム広告310、311、312、および313を無視しながら、機能を実行し、操作を行い、かつ/またはストリーム広告310、311、312、および313のいくつかを処理することのみできる。上位層アプリケーション220は、ストリーム広告310、311、312、および313をすべて解析して、残りのストリーム広告310、311、312、および313から、関心がありかつ/または上位層アプリケーション220によって処理されることが可能であるとともに、そのように意図されるストリーム広告および/または広告されるデータストリームを判断することができる。上位層アプリケーション220は、上位層アプリケーション220にとって関心がないストリーム広告310、311、312、および313に対してそれ以上の操作を行わない場合がある。このように、いくつかのシステムにおいては、リスナ210の上位層アプリケーション220は、リスナ210が記憶することを必要としない場合があるストリーム広告に関する情報および/またはデータを受信および記憶する場合がある。
図4は、スパースモードで動作しているストリーム予約プロトコルスタック230および/またはリスナ210の例を示す。スパースモードは、トーカが新たなストリームをネットワーク上に登録すると発生し得る、IEEE 802.1Qat clause 35.2.3.1.2において詳述されている指示のような、ストリーム登録指示(REGISTER_STREAM.Indication)に直接影響を及ぼすことができる。スパースモードは、加えてまたは代替的に、トーカがストリーム登録を削除すると発生し得る、IEEE 802.1Qat clause 35.2.3.1.4において詳述されている指示のような、ストリーム登録解除指示(DEREGISTER_STREAM.Indication)に直接影響を及ぼすことができる。他の変形形態が可能である。
ストリーム予約プロトコルスタック230および/またはリスナ210は、フルモードまたはスパースモードのいずれかで動作するように設定されることができる。ストリーム予約プロトコルスタック230および/またはリスナ210は、さまざまな方法で、フルモードとスパースモードとの間で切り替わるか、または交互に動作することができる。例えば、リスナ210の上位層アプリケーション220は、モード切り替え信号410をストリーム予約プロトコルスタック230に送信することができる。リスナ210がフルモードで動作している状況では、モード切り替え信号410は例えば、「モード=スパース(Mode=Sparse)」であり得る。ストリーム予約プロトコルスタック230および/またはリスナ210がスパースモードで動作している状況では、モード切り替え信号410は例えば、「モード=フル(Mode=Full)」であり得る。リスナ210が異なるモードにおいて構成され、適合され、動作可能であり、かつ/または使用され得る場合など、さまざまな他のモード切り替え信号410が可能であり得る。
ストリーム予約プロトコルスタック230によって受信されるモード切り替え信号410は、ストリーム予約プロトコルスタック230を、モード切り替え信号410によって指定されるモードにおいて作動するようにトリガおよび/または構成することができる。例えば、「モード=スパース」を指定するモード切り替え信号410が受信される場合、ストリーム予約プロトコルスタック230はスパースモードで動作することができる。代替的に、「モード=フル」を指定するモード切り替え信号410が受信される場合、ストリーム予約プロトコルスタック230はフルモードで動作することができる。さまざまな他の構成が可能である。
モード切り替え信号410を介してなどでスパース動作モードが望ましくかつ/または指定される場合、上位層アプリケーション220は付加的にまたは代替的に、1つまたは複数のストリームIDを、ストリーム予約プロトコルスタック230および/またはスペアモードエンジン260に送信することができる。例えば、上位層アプリケーション220は、リスナ210および/または上位層アプリケーション220にとって関心があり得る1つまたは複数のストリームIDを特定するストリームIDクエリ420をスパースモードエンジン260に送信することができる。例えば、上位層アプリケーション220は、「SID=c」を指示するストリームIDクエリ420をスパースモードエンジンに送信することができる。この「SID=c」のストリームIDクエリ420は、もし「c」のストリームIDを有するデータストリームがネットワーク110を通じてまたは介して送信されているものとして特定されるときは、リスナ210が「c」のストリームIDを有するデータストリームを受信することに関心があることを指示することができる。ストリームIDクエリ420は、加えてまたは代替的に、上位層アプリケーション220および/またはリスナ210がもはや関心がないものであり得るストリームIDを特定する場合がある。
ストリームIDクエリ420は、クエリ登録(REGISTER_QUERY)クエリの形態である場合があるか、もしくはそうでない場合もあり、かつ/またはストリームIDがネットワークに追加されるかまたはネットワークから削除されるときはいつでも、ストリーム予約プロトコルスタック230に、ストリーム登録指示(REGISTER_STREAM.Indication)指示を介してなどで、上位層アプリケーション220が特定のストリームIDに関心があるとともに通知されることを望んでいることを通知するために使用することができる。ストリームIDクエリ420の例は以下のものであり得る:
int クエリ登録 (ストリームID_t *ストリームID)(int REGISTER_QUERY (streamID_t *streamID))
この関数は、リスナ210がスパースモードにあるときに、リスナの関心リストからストリームを登録するために呼び出されることができる。「ストリームID(streamID)」はストリームを特定するためのストリームID_t(streamID_t)構造に対するポインタであり得る。成功した場合「0」が返されることができ、失敗した場合「−1」が返されることができる。
ストリームIDクエリ420は、クエリ登録解除(DEREGISTER_QUERY)クエリであり得るか、またはその形態であり得、かつ/またはストリーム予約プロトコルスタック230に、上位層アプリケーション220が特定のストリームIDにもはや関心がないとともに、将来においてストリームについて通知されることを望んでいないことを通知するために使用することができる。ストリームIDクエリ420の例は以下のものであり得る:
int クエリ登録解除 (ストリームID_t *ストリームID)(int DEREGISTER_QUERY (streamID_t *streamID))
この関数は、リスナ210がスパースモードにあるときに、リスナの関心リストからストリームを登録解除するために呼び出されることができる。「ストリームID(streamID)」はストリームを特定するためのストリームID_t(streamID_t)構造に対するポインタであり得る。成功した場合「0」が返されることができ、失敗した場合「−1」が返されることができる。
ストリームIDクエリ420は、2つ以上のストリームIDを含むことができ、かつ/または2つ以上のデータストリームを特定することができる。例えば、ストリームIDクエリ420は、もしデータストリーム「T」、「U」、および「V」のそれぞれがネットワーク110を通じて広告されているときは、リスナ210がこれらのデータストリームのそれぞれを受信することに関心があることを指示する、「SID=T、U、V」を指示することができる。上位層アプリケーション220は、所与のストリームIDクエリ420において2つ以上のストリームIDを特定することができる。上位層アプリケーション220は、2つ以上のストリームIDクエリ420をストリーム予約プロトコルスタック230および/またはスパースモードエンジン260に送信することができる。さまざまな他の組み合わせが可能である。
ストリームIDクエリ420は、上位層アプリケーション220および/またはリスナ210が受信することを望みかつ/または受信するために登録することに関心がありかつ/またはそうしたい場合がある1つまたは複数のデータストリームのストリームIDを特定および/または指定することができる。リスナ210は、さまざまな理由でさまざまなデータストリームに関心がある場合がある。例えば、リスナ210は、リスナ210が処理および/またはさらに伝送することが可能であり、そのように指定されており、かつ/または他の様態でそうすることを要求されているデータストリームに関心がある場合がある。リスナ210は、付加的にまたは代替的に、コントローラ190が登録するようにリスナ210に指示したデータストリームに関心がある場合がある。例えば、リスナ210が左側スピーカである場合、リスナ210は、左側オーディオ信号に関連する情報および/またはデータに関心がある場合がある。スピーカは、左側オーディオデータストリームを出力するように構成されかつ/またはそのように動作可能であることができ、従ってネットワーク110を通じて送信される1つまたは複数の左側オーディオデータストリームに登録するように望み、そのように構成され、かつ/または適合されることができる。この例では、上位層アプリケーション220は、ストリームIDクエリ420を、マイクトーカおよび/またはギタートーカのような1つまたは複数のトーカから送信される1つまたは複数の左側オーディオデータストリームのためのストリームIDを指定するストリーム予約プロトコルスタック230および/またはスパースモードエンジン260に送信することができる。一方で、ビデオまたはコマンドデータストリームのような他のデータストリームは、通過させられるかまたはネットワーク110上にあることができ、リスナ210は、これらのビデオまたはコマンドデータストリームを処理することが可能でない場合がある。上位層アプリケーション220は、ビデオまたはコマンドデータストリームに関連するストリームIDを送信しない場合があり、従って、スピーカリスナ210によってビデオまたはコマンドストリーム広告および/またはデータストリームに関連する情報および/またはデータを受信および記憶することは、スピーカリスナ210にとってメモリおよび/または資源の無駄であり得る。
ストリーム予約プロトコルスタック230および/またはスパースモードエンジン260は、リスナ210が関心がある1つまたは複数のトーカまたはデータストリームのストリームIDを特定するストリームIDクエリ420を受信することができる。ストリーム予約プロトコルスタック230は、ストリームIDクエリ420において特定されたストリームIDおよび/または上位層アプリケーション220によって登録解除されたストリームIDの記憶を保持しかつ/またはそれらを追跡することができる。スパースモードエンジン260は、ネットワーク110を介して受信されたストリーム広告310、311、312、および313のそれぞれを、ストリームIDクエリ420において特定されたストリームIDおよび/またはストリーム予約プロトコルスタック230によって記憶されたストリームIDと比較することができる。スパースモードで動作しているときは、スパースモードエンジン260はストリームIDクエリ420において指定されたストリームIDを含まないかまたはそれに一致しないいかなるストリーム広告も、MSRP属性データベース250または上位層アプリケーション220に送信しない場合がある。スパースモードエンジン260は、ストリームIDクエリ420において特定されたストリームIDに一致するストリームIDであるかまたは当該ストリームIDを含むストリーム広告を送信、転送、または通過を許可するのみであり得る。スパースモードエンジン260は、リスナ210が関心がなく、処理することができず、かつ/またはさらに使用もしくは解釈することが可能でないデータストリームに関連するすべてのストリーム広告をフィルタリング除去することができる。さまざまな代替形態が可能である。
モード切り替え信号410とストリームIDクエリ420とは異なる信号であることができ、モード切り替え信号410がストリームIDクエリ420に先行して送信される。複数のストリームIDクエリ420がさまざまな時点において送信されることができる。他のシステムにおいては、モード切り替え信号410とストリームIDクエリ420とは同じ信号であることができ、かつ/またはストリーム予約プロトコルスタック230および/またはスパースモードエンジン260に同時に送信することができる。さまざまな組み合わせが可能である。
ストリーム広告312のようなストリーム広告は、ストリームIDクエリ420と共に送信されたストリームIDの1つまたは複数と一致し得るストリームIDを有し得る。例えば、ストリームIDクエリ420がストリームID「c」を有するデータストリームを指定する場合、ストリームID「c」を有するかまたは含むストリーム広告312がストリームIDクエリ420において指定されるストリームIDと一致することができる。スパースモードエンジン260は、ストリーム広告312がストリームIDクエリ420と共に送信されたストリームIDのうちの1つと一致するストリームIDを有することを特定および/または判断することができる。例えば、スパースモードエンジン260は、ストリーム広告310、311、312、および313からトーカ属性を特定、決定、および/または抽出することができる。トーカ属性は、ストリーム広告310、311、312、および313を広告したトーカのストリームIDを含み得る。スパースモードエンジン260は、抽出されたストリームIDを、ストリームIDクエリ420において特定されるストリームIDと比較することができ、かつ/またはストリームIDクエリ420からのストリームIDのうちの1つまたは複数と一致し得るストリーム広告312を確定することができる。
一致するストリーム広告312は、スパースモードエンジン260から、MSRP属性データベース250および/または上位層アプリケーション220に伝送され、出力され、送信され、かつ/またはわたされることができる。リスナ210がスパースモードで動作しているときのスパースモードエンジン260の動作は、リスナ210がフルモードで動作しているときのスパースモードエンジン260の動作と、ストリームIDクエリ420からのストリームIDを有しないかまたはそれと一致しないストリーム広告の残り310、311、および313が、スパースモードエンジン260からMSRP属性データベース250に伝送されず、出力されず、送信されず、かつ/またはわたされない場合があるという点で異なっている場合がある。
MSRP属性データベース250は、一致するストリーム広告312の受信を記録する場合もあるし、または記録しない場合もある。MSRP属性データベース250は、ストリーム広告312を処理もしくは改変する場合もあるし、またはしない場合もある。いくつかのシステムにおいては、MSRP属性データベース250は、ストリームIDクエリ420に一致するストリーム広告のためのエントリのみを含む場合があり、かつ/またはストリーム広告310、311、312、および313のすべてのためのエントリを含まない場合がある。MSRP属性データベース250は、ストリーム広告312を上位層アプリケーション220にわたすことができる。
上位層アプリケーション220は、MSRP属性データベース250から受信されるストリーム広告312に関する情報を記憶することができる。上位層アプリケーション220は、受信されたストリーム広告312を処理および/または伝送することができる。他の機能が可能である。
ストリーム予約プロトコルスタック230および/またはリスナ210は、モード切り替え信号410を通じてもしくは使用して、かつ/またはコントローラ190の指示を受けてなどのさまざまな方法で、フルモード動作とスパースモード動作との間で交互に切り替わることができる。フルモードとスパースモードとの間、または様々な他のモード間での切り替えは、指示されたものでありかつ/または上位層アプリケーション220および/またはリスナ210によって受信される信号の結果としてのものであり得る。例えば、上位層アプリケーション220は、ネットワーク上のコントローラ190から信号を受信することができ、コントローラは、リスナ210がモード切り替え信号410を送信すべきでありかつ/または動作をスパースモードもしくはフルモードに切り替えるべきであることを指示することができる。他のシステムまたは状況においては、上位層アプリケーション220は、コントローラ190からのまたはネットワークを介しての信号の指示も受信もなしにモード切り替え信号410を送信することができる。例えば、上位層アプリケーション220は、一定量のメモリ、資源、および/または処理能力がリスナ210によって使用されたかまたは使用されていることを特定、判断、および/または認識することができる。上位層アプリケーション220は、この判断に基づいて、動作をフルモードからスパースモードに切り替えることができる。この例では、上位層アプリケーション220は、例えば、コントローラ190および/またはネットワーク110に、リスナ210にとって関心がありかつ/またはリスナ210によって処理されるトーカ属性および/またはストリームIDを問い合わせることができるか、または、これらのトーカ属性および/またはストリームIDを別の方法で特定することができる。上位層アプリケーション220は、その後、トーカ属性および/またはストリームIDをストリーム予約プロトコルスタックおよび/またはスパースモードエンジン260に転送することができる。さまざまな他の構成および方法が可能である。
ネットワーク通信システムは、イーサネット(登録商標)AVB使用可能であり得るとともにスパースモードで動作することが可能であり得る1つまたは複数のデバイスを含むことができる。ネットワーク通信システムは、スパースモードを使用しないデバイスを含むことができる。このことは、ネットワーク通信システムがスパースモード動作に対応するために完全に刷新および/または変更されることを必要としない場合があるという点で有利であり得る。そうではなく、スパースモードで動作することが可能であるデバイスが非スパースモード使用可能デバイスに追加されかつ/または当該デバイスと混在されることができる。
図5は、リスナ210のストリーム予約プロトコルスタック230および/またはスパースモードエンジン260の動作の例を示す。図5の方法は、ブロック502において、フルモードで動作しているリスナによって開始することができる。方法はブロック504に進むことができ、ここで、ストリーム予約プロトコルスタック230は、ネットワーク110からすべてのストリーム広告310、311、312、および313を受信することができる。ブロック504において、受信されたストリーム広告310、311、312、および313のすべては、リスナ210の上位層アプリケーション220に伝送され、出力され、送信され、転送され、かつ/またはわたされることができる。
方法はブロック506に進むことができ、ここで、スパースモード信号が受信されたか否かが判断される。例えば、ブロック506において、「モード=スパース(Mode=Sparse)」を指定するモード切り替え信号410が上位層アプリケーション220からストリーム予約プロトコルスタック230によって受信されたか否かが判断され得る。ブロック506においてスパースモード信号が受信されていない場合、方法はブロック504に戻ることができる。いくつかの方法においては、ストリーム予約プロトコルスタック230は、すべてのストリーム広告をネットワーク110から連続的に受信することができるとともに、スパースモードを指定するモード切り替え信号410のようなスパースモード信号がストリーム予約プロトコルスタック230によって受信されるに至るまで、かつそのときまで、すべての受信されたストリーム広告を上位層アプリケーション220に転送することができ、その時点において方法はブロック506および508に進むことができる。
例えば、ブロック506において「モード=スパース(Mode=Sparse)」のようなモード切り替え信号410がストリーム予約プロトコルスタック230によって受信される場合、方法はブロック508に進むことができ、ここで、リスナ210はこの時点でスパースモードで動作する。ブロック510において、ストリーム予約プロトコルスタック230は、上位層アプリケーション220から、ストリームIDクエリ420内などで、関心があるデータストリームのIDを受信することができる。いくつかの方法では、ストリームIDクエリ420は、モード切り替え信号410の一部でありかつ/またはモード切り替え信号410と同時に受信されることができる。ストリームIDクエリ420において特定される、受信されたストリームIDは、例えば、スパースモードエンジン260内に記憶されることができる。ストリームIDクエリ420は、リスナ210がスパースモードで動作しているときはさまざまな時点において受信されることができる。
上位層アプリケーション220からリスナ210にとって関心があるストリームIDが受信または他の様態で特定もしくは確定された後、方法はブロック512に進むことができ、ここで、ストリーム予約プロトコルスタック230はネットワークからすべてのストリーム広告を受信する。ブロック512において、ストリーム予約プロトコルスタック230は、ストリームIDクエリ420内などで、上位層アプリケーション220によって特定されるストリームIDに一致するストリームIDを有するストリーム広告を転送するのみであり得る。例えば、スパースモードエンジン260は、ネットワーク110からまたはネットワーク110を介して受信されたストリーム広告のストリームIDを、ストリームIDクエリ420において特定されたストリームIDと比較することができ、また一致するストリームIDを有するストリーム広告のみを転送しかつ/またはその通過を許可し得る。
方法はブロック514に進むことができ、ここで、フルモード信号が受信されたか否かが判断される。例えば、ブロック514において、「モード=フル(Mode=Full)」を指定するモード切り替え信号410が上位層アプリケーション220からストリーム予約プロトコルスタック230によって受信されたか否かが判断され得る。ブロック514においてフルモード信号が受信されていない場合、方法はブロック512に戻ることができる。いくつかの方法においては、ストリーム予約プロトコルスタック230は、すべてのストリーム広告をネットワーク110から連続的に受信することができ、また、フルモードを指定するモード切り替え信号410のようなフルモード信号がストリーム予約プロトコルスタック230によって受信されるに至るまで、かつそのときまで、一致するストリームIDを有するストリーム広告のみを転送することができ、その時点において方法はブロック514および502に進むことができる。
ブロック514において「モード=フル(Mode=Full)」のようなモード切り替え信号410がストリーム予約プロトコルスタック230によって受信される場合、方法はブロック502に戻ることができ、ここで、リスナ210はこの時点でフルモードで動作する。フルモード信号が受信されなかった場合、方法はブロック512に戻ることができる。いくつかの他のシステムにおいて、フルモード信号が受信されていない場合、方法はブロック510に戻ることができる。他のシステムにおいて、方法はブロック512に戻ることができるが、スパースモードにおける動作の間のいずれの時点においても、上位層アプリケーション220によって特定される任意の新たなストリームIDを受け入れて追加することができる。
方法はリスナ210が動作している時に上述のように連続的に進むことができる。方法は、ブロック502においてフルモードで動作しているリスナ210によって開始するものとして示されているが、他の状況では、方法は、ブロック508においてスパースモードで動作しているリスナによって開始してもよい。いくつかのシステムにおいては、ブロック510などにおいてストリームIDが最初に特定および/または指定されると、このステップは後続の方法サイクルの間、かつ/またはリスナ210が動作モードをフルモードに切り替えて次いでスパースモードに戻った後はスキップすることができる。さまざまな他の代替形態および/または構成が可能である。
図6は、ネットワークからストリーム広告を受信したリスナ210の動作の方法を示す。方法は、ブロック602において開始することができる。ブロック604において、ストリーム予約プロトコルスタック230は、ネットワーク110から、ネットワーク110を介して、かつ/またはネットワーク110を通じてストリーム広告を受信することができる。ブロック606において、リスナ210がフルモードまたはスパースモードのいずれで動作しているかが判断され得る。ブロック606はネットワーク110からのストリーム広告の受信の後に発生する決定ブロックとして示される場合があるが、いくつかのシステムにおいては、ストリーム広告の受信の前に、どのモードでリスナ210が動作し得ているかが決定されかつ/または明らかである場合がある。
リスナ210がフルモードで動作している場合、方法はブロック608に進むことができ、ここで、ストリーム予約プロトコルスタック230は、受信されたストリーム広告を上位層アプリケーション220に転送することができる。このことは、例えば、ストリーム広告および/またはストリーム広告内に含まれる内容もしくは情報をどのトーカが広告したかにかかわらず、行われ得る。このブロック608において、スパースモードエンジン260は、例えば、すべてのストリームをMSRP属性データベース250にそのまま転送することができ、MSRP属性データベース250は、その後、ストリーム広告を上位層アプリケーション220にそのままわたすことができる。代替的に、リスナ210がスパースモードで動作している場合、方法はブロック610に進むことができる。ブロック610において、スパースモードエンジン260は、ネットワーク110からの受信されたストリーム広告を、ストリームIDクエリ420において特定されるストリームIDのような、リスナ210および/または上位層アプリケーション220によってリスナ210にとって関心があるものとして特定される任意のストリームと比較することができる。ネットワーク110から受信されたストリーム広告が、ストリームIDクエリ420において指定されるストリームIDのいずれかのような、関心があるストリームの1つまたは複数と一致する場合、方法はブロック612に進むことができ、ここで、一致するストリーム広告はスパースモードエンジン260によって、MSRP属性データベース250に、および上位層アプリケーション220上に送信される。ブロック610において、受信されたストリーム広告が、ストリームIDクエリ420においてなどの、特定されるストリームと一致しない場合、方法はブロック614に進むことができ、いずれのストリーム広告も、ストリーム予約プロトコルスタック230によって上位層アプリケーション220に送信されない場合がある。この方法は、例えば、ストリーム広告がストリーム予約プロトコルスタック230によってネットワーク110から受信されるたびに繰り返されることができる。
コントローラ190は、いくつかのシステムにおいては、スパースモードで動作しているネットワーク通信システム、ならびに/またはさまざまなトーカ130、131、および132、ならびに/またはリスナ140、141、および142の動作に対して編成、組織化、および/または寄与することができる。例えば、コントローラ190は、ネットワーク110に接続されている場合がある1つまたは複数のトーカ130、131、および132を特定しかつ/または当該トーカと通信することができる。コントローラ190は、トーカ130、131、および132のそれぞれのための一意のストリームIDを特定し、指定し、割り当て、かつ/または他の様態で決定することができる。例えば、コントローラ190は、各トーカ130、131、および132のための指定されたストリームIDを記録および/または記憶することができる。代替的に、コントローラ190は、トーカ130、131、および132のそれぞれに、一意のストリームIDを割り当てることができ、割り当てられたストリームIDに関する情報および/またはデータを記録および/または記憶することができる。トーカ130、131、および132のそれぞれのためのストリームIDは互いに異なることができ、それによって、ストリームIDの識別によってストリームのソースであるトーカを特定することもできる。コントローラ190は、トーカ130、131、および132のいくつかまたはすべてのためのストリームIDの完全なリストを記憶しかつ/またはそれにアクセスすることができる。いくつかのシステムにおいては、コントローラ190は、トーカ130、131、および132のそれぞれに関する情報を有する別個のかつ/または集合的なMSRP属性データベースにアクセスし、当該データベースを制御し、操作し、かつ/もしくは更新することができ、かつ/または更新を、トーカ130、131、および132、ならびに/またはリスナ140、141、および142のうちの1つまたは複数のMSRP属性データベース250に通信することができる。
コントローラ190は、リスナ140、141、および142のうちの1つまたは複数を識別しかつ/または当該リスナと通信することができる。コントローラ190は、トーカ130、131、および132のいずれが、リスナ140、141、および142にとって重要であり、関連があり、かつ/または当該リスナによって使用されると期待されるかを特定および/または判断することができる。例えば、リスナ140、141、および142のそれぞれはコントローラ190によって受信および/または特定されることができるリスナ特性を含むことができる。リスナ特性は、リスナ140が要求し、必要とし、かつ/または関心があり得る特定のトーカおよび/またはデータタイプを特定することができる。例えば、スピーカであるリスナ140は、リスナ140が左側オーディオ信号に関連するデータストリームに関心があることを指示するリスナ特性を有する場合がある。コントローラ190は、スピーカと通信することができ、かつ/またはリスナ特性に基づいて、スピーカが左側オーディオ信号と関連するデータストリームのみに応答しかつ/もしくは要求することになることを判断することができる。他のシステムにおいては、ユーザは、コントローラ190に対して、どのトーカ130、131、および132ならびに/またはデータストリームに対してリスナ140、141、および142のうちの1つまたは複数が関心があり得るかを指定することができる。コントローラ190を用いた、リスナ140が要求するかまたは関心があり得るデータストリームを判断するさまざまな他の方法が可能である。
コントローラ190は、リスナ140、141、および142のうちの1つまたは複数に信号を送信しかつ/または他の様態で当該リスナと通信することができる。コントローラ190は、リスナ140、141、および142に、当該リスナ140、141、および142が関心があり得るストリームIDを通知および/または警告することができる。例えば、コントローラ190は、リスナ140の上位層アプリケーション220と通信し、上位層アプリケーション220に、リスナ140が関心があり得る1つまたは複数のストリームIDのリストを送信することができる。このコントローラ190からリスナ140への通信は、例えば、非SRPプロトコルを使用してかつ/またはストリーム予約プロトコルスタック230を使用することなく行われることができる。コントローラ190は、リスナ140に、ネットワーク110にわたってストリーム広告をリスンおよび/またはモニタするように指示するとともに、リスナ140が、ストリーム広告を用いて広告されているデータストリームのための特定のおよび/または指定されたストリームIDを見つけると、そのデータストリームを受信するために登録するように指示することができる。いくつかのシステムにおいては、リスナ140がその後スパースモードに入ると、コントローラ190からリスナ140に送信される1つまたは複数のストリームIDのリストは、上位層アプリケーション220からスパースモードエンジン260にストリームIDクエリ420として転送されることができ、システムは上述のように動作することができる。これらの方法で、例えば、コントローラ190はスパースモードで動作しているリスナ140を補助することができる。他の動作方法が可能である。
図7は、コントローラ190が、1つまたは複数のトーカ130、131、および132、ならびに/または1つまたは複数のリスナ140、141、および142を有するネットワーク通信システムにおいてスパースモードで機能し得る1つの方法を示す。方法はブロック702において開始することができ、ここで、コントローラ190は、一意のストリームIDを、ネットワーク110に接続している各トーカ130、131、および132に対して特定しかつ/または割り当てることができる。いくつかのシステムにおいては、コントローラ190は、各トーカ130、131、および132に対してすでに存在する、事前に割り当てられておりかつ/または指定されている一意のストリームIDを特定および/または決定するのみであり得る。他のシステムにおいては、コントローラ190は、一意のストリームIDを各トーカ130、131、および132に割り当てることができる。
ブロック704において、コントローラ190は、ネットワーク110に接続されておりコントローラ190によって以前に特定されていないリスナ140を特定することができる。ブロック706において、コントローラ190は、第1の特定されたトーカ130を特定されたリスナ140と比較することができる。コントローラ190は、トーカ属性、リスナ属性、リスナ特性の比較を通じて、かつ/またはコントローラ190において実施されるルールおよび/もしくはロジックを通じてなどで、第1の特定されたトーカ130からのストリーム広告および/またはデータストリームが特定されたリスナ140に関連しかつ/または当該リスナにとって関心があり得るか否かを判断することができる。マイクトーカとマイクスピーカリスナとの場合など、ストリーム広告および/またはデータストリームが関連し得る場合、方法はブロック708に移動することができる。ブロック708において、コントローラ190は、第1の特定されたトーカ130の一意のストリームIDを、特定されたリスナ140のための関連ストリームIDのリストの中に含めることができる。他方、ストリーム広告および/またはデータストリームが特定されたリスナ140に関連しない場合、方法はブロック710に進むことができ、コントローラ190は特定されたトーカ130の一意のストリームIDを無視しかつ/または追加しなくともよい。
ブロック708または710の後、方法はブロック712に進むことができ、ここで、まだ特定されたリスナ140と比較されていないトーカが存在するか否かが判断される。トーカ131〜132のような、トーカ131〜132からのストリーム広告および/またはデータストリームが特定されたリスナと関連し得るかを判断するためにまだリスナ140と比較されていないトーカが存在する場合、方法はブロック706に戻ることができ、トーカ131のような、以前に特定されていない別のトーカが比較されることができる。このプロセスは、すべてのトーカ130、131、および132がリスナ140と比較され、リスナ140に対するすべての可能なストリーム広告および/またはデータストリームの関連が考慮されるまで継続することができる。
ブロック712において特定されたリスナと比較されるべきトーカが残っていない場合、方法はブロック714に進むことができる。ブロック714において、コントローラ190は、ブロック706〜710において確定されたような、関連ストリームIDの完全なリストを、特定されたリスナ140に送信することができる。いくつかの状況においては、関連ストリームIDのリストは、一片の情報および/またはデータとして共に送信されることができる。他の状況においては、関連ストリームIDは、ブロック708の直後など、コントローラ190がストリームIDが関連し得ると判断するとすぐにリスナ140に送信されることができる。さまざまな他の構成が可能である。
ブロック714の後、方法はブロック716に進むことができ、ここで、リスナ141〜142のように、任意のリスナがコントローラ190によってまだ特定されていないかどうかが判断される。コントローラ190によって特定されていないリスナが存在する場合、方法はブロック704に戻ることができ、コントローラはリスナ141のような別のリスナを特定し、上述されたようにブロック706〜714を通じて進むことができる。この方法は、関連ストリームIDのリストがすべてのリスナ140、141、および142に送信されるまで継続することができる。ブロック716において、コントローラ190によってまだ特定されるべきであるリスナがない場合、方法はブロック718において終了することができる。他のシステムにおいては、コントローラ190は、ネットワーク上のすべてのトーカ130、131、および132、ならびに/またはリスナ140、141、および142を定期的にかつ/または連続的に検索し特定することができ、かつ/またはリスナ140、141、および142に送信される関連ストリームIDのリストを更新することができる。さまざまな他の方法が可能である。
図8は、多数のトーカおよびリスナならびにコントローラを接続するネットワーク810を含むことができるオーディオビデオネットワークシステムの例を示す。ネットワーク810は、ネットワーク110であるかまたはそれに類似することができる。ネットワーク110は、例えば、イーサネット(登録商標)AVBネットワークであることができる。他の変形形態が可能である。
オーディオビデオネットワークシステムは、正面ビデオカメラ860、側面ビデオカメラ865、およびマイク870のような、1つまたは複数のトーカを含むことができる。正面ビデオカメラ860、側面ビデオカメラ865、およびマイク870のうちの1つまたは複数は、イーサネット(登録商標)AVB使用可能デバイスとすることができる。いくつかのシステムにおいて、オーディオビデオネットワークシステムは、より多くのトーカを含んでもよいし、またはより少ないトーカを含んでもよい。例えば、オーディオビデオネットワークは、ステージ上で10の異なる位置においてビデオを記録する10個の異なるビデオカメラ、10の異なる音源から音響を記録する10個の異なるマイク、および/またはさまざまな他のトーカを含むことができる。さまざまな数および組み合わせのトーカが、ネットワーク内に含まれることができる。オーディオビデオネットワークシステム内のトーカは、ビデオカメラまたはマイクのように、それ自体が実際のデバイスである場合があるか、またはそのように記載されている場合があるが、いくつかのシステムにおいては、トーカは、図10に示し後述するコンピュータシステム1000の機構のいくつかまたはすべてのような、ビデオカメラまたはマイクを制御するために使用され、かつ/またはそのために動作することができる、コンピュータまたは他の電子制御デバイスであることができるか、またはそれらを含むことができることが理解されるべきである。
正面ビデオカメラ860は、例えば、ステージの正面に向けられるビデオカメラであることができる。側面ビデオカメラ865はステージの側面に向けられるビデオカメラであることができ、それ以外は正面ビデオカメラ860と同様に機能することができる。正面ビデオカメラ860および/または側面ビデオカメラ865は、正面ビデオカメラ860および/または側面ビデオカメラ865によって記録されたビデオに関連する情報およびデータを記録、受信、処理、および/または配信することができる。正面ビデオカメラ860および/または側面ビデオカメラ865は、正面ビデオカメラ860がイーサネット(登録商標)AVBネットワーク810を介して、データストリームまたは他のデータ信号を用いてまたは使用するなどして流すことを望む記録されたビデオに関連する情報および/またはデータを正面ビデオカメラ860が有していることを、ストリーム広告を通じてなどで、広告、出力、および/または通信することができる。このストリーム広告は、イーサネット(登録商標)AVBネットワーク810に接続されている他のトーカおよびリスナのうちの1つまたは複数によって受信されることができ、当該トーカまたはリスナは、そのストリームに関心がある場合は、その広告されているデータストリームに登録しかつ/または当該ストリームを受信することができる。正面ビデオカメラ860および側面ビデオカメラ865のうちの一方または両方は、同時のストリーム広告を用いるなどして、イーサネット(登録商標)AVBネットワーク810を介して同時に情報および/またはデータストリームを広告することができる。
マイク870は、例えば、ステージ上に配置されるマイクであることができる。マイクは、マイク870によって記録される音響に関連する情報およびデータを記録、受信、処理、および/または配信することができる。マイク870は、マイク870がイーサネット(登録商標)AVBネットワーク810を介して、データストリームまたは他のデータ信号を用いてまたは使用するなどして、記録された音響に関連する情報および/またはデータを流すことを望んでいることを、ストリーム広告を通じてなどで、広告、出力、および/または通信することができる。このストリーム広告は、イーサネット(登録商標)AVBネットワーク810に接続されている他のトーカおよびリスナのうちの1つまたは複数によって受信されることができ、当該トーカまたはリスナは、そのストリームに関心がある場合は、その広告されているデータストリームに登録しかつ/または当該ストリームを受信することができる。情報は、同時のストリーム広告を用いるなどして、マイク870および1つまたは複数の他のトーカによって同時に広告されることができる。いくつかのシステムにおいては、データストリームに対する登録が受信されていない場合、マイク870のようなトーカによってデータは送信されない。
オーディオビデオネットワークシステムは、左側照明840、右側照明845、左側スピーカ850、右側スピーカ855、側面モニタ835、および/または正面モニタ840のような、1つまたは複数のリスナを含むことができる。左側照明840、右側照明845、左側スピーカ850、右側スピーカ855、側面モニタ835、および/または正面モニタ840のうちの1つまたは複数は、イーサネット(登録商標)AVB使用可能デバイスであることができる。いくつかのシステムにおいて、オーディオビデオネットワークシステムは、より多くのリスナを含んでもよいし、またはより少ないリスナを含んでもよい。例えば、オーディオビデオネットワークは、ステージ上で聴衆に向く10の異なる位置にある10個の異なるスピーカ、10の異なるソースから10の異なるビデオを見せる10個の異なるテレビ受像機モニタ、および/またはさまざまな他のリスナを含むことができる。さまざまな数および組み合わせのリスナが、ネットワーク内に含まれることができる。オーディオビデオネットワークシステム内のリスナは、左側照明または正面モニタのように、それ自体が実際のデバイスである場合があるか、またはそのように記載されている場合があるが、いくつかのシステムにおいては、リスナは、図10に示し後述するコンピュータシステム1000の機構のいくつかまたはすべてのような、左側照明または正面モニタを制御するために使用され、かつ/またはそのために動作することができる、コンピュータまたは他の電子制御デバイスであることができるか、またはそれらを含むことができることが理解されるべきである。
左側照明840および右側照明845は、例えば、照明、または当該照明に接続される照明制御電子機器であることができる。左側照明840および/または右側照明845は、ネットワーク810を介して受信される信号に基づいて動作することができる。例えば、音響調整卓890などからネットワークを介して「左側照明=オン(left lights=ON)」信号が受信されると、左側照明840は作動することができる。例えば、音響調整卓890などからネットワークを介して「右側照明=オン(right lights=ON)」信号が受信されると、右側照明845は作動することができる。左側照明840および/または右側照明845は、マイク870によって広告されるオーディオ信号のような他のコマンドまたは信号を処理しないかまたはそれらに対して何ら反応を示さない場合がある。左側照明840および/または右側照明845は、受信されたストリーム広告および/またはデータストリームに関する情報を受信および記憶する場合があるが、そうではなく、このようなコマンドまたは信号を無視する場合がある。
左側スピーカ850および右側スピーカ855は、オーディオスピーカ、または左側および/または右側スピーカに接続されるオーディオスピーカ制御電子機器であることができる。左側スピーカ850および/または右側スピーカ855は、例えば、ネットワーク810を介して受信されるオーディオデータストリームまたは信号に応答しかつ/または当該ストリームまたは信号に基づいて動作することができる。例えば、左側スピーカ850は、音響調整卓890および/またはマイク870からの左側オーディオデータストリームのような、ネットワーク上の左側オーディオデータストリームまたは信号を処理および/または出力することができる。例えば、右側スピーカ855は、音響調整卓890および/またはマイク870からの右側オーディオデータストリームのような、ネットワーク上の右側オーディオデータストリームまたは信号を処理および/または出力することができる。左側スピーカ850および/または右側スピーカ855は、音響調整卓によって広告される照明制御信号、または正面ビデオカメラ860もしくは側面ビデオカメラ865によって広告されるビデオデータストリームもしくは信号のような、他のコマンドまたは信号を処理せずそれらに対して何ら反応を示さない場合がある。左側スピーカ850および/または右側スピーカ855は、受信されたストリーム広告および/またはデータストリームに関する情報を受信および記憶する場合があるが、そうではなく、このようなコマンドまたは信号を無視する場合がある。
側面モニタ835および正面モニタ830は、テレビ受像機モニタのようなビデオモニタ、またはビデオモニタに接続されるビデオモニタ制御電子機器であることができる。側面モニタ835および/または正面モニタ830は、例えば、側面ビデオカメラ865および/または正面ビデオカメラ860によって広告および/または送信されるデータストリームのような、ネットワークを介して受信される受信ビデオデータストリームまたは信号に応答しかつ/または当該ストリームまたは信号に基づいて動作することができる。例えば、側面モニタ835は、側面ビデオカメラ865または音響調整卓890からの側面ビデオデータストリームのような、ネットワーク810を介して広告される側面ビデオデータストリームまたは信号を処理および/または出力することができる。正面モニタ830は、正面ビデオカメラ860または音響調整卓890からの正面ビデオデータストリームのような、ネットワーク810を介して広告される正面ビデオデータストリームまたは信号を処理および/または出力することができる。側面モニタ835および正面モニタ830は、音響調整卓890によって広告される照明制御信号、またはマイク870によって広告されるオーディオデータストリームもしくは信号のような、他のコマンドまたは信号を処理しないかまたはそれらに対して何ら反応を示さない場合がある。側面モニタ835および正面モニタ830は、受信されたストリーム広告および/またはデータストリームに関する情報を受信および記憶する場合があるが、そうではなく、このようなコマンドまたは信号を無視する場合がある。
当該システムの音響調整卓890は、多数の機能を実行することができる。いくつかのシステムにおいて、トーカおよび/またはリスナのうちの1つまたはすべてが音響調整卓890に接続されることができる。音響調整卓890は、ネットワーク810を介してトーカによって送信されるストリーム広告、データストリームおよび/または信号のすべてに対するハブとして機能することができる。いくつかのシステムにおいては、音響調整卓890は、ネットワーク810を介してトーカによって送信され得るデータストリームを調整および/または処理することができる。他のシステムにおいては、1つまたは複数のトーカおよび/またはリスナが直接接続されることができ、かつ/あるいはトーカからのデータストリームがネットワーク810をわたって通過することができ、かつ/または音響調整卓890によって受信および/またはモニタもしくは制御されない場合がある。音響調整卓890は、ユーザが、ステージ上の演奏などの全体を通じてなどで、トーカおよびリスナの負担を事前調整、作成および/または編集することを可能にすることができるアプリケーションおよび/またはコンピュータプログラムであるかまたはそれらを含むことができる。
音響調整卓890は、正面ビデオカメラ860、側面ビデオカメラ865、および/またはマイク870のような、トーカのそれぞれに関する情報を識別、指定、および/または記憶することができる。音響調整卓890は、特定のかつ/または一意のストリームIDを、トーカ860、865、および/または870のそれぞれに対して特定することができ、または場合によっては割り当てることができる。
リスナ830、835、840、845、850、および/または855のうちのいずれかは、スパースモードまたはフルモードのような1つまたは複数のモードで動作することができる。いくつかのシステムにおいては、音響調整卓890は、リスナ830、835、840、845、850、および/または855のうちの1つまたは複数からの情報を識別および/または受信することができる。音響調整卓890は、リスナ830、835、840、845、850、および/または855のそれぞれにとって関心がありかつ/または当該リスナによって使用され得る、トーカ860、865、および/もしくは870、ストリーム広告、ストリームID、ならびに/またはトーカ860、865、および/もしくは870から送信されるデータストリームを特定および/または判断することができる。
音響調整卓890は、リスナにとって関心がありかつ/または有用である、トーカ860、865、および/または870からのデータストリームの特定のかつ/または一意のストリームIDを、リスナ830、835、840、845、850、および/または855のそれぞれに通信することができる。音響調整卓890によって送信されるストリームIDは、スパースモードで操作され、操作されるべきであり、かつ/または操作されるように構成されもしくは動作可能である各リスナ内のスパースモードエンジン260に送信されることができる。各リスナ830、835、840、845、850、および/または855のスパースモードエンジン260は、次いで、音響調整卓890によって送信されるストリームIDと一致するストリームIDを有するストリーム広告のみを、スパースモードで動作しているリスナの上位層アプリケーション220上にわたすことができる。いくつかのシステムにおいては、音響調整卓890は、リスナにとって関心があるトーカの特定のかつ/または一意のストリームIDを、リスナがスパースモードで動作しているか、スパースモードで動作することが可能であるときにのみ、通信することができる。他のシステムにおいては、音響調整卓890は、リスナにとって関心があるトーカの特定のかつ/または一意のストリームIDを、すべてのリスナ830、835、840、845、850、および/または855に通信することができる。さまざまな他の組み合わせが可能である。スパースモードおよび/またはフルモードの両方で動作することが可能なリスナ830、835、840、845、850、および/または855のそれぞれは、上述のようなリスナ140、141、および142ならびに/またはリスナ210と同様にいずれかのモードで構成されかつ/または動作することができる。さまざまな他の構成が可能である。
いくつかのシステムにおいては、コントローラ190は必要でもなく、含まれもしない場合がある。例えば、いくつかのシステムにおいては、1つまたは複数のリスナ140、141、および142は、リスナ140、141、および142が関心があり得る1つまたは複数のトーカ130、131、および132を知っているようにプログラムされることができる。これらのシステムでは、リスナ140、141、および142のスパースモードエンジン260は、リスナが関心があり得るストリームIDを特定するストリームIDクエリ420を上位層アプリケーション220から依然として受信することができるか、またはスパースモードエンジン260は、リスナが関心があるストリームIDを知るようにすでにプログラムされていることができる。これらのシステムでは、スパースモードエンジン260は、リスナ210にとって関連がないかまたは関心がないストリーム広告をフィルタリング除去するように動作することができる。
例えば、トーカまたはリスナを長期間にわたって変更または追加する可能性が少ないシステムにおいては、コントローラ190が必要とされない場合がある状況が存在し得る。このようなシステムの一例は、図9に示す自動車通信システムであり得る。図9における自動車通信システムは、前部スピーカ910、後部スピーカ915、CDプレイヤ920、ラジオ930、後部座席用表示モニタ940、DVDプレイヤ950、および/またはヘッドユニット990のうちの1つまたは複数を含むことができる。
前部スピーカ910は、CDプレイヤ920および/またはラジオ930によって広告されるオーディオデータストリームおよび/または信号から音響を認識および再生するようにプログラムされることができる。前部スピーカ910は、CDプレイヤ920およびラジオ930の両方からオーディオデータストリームが受信されるときに、いずれのオーディオデータストリームおよび/または信号を再生するかを判断するためのルールおよび/またはロジックを含むことができる。
前部スピーカ910は、リスナ140、141、および142ならびに/またはリスナ210のいずれかと同様でありかつ/または当該リスナに類似している場合がある。前部スピーカ910は、物理的なスピーカの動作を制御することができる上位層アプリケーション220と、スパースモードエンジン260を含むことができるストリーム予約プロトコルスタック230とを有することができる。上位層アプリケーション220および/またはスパースモードエンジン260は、前部スピーカ910にとって重要であるストリーム広告および/またはデータストリームのみが、トーカCDプレイヤ920およびトーカラジオ930からのストリーム広告および/またはデータストリームであり得るようにプログラムされかつ/またはそのことを認識していることができる。上位層アプリケーション220がプログラムされている場合、上位層アプリケーションは、フルモード動作およびスパースモード動作を開始しかつ/またはそれらの間で切り替えるためのモード切り替え信号410をスパースモードエンジン260に送信することができる。他のシステムにおいては、スパースモードエンジン260は、ストリームIDをすでに知っている場合がある。これらのシステムでは、スパースモードエンジン260は、連続的にスパースモードで永久的に駆動されかつ/もしくは動作することができ、または代替的に、上位層アプリケーション220からのモード切り替え信号410によって指示および/もしくは制御されることができる。いずれの場合においても、スパースモードでは、スパースモードエンジン260は、リスナ210において上述したように動作することができ、CDプレイヤ920および/またはトーカラジオ930のストリームIDに一致するストリームIDを有するストリーム広告を伝送、出力、送信、転送、および/またはわたすのみであり得る。
後部スピーカ915は、リスナ140、141、および142ならびに/またはリスナ210のいずれかと同様でありかつ/もしくは類似しており、かつ/または動作において前部スピーカ910に類似している場合がある。後部スピーカ915の上位層アプリケーション220および/またはスパースモードエンジン260は、後部スピーカ915にとって重要であるストリーム広告および/またはデータストリームのみが、トーカCDプレイヤ920、トーカラジオ930、および/またはDVDプレイヤ950からのストリーム広告および/またはデータストリームであり得るようにプログラムされかつ/またはそのことを認識していることができる。後部スピーカ915は、CDプレイヤ920、ラジオ930、および/またはDVDプレイヤ950の2つ以上からオーディオデータストリームが受信されるときに、いずれのオーディオデータストリームおよび/または信号を再生するかを判断するためのルールおよび/またはロジックを含むことができる。上位層アプリケーション220がプログラムされている場合、上位層アプリケーションは、フルモード動作およびスパースモード動作を開始しかつ/またはそれらの間で切り替えるためのモード切り替え信号410をスパースモードエンジン260に送信することができる。他のシステムにおいては、スパースモードエンジン260は、ストリームIDをすでに知っている場合がある。これらのシステムでは、スパースモードエンジン260は、連続的にスパースモードで永久的に駆動されかつ/もしくは動作することができ、または代替的に、上位層アプリケーション220からのモード切り替え信号410によって指示および/もしくは制御されることができる。スパースモードでは、後部スピーカ915のスパースモードエンジン260は、リスナ210において上述したように動作することができ、CDプレイヤ920、トーカラジオ930、および/またはDVDプレイヤ950のストリームIDに一致するストリームIDを有するストリーム広告を伝送、出力、送信、転送、および/またはわたすのみであり得る。
後部座席用表示モニタ940は、リスナ140、141、および142ならびに/またはリスナ210のいずれかと同様でありかつ/もしくは類似している場合があり、かつ/または動作において前部スピーカ910または後部スピーカ915に類似している場合がある。後部座席用表示モニタ940の上位層アプリケーション220および/またはスパースモードエンジン260は、後部座席用表示モニタ940にとって重要であるストリーム広告および/またはデータストリームのみが、DVDプレイヤ950からのストリーム広告および/またはデータストリームであり得るようにプログラムされかつ/またはそのことを認識していることができる。上位層アプリケーション220がプログラムされている場合、上位層アプリケーションは、フルモード動作およびスパースモード動作を開始しかつ/またはそれらの間で切り替えるためのモード切り替え信号410をスパースモードエンジン260に送信することができる。他のシステムにおいては、スパースモードエンジン260は、ストリームIDをすでに知っている場合がある。これらのシステムでは、スパースモードエンジン260は、連続的にスパースモードで永久的に駆動されかつ/もしくは動作することができ、または代替的に、上位層アプリケーション220からのモード切り替え信号410によって指示および/もしくは制御されることができる。スパースモードでは、後部座席用表示モニタ940のスパースモードエンジン260は、リスナ210において上述したように動作することができ、DVDプレイヤ950のストリームIDに一致するストリームIDを有するストリーム広告を伝送、出力、送信、転送、および/またはわたすのみであり得る。
システムは、ヘッドユニット990をも含むことができる。いくつかの他のシステムにおいて、ヘッドユニット990はコントローラ190として機能することができるが、これは必須ではない。ヘッドユニット990は、状況によっては、CDプレイヤ920、ラジオ930、および/またはDVDプレイヤ950のようなトーカのうちの1つまたは複数を操作および/または制御することができる。いくつかのシステムにおいては、ヘッドユニット990は、リスナのうちの1つまたは複数によってどのデータストリームが処理および/または再生されるべきかを特定することができるルールまたはロジックを実行および/または決定することができるが、これは必須ではない。
さまざまな他のシステムが、記載されているスパースモード機構および構成要素を使用しかつ/または組み込むことができる。例えば、ホームシアターシステムは、DVDプレイヤ、HDMIデバイス、mp3プレイヤ、ケーブルテレビ用チューナ、衛星放送受信機、およびさまざまな他のトーカのような多数のトーカ、ならびに、スピーカ、テレビ受像機画面、およびさまざまな他のリスナのような多数のリスナを有することができる。いくつかのホームシアターシステムにおいて、オーディビデオ受信機または他の受信機のようなトーカ/リスナは、イーサネット(登録商標)AVBネットワークを介するなどして、トーカおよびリスナのうちの1つまたは複数にアタッチおよび/または接続されることができる。ホームシアターネットワークのトーカ、リスナ、および/またはトーカ/リスナは、トーカ130、131、および132、リスナ140、141、および142、ならびに/またはトーカ/リスナ150を操作しかつ/またはそれらに類似している場合がある。別の例では、スパースモードエンジンおよび/またはスパースモード機能は、マトリックスコントローラのような、多数の他のデバイスに追加されることができる。記載されているシステムおよび方法は多くの場合MSRP属性に関連して説明され得るが、これらの技法はマルチMACレジストレーションプロトコル(「MMRP」)属性にも同様に適用されることができることは理解されるべきである。他の変形形態が可能である。
トーカ130、131、および132、リスナ140、141、および142、トーカ/リスナ150、ならびに/またはコントローラ190のうちの1つまたは複数は、図10におけるコンピュータデバイスのような、さまざまな種類の1つまたは複数のコンピュータデバイスの一部またはすべてであることができ、かつ/またはそれらを含むことができる。図10は、1000との符号が付された汎用コンピュータシステムの一例を例示する。上位層アプリケーション220、ストリーム予約プロトコルスタック230、MSRP属性データベース250、および/またはスパースモードエンジン260のような、リスナ210由来の構成要素のいずれかは、コンピュータシステム1000の一部またはすべてを含むことができる。コンピュータシステム1000は、コンピュータシステム1000に、開示される方法またはコンピュータベースの機能のうちのいずれか1つまたは複数を実行させるために実施されることが可能である命令のセットを含むことが可能である。コンピュータシステム1000は、スタンドアロンデバイスとして動作することができるか、または、例えば、ネットワークを使用して、他のコンピュータシステムまたは周辺デバイスに接続されることができる。
ネットワーク化された配備において、コンピュータシステム1000は、サーバ−クライアントユーザネットワーク環境におけるサーバの容量内でもしくはクライアントユーザコンピュータとして、またはピアツーピア(もしくは分散型)ネットワーク環境におけるピアコンピュータシステムとして動作することができる。コンピュータシステム1000はパーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、モバイルデバイス、パームトップコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、通信デバイス、無線電話機、固定電話機、制御システム、カメラ、スキャナ、ファクシミリ装置、プリンタ、ポケットベル、個人信託装置、ウェブアプライアンス、ネットワークルータ、スイッチもしくはブリッジ、または、その装置によって為されるべき操作を指定する(順次またはそれ以外の)命令のセットを実行することが可能な任意の他の装置のようなさまざまなデバイスとして実施されるかまたはその中に組み込むことも可能である。特定の例では、コンピュータシステム1000は、音声、音響、ビデオまたはデータ通信を提供する電子デバイスを使用して実施されることが可能である。さらに、単一のコンピュータシステム1000が例示されているが、「システム」という用語は、1つまたは複数のコンピュータ機能を実行するための命令のセット、または複数のセットを個別にまたは連帯して実行するシステムまたはサブシステムの任意の集合を含むようにも解釈されるべきである。
図10に例示されるように、コンピュータシステム1000は、プロセッサ1002、例えば、中央処理装置(CPU)、グラフィックス処理装置(GPU)、またはその両方を含むことができる。プロセッサ1002は、さまざまなシステム内の構成要素であることができる。例えば、プロセッサ1002は、標準的なパーソナルコンピュータまたはワークステーションの一部であることができる。プロセッサ1002は、1つまたは複数の汎用プロセッサ、デジタル信号プロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイ、サーバ、ネットワーク、デジタル回路、アナログ回路、それらの組み合わせ、またはデータを分析および処理するための、他の現在既知のもしくは将来開発されるデバイスであることができる。プロセッサ1002は、手作業で生成される(すなわち、プログラムされる)コードのようなソフトウェアプログラムを実施することができる。
「モジュール」という用語は、複数の実行可能モジュールを含むように定義され得る。本明細書に記載される場合、モジュールは、プロセッサ1002のようなプロセッサによって実行可能なソフトウェア、ハードウェア、またはそれらの何らかの組み合わせを含むように定義される。ソフトウェアモジュールは、メモリ1004のようなメモリ、または別のメモリデバイス内に記憶される、プロセッサ1002または他のプロセッサによって実行可能である命令を含むことができる。ハードウェアモジュールは、プロセッサ1002による実行のために実行可能であり、指示され、かつ/または制御されるさまざまなデバイス、構成要素、回路、ゲート、回路基板などを含むことができる。
コンピュータシステム1000は、バス1008を介して通信することが可能であるメモリ1004のようなメモリ1004を含むことができる。メモリ1004は、主記憶装置、静的記憶装置、または動的記憶装置であることができる。メモリ1004は、ランダムアクセスメモリ、読み出し専用メモリ、プログラム可能読み出し専用メモリ、電気的プログラム可能読み出し専用メモリ、電気的消去可能読み出し専用メモリ、フラッシュメモリ、磁気テープまたはディスク、光ディスクなどを含むがこれらには限定されない、さまざまなタイプの揮発性および不揮発性記憶媒体のような、コンピュータ可読記憶媒体を含むことができるが、これには限定されない。1つの例では、メモリ1004は、プロセッサ1002のためのキャッシュまたはランダムアクセスメモリを含む。代替的な例では、メモリ1004は、プロセッサのキャッシュメモリ、システムメモリ、または他のメモリのように、プロセッサ1002から独立している。メモリ1004は、データを記憶するための外部記憶デバイスまたはデータベースとすることができる。例は、ハードドライブ、コンパクトディスク(「CD」)、デジタルビデオディスク(「DVD」)、メモリカード、メモリスティック、フロッピー(登録商標)ディスク、ユニバーサルシリアルバス(「USB」)メモリデバイス、またはデータを記憶するように動作する任意の他のデバイスを含む。メモリ1004は、プロセッサ1002によって実行可能な命令を記憶するように動作可能である。図面において例示されているかまたは説明される機能、役割またはタスクは、メモリ1004内に記憶されている命令を実行するプログラムされたプロセッサ1002によって実行されることができる。機能、役割またはタスクは特定のタイプの命令セット、記憶媒体、プロセッサまたは処理ストラテジとは無関係であり、独立してまたは組み合わせにおいて動作するソフトウェア、ハードウェア、集積回路、ファームウェア、マイクロコードなどによって実行されることができる。同様に、処理ストラテジは、マルチ処理、マルチタスキング、並列処理などを含むことができる。
図示されるように、コンピュータシステム1000は、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)、フラットパネルディスプレイ、ソリッドステートディスプレイ、陰極線管(CRT)、プロジェクタ、プリンタ、または、確定された情報を出力するための他の現在既知のもしくは将来開発される表示デバイスのような表示装置1010をさらに含んでもよいし、含まなくてもよい。ディスプレイ1010は、ユーザが、プロセッサ1002の機能を見るためのインタフェースとして、または具体的には、メモリ1004もしくはドライブユニット1016内に記憶されているソフトウェアとのインタフェースとして機能することができる。
付加的に、コンピュータシステム1000は、ユーザがシステム1000の構成要素のいずれかと対話することを可能にするように構成される入力デバイス1012を含むことができる。入力デバイス1012は、数字キーパッド、キーボード、もしくは、マウスのようなカーソル制御デバイス、またはジョイスティック、タッチスクリーンディスプレイ、遠隔制御装置、またはコンピュータシステム1000と対話するように動作する任意の他のデバイスであることができる。
図10において図示されるような特定の例では、コンピュータシステム1000は、ディスクまたは光学式ドライブユニット1016をも含むことができる。ディスクドライブユニット1016は、命令1024の1つまたは複数のセット、例えば、ソフトウェアが埋め込まれることができるコンピュータ可読媒体1022を含むことができる。さらに、命令1024は、記載されているような方法またはロジックのうちの1つまたは複数を具現化することができる。特定の例において、命令1024は、コンピュータシステム1000による実行中にメモリ1004内にかつ/またはプロセッサ1002内に完全にまたは少なくとも部分的に存在することができる。メモリ1004およびプロセッサ1002は、上述のようなコンピュータ可読媒体をも含むことができる。
本開示は、命令1024を含むかまたは伝播信号に応答して命令1024を受信および実行するコンピュータ可読媒体を企図しており、それによって、ネットワーク1026に接続されるデバイスがネットワーク1026を介して音声、ビデオ、音響、画像または任意の他のデータを通信することが可能である。さらに、命令1024は、通信ポートもしくはインタフェース1020を介して、かつ/またはバス1008を使用してネットワーク1026を介して送信または受信されることができる。通信ポートまたはインタフェース1020は、プロセッサ1002の一部であることができるか、または別個の構成要素であることができる。通信ポート1020は、ソフトウェアにおいて作成されることができるか、またはハードウェア内の物理接続であることができる。通信ポート1020は、ネットワーク1026、外部媒体、ディスプレイ1010、もしくはシステム1000内の任意の他の構成要素、またはそれらの組み合わせに接続するように構成されることができる。ネットワーク1026との接続は有線イーサネット(登録商標)接続のような物理接続であることができるか、または、後述するように無線で確立されることができる。同様に、システム1000の他の構成要素との追加の接続は、物理接続であることができるか、または、無線で確立されることができる。ネットワーク1026は、代替的に、バス1008に直接接続されることができる。
ネットワーク1026は、有線ネットワーク、無線ネットワーク、イーサネット(登録商標)AVBネットワーク、またはそれらの組み合わせを含むことができる。無線ネットワークは、携帯電話ネットワーク、802.11、802.16、802.20、802.1QまたはWiMaxネットワークであることができる。さらに、ネットワーク1026は、インターネットのような公衆ネットワーク、イントラネットのような私的ネットワーク、またはそれらの組み合わせであることができ、TCP/IPベースのネットワークプロトコルを含むがそれには限定されない、現在利用可能であるかまたは将来開発されるさまざまなネットワークプロトコルを利用することができる。
コンピュータ可読媒体は単一の媒体であるように示されているが、「コンピュータ可読媒体」という用語は、集中型もしくは分散型データベース、ならびに/または命令の1つもしくは複数のセットを記憶する、関連付けられるキャッシュおよびサーバのような、単一の媒体または複数の媒体を含むことができる。「コンピュータ可読媒体」という用語は、プロセッサによる実行のために命令のセットを記憶、符号化または搬送することが可能であるか、またはコンピュータシステムに、開示される方法または動作のうちのいずれか1つまたは複数を実行させる任意の媒体をも含むことができる。「コンピュータ可読媒体」は持続性であることができ、有形であることができる。
一例では、コンピュータ可読媒体は、メモリカードまたは1つもしくは複数の不揮発性読み出し専用メモリを収容する他のパッケージのようなソリッドステートメモリを含むことが可能である。さらに、コンピュータ可読媒体は、ランダムアクセスメモリまたは他の揮発性書き換え可能メモリであることが可能である。付加的に、コンピュータ可読媒体は、ディスクもしくはテープのような磁気光または光媒体、または伝送媒体を介して通信される信号のような搬送波信号を捕捉するための他のストレージデバイスを含むことが可能である。電子メールに対するデジタルファイル添付または他の内蔵型の情報アーカイブもしくはアーカイブのセットは、有形記憶媒体である配布媒体とみなすことができる。従って、本開示は、コンピュータ可読媒体または配布媒体ならびに他の均等物および後続の媒体のうちのいずれか1つまたは複数を含むと考えられ、その中にデータまたは命令が記憶されることができる。
代替的な例では、特定用途向け集積回路、プログラマブルロジックアレイおよび他のハードウェアデバイスのような専用ハードウェアの実施態様が、システムのさまざまな部分を実施するために構築されることが可能である。装置およびシステムを含むことができるアプリケーションは、さまざまな電子システムおよびコンピュータシステムを広範に含むことが可能である。記載されている1つまたは複数の例は、2つ以上の特定の相互接続されるハードウェアモジュールまたはデバイスを、当該モジュールの間でかつそれらを通じて通信されることが可能である関連する制御信号およびデータ信号を用いて使用して、または特定用途向け集積回路の部分として機能を実施することができる。従って、本発明のシステムはソフトウェア、ファームウェア、およびハードウェアの実施態様を包含する。
記載されているシステムは、コンピュータシステムによって実行可能なソフトウェアプログラムによって実施されることができる。さらに、非限定的な例において、実施態様は、分散型処理、コンポーネント/オブジェクト分散型処理、および並列処理を含むことが可能である。代替的に、仮想コンピュータシステム処理が、システムのさまざまな部分を実施するために構築されることができる。
システムは、いかなる特定の標準規格およびプロトコルを用いた動作にも限定されない。例えば、インターネットおよび他のパケット交換ネットワーク伝送のための標準規格(例えば、TCP/IP、UDP/IP、HTML、HTTP)が使用されることができる。このような標準規格は、基本的に同じ機能を有する、より高速またはより効率的な均等物によって定期的に取って代わられる。従って、開示されているもののような同じまたは同様の機能を有する、置き換えられる標準規格およびプロトコルがそれらの均等物と考えられる。
リスナ210のスパースモードにおける動作は、多くの理由でリスナ210にとって有利であり得る。ネットワーク110に接続されるリスナ140、141、および142は、上位層アプリケーション220においてリスナ140、141、および142にとって関心があるストリーム広告および/またはデータストリームを受信および記憶するように構成されかつ/または動作可能であることができる。このことによって、リスナ140、141、および142のメモリ、処理能力、および/または他の資源を解放することができ、これによって、それらは他の機能に専用とされかつ/またはそれらのために使用されることができる。スパースモードおよび/またはスパースモードエンジンは、イーサネット(登録商標)AVBエンドステーションおよび/またはデバイスが、当該デバイスが関心があるストリームIDに関連する情報のみを報告及び記憶することを可能にすることができる。リスナ210の上位層アプリケーション220は、リスナ210が関心がなくかつ/またはさらに処理しない場合があるストリーム広告および/またはデータストリームに関連する情報を受信しない場合があり、通して解析しなくてよい場合があり、かつ/または記憶しない場合がある。例えば、スピーカである場合があるリスナ210は、正面カメラからのビデオデータストリームを理解せず、処理せず、かつ/または考慮しない場合がある。リスナ210は、低電力の制限されたメモリデバイスである場合がある。しかしながら、フルモードでは、リスナ210は依然として、少なくとも正面カメラからのストリーム広告を受信することができ、ビデオデータストリームに関連する情報を考慮および/または記憶するように要求される場合がある。スパースモードでは、上位層アプリケーション220は、上位層アプリケーション220が関心がないストリーム広告を受信しない場合があり、ビデオデータストリームに対しては一切資源またはメモリを充てる必要がない場合がある。このように、上位層アプリケーション220および/またはリスナ210は、資源および/またはメモリを、上位層アプリケーション220に関連がない場合があるストリーム広告および/またはデータストリーム専用に使用しない場合がある。このことによって、上位層アプリケーション220および/またはリスナ210のための資源を解放することができ、当該資源は上位層アプリケーション220および/またはリスナ210にとってより関心がある他の処理に充てられることが可能である。
スパースモードおよび/またはスパースモードエンジンは、AVB使用可能デバイスにおけるCPUオーバヘッドおよびメモリ記憶要件を低減することができ、これはより多くのデータストリームがネットワーク110に追加されるにつれて、ますます重要かつ効果的になり得る。このことによって、低電力かつ/または接地面積の小さいAVB使用可能デバイスが、ストリームの多いネットワークと共存することが可能となり得る。加えて、より強力なデバイスがスパースモードを利用して、より多くのシステム資源を、ユーザに対するより反応のよい「印象」を含むが、これには限定されない他の目的のために利用可能にすることができる。
加えて、リスナ140、141、および142を、スパースモードで動作可能であるように構成することによって、スパースモードエンジン260の追加のような、必要な調整を最小限にすることができる。さらに、フルモードとスパースモードとの間の動作の切り替えは、スパースモードエンジン260に送信されるモード切り替え信号410のような信号または他の通知しか必要としない場合があり、リスナ140、141、および142のすべての他の構成要素は変更されずかつ/もしくは影響を受けないままであり、かつ/または継続してかつ/もしくは変更されないモードで動作する。メモリ210のいずれの構成要素も、スパースモードエンジン260を除いて、フルモードとスパースモードとの間で再構成および/または改変されることを必要としない場合がある。別の利点は、スパースモードで動作することができるデバイスが、ネットワークの再構成が必要とされることなくネットワーク内で非スパースモードデバイスと混在されることができることであり得る。
別の利点として、いくつかのシステムにおいては、リスナ210の上位層アプリケーション220は、ファームウェア更新によるソフトウェア再起動を経験する場合がある。これが起こると、リスナ210は、再起動によって影響を受けなかったストリーム予約プロトコルスタック230を再起動することができるか、または、ストリーム予約プロトコルスタック230に、特別なストリームIDクエリを用いて問い合わせることができる。特別なストリームIDクエリは、スパースモードエンジン260がすでに知っているすべてのストリームに関する情報を要求することができる。通常ならば、ファームウェア更新および再起動は、A/Vストリーミングに一時的な中断をもたらすことになる。上位層アプリケーション220がリセットされている間にハードウェアがA/Vストリームを再生し続けることを可能にすることによって、スパースモードは、このリセットを、音響を聴いているか、またはビデオストリームを見ている者に対してトランスペアレントにすることができる。上記のシステムのさまざまな他の利点が可能である。
本発明のさまざまな実施形態が記載されてきたが、さらに多くの実施形態および実施態様が本発明の範囲内で可能であることは、当業者には明らかであろう。従って、本発明は添付の特許請求の範囲およびその均等物を考慮する以外では限定されるべきではない。