(57)【要約】【課題】通信制御装置において、伝送路を流れるトラフィック量を最適化するに際し、出力を停止又は制限するフレームの送信を少なくし、且つ送信バッファの拡張に使用する記憶部を使用する他の処理への影響を少なくする。【解決手段】通信制御装置１は、制御部１ａと、送信するフレームのデータを格納する送信バッファ１ｄを有し、フレームを送受信する通信部１ｂと、送信バッファ１ｄに格納する対象のデータを格納可能な記憶部１ｃと、を備える。制御部１ａは、送信バッファ１ｄを経由して送信されるデータのトラフィック量を監視し、上記トラフィック量に基づいて、送信バッファ１ｄの拡張バッファとして記憶部１ｃを使用する容量である拡張容量を決定する。【選択図】図１
2019165371.tif 000002
【特許請求の範囲】
【請求項１】
送信するフレームのデータを格納する送信バッファを有し、フレームを送受信する通信部と、
前記送信バッファに格納する対象のデータを格納可能な記憶部と、
前記送信バッファを経由して送信されるデータのトラフィック量を監視し、前記トラフィック量に基づいて、前記送信バッファの拡張バッファとして前記記憶部を使用する容量である拡張容量を決定する制御部と、
を備えた、通信制御装置。
【請求項２】
前記制御部は、前記トラフィック量が予め定められた閾値を超えた場合に、前記拡張容量を変更する、
請求項１に記載の通信制御装置。
【請求項３】
前記制御部は、前記トラフィック量が前記閾値を超えた場合に、前記拡張容量を大きくする、
請求項２に記載の通信制御装置。
【請求項４】
前記制御部は、前記トラフィック量が前記閾値を超えた後に前記閾値以下になった場合に、前記拡張容量を元に戻す、
請求項３に記載の通信制御装置。
【請求項５】
前記制御部は、前記拡張容量を、前記記憶部の空き容量以内の容量に決定する、
請求項１〜４のいずれか１項に記載の通信制御装置。
【請求項６】
前記通信部は、複数の通信ポートを有し、
各通信ポートは、通信するフレームのデータを格納する通信バッファを有し、
前記複数の通信ポートの１つは、前記送信バッファを有する送信ポートであり、
前記記憶部は、各通信ポートに対応する通信バッファに格納する対象のデータを格納可能になっており、
前記制御部は、各通信バッファを経由して通信されるデータのトラフィック量を監視して、各通信バッファについてのトラフィック量に基づいて、少なくとも前記送信ポートについての拡張容量を決定する、
請求項１〜５のいずれか１項に記載の通信制御装置。
【請求項７】
前記制御部は、前記トラフィック量が予め定められた閾値を超えた前記通信ポートの数に基づいて、少なくとも前記送信ポートについての拡張容量を決定する、
請求項６に記載の通信制御装置。
【請求項８】
前記制御部は、前記トラフィック量に基づいて、前記送信バッファを介して送信するデータの流量を制限する、
請求項１〜７のいずれか１項に記載の通信制御装置。
【請求項９】
送信するフレームのデータを格納する送信バッファを有し、フレームを送受信する通信部と、前記送信バッファに格納する対象のデータを格納可能な記憶部と、を備えた通信制御装置によって実行される通信制御方法であって、
前記送信バッファを経由して送信されるデータのトラフィック量を監視するステップと、
前記トラフィック量に基づいて、前記送信バッファの拡張バッファとして前記記憶部を使用する容量である拡張容量を決定するステップと、
を有する、通信制御方法。
【請求項１０】
送信するフレームのデータを格納する送信バッファを有し、フレームを送受信する通信部と、前記送信バッファに格納する対象のデータを格納可能な記憶部と、を備えた通信制御装置に実行させるための制御プログラムであって、
前記通信制御装置に、
前記送信バッファを経由して送信されるデータのトラフィック量を監視するステップと、
前記トラフィック量に基づいて、前記送信バッファの拡張バッファとして前記記憶部を使用する容量である拡張容量を決定するステップと、
を実行させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、通信制御装置、通信制御方法、及び制御プログラムに関する。
【背景技術】
【０００２】
特許文献１−４には、Ｅｔｈｅｒｎｅｔ（登録商標；以下同様）フレーム伝送路において、フレームのオーバーフローを抑止するフロー制御の技術が提案されている。特許文献１−４に記載のフロー制御では、送信先の受信許容量を超過するトラフィック量のデータが流入した場合、上記送信先から送信元となるレイヤ２スイッチ（Ｌ２ＳＷ）に対してＰＡＵＳＥフレームを送信し、Ｌ２ＳＷからの出力を停止又は制限している。ここでの出力の制限は、送信レートを下げることを意味する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−０６６８３５号公報
【特許文献２】特開２０１３−０９３７６１号公報
【特許文献３】特開２００２−２２３２２３号公報
【特許文献４】特開２００２−１５２２５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１−４に記載のフロー制御では、仮に送信バッファの拡張用と受信バッファの拡張用として使用する共有メモリを設けた場合、Ｌ２ＳＷに対してＰＡＵＳＥフレームの送信が頻発すると、送信を停止している間、共有メモリの容量を逼迫する。これにより、このフロー制御では、当該ポートのみならず、しいてはＬ２ＳＷの全ポートからのＥｔｈｅｒｎｅｔフレームの送受信ができなくなる恐れがある。よって、このフロー制御では、ＰＡＵＳＥフレームを使用する場合、緻密な机上計算が必要となり、処理が複雑となる。
【０００５】
一方で、ＰＡＵＳＥフレームを使用しないＥｔｈｅｒｎｅｔフレーム伝送路においては、送信先の受信許容量を超過するトラフィック量のデータが流入した場合、オーバーフローしたＥｔｈｅｒｎｅｔフレームは破棄されることになる。
【０００６】
よって、通信制御装置において、ＰＡＵＳＥフレームのような出力を停止又は制限するフレームの送信を少なくし、且つ、伝送路を流れるトラフィック量を最適化する（例えばトラフィック量の増加に対応して破棄されるフレームを少なくする）ことが求められる。また、同時に、通信制御装置において、伝送路を流れるトラフィック量を最適化するために送信バッファの拡張に使用する記憶部の容量を調整する際に、上記記憶部を使用する他の処理への影響を少なくすることが求められる。上記他の処理は、例えば他のポートでの通信、つまり他の通信バッファを経由した通信などが挙げられる。
【０００７】
本開示の目的は、上述した課題を解決する通信制御装置、通信制御方法、及び制御プログラムを提供することにある。上記課題は、通信制御装置において、伝送路を流れるトラフィック量を最適化するに際し、出力を停止又は制限するフレームの送信を少なくし、且つ送信バッファの拡張に使用する記憶部を使用する他の処理への影響を少なくすることができない、というものである。
【課題を解決するための手段】
【０００８】
本開示の第１の態様に係る通信制御装置は、
送信するフレームのデータを格納する送信バッファを有し、フレームを送受信する通信部と、
前記送信バッファに格納する対象のデータを格納可能な記憶部と、
前記送信バッファを経由して送信されるデータのトラフィック量を監視し、前記トラフィック量に基づいて、前記送信バッファの拡張バッファとして前記記憶部を使用する容量である拡張容量を決定する制御部と、
を備えたものである。
【０００９】
本開示の第２の態様に係る通信制御方法は、
送信するフレームのデータを格納する送信バッファを有し、フレームを送受信する通信部と、前記送信バッファに格納する対象のデータを格納可能な記憶部と、を備えた通信制御装置によって実行される通信制御方法であって、
前記送信バッファを経由して送信されるデータのトラフィック量を監視するステップと、
前記トラフィック量に基づいて、前記送信バッファの拡張バッファとして前記記憶部を使用する容量である拡張容量を決定するステップと、
を有するものである。
【００１０】
本開示の第３の態様に係る制御プログラムは、
送信するフレームのデータを格納する送信バッファを有し、フレームを送受信する通信部と、前記送信バッファに格納する対象のデータを格納可能な記憶部と、を備えた通信制御装置に実行させるための制御プログラムであって、
前記通信制御装置に、
前記送信バッファを経由して送信されるデータのトラフィック量を監視するステップと、
前記トラフィック量に基づいて、前記送信バッファの拡張バッファとして前記記憶部を使用する容量である拡張容量を決定するステップと、
を実行させるための制御プログラムである。
【発明の効果】
【００１１】
本開示により、上記課題を解決する通信制御装置、通信制御方法、及び制御プログラムを提供することができる。即ち、本開示によれば、通信制御装置において、伝送路を流れるトラフィック量を最適化するに際し、出力を停止又は制限するフレームの送信を少なくし、且つ、送信バッファの拡張に使用する記憶部を使用する他の処理への影響を少なくすることができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態１に係る通信制御装置の一構成例を示すブロック図である。
【図２】実施形態２に係る通信制御装置を備えた通信システムの一構成例を示すブロック図である。
【図３】図２の通信システムにおける制御部の一構成例を示すブロック図である。
【図４】比較例に係るＬ２ＳＷにおけるＰＡＵＳＥフレームを用いた通信制御を説明するためのフロー図である。
【図５】図３の制御部における通信制御方法の一例を説明するためのフロー図である。
【図６】実施形態３に係る通信制御装置における設定例について説明するための図である。
【図７】実施形態４に係る通信制御装置における制御部の一構成例を示すブロック図である。
【図８】通信制御装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、実施形態について説明する。なお、実施形態において、同一又は同等の要素には、同一の符号を付し、重複する説明は省略される。
【００１４】
＜実施形態１＞
図１は、実施形態１に係る通信制御装置の一構成例を示すブロック図である。
図１に示すように、本実施形態に係る通信制御装置１は、制御部１ａ、通信部１ｂ、及び記憶部１ｃを備える。通信制御装置１は、通信制御装置１に有線又は無線で接続された機器間による通信を中継することができる装置であり、中継装置或いは通信装置と称することもできる。
【００１５】
制御部１ａは、例えば、ＣＰＵ（Central Processing Unit）、作業用メモリ、及び制御プログラムを記憶した不揮発性の記憶装置などによって実現することができる。また、制御部１ａは、例えば集積回路（Integrated Circuit）によって実現することもできる。制御部１ａにおける制御については後述する。
【００１６】
通信部１ｂは、フレームを送受信する。通信部１ｂは、通信制御装置１に接続された機器からフレームを受信し、通信制御装置１に接続された他の機器にそのフレームを送信するように構成することができる。このフレームは、例えばＥｔｈｅｒｎｅｔ規格に基づくフレームとすることができるが、これに限ったものではない。
【００１７】
また、通信部１ｂは、送信するフレームのデータ（パケットデータと称することもある）を格納する送信バッファ１ｄを有する。なお、送信バッファ１ｄ等のバッファはバッファメモリと称することもできる。さらに、通信部１ｂは、受信するフレームのデータを格納する受信バッファ（図示せず）を有することができる。送信バッファ１ｄや受信バッファは、いずれも半導体メモリ等の記憶装置によって実現することができ、この記憶装置は揮発性であっても不揮発性であってもデータが一時的に格納できればよい。また、通信部１ｂは、送信バッファ１ｄを有する送信ポートと、受信バッファを有する受信ポートと、を備えることができる。なお、送信ポートの数及び受信ポートの数は問わない。
【００１８】
記憶部１ｃは、送信バッファ１ｄに格納する対象のデータを格納可能な装置である。記憶部１ｃは、例えば半導体メモリ等の記憶装置によって実現することができる。記憶部１ｃは、揮発性であっても不揮発性であってもデータが一時的に格納できればよい。記憶部１ｃは、図１に示すように通信部１ｂの内部に具備することができるが、通信部１ｂの外部に具備することもできる。また、記憶部１ｃは、送信バッファ１ｄ及び受信バッファについての共有の記憶部とすること、つまり、受信バッファに格納する対象のデータを格納可能とすることもできる。また、送信バッファ１ｄ等のバッファは、記憶部１ｃと別のものとして説明しているが、各バッファの記憶領域自体は元々記憶部１ｃの予め定められた領域とすることもできる。
【００１９】
制御部１ａは、送信バッファ１ｄを経由して送信されるデータのトラフィック量（データ量）を監視する。そして、制御部１ａは、そのトラフィック量に基づいて、送信バッファ１ｄの拡張バッファとして記憶部１ｃを使用する容量である拡張容量（拡張バッファの容量）を決定する。
【００２０】
以上、本実施形態に係る通信制御装置１では、上述したようなフロー制御を用いず（フロー制御により送信側のトラフィック量を制限することなく）、トラフィック量を監視して拡張容量を決定して、送信バッファの拡張を行っている。よって、通信制御装置１によれば、伝送路を流れるトラフィック量を最適化するに際し、出力を停止又は制限するフレームの送信を少なくし、且つ、送信バッファの拡張に使用する記憶部を使用する他の処理への影響を少なくすることができる。また、上記最適化により、適切に送信バッファの拡張を行うことができるため、トラフィック量の増加に対応することができ、破棄フレームも少なくすることができる。
【００２１】
ここで、上記他の処理は、例えば他のポートでの通信、つまり他の通信バッファを経由した通信などが挙げられる。上記影響について補足すると、本実施形態では、トラフィック量の調整に際し、記憶部１ｃの空き容量を考慮することになるため、記憶部１ｃを使用する可能性のある、他のポートでの通信等への影響を抑えることができるようになる。
【００２２】
通信制御装置１が送信ポートを有するＬ２ＳＷとして機能する装置である場合を例に説明すると、本実施形態では、Ｌ２ＳＷの送信側でトラフィック量を監視（モニタリング）して送信バッファを上記記憶部で拡張し、トラフィック量を調整する。よって、本実施形態によれば、伝送路を流れるトラフィック量を最適化するに際し、ＰＡＵＳＥフレームの送信を少なくし、且つ、Ｌ２ＳＷの当該送信ポート以外への影響を抑えることができるようになる。
【００２３】
さらに、他の効果として、本実施形態によれば、トラフィック量を監視しているため、実運用環境でのデバッグ（例えば、Ｌ２ＳＷの各種設定値の修正など）を容易に行うことができる。
【００２４】
＜実施形態２＞
実施形態２について、図２〜図５を併せて参照しながら、実施形態１との相違点を中心に説明するが、実施形態１で説明した様々な例が適用できる。図２は、実施形態２に係る通信制御装置を備えた通信システムの一構成例を示すブロック図で、図３は、図２の通信システムにおける制御部の一構成例を示すブロック図である。
【００２５】
図２に示すように、本実施形態に係る通信システムは、通信制御装置１０と、通信制御装置１０に接続された送信元デバイスＡ（３１）、送信元デバイスＢ（３２）、及び送信先デバイスＣ（４１）と、を備えることができる。この通信システムは、これらの構成要素を含みＬＡＮ（Local Area Network）を構成することができ、ネットワークシステムと称することもできる。
【００２６】
各デバイス３１，３２，４１は、通信制御装置１０と通信可能な装置であり、通信部を有していればよい。各デバイス３１，３２，４１は、例えば、通信制御装置１０と同様の中継装置、他の中継装置、ＰＣ（Personal Computer）、携帯電話機（スマートフォンと称されるものも含む）等の通信可能な電子機器とすることができる。
【００２７】
本実施形態に係る通信制御装置１０は、通信部１ｂの一例としてのＬ２ＳＷ（１１）と、制御部１ａの一例としての制御部１２と、を備える。
【００２８】
Ｌ２ＳＷ（１１）は、フレームに宛先情報として含まれるＭＡＣ（Media Access Control）アドレスで中継先を判断し、中継動作を行う。Ｌ２ＳＷ（１１）は、受信ポートＡ（１１ａ）、受信ポートＢ（１１ｂ）、及び送信ポートＣ（１１ｃ）を備える。
【００２９】
図２に示す通信システムでは、受信ポートＡ（１１ａ）、受信ポートＢ（１１ｂ）、及び送信ポートＣ（１１ｃ）が、それぞれ送信元デバイスＡ（３１）、送信元デバイスＢ（３２）、送信先デバイスＣ（４１）に接続されている。この通信システムでは、このようにして通信制御装置１０が各デバイス３１，３２，４１と接続されて、Ｅｔｈｅｒｎｅｔフレームの伝送路が構築されているものとする。つまり、この通信システムにおいて、送信元デバイスＡ（３１）と送信元デバイスＢ（３２）は、Ｌ２ＳＷ（１１）を介して送信先デバイスＣ（４１）にＥｔｈｅｒｎｅｔフレームを送信することができる。
【００３０】
Ｌ２ＳＷ（１１）は、その内部において、受信ポートＡ（１１ａ）側に受信バッファＡ（２６）、受信ポートＢ（１１ｂ）側に受信バッファＢ（２７）、送信ポートＣ（１１ｃ）側に送信バッファＣ（２３）を具備する。例えば、図２に示すように、受信ポートＡ（１１ａ）が受信バッファＡ（２６）を有し、受信ポートＢ（１１ｂ）が受信バッファＢ（２７）を有し、送信ポートＣ（１１ｃ）が送信バッファＣ（２３）を有することができる。
【００３１】
受信バッファＡ（２６）、受信バッファＢ（２７）、及び送信バッファＣ（２３）は、送信先デバイスＣ（４１）に送信するＥｔｈｅｒｎｅｔフレームを、例えば送信待ちが発生した場合に一時的に格納（保管）する機能を有する。
【００３２】
このように、Ｌ２ＳＷ（１１）は、複数の通信ポートを有することができ、このうちの１つが、送信バッファＣ（２３）を有する送信ポートＣ（１１ｃ）に該当する。各通信ポートは、通信するフレームのデータを格納する通信バッファ（送信バッファ又は受信バッファ）を有することができる。なお、説明の都合上、通信ポート（接続ポート）を３つとしているが、Ｌ２ＳＷ（１１）の接続ポート数に制限を設ける必要はなく、また、実際に接続されるデバイスの数にも制限を設ける必要はない。つまり、図２に示すようなネットワーク構成に基づき本実施形態を説明するが、本実施形態はこのようなネットワーク構成に限ったものではない。
【００３３】
また、Ｌ２ＳＷ（１１）は、記憶部１ｃの一例としての共有メモリ２１を備えることができる。共有メモリ２１は、予め決められた容量のメモリである。共有メモリ２１は、受信バッファＡ（２６）、受信バッファＢ（２７）、及び送信バッファＣ（２３）と、格納領域をシェアすることができる。よって、図２では便宜上図示しないが、このようなシェアを行う場合、受信バッファＡ（２６）と共有メモリ２１とが接続され、受信バッファＢ（２７）と共有メモリ２１とも接続されていることになる。各バッファ２３，２６，２７の容量は、伝送路の設計者が自由に決定でき、また可変にできるものとする。
【００３４】
このように、共有メモリ２１は、Ｌ２ＳＷ（１１）に設けられた各通信ポートに対応する通信バッファに格納する対象のデータを格納可能になっている。このように、共有メモリ２１は、各通信ポートの共有とすること、つまり各通信バッファで共有される拡張用の記憶部とすることができる。
【００３５】
また、送信ポートＣ（１１ｃ）は、送信バッファＣ（２３）の他に一般的な機能としてパケット数カウンタ２４及びｂｉｔ数カウンタ２５を有することができる。制御部１２は、これらのカウント値を読み出すことにより、送信バッファＣ（２３）のトラフィック量を監視することができる。
【００３６】
さらに、制御部１２は、監視により得たトラフィック量に基づいて、送信バッファＣ（２３）を介して送信するデータの流量を制限することが好ましい。ここでデータの流量とは、一般的なトラフィック量と同様に、単位時間あたりに流れるデータ量とすることができる。
【００３７】
そのために、送信ポートＣ（１１ｃ）には、シェーピング部２２が具備されている。シェーピング部２２は、Ｌ２ＳＷ（１１）から送信先デバイスＣ（４１）へ送信するデータの流量（トラフィック量）を制限する機能を有する。つまり、制御部１２は、算出部１２ａによる算出の結果から、送信バッファＣ（２３）の容量拡張機能だけでなく、シェーピング部２２によるシェーピング機能を稼働させて、Ｌ２ＳＷ（１１）から送信先デバイスＣ（４１）までの流量を制御する。これにより、通信制御装置１０は、送信先デバイスＣ（４１）の受信許容量を超過しないような制御をより適切に行うことができる。
【００３８】
図２に示す通信システムでは、上述のような構成により、送信元デバイスＡ（３１）と送信元デバイスＢ（３２）から同時に送信先デバイスＣ（４１）へＥｔｈｅｒｎｅｔフレームを送信することができる。送信元デバイスＡ（３１）及び送信元デバイスＢ（３２）から同時に送信されたＥｔｈｅｒｎｅｔフレームは、それぞれ受信バッファＡ（２６）及び受信バッファＢ（２７）を経て、送信バッファＣ（２３）に滞留し、順に送信先デバイスＣ（４１）へ送信される。
【００３９】
このような場面における、比較例に係るＬ２ＳＷでの制御について説明する。比較例に係るＬ２ＳＷでは、フロー制御を行う。このフロー制御では、比較例に係るＬ２ＳＷの送信ポートからのトラフィック量が増大し、送信先デバイスの受信許容量を超過すると、その送信先デバイスが比較例に係るＬ２ＳＷに対して、ＰＡＵＳＥフレームを発行し、一時的に送信ポートＣからの出力を止める。図４のフロー図を参照しながら、比較例に係るＬ２ＳＷにおけるＰＡＵＳＥフレームを用いた通信制御について説明する。比較例に係るＬ２ＳＷは、ＰＡＵＳＥフレームを受信する（ステップＳ１０１）と、そのＰＡＵＳＥフレーム内に格納されているＰＡＵＳＥ設定時間に応じて指定された時間の間、送信を停止又は送信停止の解除を行う（ステップＳ１０２）。
【００４０】
しかしながら、比較例ではＬ２ＳＷに対してＰＡＵＳＥフレームの送信が頻発すると、送信を停止している間、共有メモリ（共有メモリ２１に相当）の容量を逼迫し、当該ポートだけでなく他のポートにおいてもフレームの送受信ができなくなる恐れがある。
また、ＰＡＵＳＥフレームを使用しない環境で使用される別の比較例に係るＬ２ＳＷでは、送信先デバイス内で処理が追いつかなくなったＥｔｈｅｒｎｅｔフレームを破棄する。
【００４１】
これに対して、本実施形態に係る通信制御装置１０では、制御部１２が次のような制御を行っている。即ち、制御部１２は、送信バッファＣ（２３）を経由して送信されるデータのトラフィック量を監視し、そのトラフィック量に基づいて、送信バッファＣ（２３）の拡張バッファとして共有メモリ２１を使用する容量（拡張容量）を決定する。このような送信バッファＣ（２３）の拡張により、破棄されるフレームを低減させることができる。
【００４２】
特に、本実施形態における制御部１２は、トラフィック量が予め定められた閾値を超えた場合に、拡張容量を変更する。このように、拡張容量は、トラフィック量が閾値を超えたか否かに基づいて決定することができる。
【００４３】
また、制御部１２は、トラフィック量が閾値を超えた場合に拡張容量を増やす（大きくする）ことが好ましい。これにより、破棄されるフレームを低減させるだけでなく、共有メモリ２１の容量も必要な分だけ使用することができ、他のポート（受信ポートＡ，Ｂ）での通信を妨げることを防ぐことができる。
【００４４】
なお、拡張容量は、Ｌ２ＳＷ（１１）の設定値として変更可能な状態で保存しておくことができる。例えば、この設定値は、図示しない制御部１２内のメモリに格納しておくことができ、或いは共有メモリ２１として不揮発性メモリを採用しておけば共有メモリ２１に格納しておくこともできる。また、この設定値は、Ｌ２ＳＷ（１１）内の別途設けたメモリに格納しておくこともできる。
【００４５】
より具体的な例として、制御部１２は、図３に示すように算出部１２ａを有し、次のようなＥｔｈｅｒｎｅｔフレーム伝送制御を行うことができる。
【００４６】
まず、算出部１２ａは、定期的（例えば１秒周期）にパケット数カウンタ２４及びｂｉｔ数カウンタ２５の少なくとも一方からカウンタの値（カウント値）を読み出し、単位時間あたりのトラフィック量を算出する。
【００４７】
算出部１２ａは、予め設定されていた閾値を上回るトラフィック量を検出した場合、読み出したパケット数カウント値１２ｂもしくはｂｉｔ数カウント値１２ｃから単位時間あたりのトラフィック量を算出する。なお、上記閾値は、例えば、上記設定値の一部として格納しておくことができる。また、算出部１２ａは、このような検出時に共有メモリ２１の空き容量１２ｄを読み出す。そして、算出部１２ａは、算出した単位時間あたりのトラフィック量と共有メモリ２１の空き容量１２ｄとから、送信バッファＣ（２３）のバッファ量の拡張に割り当てるメモリ量を算出する。
【００４８】
ここで、上記閾値は、送信先デバイスＣ（４１）の受信許容量より小さい値に設定しておくことが好ましい。これにより、制御部１２は、送信先デバイスＣ（４１）側の受信許容量を超過する前に送信バッファＣ（２３）の拡張を発動させることができ、適切なタイミングで送信制御が発動できる。通信制御装置１０は、上記閾値を変更するユーザ操作を受け付ける操作部を備えるか、或いは、外部に接続されたＰＣ等の機器からこのようなユーザ操作を受付可能に構成されていればよい。
【００４９】
また、容量拡張機能を稼働させる上記閾値と、シェーピング機能を稼働させる閾値とは、異なる値とすることもできる。
【００５０】
また、制御部１２は、送信バッファＣ（２３）のトラフィック量に基づいて、他の通信ポート、例えば受信ポートＡ（１１ａ）についての拡張容量、或いは、受信ポートＡ（１１ａ）及び受信ポートＢ（１１ｂ）についての拡張容量も決定するようにしてもよい。
【００５１】
また、制御部１２は、拡張容量を共有メモリ２１の空き容量以内の容量に決定することができる。但し、共有メモリ２１の空き容量は受信するデータ量や図示しない他の送信バッファで送信するデータ量などによっても変動し、また、他の送受信を制限することもできる。よって、制御部１２は、拡張容量を共有メモリ２１の空き容量を超えた値（無論、共有メモリ２１の全容量以下の値）に決定することもできる。
【００５２】
また、制御部１２は、各通信ポート（この例ではポート１１ａ〜１１ｃ）のトラフィック量（各通信バッファを経由して通信されるデータのトラフィック量）を監視するように構成することもできる。そして、制御部１２は、各通信バッファについてのトラフィック量に基づいて、送信ポートＣ（１１ｃ）についての拡張容量を決定するようにしてもよい。もしくは、制御部１２は、各通信バッファについてのトラフィック量に基づいて、送信ポートＣ（１１ｃ）及び他のポートについての拡張容量を決定するようにしてもよい。図２の例における上記他のポートは、受信ポートＡ（１１ａ）及び受信ポートＢ（１１ｂ）の少なくとも１つとすることができる。
【００５３】
例えば、制御部１２は、Ｌ２ＳＷ（１１）に含まれる全てのポートのトラフィック量を一括して監視して、それらのトラフィック量及び共有メモリ２１の空き容量に基づいて各ポートの拡張バッファ量を決定することができる。また、制御部１２は、共有メモリ２１を拡張に使っていないポートについては、その分、他ポートへ解放するように制御することもできる。
【００５４】
次に、図５を併せて参照しながら、制御部１２における通信制御方法の一例について説明する。図５は、制御部１２における通信制御方法の一例を説明するためのフロー図である。
【００５５】
制御部１２は、定期的に各種カウンタの値（図３の例ではパケット数カウンタ２４からのカウント値１２ｂ及びｂｉｔ数カウンタ２５からのカウント値１２ｃ）を読み出す（ステップＳ１）。次いで、制御部１２の算出部１２ａは、予め設定しておいたトラフィック量の閾値を超過していないか否かの判定（確認）を行う（ステップＳ２）。
【００５６】
算出部１２ａは、閾値を超過したと判定した場合（ステップＳ２でＹＥＳの場合）、続けて共有メモリ２１の空き容量を確認する（ステップＳ３及びステップＳ４）。具体的には、算出部１２ａは、共有メモリ２１の空き容量１２ｄを確認し（ステップＳ３）、空き容量があるか否かを判定する（ステップＳ４）。
【００５７】
算出部１２ａは、空き容量がある場合（ステップＳ４でＹＥＳの場合）、送信バッファＣ（２３）の拡張量とシェーピングを行う帯域量（単位時間あたり伝送可能な最大のデータ量）を算出し、Ｌ２ＳＷ（１１）の設定値を変更する（ステップＳ５）。
【００５８】
算出部１２ａは、共有メモリ２１の空き容量がない場合（ステップＳ４でＮＯの場合）、送信元デバイスへ帯域制限の必要性を通知する（ステップＳ７）。ステップＳ７では、例えばＬ２ＳＷ（１１）から送信元デバイスＡ（３１）及び送信元デバイスＢ（３２）へＰＡＵＳＥフレームを送信するなどの方法で通知を行うことができる。ステップＳ５，Ｓ７の処理後は開始時点（ステップＳ１）に戻り、処理が継続される。
【００５９】
このように、ステップＳ５においてＬ２ＳＷ（１１）の設定値の変更によりトラフィック量を制限した後も、各種カウンタの読み出し（ステップＳ１）を続ける。その後、算出部１２ａは、トラフィック量が上記閾値以下になった場合（ステップＳ２でＮＯの場合）、送信バッファＣ（２３）の拡張及びシェーピングを解除する（ステップＳ６）。つまり、閾値を超えたら送信バッファを拡張してもよいし、閾値より下がったら縮小して元に戻してもよい。このように、制御部１２は、トラフィック量が上記閾値を超えた後に上記閾値以下になった場合に、拡張容量を元に（元の値に）戻すことが好ましい。
【００６０】
また、別の処理例として、ステップＳ２でＮＯの場合（算出部１２ａが閾値を超過していないと判定した場合）、制御部１２は、ステップＳ１に戻りカウンタ読み出しを継続することもできる。
【００６１】
以上に説明した本実施形態に係る通信制御装置１０によれば、実施形態１に係る通信制御装置１の効果と同様に、次のような効果を奏する。即ち、通信制御装置１０では、Ｌ２ＳＷの送信側でトラフィック量を監視して送信バッファＣ（２３）を共有メモリ２１で拡張し、トラフィック量を調整する。よって、本実施形態によれば、伝送路を流れるトラフィック量を最適化するに際し、ＰＡＵＳＥフレームの送信を少なくし、且つ、Ｌ２ＳＷ（１１）の当該送信ポートＣ（１１ｃ）以外への影響を抑えることができるようになる。後者の効果について補足すると、本実施形態では、トラフィック量の調整に際し、共有メモリ２１の空き容量を考慮することになるため、共有メモリ２１を使用する可能性のある、当該送信ポートＣ（１１ｃ）以外への影響を抑えることができるようになる。
【００６２】
さらに、本実施形態に係る通信制御装置１０によれば、このような効果に加えて、次のような効果も奏する。即ち、通信制御装置１０では、Ｅｔｈｅｒｎｅｔフレーム伝送路に配置されるＬ２ＳＷ（１１）において、ＰＡＵＳＥフレームを使用する代わりに伝送路に流れるトラフィック量を監視し、事前に設けた閾値を超過した場合にバッファ量の拡張をダイナミックに行う。これにより、通信制御装置１０によれば、フレームの送受信を必要以上に停止又は制限することなく、Ｅｔｈｅｒｎｅｔフレーム伝送路に流れるトラフィック量を最適化することができる。また、通信制御装置１０において、上記閾値を超過した場合に流量の制限（シェーピング）もダイナミックに行うことで、よりＥｔｈｅｒｎｅｔフレーム伝送路に流れるトラフィック量を最適化することができる。
【００６３】
また、本実施形態に係る通信制御装置１０では、トラフィック量を監視しているため、トラフィック量に見合った閾値を調整することができ、拡張バッファの設定の最適化を容易に実現することができる。
【００６４】
このように、本実施形態に係る通信制御装置１０では、トラフィック量に見合った閾値調整を行うことができる。よって、通信制御装置１０によれば、Ｅｔｈｅｒｎｅｔフレーム伝送路のトラフィック量が例えば、送信元デバイス、送信先デバイスの処理能力向上により、伝送できるトラフィック量が上昇するようなケースにおいても、設定の最適化が容易に行うことができる。実際、一定のトラフィック量がなく、トラフィック量が大きく変動するＥｔｈｅｒｎｅｔフレーム伝送路は多く存在するため、このような効果は大きいと言える。
【００６５】
＜実施形態３＞
実施形態３について、図６を併せて参照し、その効果も含めた実施形態２との相違点を中心に説明する。実施形態３は、実施形態１，２で説明した様々な例が適用できる。図６は、実施形態３に係る通信制御装置における設定例について説明するための図である。
【００６６】
図５で説明した通信制御方法の例においては１つの閾値に基づき処理を行ったが、トラフィック量に応じて何段階かの閾値を設けてもよい。本実施形態では、複数の閾値を使用したＬ２ＳＷ（１１）の設定値を変更する処理例を、図６に示すマトリクス６０を参照しながら説明する。
【００６７】
マトリクス６０において、縦軸は複数の閾値の設定例を示している。マトリクス６０では、３つの閾値１〜３が設定されている例を挙げている。閾値は、この例のように、トラフィック量に応じて複数段階用意しておくことができ、各閾値の具体的な値は通信制御装置１０を組み込むＥｔｈｅｒｎｅｔフレーム伝送路のトラフィック量によって決めておくことができる。
【００６８】
また、マトリクス６０において、横軸は共有メモリ２１の空き容量の大きさを示している。なお、マトリクス６０では、小、中、大の３つの容量が設定されている例を挙げており、実際にはこれらの３つの容量として具体的な閾値を設定しておくことができる。
【００６９】
また、マトリクス６０の内部に２段で示されている値は、上段がバッファ拡張量、下段がシェーピング量をそれぞれ示している。これらの値も実際には具体的な値を設定しておくことができる。これらのバッファ拡張量及びシェーピング量は、図５のステップＳ５における値に相当する。
【００７０】
このように、複数の閾値（トラフィック量の閾値）、バッファ拡張量、及びシェーピング量を設定可能にしておくことで、より緻密なトラフィック量の制御を行うことができる。
【００７１】
＜実施形態４＞
実施形態４について、図７を併せて参照し、その効果も含めた実施形態２との相違点を中心に説明する。実施形態４は、実施形態１−３で説明した様々な例が適用できる。図７は、実施形態４に係る通信制御装置における制御部の一構成例を示すブロック図である。
【００７２】
本実施形態に係る通信制御装置１０では、制御部１２に対応する制御部７０が、監視により得たトラフィック量が予め定められた閾値を超えた通信ポートの数に基づいて、少なくとも送信ポートＣ（１１ｃ）についての拡張容量を決定する。また、制御部７０は、上記数に基づいて、他の通信ポート、例えば受信ポートＡ（１１ａ）についての拡張容量、或いは、受信ポートＡ（１１ａ）及び受信ポートＢ（１１ｂ）についての拡張容量を決定するようにしてもよい。
【００７３】
また、本実施形態では、このような通信ポートの数以外にも拡張容量の決定に用いることができる。つまり、本実施形態における制御部７０は、実施形態２で説明した送信ポートＣ（１１ｃ）内に具備するカウンタ以外の要素を用いてＬ２ＳＷ（１１）の設定変更値を算出することができる。この設定変更値は、少なくとも上述したバッファ拡張量を含み、好ましくはシェーピング量を含む。
【００７４】
具体的に説明すると、制御部７０は、算出部１２ａに対応する算出部７１を有する。算出部７１は、送信ポートＣ（１１ｃ）内のパケット数カウンタ２４及びｂｉｔ数カウンタ２５からそれぞれ取得したカウント値７２及びカウント値７３以外の情報も、設定変更値の算出に用いる。
【００７５】
例えば、算出部７１は、閾値を超えた通信ポートの数７４、送信先デバイスＣ（４１）の受信ポートにおけるエラー発生数、オーバーフロー発生数、パケット破棄発生数などの情報（受信ポート状態７５）を、設定変更値の算出に用いることができる。また、算出部７１は、送信先デバイスＣ（４１）におけるパケット数カウンタの値（カウント値７６）、及びその他の要素７７を取り入れて、設定変更値の算出を行うこともできる。無論、算出部７１は、これらの情報の一部を用いて設定変更値の算出を行うこともできる。
【００７６】
受信ポート状態７５やカウント値７６は、例えば、送信先デバイスＣ（４１）から送信されたフレームに含ませるようにしておき、算出部７１がそのフレームから抽出するようにすることができる。送信先デバイスＣ（４１）の受信ポート状態７５やカウント値７６はリアルタイム性に欠けダイナミックな変更には不向きである場合がある。しかし、これらの値は、Ｅｔｈｅｒｎｅｔフレーム伝送路のデバッグ用途としては有益であるため、算出に用いる値として組み込むことが好ましい。
【００７７】
＜他の実施形態＞
［ａ］
実施形態１では、図１に示す通信制御装置１の制御部１ａ、通信部１ｂ、及び記憶部１ｃの機能について説明したが、通信制御装置１としてこれらの機能が実現できればよい。同様に、実施形態２−４では、図２及び図３に示す通信制御装置１０内の各構成要素の機能について説明したが、通信制御装置としてこれらの機能が実現できればよい。
【００７８】
［ｂ］
実施形態１−４に係る通信制御装置１，１０は、次のようなハードウェア構成を有していてもよい。図８は、通信制御装置１，１０のハードウェア構成の一例を示す図である。なお、上記他の実施形態［ａ］についても同様である。
【００７９】
図８に示す通信制御装置８０は、プロセッサ８１及びメモリ８２を有する。実施形態１−４で説明した通信制御装置１，１０における制御部１ａ，１２，７０の機能は、プロセッサ８１がメモリ８２に記憶された制御プログラムを読み込んで実行することにより実現される。この制御プログラムは、プロセッサ８１を制御部１ａ又は制御部１２として機能させるためのプログラムとすることができる。
【００８０】
上述の例において、制御プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）を含む。さらに、この例は、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗを含む。さらに、この例は、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００８１】
［ｃ］
さらに、上述した実施形態において、通信制御装置における通信制御方法の手順を例示したように、本開示は、通信制御方法としての形態も採り得る。この通信制御方法は、送信するフレームのデータを格納する送信バッファを有し、フレームを送受信する通信部と、上記送信バッファに格納する対象のデータを格納可能な記憶部と、を備えた通信制御装置によって実行される方法である。そして、この通信制御方法は、次のような、監視ステップ及び決定ステップを有する。上記監視ステップは、上記送信バッファを経由して送信されるデータのトラフィック量を監視する。上記決定ステップは、上記トラフィック量に基づいて、上記送信バッファの拡張バッファとして上記記憶部を使用する容量である拡張容量を決定する。なお、その他の例については、上述した様々な実施形態で説明した通りである。また、上記制御プログラムは、通信制御装置に上述した監視ステップ及び決定ステップを実行させるためのプログラムであると言える。
【００８２】
なお、本開示は上記実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施形態を適宜組み合わせて実施されてもよい。
【符号の説明】
【００８３】
１、１０、８０  通信制御装置
１ａ、１２、７０  制御部
１ｂ  通信部
１ｃ  記憶部
１ｄ  送信バッファ
１１  Ｌ２ＳＷ
１２ａ  算出部
１２ｂ、７２  パケット数カウント値
１２ｃ、７３  ｂｉｔ数カウント値
１２ｄ  共有メモリ空き容量
２１  共有メモリ
２２  シェーピング部
２３  送信バッファＣ
２４  パケット数カウンタ
２５  ｂｉｔ数カウンタ
２６  受信バッファＡ
２７  受信バッファＢ
３１  送信元デバイスＡ
３２  送信元デバイスＢ
４１  送信先デバイスＣ
６０  マトリクス
７１  算出部
７４  閾値を超えたポート数
７５  送信先デバイスの受信ポート状態
７６  送信先デバイスのパケット数カウント値
７７  その他の要素
８１  プロセッサ
８２  メモリ
【図１】
2019165371.tif 000003
【図２】
2019165371.tif 000004
【図３】
2019165371.tif 000005
【図４】
2019165371.tif 000006
【図５】
2019165371.tif 000007
【図６】
2019165371.tif 000008
【図７】
2019165371.tif 000009
【図８】
2019165371.tif 000010