(57)【要約】【課題】データフレームの送受信を行おうとしているネットワーク機器の送受信機において、フロー制御機能が動作するようなネットワーク輻輳状態の場合でも、遅延時間を増大させることなく通信を行うためのネットワーク機器を提供する。【解決手段】対向配置された２台のネットワーク機器の少なくとも一方では、データフレーム，トレーニングフレーム，ＰＡＵＳＥフレームまたはＰＡＵＳＥフレームに類するフレームの３種類のフレームを送受信し、過去のフレームと、現在のフレームとの各到着時間間隔を用いて、前記２台のネットワーク機器に相当する送信側ネットワーク機器と受信側ネットワーク機器とのクロック周波数差を推定し、その推定された周波数差を用いて前記受信側ネットワーク機器のクロック周波数と同一となるように前記送信側ネットワーク機器のクロック周波数を制御する。【選択図】      図１
2005217502.tif 000002
【特許請求の範囲】
【請求項１】
対向配置された２台のネットワーク機器が該２台のネットワーク機器間に配置された２本の片方向伝送路により相互通信を行う通信系を構成するために、
前記２台のネットワーク機器の少なくとも一方は、
データフレーム，トレーニングフレーム，ＰＡＵＳＥフレームまたはＰＡＵＳＥフレームに類するフレームの３種類のフレームを送信する送信部と、
データフレーム，トレーニングフレーム，ＰＡＵＳＥフレームまたはそれに類するフレームの３種類のフレームを受信する受信部と、
過去のＰＵＡＳＥフレームまたはそれに類するフレームと、現在のＰＡＵＳＥフレームまたはそれに類するフレームとの各到着時間間隔を用いて、前記２台のネットワーク機器に相当する送信側ネットワーク機器と受信側ネットワーク機器とのクロック周波数差を推定する周波数差推定部と、
前記周波数差推定部において推定された周波数差を用いて前記受信側ネットワーク機器のクロック周波数と同一となるように前記送信側ネットワーク機器のクロック周波数を制御するクロック管理部と、
前記トレーニングフレームを生成するトレーニングフレーム生成部と、
前記受信側ネットワーク機器により受信される受信データ及び前記送信側ネットワーク機器から送信される送信データを蓄積し、該蓄積量をモニタするデータバッファ部と、
該受信データと該送信データとを処理するデータ処理部と、
前記データバッファ部の前記蓄積量に応じて前記ＰＡＳＥフレームまたはそれに類するフレームを生成するＰＡＵＳＥフレーム生成部と
を備えたネットワーク機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２台のネットワーク機器間が２本の片方向伝送路により相互連結されて相互通信を行う通信系に関するものであり、特にそのネットワーク機器におけるクロック周波数補正に関するものである。
【背景技術】
【０００２】
近年のインターネットの急速な普及に伴い、音声，画像等のストリーミング通信の需要が高まりつつある。ストリーミング通信では、従来までのデータ系通信とは異なり、ネットワーク機器のリアルタイム性能を向上させる必要がある。特に、リアルタイム性能が著しく低下するトラヒック輻輳状態においてリアルタイム性能を確保することが重要である。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
例えば、対向配置された２台のネットワーク機器Ａ，Ｂが両者間の２本の片方向伝送路Ａ１，Ｂ１で通信している場合を考える。この２台のネットワーク機器Ａ，Ｂの内、送信側ネットワーク機器Ａ（またはＢ）のクロック周波数がｆT であり、受信側ネットワーク機器Ａ（またはＢ）のクロック周波数がｆR であると仮定する。一般に、ネットワーク機器Ａ（またはＢ）内の受信バッファに入力されるフレームの受信フレーム間隔は対向ネットワーク機器Ｂ（またはＡ）のクロック周波数で決まり、バッファから出力されるフレームの送出フレーム間隔はそのネットワーク機器のクロック周波数で決まる。ここで、ｆT ＞ｆR であるとすると、受信バッファの動作は受信フレーム間隔よりも送出フレーム間隔の方が時間的に長いため、受信バッファはオーバーフローを引き起こす。一方、ｆT ＞ｆR の場合は、通信の方向が逆になったとき、上記と同様に、クロックがｆT のネットワーク機器の受信バッファにおいてオーバーフローが生じる。
【０００４】
従って、ネットワーク機器を製造時、機器間でクロック周波数に差が生じないように精密に調整することが必要となるが、大量生産される機器の場合はコストの問題もあるため、一般的にはある程度のクロック偏差を許容している。実際に、現在主流の通信方式である標準仕様ＩＥＥＥ８０２．３の１００ＢＡＳＥ−ＴＸの場合では、２５ＭＨｚのクロック周波数に対して±１００ｐｐｍの周波数偏差を許容している。従って、１００ＢＡＳＥ−ＴＸで動作するネットワーク機器を用いると、機器間で最大５ｋＨｚのクロック周波数偏差が生じ、最悪の場合、５ｋＨｚ×４ｂｉｔ＝２０ｋｂｐｓの速度でバッファにフレーム蓄積される可能性が生じる。これは、仮に２０ｋＢｙｔｅのバッファメモリを持つ機器に対して片方向通信でバースト状にフレームを送信し続けたすると、何の対策も施さなければ約８秒でバッファが溢れてしまう計算になる。
【０００５】
以上のような問題を解決するため、一般的にはＩＥＥＥ８０２．３ｘで規定されているフロー制御機器が用いられる（非特許文献１参照）。フロー制御機能とは、受信側ネットワーク機器における受信バッファがオーバーフローに至る前の状態を検出し、受信側ネットワーク機器がＰＡＵＳＥフレームを送信側ネットワーク機器に送信することにより、送信側ネットワーク機器の送信を強制的に一定期間停止させる機能がある。この機能により、受信バッファがオーバーフローとなることを抑制し、受信バッファにおけるフレームの破棄を防止している。
【非特許文献１】ＩＥＥＥ８０２．３ｘ
【０００６】
前述のように、フロー制御機能は受信バッファのオーバーフローを未然に検出し、フレームの破棄は防止する。しかし、フロー制御機能はフレームの破棄を防止できるが、データフローを強制的に一定期間停止させているため、遅延時間を増大させてしまう。このフロー制御機能は、データ系通信においてはその効果を発揮するが、リアルタイム性を要求するストリーミング通信においてはオーバーフロー制御により遅延時間が増大するため適していない。結局、通信を行っているネットワーク機器間で周波数差が存在すると、遅延時間の増大を招き、リアルタイム性能が劣化する。
【０００７】
本発明は、データフレームの送受信を行おうとしているネットワーク機器の送受信機において、フロー制御機能が動作するようなネットワーク輻輳状態の場合でも、遅延時間を増大させることなく通信を行うためのネットワーク機器を提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明によるネットワーク機器は、対向配置された２台のネットワーク機器が該２台のネットワーク機器間に配置された２本の片方向伝送路により相互通信を行う通信系を構成するために、
前記２台のネットワーク機器の少なくとも一方は、
データフレーム，トレーニングフレーム，ＰＡＵＳＥフレームまたはＰＡＵＳＥフレームに類するフレームの３種類のフレームを送信する送信部と、
データフレーム，トレーニングフレーム，ＰＡＵＳＥフレームまたはそれに類するフレームの３種類のフレームを受信する受信部と、
過去のＰＡＵＳＥフレームまたはそれに類するフレームと、現在のＰＡＵＳＥフレームまたはそれに類するフレームとの各到着時間間隔を用いて、前記２台のネットワーク機器に相当する送信側ネットワーク機器と受信側ネットワーク機器とのクロック周波数差を推定する周波数差推定部と、
前記周波数差推定部において推定された周波数差を用いて前記受信側ネットワーク機器のクロック周波数と同一となるように前記送信側ネットワーク機器のクロック周波数を制御するクロック管理部と、
前記トレーニングフレームを生成するトレーニングフレーム生成部と、
前記受信側ネットワーク機器により受信される受信データ及び前記送信側ネットワーク機器から送信される送信データを蓄積し、蓄積量をモニタするデータバッファ部と、
該受信データと該送信データとを処理するデータ処理部と、
前記データバッファ部の蓄積量に応じて前記ＰＡＵＳＥフレームまたはそれに類するフレームを生成するＰＡＵＳＥフレーム生成部と
を備えた構成を有している。
【発明の効果】
【０００９】
本発明におけるネットワーク機器は、ＩＥＥＥ８０２．３ｘとして規格化されているフロー制御機能で提供されるＰＡＵＳＥフレームまたはそれに類するフレームを利用して、フロー制御機能が動作するようなネットワーク輻輳状態の場合においてもリアルタイム性能が劣化しないストリーミング通信を実現することができる。
【発明を実施するための最良の形態】
【００１０】
本発明によるネットワーク機器で構成されるネットワークの基本構成を図１に示す。図１において、ネットワーク機器Ａ及びＢにおいて、ネットワーク機器Ａはデータ通信に先立ってトレーニングデータＡ１をトレーニング期間の間、ネットワーク機器Ｂへ送信する。ネットワーク機器Ｂはトレーニング期間の間、トレーニングデータＡ１を受信する。ネットワーク機器Ｂはバッファ蓄積量に応じてＩＥＥＥ８０２．３ｘとして規定されているＰＡＵＳＥフレームＢ１を複数回に亘ってネットワーク機器Ａへ送信する。ＰＡＵＳＥフレームＢ１を受信するネットワーク機器Ａは、到来したＰＡＵＳＥフレームＢ１とその直前に受信されたＰＡＵＳＥフレームＢ１との到着時間間隔を用いて、ネットワーク機器Ｂとのクロック周波数差を推定する。推定されたクロック周波数から、ネットワーク機器Ａは自クロック周波数をネットワーク機器Ｂのクロック周波数と同一となるように制御する。トレーニング期間の終了後、ネットワーク機器Ａ及びＢはデータ信号の送受信を行う。
【００１１】
本発明の一実施例におけるネットワーク機器のブロック構成図を図２に示す。
図２において、ネットワーク機器１は受信部１０，周波数差推定部２０，クロック管理部３０，送信部４０，トレーニングデータ生成部５０，データバッファ部６０，データ処理部７０から構成され、ネットワーク伝送路に対して受信データフレーム，トレーニングフレーム，ＰＡＵＳＥフレームまたはＰＡＵＳＥフレームに類するフレームの３種類のフレーム２を受信し、また送信データフレーム，トレーニングフレーム，ＰＡＵＳＥフレームまたはＰＡＵＳＥフレームに類するフレームの３種類のフレーム３を送信する。
【００１２】
受信部１０はネットワーク伝送路から入力される受信データフレームまたはトレーニングフレーム２を受信し、受信データ信号１１をデータバッファ部６０へ出力する。また、受信部１０はネットワーク伝送路から入力される受信ＰＡＵＳＥフレームまたはＰＡＵＳＥフレームに類する受信フレーム２を受信し、受信ＰＡＵＳＥデータまたはＰＡＵＳＥデータに類する受信データ１２を周波数差推定部２０へ出力すると同時に、送信制御信号１３を送信部４０へ出力する。
【００１３】
周波数差推定部２０は、受信部１０から入力される受信ＰＡＵＳＥデータまたはＰＡＵＳＥデータに類する受信データ１２と、その直前に入力された受信ＰＡＵＳＥデータまたはＰＡＵＳＥデータに類する受信データ１２との到着時間間隔を用いて、送信側ネットワーク機器のクロック周波数と受信側ネットワーク機器のクロック周波数との周波数差を推定し、周波数差情報信号２１としてクロック管理部３０へ出力する。
【００１４】
クロック管理部３０では、周波数差情報信号２１を用いて、ネットワーク伝送路経由で接続されているネットワーク機器間のクロック周波数差を減少させるようにクロック周波数を補正してクロック周波数信号３１を生成する。
【００１５】
送信部４０はデータバッファ部６０から入力される送信データ信号６１から送信データフレーム４を生成し、送信データフレーム４をネットワーク伝送路へ出力する。また、送信部４０はトレーニングデータ生成部５０から出力されるトレーニングデータ５１を受信し、トレーニングフレーム３を生成し、ネットワーク伝送路へ出力する。更に、送信部４０は、ＰＡＵＳＥフレーム生成部８０から、ネットワーク伝送路経由で接続されている対向ネットワーク機器に対して送信停止を要求する送信ＰＡＵＳＥデータまたはＰＡＵＳＥデータに類する送信データ８１を受信し、ネットワーク伝送路経由で接続されている対向ネットワーク機器に対して送信停止を要求する送信ＰＡＵＳＥフレームまたはＰＡＵＳＥフレームに類する送信フレーム３をネットワーク伝送路へ送信するか、もしくはＰＡＵＳＥフレーム生成部８０から出力されるネットワーク伝送路経由で接続されている対向ネットワーク機器に対して送信再開を要求する送信ＰＡＵＳＥデータまたはＰＡＵＳＥデータに類する送信データ８２を受信し、ネットワーク伝送路経由で接続されている対向ネットワーク機器に対して送信再開を要求する送信ＰＡＵＳＥフレームまたはＰＡＵＳＥフレームに類する送信フレーム３をネットワーク伝送路へ送信する。その上更に、送信部４０はクロック管理部３０が出力するクロック周波数信号３１を用いて、ネットワーク伝送路へ送信する全てのフレームを生成している。その他、送信部４０は受信部１０から入力される送信制御信号１３を受信し、送信一時停止もしくは送信再開を判断し、実行する。
【００１６】
トレーニングデータ生成部５０は、ネットワーク伝送路を経由して接続されている他のネットワーク機器からＰＡＵＳＥフレームまたはＰＡＵＳＥフレームに類する送信フレームを送信させるために、トレーニングデータ５１を生成し、送信部４０へ出力する。
【００１７】
データバッファ部６０では、受信部１０から出力される受信データ信号１１を受信し、データとして蓄積すると共にデータ処理部７０へ受信データ情報６４を送信する。また、データバッファ部６０はデータ処理部７０から出力される送信データ情報７１を受信し、蓄積されているデータを送信データ信号６１として送信部４０へ出力する。更に、データバッファ部６０は、図３を参照して後述するように、内部のバッファ状態をモニタし、しきい値ＢD またはＢS を越えたときにはＰＡＵＳＥデータまたはＰＡＵＳＥデータに類するデータを生成する指示となるＰＡＵＳＥ情報信号（Ａ）６２もしくはＰＡＵＳＥ情報信号（Ｂ）６３をＰＡＵＳＥフレーム生成部８０へ出力する。
【００１８】
データ処理部７０は、データバッファ部６０から入力される受信データ情報６４を用いて受信データを処理し、また送信データ情報７１を出力するための送信データの処理を行う。
【００１９】
ＰＡＵＳＥフレーム生成部８０は、データバッファ部６０が出力するＰＡＵＳＥ情報信号（Ａ）６２をトリガとして、ネットワーク伝送路経由で接続されている対向ネットワーク機器に対して送信停止を要求する送信ＰＡＵＳＥデータまたはＰＡＵＳＥデータに類する送信データ８１を生成し、送信部４０へ出力する。また、ＰＡＵＳＥフレーム生成部８０は、ＰＡＵＳＥ情報信号（Ｂ）６３をトリガとして、ネットワーク伝送路経由で接続されている対向ネットワーク機器に対して送信再開を要求する送信ＰＡＵＳＥデータまたはＰＡＵＳＥデータに類する送信データ８２を生成し、送信部４０へ出力する。
【００２０】
図３は、データバッファ部６０内部の模式図である。データバッファ部６０はデータ毎に蓄積を管理している。データバッファ部６０内部には、バッファオーバーフローとなる前段にしきい値ＢD と、その下にしきい値ＢS を設けている。ネットワーク伝送路経由で接続されているネットワーク機器間にクロック周波数差が存在する場合、データバッファ部６０内部の蓄積量は増加方向に動作する。この蓄積量がＢD を越えたとき、データバッファ部６０はＰＡＵＳＥフレーム生成部８０へＰＡＵＳＥ情報信号（Ａ）６２を出力する。これにより、ネットワーク伝送路経由で接続されている対向ネットワーク機器は送信データフレームの送信を停止するので、結果的に受信データ信号１１がデータバッファ部６０へ流入することはなくなる。従って、データバッファ部６０内部の蓄積量は減少方向に転ずる。その後、この蓄積量がＢS を下回ったとき、データバッファ部６０はＰＡＵＳＥフレーム生成部８０へＰＡＵＳＥ情報信号（Ｂ）６３を出力する。これにより、ネットワーク伝送路経由で接続されている対向ネットワーク機器は送信データフレームの送信停止を解除し、送信を再開するので、結果的に受信データ信号１１がデータバッファ部６０への流入を再開することになる。これ以後、データバッファ部６０内部の動作は、上述の動作を繰り返す。
【００２１】
図４は、図２における周波数差指定部２０のブロック構成図である。図４において、受信部１０から入力される受信ＰＡＵＳＥデータまたはＰＡＵＳＥデータに類する受信データ１２は、到着時間記録部２１０に入力される。到着時間記録部２１０では、受信した受信ＰＡＵＳＥデータまたはＰＡＵＳＥデータに類する受信データ１２の受信時刻をＴＢ2n-1またはＴＢ2n（ｎを整数）として記録する。ここで、ＴＢ2n-1は奇数番目に到着した受信ＰＡＵＳＥデータまたはＰＡＵＳＥデータに類する受信データ１２の受信時刻であり、ＴＢ2nは偶数番目に到着した受信ＰＡＵＳＥデータまたはＰＡＵＳＥデータに類する受信データ１２の受信時刻である。更に、到着時間記録部２１０では、ＴＢ2n-1を受信時刻信号（Ａ）２１１、またはＴＢ2nを受信時刻信号（Ｂ）２１２として周波数差計算部２２０へ出力する。
【００２２】
周波数差計算部２２０では、受信時刻信号（Ａ）２１１と受信時刻信号（Ｂ）２１２を用いて、次式（１ａ），（１ｂ）に従って、ＴＢS とＴＢD を計算する。
【数１】
2005217502.tif 000003
ここで、ＴＢS は、ネットワーク伝送路経由で接続されている対向ネットワーク機器において、図３に示したバッファ蓄積量がＢD からＢS までの減少に要する時間の平均値を表している。一方、ＴＢD は、ネットワーク伝送路経由で接続されている対向ネットワーク機器において、図３に示したバッファ蓄積量がＢS からＢD までの増加に要する時間を表している。また、ｎは平均回数を表しており、トレーニング期間または推定されるクロック周波数差に依存して変化する。
【００２３】
次に、トレーニング期間で用いるクロック周波数の初期値ｆ0 に対するＢD とＢS の間のサンプル数Ｓを見積もると、式（２）となる。
【数２】
2005217502.tif 000004
結局、ＢD とＢS の間のサンプル数Ｓと、ネットワーク伝送路経由で接続されている対向ネットワーク機器のバッファ蓄積量がＢS からＢD までの増加に要する時間ＴＢD とを用いて、ネットワーク機器間のクロック周波数差ｆdiffが式（３）のように推定することができる。
【数３】
2005217502.tif 000005
最終的に、求まったｆdiffに対応する周波数差情報信号２１をクロック管理部３０へ出力する。
【００２４】
図５は、図２におけるクロック管理部３０のクロック構成図である。図２において周波数差推定部２０から出力される周波数差情報信号２１が、クロック制御部３１０へ入力される。クロック制御部３１０では、トレーニング期間で用いるクロック周波数の初期値ｆ0 から、周波数差情報信号２１に対応した周波数差分を減じたクロック周波数を生成するためのクロック制御信号３１１を出力する。ここで、トレーニング期間で用いるクロック周波数の初期値ｆ0 は、使用するネットワークで規定されている周波数偏差の最大値を使用する。クロック生成部３２０ではクロック制御部３１０から入力されるクロック制御信号３１１に応じたクロック周波数信号３１を生成し、送信部４０へ出力する。
【００２５】
図６は、受信部１０の動作を説明するためのフロー図である。ステップＳ１では、ネットワーク機器１で受信されるすべてのフレーム（受信データフレーム，トレーニングフレーム，受信ＰＡＵＳＥフレームを含む）に「トレーニングフレームまたは受信データフレームが存在するか否か」をテストする。このテストの結果がＹＥＳであったときに、そのトレーニングフレームまたは受信データフレームは信号１１として分離選択され、データバッファ部６０に伝達される。
【００２６】
ステップＳ１でのテストの結果がＮＯであったときに、受信されるフレーム内にＰＡＵＳＥフレームが存在しているかのテストをし（Ｓ２）、そのテストの結果がＮＯであったときにはそのフレームを破棄し、そのテストがＹＥＳであったときには、ＰＡＵＳＥフレームの処理をして（Ｓ３）、そのＰＡＵＳＥフレーム１２を周波数差推定部２０に伝達する。
【００２７】
受信部１０は、このＰＡＵＳＥフレームに対して、「送信停止か」のテストをし、そのテストの結果がＹＥＳであったときに送信一時停止命令か送信再開命令かを指令する送信制御信号１３を生成して送信部４０に伝達する。
【００２８】
図７は、送信部４０の動作を説明するフロー図である。
送信部４０は、ステップＳ１１で、送信制御信号１３が「送信一時停止か」のテストをし、そのテストの結果がＹＥＳであったときに、「送信一時停止」をし（Ｓ１２）、そのテストの結果がＮＯであったときには、トレーニングデータ生成部５０から入力されるトレーニングデータ５１とデータバッファ部６０から入力される送信データ６１と、接続されている対向ネットワーク機器に送信停止を要求するための送信ＰＡＵＳＥデータ８１と、接続されている対向ネットワーク機器に送信再開を要求するための送信ＰＡＵＳＥデータ８２とのいずれかを選択する処理をする（Ｓ１３）。
【００２９】
次に、ステップＳ１３において選択されたトレーニングデータ５１，送信データ６１，送信ＰＡＵＳＥデータ８１，または送信ＰＡＵＳＥデータ８２を、受信部１０から入力される送信一時停止命令又は送信再開命令を指令する送信制御信号１３によりフレーム化処理をして得られた送信フレーム３を、伝送路に送出する（Ｓ１４）。
【００３０】
以上は、対向配置された２台のネットワーク機器の一方が、本発明によるネットワーク機器である場合について説明したが、対向する２台のネットワーク機器の双方が本発明によるネットワーク機器である場合においても、双方のネットワーク機器が同様にクロック周波数補正を行って最適な送信クロック周波数に収束する動作をすることになるので、さらに優れた作用効果を得ることが可能となる。
【産業上の利用可能性】
【００３１】
以上の詳細な説明から理解されるように、本発明は、インターネットを介して広範囲に利用される傾向にあるストリーミング通信の信頼性を効果的に向上させるために適用することができる。
【図面の簡単な説明】
【００３２】
【図１】本発明によるネットワーク機器で構成されるネットワークの構成例を示す接続図である。
【図２】本発明によるネットワーク機器の構成例を示すブロック図である。
【図３】本発明に用いるデータバッファ部の構成例を示すブロック図である。
【図４】本発明に用いる周波数差推定部の構成例を示すブロック図である。
【図５】本発明に用いるクロック管理部の構成例を示すブロック図である。
【図６】本発明に用いる受信部の動作を説明するためのフロー図である。
【図７】本発明に用いる送信部の動作を説明するためのフロー図である。
【符号の説明】
【００３３】
１  ネットワーク機器
２  受信される全てのフレーム
３  送信される全てのフレーム
４  送信データフレーム
１０  受信部
１１  受信データ信号
１２  受信データ
１３  送信制御信号
２０  周波数差推定部
２１  周波数差情報信号
３０  クロック管理部
３１  クロック周波数信号
４０  送信部
５０  トレーニング生成部
５１  トレーニングデータ
６０  データバッファ部
６１  送信データ信号
６２  ＰＡＵＳＥ情報信号（Ａ）
６３  ＰＡＵＳＥ情報信号（Ｂ）
６４  受信データ処理部
７０  データ処理部
７１  送信データ情報
８０  ＰＡＵＳフレーム生成部
８１  送信データ
８２  送信データ
２１０  到着時間記録部
２１１  受信時刻信号（Ａ）
２１２  受信時刻信号（Ｂ）
２２０  周波数差計算部
３１０  クロック制御部
３１１  クロック制御信号
３２０  クロック生成部
【図１】
2005217502.tif 000006
【図２】
2005217502.tif 000007
【図３】
2005217502.tif 000008
【図４】
2005217502.tif 000009
【図５】
2005217502.tif 000010
【図６】
2005217502.tif 000011
【図７】
2005217502.tif 000012