(58)【調査した分野】(Int.Cl.,DB名)
光加入者線終端装置(OLT:Optical Line Terminal)と光ネットワーク終端装置(ONU:Optical Network Unit)とが光ファイバ伝送路を介して光通信を行う光通信システムにおいて、受信側においてデータの受信時に受信確認フレームを送信側へ返信するデータ伝送方式を採用しており、前記ONUもしくは前記ONUより前記受信側で、前記送信側へ転送する前記受信確認フレームを所定ルールに基づいて間引く間引き動作を行い、前記受信確認フレームに基づいて、前記ONUのスリープ可能なブロックへ出されるスリープ解除指令の出力回数を減じることを特徴とするスリープ制御方法。
前記所定ルールは、前記受信確認フレームのカウント開始からの数が、又は前記受信確認フレームのカウント開始時刻からの経過時間が、別途定めた閾値になるまで一定の要件に合致した複数の前記受信確認フレームをグルーピングし、少なくとも最新の受信確認フレームのみとすることを特徴とする請求項1に記載のスリープ制御方法。
前記別途定めた閾値を、単位時間あたりの前記受信確認フレームの数を維持できる程度まで初期値から増加させていくことを特徴とする請求項2に記載のスリープ制御方法。
受信確認番号が同じ前記受信確認フレームが一定数以上となった場合、前記ONUをスリープ状態から起床状態とすることを特徴とする請求項1から4のいずれかに記載のスリープ制御方法。
単位時間あたりの前記受信確認フレームの量が規定値以上になった場合、前記間引き動作を開始し、単位時間あたりの前記受信確認フレームの量が規定値未満になった場合、前記間引き動作を停止することを特徴とする請求項1から5のいずれかに記載のスリープ制御方法。
OLTとONUとが光ファイバ伝送路を介して光通信を行う光通信システムであって、請求項1から6のいずれかのスリープ制御方法を実施するスリープ制御手段を備える光通信システム。
【背景技術】
【0002】
光ネットワークは、1つのOLTが、1つあるいは複数のONUと、光ファイバ伝送路を介してポイントツーポイントあるいはポイントツーマルチポイントの通信を行うネットワークである。
【0003】
光ネットワークの低消費電力化のために、データトラヒックがない場合にONUの主要機能を停止させるONUスリープ機能が議論されている。その中でも、DozeやCyclic sleepと呼ばれる手法は、ITU−TのG.987.3やIEEE1904.1などによって標準化が進められており、ONUの低消費電力化の有効な手法として期待されている。
【0004】
本明細書に関連する光通信システムの構成を
図1に示す。光通信システムは、OLT1、ONU2、光ファイバ伝送路8及び光スプリッタ9から構成される。OLT1は、ロジック部41、送受信部42及びSNI(Service Node Interface)物理層部43から構成される。ONU2は、ロジック部11、送受信部12及びUNI(User Network Interface)物理層部13から構成される。
【0005】
Dozeでは、上りのデータトラヒックがないことをロジック部11のUNI監視によって確認し、ロジック部41によってスリープ制御を行い、ロジック部11によって状態切替を行い、ONU2は起床状態からDoze状態に移行する。Doze状態では、ONU2は下りトラヒック受信に関わる機能を維持したまま、上りトラヒックの送信機能に関わる一部または全部を停止することで、消費電力を低減する。
【0006】
Cyclic sleepでは、上りのデータトラヒックがないことをロジック部11のUNI監視によって確認し、下りのデータトラヒックもないことをロジック部41のSNI監視によって確認し、ロジック部11及びロジック部41がその旨のメッセージを交換する。ロジック部41によってスリープ制御を行い、ロジック部11によって状態切替を行い、ONU2は起床状態からCyclic sleep状態に移行する。
【0007】
ONU2がDoze状態もしくはCyclic sleep状態の時にONU2に上りトラヒックが入力されると、ONU2はDoze状態もしくはCyclic sleep状態を解除しデータ疎通を開始する。
【0008】
ONU2はCyclic sleep状態の時に上りトラヒック入力がない場合でも、あらかじめ決められたスリープ継続時間の後にスリープ継続確認のために起動する。Cyclic sleep状態の間にONU2あての下りトラヒックがOLT1へ入力されていた場合は、スリープ継続確認時にOLT1は下りトラヒックありのメッセージをONU2に送信し、ONU2はスリープ中止を判断し下りデータの受け取りを開始する。Cyclic sleep中にONU2あての下りトラヒックがOLT1へ入力されていない場合は、ONU2は再びCyclic sleep状態に遷移する。
【0009】
上記のように、下りトラヒックがない場合には、Cyclic sleep状態への移行とトラヒック確認の起動を周期的に繰り返すので、このスリープ方式をCyclic sleepと呼ぶ。なお、以下の説明において、DozeとCyclic sleepを区別しないときは単にスリープと記載する。
【0010】
スリープ中にONU2のどの部分を停止させるかによって、消費電力と、スリープ状態に移行するまでにかかる時間と、スリープ状態から起床状態に移行するまでの時間が変化する。G.987.3では、下りトラヒックの受信機能に関わる部分を止めないDozeと、スリープ状態で下りトラヒックの受信機能に関わる部分を止めてもよいCyclic sleepが分けて記述されている。また、IEEE1904.1では、前者をTxスリープ、後者をTRxスリープと記述している。
【0011】
スリープに入る条件として、遅延を低減するために一定時間トラヒックが到着しないことをトリガにする方式や、省電力効果を高めるためにキューに溜まっているフレームの量が閾値より小さくなったことをトリガとする方式が提案されている(例えば、非特許文献1を参照。)。
【発明の概要】
【発明が解決しようとする課題】
【0013】
TCPによるデータ伝送方式は、受信側においてデータの受信時にACKフレームを送信側へ返信する(
図4(a)区間)。もし、送信側においてACKフレームを受け取れなかった時にデータを受信側へ再送することで、データの到達性を確保することができる。
【0014】
ACKフレームを受け取るまでに次のフレームを送れないと、往復遅延時間が大きい場合には、単位時間あたりに送信できるデータ量が著しく制限されるため、TCPではACKフレームを受け取るまでに複数のフレームを送信してよいウィンドウ制御を行う(
図4の(b)区間)。ウィンドウ制御では、ACKフレームを受け取るまでに送信可能なデータ量をウィンドウサイズで制限する。送信データのロストが生じると、輻輳が発生したと判断し、ウィンドウサイズを減らす。これによって、通信路が伝送できる以上のデータ量を送信することを防ぎ、輻輳を回避する。
【0015】
ONU2の配下の端末がTCPを用いてファイルのダウンロードなどを行う場合、下りデータがTCPで連続的に送信され、ONU2に下りトラヒックが到着する。また、ONU2には、ONU2配下の端末から送られたACKフレームが短い間隔で断続的に到着する(
図4(c)区間)。
【0016】
上述した一定時間トラヒックが到着しないことをトリガにするスリープ方式では、閾値よりもACKフレームの到着が短い場合に全くスリープに入ることができず、省電力効果が得にくいという課題があった。
【0017】
また、キューに溜まっているフレームの量を閾値とするスリープ方式においても、到着したACKフレームが閾値を超える度に起床する必要がある。頻繁に起床を繰り返す間、ONU2の一部機能を停止するまでの時間と、該当機能を起動するまでの時間を要するため、ACKフレームの断続的な到着によって省電力効果が低減するという課題もあった。
【0018】
そこで、前記課題を解決するために、本発明は、TCPのトラヒックが流れている間であってもスリープによる省電力効果を得られるスリープ制御方法、光通信システム、及び光ネットワーク終端装置を提供することを目的とする。
【課題を解決するための手段】
【0019】
上記目的を達成するため、本発明は、スリープに入り易くするためにデータフレームに対するACKフレームを間引き、かつ、TCPの送信レート低減を抑制するために、輻輳ウィンドウを使い切るより前に1回以上ACKフレームを送信する。
図5は、本発明におけるフレームの動作を説明した図である。本発明では、送信側からのデータフレームに対してACKフレームを毎回返送するのではなく、複数回に1度程度のACKフレームを返送する。このようにすることで、ACKフレームを送信するブロックをスリープさせる機会が増加する。
【0020】
具体的には本発明に係るスリープ制御方法は、光加入者線終端装置(OLT:Optical Line Terminal)と光ネットワーク終端装置(ONU:Optical Network Unit)とが光ファイバ伝送路を介して光通信を行う光通信システムにおいて、前記ONUを経由するトラヒックの単位時間当たりの量に基づいて前記ONUをスリープ状態又は起床状態とするスリープ制御方法であって、前記トラヒックに含まれる受信確認フレームと他のフレームとを区別して管理し、前記受信確認フレームを所定ルールに基づいて間引く間引き動作を行うことを特徴とする。
【0021】
本発明は、TCPトラヒックのACKフレーム(受信確認フレーム)を間引くように制御することで、ONUがスリープに入る機会を多くし、効率のよい低消費電力化を実現する。従って、本発明は、TCPのトラヒックが流れている間であってもスリープによる省電力効果を得られるスリープ制御方法を提供することができる。
【0022】
本発明に係るスリープ制御方法は、前記所定ルールについて、前記受信確認フレームのカウント開始からの数が、又は前記受信確認フレームのカウント開始時刻からの経過時間が、別途定めた閾値になるまで一定の要件に合致した複数の前記受信確認フレームをグルーピングし、少なくとも最新の受信確認フレームのみとしてもよい。
【0023】
ACKフレームのカウント開始から所定数に達するまで、又はACKフレームのカウント開始から所定時間が液化するまでに1度だけあるいは複数回だけACKフレームを送信可能とする。このようにACKフレームを間引くことでONUのスリープの機会を増やすことができる。
【0024】
キューに溜まっているフレームの量を閾値とするスリープ方式において、通信品質を鑑みずに閾値を非常に大きくした場合には、スリープによる省電力効果が得られる一方で、ACKフレームが戻らないことによるTCPの送信レート低下や、更にはタイムアウトによってTCPセッションが切れる恐れがある。送信レート低下やタイムアウトは、通信品質に影響を与えるだけでなく、通信時間が長くなり、スリープの機会損失にもなる。
【0025】
そこで、本発明に係るスリープ制御方法は、前記別途定めた閾値を、輻輳ウィンドウ、広告ウィンドウ、又は往復遅延時間を基に設定することが好ましい。TCPのトラヒックが流れている間であってもスリープによる省電力効果を得られ、かつ、TCPの送信レート低減およびセッション切断の抑制を両立できるスリープ制御方法、光通信システム、及び光ネットワーク終端装置を提供することが可能である。
【0026】
そこで、本発明に係るスリープ制御方法は、前記別途定めた閾値を、単位時間あたりの前記受信確認フレームの数を維持できる程度まで初期値から増加させていくとしてもよい。適切な閾値が不明な場合であっても、適応的に閾値を変更することで、送信レートを低下させずに適切な閾値を設定することが可能となる。
【0027】
そこで、本発明に係るスリープ制御方法は、受信確認番号が同じ前記受信確認フレームが一定数以上となった場合、前記ONUをスリープ状態から起床状態としてもよい。受信確認番号の重複はデータフレームが受信側へ伝達されていない証拠である。従って、受信確認番号が重複するACKフレームが存在したときONUを起床させることで送信側に欠落したデータフレームの再送を迅速に促すことができる。
【0028】
そこで、本発明に係るスリープ制御方法は、単位時間あたりの前記受信確認フレームの量が規定値以上になった場合、前記間引き動作を開始し、単位時間あたりの前記受信確認フレームの量が規定値未満になった場合、前記間引き動作を停止するとしてもよい。応答の高速性が求められるアプリケーションに対しても、受信確認フレームが即座に送信されるため、応答の高速性を損なわない制御が可能になる。
【0029】
前記スリープ制御方法は、光通信システム内のOLT、ONU、ホームゲート装置(HGW)のいずれかが受信確認フレームの間引き動作の機能を有することで実行される。
【発明の効果】
【0030】
本発明は、TCPのトラヒックが流れている間であってもスリープによる省電力効果を得られるスリープ制御方法、光通信システム、及び光ネットワーク終端装置を提供することができる。
【発明を実施するための形態】
【0032】
添付の図面を参照して本発明の実施形態を説明する。以下に説明する実施形態は本発明の実施の例であり、本発明は以下の実施形態に制限されるものではない。
【0033】
(実施形態1)
本実施形態の光通信システムでは、ONUがACKフレームを間引く。具体的には、ONUは送信機能ブロックをスリープ状態としておき、所定時のみ起床させる。ONUがこのように動作することでスリープの機会が増加する。ACKフレームはONUの起床時のみ転送されることになりACKフレームの間引きが行われる。また、ACKフレームの転送先の装置においてもACKフレーム到着間隔が長くなるので、受信ブロックのスリープ機会が増加する。
【0034】
[光通信システムの構成]
本実施形態の光通信システムの構成を
図2に示す。光通信システムは、OLT1、ONU2及び光ファイバ伝送路3から構成される。
図2において、1つのOLT1及び1つのONU2が、光ファイバ伝送路3を介して、ポイントツーポイントで接続されているが、
図1のように、1つのOLT1及び複数のONU2が、光ファイバ伝送路3及び光スプリッタ9を介して、ポイントツーマルチポイントで接続されてもよい。
【0035】
[ONUの構成]
ONU2は、トラヒック監視部21、バッファ22、送受信部23、送信部24、受信部25、スリープ判断/指示部26、及び受信確認フレーム監視部28から構成される。
【0036】
[トラヒックが経由する各部の説明]
下りトラヒックは、OLT1から、送受信部23及び受信部25を介して、下流側に伝送される。上りトラヒックは、下流側から、トラヒック監視部21、バッファ22、送信部24及び送受信部23を介して、OLT1に伝送される。
【0037】
[トラヒック監視部の説明]
トラヒック監視部21は、上りトラヒックがあるかどうかを監視する。そして、上りトラヒックがあることをスリープ判断/指示部26に通知する。ONU2のスリープ可能な各ブロックは、スリープ判断/指示部26からの後述のスリープ開始指令を受けて、スリープ状態に移行する。そして、スリープ判断/指示部26からの後述のスリープ解除指令を受けて、起床状態に移行する。
【0038】
[受信確認フレームの判別方法の説明]
トラヒック監視部21は、受信確認フレームに該当するフレームの到着を検知し、受信確認フレームである場合にはスリープ判断/指示部26に直接通知せず、受信確認フレーム監視部28に通知する。受信確認フレームに該当するかどうかを判別するには、例えばフレームサイズが指定した値と等しいことや、特定のビットが指定した値と等しいことを用いる。TCPのACKフレームであれば、IPヘッダのプロトコル番号がTCPになっており、TCPヘッダのAフラグがセットされており、ペイロード長さが0、つまりEthernet(登録商標)フレーム長が、プリアンブルとインターフレームギャップを除いて64バイトであることを確認することが例として挙げられる。
【0039】
[スリープ判断/指示部によるスリープ解除指令の説明]
スリープ判断/指示部26は、上りトラヒックがあることをトラヒック監視部21から通知される。そして、単位時間あたりの流量が別途定めた閾値を上回った際に、スリープ解除指令をスリープ可能な各ブロックに出力する。
【0040】
[スリープ判断/指示部26によるスリープ開始指令の説明]
スリープ判断/指示部26は、上りトラヒックがないと判断した際に、スリープ開始指令をスリープ可能な各ブロックへ出力する。上りトラヒックがないという判断は、例えば、上りトラヒックがあることをトラヒック監視部21から通知されてからの一定時間の経過や、バッファ22を監視し、特定のキューが空になったことをトリガにすることが挙げられる。
【0041】
[受信確認フレーム監視部の説明]
受信確認フレーム監視部28は、トラヒック監視部21から受信確認フレームに関わる情報を通知される。受信確認フレーム監視部28は、この通知される情報を基に、スリープ判断/指示部26に上りトラヒックの有無を通知する。
【0042】
[受信確認フレームのグルーピング(後述の(5)(8))]
受信確認フレーム監視部28は、例えば、送信元IPアドレスと送信先IPアドレスの組み合わせが同じ受信確認フレームを1つのコネクションにおける受信確認フレーム群とみなし、同一のコネクションにおける受信確認フレームが、後述する受信確認フレーム数閾値を越えるまではスリープ判断/指示部26に通知せず、受信確認フレーム数閾値を越えた時にスリープ判断/指示部26に通知することで、受信確認フレームによるスリープ解除指令の出力回数を減じる。
【0043】
[受信確認フレームのグルーピング(後述の(6)(7))]
複数の受信確認フレームを同一コネクションとみなす判断基準として、送信元アドレスと送信先アドレスの組み合わせではなく、シーケンス番号が同一のものを同一コネクションとみなしてもよいし、受信確認番号の増加が一定範囲内である場合に同一コネクションとみなしてもよいし、これらを組み合わせて同一コネクションと判断してもよい。
TCPにおけるACKであれば、同一コネクションにおける確認応答パケットのシーケンス番号は同一である。
受信確認番号の増加は例えば、セグメントサイズが1460バイトに設定されている場合で、かつ2つのデータセグメントに対して1回のACKを返す遅延ACKが有効になっている場合を考慮し、受信確認番号の増分が2920以内である場合に同一コネクションとみなす例が挙げられる。
【0044】
[受信確認フレームの送信タイミングを時間の閾値で制御(後述の(9))]
また、受信確認フレーム監視部28は、受信確認フレーム数閾値の代わりに受信確認フレーム時間閾値を設け、同一のコネクションにおける受信確認フレームを最後に送信してから受信確認フレーム時間閾値を越えるまではスリープ判断/指示部26に通知せず、受信確認フレーム時間閾値を越えた時にスリープ判断/指示部26に通知することで、受信確認フレームによるスリープ解除指令の出力回数を減じても良い。
【0045】
[広告ウィンドウサイズから数の閾値を設定(後述の(10)(13))]
受信確認フレーム監視部28における、受信確認フレーム数閾値の設定は例えば、TCPにおけるACKであれば、受信確認フレーム内に記載されるウィンドウサイズを基に設定することが例として挙げられる。具体的には、受信確認フレームに記載されたウィンドウサイズが65535バイトであり、受信確認フレームの受信確認番号の増分が2720である場合には、前回同一コネクションにおける受信確認フレームを送信してからの、受信確認番号の増分が、65535から2720を差し引いた62815を超えた時点でスリープ判断/指示部26に通知してもよいし、62815を2720で割ることで求まる受信確認フレーム数23を超えた時点でスリープ判断/指示部26に通知してもよいし、安全側の側面からこれらの値に0以上1以下の係数をかけた値を閾値として設定しても良い。
【0046】
[タイムスタンプ値から閾値を設定(後述の(11)(13))]
また、受信確認フレーム監視部28における、受信確認フレーム時間閾値の設定は例えば、TCPにおけるACKであれば、受信確認フレーム内に記載されるタイムスタンプ値を基に設定することが例として挙げられる。
【0047】
[広告ウィンドウサイズから時間の閾値を設定(後述の(10)(13))]
また、受信確認フレーム監視部28における、受信確認フレーム時間閾値の設定は、受信確認フレーム内に記載されるウィンドウサイズを基に設定してもよい。具体的には、受信確認フレームに記載されたウィンドウサイズが65535バイトである場合には、前回同一コネクションにおける受信確認フレームを送信してからの、受信確認番号の増分が、65535を超える時間をカウントし、安全側の側面からこの値に0以上1以下の係数をかけた値を閾値として設定しても良い。
【0048】
[他の機器から閾値の基になる値を取得(後述の(17))]
また、受信確認フレーム監視部28における、受信確認フレーム数閾値および受信確認フレーム時間閾値の設定は、ONU2の配下に接続された、より正確に輻輳ウィンドウサイズや往復遅延時間を把握している機器から通知される値を基に設定しても良い。
【0049】
[受信確認フレームの到着間隔を基に設定(後述の(18))]
また、受信確認フレーム監視部28における、受信確認フレーム時間閾値の設定は、同一コネクションにおける受信確認フレームの到着間隔を基に設定してもよい。具体的には、TCPにおけるACKであれば、コネクション開始直後にウィンドウサイズが帯域遅延積よりも小さく、ACK群の到着間隔が往復遅延時間とほぼ等しいことを用いて、受信確認フレームの到着間隔をカウントして受信確認フレーム時間閾値として設定してもよいし、安全側の側面からこの値に0以上1以下の係数をかけた値を閾値として設定しても良い。
【0050】
[本光通信システムの効果]
スリープ判断/指示部26は、同一コネクションにおける受信確認フレームが多数到着した場合であっても、受信確認フレーム監視部28からの通知を受けるまでは、スリープ可能な各ブロックに対してスリープ解除指令を送信しないため、スリープ可能な各ブロックはスリープ状態に長く滞在することができ、また、起動状態とスリープ状態の遷移回数も減じることができる。
【0051】
また、受信確認フレーム監視部28における、受信確認フレーム時間閾値あるいは受信確認フレーム数閾値の設定により、TCPの送信端末がウィンドウサイズを使い切る間隔よりも短い周期で、受信確認フレーム監視部28がスリープ判断/指示部26に通知を送るため、ONU2が起動状態に遷移し、受信確認フレームが送信され、TCPの送信端末がウィンドウサイズを使い切る前に受信確認フレームを受信できる。これにより、TCPの送信端末の送信レート低下やセッション切断を抑止できる。
【0052】
[閾値の可変(後述の(12))]
また、受信確認フレーム監視部28における、受信確認フレーム時間閾値あるいは受信確認フレーム数閾値の設定は、同一コネクションにおける受信確認フレームの単位時間あたりの受信数を監視し、送信レートが低下していないことを確認しながら受信確認フレーム時間閾値あるいは受信確認フレーム数閾値を小さな初期値から増加させていっても良い。
【0053】
具体的には、例えば受信確認フレーム数閾値の初期値を1に設定し、受信確認フレームを受信する度に受信確認フレーム監視部28からスリープ判断/指示部26へ通知を送る設定から開始し、この受信確認フレーム数閾値における受信確認フレームの単位時間あたりの受信数に、0以上1以下の係数をかけたものを、送信レート低下判断閾値として保持する。受信確認フレーム数閾値を指数的に増加させていき、受信確認フレームの単位時間あたりの受信数が送信レート低下判断閾値を下回った場合には、受信確認フレーム数閾値を1段階低いものに戻すことが例として挙げられる。増加方法は、指数的な増加の代わりに、比例的に増加させても良い。また、変化させる閾値は受信確認フレーム数閾値の代わりに、受信確認フレーム時間閾値としても良い。
【0054】
具体的には、例えばTCPのACKの場合、ONU2がIPヘッダやTCPヘッダの内容を全ては取得できない場合が考えられ、例えばオプション扱いであるタイムスタンプは、送信端末と受信端末の両方で有効になっていない場合には取得することができない。このように、適切な閾値が不明な場合であっても、適応的に閾値を変更することで、送信レートを低下させない、適切な閾値を設定することが可能となる。
【0055】
本実施形態の光通信システムは、次に説明する機能を有していてもよい。
[受信確認フレームの間引き(後述の(14))]
受信確認フレーム監視部28は、同一コネクションの受信確認フレームのうち、受信確認番号が最新のものだけを残し、受信確認番号が古い受信確認フレームを破棄してもよい。古い受信確認フレームを破棄することにより、与えられた送信許可1回分でバッファ内に蓄積していた受信確認フレームを全て送信できる可能性が上がり、次の送信許可を待たずにスリープ状態に遷移することが可能となる。
【0056】
[ロス検知後即座に再送催促(後述の(15))]
また、受信確認フレーム監視部28は、同一コネクションの受信確認フレームのうち、
受信確認番号が重複した受信確認フレームを一定数以上連続して受信した場合は、即座にスリープ判断/指示部26に通知を送っても良い。具体的には、例えばTCPのACKの場合に、受信確認番号が重複した受信確認フレームを3つ以上受信した場合に、即座にスリープ判断/指示部26に通知を送ることで、欠落したセグメントの再送を迅速に促すことができる。
【0057】
TCP通信において、TCPの受信者は受信できたセグメントまでを受信確認番号に記載して受信確認フレームを送信する。このため、受信できなかったセグメントが存在する場合に、そのセグメントに連なるセグメントを受信する度に、受信確認番号が重複した受信確認フレームが送信される。TCPの送信者は、3つ以上の受信確認番号が重複した受信確認フレームを受信すると、欠落したセグメントの再送を行う。
【0058】
[レート増加遅延の抑制(後述の(16))]
また、受信確認フレーム監視部28は、同一コネクションにおける受信確認フレームの単位時間あたりの受信数が別途定める閾値を越えるまでは、受信確認フレームを受信する度にスリープ判断/指示部26へ通知を送り、同一コネクションにおける受信確認フレームの単位時間あたりの受信数が別途定める閾値を下回るまでは、スリープ判断/指示部26への通知を抑制してもよい。
【0059】
具体的には、例えば、TCPにおけるACKの場合、通信開始直後でTCPの送信端末のウィンドウサイズが小さく帯域遅延積に到達していない間は、受信確認フレームを間引くと、ウィンドウサイズの増加が遅れる懸念がある。
【0060】
TCP通信において、特に通信開始直後はスロースタートという、ACKの受信を契機にTCPの送信端末がウィンドウサイズを指数的に増加させる仕組みがあり、この期間にACKの送信タイミングが遅れると、ウィンドウサイズの増加が遅れ得る。
【0061】
具体的な閾値の設定は、例えば、機械的に1s中1000フレームと決めても良く、この例では、フレームサイズを1250バイトとした時に、10Mbps以上の速度で通信が行われているコネクションに対してのみ、スリープ判断/指示部26への通知が抑制されることになる。
【0062】
この閾値による制御の切り替えを導入することで、更に、単位時間あたりの受信数が少なく、応答の高速性が求められるアプリケーションに対しても、受信確認フレームが即座に送信されるため、応答の高速性を損なわない制御が可能になる。
【0063】
(実施形態2)
本実施形態の光通信システムでは、ホームゲートウェイ装置(HGW)がACKフレームを検出し、ONUに対してACKフレームを間引くように指示する。具体的には、HGWはONUに対して送信機能ブロックをスリープ状態にさせておき、所定時のみ起床させる。HGWがこのように動作することでONUのスループの機会が増加する。ACKフレームはONUの起床時のみ転送されることになりACKフレームの間引きが行われる。また、ACKフレームの転送先の装置においてもACKフレーム到着間隔が長くなるので、受信ブロックのスリープ機会が増加する。
【0064】
[光通信システムの構成]
本実施形態の光通信システムの構成を
図3に示す。光通信システムは、OLT1、ONU6、光ファイバ伝送路3、およびHGW5から構成される。
図2で示した実施例1との構成の違いは、ONU6の配下にHGW5が接続されている点である。
【0065】
[ONUの構成]
ONU6は、バッファ62、送受信部63、送信部64、受信部65及びスリープ判断スイッチ部67から構成される。
【0066】
[HGWの構成]
HGW5は、トラヒック監視部51、バッファ52、送受信部53、スリープ判断部56及び受信確認フレーム監視部58から構成される。
【0067】
[トラヒックが経由する各部の説明]
下りトラヒックは、OLT1から、送受信部63、受信部65および送受信部53を介して、下流側に伝送される。上りトラヒックは、下流側から、トラヒック監視部51、バッファ52、送受信部53、スリープ判断スイッチ部67、バッファ62、送信部64及び送受信部63を介して、OLT1に伝送される。
【0068】
[トラヒック監視部、スリープ判断部、スリープ指示部の説明]
トラヒック監視部51は、上りトラヒックがあるかどうかを監視する。そして、上りトラヒックがあることをスリープ判断部56に通知する。スリープ判断部56は、別途設けるスリープの閾値に従い、単位時間あたりの起床すべきトラヒック量が到着していないと判断した場合にはONU6宛にスリープ開始指令を送信する。また、スリープ判断部56は、別途設けるスリープの閾値に従い、単位時間あたりの起床すべきトラヒック量が到着していると判断した場合にはONU6宛にスリープ解除指令を送信する。
【0069】
スリープ判断スイッチ部67は、HGW5から送信されたスリープ開始指令もしくはスリープ解除指令を受信した際には、ONU6のスリープ可能な各ブロックに対してスリープ指令を通知し、それ以外のフレームはバッファ62へ転送する。ONU6のスリープ可能な各ブロックは、スリープ判断スイッチ部67からのスリープ開始指令を受けて、スリープ状態に移行する。そして、スリープ判断スイッチ部67からのスリープ解除指令を受けて、起床状態に移行する。
【0070】
実施形態1との違いは、スリープ判断をONU6ではなく、HGW5が行うことによって、ONU6の構成をより単純化している。また一般的に、ONUと比較してHGWには、より上位レイヤの制御機能が付属していることが多いため、受信確認フレーム監視部58の実現が比較的容易である。
【0071】
トラヒック監視部51は、受信確認フレームに該当するフレームの到着を検知し、受信確認フレームである場合にはスリープ判断部56に直接通知せず、受信確認フレーム監視部58に通知する。受信確認フレーム監視部58の動作は、実施形態1で説明した受信確認フレーム監視部28の動作と同様である。
【0072】
以下は、実施形態1及び2の光通信システムをまとめたものである。
[課題]
PON方式にスリープ方式を採用した場合、TCPトラヒックが流れていると、そのACKフレームを起因として、全くスリープに入れない場合があり低消費効率が低下するという課題があった。そこで、本光通信システムは、TCPトラヒックのACKフレームの送信回数を制御することで、ONUがスリープに入る機会を多くし、効率のよい低消費電力化を実現する。
【0073】
(1)[ONUがACKを特別扱いする]
ONUを備える光通信システムであって、前記ONUは、観測するトラヒックの単位時間あたりの量が、一定量を下回ると判断した時に起床状態からスリープ状態に移行し、
前記ONUは、観測したトラヒックに受信確認フレームが含まれると判断した時に、受信確認フレームについては観測するトラヒックの単位時間あたりの量として、他のフレームとは異なる算出方法を用いることを特徴とする光通信システム。
【0074】
(2)[HGWがACKを間引く]
ONUおよびHGWを備える光通信システムであって、前記ONUは、観測するトラヒックの単位時間あたりの量が、一定量を下回ると判断した時に起床状態からスリープ状態に移行し、
前記HGWは、観測したトラヒックに受信確認フレームが含まれると判断した時に、受信確認フレームの送信回数を減じることを特徴とする光通信システム。
【0075】
(3)[OLTがACKを間引く(下り)]
OLT及びONUを備える光通信システムであって、前記ONUは、観測するトラヒックの単位時間あたりの量が、一定量を下回ると判断した時に起床状態からスリープ状態に移行し、
前記OLTは、観測したトラヒックに受信確認レームが含まれると判断した時に、受信確認フレームの送信回数を減じることを特徴とする光通信システム。
【0076】
(4)[ACK送信側のエンドがACK送信回数を減らす]
ONUを備える光通信システムを介して通信を行う通信端末であって、前記ONUは、観測するトラヒックの単位時間あたりの量が、一定量を下回ると判断した時に起床状態からスリープ状態に移行し、
前記通信端末は、通信相手から送信されたデータフレームに対する、受信確認フレームの送信回数を減じることを特徴とする、通信端末。
【0077】
(5)[ACKのグルーピングを、宛先と送信元のペアで行う]
フレームに記載された宛先と送信元から、連続した受信確認フレームであることを判断することを特徴とする、(1)〜(4)のいずれかに記載の光通信システム、および通信端末。
【0078】
(6)[ACKのグルーピングを、ACK番号の増分が閾値以下で行う]
前回に受信した受信確認フレームに記載された受信確認番号から、受信した受信確認フレームの受信確認番号との増分が指定した閾値以内である場合に、連続した受信確認フレームであることを判断することを特徴とする、(1)〜(4)のいずれかに記載の光通信システム、および通信端末。
【0079】
(7)[ACKのグルーピングを、シーケンス番号で行う]
フレームに記載されたシーケンス番号から、連続した受信確認フレームであることを判断することを特徴とする、(1)〜(4)のいずれかに記載の光通信システム、および通信端末。
【0080】
(8)[ACKを送信するタイミングを、数の閾値で決める場合]
受信した受信確認フレームの数が別途定めた閾値以上になった時に、受信確認フレームのうち、少なくとも、最も受信確認番号が進んでいる受信確認フレームを送信することを特徴とする、(5)〜(7)のいずれかに記載の光通信システム、および通信端末。
【0081】
(9)[ACKを送信するタイミングを、時間の閾値で決める場合]
受信した受信確認フレームのうち、最初に受信した時間から、別途定めた閾値以上経過した時に、受信確認フレームのうち、少なくとも、最も受信確認番号が進んでいる受信確認フレームを送信することを特徴とする、(5)〜(7)のいずれかに記載の光通信システム、および通信端末。
【0082】
(10)[受信ACKの閾値を輻輳ウィンドウを基に設定する場合]
受信確認フレームの閾値を、輻輳ウィンドウもしくは広告ウィンドウを基に算出することを特徴とする、(8)又は(9)に記載の光通信システム、および通信端末。
【0083】
(11)[受信ACKの閾値を往復遅延時間を基に設定する場合]
受信確認フレームの閾値を、往復遅延時間を基に算出することを特徴とする、(8)又は(9)に記載の光通信システム、および通信端末。
【0084】
(12)[受信ACKの閾値を可変にする場合]
受信確認フレームの閾値を、単位時間あたりに受信する受信確認フレームの数が減少しない間、初期値から増加させていくことを特徴とする、(8)又は(9)に記載の光通信システム、および通信端末。
【0085】
(13)[閾値をスヌープして取得する場合]
受信確認フレームの閾値の算出の基準として用いる、ウィンドウサイズまたは往復遅延時間を、受信確認フレームのスヌープによって取得することを特徴とする、(10)又は(11)に記載の光通信システム、および通信端末。
【0086】
(14)[ACKを間引く]
受信確認フレームを、最も受信確認番号が進んでいるフレームだけを残し、それ以外の受信確認フレームを破棄することを特徴とする、(8)又は(9)に記載の光通信システム、および通信端末。
【0087】
(15)[ロス検知後すぐに送信]
受信確認番号が同じ受信確認フレームを、別途定める閾値以上受信した際には受信確認フレームを即座に送信することを特徴とする、(8)又は(9)に記載の光通信システム、および通信端末。
【0088】
(16)[レート増加遅延を抑止する]
単位時間あたりに受信する受信確認フレームの量が別途定める閾値以上になった際に、受信確認フレームの送信数を減ずる動作を開始し、別途定める閾値以下になった際に、受信確認フレームの送信数を減ずる動作を停止することを特徴とする、(8)又は(9)に記載の光通信システム、および通信端末。
【0089】
(17)[他の端末から閾値を通知される]
受信確認フレームの閾値の算出の基準として用いる、往復遅延時間、または輻輳ウィンドウの値を、他の端末から通知され、設定することを特徴とする、(8)又は(9)に記載の光通信システム、および通信端末。
【0090】
(18)[RTTを、ACK群の到着間隔から取得する]
受信確認フレームの閾値の算出の基準として用いる、往復遅延時間を、受信確認フレームの到着間隔から取得し、設定することを特徴とする、(11)に記載の光通信システム。
【0091】
これらの構成によれば、TCP通信のように受信確認を返す必要のある通信が行われている場合であっても、通信レートを制限しない、単位時間あたりの受信確認の送信回数がわかるので、これを基に受信確認の送信回数や送信周期を設定することができる。
【0092】
本発明は、TCP通信のように受信確認を返す必要のある通信において、通信レートを制限しない範囲で受信確認の送信頻度を減じることにより、スリープに有効なアイドル時間確保に伴う省電力効果と、通信品質の維持を両立する技術を提供することができる。