(57)【要約】【課題】複数の通信装置を有するネットワークにおいて、規定の遅延量を満たすリアルタイム通信を実現する。【解決手段】ネットワーク内で送信装置からデータを受信する通信装置は、該送信装置から送信されたデータを所定の時間内に受信することができるか否かを判定し、該送信装置から所定の時間内に該データを受信することができないと判定された場合に、該ネットワーク内の複数の他の通信装置の中で所定の条件を満たす装置を転送装置として選択する選択し、該転送装置を識別するための情報を含む転送情報を該送信装置と該転送装置に送信し、該転送装置を経由して該送信装置から該データを受信する。該送信装置から該転送装置を経由して該通信装置が該データを受信するまでの時間は、該所定の時間内である。【選択図】図２
2018107616.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク内で送信装置からデータを受信する通信装置であって、
前記送信装置から送信されたデータを所定の時間内に受信することができるか否かを判定する判定手段と、
前記判定手段により前記送信装置から所定の時間内に前記データを受信することができないと判定された場合に、前記ネットワーク内の複数の他の通信装置の中で所定の条件を満たす装置を転送装置として選択する選択手段と、
前記転送装置を識別するための情報を含む転送情報を前記送信装置と前記転送装置に送信する送信手段と、
前記転送装置を経由して前記送信装置から前記データを受信する受信手段と、
を有し、
前記送信装置から前記転送装置を経由して前記通信装置が前記データを受信するまでの時間が前記所定の時間内である
ことを特徴とする通信装置。
【請求項２】
前記判定手段により前記送信装置から送信されたデータを前記所定の時間内に受信することができないと判定された場合に、前記所定の時間内に前記データを受信することができないことを前記送信装置に通知する通知手段を更に有し、
前記選択手段は、前記通知手段による前記通知に応じて前記送信装置から受信された前記所定の条件のうちの通信速度に関する第１の条件を満たす前記他の通信装置のリストから、前記転送装置を選択することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記選択手段は、前記リストにおける前記第１の条件を満たす前記他の通信装置から、前記所定の条件のうちの前記通信装置からの距離に関する第２の条件を満たす通信装置を、前記転送装置として選択することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記第１の条件は、前記送信装置との通信における通信速度が、前記送信装置と前記通信装置の間で確保される通信速度より速いことであり、前記第２の条件は、前記通信装置からの距離が、前記転送装置の候補となる装置の中で最も短いことであることを特徴とする請求項３に記載の通信装置。
【請求項５】
前記転送情報は、前記転送装置を識別するための情報、前記送信装置と前記転送装置との間の通信における通信速度、および、前記転送装置と前記通信装置との間の通信における通信速度を含むことを特徴とする請求項１から４のいずれか１項に記載の通信装置。
【請求項６】
ネットワーク内の他の通信装置にデータを送信する通信装置であって、
前記ネットワーク内の他の通信装置の中で、前記通信装置から送信されたデータを所定の時間内に受信できない通信装置を特定する特定手段と、
前記他の通信装置の中で、所定の通信速度より速い速度で通信可能な通信装置の情報を前記特定された通信装置に通知する通知手段と、
前記特定された通信装置により、前記通知手段によって通知された情報に基づいて選択された通信装置である転送装置の情報を含む転送情報を受信する受信手段と、
前記転送情報に基づいて、前記転送装置に前記データを送信する送信手段と、
を有し、
前記通信装置から前記転送装置を経由して前記特定された通信装置が前記データを受信するまでの時間が前記所定の時間内であることを特徴とする通信装置。
【請求項７】
前記所定の通信速度は、前記通信装置と前記特定された通信装置の間で確保される通信速度であることを特徴とする請求項６に記載の通信装置。
【請求項８】
前記転送情報には、前記通信装置と前記転送装置との間の通信速度、および、前記転送装置と前記特定された通信装置との間の通信速度が含まれることを特徴とする請求項６に記載の通信装置。
【請求項９】
前記通知手段によって通知される情報は、前記所定の通信速度より速い速度で通信可能な通信装置のうち、前記通信装置との通信に割り当てられる通信帯域の占有割合が所定の閾値以上の通信装置の情報を含むことを特徴とする請求項６から８のいずれか１項に記載の通信装置。
【請求項１０】
前記通知手段によって通知される情報は、前記所定の通信速度より速い速度で通信可能な通信装置のうち、高い優先度を有する通信装置を含むことを特徴とする請求項６から９のいずれか１項に記載の通信装置。
【請求項１１】
ネットワーク内で送信装置からデータを受信する通信装置の制御方法であって、
前記送信装置から送信されたデータを所定の時間内に受信することができるか否かを判定する判定工程と、
前記判定工程において前記送信装置から所定の時間内に前記データを受信することができないと判定された場合に、前記ネットワーク内の複数の他の通信装置の中で所定の条件を満たす装置を転送装置として選択する選択工程と、
前記転送装置を識別するための情報を含む転送情報を前記送信装置と前記転送装置に送信する送信工程と、
前記転送装置を経由して前記送信装置から前記データを受信する受信工程と、
を有し、
前記送信装置から前記転送装置を経由して前記通信装置が前記データを受信するまでの時間が前記所定の時間内である
ことを特徴とする通信装置の制御方法。
【請求項１２】
ネットワーク内の他の通信装置にデータを送信する通信装置の制御方法であって、
前記ネットワーク内の他の通信装置の中で、前記通信装置から送信されたデータを所定の時間内に受信できない通信装置を特定する特定工程と、
前記他の通信装置の中で、所定の通信速度より速い速度で通信可能な通信装置の情報を前記特定された通信装置に通知する通知工程と、
前記特定された通信装置により、前記通知工程において通知された情報に基づいて選択された通信装置である転送装置の情報を含む転送情報を受信する受信工程と、
前記転送情報に基づいて、前記転送装置に前記データを送信する送信工程と、
を有し、
前記通信装置から前記転送装置を経由して前記特定された通信装置が前記データを受信するまでの時間が前記所定の時間内である
ことを特徴とする通信装置の制御方法。
【請求項１３】
コンピュータを、請求項１から１０のいずれか１項に記載の通信装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
通信装置、その制御方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、Ethernetによるネットワーク通信が一般的に使用されており、インターネットから、ローカルエリアネットワーク、機器間通信に至るまで適用範囲が広がっている。例えば、従来からのファイル共有や転送、メールやHTTP(Hypertext Transfer Protocol)などのアプリケーションを使用したファイルデータの伝送に加えて、VOD(Video On Demand)に代表されるAudio/Video等のストリームデータ通信への適用が増大している。さらに、Ethernet を使用し、Audio/Video等のストリームデータ（以下、AVデータ）をリアルタイムに伝送し、他の通信ノードとの同期再生を可能とするプロトコル規格であるEthernet AVBが、プロオーディオや車載、産業系、放送系で注目され始めている。
【０００３】
Ethernet AVBでは、各通信ノードが備える機能として、ノード間の時刻同期を行う機能と、既定した遅延量以内にデータ伝送を行うためのQoS (Quality of Service)機能が規定されている。また、Ethernet AVBでは、既定の遅延で通信可能かつ、各々で時刻同期可能な複数の通信ノードのグループをAVBドメインと呼ぶ。AVBドメインでは、100M bit Ethernet(以下、100MbE)以上の通信リンク速度で接続されたノード間で、7ホップ、2msまでの遅延が保証される。
【０００４】
Ethernet AVBでは、リアルタイム性を確保するために、通信ノードのうち送信側ノード（以下、送信ノード）が、受信側ノード（以下、受信ノード）に対して遅延量を把握可能なメッセージを送信する。また、送信ノードから送信されたメッセージを受信ノードに転送する（中継する）中継ノードは、メッセージを転送する際にメッセージ中の累積遅延量を加算、更新して伝送する。したがって、受信ノードは、受信したメッセージから、累積遅延量を把握してリアルタイム通信の可否を判断することができる。各通信ノード間の遅延量は、デバイス内部遅延、転送フレームサイズ、通信リンク速度、利用可能な帯域幅に基づいて算出される。
【０００５】
特許文献1では、パケット中継中に、リアルタイム通信の可否を判断する方法が提案されている。詳細には、中継ノードが、受信したパケットに含まれる情報から算出した送信予定時刻と、自局が保持する送信開始可能時刻との比較を行い、中継の可否を判定する。そして、中継ノードは、中継不可と判定した場合には、受信したパケットを破棄する。これにより、ネットワーク上のパケットの無駄な転送が回避され、効率よくリアルタイム通信を行うことが可能となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2009-260888号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
リアルタイム通信を意図するシステムにおいても、送信ノードからの既定ホップ数超過や処理性能が低い、あるいは処理負荷が高い受信ノードにおいては、既定の遅延量を満たせず、リアルタイム通信が破綻する可能性がある。リアルタイム通信が破綻した場合、受信ノードは、AVデータ等のストリーム再生において、再生品質の劣化が生じる。また、設定されたデータ再生時刻に間に合わないため、再生時に他の受信ノードとの同期ずれを生じるという課題がある。
【０００８】
本発明は、上記課題に鑑みてなされたものであり、複数の通信装置を有するネットワークにおいて、規定の遅延量を満たすリアルタイム通信を実現することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するための一手段として、本発明の通信装置は以下の構成を有する。すなわち、ネットワーク内で送信装置からデータを受信する通信装置であって、前記送信装置から送信されたデータを所定の時間内に受信することができるか否かを判定する判定手段と、前記判定手段により前記送信装置から所定の時間内に前記データを受信することができないと判定された場合に、前記ネットワーク内の複数の他の通信装置の中で所定の条件を満たす装置を転送装置として選択する選択手段と、前記転送装置を識別するための情報を含む転送情報を前記送信装置と前記転送装置に送信する送信手段と、前記転送装置を経由して前記送信装置から前記データを受信する受信手段と、を有し、前記送信装置から前記転送装置を経由して前記通信装置が前記データを受信するまでの時間が前記所定の時間内である。
【発明の効果】
【００１０】
本発明によれば、複数の通信装置を有するネットワークにおいて、規定の遅延量を満たすリアルタイム通信が実現される。
【図面の簡単な説明】
【００１１】
【図１】実施形態における通信システムの概略的構成図。
【図２】実施形態１におけるデータ伝送例を示す図。
【図３】ノードリスト例を示す図。
【図４】実施形態における送信ノードの概略的内部ブロック図。
【図５】実施形態における受信ノードの概略的内部ブロック図。
【図６】実施形態１における送信ノードの処理フローチャート。
【図７】実施形態１における受信ノードの処理フローチャート。
【図８】実施形態１における通信システムにおける各ノードの動作を示すシーケンスチャート。
【図９】実施形態２による送信ノードの処理フローチャート。
【発明を実施するための形態】
【００１２】
以下、添付の図面を参照して、本発明をその実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１３】
［実施形態１］
図１に、本発明の実施形態における通信システム10の概略的な構成図を示す。図１に示す通信システム10は、放送系現場におけるリアルタイム通信システムを想定した構成を有する。通信システム10は、8台の通信ノード（通信装置）101〜108と４台の中継ノード111〜114、および、コンテンツソース110から構成される。通信ノード101の例は、撮像機能を有するビデオカメラである。通信ノード102〜108の例は、映像観賞用のプロジェクタや映像確認用の液晶ディスプレイ、映像の編集操作を行うための編集機材、映像の解析や合成等の動画処理演算を行うPC等である。
【００１４】
通信ノード101により撮像された映像データは、一旦、コンテンツソース110にバッファリングされる。その後、通信ノード101はコンテンツソース110から映像データを取り出し、既定の遅延量（遅延時間）を満たしつつ、通信ノード102〜108へ配信する。通信ノード102〜108の各々は、各機器に応じて、映像出力や編集、解析、映像合成等の様々なアプリケーションをリアルタイムに実行する。また例えば、通信ノード102と通信ノード103は、マルチプロジェクションを形成し、各々同期して映像を出力するように構成されてもよい。
【００１５】
ネットワーク内において、通信ノード101〜108は、リアルタイム通信に対応したネットワークハブである中継ノード111〜114を介して互いに接続される。ここで、通信ノード101〜108、および、中継ノード111〜114のそれぞれは、例えばEthernet AVB等のリアルタイム・同期通信が可能なプロトコル規格に対応しているものとする。また、通信ノード101〜108は、各々異なる通信速度に対応した通信インターフェースを備えるものとする。例えば、図１に示すように、通信ノード103、105、および107は、1GbEの通信インターフェースを備え、通信ノード102、104、106、および108は、100MbEの通信インターフェースを備えている。また、通信ノード101、および、中継ノード111〜114は1GbE以上の通信インターフェースを備えるものとする。
【００１６】
図１に示したような通信システム10において、リアルタイム通信の開始以前に、通信ノード102〜108は、送信ノードである通信ノード101からのAVデータを既定の遅延量以内に受信可能か否かを判定する必要がある。通信システム10における遅延条件の一例として、遅延量2ms以下と規定し、以下に通信ノード102〜108において遅延条件を満たすか否かを判定する動作を説明する。
【００１７】
通信ノード101は、送信するAVデータの必要帯域幅を含むメッセージを、通信ノード102〜108へ送信する。その際に、各中継ノード111〜114は、各ホップで発生する遅延量を同メッセージに累積遅延量として追加（更新）して転送する。なお、転送されるメッセージには、必要帯域幅、累積遅延量以外にもEthernet AVBで規定されるAVストリームID やVLAN(Virtual Local Area Network) IDも含まれ得る。通信ノード102〜108は、受信したメッセージの累積遅延量、必要帯域幅等から、リアルタイム通信の可否を判定し、判定結果を通信ノード101へ通知する。
【００１８】
図１の例では、通信ノード101は、帯域幅75MbpsでAVデータを送信するものとする。また、各ホップで発生する遅延量は、必要帯域幅等の情報を基に算出されるものとし、本例では１ホップあたり0.5msであるものとする。このような条件において、通信ノード101から通信ノード108までは5ホップ要することから、通信ノード108は、累積遅延量が2.5msとなる。上述のように、リアルタイム通信を行うために規定された遅延量は2ms以下であるから、通信ノード108における累積遅延量（2.5ms）は、当該規定の遅延量を満たすことができない。この場合、通信ノード108は、遅延量を満たせない旨を通信ノード101へ通知する。
【００１９】
以下では、図１における通信ノード108のような既定の遅延量を満たせない通信ノード（以下、遅延ノード）が発生した場合に、当該規定の遅延量を満たすように遅延ノードを救済する方法について説明する。本実施形態では、遅延ノードを救済するために、遅延ノードに対して遅延条件を達成できるようにデータ転送を行う通信ノード（以下、転送ノード）を設ける。
【００２０】
ここで、図４と図５を参照して、本実施形態における送信ノードである通信ノード101と受信ノードである通信ノード102〜108の構成について説明する。
【００２１】
図４は、送信ノードである通信ノード101の内部ブロック図を示す。プロセッサ405は、各機能ブロックを制御する。メモリ404は、各ブロックが共有して使用するメモリ空間である。プロセッサ405は、CPUまたはMPCにより構成され、メモリ404に記憶されたプログラムを実行することにより通信ノード101全体を制御する。例えば、後述する図６や図９のフローチャートは、メモリ404に記憶されたプログラムをプロセッサ405が実行することにより実現される。アドレス・データバス403は、各機能ブロック間のデータのやり取りに使用される。通信部400は、他の通信ノード102〜108及び、中継ノード111〜114とコンテンツソース110とのデータ通信用に使用される。通信部400は、コンテンツソース110とのデータ通信用に、他の通信ノード102〜108および中継ノード111〜114との通信用と独立した通信インターフェースを備えて構成されてもよい。
【００２２】
撮像部407において取得されたAVデータ（映像データ）は、AVデータ処理部408において必要に応じ圧縮等の処理がなされ、通信部400を介して一時的にコンテンツソース110に格納される。コンテンツソース110に格納されたAVデータは、既定の読み出し速度で通信部400から読み出され、他の通信ノード102〜108及び、中継ノード111〜114へ出力される。ただし、データ送信までの待ち時間が小さく、メモリ404にバッファリング可能なAVデータであれば、必ずしも一時的にコンテンツソース110に格納されなくてもよい。
【００２３】
ここで、通信部400による読み出し速度は、AVデータ処理部408におけるAVデータの圧縮率、通信ノード101がリアルタイム通信に利用可能な帯域幅、通信システム10における遅延条件、転送ノードの有無等により決定され得る。
【００２４】
転送ノード候補選出部401は、図3を参照して説明するようなノードリスト300を作成し、通信部400を介して、遅延ノードである通信ノード108へ送信する。
【００２５】
ここで、転送ノード候補選出部401が作成するノードリストについて説明する。一般的に、転送ノードとして、送信ノードと通信リンク速度が速く、遅延ノードとのホップ数が最も小さい（距離が最も短い）通信ノードが適している。したがって、転送ノード候補選出部401は、まず、転送ノードの候補として、通信ノード101との間で、通信ノード101と通信ノード108間で確保される通信リンク速度（図１の例では100MbE）以上で通信可能な通信ノードを選出する。なお、転送ノード候補選出部401は、各通信ノード102〜108への通信リンク速度として、例えば、各通信ノード102〜108との通信リンク確立時に、メモリ404に格納されているものを参照する。転送ノード候補選出部401は選出した通信ノード（転送ノードの候補）から、図３に示すようなノードリスト300を作成する。図３に示すように、図１の構成では、転送ノードの候補は、通信ノード101との通信リンク速度が100MbE以上の、通信ノード103、105、および107となる。
【００２６】
転送ノード候補選出部401により作成されたノードリスト300は、通信部400により遅延ノードである通信ノード108へ送信される。通信ノード108は、通信ノード101より受信したノードリスト300内で最も通信ノード108とのホップ数の小さいノードを、転送ノードとして決定する。図１の構成では、通信ノード108と通信ノード103、105、および107間のホップ数は、夫々5、3、2ホップであるため、最もホップ数の小さい通信ノード107が転送ノードとして選出される。ここで、ホップ数が同じ通信ノードが複数選出される場合には、送信ノードとの通信リンク速度ができる限り高速な通信ノードが転送ノードとして選出されてもよい。
【００２７】
次に、受信ノードである通信ノード102〜108の構成について説明する。図５は、受信ノードである通信ノード102〜108の内部ブロック図を示す。図４に示した送信ノードの構成と同様に、プロセッサ505は、各機能ブロックを制御する。メモリ504は、各ブロックが共有して使用するメモリ空間である。プロセッサ505は、CPUまたはMPCにより構成され、メモリ504に記憶されたプログラムを実行することにより通信ノード101全体を制御する。例えば、後述する図７のフローチャートは、メモリ504に記憶されたプログラムをプロセッサ505が実行することにより実現される。アドレス・データバス503は、各機能ブロック間のデータのやり取りに使用される。
【００２８】
通信ノード102〜108は、他の通信ノード101〜108及び、中継ノード111〜114とのデータ通信用として通信部500を備える。通信部500において受信した通信ノード101からのAVデータは、一旦メモリ504に格納される。AV処理部508において、メモリに格納されたAVデータが読み出され、映像出力部507で表示可能なデータへ変換される。なお、本実施形態では、受信ノードの構成は液晶プロジェクタやディスプレイを例にした構成であるが、この限りではなく編集機材であってもよい。編集機材である場合には、映像出力部507は、モニタ出力とスイッチやボリューム等のユーザインターフェースであってもよい。
【００２９】
転送ノード決定部501は、自局が遅延ノードである場合には、送信ノードから受信したノードリスト300から転送ノードを決定（選択）する。続いて、転送ノード決定部501は、転送情報を作成する。転送ノード決定部501は、転送情報に、決定した転送ノードの識別情報を含める。識別情報は、IPアドレス等、転送ノードが特定できる情報とする。また、転送情報には、遅延ノードのIPアドレス等、遅延ノードの識別情報が含まれてもよい。さらに、転送ノード決定部501は、送信ノードと転送ノード間の通信速度、および、転送ノードと遅延ノード間の通信速度を導出し、識別情報に含める。これらの通信速度は、例えば、送信ノードと転送ノード間、および転送ノードと遅延ノード間の、ホップ数、遅延量、通信リンク速度等により算出される。
【００３０】
ここで、各通信速度を算出する場合に各経路で確保可能な帯域占有率等を含めても良い。更に、各通信ノード間のホップ数、もしくは遅延量は予め受信ノードで把握しているものして説明を行ったが、転送情報の送信後、各通信ノード間で上述した累積遅延量の取得方法と同様にして計測しても良い。
【００３１】
転送ノード（図１の例では通信ノード107）の構成は、図４に受信ノードと同様であるものとする。ただし、通信部500は、送信ノードから送信されるAVデータを、遅延ノードへ転送することができるものとする。
【００３２】
続いて、図２に、本実施形態におけるデータ伝送例を示す。図２では、遅延ノードが通信ノード108であり、転送ノードを通信ノード107とする。ここで、通信ノード107は、データ送信を行う通信ノード101と1GbEの通信リンクを形成可能であり、通信ノード101と通信ノード108は100MbEの通信リンクを形成するものとする。
【００３３】
通信ノード101は、通信ノード108の遅延条件を達成するために、図１に示した伝送例の5倍の通信速度である375Mbpsで、AVデータを通信ノード107へ送信する。通信ノード101から通信ノード107までは、高レート（375Mbps）でAVデータを伝送可能であるため、１ホップあたりの遅延量は0.15msとなる。従って、通信ノード101から通信ノード107までの累積遅延量は0.75msとなる。なお、計算の簡単化のために、各中継ノード111〜114での内部処理で発生する遅延量等を同一であるものと仮定しているが、各中継ノード111〜114で異なる遅延量を有していてもよい。
【００３４】
通信ノード107は、受信したAVデータを自局で実行するアプリケーション用にバッファリングし、同時に、通信ノード108へ転送する。この際、通信ノード107と通信ノード108間は、100MbEの通信リンク速度であるため、低レート（75Mbps）での通信を行う。そのため、通信ノード107と通信ノード108間では、１ホップあたりの遅延量は図１における伝送例の時と同様の0.5msとなる。従って、通信ノード101から通信ノード108までの累積遅延量は、転送経路を含め、1.75msとなり、通信ノード108では、規定の遅延量2ms以下という遅延条件を達成することが可能となる。
【００３５】
図６に、本実施形態における送信ノード（図２では通信ノード101）の処理フローチャートを示す。S600では、送信ノードは、受信ノード（図２では通信ノード102〜108）から遅延量を満たさないことを示す通知を受信したか否かにより、遅延ノードが存在するか否かを判定する。例えば一定時間内に当該通知を受信しないことにより、遅延ノードが存在しないと判定された場合には（S600でNo）、送信ノードは、AVデータを各受信ノード宛、もしくはブロードキャストに送信し、本フローチャートは終了する。一方、遅延ノードが存在すると判定された場合には（S600でYes）、遅延ノードを特定し、S601で、送信ノードは、送信ノードとの間で遅延ノードとの通信リンク速度以上の速度で通信可能なノード（すなわち、転送ノードの候補）を選出し、ノードリスト300を作成する。S602では、送信ノードは、ノードリスト300を遅延ノードへ送信する。
【００３６】
S603では、送信ノードは、遅延ノードから、選出された転送ノードの識別情報と、送信ノードと転送ノード間の通信速度、転送ノードと遅延ノード間の通信速度を含む転送情報を受信する。なお、本フローチャートでは、遅延ノードが、送信ノードと転送ノード間の通信速度及び、転送ノードと遅延ノード間の通信速度を導出して、当該各通信速度を転送情報に含めるとした。しかし、この限りではなく、送信ノードが、当該各通信速度を算出してもよい。送信ノードが各通信速度を算出する場合には、遅延ノードと転送ノード間、および、送信ノードと転送ノード間の、ホップ数、もしくは遅延量の情報を、遅延ノードから受信してもよい。またさらに、送信ノードと転送ノード間のホップ数、もしくは遅延量の情報が、転送ノード経由で送信ノードに送信される場合に、転送ノードがホップ数、もしくは遅延量を特定（追加）してもよい。
【００３７】
また、S603において遅延ノードから送信ノードに送信される転送情報は、他の受信ノードにおいても受信可能であり、特定の受信ノードは、転送情報から、自局が転送ノードとして選出されたことを把握する。この時、転送情報に遅延ノードの識別情報が含まれる場合には、転送ノードは、AVデータの転送先を把握することができる。また、転送ノードは、送信ノードから遅延ノードに関する情報が送信されることにより、AVデータの転送先を把握するようにしてもよい。
【００３８】
S604では、送信ノードは、転送情報に従い、転送ノードへ高レートでデータを送信する。ここで、高レートとは、送信ノードと遅延ノード間の通信リンク速度に比較して高い通信速度であるものとする。
【００３９】
図７に、本実施形態における受信ノード（図２では、通信ノード102〜108）の処理フローチャートを示す。S700では、受信ノードは、送信ノード（図２では、通信ノード101）から各中継ノード（図２では、中継ノード111〜114）による累積遅延量やAVデータの必要帯域幅等を含むメッセージを受信し、自局が規定の遅延量を満たすか否か（閾値以上か否か）を判定する。既定の遅延量を満たす（閾値以上でない）と判定された場合には（S700でNo）、受信ノードは、送信ノードからのAVデータを受信して、所定の処理を介してリアルタイムに再生し、本フローチャートは終了する。一方、既定の遅延量を満たさない（閾値以上）と判定された場合には（S700でYes）、S701で、受信ノードは、自局が遅延ノードであることを送信ノードに通知する。
【００４０】
S702では、受信ノードは、送信ノードからノードリスト300を受信する。S703では、受信ノードは、ノードリスト300から、自局とのホップ数、もしくは遅延量が最少の通信ノードを、転送ノードとして選出し、上述したような手法で転送情報を作成する。S704では、受信ノードは、転送情報を転送ノード及び、送信ノードへ送信する。S705では、受信ノードは、送信ノードからのAVデータを転送ノードから受信する。ここで、転送時の送信速度は、転送情報に従うものとする。転送ノードから遅延ノードへは低レートでAVデータが転送されるが、送信ノードから転送ノードへは当該AVデータは高レートで送信されるため、結果として、遅延ノードは、既定の遅延量を満たすことが可能となる。
【００４１】
図８に、本実施形態における通信システム10における各ノードの動作を示すシーケンスチャートを示す。S800では、通信ノード101は各通信ノードに対して、送信するAVデータの必要帯域幅や累積遅延量等を含むメッセージを送信する。S801では、各中継ノード111〜114がメッセージ内の遅延量のフィールドに遅延量を加算、更新する。S802〜S804では、通信ノード102〜108は、累積遅延量を含むメッセージを受信する。S805では、通信ノード108は、既定の遅延量を自局で満たせないことをメッセージの累積遅延量より判断し、規定の遅延量（遅延条件）を満たせないことを通信ノード101へ通知する。
【００４２】
S806では、通信ノード101は、通信ノード108が遅延ノードであることを認識する。S807では、通信ノード101は、遅延ノードを救済可能な転送ノードの候補を選出し、ノードリスト300を作成する。S808では、通信ノード101は、作成したノードリスト300を遅延ノードである通信ノード108へ送信し、S809で通信ノード108がこれを受信する。
【００４３】
S810では、通信ノード108は、ノードリスト300から、最も自局とホップ数の小さい通信ノード107を、転送ノードとして決定する。また、通信ノード108は、通信ノード101と通信ノード107間、通信ノード107と通信ノード108間の、データ転送時の通信速度を導出して、転送情報に含める。なお、転送情報には、通信ノード107の識別情報（および通信ノード108の識別情報）も含まれる。S811では、通信ノード108は、転送情報を通信ノード107および、通信ノード101へ送信する。S812では、転送情報を受信した通信ノード107は、自局が通信ノード108の転送ノードであることを認識する。
【００４４】
S813では、通信ノード101は、通信ノード108から受信した転送情報から、通信ノード107が転送ノードとして選出されたことを把握する。S814では、通信ノード101は、転送情報に従い、AVデータを、高レートで通信ノード107へ送信する。この時の通信レートは、送信ノードと転送ノード間、転送ノードと受信ノード間のホップ数、もしくは遅延量に対して、既定の遅延量が達成されるように決定される。
【００４５】
S815では、通信ノード107は、受信したAVデータを自局で実行するアプリケーション用にバッファリングするのと同時に、遅延ノードである通信ノード108へ低レートでデータ送信する。ここで、低レートとは、通信ノード101と通信ノード107間の通信に比較して通信速度が低いことを示す。また、本実施形態での低レートとは、100MbEの通信リンク速度で受信可能な通信速度であるものとする。
【００４６】
S816では、通信ノード108が規定の遅延量以内にAVデータを受信し、受信データの同期再生を行うまでの間、受信AVデータをメモリ504にバッファリングする。S817では、通信ノード101は、通信ノード102〜106に対して、低レートで同AVデータを再度送信する。ここで、通信ノード107から通信ノード108へ低レートでAVデータを転送する際に、通信ノード102〜106もAVデータを受信してもよいが、既定の遅延量を満たさない通信ノードが発生する可能性がある。そのため、ここでは通信ノード101は、低レートでAVデータを再度送信することとする。また、本シーケンスチャートでは、AVデータの高レート送信と低レート送信は時系列に行われているが通信帯域に余裕があれば同時に送信してもよい。
【００４７】
S819では、各通信ノード102〜108で同期して、データ再生等の種々のアプリケーションの実行が開始される。ここでは、通信システムにマルチプロジェクションを行うプロジェクタが存在したため、すべての受信ノードが同期再生を行うシーケンスチャートで説明を行った。しかし、この限りではなく、映像の解析、合成等の動画処理演算等の他のアプリケーションはAVデータの受信後、直ぐに開始していてもよい。
【００４８】
［実施形態２］
実施形態１では、送信ノードは、図６のS601において、単に送信ノードとの通信リンク速度が遅延ノードとの通信リンク速度以上の通信ノードを転送ノード候補として選出し、ノードリスト300を作成した。実施形態２では、送信ノードが、更に条件の良い通信ノードを転送ノード候補として選出する方法について説明する。以下、実施形態１と異なる部分について説明する。
【００４９】
図９に、実施形態２における送信ノードの処理フローチャートを示す。S600では、送信ノードは、遅延ノードの有無を判定する。S601では、送信ノードは、送信ノードとの間で遅延ノードとの通信リンク速度以上の速度で通信可能なノードを選出する。S900では、送信ノードは、S601で選出したノードの中から、送信ノードとの通信に割り当てられる通信帯域の占有割合が閾値以上の通信ノードを選出する。
【００５０】
S901では、送信ノードは、S900で選出した通信ノード中から、高い優先度グループに属している通信ノードを選出する。このための前提として、各通信ノードには、複数の優先度グループのうちの、いずれかの優先度グループに属するものとする。例えば、Ethernet AVBでは、上記AVBドメインは、伝送されるストリーム（データ）の遅延条件と優先順位毎に形成される。そのため、各通信ノードは、ストリームの優先順位が異なれば異なるAVBドメインに属することとなる。ここで優先度グループとは、Ethernet AVB における上記AVBドメインと同様であるものとする。
【００５１】
なお、S601、S900、およびS901の処理は、いずれか一つを採用しても良いし、処理順序を入れ替えても良いことは言うまでもない。以下の処理フローは、図６と同様であるため、説明を省略する。
【００５２】
このように、以上に説明した実施形態によれば、通信リンク速度が異なる複数の通信ノードが夫々既定の遅延量以内にデータ伝送を行う通信システムにおいて、遅延量を満たさない通信ノードを救済することが可能となる。詳細には、送信ノードが通信パケットを既定の遅延量で受信できない遅延ノードを検出した場合に、遅延ノードを救済可能な転送ノードが送信ノードから高速に受信した通信パケットを遅延ノードへ転送することで既定の遅延量を達成することができる。
【００５３】
すなわち、既定の遅延量を満たさない受信ノードに対して、送信ノードから高速にパケット受信可能な転送ノードを設けることでリアルタイムに通信を行わせることが可能となる。また、1GbE (Gigabit Ethernet)や2.5GbE等に比較して低速な100MbE等を含むリアルタイム通信システムにおいて、低速な通信ノードを補助する転送ノードを設けることで更に遅延量を低減した通信を行うことが可能となる。遅延量が低減されることから、再生時に他の受信ノードとの同期ずれを生じることを防ぐことが可能となる。
【００５４】
なお、上記通信システムは、リアルタイム通信が必須である放送系現場を想定して説明を行ったが、この限りではなく他の種別の機器で構成されるマルチプロジェクション、ホームシアターシステムや産業系、車載系のアプリケーション等であってもよいものとする。
【００５５】
また、上述の図６、７、９のフローチャートは、送信ノード又は受信ノードのプロセッサがメモリに記憶されている制御プログラムを実行し、情報の演算および加工並びに各ハードウェアの制御を実行することにより実現されるものとして説明した。しかし、これらのフローチャートに示すステップの一部または全部を例えばASIC等のハードウェアで実現する構成としても良い。
【００５６】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５７】
101〜108  通信ノード、111〜114  中継ノード、110  コンテンツソース、300  ノードリスト、401  転送ノード候補選出部、501  転送ノード決定部
【図１】
2018107616.tif 000003
【図２】
2018107616.tif 000004
【図３】
2018107616.tif 000005
【図４】
2018107616.tif 000006
【図５】
2018107616.tif 000007
【図６】
2018107616.tif 000008
【図７】
2018107616.tif 000009
【図８】
2018107616.tif 000010
【図９】
2018107616.tif 000011