(57)【特許請求の範囲】
【請求項１】
通信装置に保持されるフローエントリを操作することにより、通信装置群を制御する通信装置制御部と、
前記通信装置で前記フローエントリ毎に集計されるフロー統計情報を収集するフロー統計情報管理部と、を備え、
前記通信装置制御部は、新規フロー発生時に、前記フロー統計情報に基づいて、前記新規フローの推定生存期間を求め、前記新規フローの経路上の通信装置に、前記推定生存期間に応じたエージングタイムを設定したフローエントリを設定し、
前記フロー統計情報は、過去所定期間の同一フローの平均トラヒック量を含み、
前記通信装置制御部は、前記同一フローの平均トラヒック量が所定値未満である場合、所定の最小エージングタイムを設定すること、
を特徴とする制御装置。
【請求項２】
前記通信装置制御部は、
前記新規フローの経路上の通信装置に設定するフローエントリのエージングタイムとして、前記経路上の各通信装置に同一の値を設定する請求項１の制御装置。
【請求項３】
さらに、各通信装置に保持されているフローエントリを管理するフローエントリ管理部を備え、
前記通信装置制御部は、前記各通信装置のフローエントリ最大登録可能数に対するフローエントリの登録数またはフローテーブルの空きエントリ数から、フローテーブル使用率またはフローテーブル空き率を求め、
前記新規フローの経路上の通信装置のフローテーブル使用率またはフローテーブル空き率の平均値に基づいて、前記新規フローの経路上の通信装置に設定するフローエントリのエージングタイムを補正する請求項２の制御装置。
【請求項４】
前記フローテーブル使用率の平均値が所定の基準値よりも高い場合、または、前記フローテーブル空き率が所定の基準値よりも低い場合、前記新規フローの経路上の通信装置に設定するフローエントリのエージングタイムを、減補正する請求項３の制御装置。
【請求項５】
前記フローテーブル使用率の平均値が所定の基準値よりも低い場合、または、前記フローテーブル空き率が所定の基準値よりも高い場合、前記新規フローの経路上の通信装置に設定するフローエントリのエージングタイムを、増補正する請求項３または４の制御装置。
【請求項６】
前記推定生存期間として、前記フロー統計情報から求められた過去所定期間の同一フローの平均エージングタイムを用いる請求項１から５いずれか一の制御装置。
【請求項７】
前記フロー統計情報には、過去所定期間の同一フローの発生間隔が含まれており、
前記通信装置制御部は、前記同一フローの発生間隔が所定のしきい値よりも短い場合、前記同一フローの発生間隔をエージングタイムとして設定する請求項１から６いずれか一の制御装置。
【請求項８】
前記フロー統計情報管理部に代えて、ネットワーク管理者から設定されたフロー特性設定情報を記憶するフロー特性設定記憶部を備え、
前記通信装置制御部は、新規フロー発生時に、前記新規フローの経路上の通信装置に、前記フロー特性設定情報に含まれる基準エージングタイムを設定したフローエントリを設定する請求項１の制御装置。
【請求項９】
前記通信装置制御部は、
前記新規フローの経路上の通信装置に設定するフローエントリのエージングタイムとして、前記経路上の各通信装置に同一の値を設定する請求項８の制御装置。
【請求項１０】
さらに、各通信装置に保持されているフローエントリを管理するフローエントリ管理部を備え、
前記通信装置制御部は、前記各通信装置のフローエントリ最大登録可能数に対するフローエントリの登録数またはフローテーブルの空きエントリ数から、フローテーブル使用率またはフローテーブル空き率を求め、
前記新規フローの経路上の通信装置のフローテーブル使用率またはフローテーブル空き率の平均値に基づいて、前記新規フローの経路上の通信装置に設定するフローエントリのエージングタイムを補正する請求項９の制御装置。
【請求項１１】
前記フローテーブル使用率の平均値が所定の基準値よりも高い場合、または、前記フローテーブル空き率が所定の基準値よりも低い場合、前記新規フローの経路上の通信装置に設定するフローエントリのエージングタイムを減補正する請求項１０の制御装置。
【請求項１２】
前記フロー特性設定情報には、ネットワーク管理者から設定されたフローの発生間隔が含まれており、
前記通信装置制御部は、前記フローテーブル使用率の平均値が所定の基準値よりも低い場合、又は、前記フローテーブル空き率が所定の基準値よりも高い場合、前記フローの発生間隔をエージングタイムとして設定する請求項１０または１１の制御装置。
【請求項１３】
フローエントリを用いてパケットを処理する複数の通信装置からなる通信装置群と、前記通信装置にフローエントリを設定することにより、前記通信装置群を制御する制御装置とを含む通信システムであって、
前記制御装置は、
新規フロー発生時に、フロー統計情報に基づいて、前記新規フローの推定生存期間を求め、前記新規フローの経路上の通信装置に、該推定生存期間に応じたエージングタイムを設定したフローエントリを設定する通信装置制御部と、
前記通信装置で前記フローエントリ毎に集計されるフロー統計情報を収集するフロー統計情報管理部と、を備え、
前記フロー統計情報は、過去所定期間の同一フローの平均トラヒック量を含み、
前記通信装置制御部は、前記同一フローの平均トラヒック量が所定値未満である場合、前記エージングタイムを所定の最小値に設定すること、
を特徴とする通信システム。
【請求項１４】
フローエントリを用いてパケットを処理する複数の通信装置からなる通信装置群と、前記通信装置にフローエントリを設定することにより、前記通信装置群を制御する制御装置とを含む通信システムであって、
前記制御装置は、
新規フロー発生時に、前記新規フローの経路上の通信装置に、フロー特性設定情報に含まれる基準エージングタイムを設定したフローエントリを設定する通信装置制御部と、
ネットワーク管理者から設定された、フロー特性設定情報を記憶するフロー特性設定記憶部と、
各通信装置に保持されているフローエントリを管理するフローエントリ管理部を備え、
前記フロー特性設定情報には、ネットワーク管理者から設定されたフローの発生間隔が含まれており、
前記通信装置制御部は、前記各通信装置のフローエントリ最大登録可能数に対するフローエントリの登録数またはフローテーブルの空きエントリ数から、フローテーブル使用率またはフローテーブル空き率を求め、前記フローテーブル使用率の平均値が、所定の基準値よりも低い場合、又は、前記フローテーブル空き率が所定の基準値よりも高い場合、前記フローの発生間隔をエージングタイムとして設定する
通信システム。
【請求項１５】
通信装置に保持されるフローエントリを操作することにより、通信装置群を制御する通信装置制御部と、前記通信装置で前記フローエントリ毎に集計される、過去所定期間の同一フローの平均トラヒック量を含むフロー統計情報を収集するフロー統計情報管理部と、を備える制御装置が、
新規フロー発生時に、前記フロー統計情報に基づいて、前記新規フローの推定生存期間を求めるステップと、
前記新規フローの経路上の通信装置に、前記推定生存期間に応じたエージングタイムを設定したフローエントリを設定するステップと、
前記同一フローの平均トラヒック量が所定値未満である場合、前記エージングタイムを所定の最小値に設定するステップと、
を含む通信装置制御方法。
【請求項１６】
通信装置に保持されるフローエントリを操作することにより、通信装置群を制御する通信装置制御部と、ネットワーク管理者から設定された、フローの発生間隔を含むフロー特性設定情報を記憶するフロー特性設定記憶部と、を備える制御装置が、
新規フロー発生時に、前記フロー特性設定記憶部から前記フロー特性設定情報に含まれる基準エージングタイムを読み出すステップと、
前記新規フローの経路上の通信装置に、前記基準エージングタイムを設定したフローエントリを設定するステップと、
前記各通信装置のフローエントリ最大登録可能数に対するフローエントリの登録数またはフローテーブルの空きエントリ数から、フローテーブル使用率またはフローテーブル空き率を求め、前記フローテーブル使用率の平均値が所定の基準値よりも低い場合、又は、前記フローテーブル空き率が所定の基準値よりも高い場合、前記フローの発生間隔をエージングタイムとして設定するステップと、
を含む通信装置制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１２−０５３２６５号（２０１２年  ３月  ９日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、制御装置、通信システム、スイッチ制御方法及びプログラムに関し、特に、ネットワーク上の通信装置を集中制御する制御装置、通信システム、スイッチ制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ネットワークシステムにおいて、フロー単位のトラフィック量の統計情報の収集や、フロー単位に経路制御を行うことによる負荷分散などを行うことが可能となっている。これは、コントローラがネットワーク上のスイッチのフローテーブルを集中管理することによって実現されている。このような技術には、例えば、非特許文献１のオープンフロー（ＯｐｅｎＦｌｏｗ）等がある。【０００３】
特許文献１には、ＨＴＴＰ（Ｈｙｐｅｒ−Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）など予め規定したアプリケーションの通信に関して、そのアプリケーション特有のエージング間隔でアドレステーブルを削除することによって、効率化を図る方法が開示されている。【０００４】
また、特許文献２には、セッションレートに応じて動的にセッションのタイムアウト時間を変えることによって、高負荷アクセス時に、セッションメモリを溢れさせることなしにプロトコル処理を行うことを可能にする方法が開示されている。【０００５】
また、特許文献３には、通信ネットワーク上に配置された複数のスイッチの空きフローエントリ数を考慮し、エントリあふれの発生が抑制されるようにフロー経路を決定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２００３−５２６２７９号公報
【特許文献２】特開２００６−２７９５３１号公報
【特許文献３】特開２０１０−１６１４７３号公報
【非特許文献】
【０００７】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年２月１４日検索］、インターネット〈URL: http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２）、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年２月１４日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以下の分析は、本発明によって与えられたものである。非特許文献１、２のオープンフロースイッチに代表される通信装置は、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）のフローテーブルを利用してフローを識別しつつ高速な転送を行うことができる。しかしながら、ＡＳＩＣのフローテーブルに登録可能なフローエントリ数が少なく、上限を超えるとソフトウェア処理となり、転送性能が大幅に低下してしまうという問題点がある。また、フローの発生間隔とエージングタイム値の設定によっては、同一フローに対してフローテーブルの削除と登録の繰り返しが発生し、オーバヘッドが高くなる場合もある。このため、フローテーブルあふれを抑制しつつ、フローエントリの登録及び削除の回数を削減させなければならない。【０００９】
特許文献１の方法は、既知のアプリケーション特有のエージング間隔でアドレステーブルを削除するものであり、未知のアプリケーションに対しては効果を得られないという問題点がある。【００１０】
また、特許文献２の方法では、セッションの特性に応じて選択的にセッション情報を削除することができないため、高負荷アクセスが続く場合、保持しておいた方が効率的なセッション情報を削除してしまい、結果として、セッション情報の登録と削除の繰り返しによるオーバヘッドの影響でより高負荷になるという問題点がある。【００１１】
さらに、特許文献３の方法では、フローエントリの消去を一定のタイムアウト間隔で行うため、代替経路の少ないコアスイッチなどフローが集中するスイッチでは、フローエントリあふれが発生しやすいという問題点がある。【００１２】
本発明の目的は、上述したフローテーブルあふれ現象の発生の低減に貢献できる制御装置、通信システム、スイッチ制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
本発明の第１の視点によれば、通信装置に保持されるフローエントリを操作することにより、通信装置群を制御する通信装置制御部と、前記通信装置で前記フローエントリ毎に集計されるフロー統計情報を収集するフロー統計情報管理部と、を備え、前記通信装置制御部は、新規フロー発生時に、前記フロー統計情報に基づいて、前記新規フローの推定生存期間を求め、前記新規フローの経路上の通信装置に、前記推定生存期間に応じたエージングタイムを設定したフローエントリを設定し、前記フロー統計情報は、過去所定期間の同一フローの平均トラヒック量を含み、前記通信装置制御部は、前記同一フローの平均トラヒック量が所定値未満である場合、所定の最小エージングタイムを設定する制御装置が提供される。
【００１４】
本発明の第２の視点によれば、通信装置に保持されるフローエントリを操作することにより、通信装置群を制御する通信装置制御部と、前記通信装置で前記フローエントリ毎に集計されるフロー統計情報を収集するフロー統計情報管理部と、を備え、前記通信装置制御部は、新規フロー発生時に、前記フロー統計情報に基づいて、前記新規フローの推定生存期間を求め、前記新規フローの経路上の通信装置に、該推定生存期間に応じたエージングタイムを設定したフローエントリを設定する制御装置と、前記制御装置から設定されたフローエントリを用いてパケットを処理する通信装置とを含む通信システムであって、前記フロー統計情報は、過去所定期間の同一フローの平均トラヒック量を含み、前記通信装置制御部は、前記同一フローの平均トラヒック量が所定値未満である場合、所定の最小エージングタイムを設定する通信システムが提供される。
【００１５】
本発明の第３の視点によれば、通信装置に保持されるフローエントリを操作することにより、通信装置群を制御する通信装置制御部と、前記通信装置で前記フローエントリ毎に集計される、過去所定期間の同一フローの平均トラヒック量を含むフロー統計情報を収集するフロー統計情報管理部と、を備える制御装置が、新規フロー発生時に、前記フロー統計情報に基づいて、前記新規フローの推定生存期間を求めるステップと、前記新規フローの経路上の通信装置に、前記推定生存期間に応じたエージングタイムを設定したフローエントリを設定するステップと、前記同一フローの平均トラヒック量が所定値未満である場合、前記エージングタイムを所定の最小値に設定するステップと、を含む通信装置制御方法が提供される。本方法は、ネットワーク上の通信装置を制御する制御装置という、特定の機械に結びつけられている。
【００１６】
本発明の第４の視点によれば、通信装置に保持されるフローエントリを操作することにより、通信装置群を制御する通信装置制御部と、前記通信装置で前記フローエントリ毎に集計されるフロー統計情報を収集するフロー統計情報管理部と、を備える制御装置に、新規フロー発生時に、前記フロー統計情報に基づいて、前記新規フローの推定生存期間を求める処理と、前記新規フローの経路上の通信装置に、前記推定生存期間に応じたエージングタイムを設定したフローエントリを設定する処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１７】
本発明によれば、フローテーブルに登録されたエントリによってフローを識別する通信装置におけるフローテーブルあふれ現象の発生の低減に貢献することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態の概要を説明するための図である。
【図２】本発明の第１の実施形態の通信システムの構成を表したブロック図である。
【図３】本発明の第１の実施形態のスイッチに設定されるフローエントリの概略構成を示す図である。
【図４】本発明の第１の実施形態のコントローラのトポロジ記憶部に記憶されるトポロジ情報を説明するための図である。
【図５】本発明の第１の実施形態のコントローラのフローエントリ記憶部に記憶されるフローテーブル情報を説明するための図である。
【図６】本発明の第１の実施形態のコントローラのフローエントリ記憶部に記憶されるフローエントリ情報を説明するための図である。
【図７】本発明の第１の実施形態のコントローラのフロー統計情報記憶部に記憶される統計情報を説明するための図である。
【図８】本発明の第１の実施形態の通信システムの動作（フローエントリ設定）を表したフローチャートである。
【図９】本発明の第１の実施形態の通信システムの動作（エージング処理）を表したフローチャートである。
【図１０】本発明の第２の実施形態の通信システムの構成を表したブロック図である。
【図１１】本発明の第２の実施形態のコントローラのフロー特性設定記憶部に記憶される統計情報を説明するための図である。
【図１２】本発明の第２の実施形態の通信システムの動作（フローエントリ設定）を表したフローチャートである。
【図１３】本発明の第２の実施形態の通信システムの動作（エージング処理）を表したフローチャートである。
【発明を実施するための形態】
【００１９】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００２０】
本発明は、図１に示すように、その一実施形態において、複数の通信装置２０Ａ〜２０Ｄを制御する制御装置１０にて実現できる。より具体的には、この制御装置は、通信装置２０Ａ〜２０Ｄに保持されるフローエントリを操作することにより、通信装置群を制御する通信装置制御部１２と、前記通信装置２０Ａ〜２０Ｄで前記フローエントリ毎に集計されるフロー統計情報を収集するフロー統計情報管理部１１と、を備える。そして、前記通信装置制御部１２は、新規フロー発生時に、前記フロー統計情報に基づいて、前記新規フローの推定生存期間（例えば、ＸＸｍｓ）を求め、前記新規フローの経路上の通信装置に、前記推定生存期間に応じたエージングタイム（非特許文献２の「Ｉｄｌｅ  Ｔｉｍｅｏｕｔ値」；例えば、ＹＹｍｓ）を設定したフローエントリを設定する。これにより、例えば、前記設定されたフローエントリは、設定時からＹＹｍｓ以上該当パケットの受信が無いと、エージング処理により削除される。
【００２１】
例えば、通信システム全体で定められたエージングタイムではなく、新規フローの推定生存期間に応じたエージングタイムを設定することで、統計的に不要となる可能性の高いフローエントリを、より早く削除させることが可能となる。また、統計的に必要となる可能性の高いフローエントリを、より長く保持させることが可能となる。
【００２２】
これにより、各通信装置２０Ａ〜２０Ｄのフローテーブルあふれ現象の発生が抑止される。また併せて、フローエントリの設定要求の発生頻度を低減させることが可能となる。
【００２３】
また、前記通信装置制御部１２は、フローの推定生存期間のほか、当該新規フローが定期的に発生するフローであるか否かを考慮に入れてエージングタイム付きのフローエントリを設定してもよい。例えば、ネットワーク管理サーバから、ネットワーク上のルータへのＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）ポーリングのフローは、定期的に発生するが生存期間は短いという特性がある。発生間隔はネットワーク管理サーバの設定に依存し、ネットワーク環境毎に異なる。同様な特性を持つフローは、他にアプリケーション間のキープアライブ通信など多数考えられる。このような短い期間に発生するフローについて、エージングタイムを短くしてしまうと、制御装置に対するフローエントリの登録要求が多発してしまう。従って、このようなフローについては、少なくともこれらフローの発生間隔よりも長いエージングタイムを設定することが望ましい。
【００２４】
さらに、前記通信装置制御部１２は、フローの経路上の個々のスイッチのフローテーブル使用率（またはフローテーブルの空き率）等を加味してエージングタイムを決定してもよい。例えば、フローテーブル使用率が高い（またはフローテーブルの空き率が低い）通信装置には、より短いエージングタイム値を設定することができる。これにより、フローエントリをより早く削除させ、フローテーブル使用率を低下させることができるようになる。反対に、フローテーブル使用率が低い（またはフローテーブルの空き率が高い）通信装置には、より長いエージングタイム値を設定することができる。これにより、フローエントリをより長く保持させ、フローエントリの設定要求を抑止させる（制御装置の負荷が低減する）ことができるようになる。
【００２５】
このようなフローテーブル使用率（またはフローテーブルの空き率）に応じたエージングタイムの増減補正は、例えば、フローテーブル使用率またはフローテーブルの空き率を用いた補正項を追加したり、フローテーブル使用率またはフローテーブルの空き率を補正係数として用いることで実現できる。
【００２６】
また、図１に示したように、あるフローの経路上の通信装置のエージングタイム値として同一の値を設定することも望ましい。これにより、フローエントリの削除が経路上のスイッチで同時に行われる。
【００２７】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図２は、本発明の第１の実施形態に係る通信システムの構成を表したブロック図である。図２を参照すると、本発明の第１の実施形態は、上述した制御装置に相当しネットワーク上のスイッチを制御するコントローラ１００と、上述した通信装置の一形態であるスイッチ群２０１〜２０６が配置されたネットワーク２００とを含む構成が示されている。
【００２８】
コントローラ１００は、スイッチ２０１〜２０６からの新規フロー受信通知（Ｐａｃｋｅｔ−Ｉｎ）に応じて、スイッチにフローエントリの登録を行う。スイッチ２０１〜２０６は、自身に登録されたフローエントリに従って受信したパケットの転送を行う。
【００２９】
ネットワーク２００は、スイッチ２０１〜２０６を含み、データ転送のためにスイッチ２０１〜２０６の間が接続されている。また、制御のためにコントローラ１００とスイッチ２０１〜２０６が接続されている。これらのスイッチ２０１〜２０６としては、非特許文献１、２に記載されたオープンフロースイッチを用いることができる。
【００３０】
フローエントリは、図３に示すように、フローのマッチ条件、マッチしたカウンタ情報（トラヒック量）、インストラクションを含む。フローのマッチ条件としては、次のようなパケットのヘッダ情報を指定することができる。例えば、送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル、送信元ＴＣＰ／ＵＤＰポート番号、宛先ＴＣＰ／ＵＤＰポート番号などを用いて、フローを特定することができる。カウンタ情報には、条件にマッチしたパケット数やバイト数、即ち、トラヒック量が記録される。インストラクションは、マッチ条件に適合したパケットに適用される処理内容が記述される。例えば、指定ポートからの転送、ヘッダの書き換えなどの処理内容が記述される。このようなフローエントリが、スイッチ２０１〜２０６のフローテーブルに格納される。
【００３１】
コントローラ１００は、トポロジ記憶部１０１と、トポロジ管理部１０２と、フローエントリ記憶部１０３と、フローエントリ管理部１０４と、フロー統計情報記憶部１０５と、フロー統計情報管理部１０６と、スイッチ制御部１０７とを含む。このようなコントローラ１００は、非特許文献１、２に記載されたオープンフローコントローラをベースに下記機能を追加することで実現することも可能である。
【００３２】
コントローラ１００の各部はそれぞれ概略つぎのように動作する。トポロジ記憶部１０１は、ネットワーク２００上のスイッチ２０１〜２０６の接続状態を記憶している。ネットワークの接続状態は、例えば、図４に示すように、リンクの両端に接続されているスイッチ名とポート名の組とリンク帯域で表すことができる。
【００３３】
トポロジ管理部１０２は、ＬＬＤＰ（Ｌｉｎｋ  Ｌａｙｅｒ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）などの手段によりスイッチ２０１〜２０６の接続情報を収集して、トポロジ記憶部１０１に記憶させる。
【００３４】
フローエントリ記憶部１０３は、図５に示すように、スイッチ毎に、フローテーブル登録数（登録済みエントリ数）、フローテーブル登録上限数（登録可能最大エントリ数）、フローテーブル使用率（登録済みエントリ数／登録可能最大エントリ数）を記憶している。また、フローエントリ記憶部１０３は、図６に示すように、各スイッチ２０１〜２０６に、登録済みのフローテーブルエントリを記憶している。なお、図５の例では、フローテーブル使用率を用いているが、フローテーブル空き率（空きエントリ数／登録可能最大エントリ数）を用いてもよい。
【００３５】
フローエントリ管理部１０４は、スイッチ制御部１０７からの要求に応じて、フローエントリ記憶部１０３の情報を更新する。新規フロー受信通知を受け、スイッチ２０１〜２０６にフローエントリを登録した場合、図５のテーブルの該当スイッチのフローテーブル登録数を加算し、フローテーブル使用率を再計算するとともに、図６のテーブルに、フローエントリを追加する。スイッチ２０１〜２０６からエージングによるフローテーブルの削除通知を受けた場合、フローエントリ管理部１０４は、図５のテーブルの該当スイッチのフローテーブル登録数を減算し、フローテーブル使用率を再計算するとともに、図６のテーブルから、フローエントリを削除する。
【００３６】
フロー統計情報記憶部１０５は、フローの特性を判断するために、フロー毎の統計情報を蓄積している。フロー統計情報は、図７に示すように、フロー毎に、フロー情報（送信元ＩＰアドレス〜宛先ＴＣＰ／ＵＤＰポート番号）、平均フローテーブル登録間隔、平均エージングタイム値、１回のエージングあたりの平均カウント数を記憶している。
【００３７】
フロー統計情報管理部１０６は、スイッチ制御部１０７からの要求に応じて、フロー統計情報記憶部１０５の情報を更新する。新規フロー受信通知を受け、スイッチ２０１〜２０６にフローテーブルを登録した場合、フロー統計情報管理部１０６は、フロー統計情報の該当エントリの時間当たりのフローテーブル登録回数を再計算し、平均フローテーブル登録間隔を更新する。さらに、フロー統計情報管理部１０６は、設定したエージングタイムから平均エージングタイム値を再計算し更新する。なお、フローテーブル登録回数とエージングタイム値の再計算には、指数平滑法を使用して直近の値にウェイトをおく手法を使用してもよい。スイッチ２０１〜２０６からエージングによるフローエントリの削除通知を受けた場合、フロー統計情報管理部１０６は、当該削除されたフローエントリのカウンタ情報から平均カウント数を再計算する。カウント数の再計算には、指数平滑法を使用して直近の値にウェイトをおく手法を使用してもよい。
【００３８】
スイッチ制御部１０７は、スイッチ２０１〜２０６から新規フロー受信通知を受けると、トポロジ記憶部１０１のネットワーク接続状態と、フローエントリ記憶部１０３のフローテーブル使用率の情報をもとに、フローの経路を決定する。経路の決定方法の詳細は特許文献３に記載されている方法などを用いることができる。
【００３９】
また、スイッチ制御部１０７は、フローエントリ記憶部１０３から求められる経路上のスイッチのフローテーブル使用率の最大値と、フロー統計情報記憶部１０５の平均フローテーブル登録間隔、平均エージングタイム値、平均カウント数の情報をもとに、フローのエージングタイム値を決定する。これらの情報からフローエントリを生成し、経路上の各スイッチに対し、前記エージングタイムを設定したフローエントリの登録要求を行う。登録が完了したら、スイッチ制御部１０７は、フローエントリ管理部１０４とフロー統計情報管理部１０６に対し情報の更新を要求する。
【００４０】
さらに、スイッチ制御部１０７は、スイッチ２０１〜２０６からフローテーブルの削除通知を受けると、フロー統計情報管理部１０６に情報の更新要求を行い、平均カウント数を更新させる。また、スイッチ制御部１０７は、フローエントリ管理部１０４に対し、更新要求を行い、フローエントリ記憶部１０３からの登録フローテーブル数、フローテーブル使用率の更新と、該当するフローテーブルエントリの削除を要求する。
【００４１】
スイッチ２０１〜２０６は、自身に登録されたフローエントリに従って受信したパケットの転送等を行う。受信したパケットに適合するマッチ条件を持つフローエントリが、フローテーブルにない場合、スイッチ２０１〜２０６は、コントローラ１００に対し新規フロー受信通知を送信し、コントローラ１００の指示に従い転送等を行う。前記新規フロー受信通知に応じて、コントローラ１００からフローエントリが登録されると、以降の同一フローのパケットはスイッチ２０１〜２０６に登録されたフローエントリに従って転送され、その都度、該当フローエントリのカウンタ情報が加算される。また、個々のフローエントリにはエージングタイム値が設定され、設定された時間、無通信状態が続くと、スイッチ２０１〜２０６は、該当フローエントリを削除する。エージングによりフローエントリを削除した場合、スイッチ２０１〜２０６は、削除したフローエントリのカウンタ情報とともにコントローラ１００に削除通知を行う。
【００４２】
なお、図１に示したコントローラ１００の各部（処理手段）は、コントローラ１００を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００４３】
次に、図８、図９のフローチャートを参照して本発明の第１の実施形態の動作について詳細に説明する。はじめに、図８のフローチャートを参照して、新規フロー発生時の一連の動作について説明する。以下の説明では、スイッチ２０１が新規パケットを受信したものとして説明する。
【００４４】
スイッチ２０１はパケットを受信すると（ステップＡ１）、フローテーブルから、受信パケットと適合するマッチ条件を持つフローエントリを検索する（ステップＡ２）。
【００４５】
受信パケットと適合するマッチ条件を持つフローエントリが見つかった場合（ステップＡ２のＹｅｓ）、スイッチ２０１はフローテーブルのインストラクションフィールドの内容に従い受信パケットを処理し、フローテーブルのカウンタ情報を加算して、初期状態に戻る（ステップＡ３）。
【００４６】
一方、受信パケットと適合するマッチ条件を持つフローエントリが見つからなかった場合（ステップＡ２のＮｏ）、スイッチ２０１は、コントローラ１００に対しパケットの受信通知（新規フロー受信通知）を送信する（ステップＡ４）。
【００４７】
コントローラ１００のスイッチ制御部１０７は、前記パケットの受信通知を受けるとトポロジ記憶部１０１のネットワーク接続状態と、フローエントリ記憶部１０３のフローテーブル使用率の情報をもとに、スイッチ２０１が受信したパケットの経路を決定する。経路の決定方法の詳細は特許文献３に記載されている方法などを用いることができる。ここでは、例えば、スイッチ２０１→スイッチ２０３→スイッチ２０５→スイッチ２０６の経路が選択されたとする（ステップＡ５）。
【００４８】
さらに、スイッチ制御部１０７は、フローエントリ記憶部１０３から求められる経路上のスイッチのフローテーブル使用率の最大値と、フロー統計情報記憶部１０５の平均フローテーブル登録間隔、平均エージングタイム値、平均カウント数の情報をもとに、フローのエージングタイム値を決定する（ステップＡ６）。例えば、エージングタイム値は、該当フローの平均エージングタイム値をそのまま用いることができる。
【００４９】
さらに、必要に応じて、以下のようなエージングタイム値を設定することができる。経路上のスイッチのフローテーブル使用率の最大値が所定のしきい値を超えている場合、即ち、経路上のいずれかのスイッチでフローテーブルの空きに余裕がなくなっている場合、所定の平均カウント数に満たないフローについては、予め定められた最小のエージングタイム値を設定することができる。また、その他のフロー（所定の平均カウント数以上のフロー）は、平均エージングタイム値×（１−経路上のフローテーブル使用率の最大値）×所定の係数といった所定の計算式でエージングタイム値を求めることができる。例えば、図４〜図６の状態で、上限しきい値が７５％で係数が２の場合、エージングタイム値は、３００×（１−０．８）×２＝１２０秒と算出される。これにより、平均エージングタイム値をそのまま設定する場合によりも１８０秒短いエージングタイムが設定されることになる。
【００５０】
一方、経路上のスイッチのフローテーブル使用率の最大値が下限のしきい値以下の場合、即ち、経路上のすべてのスイッチでフローテーブルに余裕がある場合、平均フローテーブル登録間隔が所定の範囲のフローについては、平均フローテーブル登録間隔をそのままエージングタイム値として設定することができる。また、その他のフロー（平均フローテーブル登録間隔が所定の上限値以上）は、平均エージングタイム値×（１−経路上のフローテーブル使用率の最大値）×所定の係数の式でエージングタイム値を求める。
【００５１】
スイッチ制御部１０７は、以上のように計算されたエージングタイムを設定したフローエントリを生成し、経路上のスイッチ２０１、スイッチ２０３、スイッチ２０５、スイッチ２０６に登録要求を行う（ステップＡ７）。
【００５２】
登録が完了したら、スイッチ制御部１０７は、スイッチ２０１に対してスイッチ２０３との接続ポートへ受信パケットの送信要求を行う（非特許文献２のＰａｃｋｅｔ−Ｏｕｔメッセージ）。その後、パケットは経路上のスイッチのフローエントリに従い、スイッチ２０３→スイッチ２０５→スイッチ２０６と転送される。また、スイッチ制御部１０７は、フローエントリ管理部１０４とフロー統計情報管理部１０６に情報の更新要求を行う（ステップＡ８）。
【００５３】
フローエントリ管理部１０４は、スイッチ制御部１０７からの要求に応じて、フローエントリ記憶部１０３の情報を更新する。図５のスイッチ２０１、スイッチ２０３、スイッチ２０５、スイッチ２０６のフローテーブル登録数を加算し、フローテーブル使用率を再計算するとともに、図６のテーブルにフローエントリを追加する。（ステップＡ９）。
【００５４】
フロー統計情報管理部１０６は、スイッチ制御部１０７からの要求に応じて、フロー統計情報記憶部１０５の情報を更新する。フロー統計情報の該当エントリの平均フローテーブル登録間隔を再計算し、設定したエージングタイムから平均エージングタイム値を再計算する。フローテーブル登録間隔とエージングタイム値の再計算には、指数平滑法を使用して直近の値にウェイトをおく手法を使用してもよい（ステップＡ１０）。
【００５５】
以降、初期状態に戻り、さらに、新規パケットを受信した場合には同様の手順で処理が行われる。
【００５６】
続いて、次に、図９のフローチャートを参照して、フローエントリのエージング処理について説明する。ここでは、例としてスイッチ２０１のエージング処理について、着目するフローエントリのエージングタイム値を３００秒として説明する。
【００５７】
スイッチ２０１は、フローテーブルに登録されているフローエントリのカウンタ情報を定期的に監視する（ステップＡ１１）。
【００５８】
スイッチ２０１は、フローエントリのエージングタイム値（ここでは、３００秒）以内にカウンタ情報が変化したか否かをチェックする（ステップＡ１２）。ここで、エージングタイム値で指定された期間に、フローエントリのカウンタ情報が変化している場合（ステップＡ１２のＹｅｓ）、ステップＡ１１に戻って監視が継続される。
【００５９】
スイッチ２０１は、エージングタイム値で指定された期間、フローエントリのカウンタ情報が変化しなかった場合（ステップＡ１２のＮｏ）、当該フローエントリを削除する（ステップＡ１３）。
【００６０】
スイッチ２０１は、コントローラ１００に対し、削除したフローエントリのカウンタ情報とともに、フローエントリを削除した旨を通知する（ステップＡ１４）。
【００６１】
コントローラ１００のスイッチ制御部１０７は、スイッチ２０１からフローエントリの削除通知を受けると、フロー統計情報管理部１０６とフローエントリ管理部１０４に情報の更新要求を行う（ステップＡ１５）。
【００６２】
フロー統計情報管理部１０６は、スイッチ制御部１０７からの要求に応じて、フロー統計情報記憶部１０５の情報を更新する。通知されたカウンタ情報から平均カウント数を再計算する。カウント数の再計算には、指数平滑法を使用して直近の値にウェイトをおく手法を使用してもよい（ステップＡ１６）。
【００６３】
フローエントリ管理部１０４は、スイッチ制御部１０７からの要求に応じて、フローエントリ記憶部１０３の情報を更新する。削除通知のあったスイッチ２０１の登録済みフローテーブル数を減算し、フローテーブル使用率を再計算するとともに、図６のテーブルから該当フローエントリを削除する（ステップＡ１７）。
【００６４】
以降、初期状態に戻り、フローテーブルのエージング処理が同様の手順で行われる。
【００６５】
以上のように本実施形態によれば、大量のフローを扱うネットワーク環境においても、パケットの転送性能の劣化を抑制できる。その理由は、フロー特性を考慮したエージングタイムを設定することにより、スイッチのフローテーブルあふれが抑制されるためである。
【００６６】
また、本実施形態によれば、経路上にフローテーブルの容量の観点でボトルネックとなるスイッチが存在する場合においても、パケットの転送性能の劣化を抑制できる。例えば、経路上のスイッチのフローテーブル使用率を考慮したエージングタイム値（通常より短いエージングタイム値）を設定することにより、スイッチのフローテーブルあふれが抑制されるためである。
【００６７】
また、本実施形態によれば、フローテーブルの容量に余裕のある経路を通るフローについて、コントローラの負荷を抑制できる。例えば、経路上のスイッチのフローテーブル使用率を考慮したエージングタイム値（通常より長いエージングタイム値）を設定することにより、各スイッチにフローエントリが保持されることになる。これにより、フローエントリの設定要求の回数が抑制されオーバヘッドが軽減されるためである。
【００６８】
［第２の実施形態］
続いて、フロー統計情報ではなくネットワーク管理者から指定されたパラメータを用いてエージングタイムを設定するようにした本発明の第２の実施形態について図面を参照して詳細に説明する。図１０は、本発明の第２の実施形態に係る通信システムの構成を表したブロック図である。以下、第１の実施形態との相違点を中心に説明する。
【００６９】
図１０を参照すると、本発明の第２の実施形態の構成は、第１の実施形態のコントローラ１００のフロー統計情報記憶部１０５及びフロー統計情報管理部１０６の代わりに、コントローラ１００Ａにフロー特性設定記憶部１１５とフロー特性設定管理部１１６とが備えられている。
【００７０】
フロー特性設定記憶部１１５は、管理者が設定したフロー毎の設定情報（フロー特性設定情報）を記憶している。このフロー特性設定情報は、例えば、図１１に示すように、フロー情報によって特定されるフロー毎に、フロー発生間隔、基準エージングタイム値を設定したものである。
【００７１】
フロー特性設定管理部１１６は、管理者からの要求に応じて、フロー特性設定記憶部１１５の情報の設定、変更、削除を行う。
【００７２】
次に、図１２、図１３のフローチャートを参照して本発明の第２の実施形態の動作について詳細に説明する。
【００７３】
まず、図１２のフローチャートを参照して、パケット受信時に関する動作について説明する。以下の説明では、スイッチ２０１が新規パケットを受信したものとして説明する。
【００７４】
スイッチ２０１はパケットを受信すると（ステップＢ１）、フローテーブルから、受信パケットと適合するマッチ条件を持つフローエントリを検索する（ステップＢ２）。
【００７５】
受信パケットと適合するマッチ条件を持つフローエントリが見つかった場合（ステップＢ２のＹｅｓ）、スイッチ２０１はフローテーブルのインストラクションフィールドの内容に従い受信パケットを処理し、フローテーブルのカウンタ情報を加算して、初期状態に戻る（ステップＢ３）。
【００７６】
一方、受信パケットと適合するマッチ条件を持つフローエントリが見つからなかった場合（ステップＢ２のＮｏ）、スイッチ２０１は、コントローラ１００に対しパケットの受信通知（新規フロー受信通知）を送信する（ステップＢ４）。
【００７７】
コントローラ１００のスイッチ制御部１０７は、前記パケットの受信通知を受けるとトポロジ記憶部１０１のネットワーク接続状態と、フローエントリ記憶部１０３のフローテーブル使用率の情報をもとに、スイッチ２０１が受信したパケットの経路を決定する。経路の決定方法の詳細は特許文献３に記載されている方法などを用いることができる。ここでは、例えば、スイッチ２０１→スイッチ２０３→スイッチ２０５→スイッチ２０６の経路が選択されたとする（ステップＢ５）。
【００７８】
さらに、スイッチ制御部１０７は、フローエントリ記憶部１０３から求められる経路上のスイッチのフローテーブル使用率の最大値と、フロー特性設定記憶部１１５のフロー発生間隔、基準エージングタイム値の情報をもとに、フローのエージングタイム値を決定する（ステップＢ６）。例えば、エージングタイム値は、該当フローの基準エージングタイム値をそのまま用いることができる。
【００７９】
さらに、必要に応じて、以下のようなエージングタイム値を設定することができる。経路上のスイッチのフローテーブル使用率の最大値が所定のしきい値を超えている場合、即ち、経路上のいずれかのスイッチでフローテーブルの空きに余裕がなくなっている場合、基準エージングタイム値×（１−経路上のフローテーブル使用率の最大値）×所定の係数といった所定の計算式でエージングタイム値を求めることができる。例えば、図４及び図９の状態で、上限しきい値が７５％で係数が２の場合、エージングタイム値は、３００×（１−０．８）×２＝１２０秒と算出される。
【００８０】
一方、経路上のスイッチのフローテーブル使用率の最大値が下限のしきい値以下の場合、即ち、経路上のすべてのスイッチでフローテーブルに余裕がある場合、フロー特性設定記憶部１１５のフロー発生間隔をそのままエージングタイム値として設定することができる。
【００８１】
スイッチ制御部１０７は、以上のように計算されたエージングタイムを設定したフローエントリを生成し、経路上のスイッチ２０１、スイッチ２０３、スイッチ２０５、スイッチ２０６に登録要求を行う（ステップＢ７）。
【００８２】
登録が完了したら、スイッチ制御部１０７は、スイッチ２０１に対してスイッチ２０３との接続ポートへ受信パケットの送信要求を行う（非特許文献２のＰａｃｋｅｔ−Ｏｕｔメッセージ）。その後、パケットは経路上のスイッチのフローエントリに従い、スイッチ２０３→スイッチ２０５→スイッチ２０６と転送される。また、スイッチ制御部１０７は、フローエントリ管理部１０４に情報の更新要求を行う（ステップＢ８）。
【００８３】
フローエントリ管理部１０４は、スイッチ制御部１０７からの要求に応じて、フローエントリ記憶部１０３の情報を更新する。図５のスイッチ２０１、スイッチ２０３、スイッチ２０５、スイッチ２０６のフローテーブル登録数を加算し、フローテーブル使用率を再計算するとともに、図６のテーブルにフローエントリを追加する。（ステップＢ９）。
【００８４】
以降、初期状態に戻り、さらに、新規パケットを受信した場合には同様の手順で処理が行われる。
【００８５】
続いて、次に、図１３のフローチャートを参照して、フローエントリのエージング処理について説明する。ここでは、例としてスイッチ２０１のエージング処理について、着目するフローエントリのエージングタイム値を３００秒として説明する。
【００８６】
スイッチ２０１は、フローテーブルに登録されているフローエントリのカウンタ情報を定期的に監視する（ステップＢ１１）。
【００８７】
スイッチ２０１は、フローエントリのエージングタイム値（ここでは、３００秒）以内にカウンタ情報が変化したか否かをチェックする（ステップＢ１２）。ここで、エージングタイム値で指定された期間に、フローエントリのカウンタ情報が変化している場合（ステップＢ１２のＹｅｓ）、ステップＢ１１に戻って監視が継続される。
【００８８】
スイッチ２０１は、エージングタイム値で指定された期間、フローエントリのカウンタ情報が変化しなかった場合（ステップＢ１２のＮｏ）、当該フローエントリを削除する（ステップＢ１３）。
【００８９】
スイッチ２０１は、コントローラ１００に対し、フローエントリを削除した旨を通知する（ステップＢ１４）。
【００９０】
コントローラ１００のスイッチ制御部１０７は、スイッチ２０１からフローエントリの削除通知を受けると、フローエントリ管理部１０４に情報の更新要求を行う（ステップＢ１５）。
【００９１】
フローエントリ管理部１０４は、スイッチ制御部１０７からの要求に応じて、フローエントリ記憶部１０３の情報を更新する。削除通知のあったスイッチ２０１の登録済みフローテーブル数を減算し、フローテーブル使用率を再計算するとともに、図６のテーブルから該当フローエントリを削除する（ステップＢ１６）。
【００９２】
以降、初期状態に戻り、フローテーブルのエージング処理が同様の手順で行われる。
【００９３】
以上のように本実施形態によれば、ネットワーク上のスイッチからの統計情報を収集しなくとも、第１の実施形態と同様に、パケットの転送性能の劣化を抑制できる。
【００９４】
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した第１の実施形態と第２の実施形態とを組み合わせて、フロー統計情報と、ネットワーク管理者から設定されたパラメータとの双方を組み合わせたきめ細かい制御を実現することもできる。
【００９５】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による制御装置参照）
［第２の形態］
第１の形態において、
前記通信装置制御部は、
前記新規フローの経路上の通信装置に設定するフローエントリのエージングタイムとして、前記経路上の各通信装置に同一の値を設定する制御装置。
［第３の形態］
第２の形態において、
さらに、各通信装置に保持されているフローエントリを管理するフローエントリ管理部を備え、
前記通信装置制御部は、前記各通信装置のフローエントリ最大登録可能数に対するフローエントリの登録数またはフローテーブルの空きエントリ数から、フローテーブル使用率またはフローテーブル空き率を求め、
前記新規フローの経路上の通信装置のフローテーブル使用率またはフローテーブル空き率の平均値に基づいて、前記新規フローの経路上の通信装置に設定するフローエントリのエージングタイムを補正する制御装置。
［第４の形態］
第３の形態において、
前記フローテーブル使用率の平均値が所定の基準値よりも高い場合、または、前記フローテーブル空き率が所定の基準値よりも低い場合、前記新規フローの経路上の通信装置に設定するフローエントリのエージングタイムを、減補正する制御装置。
［第５の形態］
第３又は第４の形態において、
前記フローテーブル使用率の平均値が所定の基準値よりも低い場合、または、前記フローテーブル空き率が所定の基準値よりも高い場合、前記新規フローの経路上の通信装置に設定するフローエントリのエージングタイムを、増補正する制御装置。
［第６の形態］
第１から第５いずれか一の形態において、
前記推定生存期間として、前記フロー統計情報から求められた過去所定期間の同一フローの平均エージングタイムを用いる制御装置。
［第７の形態］
第１から第６いずれか一の形態において、
前記フロー統計情報には、過去所定期間の同一フローの発生間隔が含まれており、
前記通信装置制御部は、前記同一フローの発生間隔が所定のしきい値よりも短い場合、前記同一フローの発生間隔をエージングタイムとして設定する制御装置。
［第８の形態］
第１から第７いずれか一の形態において、
前記フロー統計情報には、過去所定期間の同一フローの平均トラヒック量が含まれており、
前記通信装置制御部は、前記同一フローの平均トラヒック量が所定値未満である場合、所定の最小エージングタイムを設定する制御装置。
［第９の形態］
第１の形態において、
前記フロー統計情報管理部に代えて、ネットワーク管理者から設定されたフロー特性設定情報を記憶するフロー特性設定記憶部を備え、
前記通信装置制御部は、新規フロー発生時に、前記新規フローの経路上の通信装置に、前記フロー特性設定情報に含まれる基準エージングタイムを設定したフローエントリを設定する制御装置。
［第１０の形態］
第９の形態において、
前記通信装置制御部は、
前記新規フローの経路上の通信装置に設定するフローエントリのエージングタイムとして、前記経路上の各通信装置に同一の値を設定する制御装置。
［第１１の形態］
第１０の形態において、
さらに、各通信装置に保持されているフローエントリを管理するフローエントリ管理部を備え、
前記通信装置制御部は、前記各通信装置のフローエントリ最大登録可能数に対するフローエントリの登録数またはフローテーブルの空きエントリ数から、フローテーブル使用率またはフローテーブル空き率を求め、
前記新規フローの経路上の通信装置のフローテーブル使用率またはフローテーブル空き率の平均値に基づいて、前記新規フローの経路上の通信装置に設定するフローエントリのエージングタイムを補正する制御装置。
［第１２の形態］
第１１の形態において、
前記フローテーブル使用率の平均値が所定の基準値よりも高い場合、または、前記フローテーブル空き率が所定の基準値よりも低い場合、前記新規フローの経路上の通信装置に設定するフローエントリのエージングタイムを、減補正する制御装置。
［第１３の形態］
第９から第１２いずれか一の形態において、
前記フロー特性設定情報には、ネットワーク管理者から設定されたフローの発生間隔が含まれており、
前記通信装置制御部は、前記フローテーブル使用率の平均値が、所定の基準値よりも低い場合、前記フローの発生間隔をエージングタイムとして設定する制御装置。
［第１４の形態］
（上記第２の視点による通信システム参照）
［第１５の形態］
（上記第３の視点による通信方法参照）
［第１６の形態］
（上記第４の視点によるプログラム参照）
また、上記第１４〜第１６の形態は、第１の形態と同様に、第２〜第１３の形態に展開することが可能である。
【００９６】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００９７】
１０  制御装置
１１  フロー統計情報管理部
１２  通信装置制御部
２０Ａ〜２０Ｄ  通信装置
１００、１００Ａ  コントローラ
２０１〜２０６  スイッチ群
２００  ネットワーク
１０１  トポロジ記憶部
１０２  トポロジ管理部
１０３  フローエントリ記憶部
１０４  フローエントリ管理部
１０５  フロー統計情報記憶部  
１０６  フロー統計情報管理部
１０７  スイッチ制御部
１１５  フロー特性設定記憶部  
１１６  フロー特性設定管理部
【図１】
0005915729.tif 000002
【図２】
0005915729.tif 000003
【図３】
0005915729.tif 000004
【図４】
0005915729.tif 000005
【図５】
0005915729.tif 000006
【図６】
0005915729.tif 000007
【図７】
0005915729.tif 000008
【図８】
0005915729.tif 000009
【図９】
0005915729.tif 000010
【図１０】
0005915729.tif 000011
【図１１】
0005915729.tif 000012
【図１２】
0005915729.tif 000013
【図１３】
0005915729.tif 000014