(57)【要約】【課題】可変長フレーム通信時の揺らぎの発生を抑制する。【解決手段】通信装置１０は、複数の経路を介して対向装置１２と接続される。通信装置１０の信号送受信部３６は、長さが異なる複数のフレームを複数の経路のそれぞれを介して対向装置１２へ送信する。通信装置１０のＣＰＵ３０は、経路毎に、各フレームを送信してから応答を受信するまでの遅延時間に基づいて、フレーム間での遅延時間差を算出する。ＣＰＵ３０は、各経路について算出したフレーム間での遅延時間差に基づいて、複数の経路の中からフレーム転送に使用する経路を選択する。【選択図】図３
2016171496.tif 000002
【特許請求の範囲】
【請求項１】
複数の経路を介して所定の対向装置と接続され、
長さが異なる複数のフレームを前記複数の経路のそれぞれを介して前記対向装置へ送信するフレーム送信部と、
経路毎に、前記複数のフレームのそれぞれを送信してから応答を受信するまでの時間である遅延時間に基づいて、前記複数のフレーム間での遅延時間差を算出する遅延時間差算出部と、
各経路について算出された前記複数のフレーム間での遅延時間差に基づいて、前記複数の経路の中からフレーム転送に使用する経路を選択する経路選択部と、
を備えることを特徴とする通信装置。
【請求項２】
前記経路選択部は、前記複数の経路のうち前記遅延時間差が小さい経路を、前記フレーム転送に使用する経路として選択することを特徴とする請求項１に記載の通信装置。
【請求項３】
各経路について算出された前記複数のフレーム間での遅延時間差に基づいて、各経路におけるストアアンドフォワードのバッファ数を推定する推定部をさらに備え、
前記経路選択部は、前記複数の経路のうち前記ストアアンドフォワードのバッファ数が少ない経路を、前記フレーム転送に使用する経路として選択することを特徴とする請求項１に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信技術に関し、特に通信装置に関する。
【背景技術】
【０００２】
近年の通信市場では、バックボーン回線であっても、ＳＤＨ／ＳＯＮＥＴ技術を適用した高価なシステムから、イーサネット（登録商標）技術を適用した比較的安価なシステムへの置き換えが進んでいる（例えば特許文献１参照）。ＳＤＨ／ＳＯＮＥＴでは固定長フレームを用いてデータを定期的に送受信する一方、イーサネット技術では可変長フレームを用いてデータを間欠的に送受信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−３２６６８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、イーサネット技術を適用したシステムにおいても、伝送遅延の揺らぎを抑えることが求められることがある。一般的にフレームの合流地点では、ある１つのフレームを読み出している間、他のフレームの読出しを保留する必要がある。そのため、長いフレームと短いフレームが合流する場合、長いフレームを合流地点にて読み出している間は、短いフレームの読出しが待たされることになり、エンドポイントで見た場合、データ到達時間の遅延の変動要因になる。この変動を極力抑える目的でフレームを分割する手法が用いられることもある。しかし、分割した複数のフレームから元データを復元するための各種情報をフレームに付加する必要があり、その結果、伝送帯域が増加して通信の効率が悪くなることがあった。
【０００５】
ところで、フレーム伝送に使用されるバッファには、ストアアンドフォワード（store & forward）バッファ（以下「ＳＦバッファ」と呼ぶ。）と、カットスルー（cut through）バッファの２つがある。カットスルーバッファは１フレーム全部の蓄積を待つことなく転送するのに対し、ＳＦバッファは１フレーム全部を蓄積後に転送する。ＳＦバッファは、例えば通信装置内に設けられ、フレーム伝送のＱｏＳ（Quality of Service）を制御するためなどに使用される。
【０００６】
図１は、伝送遅延揺らぎの発生メカニズムを模式的に示す。イーサネット等の可変長フレーム伝送では、長さが長いフレームの後に長さが短いフレームが直列に伝送される場合、ＳＦバッファから長いフレームの読み出しが完了するまで短いフレームは読み出されない。その結果、短いフレームの伝送が長いフレームの影響で遅延することになる。例えば図１では、ＳＦバッファ通過後にフレーム１とフレーム２の間隔が長くなっている。その一方、短いフレームの後のフレームはＳＦバッファで待たされる時間が短い。
【０００７】
このように、ＳＦバッファが存在する伝送経路上を長いフレームと短いフレームが混在して伝送される場合、前に伝送されるフレームの影響により各々のフレームによって伝送遅延が異なり、伝送遅延に揺らぎが生じる。連続データの再構築が必要なデータ種類、例えば映像データや音声データの伝送では、大きな揺らぎに対応するために、受信側に大きなバッファを備えて揺らぎを吸収することもある。この場合、ユーザからは通信の遅延として見えてしまうこともある。
【０００８】
本発明者は、伝送遅延の揺らぎが発生する要因としては、ＳＦバッファでフレームが何回待たされるかが支配的であり、ＳＦバッファの数が少ない経路でフレームを伝送させることで、揺らぎの発生を抑制できると考えた。本発明は本発明者の上記着想に基づきなされたものであり、主な目的は、可変長フレーム通信時の揺らぎの発生を抑制する技術を提供することである。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のある態様の通信装置は、複数の経路を介して所定の対向装置と接続され、長さが異なる複数のフレームを複数の経路のそれぞれを介して対向装置へ送信するフレーム送信部と、経路毎に、複数のフレームのそれぞれを送信してから応答を受信するまでの時間である遅延時間に基づいて、複数のフレーム間での遅延時間差を算出する遅延時間差算出部と、各経路について算出された複数のフレーム間での遅延時間差に基づいて、複数の経路の中からフレーム転送に使用する経路を選択する経路選択部と、を備える。
【００１０】
なお、以上の構成要素の任意の組合せ、本発明の表現を、方法、システム、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、可変長フレーム通信時の揺らぎの発生を抑制することができる。
【図面の簡単な説明】
【００１２】
【図１】伝送遅延揺らぎの発生メカニズムを模式的に示す図である。
【図２】ループバックフレームによる通信を模式的に示す図である。
【図３】実施の形態の通信システムの構成を示す図である。
【図４】図３のＣＰＵの機能を詳細に示すブロック図である。
【図５】Ｙ．１７３１  ループバックメッセージのＰＤＵを示す図である。
【図６】Ｙ．１７３１  ディレイメジャメントメッセージのＰＤＵを示す図である。
【図７】ストアアンドフォワードバッファを備える通信装置の構成を模式的に示す図である。
【発明を実施するための形態】
【００１３】
実施の形態の通信装置について、その構成を詳細に説明する前に、まず技術原理を説明する。以下の説明では、データの伝送単位をフレームと呼ぶが、適宜パケットと読み替えてもよいことはもちろんである。
【００１４】
ＳＦバッファが数多く存在する経路よりもＳＦバッファ数が少ない経路の方が、長いフレームによる遅延の影響が少なく、結果として各フレームの伝送時間の揺らぎが少ない。システム的にフレームを送出可能な伝送経路が複数存在する構成において、どちらの経路がＳＦバッファが少ないかをループバックの遅延時間、言い換えれば、ループバックフレームのラウンドトリップタイムに基づいて特定し、自動的に経路選択を行う。例えば、ＳＦバッファが少ない経路を現用経路として選択し、ＳＦバッファが多い経路を予備経路として選択する。このように、ＳＦバッファの数が少ない経路を自動で選択し、その経路へフレームを送出することにより、伝送遅延の揺らぎを少なくする。
【００１５】
図２は、ループバックフレーム（以下「ＬＢフレーム」と呼ぶ。）による通信を模式的に示す。通信装置Ａは、フレームの伝送経路にどれだけのＳＦバッファが存在するかを判別する。この伝送経路は、ＬＢフレーム生成・確認部が送出したＬＢフレームの伝送経路であり、ＬＢフレームが通信装置Ｂのループポイントにて折り返され、ＬＢフレーム生成・確認部へ入力されるまでの経路である。なお、通信装置ＢがＬＢフレームに対応する応答フレームを通信装置Ａに返信する場合は、ＬＢフレームの伝送経路に加えて、応答フレームがＬＢフレーム生成・確認部へ入力されるまでの経路となる。
【００１６】
通信装置Ａは、ＬＢフレームを送出してからその応答を受信するまでの遅延時間、言い換えればＬＢフレームのラウンドトリップタイムを、様々な長さのＬＢフレームで確認する。以下、フレーム長が相対的に長いＬＢフレームを「長ＬＢフレーム」、フレーム長が相対的に短いＬＢフレームを「短ＬＢフレーム」と呼ぶこととする。
【００１７】
ＬＢフレームは通常のデータフレーム（例えば主信号のフレーム）と異なる態様で転送される場合がある。例えば、ＬＢフレームであることを検出した通信装置は、主信号フレームと同じくハードウェアベースの転送処理（ソフトウェアが介在しない）を実行することに代えて、ソフトウェアが介在した転送処理を実行することがある。そのため、単純にＬＢフレームの遅延時間ではＳＦバッファの数を判断することはできない。
【００１８】
本発明者は、長いフレームも短いフレームも、スイッチングや送受信処理等の基本的な伝送処理に要する時間はほぼ等しく、両者の遅延時間の差は、ＳＦバッファへの書き込みと読み出しが大きなウェイトを占めることに着目した。また、長いフレームの方が、短いフレームに比べてＳＦバッファによる遅延が大きく、すなわち書き込みと読み出しにかかる時間が長い。
【００１９】
これを踏まえ本発明者は、ＳＦバッファによる遅延の影響度合いを、以下のように、遅延時間の差に基づいて見積もることが可能と考えた。
遅延時間差  ＝  （長ＬＢフレームの遅延時間）−（短フレームＬＢの遅延時間）
すなわち、ある経路の遅延時間差が相対的に大きければ、その経路上のＳＦバッファ数が相対的に多く、ある経路の遅延時間差が相対的に小さければ、その経路上のＳＦバッファ数が相対的に少ないという規則性を本発明者は見いだした。実施の形態では、遅延時間差が相対的に小さい経路を、優先的にフレームを転送する現用経路として選択する。これにより、ＳＦバッファの数が相対的に少ない経路へフレームを転送し、伝送遅延の揺らぎを抑制する。
【００２０】
以上の技術原理を具現化した通信システムおよび通信装置について以下説明する。
図３は、実施の形態の通信システム１００の構成を示す。通信装置１０は図２の通信装置Ａに対応し、対向装置１２は図２の通信装置Ｂに対応する。通信装置１０は、対向装置１２への複数の経路毎に、長さが異なる複数のフレームをループバックさせてフレーム間での遅延時間の差を算出し、各経路の遅延時間の差に基づいて現用とする経路を選択することで、主信号の伝送遅延の揺らぎを抑制する。
【００２１】
通信装置１０と対向装置１２は、フレーム伝送装置とも言え、例えばレイヤ２スイッチ、レイヤ３スイッチ、ルータ等であってもよい。通信網１８は、様々なレイヤの通信機器が多数接続された任意の構成のネットワークである。例えば、通信システム１００はキャリアの広域イーサネット網やＭＰＬＳ網を構成するシステムであってもよく、通信装置１０と対向装置１２は、ユーザ網との境界に位置する装置であってもよい。
【００２２】
通信装置１０と通信網１８との経路は冗長化されている。具体的には、通信装置１０は、経路１４および経路１６を介して通信網１８に接続され、通信網１８を介して対向装置１２と接続される。通信装置１０は、経路１４または経路１６を介してフレームを対向装置１２へ転送する。通信装置１０は、長さが異なるＬＢフレーム間の遅延時間差が小さい経路を自動で判定し、その経路を現用として自動選択する。現用の経路は、当該経路で障害が発生しない間、予備の経路に優先して主信号フレームを送出する経路である。
【００２３】
対向装置１２は、ＬＢフレームを受信すると、そのＬＢフレームを通信装置１０へ返信する。なお対向装置１２は、ＬＢフレームに対応する所定の応答フレームを通信装置１０へ返信してもよい。実施の形態では、厳密には対向装置１２がＬＢフレームと異なる応答フレームを通信装置１０へ送信することも含めて、対向装置１２が応答として通信装置１０へ返信するフレーム全般についてもＬＢフレームと呼ぶ。
【００２４】
図３は、実施の形態の通信装置１０の機能を示すブロック図を含む。本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのＣＰＵやメモリをはじめとする素子や機械装置、電子回路で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現される。ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【００２５】
通信装置１０は、制御部２０、信号インタフェース部２２、信号インタフェース部２４を備える。制御部２０は、通信装置１０の動作を制御するための各種データ処理を実行する。信号インタフェース部２２および信号インタフェース部２４は、フレームの伝送処理、例えばフレームの入出力処理やスイッチングを実行する。例えばシェルフ型の通信装置の場合、制御部２０は制御盤（制御カード）に対応し、信号インタフェース部２２および信号インタフェース部２４はインタフェース盤（インタフェースカード）に対応する。通信装置１０は３つ以上の信号インタフェース部を備えてもよい。
【００２６】
信号インタフェース部２２は、信号送受信部３４、信号送受信部３６、主信号処理部３８を有する。不図示だが信号インタフェース部２４の構成も信号インタフェース部２２と同じである。また信号インタフェース部２２と信号インタフェース部２４は、信号インタフェース部としての公知の機能をさらに含んでもよい。
【００２７】
信号送受信部３４と信号送受信部３６は、フレームの入出力処理を実行する。信号送受信部３６は、主信号フレーム（例えば宛先が対向装置１２）を通信網１８へ送出する場合、経路１４と経路１６のうち現用として選択された経路へ主信号フレームを送出する。また信号送受信部３６は、長ＬＢフレームと短ＬＢフレームを経路１４と経路１６のそれぞれを介して対向装置１２へ送信する。言い換えれば、経路１４と接続されたポートと、経路１６と接続されたポートのそれぞれから、対向装置１２宛の長ＬＢフレームと短ＬＢフレームを送出させる。
【００２８】
主信号処理部３８はフレームデータを装置内で転送する。主信号処理部３８は、合流部４０と分離部４２を含む。合流部４０は、信号送受信部３４で受信された主信号フレームと、制御部２０から出力されたＬＢフレームを合流し、それぞれを信号送受信部３６へ転送する。分離部４２は、信号送受信部３６が受信したフレームからＬＢフレーム（応答）を抽出し、制御部２０へ転送する。
【００２９】
制御部２０は、ＣＰＵ３０とタイムスタンプ付与部３２を有する。タイムスタンプ付与部３２は、ＣＰＵ３０から出力されたＬＢフレームおよびＣＰＵ３０へ入力されるＬＢフレームに対して現在時刻を示すタイムスタンプを付与する専用のハードウェアである。タイムスタンプ付与部３２は、精度のよい発振器を原始として時間のカウントを実行するタイマの時間に基づいてタイムスタンプ情報を生成する。ＣＰＵ３０は様々なデータ処理を実行し、処理負荷次第では正確なタイムスタンプの付与が難しい可能性があるため、実施の形態のタイムスタンプ付与部３２は、ＣＰＵ３０から独立した専用のハードウェアとして構成する。変形例として、ＣＰＵ３０が十分な精度でタイムスタンプを付与可能な場合は、ＣＰＵ３０がタイムスタンプを付与する構成としてもよい。
【００３０】
タイムスタンプ付与部３２がＬＢフレームに付与するタイムスタンプのオーダ（精度）は、通信装置１０の通信速度（フレーム転送速度）に応じた精度であることが望ましい。例えば、通信装置１０の通信速度が１０Ｇｂｐｓであれば、タイムスタンプはマイクロ秒のオーダであってもよい。また、通信装置１０の通信速度が１００Ｇｂｐｓであれば、タイムスタンプはナノ秒のオーダであってもよい。
【００３１】
図４は、図３のＣＰＵ３０の機能を詳細に示すブロック図である。ＣＰＵ３０は、フレーム生成部５０、遅延時間差算出部５２、経路選択部５４を含む。これらの機能ブロックはコンピュータプログラムとして実装されてもよく、ＣＰＵ３０が各ブロックに対応するプログラムを実行することにより、各ブロックの機能が発揮されてもよい。
【００３２】
フレーム生成部５０は、遅延時間測定用のＬＢフレームを生成する。ＬＢフレームは、ＩＴＵ−Ｔ  Ｙ．１７３１で定められたループバックメッセージのフレームであってもよい。また、ＩＴＵ−Ｔ  Ｙ．１７３１で定められたディレイメジャメントメッセージのフレームであってもよい。図５は、Ｙ．１７３１  ループバックメッセージのＰＤＵを示し、図６は、Ｙ．１７３１  ディレイメジャメントメッセージのＰＤＵを示す。
【００３３】
図５のループバックメッセージの場合、そのoptional TLVにペイロードデータを格納するが、タイムスタンプ付与部３２は、ペイロードの所定領域に送信時のタイムスタンプと受信時のタイムスタンプを格納してもよい。図６のディレイメジャメントメッセージの場合、タイムスタンプ付与部３２は、送信時のタイムスタンプを既設の領域（TxTimeStampf）に格納してもよい。その一方、受信時のタイムスタンプを通信装置１０における装置内ヘッダや、フレームのペイロード領域（例えばEnd TLVの後に設けたペイロード領域）に格納してもよい。
【００３４】
図４に戻り、フレーム生成部５０は、図５または図６で示すＰＤＵの前に、宛先ＭＡＣアドレス（例えば対向装置１２のＭＡＣアドレス）を含むＭＡＣヘッダを付与し、ＬＢフレームを生成してもよい。フレーム生成部５０は、遅延時間測定用のＬＢフレームであることを示す所定のフレーム識別情報をＬＢフレームに付与する。例えば、ＬＢフレームにおけるＯｐＣｏｄｅ領域や、イーサタイプ領域、グローバル宛先アドレス領域、その他ペイロードにおける予め定められた位置等にフレーム識別情報を設定してもよい。
【００３５】
またフレーム生成部５０は、対向装置１２と接続される複数の経路（実施の形態では経路１４と経路１６）のそれぞれに対して、短ＬＢフレームと、短ＬＢフレームより長い長ＬＢフレームの両方を生成する。短ＬＢフレームは、通信装置１０が転送するフレーム（特に主信号フレーム）の典型的な長さに設定されることが望ましい。例えば、通信装置１０での転送頻度（転送割合）が最も大きい主信号の長さに設定されることが望ましい。
【００３６】
なお、日付や曜日、時間帯等により転送頻度が大きい主信号の長さに変動が生じる場合、フレーム生成部５０は、日付や曜日、時間帯等の時間条件に応じて、生成する短ＬＢフレームの長さを変化させてもよい。時間条件と短ＬＢフレーム長との対応関係は、運用者が予め定めてもよい。また、不図示の統計部が、異なる複数の日付や曜日、時間帯等について転送頻度が大きい主信号の長さを定期的に判定し、時間条件と短ＬＢフレーム長との対応関係の決定と更新を自動で実行してもよい。
【００３７】
その一方、長ＬＢフレームの長さは、通信網１８で実際に転送されているフレームの最大長に設定されることが望ましい。実際に転送されるフレームの最大長を把握することが困難であれば、通信網１８で転送されうるフレームの設計上または理論上の最大長に設定されてもよい。例えば、通常のイーサネットフレームであれば１５１６バイト、通信網１８がジャンボフレームに対応する場合はその最大値（例えば９０００バイト〜１６０００バイト）に設定してもよい。
【００３８】
フレーム生成部５０は、ＬＢフレームの所定領域に、短ＬＢフレームと長ＬＢフレームのいずれであるかを示す識別情報を設定する。また、ＬＢフレームの装置内ヘッダに、ＬＢフレームを送出すべき経路の識別情報を設定する。送信すべき経路の識別情報は、例えば通信装置１０が備える複数のポートのうち経路１４に接続されたポートの識別情報、または経路１６に接続されたポートの識別情報であってもよい。
【００３９】
信号送受信部３６は、ＬＢフレームの装置内ヘッダで指定された経路へ（その経路に接続されたポートから）短ＬＢフレームと長ＬＢフレームを送出する。また信号送受信部３６は、受信したＬＢフレームの装置内ヘッダに受信ポート情報を設定する。遅延時間差算出部５２は、予め記憶されたポートと経路の対応関係にしたがって、受信ポートに対応づけられた経路を識別することにより、ＬＢフレームが伝送された経路（すなわち経路１４または経路１６）を識別する。
【００４０】
遅延時間差算出部５２は、経路毎に、短ＬＢフレームと長ＬＢフレームのそれぞれを送信してから応答を受信するまでの時間である遅延時間に基づいて、両フレーム間での遅延時間差を算出する。具体的には、経路１４を介して送受信された（すなわち経路１４と接続されたポートで受信された）短ＬＢフレームの受信時タイムスタンプが示す時刻から送信時タイムスタンプが示す時刻の差を短ＬＢフレームの遅延時間として識別する。同様に、経路１４を介して送受信された長ＬＢフレームの遅延時間を識別する。そして、長ＬＢフレームの遅延時間と短ＬＢフレームの遅延時間の差を、経路１４における遅延時間差として算出する。同様に、経路１６における長ＬＢフレームと短ＬＢフレーム間の遅延時間差を算出する。
【００４１】
経路選択部５４は、遅延時間差算出部５２により複数の経路のそれぞれについて算出された長ＬＢフレームと短ＬＢフレーム間の遅延時間差に基づいて、複数の経路の中から主信号フレームの転送に使用する現用経路を選択する。具体的には、経路１４における遅延時間差が経路１６における遅延時間差より小さければ、経路１４を現用、経路１６を予備として選択する。逆に、経路１４における遅延時間差が経路１６における遅延時間差より大きければ、経路１４を予備、経路１６を現用として選択する。
【００４２】
経路選択部５４は、現用として選択した経路１４または経路１６の識別情報を信号インタフェース部２２のメモリに格納してもよい。これにより、信号送受信部３６、または、主信号の出力経路・出力ポートを決定する不図示の決定部が現用経路を識別することを可能にしてもよい。
【００４３】
以上の構成による通信システム１００の動作を以下説明する。
通信装置１０のフレーム生成部５０は、予め定められた経路選択タイミングになったことを検出すると、経路１４を介して対向装置１２へ送信すべき短ＬＢフレームを生成し、タイムスタンプ付与部３２に渡す。タイムスタンプ付与部３２は、経路１４向け短ＬＢフレームに送信時タイムスタンプを付与し、信号インタフェース部２２に渡す。経路１４向け短ＬＢフレームは合流部４０で主信号と合流し、通信装置１０の中で主信号と同様に処理される。信号送受信部３６は、経路１４向け短ＬＢフレームを、経路１４と接続されたポートから出力する。
【００４４】
対向装置１２では、受信フレームにＬＢフレームの識別情報が付与されていることを検出すると、ＬＢフレームの折り返し（ループバック）処理を実行する。ＩＴＵ−Ｔ  Ｙ．１７３１にしたがって、ＬＢフレーム（例えばＬＢＭフレーム）に対応する応答フレーム（例えばＬＢＲフレーム）を通信装置１０へ返信してもよい。
【００４５】
信号送受信部３６は、経路１４に接続されたポートにてフレームを受信すると、受信フレームを分離部４２に渡す。分離部４２は、受信フレームにＬＢフレームの識別情報（ＬＢフレームに対する応答フレームの識別情報でもよい）が付与されていることを検出すると、そのＬＢフレームを主信号から分離し、タイムスタンプ付与部３２に渡す。タイムスタンプ付与部３２は、そのＬＢフレームに受信時タイムスタンプを付与し、ＣＰＵ３０に渡す。ＣＰＵ３０の遅延時間差算出部５２は、送信時タイムスタンプと受信時のタイムスタンプに基づいて経路１４向け短ＬＢフレームの遅延時間を識別する。
【００４６】
次に、フレーム生成部５０は、経路１４を介して対向装置１２へ送信すべき長ＬＢフレームを生成する。以降、経路１４向け短ＬＢフレームと同様の動作が実行され、遅延時間差算出部５２は、経路１４向け長ＬＢフレームの遅延時間を識別する。次に、フレーム生成部５０は、経路１６を介して対向装置１２へ送信すべき短ＬＢフレームを生成する。以降、経路１４向け短ＬＢフレームと同様の動作が実行され、遅延時間差算出部５２は、経路１６向け短ＬＢフレームの遅延時間を識別する。次に、フレーム生成部５０は、経路１６を介して対向装置１２へ送信すべき長ＬＢフレームを生成する。以降、経路１４向け短ＬＢフレームと同様の動作が実行され、遅延時間差算出部５２は、経路１６向け長ＬＢフレームの遅延時間を識別する。
【００４７】
遅延時間差算出部５２は、経路１４における長ＬＢフレームと短ＬＢフレーム間の遅延時間差を算出し、経路１６における長ＬＢフレームと短ＬＢフレーム間の遅延時間差を算出する。経路選択部５４は、遅延時間差がより小さい経路を現用経路として選択し、選択した現用経路に関する情報を所定の記憶領域へ格納する。信号送受信部３６は、経路選択部５４により選択された現用経路へ主信号を出力する。例えば信号送受信部３６は、宛先が対向装置１２の主信号フレームを、経路１４と経路１６のうち現用として選択されている経路に接続されたポートから送出する。
【００４８】
通信装置１０は、上記の経路選択処理を定期的に繰り返す。例えば、所定時間が経過するたびに、または予め定められた時刻になった場合に、経路選択タイミングに到達したことを検出して経路選択処理を開始してもよい。実施の形態の通信装置１０によると、ストアアンドフォワードバッファを多く含む経路に主信号を転送することを回避し、可変長フレーム通信時における揺らぎ発生を低減することができる。また、定期的にＬＢフレームを対向装置へ送信することにより、経路の正常性確認も副次的に可能になる。
【００４９】
以上、本発明を実施の形態をもとに説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せによりいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、変形例を示す。
【００５０】
第１変形例を説明する。実施の形態では、長さが異なる複数フレーム間の遅延時間差に基づいて現用経路を選択したが、本変形例では、上記遅延時間差に基づいて経路上に存在するＳＦバッファ数を推定し、その推定値に基づき現用経路を選択する。本変形例の通信装置１０のＣＰＵ３０は、バッファ数推定部をさらに含む。バッファ数推定部は、各経路について遅延時間差算出部５２が算出した複数フレーム間での遅延時間差に基づいて、各経路におけるＳＦバッファ数を推定する。
【００５１】
具体的には、遅延時間差とＳＦバッファ数の間には以下の関係が成立する。
遅延時間差  ≒  （１つのＳＦバッファにおける長ＬＢフレームと短ＬＢフレーム間の書込および読出時間の差）×ＳＦバッファ数
【００５２】
ここで、通信速度が１０Ｇｂｐｓの通信装置では、１つのＳＦバッファにおける９６００バイトのフレームの書き込みと読み出しにそれぞれ７．８マイクロ秒かかると想定される。この通信速度、フレーム長、書込時間、読出時間の対応関係を基準として、１つのＳＦバッファにおける様々なサイズのフレームの書込および読出時間が予め定まる。したがって、長ＬＢフレームの長さと、短ＬＢフレームの長さが決まれば、１つのＳＦバッファにおける長ＬＢフレームと短ＬＢフレーム間の書込および読出時間の差が求まる。そして遅延時間差が決まればＳＦバッファ数を求めることができる。
【００５３】
バッファ数推定部は、フレーム生成部５０から長ＬＢフレームと短ＬＢフレームそれぞれの長さを取得して、１つのＳＦバッファにおける長ＬＢフレームと短ＬＢフレーム間の書込および読出時間の差を算出する。そして、遅延時間差算出部５２から長ＬＢフレームと短ＬＢフレーム間の遅延時間差を取得して、ＳＦバッファ数の推定値を算出する。経路選択部５４は、複数の経路、例えば図３の経路１４と経路１６のうち、バッファ数推定部が算出したＳＦバッファ数の推定値がより少ない経路を現用として選択する。
【００５４】
本変形例によると、選択候補である複数の経路間で、長ＬＢフレームと短ＬＢフレームの少なくとも一方の長さが異なっても、ＳＦバッファ数を基準として経路の比較が可能になる。例えば、図３の経路１４がジャンボフレームに対応するため長ＬＢフレームの長さを１６０００バイトとし、経路１６がジャンボフレームに未対応であるため長ＬＢフレームの長さを１５１６バイトとすることも考えられる。本変形例の構成では、経路１４のＳＦバッファ数推定値と経路１６のＳＦバッファ数推定値を比較し、推定値が小さい方を現用とすることで、可変長フレーム通信時における揺らぎ発生を低減することができる。
【００５５】
第２変形例を説明する。通信装置１０にＳＦバッファが存在する場合に、そのＳＦバッファによる遅延時間をＬＢフレームの遅延時間に含めることが適切でないことも考えられる。また、自装置のＳＦバッファ数を各経路のＳＦバッファ数に含めることが適切でないことも考えられる（第１変形例の場合）。そこで第２変形例では、通信装置１０自身にもループポイントを設け、通信装置１０自身のＳＦバッファによる影響を排除する。
【００５６】
図７は、ＳＦバッファを備える通信装置１０の構成を模式的に示す図である。この通信装置１０では、主信号フレームのＱｏＳを制御するために、主信号処理部３８から信号送受信部３６に転送されるフレームが一旦ＳＦバッファ４４へ格納される。同図のループポイント１は、図２のループポイントと同じであり、すなわち対向装置１２は実施の形態と同様にＬＢフレームを折り返す。本変形例では、通信装置１０にもループポイント２を設け、すなわち通信装置１０内部でもＬＢフレームを折り返す。
【００５７】
具体的には通信装置１０のフレーム生成部５０は、経路１４向け長ＬＢフレームと短ＬＢフレーム、経路１６向け長ＬＢフレームと短ＬＢフレームのそれぞれに対応するローカルループバックフレーム（以下「ＬＬＢフレーム」と呼ぶ。）を生成する。ＬＬＢフレームは、経路１４向け長ＬＢフレームと短ＬＢフレーム、経路１６向け長ＬＢフレームと短ＬＢフレームのそれぞれと同じ長さで、かつ宛先アドレスとしてローカルループバックアドレスを設定したものである。通信装置１０の信号送受信部３６は、ＬＬＢフレームを送信すると即時にそのＬＬＢフレームを受信する。
【００５８】
通信装置１０の遅延時間差算出部５２は、経路１４向け短ＬＢフレームの遅延時間を算出するとともに、その短ＬＢフレームに対応するＬＬＢフレームの遅延時間を算出する。そして、その差を経路判定用の経路１４向け短ＬＢフレームの遅延時間として識別する。同様に、経路判定用の経路１４向け長ＬＢフレームの遅延時間、経路判定用の経路１６向け短ＬＢフレームの遅延時間、経路判定用の経路１６向け長ＬＢフレームの遅延時間をそれぞれ識別する。経路選択部５４は、この経路判定用の遅延時間に基づいて遅延時間差を算出する。第１変形例の場合も、この経路判定用の遅延時間に基づいて遅延時間差を算出し、その遅延時間差に基づいてＳＦバッファ数を推定する。
【００５９】
第２変形例によると、通信装置１０自身のＳＦバッファによる影響を排除した遅延時間差に基づいて現用経路の選択判定を実施できる。また、通信装置１０自身のＳＦバッファによる影響を排除したＳＦバッファ数推定値に基づいて現用経路の選択判定を実施できる。
【００６０】
第３変形例を説明する。実施の形態では、長さが異なる複数のフレームのループバックに要した遅延時間差に基づいて現用経路を選択したが、変形例として、複数のフレームの片方向伝送に要した遅延時間差に基づいて現用経路を選択してもよい。
【００６１】
具体的には、対向装置１２はタイムスタンプ付与部３２を備えてもよい。対向装置１２のタイムスタンプ付与部３２は、ＬＢフレームが受信されるとその受信時刻を示す受信時タイムスタンプをＬＢフレームに設定する。受信時タイムスタンプの設定位置は、実施の形態における受信時タイムスタンプの設定位置と同じでよい。通信装置１０のタイムスタンプ付与部３２は、受信されたＬＢフレームまたは応答フレームに対するタイムスタンプの設定を抑制する。以降は、実施の形態または第１変形例と同じ動作になる。
【００６２】
第３変形例によると、通信装置１０から対向装置１２へのフレームの片方向伝送に要した遅延時間に基づいて現用経路を選択する。したがって、映像や音声のストリーミング配信等、フレームが主に一方向に伝送される場合に、伝送遅延揺らぎの少ない好適な経路を選択することができる。
【００６３】
第４変形例を説明する。実施の形態の通信システム１００は対向装置１２を１つ備えることとしたが、変形例として、対向装置１２は複数存在してもよい。すなわち、通信装置１０は、複数の対向装置１２のそれぞれへＬＢフレームを送信し、ループバックの遅延時間差を算出してもよい。この場合、フレーム生成部５０は、各対向装置１２へ送信する短ＬＢフレームとして、各対向装置１２に対する送信頻度が最も高いフレーム長のＬＢフレームを生成することが望ましい。言い換えれば、通信装置１０は、対向装置１２毎に適宜異なる長さの短ＬＢフレームを送信して現用経路を選択することにより、対向装置１２毎に好適な現用経路を選択することが望ましい。
【００６４】
実施の形態および各変形例では、通信装置１０から対向装置１２へ送信するフレームは、必ずしもＬＢフレームである必要はなく、通信装置１０から対向装置１２への一方向へ伝送される試験フレームであってもよい。試験フレームかどうかはＯｐｃｏｄｅ等により識別可能とする。対向装置１２は、通信装置１０から試験フレームを受信すると、その試験フレームに応じた所定の応答フレームを送信する。この場合、通信装置１０が試験フレームと応答フレームとの対応を識別できるよう、試験フレームの所定領域に所定のＩＤを設定しておき、対向装置１２はそのＩＤを応答フレームの所定領域に設定する。また対向装置１２は、送信時タイムスタンプ等、試験フレームに格納された情報を応答フレームに引き継ぐための処理、例えば転記処理を行う。通信装置１０は応答フレームに受信時タイムスタンプを設定し（ただし第３変形例では設定しない）、以降、実施の形態および各変形例と同様に動作する。
【００６５】
上述した実施の形態および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施の形態および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【符号の説明】
【００６６】
１０  通信装置、  １２  対向装置、  ３２  タイムスタンプ付与部、  ３４，３６  信号送受信部、  ５０  フレーム生成部、  ５２  遅延時間差算出部、  ５４  経路選択部、  １００  通信システム。
【図１】
2016171496.tif 000003
【図２】
2016171496.tif 000004
【図３】
2016171496.tif 000005
【図４】
2016171496.tif 000006
【図５】
2016171496.tif 000007
【図６】
2016171496.tif 000008
【図７】
2016171496.tif 000009