特許第6092858号(P6092858)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ハーマン インターナショナル インダストリーズ, インコーポレイテッドの特許一覧

特許6092858AVBネットワーク内のアプリケーション層構造を使用してオーディオ/ビデオストリームを管理するためのシステム
<>
  • 特許6092858-AVBネットワーク内のアプリケーション層構造を使用してオーディオ/ビデオストリームを管理するためのシステム 図000002
  • 特許6092858-AVBネットワーク内のアプリケーション層構造を使用してオーディオ/ビデオストリームを管理するためのシステム 図000003
  • 特許6092858-AVBネットワーク内のアプリケーション層構造を使用してオーディオ/ビデオストリームを管理するためのシステム 図000004
  • 特許6092858-AVBネットワーク内のアプリケーション層構造を使用してオーディオ/ビデオストリームを管理するためのシステム 図000005
  • 特許6092858-AVBネットワーク内のアプリケーション層構造を使用してオーディオ/ビデオストリームを管理するためのシステム 図000006
  • 特許6092858-AVBネットワーク内のアプリケーション層構造を使用してオーディオ/ビデオストリームを管理するためのシステム 図000007
  • 特許6092858-AVBネットワーク内のアプリケーション層構造を使用してオーディオ/ビデオストリームを管理するためのシステム 図000008
  • 特許6092858-AVBネットワーク内のアプリケーション層構造を使用してオーディオ/ビデオストリームを管理するためのシステム 図000009
  • 特許6092858-AVBネットワーク内のアプリケーション層構造を使用してオーディオ/ビデオストリームを管理するためのシステム 図000010
  • 特許6092858-AVBネットワーク内のアプリケーション層構造を使用してオーディオ/ビデオストリームを管理するためのシステム 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6092858
(24)【登録日】2017年2月17日
(45)【発行日】2017年3月8日
(54)【発明の名称】AVBネットワーク内のアプリケーション層構造を使用してオーディオ/ビデオストリームを管理するためのシステム
(51)【国際特許分類】
   H04M 3/00 20060101AFI20170227BHJP
   H04L 29/08 20060101ALI20170227BHJP
   G06F 13/00 20060101ALI20170227BHJP
   H04L 12/911 20130101ALI20170227BHJP
   H04L 12/70 20130101ALI20170227BHJP
【FI】
   H04M3/00 A
   H04L13/00 307A
   G06F13/00 357A
   H04L12/911
   H04L12/70 E
【請求項の数】15
【全頁数】47
(21)【出願番号】特願2014-518646(P2014-518646)
(86)(22)【出願日】2012年6月20日
(65)【公表番号】特表2014-529206(P2014-529206A)
(43)【公表日】2014年10月30日
(86)【国際出願番号】US2012043284
(87)【国際公開番号】WO2013003145
(87)【国際公開日】20130103
【審査請求日】2015年6月2日
(31)【優先権主張番号】13/174,100
(32)【優先日】2011年6月30日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】512168283
【氏名又は名称】ハーマン インターナショナル インダストリーズ, インコーポレイテッド
(74)【代理人】
【識別番号】100078282
【弁理士】
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【弁理士】
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【弁理士】
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【弁理士】
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【弁護士】
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】オルセン, デイビッド
(72)【発明者】
【氏名】ピアーソン, レビ
(72)【発明者】
【氏名】グンザー, クレイグ
【審査官】 中村 信也
(56)【参考文献】
【文献】 特開2008−278164(JP,A)
【文献】 Craig Gunther,802.1Qat Current Status,2008年11月11日,P.11-14,URL,http://www.ieee802.org/1/files/pubic/docs2008/at-cgunther-qat-status-1108-v01.pdf
【文献】 IEE P1722/Draft #1.1,Draft Standard for Layer 2 Transport Protocol for Time Sensitive Applications in Bridged Local Area Networks,IEEE,2008年 8月25日,P.27,50,75
(58)【調査した分野】(Int.Cl.,DB名)
H04M 3/00
H04M 3/16−3/20
H04M 3/38−3/58
H04M 7/00−7/16
H04M 11/00−11/10
H04L 12/00−12/26
H04L 12/28−12/46
H04L 12/50−12/955
H04L 13/00−13/18
H04L 29/08
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
イーサネット(登録商標)オーディオビデオブリッジング(「AVB」)ネットワークを介したリスナとの接続を成立させるように構成されているトーカデバイスであって、
前記トーカデバイスは、プロセッサによって実行可能な複数のモジュールを備え、
前記複数のモジュールは、
ファンクションブロック(「FBlock」)インターフェースモジュールと、
ストリーム予約プロトコル(「SRP」)に従った前記イーサネット(登録商標)AVBネットワークを介した接続を成立させるためのSRPスタックモジュールと、
前記FBlockインターフェースモジュールおよび前記SRPスタックモジュールと通信状態にある状態マシンモジュールと
を含み、
前記FBlockインターフェースモジュールが、
データストリームが作成されることを決定することと、
前記決定に応答して、FBlockコントロールメッセージを前記状態マシンモジュールへ通信することであって、前記FBlockコントロールメッセージは、前記イーサネット(登録商標)AVBネットワークを介した前記データストリームのための接続を成立させるように前記状態マシンモジュールに示す、ことと
を実行するように構成されており、
前記状態マシンモジュールが、
前記FBlockコントロールメッセージを受信することと、
前記FBlockコントロールメッセージの受信に応答して、前記トーカデバイスが前記データストリームを通信することを望むことを、前記SRPスタックモジュールを使用して、前記イーサネット(登録商標)AVBネットワークへ通信することと、
前記SRPスタックモジュールを用いて、リスナデバイスの前記データストリームを受容する能力を決定することと、
前記リスナデバイスの前記データストリームを受容する能力の決定に応答して、前記リスナデバイスとの前記データストリームの通信のためのSRPに従った前記イーサネット(登録商標)AVBネットワークを介した前記接続を成立させることと
を実行するように構成されている、トーカデバイス。
【請求項2】
前記状態マシンモジュールは、前記SRPスタックモジュールを使用して、前記トーカデバイスが前記データストリームを作成することが可能であることを前記イーサネット(登録商標)AVBネットワークへ通信することの一環として、前記SRPスタックモジュールを用いてトーカ広告(「TA」)属性を登録するように更に構成されている、請求項1に記載のトーカデバイス。
【請求項3】
前記状態マシンモジュールは、前記SRPスタックモジュールへクエリを発行するように更に構成されており、前記SRPスタックモジュールへ発行された前記クエリが、前記データストリームに関連付けられるストリームIDを示す、請求項1または2に記載のトーカデバイス。
【請求項4】
前記状態マシンモジュールは、前記リスナデバイスの前記データストリームを受容する能力を決定することの一環として、前記SRPスタックモジュールからリスナレディ事象を受信するように更に構成されている、請求項1〜3のいずれか一項に記載のトーカデバイス。
【請求項5】
前記状態マシンモジュールは、前記データストリームを決定するためにコントローラから前記FBlockコントロールメッセージを受信するように更に構成されている、請求項1〜4のいずれか一項に記載のトーカデバイス。
【請求項6】
前記FBlockインターフェースモジュールは、前記トーカデバイスが前記データストリームを作成することが可能であることを示す成功メッセージを前記コントローラへ送信するように更に構成されており、前記コントローラへの前記成功メッセージが前記データストリームのストリームIDを含む、請求項5に記載のトーカデバイス。
【請求項7】
前記状態マシンモジュールは、前記リスナデバイスとの前記データストリームの通信のための前記イーサネット(登録商標)AVBネットワークを介した前記接続の成立に応答して、前記データストリームの通信を開始するためにオーディオ/ビデオトランスポートプロトコル(「AVTP」)エンジンを始動させるように構成されている、請求項1〜6のいずれか一項に記載のトーカデバイス。
【請求項8】
前記リスナデバイスが第1のリスナデバイスを含み、前記状態マシンモジュールが前記SRPスタックモジュールを使用して第2のリスナデバイスの前記データストリームを受容する能力を決定するように更に構成されている、請求項1〜7のいずれか一項に記載のトーカデバイス。
【請求項9】
前記FBlockコントロールメッセージは、第1のFBlockコントロールメッセージを含み、前記FBlockインターフェースモジュールは、前記データストリームの通信のための前記イーサネット(登録商標)AVBネットワークを介した前記接続を削除することを決定し、第2のFBlockコントロールメッセージを前記状態マシンモジュールへ通信するように更に構成されており、前記第2のFBlockコントロールメッセージは、前記接続を削除するように前記状態マシンモジュールに示す、請求項1〜8のいずれか一項に記載のトーカデバイス。
【請求項10】
前記状態マシンモジュールは、前記データストリームを削除するための前記第2のFBlockコントロールメッセージの受信に応答して、
オーディオ/ビデオトランスポートプロトコル(「AVTP」)エンジンを停止させることと、
トーカ広告属性の登録を解除することと
を実行するように構成されている、請求項9に記載のトーカデバイス。
【請求項11】
イーサネット(登録商標)オーディオビデオブリッジング(「AVB」)ネットワークを介したトーカデバイスとリスナデバイスとの間の接続を成立させるために少なくとも一つの状態マシンモジュールを動作させるコンピュータ実装方法であって、前記少なくとも一つの状態マシンモジュールが、メモリに記憶されるとともに少なくとも一つのプロセッサによって実行可能なディジタルロジックを含み、
前記コンピュータ実装方法が、
前記少なくとも一つのプロセッサによって実行される前記少なくとも一つの状態マシンモジュールを用いて、FBlockインターフェースモジュールから、データストリームの通信のためのFBlockコントロールメッセージを受信することであって、前記FBlockコントロールメッセージは、前記イーサネット(登録商標)AVBネットワークを介した前記データストリームのための接続を成立させるように前記少なくとも一つの状態マシンモジュールに示す、ことと、
前記FBlockコントロールメッセージを受信したことに応答して、ストリーム予約プロトコル(「SRP」)スタックモジュールを使用して前記少なくとも一つのプロセッサによって実行されている前記少なくとも一つの状態マシンモジュールを用いて、前記イーサネット(登録商標)AVBネットワークを介して第1のSRPメッセージを通信することであって、前記第1のSRPメッセージは、前記トーカデバイスが前記データストリームを通信することを望むことを示す、ことと、
前記SRPスタックモジュールを使用して前記少なくとも一つのプロセッサによって実行されている前記少なくとも一つの状態マシンモジュールを用いて、第2のSRPメッセージを受信することであって、前記第2のSRPメッセージは、前記リスナデバイスの前記データストリームを受容する能力を示す、ことと、
前記少なくとも一つのプロセッサによって実行されている前記少なくとも一つの状態マシンモジュールを用いて、前記第2のSRPメッセージを受信したことに応答して、前記トーカデバイスと前記リスナデバイスとの間での前記データストリームの通信のためのSRPに従った前記イーサネット(登録商標)AVBネットワークを介した前記接続を成立させることと
を含む、コンピュータ実装方法。
【請求項12】
前記少なくとも一つのプロセッサによって実行されている前記少なくとも一つの状態マシンモジュールを用いて、前記SRPスタックモジュールへクエリを発行することを更に含み、
前記SRPスタックモジュールへ発行された前記クエリが、前記データストリームに関連付けられるストリームIDを示す、請求項11に記載のコンピュータ実装方法。
【請求項13】
前記イーサネット(登録商標)AVBネットワークを介した前記接続を成立させたことに応答して、前記データストリームのストリーミングを開始するためにオーディオ/ビデオトランスポートプロトコル(「AVTP」)エンジンを始動させることを更に含む、請求項11または12に記載のコンピュータ実装方法。
【請求項14】
前記リスナデバイスが第1のリスナデバイスを含み、前記コンピュータ実装方法は、前記SRPスタックモジュールを使用して前記少なくとも一つのプロセッサによって実行されている前記少なくとも一つの状態マシンモジュールを用いて、第3のSRPメッセージを受信することを更に含み、前記第3のSRPメッセージは、前記SRPスタックモジュールから受信され、かつ、前記第1のリスナデバイスは前記データストリームを受容可能であるが第2のリスナデバイスは前記データストリームを受容不可能であることを示す、請求項11、12または13のいずれかに記載のコンピュータ実装方法。
【請求項15】
前記FBlockコントロールメッセージに応答して、
前記少なくとも一つのプロセッサによって実行されている前記少なくとも一つの状態マシンモジュールを用いて、オーディオ/ビデオトランスポートプロトコル(「AVTP」)エンジンを停止することと、
前記SRPスタックモジュールを使用して前記少なくとも一つのプロセッサによって実行されている前記少なくとも一つの状態マシンモジュールを用いて、トーカ広告属性の登録を解除すること
を更に含む、請求項11に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、イーサネット(登録商標)オーディオ‐ビデオブリッジング(「AVB」)ネットワークに係り、より詳細には、上位アプリケーション層インターフェースを介して送信されるコントロールメッセージに基づいてAVBネットワーク上でデータストリームを管理することに関する。
【背景技術】
【0002】
オーディオ/ビデオ(「A/V」)データは一エンドポイントから他のエンドポイントまでのネットワークシステムにおいて送信される。A/Vデータが送信される前に、コントロール信号は、A/Vデータが一つのエンドポイントから他のエンドポイントへ移動する経路を成立させるためにネットワークを介して送信される。同様に、コントロール信号はエンドポイント間の経路を削除するために使用される。
【発明の概要】
【課題を解決するための手段】
【0003】
トーカ、リスナ、およびコントローラを含むシステムは、イーサネット(登録商標)オーディオ/ビデオブリッジング(AVB)ネットワーク上で相互に通信する。コントローラはトーカとリスナとの間の一以上のデータストリームの流れを管理するように構成されている。データストリームの流れを管理するために、コントローラはトーカおよび/またはリスナへコントロールメッセージを伝える。一つの例示的なシステムにおいて、コントロールメッセージは、Media Oriented Systems Transport(MOST:車載通信)規格に基づいて使用されるファンクションブロック(FBlock)コントロールメッセージである。コントロールメッセージは、トーカ(話し手)および/またはリスナ(聞き手)の一以上のアプリケーション層インターフェースモジュールを介して伝達される。コントロールメッセージを受信すると、アプリケーション層インターフェースモジュールは、ストリーム予約プロトコル(SRP)に基づいて記載されまたは使用される一以上のファンクションを使用して、AVBネットワーク上でデータストリームの流れを管理するように構成されている。これらのファンクションを使用するために、アプリケーション層インターフェースモジュールは、一以上の状態マシンモジュールおよび/または一以上のSRPスタックモジュールと相互に通信する。
【0004】
コントローラは、トーカとリスナへ、データストリームを作成するかおよび/またはデータストリームとの接続を切断するために一以上のコントロールメッセージを送信することによってデータストリームの流れを管理する。トーカがデータストリームを作成するためのコントロールメッセージを受信すると、トーカはこのメッセージを状態マシンモジュールへ送信する。状態マシンモジュールは、SRPプロトコルスタックモジュールを用いて一以上の属性を登録するように構成されており、データストリームの情報をリスナに伝えるためにリスナにおいて一以上の事象がトリガされる。トーカは、アプリケーション層インターフェースモジュールを介して、コントローラへ、トーカがデータストリームを作成することが可能か否かを示す状態メッセージを送信するように構成される。
【0005】
成功(Success)メッセージを受信すると、コントローラは、データストリームに接続するために接続メッセージをリスナへ送信するように構成される。リスナは、リスナのアプリケーション層インターフェースモジュールを介して、接続メッセージを受信する。アプリケーション層インターフェースモジュールは、状態マシンモジュールに接続メッセージを伝える。接続メッセージを受信しかつトーカによってトリガされた一以上の事象を判定した時点で、状態マシンモジュールは一以上のファンクションを実行してリスナがデータストリームへ接続可能であるか、および/または、データストリームへの接続を成立させることが可能であるかを判定する。状態マシンモジュールはまた、SRPプロトコルスタックモジュールを用いて一以上の属性を登録するように構成され、すなわち、トーカにおいて一以上の事象をトリガし、トーカにリスナがデータストリームへ接続する能力について通知する。リスナはまた、リスナのアプリケーション層インターフェースモジュールを介して、コントローラへリスナがデータストリームに接続可能であるかどうかを示す状態メッセージを送信する。リスナの登録によってトリガされた一以上のリスナ事象を判定する際、トーカの状態マシンモジュールは、リスナとの接続を成立させかつデータストリームをリスナへ送信するためのファンクションを実行する。
【0006】
コントローラはまた、データストリームとの接続を切断するためにトーカとリスナにコントロールメッセージを送信するように構成される。コントローラは、リスナのアプリケーション層インターフェースを介してリスナに切断メッセージを送信するように構成される。切断メッセージを受信すると、リスナの状態マシンモジュールは、SRPスタックモジュールを用いて一以上のリスナ属性の登録の解除を含む、データストリームからの切断のための一以上のファンクションを実行するように構成される。リスナは、アプリケーション層インターフェースを介して、リスナがデータストリームとの接続を切断することが可能かどうかを示す状態メッセージをコントローラへ送信するように構成される。リスナからの状態メッセージを受信すると、コントローラは、トーカのアプリケーションインターフェースを介して、トーカへデータストリームを削除するためのメッセージを送信するように構成される。メッセージを受信すると、トーカの状態マシンモジュールは、SRPスタックモジュールを用いて一以上のトーカ属性の登録を解除することを含む、データストリームを削除するための一以上のファンクションを実行するように構成される。トーカは、アプリケーション層インターフェースを介して、コントローラへ、トーカがデータストリームを削除することができたかを示す状態メッセージを送信するように構成される。
【0007】
以下の図面および発明の詳細な説明を参照することにより、他のシステム、方法、特徴および利点の存在が当業者にとって明らかになる。全てのこのような更にシステム、方法、特徴、および利点が本明細書の記載に網羅され、本発明の範囲を逸脱しない限り、以下の特許請求の範囲によって保護されることが意図される。
本発明は、例えば、以下を提供する。
(項目1)
イーサネット(登録商標)オーディオビデオブリッジング(「AVB」)ネットワークを介してデータストリームの接続を成立させるように構成されているトーカデバイスであって、
アプリケーション層インターフェースモジュールと、
前記アプリケーション層インターフェースモジュールと通信状態にある状態マシンモジュールと、
前記アプリケーション層インターフェースモジュールと前記状態マシンモジュールと通信状態にあるストリーム予約プロトコル(「SRP」)スタックモジュールと、
を含み、
前記アプリケーション層インターフェースモジュールが、
前記データストリームを作成するためのメッセージを判定し、
前記メッセージを前記状態マシンモジュールへ伝える
ように構成されており、
前記状態マシンモジュールが、
前記メッセージを受信し、
前記メッセージの受信に応答して、前記トーカデバイスが前記データストリームを作成することが可能であることを、前記SRPスタックモジュールを使用して、前記AVBネットワークへ伝達し、
前記SRPスタックモジュールを用いて、リスナデバイスが前記データストリームを受容できる能力を判定し、
前記リスナデバイスの前記データストリームを受容する能力の判定に基づいて、前記データストリームの前記リスナデバイスとの接続を成立させる、
ように構成されている、
ことよりなる、トーカデバイス。
(項目2)
前記アプリケーション層インターフェースモジュールがファンクションブロック(「FBlock」)インターフェースを含む項目1に記載のトーカデバイス。
(項目3)
前記状態マシンモジュールは、前記SRPスタックモジュールを使用して、前記トーカデバイスが前記データストリームを作成することが可能であることを前記AVBネットワークへ伝えることの一環として、前記SRPプロトコルスタックモジュールを用いてトーカ広告(「TA」)属性を登録するように更に構成されている項目1または2に記載のトーカデバイス。
(項目4)
前記状態マシンモジュールは前記SRPスタックモジュールへクエリを発行するように更に構成されており、前記SRPスタックモジュールへ発行された前記クエリが前記ストリームに関連付けられるストリームIDを指示する、項目1〜3のいずれか一項に記載のトーカデバイス。
(項目5)
前記状態マシンモジュールは、前記リスナデバイスが前記データストリームを受容できる能力を判定することの一環として、前記SRPスタックモジュールからリスナレディ事象を受信するように更に構成されている項目1〜4のいずれか一項に記載のトーカデバイス。
(項目6)
前記状態マシンモジュールは、前記データストリームを作成するために前記メッセージを判定することの一環として、コントローラから前記メッセージを受信するように更に構成されている項目1〜5のいずれか一項に記載のトーカデバイス。
(項目7)
前記アプリケーション層インターフェースは、前記トーカデバイスが前記データストリームを作成することが可能であることを示す成功メッセージを前記コントローラへ送信するように更に構成されており、前記コントローラへの前記成功メッセージが前記ストリームのストリームIDを含む、項目6に記載のトーカデバイス。
(項目8)
前記状態マシンモジュールは、前記データストリームの前記リスナデバイスとの接続を成立させることの一環として、前記データストリームのストリーミングを開始するためにオーディオ/ビデオトランスポートプロトコル(AVTP)エンジンを始動させるように構成されている、項目1〜7のいずれか一項に記載のトーカデバイス。
(項目9)
前記リスナデバイスが第1のリスナデバイスを含み、前記状態マシンモジュールが前記SRPスタックモジュールを使用して第2のリスナデバイスが前記データストリームを受容できる能力を判定するように更に構成されている、項目1〜8のいずれか一項に記載のトーカデバイス。
(項目10)
前記アプリケーション層インターフェースは、前記データストリームを削除するためにメッセージを判定し、前記メッセージを前記状態マシンモジュールへ伝えるように更に構成されている、項目1〜9のいずれか一項に記載のトーカデバイス。
(項目11)
前記状態マシンモジュールは、前記データストリームを削除するための前記メッセージの受信に応答して、オーディオ/ビデオトランスポートプロトコル(AVTP)エンジンを停止させ、トーカ広告属性の登録を解除するように、構成されている、項目10に記載のトーカデバイス。
(項目12)
イーサネット(登録商標)オーディオビデオブリッジング(「AVB」)ネットワークを介して相互に通信するトーカデバイスとリスナデバイスとの間でデータストリームの接続を成立させるために少なくとも一つの状態マシンモジュールを動作させるコンピュータ実装方法であって、前記少なくとも一つの状態マシンモジュールが、メモリに記憶されるとともに少なくとも一つのプロセッサによって実行可能なデジタルロジックを含み、
前記方法が、
アプリケーション層インターフェースから、前記データストリームを作成するための第1のメッセージを受信するステップと、
前記AVBネットワークを介して伝搬させるようにストリーム予約プロトコル(「SRP」)スタックモジュールへ前記トーカデバイスが前記データストリームを作成することが可能であることを示す第2のメッセージを伝えるステップと、
前記SRPスタックモジュールから、前記リスナデバイスが前記データストリームを受容する能力を示す第3のメッセージを受信するステップと、
前記リスナデバイスが前記データストリームを受容する能力の判定に基づいて前記トーカデバイスと前記リスナデバイスとの間で前記データストリームの接続を成立させるステップと、
を含む、コンピュータ実装方法。
(項目13)
前記アプリケーション層インターフェースがファンクションブロック(「FBlock」)インターフェースを含む項目12に記載のコンピュータ実装方法。
(項目14)
前記トーカデバイスが前記データストリームを作成することが可能であることを示す前記第2のメッセージを前記SRPスタックモジュールへ伝えるステップが前記SRPプロトコルスタックモジュールを用いてトーカ広告(「TA」)属性を登録するステップを含む、項目12または13に記載のコンピュータ実装方法。
(項目15)
前記SRPスタックモジュールへクエリを発行するステップを更に含み、前記SRPスタックモジュールへ発行された前記クエリは前記ストリームに関連付けられたストリームIDを示す、項目12〜14のいずれか一項に記載のコンピュータ実装方法。
(項目16)
前記データストリームの前記リスナデバイスへの接続を成立させるステップが前記データストリームのストリーミングを開始するためにオーディオ/ビデオトランスポートプロトコル(AVTP)エンジンを始動させるステップを含む項目12〜15のいずれか一項に記載のコンピュータ実装方法。
(項目17)
前記リスナデバイスが第1のリスナデバイスを含み、前記第1のリスナは前記データストリームを受容可能であるが第2のリスナは前記データストリームを受容不可能であることを示す第4のメッセージを前記SRPスタックモジュールから受信するステップを更に含む、項目12〜16のいずれか一項に記載のコンピュータ実装方法。
(項目18)
前記データストリームを削除するための第5のメッセージを前記アプリケーション層インターフェースから受信するステップを更に含む項目12〜17のいずれか一項に記載のコンピュータ実装方法。
(項目19)
前記データストリームを削除するための前記第5のメッセージの受信に応答して、オーディオ/ビデオトランスポートプロトコル(AVTP)エンジンを停止するステップと、トーカ広告属性の登録を解除するステップと、を更に含む項目18に記載のコンピュータ実装方法。
(項目20)
イーサネット(登録商標)オーディオビデオブリッジング(「AVB」)ネットワークと通信状態にあるトーカデバイスとリスナデバイスとの間でデータストリームの接続を成立させるために少なくとも一つの状態マシンモジュールを動作させるコンピュータ実装方法であって、
前記少なくとも一つの状態マシンモジュールが、メモリに記憶されるとともに少なくとも一つのプロセッサによって実行可能なデジタルロジックを含み、
前記方法が、
アプリケーション層インターフェースモジュールから、前記データストリームに接続するためのメッセージを受信するステップと、
前記AVBネットワーク介して伝搬させるようにストリーム予約プロトコル(「SRP」)スタックモジュールへ前記リスナデバイスが前記データストリームに接続可能であることを示すメッセージを伝えるステップと、
前記SRPスタックモジュールから、前記リスナデバイスが前記データストリームを受容できる能力を示すメッセージを受信するステップと、
前記リスナデバイスの前記データストリーム受容能力を判定するステップに基づいて、前記トーカデバイスと前記リスナデバイスとの間で前記データストリームの接続を成立させるステップと、
を含む、コンピュータ実装方法。
(項目21)
前記トーカデバイスが前記データストリームを作成することが可能であることを示すメッセージを受信するステップと、前記メッセージの受信に応答してオーディオ/ビデオトランスポートプロトコル(AVTP)を始動させるステップと、を更に含む項目20に記載のコンピュータ実装方法。
(項目22)
前記データストリームから接続を切断するためのメッセージを受信するステップを更に含む項目20または21に記載のコンピュータ実装方法。
(項目23)
前記メッセージの受信に応答して、オーディオ/ビデオトランスポートプロトコル(AVTP)を停止させるステップと、リスナレディ属性の登録を解除するステップと、を更に含む項目22に記載のコンピュータ実装方法。
(項目24)
イーサネット(登録商標)AVBネットワークを介して通信状態にあるとともに前記イーサネット(登録商標)AVBネットワーク上でデータストリームを広告するように構成されているトーカを含む、ネットワーク通信システムであって、
前記トーカが、
アプリケーション層インターフェースモジュールを介して、コントローラから、前記AVBネットワーク上でデータストリームを作成するためのメッセージを受信し、
ストリーム予約プロトコル(「SRP」)スタックモジュールを使用してトーカ広告属性を登録し、
前記アプリケーション層インターフェースモジュールを介して、前記コントローラによって受信される、前記トーカが前記データストリームを作成することが可能であることを示す第1のメッセージを送信し、
前記SPRスタックから、前記AVBネットワークのリスナが前記ストリームを受容することが可能である指示を受信し、
前記指示の受信に基づいて前記リスナとの接続を成立させるように更に構成されている
ことよりなる、ネットワーク通信システム。
(項目25)
前記リスナが、
アプリケーション層インターフェースを介して、前記コントローラから、前記データストリームに接続するためのメッセージを受信し、
前記SRPスタックを介して、前記トーカがデータストリームを作成することが可能であることを示すメッセージを受信し、
前記SRPスタックを使用してリスナレディ属性を登録する
ように構成されている、項目24に記載のネットワーク通信システム。
(項目26)
イーサネット(登録商標)オーディオビデオブリッジング(「AVB」)ネットワークにおいてトーカデバイスとリスナデバイスとの間でデータストリームの接続を成立させるために少なくとも一つの状態マシンモジュールを動作させるためのコンピュータ実行可能コードを有形に具体化するコンピュータ可読媒体を有するコンピュータプログラムプロダクトであって、
アプリケーション層インターフェースモジュールから前記データストリームを作成することを示す第1のメッセージを受信するためのコードと、
前記AVBネットワーク上で前記トーカデバイスが前記データストリームを作成することが可能であることを示すメッセージを伝搬させるようにストリーム予約プロトコル(「SRP」)スタックモジュールへ命令を伝えるためのコードと、
前記SPRスタックモジュールから、前記リスナデバイスが前記データストリームを受容することができる能力を示す第2のメッセージを受信するためのコードと、
前記リスナデバイスが、前記データストリームを受容することができる能力の判定に基づいて、前記トーカデバイスと前記リスナデバイスとの間で前記データストリームの接続を成立させるコードと、
を含む、コンピュータプログラムプロダクト。
(項目27)
前記SRPスタックモジュールへクエリを発行するためのコードであって、前記SRPスタックモジュールへ発行された前記クエリが前記ストリームに関連付けられるストリームIDを示すコードを更に含む項目26に記載のプロダクト。
(項目28)
前記SRPスタックモジュールから前記リスナデバイスが前記データストリームを受容することができる能力を示す前記第2のメッセージを受信するための前記コードが、前記SRPスタックモジュールからリスナレディ事象を受信するためのコードを含む、項目26または27に記載のプロダクト。
(項目29)
前記データストリームの前記リスナデバイスとの前記接続を成立させるための前記コードが、前記データストリームのストリーミングを開始するためにオーディオ/ビデオトランスポートプロトコル(AVTP)エンジンを始動させるためのコードを含む、項目26〜28のいずれか一項に記載のプロダクト。
(項目30)
前記アプリケーション層インターフェースモジュールから前記データストリームを削除することを示す第3のメッセージを受信するためのコードを更に含む項目26〜29のいずれか一項に記載のプロダクト。
(項目31)
前記データストリームを削除するための前記第3のメッセージに応答して、オーディオ/ビデオトランスポートプロトコル(AVTP)エンジンを停止するためのコードと、トーカ広告属性の登録を解除するためのコードと、を更に含む項目30に記載のプロダクト。
【0008】
このシステムは以下の図面およびその簡単な説明を参照することによってより良く理解されよう。図中の構成要素は、必ずしも縮尺されておらず、本発明の原理を例示的に示すために強調して提供した。更に、図中、様々な図面を通して、同様の参照番号を同様の構成部品に付した。
【図面の簡単な説明】
【0009】
図1】例示的なネットワーク通信システムを示すブロック図である。
図2】クライアント、コントローラ、トーカおよびリスナの一以上のコンポーネントを示す例示的なネットワーク通信システムを示すブロック図である。
図3】イーサネット(登録商標)AVBネットワーク上のトーカとリスナとの間のデータストリームを作成するためにコントローラが実行する例示的な方法を示す流れ図である。
図4】イーサネット(登録商標)AVBネットワーク上でトーカと一以上のリスナとの間のデータストリームを削除するためにコントローラが実行する流れ図である。
図5】トーカとリスナがコントローラから受信した命令に基づいてトーカとリスナとの間のデータストリームを作成するために実行する方法を例示的に示す流れ図である。
図6図5の例示的な方法を詳細に示す流れ図である。
図7】トーカとリスナがコントローラから受信した命令に基づいてトーカとリスナとの間のデータストリームを削除するために実行する例示的な方法を示す流れ図である。
図8図7の例示的な方法を詳細に示す流れ図である。
図9】例示的なネットワーク通信システムを示すブロック図である。
図10】ネットワーク通信システム内の一以上のコンポーネントと共に使用する処理システムを例示する図である。
【発明を実施するための形態】
【0010】
ネットワークデバイス間の相互の接続能力に対する要求は急速に高まり続けている。数多くのシステムにおいて、夥しい数のネットワーク接続および/または通信能力を有するデバイスが製造されている。例えば、一部の自動車の場合、以前はその接続性が考えられなかったコンポーネントがその接続能力を確かなものとして製造されている。このような制動装置(ブレーキ)、スロットル、および/または様々な他の部品などのパーツは、イーサネット(登録商標)オーディオビデオブリッジング(Ethernet(登録商標) Audio−Video Bridging:「イーサネット(登録商標)AVB」)有効(イネーブルド)デバイスとして製造され、イーサネット(登録商標)AVBネットワークを介して相互通信する。一部のシステムでは、イーサネット(登録商標)AVBネットワークは、一以上のデバイスをワイヤレスにおよび/またはイーサネット(登録商標)ケーブルなどのワイヤラインを介して送信されるオーディオおよび/またはビデオデータストリームに接続するために使用される。
【0011】
他のシステムにおいて、これらのデバイスは、イーサネット(登録商標)ケーブル以外の光ファイバケーブルなどの媒体を使用してネットワーク上で互いに接続されおよび/または通信される。イーサネット(登録商標)ケーブル以外の媒体を使用するネットワークの一例としてMOST(Media Oriented Systems Transport:車載通信)ネットワークが挙げられる。MOSTネットワークに接続されたデバイスは、デバイス間でA/V(オーディオ/ビデオ)データを通信するための基礎となるトランスポート機構として時分割多重化を使用するMOST車載バス規格を使用して交信する。MOST車両規格を用いて通信するシステムにおいて、ネットワーク上へ送信されるA/Vデータのコントロールはファンクションブロック(「FBlock」)コントロール信号を用いて実行する。FBlockコントロール信号は、デバイスのアプリケーション層におけるMOSTネットワーク上のデバイスによって送信されおよび/または受信される。アプリケーション層においてデバイスはFBlockコントロール信号を送受信するためのインターフェースを有する。このインターフェースは「FBlockインターフェース」と呼ばれる。FBlockインターフェースは、デバイス内の同じまたは異なる層の他のアプリケーションおよび/またはモジュールと通信することにて、FBlockコントロール信号を送信し、受信し、および/または処理する。
【0012】
光ファイバケーブルを使用するMOSTネットワークは、イーサネット(登録商標)ケーブルを使用するイーサネット(登録商標)AVBネットワークに置き換えることができ、この際、基礎となるトランスポート機構は、時分割多重化ではなく優先付けされるパケット交換を含む。MOSTネットワークがイーサネット(登録商標)AVBネットワークで置き換えられる場合、A/Vデータの流れをコントロールするためには、やはり、FBlockコントロール信号を用いることが望ましい。
【0013】
図1は、A/V信号の流れをコントロールするために、FBlockコントロール信号などの上位アプリケーション層のコントロール信号を組み込み、含み、および/または使用するネットワーク通信システム100を例示している。システム100は、電子デバイス130、131、132、140、141、142、150、160、および190を含む複数の電子デバイスを含む。含まれる電子デバイスはこれより多くても少なくてもよい。各電子デバイス130、131、132、140、141、142、150、160、および/または190は一以上の役割を代行するように構成される。これらの役割には、トーカ(話し手)の役割、リスナ(聞き手)の役割、トーカ/リスナの役割、クライアントの役割、および/またはコントローラの役割が含まれるが、これ以外の役割が含まれてよい。トーカの役割は、ネットワーク110を介して情報および/またはデータを送信することである。これに代えまたはこれに加えて、トーカの役割は、情報および/またはデータを運ぶデータストリーム送信のための接続を成立させ、作成しおよび/または予約することである。これに代えまたはこれに加えて、トーカの役割は、接続を削除または切断することである。リスナの役割は、ネットワーク110を介して送信された情報および/またはデータを受信することである。これに代えまたはこれに加えて、リスナの役割は、データストリームに接続することおよび/または接続予約することである。これに代えまたはこれに加えて、リスナの役割は、データストリームから接続を削除することである。トーカ/リスナの役割は同時にまたは別の時間でトーカとリスナの両役割を実行することである。
【0014】
コントローラの役割は、トーカとリスナまたはトーカ/リスナ間でデータストリームの流れをコントロールすることである。コントローラは、トーカとリスナまたはトーカ/リスナ間でデータストリームの接続を作成および/または削除するためにトーカ、リスナおよび/またはトーカ/リスナへ一以上のメッセージを送信することによって、データストリームの流れをコントロールする。メッセージは、トーカ、リスナおよび/またはトーカ/リスナの上位アプリケーション層を介して、トーカ、リスナ、および/またはトーカ/リスナへ伝達される。これに代えまたはこれに加えて、コントローラの役割は、トーカのどのトーカが重要性および関連性が高いかおよび/またはリスナに使用されると予想されるかを識別および/または判定することである。クライアントの役割は、データストリームの接続の作成または接続の解除(削除)を示すユーザ入力などの入力を判定しこの入力をコントローラへ伝えることである。
【0015】
電子デバイス130、131、132、140、141、142、150、160、および/または190は、異なる状況や別の時間で異なる役割を果たすように構成される。例えば、ある状況において、電子デバイスの一つはトーカとして構成される。異なる状況下では、電子デバイスはリスナとして構成される。或いは、電子デバイス130、131、132、140、141、142、150、160、および/または190が果たすように構成される役割は固定することもできる。以下の説明において、システム100内の電子デバイス130、131、132、140、141、142、150、160、および/または190には前述した役割が指定される。他のシステムでは別の役割が指定される。システム100は、一以上のトーカ130、131、132、一以上のリスナ140、141、142、一以上のトーカ/リスナ150、一以上のクライアント160、および/または一以上のコントローラ190を含む。トーカ130、131、132、リスナ140、141、142、トーカ/リスナ150、クライアント160、およびコントローラ190を含むシステム100の各コンポーネントは、ネットワーク110上の他のコンポーネントの一以上と通信することもできる。
【0016】
トーカ130、131および132、リスナ140、141および142、トーカ/リスナ150、クライアント160、および/または、コントローラ190の一以上は、システム100の一部または全てのファンクショナリティを実装するために、ハードウェア、ソフトウェアおよび/またはハードウェアとソフトウェアとの組み合わせであるかまたはこれらを含む。トーカ130、131および132、リスナ140、141および142、トーカ/リスナ150、クライアント160、および/または、コントローラ190の一以上は、一以上の中央処理装置(CPU)などの一以上のプロセッサであるかまたはこれらを含むことができ、および/または、フィールドプログラマブルゲートアレイ(FPGA)のプロセッサなどの一以上のプロセッサと通信状態にあってよい。他の例において、含まれるコンポーネントはこれより多くても少なくてもよい。
【0017】
トーカ130、131および132、リスナ140、141および142、トーカ/リスナ150、および/または、コントローラ190の一以上は、ネットワーク110を介してまたはこれを用いて相互接続される。これに代えまたはこれに加えて、トーカ130、131および132、リスナ140、141および142、トーカ/リスナ150、および/または、コントローラ190の一以上は直接的に相互接続される。例えば、トーカ130、131および132、リスナ140、141および142、トーカ/リスナ150、および/または、コントローラ190の一以上は、イーサネット(登録商標)ケーブルなどのワイヤライン、および/または、ワイヤレスネットワークを使用して相互に接続される。様々な別の接続も使用できる。
【0018】
ネットワーク110は、イーサネット(登録商標)AVBネットワークであり、これを含み、および/または、これを介して、もしくはこれと通信する。ネットワーク110は、ネットワークを介して通信し、および/または、ネットワークに接続された一以上のデバイスと通信する一以上のブリッジを含む。一以上のブリッジは、IEEE(アイトリプルイー)によって指定されたイーサネット(登録商標)AVBプロトコルなどの様々なプロトコルを介してまたはこれらを用いてネットワーク110および/またはネットワークに接続されたデバイスと通信する。例えば、一以上のブリッジは、ネットワークタイミングおよび同期のためのIEEE802.1AS‐2001(gPTP)、ストリーミングデータをキューし転送するためのIEEE802.1Qav−2009、ネットワークにおけるデータストリーム帯域幅を予約するためのIEEE802.1Qat−2010(SRP)、および/または使用可能なデータストリーミングフォーマットに関係しているIEEE1722‐2011などのイーサネット(登録商標)AVBプロトコルを介してまたはこれを使用して、ネットワーク110および/またはネットワークに接続されたデバイスと通信する。様々な他のプロトコルを使用することもできる。これに代えまたはこれに加えて、ネットワーク110は、インターネット、ローカルエリアネットワーク(LAN)、キャンパスエリアネットワーク、メトロポリタンエリアネットワークなどの広域ネットワーク(WAN)、または、データ通信を可能にする任意の他のワイヤレスおよび/またはワイヤラインネットワークであり、これらを含み、および/または通信する。ネットワーク110は、サブネットワークに分割される。サブネットワークは、ネットワーク110に接続されたコンポーネントの全てへのアクセスを可能にし、または、サブネットワークはネットワーク110に接続されたコンポーネント同士の間の相互アクセスを制限する。ネットワーク110は、パブリックまたはプライベートなネットワークと見なされ、例えば、仮想プライベートネットワーク、暗号化、または、パブリックインターネット上で用いられる任意の他のセキュリティ機構などを含む。様々な他のタイプのネットワーク110が使用可能である。
【0019】
トーカ130、131および132、リスナ140、141および142、および/または、トーカ/リスナ150の一以上は、データ転送をサポートする任意の構成のネットワーク110に接続される。これは、ワイヤード(有線)またはワイヤレス(無線)であるネットワーク110へのデータ接続を含む。トーカ130、131および132、リスナ140、141および142、および/または、トーカ/リスナ150の一以上は、イーサネット(登録商標)AVBネットワークへのケーブルまたはワイヤレス接続を用いるなどのイーサネット(登録商標)接続を介してまたはイーサネット(登録商標)接続によって、イーサネット(登録商標)AVBネットワークに接続され、および/または、互いに接続される。様々な他の接続も使用可能である。
【0020】
システムは、一以上のトーカのシステムまたはトーカ130、131、および132を含む。小なる通信ネットワークでは、システムは、例えば、20以下のようなほんの小数のトーカを有するにすぎない。他の大なる通信システムでは、システムは、数百、数千、或いは何百万ものトーカを含む。様々な数のトーカが使用可能である。
【0021】
トーカ130、131、および132は、図10に示されかつ後述されるコンピュータシステム1000などのコンピュータシステムの特徴の一部または全てであるかまたはそうではなくまたはこれらを含む。トーカ130、131、および132はイーサネット(登録商標)AVB有効(イネーブルド)でありおよび/または互換性がある。トーカ130、131、および132は、一以上の規格またはプロトコルを使用して、イーサネット(登録商標)AVBネットワークを介しておよび/または同イーサネット(登録商標)AVBネットワークと通信するように構成され、適合され、動作可能とされ、および/またはイネーブル(有効)とされる。例えば、トーカ130とネットワーク110の間での通信に関連付けられたプロトコルは、IEEE(アイトリプルイー)802.lQat‐2010で指定されたストリーム予約プロトコルである。これに代えまたはこれに加えて、複数のMAC(マルチメディアアクセスコントロール)登録プロトコル(「MMRP」)、IEEE802.1AS‐2011(gPTP)、IEEE802.1Qav‐2009、および/またはIEEE1722‐2011などの様々な他のプロトコルを使用する。
【0022】
トーカ130、131、および132はネットワーク110を介して情報および/またはデータを送信するように構成され、適合され、動作可能とされ、および/またはイネーブル(有効)とされる。例えば、トーカ130、131、および132は、イーサネット(登録商標)AVBネットワークを介して、使用して、または、横切って、データ、コマンド、および/またはコマンド信号を含む情報のストリームを送信するように構成および/または適合される。イーサネット(登録商標)AVBネットワークなどのネットワーク110を介してトーカ130、131、および132によって送信された情報および/またはデータは、ネットワーク110に接続されたリスナ140、141、および142および/またはトーカ/リスナ150などの他のデバイスによって受信される。
【0023】
トーカ130、131、および132は、様々なファンクションを実行し、および/または、様々なコンポーネントに接続されるかまたはこれらを含む。例えば、トーカ130は、ネットワーク110、および楽器やマイクなどの入力装置に接続される。情報および/またはデータは、トーカ130やトーカ130に接続されたデバイスへ送信、受信、および/または、入力される。例えば、ユーザは、楽器を演奏したりトーカ130に接続されたマイクへ向かって歌ったりすることができ、楽器や歌および/または音声についての情報および/またはデータはトーカ130によって受信される。
【0024】
ネットワーク通信システムのトーカ130、131、および132は(マイク等)の物理デバイス自体でありまたそのように説明されるが、一部のシステムにおいて、トーカが、例えば、図10に示しかつ後述されるコンピュータシステム1000の特徴の一部または全部のように、(マイクなどの)トーカをコントロールするために使用されおよび/または動作することができる、コンピュータまたは他の電子コントロールデバイスを含むことが理解されよう。これらのシステムにおいて、コンピュータまたは他の電子コントローラデバイスは、AVB有効(イネーブルド)でありおよび/またはネットワーク110と直接的に通信することが可能である。更に、コンピュータまたは他の電子コントローラデバイスは、例えば、ワイヤードまたはワイヤレス接続によって、物理的デバイスおよび/または他のデバイスと様々なかたちで交信可能である。これに代わる様々なデバイスも使用可能である。
【0025】
トーカ130は、様々なかたちで受信した情報および/またはデータを処理する。例えば、トーカ130は、受信した音楽信号などの任意の信号をアナログ信号からデジタル信号へ変換する。他のシステムにおいて、コンピューティングデバイスは、受信した情報および/またはデータの処理を行い、処理された情報および/またはデータをトーカ130へ送信する。様々な他のプロセッシングファンクションはトーカ130および/またはトーカ130と通信状態にあるデバイスによって実行される。
【0026】
トーカ130は、処理された情報および/またはデータを、データストリームおよび/またはイーサネット(登録商標)AVB信号において、これと共に、および/または、これを使用して、ネットワーク110へ向けて、転送、送信、出力、および/または、広告する。例えば、トーカ130は、トーカ130に接続されたデバイスでユーザによって演奏(再生)される音楽に関連したデータを網羅するデータストリームを、イーサネット(登録商標)AVBネットワークへ向けて、広告する。ネットワーク110上でトーカ130によって広告された情報および/またはデータは、様々なリスナ140、141、および142および/またはトーカ/リスナ150などの他のデバイスによって受信される。様々な他のファンクションがトーカ130によって実行される。
【0027】
各トーカ130、131、および132は、一以上のトーカ属性を有する。トーカ属性は、トーカ130および/またはトーカ130によって広告されたデータストリームに関する特徴を指定し、含み、或いは、識別する。例えば、トーカ属性は、トーカ130がネットワーク上でマルチキャスト展開するオーディオ、ビデオ、および/またはコマンドデータストリームなどのデータストリームを有することを表示しおよび/または広告する。トーカ属性は、トーカ130によって広告されたデータストリームがネットワーク110を介して転送されるために必要とされる帯域幅のサイズを指定する。指定された帯域幅の量は、トーカ130とリスナ140の間の経路内スイッチごとに帯域幅の量を予約するだけの帯域幅の能力があるかを判定するためにネットワーク110内のブリッジおよび/またはスイッチによって使用される。一例において、属性において指定された帯域幅の情報をリスナが受信する前に、スイッチおよび/またはブリッジの一以上が帯域幅制約によって故障した場合、それを表示するので、リスナ140が帯域幅の量を気にかけないこともある。これに代えまたはこれに加えて、トーカ属性は、トーカ130から送信された情報および/またはデータがリスナ140に届くまでにかかる時間(レイテンシー(待ち時間)またはレイテンシー期間と呼ぶ)を指定する。これに代えまたはこれに加えて、トーカ属性は宛先アドレスを指定する。一例において、宛先アドレスは、リスナ140などの特定のリスナに一意のものではない。宛先アドレスは、例えば、リスナ140、141、142などの任意のリスナが、予約されかつ転送が開始されると、広告されているデータストリームを受信および/または処理することを可能にするマルチキャスト宛先であってよい。或いは、宛先アドレスが特定のリスナにとって一意である場合もある。
【0028】
これに代えまたはこれに加えて、トーカ属性は、トーカ130によって広告されたストリームに対して一意のストリーム識別子(「ID」)を指定する。トーカ属性は、様々な他の情報および/またはデータを指定し、含み、および/または識別する。一つのトーカ属性は、例えば、ダウンロードに必要される帯域幅に関する情報および/またはトーカの一意のストリームIDなどの複数の情報および/またはデータを含む。一部のシステムにおいて、各トーカ属性は唯一の情報および/またはデータに関係しており、各トーカ130、131、および132は複数のトーカ属性を有する。他のシステムにおいて、各トーカ130、131、および132は、トーカに関する複数の情報および/またはデータを指定する唯一のトーカ属性を有している。様々な組み合わせが使用可能である。
【0029】
トーカ属性はトーカ広告(TA)および/またはトーカ失敗(TF)を含む。上述したように、トーカ属性は、トーカ130が生成または生成したいとするストリームのためのストリームIDを指定する。ストリームIDは、一つのストリームにのみ割当てられる文字および/または数字の一意のシーケンスである。いくつかのシステムにおいて、二つのストリームが同じストリームIDを有することはない。その後、トーカ130の一意のストリームIDの割当ておよび/または識別はデバイスがそれ自体を添付したいとするストリームを識別するためにリスナ140などのデバイスによって使用される。例えば、リスナ140は、イーサネット(登録商標)AVBネットワーク上で、一意のストリームIDを含み、かつ、この一意のストリームIDの識別に基づいて、一意のストリームIDに関連付けられるストリームへ添付することをリクエストすることができる広告などのメッセージを受信する。ストリームIDの様々な他の用途に使用可能である。固有なストリームIDは64ビットのストリームIDであり、または、様々な他のストリームIDを使用してもよい。トーカ130は、例えば、製造者によってトーカ130が製造される時に、製造後、例えば、コントローラ190によってトーカ130がネットワーク110に接続される時に、および/または、様々な他の時期に、ストリームへ一意のストリームIDを割当てるように構成されている。
【0030】
一以上のトーカ属性は、トーカ130、131、および132、リスナ140、141、および142、トーカ/リスナ150、および/またはコントローラ190の一以上に記憶される。例えば、トーカ130の一意のストリームIDは、コントローラ190によって送信されおよび/または受信され、例えば、非SRPプロトコルを介して、これと共に、またはこれを使用して、トーカ130の一意のストリームIDを記録および/または記憶し、および/または、一以上のリスナ140、141および142へトーカ130の一意のストリームIDを転送する。トーカ属性の様々な他の用途およびファンクションが使用可能である。
【0031】
ストリーム広告は、ネットワーク110を介してパスされるトーカ131、132、130からの信号および/または他の転送であってよい。トーカ130によって送信されるストリーム広告は、トーカ130がネットワーク110上で、送信、マルチキャストおよび/または転送できる、できない、するかもしれない、または、しないかもしれないデータストリームを有することを示す。ストリーム広告は、トーカ広告(「TA」)またはトーカ失敗(「TF」)を含む。「TA」はトーカからのネットワーク経路に沿った任意の帯域幅または他のネットワーク上の制約に遭遇しなかったストリームのための広告である。「TF」はトーカからのネットワーク経路に沿ったどこかで帯域幅の制約や他の制限によってリスナが使用できなかったストリームのための広告である。トーカからリスナまでの経路に沿ってブリッジまたはスイッチの使用可能な帯域幅やリソースが不十分である場合、ブリッジやスイッチは、リスナへメッセージを転送する前に、TAメッセージをTFメッセージに変える。
【0032】
ストリーム広告(advertisement)は、トーカ130によって広告され、および/または、出力されるストリーム広告内に送信されるかおよび/または含まれる一以上のトーカ属性などのデータストリームについての詳細を含む。例えば、ストリーム広告はこのストリーム広告を用いてトーカ130によって広告されているデータストリームの一意のストリームIDを含む。トーカ130によって送信されたストリーム広告はネットワーク110を介してネットワークと通信状態にある一以上のデバイス(例えば、一以上のリスナ140、141、142)へ転送されるか、および/または、これらのデバイスによって受信される。一部のシステムにおいて、ストリーム広告はネットワーク110上の全てのデバイスへ送信される。
【0033】
一以上のリスナ140、141、142および/またはトーカ/リスナ150はストリーム広告を受信する。リスナの一つがTA(トーカ広告)によって広告されているデータストリームを受信したいとする場合、リスナは、ブリッジ、ネットワーク110、および/または、トーカ130、131、132へリスナレディ(リスナレディ:「LR」)信号を送信する。この信号はストリーム広告に含まれるストリームIDを介してデータストリームに添付するためのリクエストであってよい。AVBネットワーク110におけるイーサネット(登録商標)AVBブリッジまたはスイッチがリスナからLR信号を受信すると、ブリッジはLRをTAに整合させ、ストリーム広告によって参照されたデータストリームが、リクエスト中のリスナへ、送信されることを可能にする。一以上のリスナ140、141、142は、一つのストリームIDを介して、同一のデータストリームをリクエストおよび/または添付する。リスナ140、141、142の一つは、各リクエストされたデータストリームのストリームIDを介して、複数のデータストリームをリクエストおよび/または添付する。他の変形も実行可能である。
【0034】
一以上のストリーム広告が、ネットワーク110を介しておよび/または使用して、個別におよび/または単独で、送信されおよび/またはアクセスされる。一以上のストリーム広告が、リスナ140、141、142、トーカ/リスナ150 および/またはコントローラ190などのネットワーク110上の一以上の受信デバイスによって、送信され、アクセスされ、および/または、受信される。ストリームの広告および/またはトーカ属性の様々な他の用途およびファンクションが利用可能である。
【0035】
小なる通信ネットワークでは、システム100は、例えば、20以下のようなほんの小数のリスナを有するにすぎない。他の大なる通信システムでは、システム100は、数百、数千、或いは何百万ものリスナを含む。様々な数のリスナが使用可能である。
【0036】
リスナ140、141、および142は、図10に示されかつ後述されるコンピュータシステム1000などのコンピュータシステムの特徴の一部または全てであるかまたはそうではなくまたはこれらを含む。リスナ140、141、および142はイーサネット(登録商標)AVB有効(イネーブルド)でありおよび/または互換性がある。リスナ140、141、および142は、一以上の規格またはプロトコル、例えば、IEEE802.1AS‐2011(gPTP)、IEEE802.1Qav‐2009、IEEE802.lQat‐2010(SRP)および/またはIEEE1722‐2011において識別されるストリーム予約プロトコル、を使用して、イーサネット(登録商標)AVBネットワークを介して、および/または、同イーサネット(登録商標)AVBネットワークと通信するように構成され、適合され、動作可能とされ、および/またはイネーブル(有効)とされる。或いは、MMRP(マルチメディアアクセスコントロール(MAC)登録プロトコル)などの様々な他のプロトコルが使用される。
【0037】
リスナ140、141、および142は、ネットワーク110を介して、これを経由して、および/または、使用して、データを含む情報を受信するように、構成され、適合され、および/または、動作可能とされる。例えば、リスナ140は、イーサネット(登録商標)AVBネットワークなどのネットワーク110を介して渡されるデータストリームを受信するように構成され、および/または、適合される。リスナ140、141、および142によって受信される情報および/またはデータは、例えば、トーカ130、131、および132によって送信される情報および/またはデータであり、コントローラ190によって送信される情報および/またはデータであり、および/または、ネットワーク110を介しておよび/または使用して送信される様々な他の情報および/またはデータである。一部のシステムにおいて、リスナ140、141、および142は、トーカ130、131および132の一以上からのデータストリームを登録しおよび/または受信する。データストリームの登録および/または受信は、保証された帯域幅を有するリスナ140、141、および142によって受信される。様々な他の可能性が存在する。
【0038】
リスナ140、141、および142は、他の様々なファンクションを実行し、および/または、様々な他のコンポーネントを含むかまたはこれらに接続される。例えば、リスナ140は、ネットワーク110と、スピーカやTVモニタなどの出力デバイスと、に接続される。情報および/またはデータは、ネットワーク110を介してリスナ140によって収集および/または受信される。例えば、楽器で弾いた音符に関する情報および/またはデータは、トーカ130によってネットワーク110を介して送信され、リスナ140によって受信される。リスナ140は、ネットワーク110を介して受信した情報および/またはデータを処理する。リスナ140は、処理された情報および/またはデータをスピーカへ出力する。例えば、リスナ140は、イーサネット(登録商標)AVBネットワーク110を介して受信した信号に関連した情報および/またはデータをスピーカへ出力する。
【0039】
ネットワーク通信システムにおけるリスナ140、141、および142は、(スピーカなどの)物理的デバイス自体として説明されるが、一部のシステムにおいて、リスナは、図10に示しかつ後述されるコンピュータシステム1000の特徴の一部または全てなどの(スピーカなど)リスナをコントロールするために使用されおよび/または動作するコンピュータまたは他の電子コントローラであり或いはこれを含む。これらのシステムにおいて、コンピュータまたは他の電子コントローラは、AVB有効とされ、および/または、ネットワーク110と直接的に通信する。これらのシステムにおいて、コンピュータまたは他の電子コントローラは、標準的なワイヤードまたはワイヤレスの接続などの様々なやり方において物理的なデバイスおよび/または別なデバイスと通信する。様々な他の代替も可能である。
【0040】
各リスナ140、141、および142は一以上のリスナ属性を有する。リスナ属性は、例えば、リスナレディ属性、リスナ問合せ失敗属性、および/または、リスナレディ失敗属性である。これらの属性は、リスナが添付したいとするストリームIDなどの単一情報を含む場合もあれば含まない場合もある。
【0041】
一以上のリスナ属性は、ネットワーク110と共に、これを介して、および/または、これを使用して、送信される。一以上のリスナ属性は、トーカ130、131、および132、トーカ/リスナ150、および/または、コントローラ190などのネットワーク110上の一以上の受信デバイスへ送信され、これによってアクセスされ、および/またはこれによって受信される。一以上のリスナ属性は、トーカ130、131および132、リスナ140、141および142、トーカ/リスナ150、および/または、コントローラ190の一以上に記憶される。一以上のリスナ属性は、リスナにデータストリームおよび/またはトーカを接続するために使用される。リスナ属性の様々な他の用途およびファンクションが可能である。
【0042】
リスナ属性は、リスナ140について特徴を指定し、含み、および/または識別する。リスナ属性は、例えば、トーカまたはリスナ内でストリーム予約プロトコルスタックの外側で存在しおよび/または使用され、および/または、ネットワーク110上のデバイスにリスナの属性を知らせるために使用される。例えば、リスナ属性は、リスナ140がどのトーカに興味を示すかを特定する。リスナ属性は、例えば、ネットワーク110上の他のデバイスに対してリスナ140を一意に識別する、リスナ140に対する一意のリスナIDを指定する。リスナ属性は、リスナが使用可能な帯域幅、リスナ140が興味を示しており、および/または処理することが可能なタイプのデータストリームなどの一以上のリスナ140の能力を識別し、および/または、リスナ140の様々な能力を識別する。これに代えまたはこれに加えて、リスナ属性は、リスナ140についての様々な他の情報および/またはデータを指定する。一つのリスナ属性は、複数の情報および/またはデータを含む。いくつかのシステムにおいて、各リスナの属性は唯一の情報および/またはデータに関係しており、各リスナ140、141、および142は複数のリスナ属性を有する。他のシステムにおいて、各リスナ140、141、および142は、リスナについて複数の情報および/またはデータを特定する唯一のリスナ特性を有する。様々な組み合わせが実行可能である。
【0043】
トーカ/リスナ150は、ネットワーク110を介して情報および/またはデータを送受信できるように構成され、適合され、動作可能とされ、および/または、有効とされる。トーカ/リスナ150はトーカ130とリスナ140のケーパビリティおよびファンクションを含む。いくつかのシステムにおいて、ネットワーク110に接続された全てのデバイスはトーカ/リスナ150である。他のシステムにおいて、ネットワーク110に接続されたデバイスのいくつかがトーカ/リスナ150である、または、どれもがそうではない。以下の説明は、トーカ130とリスナ140に個別に言及しているが、いくつかのシステムでは、記載されているトーカ130、131、および132および/またはリスナ140、141、および142のファンクションおよび属性はトーカ/リスナ150によって達成することができることが理解されよう。様々な組み合わせが実行可能である。
【0044】
システムは一以上のコントローラ190を含む。コントローラ190は、図10に示しかつ後述されるコンピュータシステム1000などのコンピュータシステムの特徴の一部または全てであり、そうでない場合もあり、またはこれらを含むこともある。コントローラ190はイーサネット(登録商標)AVB有効でありおよび/または互換性がある。コントローラ190は、IEEE802.1Qで概説されているストリーム予約プロトコルなどの一以上の規格またはプロトコルに基づいて、これを介して、および/または、これらと共に、イーサネット(登録商標)AVBネットワークと通信するかおよび/またはこれを介して通信するように構成され、適合され、動作可能とされ、および/または、有効とされる。或いは、MMRPなどの様々な他のプロトコルが用いられる。
【0045】
コントローラ190はトーカ130、131、132、リスナ140、141、142、トーカ/リスナ150、およびクライアント160と直接的または間接的に通信するように構成されているアプリケーションレベルインターフェースであるかまたはこれを含む。コントローラ190は、トーカ130とリスナ140との間のように二つ以上のデバイス間のデータストリームの接続を管理および/またはコントロールするように構成される。コントローラ190はクライアント160と通信するように構成される。クライアント160は、二つのデバイス間のデータストリームを成立させるかおよび/または切断することを望むデバイスである。例えば、クライアント160はリモートコントロールである。リモートコントロールは、DVDを再生するために、コントローラ190に対して、デジタルバーサタイルディスク(DVD)プレーヤ、テレビジョン(TV)および/またはスピーカの間で相互接続を成立させるように命令する「再生(Play)」コマンドなどのコマンドを出すように構成される。図1において、コントローラ190は、直接、またはネットワーク110を介して、クライアントと通信する。コントローラ190、およびトーカ130、131、および132および/またはリスナ140、141、および142の間の様々な他の通信およびインタラクションが実行可能である。更に、トーカ130、リスナ140、およびリスナ/トーカ150が自動設定するようないくつかの実施例において、コントローラ190および/またはクライアント160は省略される。
【0046】
図2は、電子デバイス230、240、260、および290を含む複数の電子デバイスを含むシステム200を示すブロック図である。電子デバイス230、240、260、および/または290は、前述したように、トーカ(話し手)の役割、リスナ(聞き手)の役割、トーカ/リスナの役割、クライアントの役割、および/またはコントローラの役割などの一以上の役割を実行するように構成される。電子デバイス230、240、260、および/または290は異なる時機または異なる状況において、異なる役割を実行するように構成される。或いは、電子デバイス230、240、260、および290の役割は固定されてもよい。以下に説明されるシステム200において、システム100と同様に、電子デバイス230、240、260、および290は、トーカ230、リスナ240、クライアント260、およびコントローラ290として使用される。
【0047】
図2は、トーカ230は、リスナ240、クライアント260、およびコントローラ290のコンポーネントを示す図である。トーカ230、リスナ240、クライアント260、および/またはコントローラ290を含むシステム200および/またはシステム200のコンポーネントの特徴および/または動作は、図1に示したシステム100の一以上のトーカ130、131、および132、一以上のリスナ140、141、および142、一以上のトーカ/リスナ150、一以上のクライアント160、および/または一以上のコントローラ190に見られ、システム100の特徴はシステム200にも見られる。
【0048】
クライアント260は、コントローラ290からメッセージを送受信するように構成されている。例えば、クライアント260は、トーカ230とリスナ240との間で、AVBデータストリームなどのデータストリームの作成および/または削除をコントロールするようにコントローラ290へ命令を出すように構成される。他のメッセージは、アプリケーション層インターフェースのファンクションをクエリし、アプリケーション層インターフェースの通知マトリクス(行列)を管理し、この通知マトリクス内にクライアント260および/またはコントローラ290のエントリが存在するかをチェックし、メジャーバージョン、マイナーバージョン、およびビルド番号に分かれたアプリケーション層インターフェースのバージョンを記述し、および/または、全ての既存のAVB接続のアレイを生成するための命令を含むことができる。クライアント260は、クライアント260のアプリケーション層インターフェース262を介してメッセージを送信することによって命令を出す。例えば、アプリケーション層インターフェースはFBlockインターフェースである。コントローラ290は、コントローラ290がクライアント260から命令を受信するアプリケーションレベルインターフェース292を含む。
【0049】
トーカ230とリスナ240との間でデータストリームを作成する命令の受信に応答して、コントローラ290はこの命令をトーカ230および/またはリスナ240に適したコマンドへ変換するように構成されている。例えば、クライアントからの命令の受信に応答して、コントローラ290は、Allocate(割当て)メッセージと呼ばれるメッセージをトーカ230へ送信しトーカ230にデータストリームを設定するように命令するように構成されている。トーカ230へ送信されたコントローラ290からのメッセージは、コントローラ290のアプリケーション層インターフェース292から、トーカ230のアプリケーション層インターフェース232へ伝達される。割当てメッセージは、データストリームのソースを表示するSourceNr(ソースナンバー)パラメータを含む様々なパラメータを含む。トーカ230はストリーミングされる使用可能なソースリストを有する。このリストから特定のソースを選択することによって、トーカ230は選択したソースの帯域幅を割当てるように構成されている。一例として、トーカ230は、ステレオオーディオストリームと5.1サラウンド音声符号化ストリームをストリーミングするように構成される。ステレオオーディオストリームはソース1として指定され、5.1サラウンド音声符号化オーディオストリームはソース2として指定される。トーカ230がSourceNr1を選択した場合、トーカ230はステレオオーディオストリームに対して帯域幅を割当てる。トーカ230がSourceNr2を選択した場合、トーカ230は、5.1サラウンド音声符号化ストリームに対して帯域幅を割当てる。パラメータはまた、データストリームが送信される一以上の宛先アドレス、データストリームの提示遅延、データストリームのランク(例えば、第1のインジケータは緊急ランクを示し、第2のインジケータは非緊急ランクを示す)、データストリームに使用される仮想ローカルエリアネットワーク(VLAN)識別子、および/またはデータストリームのクラス(例えば、第1のインジケータはクラスAを示し、第2のインジケータはクラスBを示す)を含む。
【0050】
割当てメッセージの受信に応答して、トーカ230は、コントローラ290へ成功メッセージを提供することによってトーカ230がデータストリームをソーシングすることができる旨をコントローラ290へ応答するように構成されている。成功メッセージは、データソースの番号を表すSourceNr(ソースナンバー)パラメータと、トーカ230がソーシングするストリームを一意に識別するストリームIDと、を含む様々なパラメータを含む。トーカ230はまた、トーカ230がコントローラ290に失敗メッセージを提供することによって、データストリームを作成することができない旨をコントローラ290へ応答するように構成されている。失敗メッセージは、トーカ230がデータストリームを作成することができない理由に関するエラー情報を含む。トーカ230は、トーカ230のアプリケーション層インターフェース232、292およびコントローラ290のそれぞれを介して、これらのメッセージを伝えることによって、成功メッセージおよび/または失敗メッセージを伝える。
【0051】
更に、割当てメッセージの受信に応答して、トーカ230はトーカ230がデータストリームを供給していることをリスナ240に発表するためにトーカ広告(TA)属性を登録するように構成されている。一例において、トーカ230は、IEEE801.1Qat‐2010に記載されているように、ストリーム予約プロトコル(「SRP」)に基づいて、これを介して、および/または、これを使用して、発表するために、TA属性を登録するように構成されている。TAを登録するために、アプリケーション層インターフェース232上の割当てメッセージの受信に応答して、アプリケーション層インターフェース232はトーカSRPスタック234と通信する。図2に示すように、アプリケーション層インターフェース232は、トーカ状態マシン236を介して、トーカSRPスタック234と通信する。トーカ状態マシン236は、トーカ230が様々な状態の間を遷移するために使用する一以上のアルゴリズムを含む。トーカ状態マシン236はアプリケーション層インターフェース232および/またはトーカSRPスタック234と通信することで、一以上の入力または事象を受信し、受信した入力または事象、トーカ230の現在状態、および/または、状態マシン236によって判定されたトーカ状態マシン236に基づいて、一つの状態から他の状態へ遷移する。これに加えまたはこれに代えて、トーカ状態マシン236は、SRPスタック236を使用してネットワーク210全体にわたって伝播されるトーカ広告メッセージおよび/またはトーカ失敗メッセージなどの一以上のメッセージをSRPスタック236に提供するように構成される。いくつかの例において、トーカ状態マシン236を用いて実行される一以上のアクションはリスナ240でSRP事象をトリガする。一例において、実行されるアクションはデータベースの変更を含む。
【0052】
トーカ230のアプリケーション層インターフェース232がコントローラ290から割当てメッセージを受信すると、アプリケーション層インターフェース232は、トーカ状態マシン236へ割当てメッセージを伝える。割当てメッセージを受信すると、トーカ状態マシン236は、現在の状態を判定し、受信した割当てメッセージと現在状態に対応する一以上のアクションを実行する。一例において、現在の状態は初期状態を含む。初期状態において、トーカ状態マシン236は、データストリームを作成するための通知を受信していないか、または、リスナ240からデータストリームを作成するための登録の通知を待機している最中である。初期状態で割当てメッセージを受信する場合、トーカ状態マシン236は、トーカSRPスタック234と通信してクエリを発行するように構成される。トーカ状態マシン236がクエリを発行する場合、トーカ状態マシン236は、トーカ230が作成に興味を引かれているストリームのストリームIDをトーカSRPスタック234に通知する。クエリを発行しない場合、トーカ230は、ストリームIDに関連付けられるリスナレディ事象(「LR!」)を判定しない。クエリが発行された後、そのストリームIDに対してリスナ240によってSRPに登録されている任意のLRはトーカ230によって判定される。
【0053】
割当てメッセージを受信した後、トーカ状態マシン236はまた、TA(トーカ広告)属性を登録するように構成されている。一例では、トーカ230は、トーカ230がクエリを発行した後にTA属性を登録する。TA属性を登録することで、ネットワーク200にトーカ230がストリームを予約するために必要である帯域幅および/またはリソースを予約可能であることを発表する。トーカ230がTA属性を登録する際、SRPスタック236はリスナ240に登録およびTA属性が登録されているストリームについて通知する。例えば、トーカ230がTA属性を登録する際、TA事象(「TA!」)がリスナ240においてトリガされる。トーカ状態マシン236がTA属性を登録した後、トーカ状態マシン236は、初期状態から、待機状態へ遷移し、トーカ状態マシン236はLR事象などのリスナ登録によってトリガされる事象を待機する。更に、TA属性の登録の後、トーカ230は、トーカ230がデータストリームをソース(供給源)とすることが可能であることを示す成功メッセージをコントローラ290へ送信するように構成される。トーカ230は、トーカ状態マシン236が初期状態から待機状態へ遷移する際に、コントローラ290へ成功メッセージを送信するように構成される。また、トーカ230は、トーカ230のアプリケーション層インターフェース232を介して成功メッセージを送信することによって、コントローラへ成功メッセージを送信する。一例において、コントローラ290へ送信される成功メッセージ230にはトーカ230が予約したストリームのためのストリームIDが含まれる。
【0054】
トーカ230から成功メッセージを受信したことに応答して、コントローラ290は、トーカ230がソーシングするかまたはソーシングすると判定したストリームに接続するようにリスナ240に命令するメッセージをリスナ240へ送信するように構成される。コントローラ290からリスナ240へのメッセージは、Connect(接続)メッセージと称される。一例において、接続メッセージは、トーカ230の成功メッセージの中にトーカ230によってコントローラへ提供されたストリームIDを含む。一例において、コントローラ290は、コントローラ290のアプリケーション層インターフェース292からコントローラのアプリケーション層インターフェース242を介して、リスナ240へ接続メッセージを伝える。
【0055】
接続メッセージの受信に応答して、リスナ240は、リスナ240がデータストリームに接続可能であることをトーカ230に発表するためにリスナレディ(LR)属性を登録するように構成される。一例において、リスナ240は、IEEE801.1Qat‐2010に記載されているストリーム予約プロトコル(「SRP」)に基づいて、これによって、および/またはこれを使用して、この発表を行うために、LR属性を登録するように構成されている。アプリケーション層インターフェース242上の接続メッセージの受信に応答してLRを登録するために、アプリケーション層インターフェース242はリスナSRPスタック244と通信状態にある。図2に示すように、アプリケーション層インターフェース242は、リスナ状態マシン246を介して、リスナSRPスタック244と通信状態にある。リスナ状態マシン246は、リスナ240が様々な状態間を遷移するために使用する一以上のアルゴリズムを含む。リスナ状態マシン246は、アプリケーション層インターフェース242および/またはリスナSRPスタック244と通信状態にあり、一以上の入力または事象を受信し、受信した入力または事象、ならびに、リスナ240および/またはリスナ状態マシン246の現在状態に基づいて、一つの状態から別の状態へ遷移する。これに加えまたはこれに代えて、リスナ状態マシン246は、SRPスタック246を使用してネットワーク210全体にわたって伝搬される、LRメッセージ、リスナレディ失敗(「LRF」)メッセージ、および/またはリスナ問合せ失敗(「LAF」)メッセージなどの一以上のメッセージをSRPスタック246に提供するように構成される。いくつかの例において、リスナ状態マシン246を用いて実行される一以上のアクションは、トーカ230においてSRP事象をトリガする。一例において、実行される一以上のアクションはデータベースの変更を含む。
【0056】
リスナ240のアプリケーション層インターフェース242がコントローラ290からの接続メッセージを受信すると、アプリケーション層インターフェース242はリスナ状態マシン246へ接続メッセージを伝える。接続メッセージを受信すると、リスナ状態マシン246は、リスナ状態マシンの現在状態を判定し、受信した接続メッセージと現在状態に対応する一以上のアクションを実行する。一例において、現在状態は初期状態を含む。初期状態において、リスナ状態マシン246は、データストリームへ接続するための通知を受信していない状態またはトーカ230からデータストリームに接続するための登録通知を待機していない状態にある。初期状態での接続メッセージを受信すると、リスナ状態マシン246はリスナSRPスタック244と通信してクエリを発行するように設定される。クエリを発行することによって、リスナ状態マシン246は、リスナ240が登録の更新(変更)を受信することに興味を示すストリームIDをリスナSRPスタック244へ通知する。一例において、リスナ状態マシン246はクエリを発行する際に接続メッセージに含まれていたストリームIDを使用する。クエリを発行しなければ、リスナ240は、ストリームIDのためのTA(トーカ広告)事象を判定しない。クエリが発行された後、そのストリームIDに対してTA登録をするシステム200におけるリスナSRPスタック244、トーカSRPスタック234、または任意の他のSRPスタックに登録された任意のTAがリスナ240へ提供される。
【0057】
リスナ状態マシン246がクエリを発行した後、リスナ状態マシン246は初期状態から待機状態に遷移する、待機状態において、リスナ状態マシン246は、TA事象(「TA!」)などのトーカ登録によってトリガされる事象を待機する。例えば、トーカ230がTAを登録する場合、この登録はリスナ状態マシン246においてTA事象をトリガする。一例において、TA登録は、リスナ状態マシン246がリスナSRPスタック244へクエリを発行するまで、リスナ240においてTA事象をトリガしない。リスナ状態マシン246がリスナSRPスタック244からTAメッセージを判定する時、リスナ状態マシン246は一連のアクションを実行する。一つのアクションにおいて、リスナ状態マシン246はTAメッセージに受信された情報を処理する。TAメッセージを処理することはストリームの宛先アドレス(DA)を取得することを含み、これは、そのマルチキャストアドレスにアドレスされたフレームを受信するためにリスナ240のイーサネット(登録商標)アダプタをプログラミングするために必要とされる。
【0058】
別のアクションにおいて、リスナ状態マシン246は、リスナのオーディオ/ビデオトランスポートプロトコル(AVTP)エンジンを始動させる。AVTPエンジンを始動させない場合、メディアがネットワーク210上をストリーミングしリスナ240に配信されている場合でも、メディアの全てまたはほとんどがリスナによって認識されないし処理もされない。例えば、リスナ240がLR(リスナレディ)属性を登録した場合、この登録はトーカ状態マシン236においてLR事象をトリガし、トーカ230にデータストリームのストリーミングを開始させる。AVTPプロトコルエンジンを始動させない場合、リスナ240はストリームを認識しない。更に、イーサネット(登録商標)アダプタは、AVTPプロトコルの始動中にプログラミングされる。イーサネット(登録商標)アダプタをプログラミングするためにTA処理のアクション中に判定されたDAを使用することができる。AVTPエンジンを「始動させる」ことは、別個のモジュールを開始すること、および/または、既存モジュールの遂行をイネーブルとすることを含む。
【0059】
別のアクションにおいて、リスナ240はLR属性を登録するように構成される。リスナ240は、リスナ240が接続する可能性があり、予約しようとしている、または既にデータストリームに接続予約していることをネットワーク210および/またはトーカ230に発表するためにLR属性を登録する。LR属性の登録によってトーカ230においてLR事象(LR!)をトリガし、これに応答して、トーカ230は、ネットワーク210に対してデータストリームを送信するように構成される。上記に説明したように、リスナ240は、AVTPエンジンを始動した後で、LR事象を登録するように構成されており、これにより、リスナ240はトーカ230がLR事象を受信することによって送信することを判定したメディアストリームを認識する。
【0060】
リスナ240は、待機状態から監視状態へ遷移するように更に構成される。一例において、リスナ240は、LR属性を登録した後で待機状態から監視状態へ遷移するように構成される。ストリーミングメディア接続がトーカ230とリスナ240との間で成立された場合、監視状態はリスナ240の「正常動作」状態とみなされる。監視状態において、リスナ240は当該リスナ240が接続されているストリームおよび/または予約したストリームが正常終了または異常終了したことの表示を監視する。状態マシン246はストリームそれ自体、または、アプリケーション層インターフェース242、リスナSRPスタック244、および/または、ストリームの終了を監視しおよび/または検出するように構成されているリスナ240の他のコンポーネントまたはモジュールを介して受信されたメッセージを監視する。一例として、監視状態において、リスナ状態マシン246は、ストリームの予約の異常終了の表示である、トーカ失敗事象(「TF!」)を監視する。TF事象は、ストリームが使用していた帯域幅を占有する緊急度優先ストリームによって発行される。別の例として、監視状態において、リスナ状態マシン246はトーカ登録解除事象(「トーカ登録解除!」)のためのストリームを監視し、これは、トーカ230による予約の正常終了を示す。別の例として、リスナ状態マシン246は、切断事象(「切断せよ!」)を監視することができ、この事象は、コントローラ290から送られる、クライアント260および/またはコントローラ290がリスナ240にもはやストリームを聞いてほしくないことを示すメッセージまたはコマンドである。
【0061】
LR属性を登録した後、および、待機状態から監視状態の遷移の前、遷移中、または遷移の後、リスナ240は、コントローラ290へ、リスナ240がそのデータストリームに首尾よく接続しおよび/またはそれを予約したことを示す成功メッセージを送信するように構成される。リスナ240は、コントローラ290のアプリケーション層インターフェース292へ、リスナ240のアプリケーション層インターフェース242を介して成功メッセージを発行するように構成される。リスナ240からの成功メッセージの受信に応答して、コントローラ290はクライアント260へトーカ230およびリスナ240がデータストリームをストリーミングするための接続を成立することができたことの応答を提供するように構成される。
【0062】
一例において、リスナ240はまた、リスナ240がデータストリームに接続するおよび/またはデータストリーム予約を予約することが不可能であることを示しおよび/またはそのデータストリームに対するリスナの接続および/または予約が終了したことを示す失敗メッセージをコントローラ290へ発行するように構成される。リスナ240は、リスナ240のアプリケーション層インターフェース242を介して、このコントローラ290への失敗メッセージをコントローラ290のアプリケーション層インターフェース292へ送信するように構成される。失敗メッセージは、なぜリスナ240はそのデータストリームに接続できなかったか、予約できなかったか、または継続的にそのデータストリームに接続できないかまたは予約できないかに関連付けられた一以上のエラーに関係した情報を含む。リスナ240からの失敗メッセージの受信に応答して、コントローラ290は、トーカ230とリスナ240がデータストリームをストリーミングするための接続を成立させることができなかったことをクライアントへ示す応答をクライアント260へ提供するように構成される。
【0063】
リスナ240は、リスナ状態マシン246が、待機状態および/または監視状態に設定されている場合に失敗メッセージを送信するように構成されている。これに加えてまたはこれに代えて、リスナ240は、トーカ失敗事象に応答して、失敗メッセージを送信するように構成される。一例において、上述したように、トーカ失敗事象は、ストリームが既に使用していた帯域幅を占有する緊急度優先ストリームによってなどして、ストリームの予約の異常終了によってトリガされる。リスナ状態マシン246が待機状態で構成されている場合、トーカ失敗メッセージが受信された際、リスナ状態マシン246は、リスナ240がストリームに接続することができないまたはもはや接続予約することができないことを示すリスナ問合せ失敗(「LAF」)属性を登録するように構成される。リスナ状態マシン246は、なぜリスナ240がストリームに接続できないかまたはもはやストリームに接続予約ができないかを示す一以上のエラーをログ(記録)するように更に構成される。リスナ状態マシン246は待機状態におかれたままであるように更に構成される。LAF属性を登録しおよび/または一以上のエラーをログした後、リスナ240はコントローラ290に失敗メッセージを送信するように構成される。
【0064】
或いは、リスナ状態マシン246が監視状態にある場合、その後、トーカ失敗メッセージの受信に応答して、トーカ状態マシン246はデータストリームから接続を切断するためにAVTPエンジンを最初に停止するように構成される。AVTPエンジンを停止した後、次に、リスナ状態マシン246はLAF属性を登録し、かつ、TF事象を受信および/またはLAF属性の登録に関連付けられる一以上のエラーをログ(記録)するように構成される。リスナ状態マシン246はまた、監視状態から待機状態へ遷移するように構成される。LAF属性を登録しおよび/または一以上のエラーを記録した後、監視状態から待機状態への遷移の前、遷移中、または遷移後に、リスナ240はコントローラ290へ失敗メッセージを送信するように構成される。
【0065】
リスナ状態マシン246によってLR(リスナレディ)属性を登録した後、LR事象(「LR!」)がトリガされる。例えば、LR事象に関連付けられたLR信号は、リスナ240のリスナSRPスタック244および/またはトーカ230のトーカSRPスタック234を介して伝播され、トーカ状態マシン236によって受信される。トーカ状態マシン236がLR事象を受信する際、トーカ状態マシン236は待機状態にある。LR事象を受信すると、そして、待機状態において、トーカ状態マシン236は、トーカ230のAVTPエンジンを始動させるように構成される。トーカ状態マシンがAVTPエンジンを始動させる際、トーカ240はネットワーク210を介してデータストリームのストリーミングを開始し、トーカ230とリスナ240との間でデータストリームの接続が成立される。リスナ240は既にそれ自体のAVTPエンジンを始動させていたので、リスナ240はトーカ230から受信されているメディアストリームを認識することができる。
【0066】
トーカ230は、トーカ状態マシン236が待機状態以外の状態で構成されている場合でもLR事象を受信した時点でデータストリームのストリーミングを開始しリスナ240との接続を成立させるように構成される。例えば、トーカ230は、トーカ状態マシン236が失敗状態で構成されている場合であってもLR事象を受信した時点でリスナ240との接続を成立させるように構成される。失敗状態において、トーカ230は、LAF事象を受信するなどによって、リスナ240がデータストリームとの接続を予約できない旨の通知を受けていたので、トーカ230はトーカ240へデータストリームをストリーミングしない。LR事象を受信すると、リスナ240は、リスナ240がデータストリームに接続することができることをトーカ230に示す。LRメッセージを受信すると、トーカ状態マシン236はトーカ230がリスナ240との接続を成立させるためにAVTPエンジンを始動させ、レディ状態へ遷移し、この状態において、トーカ230はリスナ240がストリームに接続することができるという通知の下で動作する。
【0067】
上記の例において、トーカ状態マシン236は最初、失敗状態に設定される。トーカ状態マシン236は、トーカ230はリスナ240がストリームを受容できない旨の通知を受けたので、失敗状態に設定される。リスナ240がストリームを受容しないと判断すると、リスナ240はLAF属性を登録し、トーカ230においてLAF事象をトリガする。トーカ状態マシン236がLAF事象を受信した際、トーカ状態マシン236は準備完了(レディ)状態に設定される。LAF事象を受信すると、トーカ状態マシン236は、データストリームのストリーミングを停止するためにAVTPエンジンを停止するように構成される。トーカ状態マシン236はまた、LAF事象に関連付けられる一以上のエラーを記録するように構成される。更に、トーカ状態マシン236は、レディ状態から失敗状態へ遷移するように構成される。
【0068】
図1に示したシステム100のような一部のシステムにおいて、システム100のリスナ140、141、142などの複数のリスナが存在し得る。システムが複数のリスナを含む場合、レディ状態は全てのリスナがデータストリームを受容できることを示す。同様に、システムが複数のリスナを含む場合、失敗状態は、いずれのリスナもストリームを受容できないことを示す。システムが複数のリスナを含む場合、少なくとも一つのリスナがストリームを受容でき、更に、少なくとも一つのリスナがストリームを受容できないことを示す第3の状態がある。例えば、システム100において、リスナ140と141が各々、リスナ140、141がストリームを受容できることを示すLR属性を登録する場合、および、リスナ142がストリームを受容できないことを示すLAF属性を登録する場合、トーカ状態マシン236は第3の状態に設定されるように構成される。第3の状態はレディ/失敗状態と呼ばれる。少なくとも一つのLR属性と少なくとも一つのLAF属性の登録はリスナ失敗/レディ事象(「LRF!」)をトリガする。
【0069】
トーカ状態マシン236は、レディ/失敗状態に遷移するように構成される。トーカ状態マシン236がレディ/失敗状態に遷移する際、トーカ状態マシン236は、データストリーミングを開始し、および/または、少なくとも一つのリスナがストリームを受容可能であるので、データストリーミングを維持するように構成される。更に、レディ/失敗状態において、トーカ状態マシン236は、少なくとも一つのリスナがストリームを受容することができないので、一以上のエラーをログするように構成される。例えば、トーカ状態マシン236が待機状態にありかつレディ/失敗事象を受信する場合、トーカ状態マシン236はAVTPエンジンを始動させ、エラーをログし、次に待機状態からレディ/失敗状態へ遷移するように構成される。同様に、トーカ状態マシン236がレディ/失敗状態に設定され、LRF事象を受信する場合、状態マシン236はエラーをログし、レディ状態からレディ/失敗状態へ遷移するように構成される。同様に、トーカ状態マシン236が失敗状態に設定され、LRF事象を受信した場合、トーカ状態マシン236はAVTPエンジンを始動させ、エラーをログし、失敗状態からレディ/失敗状態へ遷移するように構成される。
【0070】
トーカ状態マシン236もレディ/失敗状態から遷移するように構成される。例えば、トーカ状態マシン236がLR事象を受信した際、トーカ状態マシン236はレディ/失敗状態からレディ状態へ遷移するように構成される。別の例として、トーカ状態マシン236がLAF事象を受信した際、トーカ状態マシン236は、AVTPエンジンを停止し、LAF事象に関連付けられた任意のエラーをログし、レディ/失敗状態からレディ状態へ遷移するように構成される。
【0071】
トーカ状態マシン236および/またはリスナ状態マシン246はまた、登録解除事象の受信に応答してそれらの各々の待機状態へ遷移するように構成される。トーカ状態マシン236は、リスナ登録解除(ListenerDeregister!)事象を受信する。リスナ登録解除事象は、リスナ状態マシン246が、例えば、LR属性の登録解除などの一以上の属性を登録解除することに応答して、トリガされる。リスナ状態マシン246は、データストリームへの接続の正常または自然終了に応答して属性の登録を解除する。例えば、正常または自然終了はストリームを変更するためのユーザ開始終了である。別の例としては、デバイスが節電スリープ状態に入るためのシステム開始終了が挙げられる。同様に、リスナ状態マシン246は、トーカ登録解除事象(TalkerDeregister!)を受信する。トーカ登録解除事象は、トーカ状態マシン236がTA属性の登録解除などの一以上の属性の登録を解除することに応答して、トリガされる。トーカ状態マシン236は、データストリーム供給の正常または自然終了に応答して、属性の登録を解除する。例えば、データストリームの供給の正常終了はストリームに対するコンパクトディスク(CD)オーディオソースの削除などのメディア変更によるユーザ開始終了である。
【0072】
リスナ状態マシン246は、リスナ状態マシン246が監視状態に設定されている場合、トーカ登録解除事象を受信するように構成される。リスナ状態マシン246がトーカ登録解除事象を受信した際、リスナ状態マシンはリスナ240のAVTPエンジンを停止するように構成される。リスナ状態マシン246はまた、LR属性などのリスナ属性を登録解除するように構成される。リスナ属性を登録解除することはトーカ状態マシン236でリスナ登録事象をトリガし、トーカ状態マシン236によってトーカ230のAVTPエンジンを停止させ、および/または、待機状態へ遷移させる。リスナ状態マシン246がリスナ属性を登録解除した後、リスナ状態マシンは監視状態から待機状態へ遷移するように構成される。
【0073】
トーカ状態マシン236は、トーカ状態マシン236がレディ状態、レディ/失敗状態、または失敗状態のいずれか一つに設定されている場合でも、リスナ登録解除事象を受信するように構成される。トーカ状態マシン236がレディ状態に設定され、かつ、トーカ状態マシン236がリスナ登録解除事象を受信した際、トーカ状態マシン236は、AVTPエンジンを停止させレディ状態から待機状態へ遷移するように構成される。トーカ状態マシン236がレディ/失敗状態に設定され、かつ、トーカ状態マシン236がリスナ登録解除事象を受信した際、トーカ状態マシン236はトーカ230のAVTPエンジンを停止させかつレディ/失敗状態から待機状態へ遷移するように構成される。トーカ状態マシン236が失敗状態に設定されかつリスナ登録解除事象を受信した際、トーカ状態マシン236は失敗状態からトーカ状態へ遷移するように構成される。
【0074】
クライアント260は、コントローラ290へトーカ230とリスナ240の間でデータストリームの接続を切断する命令を送信するように構成される。クライアント260は、クライアントのアプリケーション層インターフェース262を介して、接続を切断するための命令を送信するように構成される。
【0075】
クライアント260から、データストリームの接続を切断するための命令を受信すると、これに応答して、コントローラ290は、リスナ240にデータストリームから切断するように命令するメッセージをリスナ240へ送信するように構成される。コントローラ290からリスナ240へ送信されたメッセージはDisconnect(切断)メッセージと呼ばれる。切断メッセージは、コントローラ290のアプリケーション層インターフェース292からリスナ240のアプリケーション層インターフェース242へ送信される。
【0076】
切断メッセージの受信に応答して、リスナ240は、データストリームから接続を削除するように構成される。リスナ240が切断メッセージを受信すると、リスナ状態マシン246は待機状態または監視状態のいずれかで設定される。切断メッセージが受信されるかリスナ状態マシン246が待機状態にある場合、リスナ状態マシン246は、一以上の登録されたLAF属性の登録を解除するように構成される。リスナ状態マシン246がLAF属性を登録しなかった場合、LAF属性を登録解除するアクションは実行されない。LAF属性を登録解除した後、または、解除すべき登録されたLAF属性が存在しないと判定した後、リスナ240は待機状態から初期状態へ遷移する。
【0077】
切断メッセージが受信されかつリスナ状態マシン246が監視状態である場合、リスナ状態マシン246はAVTPエンジンを停止してデータストリームの流れを停止させるように構成される。リスナ状態マシン246はまた一以上の登録されたLR属性の登録を解除するようにも構成される。リスナ状態マシン246がLR属性を登録していなかった場合、LR属性を登録するためのアクションは実行されない。LR属性を登録解除するかまたは登録解除すべきLR属性が存在しないと判断した後、リスナ状態マシン246はリスナSRPスタック244へクエリ_終了(end_query)ファンクションを発行する。リスナSRPスタックへクエリ_終了ファンクションを発行することで、リスナ状態マシン246は、リスナSRPスタックから、リスナ240が切断命令を指示しているストリームに関連付けられるストリームIDに関する登録を削除する。クエリ_終了が発行されることで、リスナSRPスタック244はもはやリスナ状態マシン246へリスナ240がもはや興味を示さない登録を通知しない。
【0078】
クエリ_終了ファンクションを発行した後、リスナ状態マシン240は監視状態から初期状態へ遷移するように構成される。更に、リスナ状態マシン246がAVTPエンジンを停止し、LR属性を登録解除し、および/または、クエリ_終了(end_query)を発行し、および/または、監視状態から初期状態へ遷移した後、リスナ240はコントローラ290へ、リスナ240がストリームを正常に接続切断したことを示す成功メッセージを送信する。リスナは、リスナ240のアプリケーション層インターフェース242を介して、コントローラ290のアプリケーション層インターフェース292へ成功メッセージを送信する。
【0079】
リスナ240からの成功メッセージの受信に応答して、コントローラ290は、他のリスナは、ストリームから切断するように命令する必要のある他のリスナがシステム内に存在するかどうかを判定するように構成される。システム100に戻って参照するに、リスナ140がコントローラ190に成功メッセージを送信した場合、コントローラ190はリスナ141へ切断メッセージを送信することを判定する。他のシステムにおいて、コントローラ190は各リスナ140、141、142へ切断メッセージを同時送信するように構成される。また別の代替システムにおいて、コントローラ190は、リスナ140から成功メッセージを受信する前に、リスナ141および/またはリスナ142に切断メッセージを送信するかどうかを判定する。
【0080】
全てのリスナ、例えば、システム200のリスナ240から成功メッセージを受信した後、コントローラ290はトーカにストリームを削除するように命令するメッセージをトーカ230に送信するように構成される。トーカ230にストリームを削除するように命令するメッセージは「割当て解除メッセージ」と称される。コントローラ290は、コントローラ290のアプリケーション層インターフェース292を介して、トーカ230へ割当て解除メッセージを送信する。トーカ232はトーカ230のアプリケーション層インターフェース232を介して割当て解除メッセージを受信する。
【0081】
割当て解除メッセージの受信に応答して、トーカ230はデータストリームを削除するように構成される。トーカ230が割当て解除メッセージを受信すると、トーカ状態マシン236は、待機状態、レディ状態、レディ/失敗状態、または失敗状態に設定される。トーカ230が割当て解除メッセージを受信した際、トーカ状態マシン236は、トーカ状態マシンが現在の設定されている状態とは無関係に、初期状態に遷移するように構成される。例えば、割当て解除メッセージが受信されかつトーカ状態マシン236が待機状態にある場合、トーカ状態マシン236は待機状態から初期状態へ遷移するように構成される。割当て解除メッセージが受信されかつトーカ状態マシン236がレディ状態にある場合、トーカ状態マシン236はAVTPエンジンおよびデータストリームの流れを停止するように構成される。トーカ状態マシン236は一以上の登録されたトーカ属性の登録を解除するようにも構成される。リスナ状態マシン236がトーカの属性を登録していなかった場合、トーカ属性の登録を解除するアクションは実行されない。トーカ属性を登録解除した後、または登録解除すべきトーカ属性が登録されていなかったことを判断した後、トーカ状態マシン236はレディ状態から初期状態へ遷移する。
【0082】
割当て解除メッセージが受信されかつトーカ状態マシン236がレディ/失敗状態にある場合、トーカ状態マシン236はAVTPエンジンおよびデータストリームの流れを停止するように構成される。トーカ状態マシン236はまた一以上の登録されたトーカ属性の登録を解除するように構成される。リスナ状態マシン236がトーカ属性を登録していなかった場合、トーカ属性を登録解除するためのアクションは実行されない。トーカ属性を登録解除した後、または、登録を解除すべきトーカ属性が登録されていないと判断した後、トーカ状態マシン236はレディ/失敗状態から初期状態に遷移する。
【0083】
割当て解除メッセージが受信されかつトーカ状態マシン236が失敗状態にある場合、トーカ状態マシン236は一以上の登録されたトーカ属性の登録を解除するように構成される。リスナ状態マシン236がトーカ属性をなんら登録していなかった場合、トーカ属性の登録を解除するアクションは実行されない。トーカ属性の登録を解除した後、または、登録解除すべきトーカ属性が存在しないと判断した後、トーカ状態マシン236は、トーカSRPスタック234へ、クエリ_終了(end_query)ファンクションを発行する。クエリ_終了を発行することによって、リスナ状態マシン236は、トーカSRPスタック234から、トーカ230が切断するように命令されていたストリームに関連付けられるストリームIDに関連する登録を削除する。クエリ_終了が発行されることで、トーカSRPスタック234はもはや、リスナ状態マシン236へトーカ230がもはや興味を示さない登録通知はしない。トーカ状態マシン236がクエリ_終了を発行した後、トーカ状態マシン236は失敗状態から初期状態へと遷移する。
【0084】
トーカ属性を登録解除した後、および、トーカ状態マシン236が、待機状態、レディ状態、レディ/失敗状態、または失敗状態から遷移する前、遷移中、または遷移後、トーカ230は、コントローラ290へ、トーカ230がストリームを首尾よく切断したことを示す成功メッセージを送信する。トーカ230は、リスナ230のアプリケーション層インターフェース232を介して、コントローラ290のアプリケーション層インターフェース292へ、成功メッセージを送信する。
【0085】
トーカ240からの成功メッセージの受信に応答して、コントローラ290は、ストリームが切断されていることを示すメッセージをクライアント260へ送信するように構成される。コントローラ290からクライアント260へのメッセージは、クライアント260のアプリケーション層インターフェース292を介して、送信される。このメッセージはクライアント260のアプリケーション層インターフェース262を介してクライアント260によって受信される。
【0086】
一例において、TAまたはLR事象は、これらがトーカSRPスタック234および/またはリスナSRPスタック244を介してネットワーク210上を伝播する時に変更される。一例において、システム200は、トーカ230および/またはリスナ240、コントローラ290および/またはクライアント260などのエンドポイント以外のコンポーネントを含む。例えば、システム200は、スイッチおよび/またはブリッジなどのコンポーネントを含む。スイッチおよび/またはブリッジは、指定された経路を通って新しい予約をセットアップするために帯域幅が十分であるかどうかを判断することを責務とする。システム200がスイッチおよび/またはブリッジを含む場合、帯域幅の計算はTAまたはLR事象を受信する各スイッチおよび/またはブリッジによって行われる。スイッチまたはブリッジが十分な帯域幅があると判定している限り、スイッチまたはブリッジにおいて予約が行われ、TAまたはLRが伝播を続ける。ストリームがトーカ230やリスナ240などのターゲットに向かってスイッチまたはブリッジを通過するには帯域幅が不十分である場合、スイッチまたはブリッジはTAに代えてTFまたはLRに代えてLAFを登録し、その後、リスナまたはトーカに向かって伝搬を続ける。一以上の登録がアクティブである期間の間、これらの登録が周期的に繰り返されおよび/または伝搬されることで、トーカ230、リスナ240、クライアント260および/またはコントローラ290などのネットワーク210上の他のデバイスがこれらの登録がまだ求められていることを把握する。予約された経路のどこかで一以上の条件が変更されることでストリームに対する帯域幅の要件がもはや満たされなくなった場合、変更された条件(例えば、ボトルネックスイッチ)を識別するスイッチは不十分な帯域幅を有するリンクに対して一以上のリスナ登録を変更し、その後、変更されたリスナ登録を伝搬する。例えば、ストリームのために複数のリスナ登録が提供されておりリスナ240とトーカ230との間の経路内のスイッチまたはブリッジがそのストリームに対するリスナ登録の全てではないが一以上に対して帯域幅が足りていると判断した場合、スイッチまたはブリッジは、LRまたはLAFをLRFへ変換し、このLRFがトーカ230に伝搬される。
【0087】
これに代えまたはこれに加えて、トーカ230および/またはリスナ240は、トーカ状態マシン236および/またはリスナ状態マシン246によって実行されるアクションとは無関係である失敗メッセージをコントローラ290へ送信するように構成される。この失敗メッセージは、状態マシン236、246には関係のないシステム200内の条件を介して生じる失敗、例えば、フルネットワークキューまたはメモリ割当て失敗に基づく。このような失敗をコントローラ290へ報告することによって、トーカ230および/またはリスナ240は、これらの失敗がアプリケーション層などのシステムの上位レベルで回復されるようにこの失敗をシステム200に伝える方法を提供する。
【0088】
アプリケーション層インターフェース232、242、262、および/または292は、アプリケーション層モジュール、アプリケーション層インターフェースモジュール、アプリケーション層、および/またはアプリケーション層スタックである場合があり、それらを含む場合がありおよび/またはそれらとして参照される場合がある。アプリケーション層インターフェース232、242、262、および/または、292は、プロセッサによって実行可能なソフトウェア、ハードウェア、またはそれらの何らかの組み合わせを含むことができる。アプリケーション層インターフェース232、242、262、および/または292は、それぞれのシステムコンポーネント230、240、260、および/または290のために一以上の管理タスクを実行し、および/または、それぞれのシステムコンポーネント230、240、260、および/または290を統合および/または組織化してシステムコンポーネント230、240、260および/または290が実施され得るタスクを実行することを確実にすることができる。
【0089】
トーカSRPスタック234および/またはリスナSRPスタック244は、代替的に、SRPモジュール、SRPスタックモジュール、SRP層モジュール、SRP、および/または、SRPアプリケーションであってよいし、これらを含むこともでき、および/または、このように称される。トーカSRPスタック234および/またはリスナSRPスタック244はプロセッサによって実行可能なソフトウェア、ハードウェア、またはこれらの一部の組み合わせを含む。トーカSRPスタック234および/またはリスナSRPスタック244は、トーカSRPスタック234および/またはリスナSRPスタック244が受信したデータストリームに関する情報などの情報および/またはデータを記憶するために使用するメモリおよび/またはデータベースと通信しおよび/またはそれらを含むことができる。トーカSRPスタック234および/またはリスナSRPスタック244によってアクセス可能でありかつ利用されるメモリおよび/またはデータベースは、トーカSRPスタック234および/またはリスナSRPスタック244の一部とするか、または、メモリ238および/またはメモリ248などのトーカ230および/またはリスナ240の個別のコンポーネントとすることができる。メモリ238および/またはメモリ248は、SRPスタック238および/またはSRPスタック248によって実行されるべきオペレーションおよび/またはファンクションに関する命令を含みおよび/または記憶することができる。様々な他の例が可能である。
【0090】
トーカ状態マシン236および/またはリスナ状態マシン246は、コンピュータ命令、コンピュータコード、デジタルロジック、他のソフトウェア、ハードウェア、または、その一部を、メモリ238、メモリ248、および/または、トーカ230および/またはリスナ240の内外に配設されかつ一以上のプロセッサによって実行可能な任意の他の記憶デバイスに記憶することができる任意の組み合わせを含むことができる。
【0091】
メモリ238および/またはメモリ248は、ランダムアクセスメモリ、読み出し専用メモリ、プログラム可能読み出し専用メモリ、電気的プログラム可能読み出し専用メモリ、電気的消去可能読み出し専用メモリ、フラッシュメモリ、磁気テープまたはディスク、光媒体などを含むがこれらには限定されない、様々なタイプの揮発性および不揮発性記憶媒体などのコンピュータ可読記憶媒体を含むことができるが、これには限定されない。一例において、メモリ238および/またはメモリ248は、後述するコンピュータシステム1000のプロセッサ1002のようなプロセッサのためのキャッシュまたはランダムアクセスメモリを含むことができる。他の例において、メモリ238および/またはメモリ248は、プロセッサのキャッシュメモリ、システムメモリ、または他のメモリのように、プロセッサから独立している。メモリ238および/またはメモリ248は、データを記憶するための外部記憶デバイスまたはデータベースであることができる。例は、ハードドライブ、コンパクトディスク(「CD」)、デジタルビデオディスク(「DVD」)、メモリカード、メモリスティック、フロッピー(登録商標)ディスク、ユニバーサルシリアルバス(「USB」)メモリデバイス、またはデータを記憶するように動作する任意の他のデバイスを含む。メモリ238および/またはメモリ248は、プロセッサによって実行可能な命令を記憶するように動作可能であることができる。図面において例示されているかまたは説明されているファンクション、役割またはタスクは、メモリ238および/またはメモリ248内に記憶されている命令を実行するプログラムされたプロセッサによって実行されることができる。ファンクション、役割またはタスクは特定のタイプの命令セット、記憶媒体、プロセッサまたは処理ストラテジーとは無関係であり、独立してまたは組み合わせにおいて動作しているソフトウェア、ハードウェア、集積回路、ファームウェア、マイクロコードなどによって実行されることができる。同様に、処理ストラテジーは、マルチ処理、マルチタスキング、並列処理などを含むことができる。
【0092】
トーカのSRPスタック234および/またはリスナのSRPスタック244は属性データベース235、245を各々、含み、それに接続され、および/または、通信することができる。一例において、属性データベース235および/または属性データベース245はそれぞれのMSRP属性データベースを含む。属性データベース235および/または属性データベース245はメモリを表すことができ、これは、メモリ238および/またはメモリ248、データ記憶バンク、および/または様々な他のコンポーネントと類似するかおよび/または同様である。属性データベース235および/または属性データベース245は、図10に示し後述するコンピュータシステム1000などのコンピュータシステムの一以上の特徴である場合もあり、それらを含む場合もあれば、それらを含まない場合もある。属性データベース235および/または属性データベース245は、トーカ属性および/またはトーカストリームIDなどの新たな属性がネットワーク210上で登録されおよび/またはトーカSRPスタック234および/またはリスナSRPスタック244によって受信され次第、いつでも、上位アプリケーション層に通知するように設計され得るアプリケーションプログラミングインターフェース(「API」)を有することができる。
【0093】
上述のように、トーカ230はトーカ属性を有することができおよび/またはリスナ240はリスナ属性を有することができる。属性データベース235および/または属性データベース244は、一以上のトーカ属性および/またはリスナ属性を含みおよび/または記憶するデータベースを表す。例えば、属性データベース235は、トーカ230のための属性を含み、および/または、ネットワーク210上の、または当該ネットワークに接続される、リスナ240のための属性を含む。属性データベース235および/または属性データベース245は、トーカ230および/またはリスナ240がどこにあるか、トーカ230からのデータストリームがどれだけの帯域幅を必要とするか、リスナ240にとってどれだけの帯域幅が利用可能であるか、トーカ230および/またはリスナ240のための一意のストリームID、および/または、様々な他の情報および/またはデータを記憶または識別する。属性データベース235および/または属性データベース245は、例えば、第1の一意のストリームIDを有するトーカ230がイーサネット(登録商標)AVBネットワークに接続されていることを示し、トーカ230からデータストリームを取得しおよび/またはそれに登録するためにどの情報および/またはどのデータをネットワーク210および/またはコントローラ190からリクエストするか、ならびに、リスナ140がトーカ230からデータストリームに登録しており、および/または、その受信を開始する場合にどの程度のイーサネット(登録商標)接続の割合が使用されるかを特定する情報および/またはデータを記憶することができる。ネットワーク210からの一以上のデータストリームなどの、属性データベース235および/または属性データベース245によって受信される情報および/またはデータは、トーカSRPスタック234および/またはリスナSRPスタック244からアプリケーション層インターフェース232および/またはアプリケーション層インターフェース242に転送、出力、送信、および/または、渡される。
【0094】
いくつかのシステムにおいて、トーカ230の属性データベース235および/またはリスナ240の属性データベース245は、別個のおよび/または集合的な属性データベースから作成されおよび/または更新される。この別個のおよび/または集合的な属性データベースは、トーカ230およびリスナ240の両方に対して一つのデータベースを表すことができる。図1に示したシステム100に戻って参照するに、複数のトーカ130、131、132および/または複数のリスナ140、141および142が示されており、これらの別個および/または集合的な属性データベースは、複数または全てのトーカ130、131および132および/または全てのリスナ140、141および142に対して一つのデータベースを表すことができる。例えば、別個のおよび/または集合的なMSRP属性データベースは、ネットワーク110にアタッチされ、および/または、ネットワーク110と通信することができ、および/または、一以上のトーカ130、131、および132、および/または、リスナ140、141、および142に関する情報および/またはデータを記憶することができる。これに代えまたはこれに加えて、各トーカ130、131、および132、および/または、リスナ140、141、および142は、属性データベースを含むことができ、および/または、別個のおよび/または集合的なMSRP属性データベースにアクセスすることができる。
【0095】
属性データベース235および/または属性データベース245は、別個のおよび/または集合的な属性データベースの複製であることができ、および/または当該属性データベースからの情報を含む。このようなシステムでは、別個のおよび/または集合的な属性データベースは、連続的に更新されるか、または様々な異なる間隔で更新される。いくつかのシステムにおいては、別個のおよび/または集合的な属性データベースは、SRP属性データベース235、245のそれぞれにおいて受信および/または記憶されているデータストリームに関する情報および/またはデータに基づいて情報を収集および/または更新することができる。更新は、別個のおよび/または集合的な属性データベースによって、属性データベース235および/または属性データベース245に、10〜15秒ごとなどの様々な間隔で送信される。これらのシステムでは、属性データベース235および/または属性データベース245は同じである。
【0096】
代替的な例では、属性データベース235および/または属性データベース245は、トーカ230および/またはリスナ240に含まれないこともあるが、別個に存在するかおよび/またはトーカ230および/またはリスナと通信することもある。別の代替的な例では、別個のおよび/または集合的な属性データベースの部分は、トーカ230および/またはリスナ240が電源投入されると外部データベースから抽出され、トーカ230および/またはリスナ240内の揮発性メモリ内に記憶される。属性データベース235および/または属性データベース245の様々な他の実施例、ファンクションおよび/または特徴が実行可能である。
【0097】
図3は、コントローラがイーサネット(登録商標)AVBネットワークにおいてトーカとリスナとの間でデータストリームを作成するためのイーサネット(登録商標)AVBネットワーク上で通信するシステムにおいて実行するために例示的な方法300を示す流れ図である。この方法は、コントローラが初期状態に設定されかつコントローラがトーカとリスナとの間でデータストリームを作成するためのクライアントからの命令を待機するブロック302から開始される。ブロック304において、コントローラはクライアントからデータストリームを作成するための命令を受信する。命令は、アプリケーション層などのシステムの上位層を介して送信される。クライアントは、アプリケーション層インターフェースを介して、命令を送信する。一例において、アプリケーション層インターフェースは、ファンクションブロック(「FBlock」)インターフェースである。コントローラは、コントローラのアプリケーション層インターフェースを介してなどしてアプリケーション層においてクライアントからの命令を受信するように構成される。
【0098】
ブロック306において、クライアントからのデータストリームを作成するための命令の受信に応答して、コントローラは、トーカヘデータストリームを作成するように命令する割当てメッセージを送信するように構成される。割当てメッセージは、コントローラのアプリケーション層インターフェースから、システムのイーサネット(登録商標)AVBネットワークを介して、トーカのFBlockインターフェースなどのアプリケーション層インターフェースへ、送信される。割当てメッセージは、データソースの数を表示するSourceNr(ソースナンバー)パラメータ、データストリームが送信される一以上の宛先アドレス、データストリームの提示遅延、データストリームのランク(例えば、第1のインジケータは緊急ランクを示し、第2のインジケータは非緊急ランクを示す)、データストリームに使用される仮想ローカルエリアネットワーク(VLAN)識別子、および/またはデータストリームのクラス(例えば、第1のインジケータはクラスAを示し、第2のインジケータはクラスBを示す)を含む様々なパラメータを含む。
【0099】
ブロック308で、コントローラは、トーカがデータストリームを作成できるかどうかを判定する。トーカから応答メッセージを受信すると、コントローラは、応答メッセージが成功メッセージかまたは失敗メッセージであるかの識別に基づいて、トーカがデータストリームを作成することが可能かを判定する。応答メッセージはトーカのアプリケーション層インターフェースを介して送信される。成功メッセージは、トーカがデータストリームを作成することができることを示す。成功メッセージは、トーカおよび/またはシステム内のSRPスタックへクエリを発行すること、トーカ広告属性を登録すること、および/または、初期状態からリスナレディ事象を待機する待機状態へ遷移することを含む、一連のアクションをトーカが実行した後、および/または、その最中に、トーカによりコントローラへと送信される。成功メッセージは、クライアントが作成することが可能なデータストリームを識別するストリームIDを含む。失敗メッセージはデータストリームを作成するためにトーカがリソースおよび/または帯域幅を有するかどうかとは無関係である。例えば、失敗メッセージは無関係であり、このメッセージは、失敗がフルネットワークキューまたはメモリ割当て失敗などのシステムにおける失敗条件によって発生した場合、コントローラによって受信される。コントローラがトーカから失敗メッセージを受信した場合、コントローラは、トーカがストリームを作成することができないと判断し、ブロック316においてこの失敗をクライアントへ報告する。その後、この方法は、ブロック302に戻って、コントローラはクライアントからの他の命令を待機する。コントローラがリスナから成功メッセージを受信した場合、この方法はブロック318へ進む。
【0100】
ブロック318において、リスナから成功メッセージの受信に応答して、コントローラは、トーカとリスナがデータストリームのために接続を成立させることができることを示す成功メッセージをクライアントに報告するように構成される。コントローラからクライアントへのメッセージは、コントローラのアプリケーション層インターフェースを介して、送信され、クライアントのアプリケーション層インターフェースにおいて受信される。その後、この方法は、コントローラがクライアントからの他の命令を待つブロック302に進む。
【0101】
図4は、イーサネット(登録商標)AVBネットワーク内のトーカと一以上のリスナとの間でデータストリームを削除するためにイーサネット(登録商標)AVBネットワークを介して通信するシステムにおいてコントローラが実行する例示的な方法400を示す流れ図である。この方法は、コントローラがクライアントからのトーカとリスナの間でデータストリームを削除するための命令を待機する、ブロック402から開始される。ブロック404において、コントローラは、クライアントから、データストリームを削除するための命令を受信する。命令は、アプリケーション層などのシステムの上位層を介して送信される。クライアントは、アプリケーション層インターフェースを介して、命令を送信する。一例において、アプリケーション層インターフェースは、ファンクションブロック(「FBlock」)インターフェースである。コントローラは、コントローラのアプリケーション層インターフェースを介してなどして、アプリケーション層においてクライアントからの命令を受信するように構成される。
【0102】
ブロック406において、クライアントからのデータストリームを削除するための命令の受信に応答して、コントローラはリスナへデータストリームから接続を切断する切断メッセージを送信するように構成される。切断メッセージは、コントローラのアプリケーション層インターフェースから、システムのイーサネット(登録商標)AVBネットワーク層を介して、リスナの、例えば、FBlockインターフェースなどのアプリケーション層インターフェースへ、送信される。ブロック408において、コントローラはリスナから、接続が削除されたメッセージを受信する。メッセージは、リスナから、リスナのアプリケーション層インターフェースを介して、送信される。コントローラへメッセージを送信する前におよび/またはそれと同時に、リスナは、リスナのAVTPエンジンを停止すること、もしあれば、リスナ属性の登録を解除すること、リスナがもう興味を示さないストリームIDに関連付けられる任意の登録を削除するためにSRPへクエリ 終了を発行すること、および監視状態からリスニング状態へ遷移することを含む一連のステップを実行する。
【0103】
ブロック410で、リスナからのメッセージを受信した後、コントローラがストリームから切断すべきリスナがまだあるかを判定する。ストリームから切断すべきリスナがまだある場合、方法は、ブロック406へ戻って、コントローラは別のリスナを判定しそのリスナへストリームから切断する命令を送信する。或いは、リスナは、ストリームから接続切断するためにリスナへ一以上のメッセージを送信する前に、ストリームから切断されるべきリスナの全てを判定する。全てのリスナを識別した後、コントローラは全てのリスナへ全ての切断メッセージを同時に送信する。或いは、コントローラは全てのリスナへ全ての切断メッセージを同時に送信しない代わりに、最初のリスナからの応答を受信する前に別のリスナに切断メッセージを送信する。
【0104】
リスナが全てのリスナがストリームから接続を切断したことを応答したと判断すると、ブロック412へ進み、コントローラはトーカにストリームを削除するように命令する割当て解除メッセージをトーカへ送信するように構成される。割当て解除メッセージは、コントローラのアプリケーション層インターフェースを介して送信され、トーカのアプリケーション層インターフェースで受信される。トーカのアプリケーション層インターフェースはFBlockインターフェースである。トーカは、接続を削除するために、リスナのAVTPエンジンの停止、トーカ属性の登録解除、SRPスタックへのクエリ_終了ファンクションの発行、および/または、初期状態への遷移を含む一連のアクションを実行する。ブロック414で、コントローラは、トーカから、ストリームの削除が成功したことを示すメッセージを受信する。次に、方法はブロック402へ戻り、コントローラはクライアントからの命令を待機する。
【0105】
図5は、イーサネット(登録商標)AVBネットワークにおけるトーカとリスナがコントローラから受信した命令に基づいてトーカとリスナとの間でデータストリームを作成するために実行し得る例示的な方法を示す流れ図である。この方法は、ブロック520で開始され、同ブロックでは、トーカは、コントローラから、トーカにデータストリームを作成するように命令する割当てメッセージを受信する。割当てメッセージは、トーカのFBlockインターフェースなどの上位アプリケーション層インターフェースを介してトーカによって受信される。割当てメッセージの受信に応答して、トーカは、初期状態から、トーカがリスナによる登録通知を待機する待機状態へ、遷移するように構成される。トーカはまた、トーカがデータストリームを作成可能であることを示す成功メッセージをコントローラへ送信するように構成される。トーカは、アプリケーション層インターフェースを介して、コントローラへ成功メッセージを送信する。成功メッセージは、トーカが作成可能であるストリームを識別するストリームIDを含む。
【0106】
トーカがコントローラに成功メッセージを送信した後、ブロック540において、リスナはコントローラから接続メッセージを受信するように構成される。接続メッセージは、リスナのFBlockインターフェースなどの上位アプリケーション層インターフェースを介して受信される。接続メッセージはトーカがコントローラに送信したストリームIDを含む。接続メッセージを受信した後、リスナは初期状態から監視状態へ遷移するように構成される。初期状態から監視状態へ遷移するために、リスナは、SRPスタックへクエリを発行することを含む一連のアクションを実行し、受信したトーカ広告事象を処理し、リスナのAVTPエンジンを始動させ、および/またはリスナ属性を登録するように構成される。
【0107】
トーカがリスナレディ属性を登録した後、ブロック560において、トーカはリスナがリスナレディ属性を登録したことを示すリスナレディ事象を受信し、トーカのAVTPエンジンを始動させ、待機状態からレディまたはレディ/失敗状態へ遷移する。AVTPエンジンを始動させ、レディまたはレディ/失敗状態へ遷移すると、トーカとリスナの間での接続が成立し、データストリームがトーカからリスナへ流れる。
【0108】
図6は、図5の例示的な方法をより詳細に示す流れ図である。図6に示した流れ図は、図5に示したブロック520、540および560に関連付けられるブロックを示すために三列にグループ分けされたブロック602〜632を示している。ブロック602〜610はブロック520に関連付けられ、ブロック612〜624はブロック540に関連付けられ、ブロック626〜632は、ブロック560に関連付けられる。他の関連付けまたは組み合わせを判定してもよい。この方法は、トーカとリスナが初期状態で構成されているブロック602から開始される。ブロック604において、トーカは、データストリームを作成するために、割当てメッセージに含まれた、命令を受信する。メッセージは、トーカのFBlockインターフェースなどのアプリケーション層インターフェースを介して、受信される。ブロック606において、割当てメッセージの受信に応答して、トーカはSRPスタックへクエリを発行する。SRPスタックへのクエリは、SRPスタックへトーカが作成に興味を示しているストリームに対するストリームIDを通知する。クエリを発行しなければ、トーカはこのストリームIDに関連付けられるリスナレディ事象(「LR!」)を判定できない。クエリが発行された後、そのストリームIDのためにリスナがSRPスタックに登録したLRはいずれもトーカによって判定される。
【0109】
ブロック608で、トーカは、トーカ広告(TA)属性を登録する。TA属性の登録は、トーカがストリームを予約するために必要な帯域幅および/またはリソースの予約が可能であることをイーサネット(登録商標)AVBネットワークに発表することである。トーカがTA属性を登録する場合、SRPスタックは登録とそれが登録されているストリームをリスナに通知する。トーカがTA属性を登録した後、ブロック610において、トーカは、初期状態から、トーカがLR事象などのリスナ登録によってトリガされる事象を待機する待機状態へ、遷移する。更に、TA属性登録後、トーカはコントローラへトーカがデータストリームを作成可能であることを示す成功メッセージを送信するように構成される。トーカは、トーカのアプリケーション層インターフェースを介して成功メッセージを送信することにより、コントローラに成功メッセージを送信する。コントローラへ送信された成功メッセージはトーカが予約したストリームに対するストリームIDを含む。
【0110】
ブロック612において、リスナはリスナがストリームに接続するように指示する接続(Connect)メッセージをコントローラから受信する。接続メッセージはトーカがコントローラへ送信した成功メッセージに含まれるストリームIDを含む。リスナは、FBlockインターフェースなどの上位アプリケーション層インターフェースを介して接続メッセージを受信する。ブロック614において、接続メッセージを受信するとこれに応答して、リスナは、初期状態から、トーカによるTA(トーカ広告)属性登録の通知を待機する待機状態へ、遷移する。ブロック616において、リスナは、トーカがTA属性を登録したことを示すメッセージを受信する。リスナは、SRPスタックを介して、この通知を受信する。ブロック608において、トーカがTA属性を登録した場合、この登録がTA事象をトリガし、ブロック616においてTA属性の登録をリスナに通知する。ブロック618において、トーカはTAメッセージを処理する。 TAメッセージの処理はストリームの宛先アドレス(DA)を取得することを含み、これはリスナのイーサネット(登録商標)アダプタをプログラムしてマルチキャストアドレスにアドレスされるフレームを受信するために必要である。
【0111】
ブロック620において、リスナは、データストリームを認識および/または処理するためにAVTPエンジンを始動する。ブロック622において、リスナはリスナレディ(「LR」)属性を登録する。リスナは、LR属性を登録し、ネットワークおよび/または(リスナが接続する可能性があり、予約しているか、またはデータストリームへの接続を予約している)トーカに発表する。ブロック624において、リスナは待機状態からモニタ(監視)状態へ遷移する。監視状態において、リスナは、リスナが接続しているおよび/または予約していたストリームが正常終了したかまたは異常終了したかの表示を監視する。リスナは、ストリーム自体またはアプリケーション層インターフェースを介して受信したメッセージ、SRPスタック、および/または、ストリームの終了を監視および/または検出するように構成されるリスナの他のコンポーネントやモジュールを監視する。一例において、リスナは、ストリームの予約の異常終了が表示されるトーカ失敗事象(「TF!」)を監視する。別の実施例において、リスナは、ストリームの予約の正常終了が表示されるトーカ登録解除事象(「TalkerDeregister!(トーカデレジスタ)」)を監視する。別の実施例において、リスナは、クライアントおよび/またはコントローラがリスナにもうストリームを聴かせたくない旨のコントローラからのメッセージやコマンドに伴う接続切断事象(「Disconnect!(切断せよ)」)を監視する。ブロック624において、リスナはまた、リスナがデータストリームに首尾よく接続したことおよび/またはデータストリーム予約を予約できたことを示す成功メッセージをコントローラへ送信するように構成される。リスナはリスナのアプリケーション層インターフェースを介して成功メッセージを発行するように構成される。
【0112】
コントローラおよび/またはクライアントは、コントローラがリスナから成功メッセージを受信した後でデータストリームに対する接続を成立させることができたことを判定するが、トーカは、リスナからレディ(Ready)登録の通知を受けるまでは、接続の形成および/またはデータストリーミングの開始を行わない。ブロック626において、トーカはレディ事象を受信する。レディ事象は、リスナがリスナレディ属性を登録した際にトリガされる。他の例示的な方法において、複数のリスナがある時、AVBネットワーク内のスイッチまたはブリッジがストリームを受信するための帯域幅の量が少なくとも一リスナには十分だが全てのリスナには不十分だと判断した場合、スイッチまたはブリッジは、レディ事象を、レディ/失敗事象に変換する。トーカはSRPスタックを介してレディ/失敗事象のレディ事象を受信する。
【0113】
ブロック628において、レディ事象またはレディ/失敗事象の受信に応答して、トーカはAVTPエンジンを始動し、データストリームは、トーカから、ストリームのストリームIDに関連付けられるリスナレディ属性を登録した一以上のリスナへ流れる。ブロック630において、トーカがレディ/失敗事象を受信した場合、トーカはデータストリームを受容することができなかった一以上のリスナに関連付けられる一以上のエラーをログ(記録)する。ブロック632において、ブロック626のトーカが受信したリスナ事象に応じて待機状態からレディまたはレディ/失敗状態へ遷移する。AVTPエンジンを始動しおよび/またはレディまたはレディ/失敗状態へ遷移した後、トーカとリスナの間でデータストリームの接続が成立され、データストリームはトーカからリスナへ首尾よく流れる。
【0114】
図7は、イーサネット(登録商標)AVB環境にあるトーカとリスナがコントローラから受信した命令に基づいてトーカとリスナとの間でデータストリームを削除するために実行する可能性のある例示的な方法を示す流れ図である。この方法はブロック720で開始され、ブロック720において、リスナはコントローラから、リスナにデータストリームとの接続を切断するように命令する切断メッセージを受信する。リスナは、FBlockインターフェースなどの上位アプリケーション層インターフェースを介して切断メッセージを受信する。切断メッセージの受信に応答して、リスナは、リスナがSRPスタックおよび/またはSRPスタックにクエリ 終了を発行する準備ができている(レディである)ことを示すリスナレディ属性などの任意のリスナ属性の登録を解除するように構成される。更に、切断メッセージに応答して、リスナは、監視状態から初期状態に遷移するように構成される。また、リスナはコントローラへリスナがデータストリームへの接続を首尾よく削除したことを示す成功メッセージを送信する。リスナは、リスナのアプリケーション層インターフェースを介して、成功メッセージを送信する。
【0115】
ブロック740において、トーカは、コントローラから、データストリームを削除するようにコントローラに命令する割当て解除メッセージを受信する。トーカは、リスナがコントローラへ成功メッセージを送信したことを受けて、コントローラから割当て解除メッセージを受信する。トーカは、トーカの、FBlockインターフェースなどの上位アプリケーション層インターフェースを介して、割当て解除メッセージを受信する。割当て解除メッセージの受信に応答して、トーカは、AVTPマシンを停止し、登録されたトーカ属性の登録を解除し、レディまたはレディ/失敗状態から初期状態へ遷移する。
【0116】
図8は、図7の例示的な方法を詳細に示す流れ図である。図8に示した流れ図は、図7に示されたブロック720および740に関連付けられるブロックを示すために2列にグループ分けされたブロック802〜818を示す。ブロック802〜810は、ブロック720に関連付けられ、ブロック812〜818はブロック740に関連付けられる。他の関連付けや組み合わせも判定され得る。この方法は、ブロック802において開始され、同ブロックにおいて、リスナは、コントローラから、ストリームとの接続を切断する命令を受信する。リスナは、命令を切断メッセージとして受信する。切断(Disconnect)メッセージは、リスナの上位アプリケーション層インターフェースを介して受信されてもよい。ブロック804において、切断メッセージの受信に応答して、リスナはAVTPエンジンを停止し、すなわち、データストリームがまだリスナへフロー中であっても、リスナのデータストリームの認識を停止する。ブロック806において、リスナが一以上の登録されたリスナレディ属性の登録を解除する。リスナがLR属性を登録していなかった場合、LR属性の登録を解除するためのアクションはとられない。LR属性を登録解除後、または、解除するべきLR属性の登録がないと判断した後、ブロック808において、リスナは、SRPスタックへクエリ 終了ファンクションを発行する。SRPスタックへクエリ 終了ファンクションを発行することによって、リスナは、SRPスタックから、リスナが接続を切断するように命令したストリームに関連付けられるストリームIDに関連する登録を削除する。クエリ 終了が発行されることでリスナはもはやリスナが興味を持たない登録について通知されなくなる。
【0117】
ブロック810において、リスナは監視状態から初期状態に遷移する。更に、リスナは、リスナがストリームから首尾よく切断されたことを示す成功メッセージをコントローラへ送信する。リスナは、リスナのアプリケーション層インターフェースを介して、成功メッセージを送信する。
【0118】
ブロック812において、リスナからの成功メッセージの受信に応答して、トーカは、コントローラから、ストリームを削除するようにトーカに命令する旨の割当て解除メッセージを受信する。トーカは、トーカのアプリケーション層インターフェースを介して、割当て解除メッセージを受信する。ブロック814において、トーカはトーカのAVTPエンジンを停止し、すなわち、データストリームがネットワーク上でストリーミングすることを停止する。ブロック816において、トーカは一以上の登録されたトーカ属性の登録を解除する。属性が登録されていない場合、トーカ属性を登録解除するためのアクションはとられない。トーカ属性を登録解除後、または、解除するべきトーカ属性の登録がないと判断した後、ブロック818において、トーカは、レディ状態から初期状態へ遷移する。また、ブロック818において、トーカは、トーカがストリームを首尾よく切断したことを示す成功メッセージをコントローラへ送信する。トーカは、トーカのアプリケーション層インターフェースを介して、成功メッセージを送信する。トーカのAVTPエンジンを停止し、任意のトーカ属性の登録を解除し、および/または、初期状態へ遷移した後、トーカとリスナの間のデータストリームの接続は首尾よく削除される。
【0119】
図9は、コントローラ990、クライアント960、一以上のトーカ930、931、932、および一以上のリスナ940、941、942を含む例示的なシステム900を示す。例示的なシステム900は自動車通信システムを含む。自動車通信システム900のトーカは、DVDプレーヤ930、CDプレーヤ931、および/または無線932を含む。自動車通信システム900のリスナは、フロントスピーカアンプ940、後部座席ディスプレイ941、およびリアアンプ942を含む。自動車通信システムのクライアントはヘッドユニット960である。ヘッドユニット960は、例えば、再生、停止、早送り、巻戻し、一時停止することによって、音量コントロール、チャンネルコントロール、DVDプレーヤおよび/またはCDプレーヤのコントロールなどの様々なコントロールを含む。他のコントロールはヘッドユニットに含まれる。コントロールは、自動車の運転者または乗員などの通信システム900のユーザによって操作される。ユーザは、トーカ930、931、932および/またはリスナ940、941、942をコントロールするために、ヘッドユニット960を動作させる。ユーザが自動車内で音楽の音量を下げたい場合、ユーザはヘッドユニット960上の音量ノブを操作して、フロントスピーカアンプ940および/またはリアスピーカアンプ942をコントロールする。
【0120】
トーカ930、931、932、リスナ940、941、942、ヘッドユニット960、およびコントローラ990は、ネットワーク910上で通信することによって相互の一以上と通信状態にある。ネットワーク910はイーサネット(登録商標)AVBネットワークである。トーカからリスナに転送されるデータストリームはイーサネット(登録商標)AVBネットワークを含む一以上のイーサネット(登録商標)ケーブルを介して送信される。トーカとリスナの間でストリームを予約しおよび/または予約を削除するために、ネットワーク910はIEEE802.lQat‐2010において説明したようにストリーム予約プロトコルを使用する。SRPは、システムのコンポーネント930、931、932、940、941、942、960に含まれてよいし、または、これらによってアクセス可能なSRPスタックを介して通信することによって使用される。データストリームをコントロールするためのコントロール信号はイーサネット(登録商標)ケーブルを介しても送信される。更に、コントロール信号は、システム900の上位アプリケーション層において、開始され、生成され、受信され、および/または、処理される。コントロール信号は、アプリケーション層へおよびアプリケーション層からアプリケーション層インターフェースを介してイーサネット(登録商標)AVBネットワーク上で通信される。DVDプレーヤ930、CDプレーヤ931、ラジオ932、フロントスピーカアンプ940、後部座席ディスプレイ941、リアスピーカアンプ942、および/または、ヘッドユニットの各々はアプリケーション層インターフェースを有している。一例において、アプリケーション層インターフェースは、FBlockインターフェースを含む。システム900のコンポーネントがFBlockインターフェースを有する場合、ネットワーク910を介して送信されるコントロール信号は、FBlockコントロール信号を含む。コントローラ990は、システム900のコンポーネント930、931、932、940、941、942、および960の各々へFBlockコントロール信号などのコントロール信号を送受信するように構成される。コントローラ990は、コントロール信号を送受信するためにアプリケーション層インターフェースであるかまたはこれを含む。
【0121】
システム900の例示的な動作は、自動車の後部座席に乗員のためにDVDを始動させたいとする自動車の運転者を含む。DVDを始動させるため、運転者は、ヘッドユニット960と通信状態にある「再生」ボタンを押す。ヘッドユニット960は、「再生」ボタンが押されたことを認識して、DVDプレーヤ930と後部座席ディスプレイ941との間でA/Vストリームを作成するようにコントローラ990に命令する「再生」コマンドをコントローラ990へ送信する。コントローラ990は、ヘッドユニット960から命令を受信すると、DVDプレーヤ930へ割当てメッセージを送信し、DVDプレーヤ930にストリームを作成するように命令する。割当てメッセージを受信すると、DVDプレーヤ930またはDVDプレーヤ930と一緒に動作可能なトーカは、ストリームを作成するために一以上の状態マシンを使用して一以上のアクションを実行する。例えば、DVDプレーヤ930はDVDプレーヤ930がこのストリームに関連する任意の登録について知らされるようにDVDプレーヤ930のSRPスタックをクエリする。DVDプレーヤ930は、トーカ広告属性をSRPスタックへ登録しDVDプレーヤのストリームの作成を発表し、その後、DVDプレーヤは待機状態に遷移して、リスナとして動作している後部座席ディスプレイ941からのリスナレディ登録によってリスナレディ事象の受信を待機する。DVDプレーヤ930はまた、コントローラ990へ成功メッセージを送信する。DVDプレーヤは、DVDプレーヤ930の、FBlockインターフェースなどのアプリケーション層インターフェースを介して、コントローラへ成功メッセージを送信する。成功メッセージは、DVDプレーヤが作成したいとするストリームを識別するストリームIDを含む。
【0122】
コントローラ990は、DVDプレーヤから成功メッセージを受信し、これに応答して、後部座席ディスプレイ941に接続メッセージを送信し、その際、接続メッセージ内にはストリームIDが含まれる。接続メッセージを受信すると、後部座席ディスプレイ941は、状態マシンを使って、SRPスタックにクエリを発行し、これにより、SRPスタックは、後部座席ディスプレイ941が接続されたいとするストリームのストリームIDに関連付けられるトーカ属性登録について通知を受ける。更に、後部座席ディスプレイ941は、DVDプレーヤによって実行されるトーカ広告登録によるSRPスタックを介してトーカ広告事象を受信する。トーカ広告事象を受信すると、後部座席ディスプレイ941は、トーカ広告事象を処理し、後部座席ディスプレイ941のAVTPエンジンを始動させて後部座席ディスプレイがDVDプレーヤ930から送信されたメディアストリームを認識できるようにし、リスナレディ属性を登録してメディアストリームを受容できることを発表し、その後、監視状態へ遷移する。この監視状態下では、後部座席ディスプレイ941がメディアストリームまたはSRPスタックまたはアプリケーション層インターフェースを介して送信された信号を監視する。
【0123】
後部座席ディスプレイ941がリスナレディ属性を登録した場合、リスナレディ事象がSRPスタックを介して伝搬されかつDVDプレーヤ930によって受信される。DVDプレーヤ930がリスナレディ事象を識別する場合、DVDプレーヤ930はAVTPエンジンをスタートさせてメディアフローを始動させ、その後、レディ状態へ遷移する。この状態において、DVDプレーヤ930は全てのリスナがメディアストリームを受容できる構成の下で動作し、DVDプレーヤ930と後部座席ディスプレイ941との間でのメディアストリームの接続が首尾よく成立される。
【0124】
上記の動作は単なる例示にすぎず、システム900上または上記の説明に基づいてイーサネット(登録商標)AVB環境においてトーカとリスナとを含む他のシステム上で実行することができる。
【0125】
図1に示したトーカ130、131、および132、リスナ140、141、および142、トーカ/リスナ150、および/または、コントローラ190などのトーカの一以上は、図10のコンピューティングデバイスなどの様々な種類のうちの一以上のコンピューティングデバイスの一部または全てであるかおよび/またはこれらを含む。図10は、1000で示された汎用コンピュータシステムの一例を示す。システム100および/またはシステム200からのコンポーネントのいずれもコンピュータシステム1000の一部または全てを含む。例えば、いくつかの実施例において、コンピュータシステム1000はプロセッサとメモリのみを含む。コンピュータシステム1000は、開示されている方法またはコンピュータベースのファンクションのいずれか一つ以上をコンピュータシステム1000に実行させるために遂行することができる一組の命令を含むことができる。コンピュータシステム1000は、スタンドアローンデバイスとして動作するか、または、例えば、ネットワークを使用して他のコンピュータシステムまたは周辺機器に接続される。
【0126】
ネットワーク化された配備において、コンピュータシステム1000は、サーバ−クライアントユーザネットワーク環境におけるサーバの容量内でもしくはクライアントユーザコンピュータとして、またはピアツーピア(もしくは分散型)ネットワーク環境におけるピアコンピュータシステムとして動作することができる。コンピュータシステム1000はパーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、モバイルデバイス、パームトップコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、通信デバイス、無線電話機、固定電話機、制御システム、カメラ、スキャナ、ファクシミリ装置、プリンタ、ポケットベル、個人信託装置、ウェブアプライアンス、ネットワークルータ、スイッチもしくはブリッジ、または、その装置によって為されるべき操作を指定する(順次またはそれ以外の)命令のセットを実行することが可能な任意の他の装置のような様々なデバイスとして実施されるかまたはその中に組み込むことも可能である。特定の例では、コンピュータシステム1000は、音声、音響、ビデオまたはデータ通信を提供する電子デバイスを使用して実施されることが可能である。更に、単一のコンピュータシステム1000が例示されているが、「システム」という用語は、一以上のコンピュータファンクションを実行するための命令のセット、または複数のセットを個別にまたは連帯して実行するシステムまたはサブシステムの任意の集合を含むようにも解釈されるべきである。
【0127】
図10に例示されるように、コンピュータシステム1000は、プロセッサ1002、例えば、中央処理装置(CPU)、グラフィックス処理装置(GPU)、またはその両方を含むことができる。プロセッサ1002は、様々なシステム内のコンポーネントであることができる。例えば、プロセッサ1002は、標準的なパーソナルコンピュータまたはワークステーションの一部であることができる。プロセッサ1002は、一以上の汎用プロセッサ、デジタル信号プロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイ、サーバ、ネットワーク、デジタル回路、アナログ回路、それらの組み合わせ、またはデータを分析および処理するための、他の現在既知のもしくは将来開発されるデバイスであることができる。プロセッサ1002は、手作業で生成される(すなわち、プログラムされる)コードのようなソフトウェアプログラムを実施することができる。
【0128】
用語「モジュール」は、複数の実行可能なモジュールを含むものとして定義される。本明細書中に記載されるように、モジュールは、プロセッサ1002などのプロセッサによって実行可能なソフトウェア、ハードウェア、またはそれらの何らかの組み合わせを含むとして定義される。ソフトウェアモジュールは、メモリ1004のようなメモリ、または別のメモリデバイス内に記憶される、プロセッサ1002または他のプロセッサによって実行可能である命令を含むことができる。ハードウェアモジュールは、プロセッサ1002により実行するために実行可能とされ、指定され、および/またはコントロールされる様々なデバイス、コンポーネント、回路、ゲート、回路基板などを含む。
【0129】
コンピュータシステム1000は、バス1008を介して通信することが可能であるメモリ1004のようなメモリ1004を含むことができる。メモリ1004は、主記憶装置、静的記憶装置、または動的記憶装置であることができる。メモリ1004は、ランダムアクセスメモリ、読み出し専用メモリ、プログラム可能読み出し専用メモリ、電気的プログラム可能読み出し専用メモリ、電気的消去可能読み出し専用メモリ、フラッシュメモリ、磁気テープまたはディスク、光ディスクなどを含むがこれらには限定されない、様々なタイプの揮発性および不揮発性記憶媒体のような、コンピュータ可読記憶媒体を含むことができるが、これには限定されない。一つの例では、メモリ1004は、プロセッサ1002のためのキャッシュまたはランダムアクセスメモリを含む。代替的な例では、メモリ1004は、プロセッサのキャッシュメモリ、システムメモリ、または他のメモリのように、プロセッサ1002から独立している。メモリ1004は、データを記憶するための外部記憶デバイスまたはデータベースとすることができる。例は、ハードドライブ、コンパクトディスク(「CD」)、デジタルビデオディスク(「DVD」)、メモリカード、メモリスティック、フロッピー(登録商標)ディスク、ユニバーサルシリアルバス(「USB」)メモリデバイス、またはデータを記憶するように動作する任意の他のデバイスを含む。メモリ1004は、プロセッサ1002によって実行可能な命令を記憶するように動作可能である。図面において例示されているかまたは説明されるファンクション、役割またはタスクは、メモリ1004内に記憶されている命令を実行するプログラムされたプロセッサ1002によって実行されることができる。ファンクション、役割またはタスクは特定のタイプの命令セット、記憶媒体、プロセッサまたは処理ストラテジーとは無関係であり、独立してまたは組み合わせにおいて動作するソフトウェア、ハードウェア、集積回路、ファームウェア、マイクロコードなどによって実行されることができる。同様に、処理ストラテジーは、マルチ処理、マルチタスキング、並列処理などを含むことができる。
【0130】
図示されるように、コンピュータシステム1000は、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)、フラットパネルディスプレイ、ソリッド状態ディスプレイ、陰極線管(CRT)、プロジェクタ、プリンタ、または、確定された情報を出力するための他の現在既知のもしくは将来開発される表示デバイスのような表示装置1010を更に含む場合もあれば、含まない場合もある。ディスプレイ1010は、ユーザが、プロセッサ1002がどう機能するか(ファンクショニング)を見るためのインターフェースとして、または具体的には、メモリ1004もしくはドライブユニット1016内に記憶されているソフトウェアとのインターフェースとしてアクションすることができる。
【0131】
更に、コンピュータシステム1000は、ユーザがシステム1000のコンポーネントのいずれかと対話することを可能にするように構成される入力デバイス1012を含むことができる。入力デバイス1012は、数字キーパッド、キーボード、もしくは、マウスのようなカーソル制御デバイス、またはジョイスティック、タッチスクリーンディスプレイ、リモートコントロール、またはコンピュータシステム1000と対話するように動作する任意の他のデバイスであることができる。
【0132】
図10において図示されるような特定の例では、コンピュータシステム1000は、ディスクまたは光学式ドライブユニット1016をも含むことができる。ディスクドライブユニット1016は、命令1024の一以上のセット、例えば、ソフトウェアが埋め込まれることができるコンピュータ可読媒体1022を含むことができる。更に、命令1024は、記載されているような方法またはロジックのうちの一以上を具現化することができる。特定の例において、命令1024は、コンピュータシステム1000による実行中にメモリ1004内におよび/またはプロセッサ1002内に完全にまたは少なくとも部分的に存在することができる。メモリ1004およびプロセッサ1002は、上述のようなコンピュータ可読媒体をも含むことができる。
【0133】
本開示は、命令1024を含むかまたは伝播信号に応答して命令1024を受信および実行するコンピュータ可読媒体を企図しており、それによって、ネットワーク1026に接続されるデバイスがネットワーク1026を介して音声、ビデオ、音響、画像または任意の他のデータを通信することが可能である。更に、命令1024は、通信ポートもしくはインターフェース1020を介して、および/またはバス1008を使用してネットワーク1026を介して送信または受信されることができる。通信ポートまたはインターフェース1020は、プロセッサ1002の一部であることができるか、または別個のコンポーネントであることができる。通信ポート1020は、ソフトウェアにおいて作成されることができるか、またはハードウェア内の物理接続であることができる。通信ポート1020は、ネットワーク1026、外部媒体、ディスプレイ1010、もしくはシステム1000内の任意の他のコンポーネント、またはそれらの組み合わせに接続するように構成されることができる。ネットワーク1026との接続は有線イーサネット(登録商標)接続のような物理接続であることができるか、または、後述するように無線で確立されることができる。同様に、システム1000の他のコンポーネントとの追加の接続は、物理接続であることができるか、または、無線で確立されることができる。ネットワーク1026は、代替的に、バス1008に直接接続されることができる。
【0134】
ネットワーク1026は、有線ネットワーク、無線ネットワーク、イーサネット(登録商標)AVBネットワーク、またはそれらの組み合わせを含むことができる。無線ネットワークは、携帯電話ネットワーク、802.11、802.16、802.20、802.1QまたはWiMaxネットワークであることができる。更に、ネットワーク1026は、インターネットのような公衆ネットワーク、イントラネットのような私的ネットワーク、またはそれらの組み合わせであることができ、TCP/IPベースのネットワークプロトコルを含むがそれには限定されない、現在利用可能であるかまたは将来開発される様々なネットワークプロトコルを利用することができる。
【0135】
コンピュータ可読媒体は単一の媒体であるように示されているが、「コンピュータ可読媒体」という用語は、集中型もしくは分散型データベース、および/または命令の一以上のセットを記憶する、関連付けられるキャッシュおよびサーバのような、単一の媒体または複数の媒体を含むことができる。「コンピュータ可読媒体」という用語は、プロセッサによる実行のために命令のセットを記憶、符号化または搬送することが可能であるか、またはコンピュータシステムに、開示される方法または動作のうちのいずれか一以上を実行させる任意の媒体をも含むことができる。「コンピュータ可読媒体」は持続性であることができ、有形であることができる。
【0136】
一例において、コンピュータ可読媒体は、メモリカードまたは一以上の不揮発性読み出し専用メモリを収容する他のパッケージのようなソリッド状態メモリを含むことが可能である。更に、コンピュータ可読媒体は、ランダムアクセスメモリまたは他の揮発性書き換え可能メモリであることが可能である。付加的に、コンピュータ可読媒体は、ディスクもしくはテープのような磁気光または光媒体、または伝送媒体を介して通信される信号のような搬送波信号を捕捉するための他のストレージデバイスを含むことが可能である。電子メールに対するデジタルファイル添付または他の内蔵型の情報アーカイブもしくはアーカイブのセットは、有形記憶媒体である配布媒体とみなすことができる。従って、本開示は、コンピュータ可読媒体または配布媒体ならびに他の均等物および後続の媒体のうちのいずれか一以上を含むと考えられ、その中にデータまたは命令が記憶されることができる。
【0137】
代替的な例では、特定用途向け集積回路、プログラマブルロジックアレイおよび他のハードウェアデバイスなどの専用ハードウェアの実施態様が、システムの様々なモジュールまたはモジュールの部分を実施するために構築可能である。装置およびシステムを含むことができるアプリケーションは、様々な電子システムおよびコンピュータシステムを広範に含むことが可能である。記載されている一以上の例は、二つ以上の特定の相互接続されるハードウェアモジュールまたはデバイスを、当該モジュールの間でかつそれらを介して通信することが可能である関連するコントロール信号およびデータ信号を用いて使用して、または特定用途向け集積回路の部分として、ファンクションを実施することができる。従って、本発明のシステムはソフトウェア、ファームウェア、およびハードウェアの実施態様を包含する。
【0138】
記載されているシステムは、コンピュータシステムによって実行可能なソフトウェアプログラムによって実施されることができる。更に、非限定的な例において、実施態様は、分散型処理、コンポーネント/オブジェクト分散型処理、および並列処理を含むことが可能である。代替的に、仮想コンピュータシステム処理、例えばクラウドコンピューティングが、システムの様々な部分を実施するために構築されることができる。
【0139】
システムは、いかなる特定の標準規格およびプロトコルを用いた動作にも限定されない。例えば、インターネットおよび他のパケット交換ネットワーク伝送のための標準規格(例えば、TCP/IP、UDP/IP、HTML、HTTP)が使用されることができる。このような規格は、基本的に同じファンクションを有する、より高速またはより効率的な均等物によって定期的に取って代わられる。従って、開示されているものと同じまたは同様のファンクションを有する置き換え可能な規格やプロトコルがそれらと同等のものと考えられる。
【0140】
本発明の様々な実施形態が記載されてきたが、更に多くの実施形態および実施態様が本発明の範囲内で可能であることは、当業者には明らかであろう。従って、本発明は添付の特許請求の範囲およびその均等物を考慮する以外では限定されるべきではない。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10