(57)【特許請求の範囲】
【請求項１】
パケットを送受信する中継装置であって、
前記中継装置が受信するパケットと送信するパケットとの少なくともいずれか一方に応じて、信頼性が要求されるパケットとリアルタイム性が要求されるパケットとのうち所定の種類のパケットについて、前記中継装置の使用状況を判断する使用状況判断部と、
前記中継装置へパケットを送信する端末に、パケットの送信を中断させることが可能であり、又は単位時間あたりのパケットの送信量を減らさせることが可能である機能により、前記中継装置が受信するパケットの流量を制御するフローコントロール部と、
前記使用状況判断部により判断される前記所定の種類のパケットの使用状況に応じて、前記機能の有効と無効とを切り替えるモード切替部と、
を備えることを特徴とする中継装置。
【請求項２】
前記機能が無効とされている場合に、信頼性が要求されるパケットよりもリアルタイム性が要求されるパケットを優先して送信するための制御を行う優先制御部を備えることを特徴とする請求項１に記載の中継装置。
【請求項３】
前記使用状況判断部は、受信したパケットのうち前記所定の種類のパケットによって占められる占有率を検出し、前記占有率に基づき前記使用状況を判断することを特徴とする請求項１又は２に記載の中継装置。
【請求項４】
前記使用状況判断部は、前記占有率を一定時間内においてカウントされたパケット数に基づき検出することを特徴とする請求項３に記載の中継装置。
【請求項５】
前記所定の種類のパケットは、パケットが送信される先のプログラムを特定するために用いられるポート番号を用いて分類され、
前記使用状況判断部は、前記ポート番号に対応した重み付けをし、その重み付けを利用して前記占有率を検出することを特徴とする請求項３又は４に記載の中継装置。
【請求項６】
前記使用状況判断部は、前記占有率の時間変化から前記使用状況を判断することを特徴とする請求項３〜５のうちいずれか１に記載の中継装置。
【請求項７】
前記使用状況判断部は、前記機能の有効と無効との時間変化を履歴として記録し、前記履歴と前記占有率とを用いて前記使用状況を判断することを特徴とする請求項３〜６のうちいずれか１に記載の中継装置。
【請求項８】
前記使用状況判断部は、前記使用状況を前記所定の種類のパケットを予め定められた数以上連続して受信したか否かに基づき検出することを特徴とする請求項１〜７のいずれか１に記載の中継装置。
【請求項９】
前記モード切替部は、前記機能の有効と無効とを切り替えた後、所定の待ち時間が経過するまで切り替えを禁止することを特徴とする請求項１〜８のいずれか１に記載の中継装置。
【請求項１０】
外部端末と接続するために用いられる複数のポートを備え、
前記フローコントロール部は、前記ポート毎に前記機能によりパケットの流量を制御することが可能であり、
前記モード切替部は、前記ポート毎に前記機能の有効と無効とを切り替えることが可能であることを特徴とする請求項１〜９のいずれか１に記載の中継装置。
【請求項１１】
前記中継装置はスイッチングハブであることを特徴とする請求項１〜１０のうちいずれか１に記載の中継装置。
【請求項１２】
パケットを送受信可能でありかつ受信するパケットの流量を制御するフローコントロール部を備えた中継装置を制御する制御方法であって、
前記フローコントロール部は、前記中継装置へパケットを送信する端末に、パケットの送信を中断させることが可能であり、又は単位時間あたりのパケットの送信量を減らさせることが可能である機能により、前記中継装置が受信するパケットの流量を制御するものであり、
前記中継装置が受信するパケットと送信するパケットとの少なくともいずれか一方に応じて、信頼性が要求されるパケットとリアルタイム性が要求されるパケットとのうち所定の種類のパケットについて、前記中継装置の使用状況を判断する使用状況判断ステップと、
前記使用状況判断ステップにより判断される前記所定の種類のパケットの使用状況に応じて、前記機能の有効と無効とを切り替えるモード切替ステップと、
を備えることを特徴とする中継装置の制御方法。
【請求項１３】
パケットを送受信可能でありかつ受信するパケットの流量を制御するフローコントロール部を備えた中継装置を制御するプログラムであって、
前記フローコントロール部は、前記中継装置へパケットを送信する端末に、パケットの送信を中断させることが可能であり、又は単位時間あたりのパケットの送信量を減らさせることが可能である機能により、前記中継装置が受信するパケットの流量を制御するものであり、
前記中継装置が受信するパケットと送信するパケットとの少なくともいずれか一方に応じて、信頼性が要求されるパケットとリアルタイム性が要求されるパケットとのうち所定の種類のパケットについて、前記中継装置の使用状況を判断する使用状況判断ステップと、
前記使用状況判断ステップにより判断される前記所定の種類のパケットの使用状況に応じて、前記機能の有効と無効とを切り替えるモード切替ステップと、
を前記中継装置に実現させることを特徴とする中継装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク通信においてパケットを送受信する中継装置、並びにその中継装置の制御方法及び制御プログラムに関するものである。
【背景技術】
【０００２】
ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）は、送信元から送信先へパケットを配送する機能を有する。ＩＰ網では、トランスポート層のプロトコルとして、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）及びＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）が用いられる。
【０００３】
ＴＣＰは、パケットによるデータ送信を行う前に送信元と送信先との端末間で接続を確立するコネクション型のプロトコルである。ＴＣＰでは、端末間で接続を確立した上で通信状態を管理したり、パケットの欠損がないか、重複がないか、順序が異なっていないか、などのパケットの誤りの確認を行ったりする。そして、誤り訂正のためにパケットを再送する再送制御を行う。これらの結果、誤りのない信頼性の高いパケット通信が行われる。その一方で、接続の確立や遮断、訂正確認、再送制御などにより、パケットによるデータ通信に時間がかかることから、転送が完了するまでの時間が長くなってリアルタイム性では劣る。
【０００４】
一方、ＵＤＰは、ＴＣＰとは異なり、送信元と送信先との間で接続の確立を行わないコネクションレス型のプロトコルである。また、ＵＤＰは、ＴＣＰとは異なり、誤り確認も誤り訂正も再送制御も行わず、送信元から送信先へ一方的にパケットによるデータを送信しているに過ぎない。これらの結果、パケットの順序相違、欠落、重複などの問題は発生し得るが、接続の確立や遮断、訂正確認、再送制御などを行わない分、パケットによるデータ転送が完了するまでの時間が短くて済みリアルタイム性では優れる。
【０００５】
以上のように、ＴＣＰとＵＤＰとの相対比較において、ＴＣＰによるパケット通信は信頼性に優れリアルタイム性に劣る特徴があり、ＵＤＰによるパケット通信はリアルタイム性に優れ信頼性に劣る特徴がある。
【０００６】
このような特徴の違いを利用し、例えば端末間のファイル転送や電子メールの送受信など、リアルタイム性よりも信頼性が重視される通信の場合には、ＴＣＰが設定される。一方、例えば音声通話や動画配信など、信頼性よりもリアルタイム性が重視される通信の場合には、ＵＤＰが設定される。
【０００７】
端末間のパケットの送受信は、多くの場合、スイッチングハブやルータなどの中継装置によって中継される。ところで、パケットの送受信をＴＣＰにより実行するかＵＤＰにより実行するかは送信元の端末において実行されるプログラム（Ｗｅｂブラウザ、ＩＰ電話、動画再生、ファイル送信など）によって規定されるため、中継装置においてはＴＣＰ及びＵＤＰによるパケット通信を並行して実行することになる場合がある。このような場合、中継装置によって、リアルタイム性と信頼性を調整することが必要となる。
【０００８】
このような調整を行うものとして、優先制御機能を搭載した中継装置がある。優先制御機能とは、受信パケットに対して優先度を決定し、優先度の高いパケットから優先的に転送する機能をいう。優先制御において、リアルタイム性を必要とするパケットの優先度を予め高く設定することで、リアルタイム性の高い通信を行うことが可能となる。
【０００９】
また、上記調整を行うものとして優先制御機能を搭載した中継装置の他、帯域制御機能を搭載した中継装置も知られている（特許文献１参照）。帯域制御機能とは、パケットの種類毎に使用できる帯域を確保したり制限したりする機能をいう。帯域制御において、リアルタイム性を必要とするパケットに優先的に帯域を割り当てることで、リアルタイム性の高い通信を行うことが可能となる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００２−２１７９６６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記優先制御によりリアルタイム性を必要とするＵＤＰパケットを優先的に転送したり、上記帯域制御によりリアルタイム性を必要とするＵＤＰパケットの帯域を優先的に確保したりすると、次のような問題が生じる。
【００１２】
すなわち、中継装置はパケットを一時的に格納するバッファを備えている。中継装置が受信したパケットは一旦バッファに溜められた後、宛先に送信されるが、中継装置にパケットが集中し過ぎてバッファの容量を超えてしまう場合がある。バッファの容量を超えてしまうとパケットが損失してしまい、信頼性が損なわれる。ここで、上記優先制御や帯域制御により、予め定められた優先度に従ってパケットを転送したり帯域を優先的に確保したりしていると、中継装置はＴＣＰパケットを宛先へ優先的に送信しないことになる。そうなると、バッファから溢れたＴＣＰパケットについて再送制御が実行される。再送制御が実行されることにより再びその分のパケットが中継装置に送信され、バッファからパケットが更に溢れやすくなる。このような悪循環をもたらすという問題が生じる。このような問題を解決するものとして、フローコントロール機能を備えた中継装置が提供されている。
【００１３】
フローコントロール機能とは、バッファが溢れないように送信元の端末にパケットの送信を中断させたり、送信速度を制限させたりする調整機能をいう。中継装置のフローコントロール機能を有効にするか無効にするかの設定は、中継装置の設置環境に応じて、管理者により静的に行われる。このフローコントロール機能により、中継装置のバッファが溢れることによるパケットの損失を防ぐことが可能となり、信頼性の高い通信を行うことが可能となる。しかしながら、パケットの送信を中断させたり送信速度を制限させたりすることにより、通信のリアルタイム性が損なわれる。
【００１４】
以上のように、信頼性重視のパケットとリアルタイム性重視のパケットが混在する中にあって、中継装置が優先制御機能や帯域制御機能、フローコントロール機能を単に備えているだけでは、リアルタイム性と信頼性とをバランスよく調整できているとまではいえないのが実情である。
【００１５】
本発明は上記事情に鑑みてなされたものであって、複数の端末間で信頼性の重視される通信とリアルタイム性の重視される通信とが混在して行われる場合に、通信状況に適した通信方法に自動的に切り替えることが可能な中継装置、並びにその中継装置の制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
以下、上記課題を解決するのに有効な各種の手段を、必要に応じて効果等を示しつつ説明する。
【００１７】
手段１．パケットを送受信する中継装置であって、
前記中継装置が受信するパケットと送信するパケットとの少なくともいずれか一方に応じて、前記中継装置の使用状況を判断する使用状況判断部と、
前記中継装置が受信するパケットの流量を制御するフローコントロール部と、
前記使用状況判断部により判断される使用状況に応じて、前記フローコントロール部による制御の有効と無効とを切り替えるモード切替部と、
を備えることを特徴とする中継装置。
【００１８】
手段１によれば、フローコントロール部が端末からのパケットの送信を一時的に禁止したり送信速度を調整したりしてパケットの流量を制御することにより、中継装置はパケット損失を防止する信頼性の高い通信方法でパケットの送受信を行うことができる。また、使用状況判断部の判断により、例えばリアルタイム性が要求されるパケットが多いと判断されたような場合には、モード切替部のモード切替によりフローコントロール部による制御を無効にすることが可能である。したがって、使用状況によってはフローコントロール部の制御を無効化してリアルタイム性の高い通信方法でパケットの送受信を行うこともできる。以上のように中継装置の使用状況に応じてフローコントロール部のモード切替を動的に実行することにより、通信状況に適した通信方法が自動選択される。
【００１９】
手段２．前記モード切替部によって前記フローコントロール部による制御が無効に切り替えられている場合に、信頼性が要求されるパケットよりもリアルタイム性が要求されるパケットを優先して送信するための制御を行う優先制御部を備えることを特徴とする手段１に記載の中継装置。
【００２０】
手段２によれば、フローコントロール部による制御が無効とされている場合には、優先制御部によってリアルタイム性を要するパケットを優先して送信することが可能となる。これにより、信頼性が要求される使用状況においてフローコントロール部を有効とし、リアルタイム性が要求される使用状況においてフローコントロール部を無効にして優先制御部が機能するように切り替えられることにより、信頼性が要求される使用状況とリアルタイム性が要求される使用状況との相反する状況に対し、適切に対応することができる。なお、信頼性が要求されるパケットの代表例はＴＣＰパケットであり、リアルタイム性が要求されるパケットの代表例はＵＤＰパケットである。また、優先制御部による「信頼性が要求されるパケットよりもリアルタイム性が要求されるパケットを優先して送信するための制御」としては、信頼性が要求されるパケットに対し優先度を決定して優先度の高いパケットから優先的に転送する優先制御の他、信頼性が要求されるパケットに使用できる帯域を確保する帯域制御でもよく、これら優先制御及び帯域制御をともに行うものであってもよい。
【００２１】
手段３．前記使用状況判断部は、受信したパケットのうち所定の種類のパケットによって占められる占有率を検出し、前記占有率に基づき前記使用状況を判断することを特徴とする手段１又は２に記載の中継装置。
【００２２】
手段３によれば、使用状況の判断に際し、中継装置が受信するパケットを監視して所定の種類のパケットの占有率を検出することにより、使用状況判断部が客観的な判断を行いやすくなる。その結果、モード切替も適切に実行されることとなる。
【００２３】
手段４．前記所定の種類のパケットは、リアルタイム性が要求されるパケット又は信頼性が要求されるパケットであることを特徴とする手段３に記載の中継装置。
【００２４】
手段４によれば、リアルタイム性が要求されるパケット又は信頼性が要求されるパケットの少なくともいずれかの占有率が把握されることにより、リアルタイム性が要求されている使用状況か信頼性が要求されている使用状況かを判断するのに役立つ。
【００２５】
手段５．前記使用状況判断部は、前記占有率を一定時間内においてカウントされたパケット数に基づき検出することを特徴とする手段３又は４に記載の中継装置。
【００２６】
手段５によれば、占有率を一定時間内のパケット数により求めることにより得ることとしたため、時間が固定されている前提であれば実際の処理としてパケットをカウントするだけでも占有率を把握することができ、占有率の演算処理が容易になる。
【００２７】
手段６．前記所定の種類のパケットは、パケットが送信される先のプログラムを特定するために用いられるポート番号を用いて分類され、
前記使用状況判断部は、前記ポート番号に対応した重み付けをし、その重み付けを利用して前記占有率を検出することを特徴とする手段３〜５のうちいずれか１に記載の中継装置。
【００２８】
単純に占有率を検出する場合には、特に配慮すべき主要なパケットが送信される先のプログラムについて、適切なモード切替を実行することができない場合が生じる。この点、手段６によれば、主要なパケットが送信される先のプログラムについて重み付けをして占有率を検出するようにしたことから、単なるパケット数比較のような場合と比べて主要なパケットを優先することができる。
【００２９】
手段７．前記使用状況判断部は、前記占有率の時間変化から前記使用状況を判断することを特徴とする手段３〜６のうちいずれか１に記載の中継装置。
【００３０】
手段７によれば、占有率の時間変化を加味することにより、近い将来の占有率を予測することができる。したがって、モード切替部は予想される近い将来の使用状況にあわせたモード切替を実行することが可能となる。
【００３１】
手段８．前記使用状況判断部は、前記フローコントロール部の制御の有効と無効との時間変化を履歴として記録し、前記履歴と前記占有率とを用いて前記使用状況を判断することを特徴とする手段３〜７のうちいずれか１に記載の中継装置。
【００３２】
手段８によれば、記録された履歴から、中継装置に接続されている端末が信頼性を要求する場面が多いのか、リアルタイム性を要求する場面が多いのか、という傾向を把握することができる。その把握された傾向を利用することにより、より適切なモード切替を実行することが可能となる。
【００３３】
手段９．前記使用状況判断部は、前記使用状況を所定の種類のパケットの連続性に基づき検出することを特徴とする手段１〜８のいずれか１に記載の中継装置。
【００３４】
手段９によれば、中継装置が送受信する所定の種類のパケットが連続している場合には、所定の種類のパケットの占有率が高まっていると判断することもできる。これを利用することにより、所定の種類のパケットの占有率を演算処理することなしに適切なモード切替を実行することもできるし、所定の種類のパケットの連続性と実際の占有率との両者から使用状況に一層適したモード切替を実行することもできる。
【００３５】
手段１０．前記モード切替部は、前記フローコントロール部による制御の有効と無効とを切り替えた後、所定の待ち時間が経過するまで切り替えを禁止することを特徴とする手段１〜９のいずれか１に記載の中継装置。
【００３６】
中継装置のフローコントロール機能を有効から無効に、又は無効から有効に切り替えるためには、接続端末と中継装置間での再接続が必要である。そして、接続端末と中継装置間で接続、遮断及び再接続という処理が頻繁に行われると、その処理中にはデータ用の通信を行うことができない。したがって、手段１０のようにモード切替が実行された後一定時間再度のモード切替を禁止することは、これを禁止しない場合と比べて、データ用の通信を不可とする期間が減る効果があり、フローコントロール機能の有効時も無効時も有利な通信状態を得られる。
【００３７】
手段１１．外部端末と接続するために用いられる複数のポートを備え、
前記フローコントロール部は、前記ポート毎に前記中継装置が受信するパケットの流量を制御することが可能であり、
前記モード切替部は、前記ポート毎に前記フローコントロール部による制御の有効と無効とを切り替えることが可能であることを特徴とする手段１〜１０のいずれか１に記載の中継装置。
【００３８】
手段１１によれば、複数のポートを備えているため、複数の外部端末を中継装置が中継することができる。ここで、ポート毎に接続端末が異なるため、各端末のパケット送受信状況に応じてポート毎にフローコントロール機能の設定を行うことで、きめ細かな制御が可能となる。
【００３９】
以上説明した中継装置は、スイッチングハブに適用することが代表例の一つとして想定されている。また、上記各手段について中継装置を前提に説明したが、中継装置の制御方法や制御プログラムとして提供しても、上記課題を解決することができる。
【図面の簡単な説明】
【００４０】
【図１】中継装置のハードウェア構成図
【図２】中継装置の機能ブロック図
【図３】定期処理を示すフローチャート
【図４】モード決定処理を示すフローチャート
【図５】モード切替処理を示すフローチャート
【図６】モード決定処理の変形例（１）を示すフローチャート
【図７】モード決定処理の変形例（２）を示すフローチャート
【図８】モード決定処理の変形例（３）を示すフローチャート
【図９】モード決定処理の変形例（４）を示すフローチャート
【発明を実施するための形態】
【００４１】
以下に、本実施形態に係る中継装置１０を説明する。図１は本実施形態における中継装置１０のハードウェア構成図である。
【００４２】
中継装置１０は、本実施形態では例えばスイッチングハブである。なお、中継装置１０としては、スイッチングハブの他、ルータやレイヤー３スイッチなどであってもよい。中継装置１０は、ＣＰＵ１１１と、ＲＡＭ１１２と、ＦｌａｓｈＲＯＭ１１３と、スイッチングエンジン１２１と、ＭＡＣチップ１２１１，１２２１，１２３１と、物理層チップ（以下ＰＨＹと言う）１２１２，１２２２，１２３２と、ポート１２１３，１２２３，１２３３とを備える。そして、スイッチングエンジン１２１と、ＭＡＣチップ１２１１，１２２１，１２３１とがＩＣチップに搭載された形でスイッチコントローラが構成されている。なお、ＰＨＹ１２１２，１２２２，１２３２が更にＩＣチップに搭載されてスイッチコントローラが構成されるものであってもよい。ポート１２１３，１２２３，１２３３は複数備えられており、ＭＡＣチップ１２１１，１２２１，１２３１及びＰＨＹ１２１２，１２２２，１２３２はポート１２１３，１２２３，１２３３毎に備えられている。中継装置１０は、ポート１２１３，１２２３，１２３３を通じて外部端末２１，２２，２３と接続される。当該接続は、例えば、ＩＥＥＥ８０２．３によって規格化されたイーサネット（登録商標）と呼ばれる接続方式によりなされ、例えば、１０Ｍｂｐｓ、１００Ｍｂｐｓ、１Ｇｂｐｓ又は１０Ｇｐｓの全二重又は半二重の通信速度を有する。
【００４３】
外部端末２１，２２，２３より送信された電気信号の形式を有するパケットはＰＨＹ１２１２，１２２２，１２３２によりデータに変換される。さらにデータに変換されたパケットは、ＰＨＹ１２１２，１２２２，１２３２からＭＡＣチップ１２１１，１２２１，１２３１に送信される。ここで、ＭＡＣチップ１２１１，１２２１，１２３１は固有の識別番号を有する。各ＭＡＣチップ１２１１、１２２１、１２３１はスイッチングエンジン１２１を介して相互に接続される。
【００４４】
ＭＡＣチップ１２１１，１２２１，１２３１は、受信したパケットをＭＡＣフレーム形式に変換し、スイッチングエンジン１２１へと送信する。スイッチングエンジン１２１は図示しないバッファを備えており、ＭＡＣチップ１２１１，１２２１，１２３１から受信したパケットをバッファに一時的に格納する。また、スイッチングエンジン１２１はＣＰＵ１１１と接続される。ＣＰＵ１１１はＲＡＭ１１２、ＦｌａｓｈＲＯＭ１１３と接続される。
【００４５】
ＦｌａｓｈＲＯＭ１１３には、スイッチングエンジン１２１を制御するためのプログラムが格納されている。ＣＰＵ１１１は、スイッチングエンジン１２１を制御するためのプログラムをＲＡＭ１１２に展開し実行する。ＣＰＵ１１１は、バッファに格納されたパケットに係る情報（以下、パケット情報という）を、スイッチングエンジン１２１から取得する。そして、ＣＰＵ１１１は、パケット情報に基づいてスイッチングエンジン１２１又はＭＡＣチップ１２１１，１２２１，１２３１を制御する。ここで、パケット情報とは、受信するパケットが用いるプロトコル、ポート番号、各パケットのパケット長など、パケットに格納されている情報である。
【００４６】
スイッチングエンジン１２１は、バッファに格納されたＭＡＣフレーム形式のパケットを、当該パケットに含まれる制御情報に従い、ＭＡＣチップ１２１１，１２２１，１２３１へ送信する。ＭＡＣチップ１２１１，１２２１，１２３１は、スイッチングエンジン１２１から受信したパケットをＰＨＹ１２１２，１２２２，１２３２及びポート１２１３，１２２３，１２３３を通じ、外部端末２１〜２３へと送信する。
【００４７】
以上のハード構成からなる中継装置１０において、その機能に着目した機能ブロック図を図２に示す。中継装置１０は、制御部Ｂ１とパケット送受信部Ｂ２とを備える。制御部Ｂ１は、パケット情報取得部Ｂ１１と、使用状況判断部Ｂ１２と、モード記憶部Ｂ１３と、モード切替部Ｂ１４とを備える。パケット送受信部Ｂ２は、フローコントロール部Ｂ２１と、優先制御部Ｂ２２とを備える。
【００４８】
なお、図２の制御部Ｂ１は図１のＣＰＵ１１１、ＲＡＭ１１２、ＦｌａｓｈＲＯＭ１１３に対応する。また、図２のパケット送受信部Ｂ２は、図１のスイッチングエンジン１２１、ＭＡＣチップ１２１１，１２２１，１２３１、ＰＨＹ１２１２，１２２２，１２３２、ポート１２１３，１２２３，１２３３に対応する。
【００４９】
パケット送受信部Ｂ２は、外部端末２１〜２３からパケットを受信し、受信したパケットを外部端末２１〜２３へと送信する。パケット送受信部Ｂ２の備えるフローコントロール部Ｂ２１は、Ｐａｕｓｅフレームを外部端末２１〜２３へと送信することにより、外部端末２１〜２３からのパケットの送信を中断させる。なお、パケットの送信を中断させる以外にも、パケットの送信速度を低下させるものであってもよい。このように、フローコントロール部Ｂ２１のフローコントロール機能は、バッファが溢れないように送信元の端末にパケットの送信を中断させたり、送信速度を制限させたりする調整機能をいう。
【００５０】
フローコントロール機能が有効になっている場合、バッファが溢れるのを抑制することができる。このため、信頼性の高い通信を行うことができる。しかも、バッファが溢れることによるパケットの損失を抑制することができるため、ＴＣＰパケットの再送制御が行われる頻度も減らすことができる。
【００５１】
優先制御部Ｂ２２は、外部端末２１〜２３から受信したパケットに優先度を設定し、優先度の高いパケットから先に送信するための優先制御を行う。優先制御部Ｂ２２による優先制御は、フローコントロール部Ｂ２１によるフローコントロール機能が有効とされている場合には機能せず、フローコントロール機能が無効とされている場合に限り機能する。また、優先制御部Ｂ２２は、上記優先制御の他、パケットの種類毎に使用できる帯域を確保したり制限したりする帯域制御（本実施形態では、ＵＤＰパケットの帯域を確保し、ＴＣＰパケットの帯域を制限する）を行うものでもよく、これら優先制御及び帯域制御をともに行うものであってもよい。
【００５２】
優先制御部Ｂ２２の用いる優先度は、パケットがＴＣＰパケットとＵＤＰパケットのいずれであるかということに基づいて設定可能である。また、パケットが受信または送信されるポート１２１３，１２２３，１２３３に基づいて設定することが可能である。また、ＩＥＥＥ８０２．１ｐ規格において定められているＰｒｉｏｒｉｔｙ  Ｃｏｄｅ  Ｐｏｉｎｔに基づいて設定してもよい。また、パケットの有するＩＰヘッダーのＴｙｐｅ  ｏｆ  Ｓｅｒｖｉｃｅの値やＤｉｆｆｅｒｅｎｔｉａｔｅｄ  ｓｅｒｖｉｃｅｓ  ｃｏｄｅ  ｐｏｉｎｔの値を用いて設定してもよい。また、パケットの有するポート番号を用いて設定してもよい。
【００５３】
本実施形態の場合、優先制御部Ｂ２２における優先度はＴＣＰパケットよりもＵＤＰパケットの方が高く設定される。これにより、優先制御部Ｂ２２による優先制御が行われる場合には、リアルタイム性の高い通信を行うことができる。
【００５４】
パケット情報取得部Ｂ１１はパケット送受信部Ｂ２からパケット送受信部Ｂ２が受信するパケット情報を取得する。使用状況判断部Ｂ１２は、パケット情報取得部Ｂ１１が取得したパケット情報に基づいて中継装置１０の使用状況を判断する。そして、使用状況判断部Ｂ１２は、判断した使用状況に基づき、フローコントロール部Ｂ２１のフローコントロール機能を有効とするか、又は無効とするかのモードを決定し、その決定したモードをモード情報としてモード記憶部Ｂ１３に書き込む。
【００５５】
モード切替部Ｂ１４は、中継装置１０の使用状況に適したものとして決定されたモード情報をモード記憶部Ｂ１３から取得し、フローコントロール部Ｂ２１の有するフローコントロール機能の有効と無効とを切り替える。ここで、ＩＥＥＥ８０２．３規格において、フローコントロール機能の有効と無効との切り替えは、Ａｕｔｏ  Ｎｅｇｏｔｉａｔｉｏｎ（自動調停）のプロセスの中で実行することとなる。したがって、フローコントロール機能の有効と無効とを切り替える場合、中継装置１０と外部端末２１〜２３との再接続が必要となる。
【００５６】
以上のように構成された中継装置１０では、ＣＰＵ１１１によって定期処理が一定時間間隔、例えば１秒又はそれ未満の時間間隔で定期的に実行される。
【００５７】
ＣＰＵ１１１（図２の制御部Ｂ１）が行う定期処理について図３を用いて説明する。制御部Ｂ１は、まずモード決定処理（Ｓ１）を実行する。モード決定処理とは、パケット情報取得部Ｂ１１が取得した情報に基づいて中継装置１０の使用状況を判断し、フローコントロール部Ｂ２１の有するフローコントロール機能を有効にするか無効にするかを決定するための処理である。
【００５８】
モード決定処理の後、制御部Ｂ１は、所定のタイマがタイムアップしたか否かを判断する（Ｓ２）。タイマは、モード切替部Ｂ１４によってモード切替が実行された後、次のモード切替までの最低時間を決定するものであり、タイマで規定された時間内での連続したモード切替を禁止するものである。タイムアップしていると判定されると（Ｓ２：ＹＥＳ）、モード切替処理（Ｓ３）へ移行する。一方、タイムアップしていないと判定されると（Ｓ２：ＮＯ）、モード切替処理へ移行することなく本定期処理を終了する。
【００５９】
モード切替処理とは、モード決定処理（Ｓ１）において決定されたモード情報に基づいてモード切替部Ｂ１４によってなされる処理であって、フローコントロール部Ｂ２１の有するフローコントロール機能のモードを有効に切り替えたり無効に切り替えたりする処理である。
【００６０】
モード切替処理の後、制御部Ｂ１は、モード切替が今回の定期処理において行われたか否かを判断する（Ｓ４）。モード切替が今回の定期処理において行われた場合（Ｓ４：ＹＥＳ）、タイマをセットして本定期処理を終了する。タイマは、ステップＳ２においてモード切替の最低時間間隔を規定するためにセットされるものであり、例えば、１０秒や５分、０．５時間など少なくとも定期処理の時間間隔よりも十分に長い時間とされている。ここでセットされるタイマの時間は予め定められた固定の時間であってもよいが、中継装置１０の管理者によって変更設定することができるようにしてもよい。
【００６１】
モード切替が今回の定期処理において行われなかった場合（Ｓ４：ＮＯ）、タイマをセットすることなくタイムアップした状態が維持されたまま、本定期処理を終了する。これは既にモード切替のないまま最低時間間隔を超えているということができるので、次の定期処理においてタイムアップと判断されてモード切替処理に移行させるようにするためである。
【００６２】
次に、ステップＳ１で行われるＣＰＵ１１１（図２の使用状況判断部Ｂ１２）によるモード決定処理について図４を用いて説明する。パケット情報取得部Ｂ１１は、パケット送受信部Ｂ２が受信したパケット情報を、パケット送受信部Ｂ２から取得する。本実施形態では、パケット情報のうち、プロトコルに基づくパケットの種類（ＴＣＰパケットかＵＤＰパケットか）を利用する。
【００６３】
使用状況判断部Ｂ１２は、パケット情報取得部Ｂ１１からパケット情報のうちパケットの種類を取得し、全体のパケットに占めるＴＣＰパケットとＵＤＰパケットの占有率を演算することにより検出する（Ｓ１０）。ここで、ＴＣＰパケット及びＵＤＰパケットの占有率は、一定時間内に受信した全パケット数に占めるＴＣＰパケット及びＵＤＰパケットの割合とする。次に、使用状況判断部Ｂ１２は、ＴＣＰパケットの占有率が予め定められた所定値以上か否かの判断を行う（Ｓ１２）。なお、ステップＳ１２の判断が、中継装置１０の使用状況を、ＴＣＰパケットの占有率の側面から判断する処理に該当する。
【００６４】
ＴＣＰパケットの占有率が所定値以上の場合（Ｓ１２：ＹＥＳ）、フローコントロール機能を有効化する旨の判断を行う（Ｓ１４）。そして、当該判断の結果をモード情報としてモード記憶部Ｂ１３へと書き込み（Ｓ１６）、本モード決定処理を終了する。
【００６５】
一方、ステップＳ１２において、ＴＣＰパケットの占有率が所定値より少ない場合（Ｓ１２：ＮＯ）、ＵＤＰパケットの占有率が予め定められた所定値以上か否かの判断を行う（Ｓ１８）。なお、ステップＳ１８の判断が、中継装置１０の使用状況を、ＵＤＰパケットの占有率の側面から判断する処理に該当する。ＵＤＰパケットの占有率が所定値以上の場合（Ｓ１８：ＹＥＳ）、フローコントロール機能を無効化する旨の判断を行う（Ｓ２０）。そして、当該判断の結果をモード情報としてモード記憶部Ｂ１３へと書き込み（Ｓ２０）、本モード決定処理を終了する。ステップＳ１８において、ＵＤＰパケットの占有率が所定値未満の場合（Ｓ１８：ＮＯ）、本モード決定処理を終了する。
【００６６】
ここで、ステップＳ１２及びステップＳ１８においてＴＣＰパケットの占有率やＵＤＰパケットの占有率と比較される所定値は、本実施形態では例えばいずれも６０％に設定されている。この場合、ＴＣＰパケットとＵＤＰパケットとのいずれか一つの占有率が６０％以上にならない限り、フローコントロール機能の切り替えが生じない。すわなち、例えば、中継装置１０が送受信する全てのパケットをＴＣＰパケットとＵＤＰパケットが占める場合、ＴＣＰパケットが４０％〜６０％で変化する場合（すなわち、ＵＤＰパケットが４０％〜６０％で変化する場合）には、モード切替は行われない。
【００６７】
こうすることにより、フローコントロール機能の有効と無効とのモード切替が行われる頻度を抑制することができる。すなわち、ＴＣＰパケットの占有率とＵＤＰパケットの占有率のうち一方についてのみ所定値と比較（Ｓ１２又はＳ１８）して中継装置１０の使用状況を判断することも可能ではあるが、両方について所定値と比較（Ｓ１２及びＳ１８）することにより、フローコントロール機能を有効化する場合の閾値と無効化する場合の閾値とに幅をもたせることができる。その結果、モード切替の頻度を低減させることが可能となる。本実施形態では、モード切替の頻度を低減させる意味においては所定値として５０％より高く設定してあればよく、この数値が大きくなるほどモード切替の決定頻度が減ることになる。
【００６８】
なお、ステップＳ１２及びステップＳ１８の占有率の閾値として用いられる所定値は、中継装置１０の管理者により変更設定できるようにすることが好ましい。この場合、ステップＳ１２及びステップＳ１８の両所定値が同一の値であることを条件としてもよいし、互いに異なる値を所定値として設定できるようにしてもよい。また、ＴＣＰパケットの占有率とＵＤＰパケットの占有率の両方について所定値と比較（Ｓ１２及びＳ１８）することでモード切替の頻度を低減させることを可能としたが、ＴＣＰパケットの占有率とＵＤＰパケットの占有率の一方の占有率だけを用い、これを２つの数値の異なる所定値で比較しても、同様の効果が得られる。例えば、ステップＳ１２において所定値を６０％（第１所定値）とし、ステップＳ１８においてＴＣＰパケットの占有率が４０％（第２所定値）以下であるか否かを判断するように変更することでこれを実現することができる。この場合、ステップＳ１０において全体のパケット数に対するＴＣＰパケット（又はＵＤＰパケット）の占有率だけを算出すれば済むため、その分、処理負荷を低減することができる効果も得られる。
【００６９】
次に、ステップＳ３で行われるＣＰＵ１１１（図２のモード切替部Ｂ１４）によるモード切替処理について図５を用いて説明する。
【００７０】
モード切替部Ｂ１４は、中継装置１０の使用状況に適したフローコントロール部Ｂ２１のモード情報を、モード記憶部Ｂ１３から取得する（Ｓ３０）。次に、モード切替部Ｂ１４は、取得したモードがフローコントロール機能を有効にするモードであるか否かを判断する（Ｓ３２）。取得したモードがフローコントロール機能を有効にするモードである場合（Ｓ３２：ＹＥＳ）、現在、フローコントロール機能が有効であるか否かを判断する（Ｓ３４）。現在、フローコントロール機能が有効である場合（Ｓ３４：ＹＥＳ）、モード切替が不要であるため、そのまま本モード切替処理を終了する。一方、フローコントロール機能が無効である場合（Ｓ３４：ＮＯ）、フローコントロール部Ｂ２１のモードを切り替え、フローコントロール機能を有効にする（Ｓ３６）。そして、本モード切替処理を終了する。
【００７１】
また、ステップＳ３０で取得したモードがフローコントロール機能を無効にするモードである場合（Ｓ３２：ＮＯ）、現在、フローコントロール機能が無効であるか否かを判断する（Ｓ４０）。現在、フローコントロール機能が無効である場合（Ｓ４０：ＹＥＳ）、モード切替が不要であるため、そのまま本モード切替処理を終了する。一方、フローコントロール機能が有効である場合（Ｓ４０：ＮＯ）、フローコントロール部Ｂ２１のモードを切り替え、フローコントロール機能を無効にする（Ｓ４２）。そして、本モード切替処理を終了する。
【００７２】
以上の処理が実行されることにより、中継装置１０が受信するパケットについて、信頼性を要求されるＴＣＰパケットの占有率が高い使用状況にあっては、フローコントロール機能が自動的に有効化される。このため、スイッチングエンジン１２１のバッファが溢れるのを抑制することができ、信頼性の高い通信を行うことができる。しかも、バッファが溢れることによるパケットの損失を抑制することができるため、ＴＣＰパケットの再送制御が行われる頻度も減らすことができる。
【００７３】
一方、中継装置１０が受信するパケットについて、リアルタイム性を要求されるＵＤＰパケットの占有率が高い使用状況にあっては、フローコントロール機能が自動的に無効化される。フローコントロール機能が無効化されることにより、送信元の端末にパケットの送信を中断させたり、送信速度を制限させたりする調整は実行されなくなる。その結果、フローコントロール機能が有効化されている場合と比較し、リアルタイム性の高い通信を行うことができる。しかも、本実施形態では、フローコントロール機能が無効化されると、優先制御部Ｂ２２による優先制御が機能するようになる。そして、本実施形態では、優先制御部Ｂ２２の優先制御においてＴＣＰパケットよりもＵＤＰパケットの方を優先度が高くなるように設定してある。その結果、フローコントロール機能の無効化とＵＤＰパケットの優先度を高めた優先制御の実施とが相俟って、フローコントロール機能を無効化するだけの場合と比較し、更にリアルタイム性の高い通信を行うことができる。
【００７４】
また、本実施形態においては、モード決定処理（Ｓ１）とモード切替処理（Ｓ３）とを完全に同期させることなく、別々の処理としている。これにより、モード切替を禁止している期間においても、使用状況を判断してモード決定をすることが可能となる。これにより、モード切替が禁止されている期間内であっても、直近の使用状況に基づいたモード情報が更新されていくことになり、現状の使用状況に適合したモード切替を行なうことができる。
【００７５】
ここで、フローコントロール機能の有効と無効とを切り替えるためには、Ａｕｔｏ  Ｎｅｇｏｔｉａｔｉｏｎのプロセスを実行する必要があることから、中継装置１０と外部端末２１〜２３との間で再接続を行う必要がある。この再接続を行っている間、中継装置１０と外部端末２１〜２３との間でパケットの送受信が停止されるため、頻繁に接続、切断及び再接続の処理が行われるとパケットの通信効率が低下する。この点、本実施形態においては、図３の定期処理中、ステップＳ２及びステップＳ５の処理により、フローコントロール機能のモード切替の最低時間間隔を規定している。これにより、頻繁なフローコントロール機能のモード切り替えに伴うパケットの通信効率の低下を抑止することが可能となる。
【００７６】
また、モード決定処理においてＴＣＰパケット占有率やＵＤＰパケット占有率との両方が所定値と比較され、しかも比較される所定値が５０％より高く設定されることにより、フローコントロール機能を有効化する場合の閾値と無効化する場合の閾値とに幅をもたせることができる。その結果、頻繁なモードの切り替えを抑止することが可能となる。この点においても、頻繁なモード切替に伴う、中継装置１０と外部端末２１〜２３の間での再接続による通信効率の低下を抑止することが可能となる。
【００７７】
（変形例）
上記実施形態の変形例を以下に説明する。
【００７８】
（１）使用状況判断部Ｂ１２が行うモード決定処理として、図６に示した処理とすることも可能である。
【００７９】
すなわち、使用状況判断部Ｂ１２は、パケット情報取得部Ｂ１１からパケット情報を取得し、ＴＣＰパケットの単位時間あたりの占有率を演算することで検出する（Ｓ５０）。そして、使用状況判断部Ｂ１２は、検出された占有率を元に、ＴＣＰパケットの占有率の時間変化量を算出する（Ｓ５２）。
【００８０】
使用状況判断部Ｂ１２は、算出した時間変化量が予め定められた所定値以上であるか否かを判断する（Ｓ５４）。ここで、当該所定値は、ＴＣＰパケットの占有率が増加傾向にあると判断可能な値に設定される。なお、ステップＳ５４の判断が、中継装置１０の使用状況をＴＣＰパケットの占有率における時間変化量の側面から判断する処理に該当する。ステップＳ５４の判断の結果、ＴＣＰパケットの占有率の時間変化量が所定値以上、すなわちＴＣＰパケットの占有率が増加傾向にあると判断される場合（Ｓ５４：ＹＥＳ）、使用状況判断部Ｂ１２は、フローコントロール機能を有効化させるべき旨の判断を行う（Ｓ５６）。そして、使用状況判断部Ｂ１２は、モード記憶部Ｂ１３に当該結果をモード情報として書き込み（Ｓ５８）、本モード決定処理を終了する。
【００８１】
一方、ＴＣＰパケットの占有率の時間変化量が所定値未満であると判断される場合（Ｓ５４：ＮＯ）、使用状況判断部Ｂ１２は、フローコントロール機能を無効化させるべき旨の判断を行う（Ｓ６０）。そして、使用状況判断部Ｂ１２は、モード記憶部Ｂ１３に当該結果をモード情報として書き込み（Ｓ６２）、本モード決定処理を終了する。
【００８２】
本変形例によれば、占有率の時間変化を元にして近い将来の使用状況を予測し、モードの切り替えを行うことが可能となる。なお、本変形例では、ＴＣＰパケットの占有率の時間変化量のみについて判断を行うが、ＵＤＰパケットの占有率の時間変化量についても算出し、これを使用状況判断のために用いてもよい。
【００８３】
（２）使用状況判断部Ｂ１２が行うモード決定処理として、図７に示した処理とすることも可能である。
【００８４】
すなわち、使用状況判断部Ｂ１２は、パケット情報取得部Ｂ１１からパケット情報を取得し、一定時間におけるＴＣＰパケットの全パケットに占める占有率を検出する（Ｓ７０）。次に、使用状況判断部Ｂ１２が履歴を参照し、モード記憶部Ｂ１３に書き込まれたモード情報のうち、フローコントロール機能が有効化された回数とフローコントロール機能が無効化された回数を比較する（Ｓ７２）。なお、履歴については、使用状況判断部Ｂ１２がモード記憶部Ｂ１３にモード情報を書き込む度に、履歴記憶用のメモリ内に過去一定回数分のモード情報を記憶しておいたり、モード記憶部Ｂ１３に過去一定回数分のモード情報を履歴情報として記憶させておいたりすることにより、参照可能となる。
【００８５】
フローコントロール機能が有効化された回数が無効化された回数の一定比率（ここでは２倍とする）以上であると判断される場合（Ｓ７２：ＹＥＳ）、ＴＣＰパケットの占有率が第１所定値以上か未満かを判断する（Ｓ７４）。ＴＣＰパケットの占有率が第１所定値以上であると判断される場合（Ｓ７４：ＹＥＳ）、使用状況判断部Ｂ１２は、フローコントロール部Ｂ２１のフローコントロール機能を有効にするべきと判断する（Ｓ７６）。使用状況判断部Ｂ１２は、当該判断の結果をモード情報としてモード記憶部Ｂ１３に書き込む（Ｓ７８）。そして、書き込まれるモードに係る履歴を更新し（Ｓ８０）、本モード決定処理を終了する。
【００８６】
ステップＳ７４において、ＴＣＰパケットの占有率が第１所定値未満であると判断される場合（Ｓ７４：ＮＯ）、使用状況判断部Ｂ１２は、フローコントロール部Ｂ２１のフローコントロール機能を無効にするべきと判断する（Ｓ８２）。使用状況判断部Ｂ１２は当該判断の結果をモード情報としてモード記憶部Ｂ１３に書き込む（Ｓ８４）。そして、書き込まれるモードに係る履歴を更新し（Ｓ８０）、本モード決定処理を終了する。
【００８７】
ステップＳ７２において、フローコントロール機能が有効化された回数が無効化された回数の一定比率（ここでは２倍とする）未満であると判断される場合（Ｓ７２：ＮＯ）、ＴＣＰパケットの占有率が第２所定値以上か否かを判断する（Ｓ８６）。ここで、第２所定値は第１所定値より高く設定される。ＴＣＰパケットの占有率が第２所定値以上であると判断される場合（Ｓ８６：ＹＥＳ）、フローコントロール機能を有効にする旨の判断を行い（Ｓ８８）、判断結果をモード情報としてモード記憶部Ｂ１３に書き込む（Ｓ９０）。書き込んだ判断結果を履歴として記憶し（Ｓ８０）、本モード決定処理を終了する。
【００８８】
ステップＳ８０において、ＴＣＰパケット占有率が第２所定値未満であると判断される場合（Ｓ８６：ＮＯ）、フローコントロール機能を無効にする旨の判断を行い（Ｓ９２）、判断結果をモード情報としてモード記憶部Ｂ１３に書き込む（Ｓ９４）。書き込んだ判断結果を履歴として記憶し（Ｓ８０）、本モード決定処理を終了する。なお、ステップＳ７２、Ｓ７４、Ｓ８６の判断が、中継装置１０の使用状況を、履歴及びＴＣＰパケットの占有率の側面から判断する処理に該当し、その判断に際して履歴の重み付けがなされていることに特徴を有する。
【００８９】
フローコントロール機能が有効とされる傾向の強い端末は、一時的にフローコントロール機能が無効とされる場合が生じても、すぐにフローコントロール機能が有効へと切り替わることとなる。この切り替わりにより、再接続による通信効率の低下が発生するおそれがある。本変形例では、フローコントロール機能のモードの履歴を記録する。そして、履歴を参照し有効とされた回数が無効とされた回数の一定比率以上（ここでは２倍以上）である場合、ＴＣＰパケットの占有率を用いた使用状況の判断時に、第２所定値より低い第１所定値を用いる（Ｓ７４）。
【００９０】
これにより、フローコントロール機能が有効とされる傾向の強い端末が接続される場合に、フローコントロール機能のモードが無効へと切り替わりづらくなる。よって、モード切替による通信効率の低下を抑止することが可能となる。なお、この例において、判断閾値となる一定比率を２倍よりも大きくすれば、２倍に設定した場合よりもモード切替の頻度を一層低減させることができる。
【００９１】
（３）使用状況判断部Ｂ１２が行うモード決定処理として、図８に示した処理とすることも可能である。
【００９２】
すなわち、使用状況判断部Ｂ１２は、パケット情報取得部Ｂ１１からパケット情報を取得する（Ｓ１００）。ここでは、得られたパケット情報のうちポート番号及びパケットの種類が利用される。そして、パケット情報を元に、ポート番号毎のＴＣＰパケットの占有率を検出する（Ｓ１０２）。次に、ポート番号に対応するプログラムの優先度に応じてポート番号毎に予め定められた重みを付ける。すなわち、ＴＣＰパケットの占有率に対してポート番号に応じた重み付けを行う（Ｓ１０４）。占有率に対する重み付けは、例えば、重要なプログラムに用いられるパケットについてはパケット数から検出される占有率を１０倍にし、他のプログラムに用いられるパケットについて検出される占有率は何もしないこととして実施される。
【００９３】
そして、重み付けされたＴＣＰパケットの占有率が所定値以上か未満かの判断を行う（Ｓ１０６）。なお、ステップＳ１０６の判断が、中継装置１０の使用状況を、ポート番号毎の重み付けをしたＴＣＰパケットの占有率の側面から判断する処理に該当する。ここで、ＴＣＰパケットの占有率が所定値以上と判断される場合（Ｓ１０６：ＹＥＳ）、使用状況判断部Ｂ１２は、フローコントロール機能を有効にするべき旨の判断を行い（Ｓ１０８）、当該判断結果をモード情報としてモード記憶部Ｂ１３に書き込む（Ｓ１１０）。そして、本モード決定処理を終了する。一方、ステップＳ１０６において、ＴＣＰパケットの占有率が所定値未満と判断される場合（Ｓ１０６：ＮＯ）、使用状況判断部Ｂ１２は、フローコントロール機能を無効にするべき旨の判断を行い（Ｓ１１２）、当該判断結果をモード情報としてモード記憶部Ｂ１３に書き込む（Ｓ１１４）。そして、本モード決定処理を終了する。
【００９４】
本変形例では、使用状況の判断に際して、パケットのポート番号を参照し、ポート番号毎に重み付けを行った占有率を用いる。これにより、重要なプログラムの通信に用いられるパケットがリアルタイム性を必要とするパケットである場合には、フローコントロール機能を無効にすることが可能となる。また、重要なプログラムの通信に用いられるパケットが信頼性を必要とするパケットである場合には、フローコントロール機能を有効にすることが可能となる。これにより、プログラムの重要度を加味した使用状況に応じて、フローコントロール機能のモード切り替えが可能となる。
【００９５】
（４）使用状況判断部Ｂ１２が行うモード決定処理として、図９に示した処理とすることも可能である。
【００９６】
すなわち、使用状況判断部Ｂ１２は、受信するパケットの連続性から中継装置１０の使用状況を判断する。使用状況判断部Ｂ１２は、第１カウンタを用いてＴＣＰパケットの連続数を、第２カウンタを用いてＵＤＰパケットの連続数を計測する。なお、中継装置１０の電源立ち上げ時において、第１カウンタ及び第２カウンタの初期値は０に設定されている。そして、まずパケット情報取得部Ｂ１１よりパケット情報を取得する（Ｓ１２２）。本変形例ではパケット情報のうちプロトコルを利用しており、受信したパケットのプロトコルがＴＣＰであるか否かの判断を行う（Ｓ１２４）。
【００９７】
受信したパケットのプロトコルがＴＣＰであると判断される場合（Ｓ１２４：ＹＥＳ）、第１カウンタの値を１加算する（Ｓ１２６）。また、第２カウンタの値を０に初期化する（Ｓ１２８）。そして、第１カウンタが所定値と等しい場合（Ｓ１３０：ＹＥＳ）、すなわちＴＣＰパケットが所定の数だけ連続している場合、使用状況判断部Ｂ１２は、フローコントロール機能を有効にするべきと判断する（Ｓ１３２）。そして、使用状況判断部Ｂ１２は、判断結果をモード情報としてモード記憶部Ｂ１３に書き込み（Ｓ１３４）、本モード決定処理を終了する。また、ステップＳ１３０で、第１カウンタが所定値と等しくない場合（Ｓ１３０：ＮＯ）、すなわちＴＣＰパケットを所定の数連続して受信していない場合、本モード決定処理を終了する。なお、ステップＳ１３０の判断が、中継装置１０の使用状況を、ＴＣＰパケットの連続性の側面から判断する処理に該当する。
【００９８】
一方、ステップＳ１２４において、受信パケットのプロトコルがＴＣＰでないと判断される場合（Ｓ１２４：ＮＯ）、受信パケットのプロトコルがＵＤＰであるか否かの判断を行う（Ｓ１３６）。受信パケットのプロトコルがＵＤＰであると判断される場合（Ｓ１３６：ＹＥＳ）、第２カウンタの値を１加算する（Ｓ１３８）。また、第１カウンタの値を０に初期化する（Ｓ１４０）。そして、第２カウンタの値が所定値と等しいか否かを判断する（Ｓ１４２）。第２カウンタの値が所定値と等しいと判断される場合（Ｓ１４２：ＹＥＳ）、すなわちＵＤＰパケットを所定の数だけ連続して中継装置１０が受信したと判断される場合、使用状況判断部Ｂ１２は、フローコントロール機能を無効にするべき旨の判断を行う（Ｓ１４４）。そして、判断結果をモード情報としてモード記憶部Ｂ１３に書き込み（Ｓ１４６）、本モード決定処理を終了する。
【００９９】
また、ステップＳ１３６において受信パケットのプロトコルがＵＤＰでないと判断される場合（Ｓ１３６：ＮＯ）、本モード決定処理を終了する。さらに、ステップＳ１４２において第２カウンタの値が所定値と等しくないと判断される場合（Ｓ１４２：ＮＯ）、すなわちＵＤＰパケットを所定の数連続して受信していない場合、本モード決定処理を終了する。なお、ステップＳ１４２の判断が、中継装置１０の使用状況を、ＵＤＰパケットの連続性の側面から判断する処理に該当する。
【０１００】
中継装置１０が受信するパケットについて、ＴＣＰパケットが一定数連続するなど、特定の種類（同種）のパケットが一定数連続する場合、その特定の種類のパケットの占有率が高いと推定することができる。この手法は、上記実施形態のように一定時間の総パケット数と特定の種類のパケットの数とから占有率を演算する場合と比較すると、占有率の検出精度としては低くなる可能性がある。しかし、一定数のパケットが連続した場合にモードを切り替える手法を用いると、一定時間の間パケットを取得しその後パケットの占有率を演算により検出する方法に比べて、より速く使用状況を把握することができる。したがって、占有率の検出精度だけに着目するとその精度は低下する可能性があるものの、使用状況の把握までの時間を短縮可能であるから、結果として現在の中継装置１０の使用状況に適したモードを設定することが可能となる。
【０１０１】
（５）上記実施形態では、信頼性の高い通信に用いられるプロトコルをＴＣＰ、リアルタイム性の高い通信に用いられるプロトコルをＵＤＰとしたが、これらに代えて、又はこれらに加えて、ＳＣＴＰ、ＲＳＶＰ、ＵＤＰ−Ｌｉｔｅなどの他のプロトコルを用いてもよい。いずれの場合であっても、上記実施形態や上記各変形例のように、相対的に信頼性重視のプロトコルかリアルタイム性重視のプロトコルかによって区分けすればよい。
【０１０２】
（６）上記実施形態では、ＴＣＰパケット及びＵＤＰパケットの占有率をパケットの数を用いて検出することとしたが、一定時間に受信するパケットの数に換えて、一定時間に受信する総パケット長（パケット内データ量の総数）としてもよい。
【０１０３】
この場合、パケット情報取得部Ｂ１１からパケット情報を取得し、パケット情報のうち、パケット送受信部Ｂ２が受信したパケットの用いるプロトコル及びパケット長を利用する。そして、パケットの種類毎に一定時間内に受信した各パケット内のデータ量を加算する処理を行うことにより、パケットの種類毎にパケット内データ量の総数が得られる。この場合、例えばＴＣＰパケットのパケット数がＵＤＰパケットのパケット数よりも若干少ないときでも、ＴＣＰパケットの各パケット内データ量が大きいときには、データ量としてはＴＣＰパケットの占有率が大きくなる。このようにパケット数に代えてデータ量をもとに使用状況を判断することで、より実際の使用状況に応じた判断が可能になる。
【０１０４】
（７）モード決定処理をポート１２１３、１２２３、１２３３毎に行い、モード切替処理についてもポート１２１３、１２２３、１２３３単位で行うことも可能である。また、ポート１２１３，１２２３，１２３３がＶＬＡＮ等により分割されていた場合、ＶＬＡＮ毎に適用することも可能である。これにより、例えば、ＶｏＩＰ専用端末のようなリアルタイム性を必要とする通信を常に行う外部端末の接続するポートについて、常にフローコントロール機能を無効にすることで、通信効率を向上させることが可能となる。
【０１０５】
（８）上記実施形態と変形例（１）〜（７）とは適宜組み合わせて用いてもよい。上記実施形態と変形例（１）〜（３）とを組み合わせて用いることで、より正確に使用状況に応じたフローコントロール機能のモードの切り替えを行うことが可能となる。
【符号の説明】
【０１０６】
１０…中継装置、２１〜２３：外部端末、１１１…ＣＰＵ、１１２…ＲＡＭ、１１３…ＦｌａｓｈＲＯＭ、１２１…スイッチングエンジン、１２１１、１２２１、１２３１…ＭＡＣチップ、１２１２、１２２２、１２３２…物理層チップ、１２１３、１２２３、１２３３…ポート、Ｂ１…制御部、Ｂ１１…パケット情報取得部、Ｂ１２…使用状況判断部、Ｂ１３…モード記憶部、Ｂ１４…モード切替部、Ｂ２…パケット送受信部、Ｂ２１…フローコントロール部、Ｂ２２…優先制御部。
【図１】
0005857643.tif 000002
【図２】
0005857643.tif 000003
【図３】
0005857643.tif 000004
【図４】
0005857643.tif 000005
【図５】
0005857643.tif 000006
【図６】
0005857643.tif 000007
【図７】
0005857643.tif 000008
【図８】
0005857643.tif 000009
【図９】
0005857643.tif 000010