(57)【要約】【課題】通信パケットを冗長に伝送する際の通信パスを適切に選択する。【解決手段】複数の通信パスを介して送信装置と接続される通信装置は、該複数の通信パスのうち、所定の遅延量を満たす通信パスから、該送信装置と該通信装置の間で伝送されるパケットの複製種別に応じて所定の数の通信パスを選択し、該選択された通信パスの情報を送信した後に、該複製種別に応じて該送信装置から送信されたパケットが複製されることにより生成された複数のパケットを、該選択された通信パスを介して受信する。【選択図】図2
2018201162.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信パスを介して送信装置と接続される通信装置であって、
前記複数の通信パスのうち、所定の遅延量を満たす通信パスから、前記送信装置と前記通信装置の間で伝送されるパケットの複製種別に応じて所定の数の通信パスを選択する選択手段と、
前記選択手段により選択された通信パスの情報を送信した後に、前記複製種別に応じて前記送信装置から送信されたパケットが複製されることにより生成された複数のパケットを、前記選択された通信パスを介して受信する通信手段と、
を有することを特徴とする通信装置。
【請求項２】
前記通信手段により受信された複数のパケットを選択および／または合成する合成手段を更に有することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記通信手段は、前記合成手段により合成されて生成されたパケットを転送することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記複製種別は、前記送信装置から送信されたパケットの少なくとも一部を単純に複製することにより前記複数のパケットを生成する第１の方法か、前記送信装置から送信されたパケットに対する誤り訂正パケットを生成することにより前記複数のパケットを生成する第２の方法のいずれかであることを特徴とする請求項１から３のいずれか１項に記載の通信装置。
【請求項５】
前記複製種別が前記第１の方法である場合、前記選択手段は、前記所定の遅延量を満たす通信パスのうち、互いの遅延量の差がより小さい前記所定の数の通信パスを選択することを特徴とする請求項４に記載の通信装置。
【請求項６】
前記複製種別が前記第２の方法である場合、前記選択手段は、前記所定の遅延量を満たす通信パスのうち、互いの遅延量の差が前記誤り訂正パケットを生成するために必要な時間により近い前記所定の数の通信パスを選択することを特徴とする請求項４または５に記載の通信装置。
【請求項７】
前記複製種別が前記第２の方法であり、前記送信装置から、前記誤り訂正パケットを生成するために必要な時間が変更することが通知された場合、
前記選択手段は、前記所定の遅延量を満たす通信パスのうち、互いの遅延量の差が当該変更した誤り訂正パケットを生成するために必要な時間により近い所定の数の通信パスを再選択することを特徴とする請求項４から６のいずれか１項に記載の通信装置。
【請求項８】
複数の通信パスを介して受信装置と接続される通信装置であって、
前記複数の通信パスのうち、前記通信装置と前記受信装置の間で伝送されるパケットの複製種別に応じて選択された通信パスの情報を受信する受信手段と、
前記通信装置から送信するパケットを前記複製種別に応じて複製することにより複数のパケットを生成する生成手段と、
前記生成手段により生成された複数のパケットを、前記情報により示される前記選択された通信パスを介して送信する送信手段と、
を有することを特徴とする通信装置。
【請求項９】
前記生成手段は、他の通信装置から受信したパケットを前記複製種別に応じて複製することにより前記複数のパケットを生成することを特徴とする請求項８に記載の通信装置。
【請求項１０】
前記通信パスの情報は、前記選択された通信パスが通る装置を識別するアドレスの情報であることを特徴とする請求項１から９のいずれか１項に記載の通信装置。
【請求項１１】
複数の通信パスを介して送信装置と接続される通信装置の制御方法であって、
前記複数の通信パスのうち、所定の遅延量を満たす通信パスから、前記送信装置と前記通信装置の間で伝送されるパケットの複製種別に応じて所定の数の通信パスを選択する選択工程と、
前記選択工程において選択された通信パスの情報を送信した後に、前記複製種別に応じて前記送信装置から送信されたパケットが複製されることにより生成された複数のパケットを、前記選択された通信パスを介して受信する通信工程と、
を有することを特徴とする通信装置の制御方法。
【請求項１２】
複数の通信パスを介して受信装置と接続される通信装置の制御方法であって、
前記複数の通信パスのうち、前記通信装置と前記受信装置の間で伝送されるパケットの複製種別に応じて選択された通信パスの情報を受信する受信工程と、
前記通信装置から送信するパケットを前記複製種別に応じて複製することにより複数のパケットを生成する生成工程と、
前記生成工程において生成された複数のパケットを、前記情報により示される前記選択された通信パスを介して送信する送信工程と、
を有することを特徴とする通信装置の制御方法。
【請求項１３】
コンピュータを、請求項１から１０のいずれか１項に記載の通信装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信装置の制御方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、Ethernetによるネットワーク通信が一般的に使用されており、インターネットから、ローカルエリアネットワーク、機器間通信に至るまで適用範囲が広がっている。例えば、従来からのファイル共有や転送、メールやHTTP（Hypertext Transfer Protocol）などのアプリケーションを使用したファイルデータの伝送に加えて、VOD（Video On Demand）に代表されるAudio/Video等のストリームデータ通信への適用が増大している。さらに、Audio/Video等のストリームデータ（以下、AVデータ）をリアルタイムに伝送、他の通信ノードとの同期再生を可能とするEthernet AVB （Audio Video Bridging）と呼ばれるプロトコル規格がプロオーディオや車載、産業系、放送系で注目され始めている。Ethernet AVBでは、機器間の時刻同期を行う機能と、既定した遅延量以内にデータ伝送を行うためのQoS （Quality of Service）機能が規定されている。これらの機能により、データ再生時刻が設定されたデータをリアルタイムに伝送し、他の通信ノードと同期して再生することが可能となる。
【０００３】
Ethernet AVBにおけるリアルタイム・同期通信では、送信ノード（データを送信する通信ノード）は、送信ノードに対して既定の遅延で通信可能かつ、各々時刻同期可能な複数の通信ノードのグループであるAVBドメインを形成してリアルタイム・同期通信を行う。AVBドメインで規定されるリアルタイム通信では、100M bit Ethernet（以下、100MbE）以上の通信リンク速度で接続された機器間で7ホップ、2msまでの遅延が保証される。
【０００４】
ここで、Ethernet AVBでは、リアルタイム性を確保するために、送信ノードが受信ノード（送信ノードからのデータの送信先である通信ノード）に対して遅延量を把握可能なメッセージを送信する。各中継ノード（送信ノードと受信ノードとのデータ伝送を中継する通信ノード）では、メッセージを転送する際にメッセージ中の累積遅延量を加算、更新して伝送する。受信ノードでは、メッセージを受信することで累積遅延量を把握してリアルタイム通信の可否を判断する。各中継ノード間の遅延量は、デバイス内部遅延、転送フレームサイズ、通信リンク速度、利用可能な帯域幅に基づいて算出される。以上のように、Ethernet AVBでは、送信ノードからのデータ伝送に対して、各ホップにおける累積遅延量を受信ノードで正確に把握することで、リアルタイム通信の可否が判断されている。
【０００５】
上記Ethernet AVBをさらに拡張し遅延精度を向上するTSN（Time-Sensitive Networking）と呼ばれるプロトコル規格では、複数の通信パスを利用して冗長に通信パケットを伝送することで、通信のロバスト性を向上する技術が採用されている（冗長伝送技術）。詳細には、送信ノードまたは中継ノードが通信パケットを複製し、既定の遅延量を満たす複数の経路に送信し、受信ノードまたは中継ノードが複数の複製パケットを受信して、選択・合成することで送受信ノード間の通信の信頼性を向上する。このような、通信のロバスト性を向上する冗長伝送技術は、以前より様々な通信ネットワークにおいて取り組まれてきている。例えば、特許文献1では、データを複製して2つの経路に出力し、複数の経路から受信したデータを選択して1つの経路に出力することで、通信パスのロバスト性を向上する提案がなされている。
【０００６】
以上のように、Ethernet AVBに代表されるAVデータ等のリアルタイムデータ通信では、送受信機間の遅延量を正確に把握し、データ再生時刻を設定することで既定の遅延内で同期した通信を実現する仕組みが考案されている。さらにEthernet AVBを拡張したTSNでは、リアルタイム性を保ちつつ、送受信ノード、中継ノード間で複数の通信パスを利用して冗長に通信パケットを伝送することでロバスト性を向上する技術が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開2015-231091号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
冗長伝送を行うリアルタイム通信システムにおいて異なる通信パスを経由したパケットを受信ノードまたは中継ノードで選択又は合成する場合に各パケットの到着遅延差が生じると、受信ノードまたは中継ノードにおける受信バッファが圧迫されてしまう。詳細には、受信ノードまたは中継ノードでは、複製パケットの到着がオリジナルの通信パケットに比較して遅れると、複製パケットの受信までオリジナルの通信パケットを保持しておく必要があり、受信バッファリソースが圧迫される。その結果、バッファリソースの枯渇化が発生し、非AVBパケットや非TSNパケット等の他のパケットのスループットを低下させてしまうという課題が生じる。
【０００９】
本発明は、上記課題に鑑みてなされたものであり、通信パケットを冗長に伝送する際の通信パスを適切に選択することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明の一態様による通信装置は以下の構成を有する。すなわち、複数の通信パスを介して送信装置と接続される通信装置であって、前記複数の通信パスのうち、所定の遅延量を満たす通信パスから、前記送信装置と前記通信装置の間で伝送されるパケットの複製種別に応じて所定の数の通信パスを選択する選択手段と、前記選択手段により選択された通信パスの情報を送信した後に、前記複製種別に応じて前記送信装置から送信されたパケットが複製されることにより生成された複数のパケットを、前記選択された通信パスを介して受信する通信手段と、を有する。
【発明の効果】
【００１１】
本発明によれば、通信パケットを冗長に伝送する際の通信パスを適切に選択することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】実施形態における通信システムの構成図。
【図２】通信ノード101と通信ノード103間に形成される通信パスを表す図。
【図３】各通信パスと最大遅延量の対応表。
【図４】単純複製方法を用いた冗長伝送の例を表す図。
【図５】FEC生成方法を用いる冗長伝送の例を表す図。
【図６】送信ノードの内部ブロックの一例を示す図。
【図７】受信ノードの内部ブロックの一例を示す図。
【図８】第1の実施形態における送信ノードの処理フローチャート。
【図９】第1の実施形態における受信ノードの処理フローチャート。
【図１０】第1の実施形態における各通信ノードの動作を示すシーケンスチャート。
【図１１】FEC種別と各条件に対する遅延量の対応表。
【図１２】第2の実施形態における各通信ノードの動作を示すシーケンスチャート。
【発明を実施するための形態】
【００１３】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１４】
［第1の実施形態］
図1に、以下に説明する本発明の実施形態における通信システムの構成図を示す。図1に示す通信システム100は、一例として、放送系現場におけるリアルタイム通信システムを想定した構成であり、8台の通信ノード101〜108と6台の中継ノード111〜116から構成される。ここで、説明のための例として、通信ノード101は、ビデオカメラであり、通信ノード102〜108は、映像観賞用のプロジェクタや映像確認用の液晶ディスプレイ、映像の編集操作を行うための編集機材、映像の解析や合成等の動画処理演算を行うPC等から構成されるものとする。
【００１５】
ビデオカメラとしての通信ノード101により撮像されて得られた映像データ（AVデータ）は、通信ノード101から通信ノード102〜108へ配信される。既定の遅延量を満たして映像データを受信した通信ノード102〜108では、各ノードに応じた映像出力や編集、解析、映像合成等の様々なアプリケーションがリアルタイムに実行される。
【００１６】
また、各通信ノード101〜108は、リアルタイム通信に対応したネットワークハブである中継ノード111〜116を介して複数の通信パスで各々冗長に通信可能なネットワークトポロジを有しているものとする。ここで、通信ノード101〜108および中継ノード111〜116は、例えばEthernet AVBやTSN等のリアルタイム・同期通信が可能なプロトコル規格に対応しているものとする。
【００１７】
また、図1に示すように、各通信ノード101〜108と中継ノード111〜116間は、通信リンク形成時に決定されるリンク速度で各々通信するものとする。例えば、中継ノード111と中継ノード112間は、1GbE のリンク速度、中継ノード112、114、115間は、10MbEのリンク速度、中継ノード112、113間、中継ノード113、114間は、100MbEのリンク速度で通信パスを形成しているものとする。
【００１８】
通信システム100において、リアルタイム通信の開始以前に、通信ノード102〜108は、通信ノード101からのAVデータを既定の遅延量以内に受信可能か否かを判定する。以降では、通信システム100における遅延条件の一例として、許容される遅延量（規定遅延量）を2ms以下と仮定し、通信ノード101から通信ノード103へAVデータを冗長に送信する場合を考える。
【００１９】
通信ノード101は、送信するAVデータの必要帯域幅を含むメッセージを、通信ノード103へ送信する。その際に、各中継ノード111〜115は、各ホップで発生する遅延量をメッセージに累積、更新して転送する。ここで、メッセージには必要帯域幅、累積遅延量以外にもEthernet AVBで規定されるAVストリームID やVLAN(Virtual Local Area Network) IDが含まれてもよい。また、メッセージとは、Ethernet AVBでのトーカ広告メッセージに相当するものであってもよい。通信ノード103は、複数の通信パスを経由して受信した複数のメッセージの累積遅延量、必要帯域幅等に基づいて通信ノード101との通信の可否を判定し、判定結果を通信ノード101へ通知する。
【００２０】
図2に、本実施形態における通信ノード101と通信ノード103間に形成される通信パスを示す。通信システム100において、通信ノード101が通信パケット（AVデータからパケット化されたデータ）を送信し、通信ノード103が受信する場合の通信パスとして、通信パス201〜206が存在する。ただし、ここでは通信パスとしてループを形成するものは除外している。
【００２１】
通信ノード101から送信される通信パケットは、通信パス201〜206から通信ノード103により選択された既定数の通信パスを介して、冗長伝送される。以降の説明では、選択する通信パスの組み合わせに応じて、通信パスが分岐する中継ノードが通信パケットを複製し、通信パスが合流する中継ノードが通信パケットを選択・合成を行うものとする。そのため、通信パスの組み合わせに応じて、通信パケットを複製する中継ノードと合成する中継ノードが異なる。
【００２２】
例えば、通信パス201と通信パス202が選択された場合は、通信パケットを複製する中継ノードは中継ノード111となり、通信パケットを合成する中継ノードは中継ノード113となる。また、通信パス202と通信パス203が選択された場合には、通信パケットを複製する中継ノードは中継ノード115となり、通信パケットを合成する中継ノードは中継ノード113となる。このほか、例えば、通信ノード101、通信ノード103または、分岐・合流に位置しない通信パス上の他の中継ノードが、通信パケットの複製と選択・合成を行ってもよい。
【００２３】
図3に、通信パス（図2に示す各通信パス201〜206）それぞれに対応する最大遅延量（蓄積遅延量）の例を示す。通信ノード103は、各通信パス201〜206を経由して受信された複数のメッセージから、各通信パスに対応する最大遅延量を抽出することができるものとする。そして、通信ノード103は、図3に示す通信パス201〜206と最大遅延量との関係に基づいて、通信パス201〜206から、既定の遅延量を満たす通信パスを候補パスとして決定する。例えば、上述したように、本実施形態における規定遅延量は2msであり、通信パス204の最大遅延量（2.4ms）は、既定遅延量（2ms）を満たさないため、候補パスとして除外される。また、通信パス201〜203、205に対応する最大遅延量は、既定遅延量（2ms）を満たすため、候補パスと決定される。なお、候補パスの決定は、通信ノード103に代わり、通信パスが合流する（通信パケットを選択・合成する）中継ノードにより行われてもよい。
【００２４】
続いて、通信ノード103は、決定した候補パスの中から冗長伝送を行う通信パスを、候補パスに対応する最大遅延量と、冗長伝送する際の通信パケットの複製方法に基づいて選択する。本実施形態では、冗長伝送する際の通信パケットの複製方法として、通信パケットの全てまたは一部を単純複製する方法（単純複製方法）と、通信パケットに対してFEC (Forward Error Correction)パケットを生成する方法（FEC生成方法）を扱う。なお、候補パスの決定と同様に、冗長伝送を行う通信パスの選択は、通信パスが合流する（通信パケットを選択・合成する）中継ノードにより行われてもよい。
【００２５】
ここで、図4と図5を参照して、単純複製方法と、FEC生成方法を用いた冗長伝送の例についてそれぞれ説明する。図4は、単純複製方法を用いた冗長伝送の例を表す図である。単純複製方法を用いる冗長伝送では、まず、通信ノード103へ送信される通信パケット（オリジナルのパケット）が、所定の中継ノード（以下、複製ノード）により複製される（複製パケット）。そして、複数の通信パスを介して通信ノード103へ送信される通信パケット（オリジナルのパケットと複製パケット）の選択・合成を行う所定の中継ノード（以下、選択・合成ノード）における受信バッファに、先に到着する通信パケットが滞留しないように、候補パスの中から、冗長伝送に使用する複数の通信パスが選択される。すなわち、選択・合成ノードに同時期に到着可能な複数の通信パス（複製ノードと選択・合成ノード間の遅延量差が最も小さい通信パスの組み合わせ）が選択される。なお、説明の簡略化のため、選択される既定パス数は2とする。
【００２６】
図4の例では、図3から理解できるように、候補パスである通信パス201〜203、205の中で最大遅延量の差が最も小さい通信パスの組み合わせは、通信パス202と通信パス203である。したがって、通信パス202と通信パス203が、冗長伝送を行う通信パスとして選択される。そして、複製ノードは中継ノード115、選択・合成ノードは中継ノード113と決定される。通信パス202と通信パス203を使用して冗長伝送を行う場合は、通信ノード101から送信された通信パケット400は、複製ノードとしての中継ノード115で単純複製されて通信パケット401が生成される。中継ノード115は、通信パケット400と通信パケット401をそれぞれ中継ノード112と中継ノード114に転送する。選択・合成ノードとしての中継ノード113は、中継ノード112と中継ノード114をそれぞれ介して同時期に2つ経路から通信パケット400、401を受信する。中継ノード113は、2つの通信パケット400、401を受信するものの、一方の通信パケット（通信パケット400）にエラーが発生していることを検知する。このような場合であっても、中継ノード113は、エラーフリーの通信パケット（通信パケット401）を選択し、通信ノード103に送信することにより、通信ノード103は、既定遅延以内に通信パケットを受信することができる。
【００２７】
なお、図4の例では、複製された通信パケットを受信する中継ノードは、例えばチェックサムやCRC (Cyclic Redundancy Check)を用いて、エラー検出を行うことができるものとする。また、通信パケットを選択・合成する中継ノード113は、受信した複数の通信パケットのうち、エラーを含む通信パケットがあると判定した場合は、図4の例のように、1つの通信パケットを選択して、通信ノード103に送信してもよい。また、中継ノード113は、複数のパケット間で多数決判定等の最尤復号を行って選択した通信パケットを通信ノード103に送信してもよい。
【００２８】
次に、図5を参照してFEC生成方法を用いる冗長伝送について説明する。図5は、FEC生成方法を用いる冗長伝送の例を表す図である。FEC生成方法を用いる冗長伝送では、まず、所定の中継ノード（以下、エンコードノード）により、通信ノード103へ送信される複数の（連続する）通信パケットに対して排他的論理和が施され、FECパケット（誤り訂正パケット）が生成される。そして、複数の通信パスを介して通信ノード103に送信される複数の通信パケットおよびFECパケットを必要に応じて選択・合成する選択・合成ノードにおける受信バッファに、先に到着する通信パケットが滞留しないように、FECエンコードの演算時間を考慮して、候補パスの中から、冗長伝送に使用する複数の通信パスが選択される。すなわち、エンコードノードと選択・合成ノード間の遅延量差がFECの演算時間に最も近い複数の通信パスが選択される。また、遅延量の小さい通信パスから、FECパケットが送信されるようにする。
【００２９】
図5の例では、エンコードノードが、中継ノード111と決定されるとする。エンコードノートとしての中継ノード111は、複数の（連続する）通信パケット501、502に対して排他的論理和を施すことにより、FECパケット500を生成する。ここで、中継ノード111では、FECパケット500を生成するためにFECエンコードでの演算時間0.3msの遅延が生じるものとする。図5の例では、図3から理解できるように、候補パスである通信パス201〜203、205の中で最大遅延量の差が最もFEC演算時間（0.3ms）に近い通信パスの組み合わせは、通信パス202と通信パス205である。したがって、通信パス202と通信パス205が、冗長伝送を行う通信パスとして選択される。そして、通信パス202と通信パス205が合流する中継ノードは中継ノード114であることから、選択・合成ノードは中継ノード114と決定される。
【００３０】
エンコードノードである中継ノード111は、FECパケット500を、遅延量がより小さい通信パスである通信パス205から送信する。すなわち、中継ノード111は、FECパケット500を中継ノード112に送信する。また、中継ノード111は、複数の通信パケット（通信パケット501、502）を中継ノード115へ転送する。ここで、通信パケット502にエラーが発生したと仮定する。この場合、同時期に2つ経路から通信パケット501、502とFECパケット500を受信した中継ノード114は、FECパケット500と通信パケット501を選択し合成することにより、通信パケット502を回復させることができる。このように、通信パケット502にエラーが発生する場合においても、中継ノード114は、通信パケット502を回復させ、結果として、通信ノード103は、既定遅延以内にエラーフリーの通信パケット501、502を受信することが可能となる。
【００３１】
なお、ここではFEC方式として排他論理和を用いた方式を説明したが、この限りではなく、例えば、水平パリティー符号、リードソロモン符号、LDPC （Low Density Parity Check）符号、LDGM （Low Density Generator Matrix）符号を用いてもよい。
【００３２】
次に、図6を参照して、通信パケットを送信する通信ノード（送信ノード）の構成について通信ノード101を例に説明する。図6は、本実施形態における通信ノード101の内部ブロックの一例を示す図である。プロセッサ605は、各機能ブロック（601〜603、607、608）の制御を行う。メモリ604は、各機能ブロックが共有して使用するメモリ空間である。アドレス・データバス603は、各機能ブロック間のデータのやり取りに使用される。通信部600は、他の通信ノード102〜108および中継ノード111〜116とのデータ通信に関する制御を行う。また、通信部600とプロセッサ605、メモリ604は、連携して、AVBもしくはTSNドメイン（以下、通信ドメイン）形成等の同期通信に必要となるメッセージ生成、送受信を行う。撮像部607は、撮像により映像を取得する、AVデータ処理部608は、撮像部607により取得された映像に対して、必要に応じて圧縮等の画像処理を行う。
【００３３】
複製種別決定部601は、AVBもしくは通信ドメインを形成時に、各通信ノード102〜108や各中継ノード111〜116とネゴシエーションを行い、冗長伝送を行う際の複製種別を決定する。本実施形態では、複製種別として、上述したように、単純複製方法か、FEC生成方法から決定されるものとする。また更に、パケット合成時に最尤復号を行う場合は、多数決判定等の最尤復号の方式についてもここで決定されるものとする。冗長パケット部602は、複製種別決定部601により決定された複製種別に応じた冗長パケットの複製を、後述する他の通信ノード102〜108または中継ノード111〜116からの通信パス情報（決定した複製種別に対応して選択された通信パスの情報）もしくはパケット複製依頼（パケットを複製するための依頼）に従って行う。なお、図6に示す構成は、通信ノード101に対応する構成であるが、図6に示す構成から撮像部607、AVデータ処理部608を除いた構成は、中継ノード111〜116の構成に対応し得る。
【００３４】
次に、図7を参照して、通信パケットの受信および／または通信パス選択を行う通信ノード（受信ノード）の構成について通信ノード103を例に説明する。図7は、本実施形態における通信ノード103の内部ブロックの一例を示す図である。図6に示した通信ノード101の構成と同様に、プロセッサ705は、各機能ブロック（700〜7021、706〜708）の制御を行い、メモリ704は、各機能ブロックが共有して使用するメモリ空間であり、アドレス・データバス703は各機能ブロック間のデータのやり取りに使用される。
【００３５】
通信部700は、他の通信ノード101、102、104〜108および中継ノード111〜116とのデータ通信に関する制御を行う。通信部700は、冗長伝送を行う際の複製種別を決定するための通信を行うこともできる。また、通信部700、プロセッサ605、メモリ604は、連携して、通信ドメイン形成時の同期通信に必要となるメッセージの送受信、蓄積遅延量の抽出、リアルタイム通信の可否の判断を行うことができる。
【００３６】
通信部700により受信された通信ノード101からのAVデータは、一旦、メモリ704に格納される。AVデータ処理部708は、メモリ704に格納されたAVデータを読出して映像出力部707に伝達し、映像出力部707は、受け取ったAVデータを表示可能なデータに変換する。映像出力部707は、例えば、液晶プロジェクタやディスプレイや編集機材に対応して構成され得る。映像出力部707が編集機材に対応して構成される場合には、映像出力部707は、モニタ出力とスイッチやボリューム等のユーザインターフェースであってもよい。
【００３７】
候補パス決定部702は、通信部700により各通信パス201〜206を介して複数受信される通信ノード101からのメッセージから、各通信パス201〜206に対する累積遅延量を抽出する。そして、候補パス決定部702は、上述したように、既定遅延量以下の通信パスを候補パスとして決定する。なお、通信ノード101からのメッセージは、通信ノード103で受信されるまでに各中継ノード111〜116において存在する通信パスの数だけ複製されるものとする。
【００３８】
パス選択部701は、候補パス決定部702により決定された候補パスから、通信ドメイン形成時に決定した複製種別に従うパス選択方法に応じて既定数の通信パスを選択する。また、パス選択部701は、通信パス情報や通信パケット複製依頼を他の通信ノード101や中継ノード111〜116へ通信部700を介して通知する。
【００３９】
パケット合成部706は、他の通信ノード101や中継ノード111〜116で複製されて受信した通信パケットと複製（冗長）パケットを選択および／または合成する。なお、図7に示す構成は、通信ノード103に対応する構成であるが、図7に示す構成から映像出力部707部、AVデータ処理部708を除いた構成は、中継ノード111〜116の構成に対応し得る。
【００４０】
次に、図8を参照して、通信ノード101または送信処理を担う中継ノード111〜116の動作を説明する。図8は、通信ノード101または送信処理を担う中継ノード111〜116の処理フローチャートを示す。なお、説明のため、図8の処理を行うノードを、送信ノードと称する。また、既に冗長伝送する際の通信パケットの複製種別に関しては、各通信ノード101〜108や中継ノード111〜116間で決定されているものとする。
【００４１】
S800では、送信ノードは、選択・合成ノード（中継ノードまたは受信ノード）から通信パス情報を受信する。S801では、送信ノードは、受信した通信パス情報に従い、通信パス情報に挙げられていない通信パスに関連するポートにブロッキング設定を行う。ここで、通信パス情報は、選択・合成ノードにより選択された通信パスの経路が判別可能な情報として、経路上の各通信ノード101〜108または中継ノード111〜116の識別情報（IPアドレス等）等であってもよい。また、ブロッキング設定とは、形成する通信ドメイン内において、特定のパケットに対して転送が不要なポートを送信不可とする設定である。ここではポートVLAN （Virtual LAN）を想定して説明を行ったが、MACアドレス、IPアドレスとポートの関連性を規定し同様の機能を実現しても良いし、タグVLANの技術を適用してもよい。
【００４２】
S802では、送信ノードは、通信パケットに対して有効となっているポートがあるか否かを判定する。有効なポートが無い場合には（S802でNo）、S803で通信パケットの転送を行わない。一方、有効なポートが有り（S802でYes）、複製依頼を受信した場合には（S804でYes）、S805で送信ノードは、通信パケットの複製を行い、有効なポートから送信を行う。有効なポートが有る（S802でYes）が、複製依頼を受信していない場合には（S804でNo）、S806で送信ノードは、複製せずに通信パケットを有効なポートから送信する。なお、S804において、送信ノードが通信パスの分岐に位置する中継ノードであることが通信ドメイン形成時に決定済みである場合には、複製依頼を受信するかの判定なしで、S802における有効なポート数が複数存在するかの判定により、通信パケットの複製の要否を判断しても良い。
【００４３】
次に、図9を参照して、通信ノード103の動作を説明する。図9は、通信ノード103の処理フローチャートを示す。なお、説明のため、図9に示す処理を行うノードを、受信ノードと称する。
【００４４】
S900では、受信ノードは、各通信パスを通じて複数のメッセージを受信する。S901では、受信ノードは、各通信パスの累積遅延量を抽出する。S902では、受信ノードは、抽出した累積遅延量から既定遅延量以上の通信パスを候補パスとして決定し、決定した候補パスの数が、既定数以上か否かを判定する。候補パスの数が既定数に満たない場合（S902でNo）、S903に進み、受信ノードは、冗長伝送を行わない判断を行う。候補パスの数が既定数を超える場合（S902でYes）、S904に進み、受信ノードは、冗長伝送を行う際の複製種別が単純複製方法であるか否かを判定する。
【００４５】
単純複製方法を用いる場合（S904でYes）、S906に進み、受信ノードは、通信パスの組み合わせとして、遅延量の差が小さい順に通信パスを既定数選択する。規定数の通信パスを選択したことに応じて、受信ノードは複製ノードを決定することができる。なお、複製ノードは、予め（通信ドメイン形成時等）に、決定されてもよい。受信ノード以外により複製ノードが決定された場合は、複製ノードの情報が受信ノードに伝達されてもよい。
【００４６】
単純複製方法を用いない（すなわちFEC生成方法を用いる）場合（S904でNo）、S905に進む。S905では、受信ノードは、通信パスの組み合わせとして、FECエンコードを行うエンコードノード（複製ノード）におけるFECエンコードの演算時間（遅延量）最も近い遅延量の差を有する通信パスを既定数選択する。なお、エンコードノードは、予め（通信ドメイン形成時等）決められていてもよい。例えば、送信ノードから開始する通信パスが最初に分岐する地点におけるノードが、エンコードノードとして決定されてもよい。受信ノード以外によりエンコードノードが決定された場合は、エンコードノードの情報が受信ノードに伝達されてもよい。受信ノードは、S905またはS906で選択した通信パスの組み合わせに基づいて、選択・合成ノードを決定する。
【００４７】
S907では、受信ノードは、通信パス情報を通信ノード101および、各中継ノード111〜115に送信する。S908では、複製ノードに複製依頼を送信し、通信パケットの複製を依頼する。なお、予め（通信ドメイン形成時等）に、複製ノードは通信パスの分岐に位置する中継ノードであることが決定済みである場合には、複製ノードは、S907で受信した通信パス情報により通信パケットを複製する否かを判断できるため、S908の処理を省いてもよい。S909では、受信ノードは、データ伝送の準備が完了したことを示す準備完了メッセージを、中継ノード111〜115を介して通信ノード101へ送信する。
【００４８】
なお、各通信パスを通じて受信するメッセージには、冗長伝送における通信パケットの複製で生じる遅延量が加算され得る。すなわち、デバイス内部遅量としてFECエンコーダ、デコーダの遅延が加算されてもよい。また、別途FECエンコーダ、デコーダの遅延量を複製ノードと選択・合成ノード間で通信し、パス選択の際の累積遅延量の比較に使用してもよいものとする。
【００４９】
なお、図9に示す処理は、例えば、受信ノード（通信ノード103）に遅延量を把握するためのメッセージを最後に中継（送信）する中継ノード（図1、2では中継ノード113）により行われてもよい。このように、図9に示す処理が、中継ノード113により行われる場合、S901、S902では、各通信パス201〜205に対応する累積遅延量と、受信ノード（通信ノード103）での遅延量の情報から、既定遅延量以上の通信パスを候補パスとして決定することができる。また、この場合、通信パスを選択した中継ノード113が選択・合成ノードと異なる場合には、中継ノード113は、選択・合成ノードへ通信パケットの選択・合成の依頼を行ってもよい。また、この場合、中継ノード113は、遅延量を把握するためのメッセージを受信ノード（通信ノード103）に送信後に、準備完了メッセージを受信し、決定した複製ノードに複製依頼を送信した後に、準備完了メッセージを他の通信ノードに転送する。
【００５０】
図10に、通信ノード101が通信ノード103に通信パケットを送信する際の、本実施形態における各ノードの動作を示すシーケンスチャートを示す。ここでは中継ノード113が通信パス選択を行うものとして以降説明を行う。
【００５１】
S1000では、通信ノード101は、各通信ノード101〜108に対して、遅延量を把握するためのメッセージを送信する。S1001〜S1004では、各中継ノード111〜115が、メッセージ内の遅延量のフィールドに遅延量を加算、更新する。S1005では、通信ノード103は各通信パス201〜206における累積遅延量を含む複数のメッセージを受信する。S1006では、通信ノード103は、S1005でメッセージを受信したことを示す準備完了メッセージおよび通信ノード103における遅延量の情報を中継ノード113に送信する。また、ここで通信ノード103は、各通信パス201〜206における累積遅延量の情報を中継ノード113に送信してもよい。
【００５２】
S1007では、中継ノード113は、通信ノード103から準備完了メッセージと通信ノード103における遅延量の情報を受信する。S1008では、中継ノード113は、S1004で受信した各通信パス201〜206に対応する累積遅延量と通信ノード103での遅延量の情報から、既定遅延量を満たす候補パスを決定する。中継ノード113が通信ノード103から各通信パス201〜206における累積遅延量の情報を受信していた場合には、受信した情報に直接的に基づいて、既定遅延量を満たす候補パスを決定する。
【００５３】
S1009では、中継ノード113は、各候補パスの累積遅延量を比較する。S1010では、中継ノード113は、通信パケットの複製種別に応じて、既定数の通信パスの組み合わせを選択する。また、中継ノード413は、決定した規定数の通信パスの組み合わせに基づいて、中継ノード115を複製ノードとして決定し、中継ノード113を選択・合成ノードとして決定する。S1011では、中継ノード113は、選択した通信パスの情報である通信パス情報を通信ノード101と各中継ノード111、112、114、115へ送信する。S1012〜1015では、通信ノード101、および、各中継ノード111、112、114、115は、通信パス情報を受信する。各中継ノード111、112、114、115は、通信パス情報に従い、ポートのブロッキング設定を行う。
【００５４】
S1016では、中継ノード113は、複製ノードである中継ノード115へ複製依頼を送信し、パケットの複製を依頼する。S1018では、中継ノード113は、通信ノード103から受信した準備完了メッセージを転送する。S1019〜S1022では、各中継ノード111、115、112、114を介して準備完了メッセージが転送され、通信ノード101が受信する。ここで複数の準備完了メッセージは中継ノード113が1つにまとめ、通信ノード101に対して選択した通信パスのいずれかで送信してもよい。
【００５５】
S1023では、通信ノード101は、通信パケットを送信し、S1024では、中継ノード111は、通信パケットを転送する。S1025では、中継ノード115が通信パケットを複製し、S1026で、中継ノード112、114を介する経路で冗長に伝送する。S1027では、選択・合成ノードとしての中継ノード113は、複数の通信パケットのうち、エラーフリーもしくはエラー率が低い一方の通信パケットを選択して通信ノード103へ転送し、S1028で通信ノード103により受信される。
【００５６】
このように、第1の実施形態では、冗長伝送の方法に応じて、通信パスを適切に選択することができる。これにより、合成、選択する受信ノードまたは中継ノードにおけるパケットの保持期間を抑え、バッファリソースの枯渇による他の通信パケットのスループットの低下を防ぐことが可能となる。
【００５７】
［第2の実施形態］
上記第1の実施形態では、通信パケットの複製種別として単純複製方法とFECパケット生成方法の場合で通信パスの選択方法が異なることについて説明を行った。第2の実施形態では、更に、複製種別やFECパケットの生成種別、条件が変化した際に通信パスを再選択する場合に関して説明を行う。以下、第1の実施形態と異なる点について説明し、共通の部分については説明を省略する。
【００５８】
図11に、本実施形態におけるFEC種別と各条件に対する遅延量を示すFEC対応表1100を示す。FEC対応表1100は、FECパケットを生成する際のFEC方式の種別（FEC種別）1101に対して、パケット数1102、パケット長1103、複製数1104を条件にした各遅延量（遅延量1111〜1116）を示している。ここで、パケット数1102とは、1つのFECパケットを生成する際に使用する通信パケットの数とする。また、複製数1104とは、FECパケットを既定数の通信パスに送信する場合の複製数とする。また、パケット長1103とは、通信パケットの大きさを示し、パケット長1103の変化に伴って符号長を変化しても良い。遅延量1105は、演算負荷が大きい順に大きくなる（遅延量1111〜1116）。
【００５９】
複製種別としてFEC生成方法が選択される場合、通信パス選択を行う通信ノードは、FEC種別や条件に応じてこれらの遅延量の違いを通信パスの選択の際に考慮する。なお、各FEC種別と条件に対する遅延量は、通信パス選択を行う通信ノード（図7）のメモリ704に記憶されており、パス選択時にパス選択部701において参照される。
【００６０】
図12に、本実施形態における各通信ノードの動作を示すシーケンスチャートを示す。ここでは、中継ノード115が通信パケットが複製され、中継ノード113がパケットの選択・合成を行う冗長伝送時を想定する。そして、通信ノード101においてパケット長の変化が発生し、通信パスを再選択する場合を想定する。なお、通信パケットの複製種別としてはFEC生成方法を用いるものとする。
【００６１】
S1200〜S1205では、通信ノード101から送信される通信パケットを中継ノード115で複製、中継ノード113で合成して、通信ノード103へリアルタイム冗長伝送を実行中である。S1206、S1207では、通信ノード101において撮像時の解像度の変更や圧縮率の変更等によるパケット長の変更が発生し、通信ノード101は、発生したパケット長の変更を通信ノード103へ通知する。なお、ここでは、パケット長の変更を通信ノード103へ通知することを例に説明するが、通信ノード101は、FECパケットを生成するために必要な時間（遅延量）が変更することを通知してもよい。
【００６２】
S1208、S1209では、通信ノード103においてFEC対応表1100からパケット長の変更に相当する遅延量を参照し、通信パス候補の蓄積時間と比較して既定数の通信パスを選択する。例えば、FEC対応表1100においてFEC方式1のパケット長256から同方式のパケット長1024に変更された場合に、遅延量は0.3msから0.4msとなる。そのため、通信ノード103は、遅延差が0.4msに最も近い通信パスを再選択する。既定数の通信パスを2とする場合には、通信パス202と通信パス205が選択される。
【００６３】
S1210では、通信ノード103は、選択した通信パス情報を通信ノード101と各中継ノード111〜115へ送信する。S1211〜S1214では、通信ノード101および、各中継ノード111〜115において通信パス情報が受信され、各中継ノード111〜115では、通信パス情報に従い、ポートのブロッキング設定が行われる。
【００６４】
S1215、S1216では、通信ノード103が複製ノードである中継ノード111へパケットの複製を依頼する。S1217、S1218では、通信ノード103は、FECパケット生成時の条件変更による通信パスの変更が完了した旨を通信ノード101へ通知する。S1219〜S1224では、通信ノード101は、変更後のパケット長で通信パケットを送信し、中継ノード111では、変更後のパケット長に応じた符号化によりFECパケットが生成される。さらに通信パケットおよび、FECパケットは中継ノード112、114を介して中継ノード113で受信、合成または復号されたのち、通信ノード103で受信される。
【００６５】
このように、第2の実施形態によれば、リアルタイム冗長伝送を実行中に通信パケット長に変化があった場合等、FECパケットを生成するために必要な時間（遅延量）が変更する場合であっても、通信パスを適切に選択することができる。これにより、通信パケット長に変化があった場合であっても、合成、選択する受信ノードまたは中継ノードにおけるパケットの保持期間を抑え、バッファリソースの枯渇による他の通信パケットのスループットの低下を防ぐことが可能となる。
【００６６】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６７】
101〜108  通信ノード、111〜116  中継ノード、201〜206  通信パス
【図１】
2018201162.tif 000003
【図２】
2018201162.tif 000004
【図３】
2018201162.tif 000005
【図４】
2018201162.tif 000006
【図５】
2018201162.tif 000007
【図６】
2018201162.tif 000008
【図７】
2018201162.tif 000009
【図８】
2018201162.tif 000010
【図９】
2018201162.tif 000011
【図１０】
2018201162.tif 000012
【図１１】
2018201162.tif 000013
【図１２】
2018201162.tif 000014