(57)【要約】制御装置は、フロー単位でパケット処理を行う制御対象のノードからフロー毎のトラヒック情報を収集するトラヒック情報収集部と、前記トラヒック情報をフロー毎に集計して、トラヒックの増大が予想されるフローと時間帯とを特定するトラヒック解析部と、前記特定した時間帯に、トラヒックの増大が予想されるフローの経路上にあるノードに、前記特定したフローを処理するための制御情報を事前に設定する事前設定部と、を備える。集中制御型のネットワークの制御装置の負荷ピークを軽減する。
2014061587.tif 000002
【特許請求の範囲】
【請求項１】
フロー単位でパケット処理を行う制御対象のノードからフロー毎のトラヒック情報を収集するトラヒック情報収集部と、
前記トラヒック情報をフロー毎に集計して、トラヒックの増大が予想されるフローと時間帯とを特定するトラヒック解析部と、
前記特定した時間帯に、トラヒックの増大が予想されるフローの経路上にあるノードに、前記特定したフローを処理するための制御情報を事前に設定する事前設定部と、
を備える、制御装置。
【請求項２】
前記トラヒック解析部は、時間帯毎に、トラヒックの増大が予想されるフローを複数特定し、
前記事前設定部は、前記ノードに、前記特定した複数のフローを処理するための複数の制御情報を設定する、請求項１に記載の制御装置。
【請求項３】
前記トラヒック解析部は、１又は複数のノードにおいて、特定の時間帯に、トラヒック量の最大値が高いフローを上位から複数選択する、請求項２に記載の制御装置。
【請求項４】
前記トラヒック解析部は、１又は複数のノードにおいて、特定の時間帯におけるトラヒック量の総量が大きいフローを上位から複数選択する、請求項２に記載の制御装置。
【請求項５】
前記事前設定部は、前記ノードにおいてタイムアウトによる削除が行われないように前記制御情報を設定する、請求項１ないし４のいずれか１項に記載の制御装置。
【請求項６】
前記事前設定部は、新しい制御情報を設定する際に、所定のルールを用いて選択した制御情報と前記新しい制御情報とを入れ替える、請求項１ないし５のいずれか１項に記載の制御装置。
【請求項７】
制御装置からの要求に応じて、フロー毎のトラヒック情報を送信するトラヒック情報提供部と、
前記制御装置から受信した制御情報を保持する制御情報記憶部と、
前記制御情報のうち、前記制御装置に送信したトラヒック情報に基づいて生成された事前設定型の制御情報が所定の数になった場合、前記事前設定型の制御情報の中から所定のルールにより制御情報を選択して削除するエントリ選択削除部と、
を備える、ノード。
【請求項８】
請求項１ないし６のいずれか１項に記載の制御装置に対して前記トラヒック情報を送信するトラヒック情報提供部と、
前記制御装置から受信した制御情報に従ってパケットを処理するパケット処理部と、を備える、ノード。
【請求項９】
前記制御装置から受信した制御情報を保持する制御情報記憶部と、
前記制御情報のうち、前記制御装置に送信したトラヒック情報に基づいて生成された事前設定型の制御情報が所定の数になった場合、前記事前設定型の制御情報の中から所定のルールにより制御情報を選択して削除するエントリ選択削除部と、
を備える、請求項８に記載のノード。
【請求項１０】
前記エントリ選択削除部は、前記事前設定型の制御情報の中から、制御情報の使用状況に応じて制御情報を選択して削除する、請求項７または９に記載のノード。
【請求項１１】
請求項１ないし６のいずれか１項に記載の制御装置と、
前記制御装置に対して前記トラヒック情報を送信するとともに、前記制御装置から受信した制御情報に従って動作するノードと、を備える、通信システム。
【請求項１２】
フロー単位でパケット処理を行うノードを制御する制御装置が、
前記ノードからフロー毎のトラヒック情報を収集する収集ステップと、
前記トラヒック情報をフロー毎に集計して、トラヒックの増大が予想されるフローと時間帯とを特定する特定ステップと、
前記特定した時間帯に、トラヒックの増大が予想されるフローの経路上にあるノードに、前記特定したフローを処理するための制御情報を事前に設定する設定ステップと、
を含む、通信方法。
【請求項１３】
前記特定ステップにおいて、時間帯毎に、トラヒックの増大が予想されるフローを複数特定し、
前記設定ステップにおいて、前記ノードに、前記特定した複数のフローを処理するための複数の制御情報を設定する、請求項１２に記載の通信方法。
【請求項１４】
前記特定ステップにおいて、１又は複数のノードにおいて、特定の時間帯に、トラヒック量の最大値が高いフローを上位から複数選択する、請求項１３に記載の通信方法。
【請求項１５】
前記特定ステップにおいて、１又は複数のノードにおいて、特定の時間帯におけるトラヒック量の総量が大きいフローを上位から複数選択する、請求項１３に記載の通信方法。
【請求項１６】
前記設定ステップにおいて、前記ノードにおいてタイムアウトによる削除が行われないように前記制御情報を設定する、請求項１３ないし１５のいずれか１項に記載の通信方法。
【請求項１７】
前記設定ステップにおいて、新しい制御情報を設定する際に、所定のルールを用いて選択した制御情報と前記新しい制御情報とを入れ替える、請求項１２ないし１６のいずれか１項に記載の通信方法。
【請求項１８】
フロー単位でパケット処理を行うノードを制御する制御装置を構成するコンピュータに、
前記ノードからフロー毎のトラヒック情報を収集する処理と、
前記トラヒック情報をフロー毎に集計して、トラヒックの増大が予想されるフローと時間帯とを特定する処理と、
前記特定した時間帯に、トラヒックの増大が予想されるフローの経路上にあるノードに、前記特定したフローを処理するための制御情報を事前に設定する処理と、
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１２−２２７９２１号（２０１２年１０月１５日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、制御装置、ノード、通信システム、通信方法及びプログラムに関し、特に、配下のノードを集中制御する制御装置、ノード、通信システム、通信方法及びプログラムに関する。
【背景技術】
【０００２】
近年、オープンフロー（OpenFlow）という技術が提案されている（非特許文献１、２参照）。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献２に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチ条件（Match Fields）と、フロー統計情報（Counters）と、処理内容を定義したインストラクション（Instructions）と、の組が定義される（非特許文献２の「4.1 Flow Table」の項参照）。【０００３】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチ条件（非特許文献２の「4.3 Match Fields」参照）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットを処理するための制御情報の送信要求（Packet-Inメッセージ）を送信する。オープンフロースイッチは、処理内容が定められたフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを制御情報として用いてパケット転送を行う。【０００４】
特許文献１には、各パケット転送装置（上記オープンフロースイッチに相当）に設定するパケット転送ルール（上記フローエントリに相当）のタイマー値（有効期間）を異ならせることにより、経路制御装置（上記オープンフローコントローラに相当）に対するパケット転送ルールの要求を平準化させ、負荷増大を防止する発明が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１０１２４５号公報
【非特許文献】
【０００６】
【非特許文献１】Nick McKeownほか7名、“OpenFlow: Enabling Innovation in Campus Networks”、[online]、［平成２４（２０１２）年９月２５日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“OpenFlow Switch Specification” Version 1.1.0 Implemented (Wire Protocol 0x02)、[online]、［平成２４（２０１２）年９月２５日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記特許文献および非特許文献の全記載内容は引用をもって本書に組み込み記載されているものとする。以下の分析は、本発明によって与えられたものである。上述したとおり、集中制御型のネットワークにおいては、ネットワーク上の転送ノードの構成を簡素化できる反面、制御装置に負荷が集中してしまう。【０００８】
図１２は、あるネットワークにおけるトラヒック量とオープンフローコントローラ（ＯＦＣ）の負荷の変化を表した図である。図１２の例では、トラヒック量は始業時間から一定時間に急激に増大し、その後は、終業時間まで一定の範囲で推移している。始業時間から一定時間にトラヒック量のピークが発生するのは、従業員等が各自の端末等を起動し、一斉に、特定のサーバやデータセンタに接続するためと考えられる。このときに、通信経路上のオープンフロースイッチは、新規に発生するパケットを受信すると、ＯＦＣにフローエントリの設定要求を行う。このため、図１２に示されたとおり、ＯＦＣの負荷もトラヒック量と同様のカーブを描いて変化している。【０００９】
図１２に表されたＯＦＣの負荷ピークは、あくまで一例であり、一日に複数回の負荷ピークが表れるケースや、特定のアプリケーションの動作により、周期的に負荷ピークが表れるケースも考えられる。いずれの場合も接続端末数や利用アプリケーションが増えればＯＦＣの負荷が増大することになるため、相応の対策が求められている。【００１０】
この点、特許文献１では、タイムアウトによるフローエントリの消失に対しては有効であるが、初回の通信発生時の制御装置の負荷を平準化することはできない。【００１１】
本発明は、上記オープンフローコントローラに代表される集中制御型のネットワークの制御装置の負荷ピークを軽減する制御装置、ノード、通信システム、通信方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
第１の視点によれば、フロー単位でパケット処理を行う制御対象のノードからフロー毎のトラヒック情報を収集するトラヒック情報収集部と、前記トラヒック情報をフロー毎に集計して、トラヒックの増大が予想されるフローと時間帯とを特定するトラヒック解析部と、前記特定した時間帯に、トラヒックの増大が予想されるフローの経路上にあるノードに、前記特定したフローを処理するための制御情報を事前に設定する事前設定部と、を備えた制御装置が提供される。【００１３】
第２の視点によれば、制御装置からの要求に応じて、フロー毎のトラヒック情報を送信するトラヒック情報提供部と、前記制御装置から受信した制御情報を保持する制御情報記憶部と、前記制御情報のうち、前記制御装置に送信したトラヒック情報に基づいて生成された事前設定型の制御情報が所定の数になった場合、所定のルールにより制御情報を選択して削除するエントリ選択削除部と、を備えたノードが提供される。【００１４】
第３の視点によれば、上記した制御装置と、前記制御装置に対して前記トラヒック情報を送信するとともに、前記制御装置から受信した制御情報に従って動作するノードと、を含む通信システムが提供される。【００１５】
第４の視点によれば、フロー単位でパケット処理を行うノードを制御する制御装置が、前記ノードからフロー毎のトラヒック情報を収集するステップと、前記トラヒック情報をフロー毎に集計して、トラヒックの増大が予想されるフローと時間帯とを特定するステップと、前記特定した時間帯に、トラヒックの増大が予想されるフローの経路上にあるノードに、前記特定したフローを処理するための制御情報を事前に設定するステップと、を含む通信方法が提供される。本方法は、ネットワーク上のノードを制御する制御装置という、特定の機械に結びつけられている。【００１６】
第５の視点によれば、フロー単位でパケット処理を行うノードを制御する制御装置を構成するコンピュータに、前記ノードからフロー毎のトラヒック情報を収集する処理と、
前記トラヒック情報をフロー毎に集計して、トラヒックの増大が予想されるフローと時間帯とを特定する処理と、前記特定した時間帯に、トラヒックの増大が予想されるフローの経路上にあるノードに、前記特定したフローを処理するための制御情報を事前に設定する処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１７】
本発明によれば、集中制御型のネットワークの制御装置の負荷ピークを軽減することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の一実施形態の動作を示す図である。
【図３】本発明の第１の実施形態の通信システムの構成を示す図である。
【図４】本発明の第１の実施形態の通信システムの動作を表した図である。
【図５】本発明の第１の実施形態の通信システムの動作を説明するための図である。
【図６】本発明の第１の実施形態の通信システムの動作を説明するための図である。
【図７】本発明の第１の実施形態の通信システムの動作を説明するための図である。
【図８】本発明の第１の実施形態の通信システムの動作を説明するための図である。
【図９】本発明の第１の実施形態のノードにおける入替対象エントリの選択動作を説明するための図である。
【図１０】本発明の第１の実施形態のノードにおける入替対象エントリの選択動作を説明するための別の図である。
【図１１】本発明の第１の実施形態の通信システムの動作を説明するための別の図である。
【図１２】あるネットワークにおけるトラヒック量とオープンフローコントローラ（ＯＦＣ）の負荷の変化を表した図である。
【発明を実施するための形態】
【００１９】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００２０】
本発明は、その一実施形態において、図１に示すように、ネットワーク上に配置されたノード１０Ａと、ノード１０Ａを制御する制御装置２０Ａと、を含む構成にて実現できる。ノード１０Ａは、制御装置２０Ａからの要求に応じて、フロー毎のトラヒック情報を送信するトラヒック情報提供部１０１と、制御装置２０Ａから受信した制御情報を保持する制御情報記憶部１０３と、制御情報記憶部１０３に保持された制御情報を参照して受信パケットを処理するパケット処理部１０２とを備える。なお、このようなノード１０Ａとしては、非特許文献１、２のオープフロースイッチのように、フロー毎にトラヒック量を記録し、オープンフローコントローラに送信する機能を持つ通信機器を用いることができる。もちろん、同等の機能を備えるものであれば、その他の機器でも構わない。
【００２１】
制御装置２０Ａは、制御対象のノード１０Ａからフロー毎のトラヒック情報を収集するトラヒック情報収集部２０１と、前記トラヒック情報をフロー毎に集計して、トラヒックの増大が予想されるフローと時間帯とを特定するトラヒック解析部２０２と、前記特定した時間帯に、トラヒックの増大が予想されるフローの経路上にあるノードに、前記特定したフローを処理するための制御情報を事前に設定する事前設定部２０３と、を備える。なお、このような制御装置２０Ａとしては、非特許文献１、２のオープフローコントローラに、トラヒック解析部２０２及び事前設定部２０３を追加することで実現することが可能となる。
【００２２】
図２は、制御装置２０Ａの動作を示す図である。本実施形態の制御装置２０Ａは、トラヒック情報収集部２０１にて収集したトラヒック情報に基づいて、トラヒックの増大が予想されるフローと時間帯とを特定する（ピークの発見）。そして、事前設定部２０３が、フローの経路上にあるノード１０Ａに、前記特定したトラヒックを処理するための制御情報を事前に設定する（制御情報事前配付）。その後、実際にユーザの通信開始時期のピークを迎えても、ノード１０Ａから制御装置２０への受信パケットを処理するための制御情報の生成要求の発生が抑止される。その理由は、事前に制御情報が設定されたノードは、前記事前に設定された制御情報を用いて受信パケットを処理できるため、制御情報の生成要求をしなくなるためである。
【００２３】
この結果、図２の破線（制御情報事前配付不実施）と、点線（制御情報事前配付実施）に表されたように、特定時間帯に表れていた制御装置２０の負荷ピークを解消することが可能となる。
【００２４】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図３は、本発明の第１の実施形態の通信システムの構成を示す図である。図３を参照すると、図１と同様に、ネットワーク上に配置されたノード１０と、ノード１０を制御する制御装置２０と、を含む構成が示されている。
【００２５】
制御装置２０は、トラヒック情報収集部２０１と、トラヒック解析部２０２と、事前設定部２０３と、オンデマンド設定部２０４とを備える。以下、本実施形態では、非特許文献１、２のオープンフローコントローラ相当の機能を備えているものとして説明する。
【００２６】
トラヒック情報収集部２０１は、所定の時間間隔で、ノード１０のトラヒック情報提供部１０１に対して、制御情報記憶部１０３に保持されている各エントリのフロー統計情報（Counters）フィールドの値を問い合わせ、トラヒック情報を収集する。このようなトラヒック情報の収集には、スイッチに対し、フローテーブルの内容を問い合わせる非特許文献２のRead Stateメッセージを用いることができる（非特許文献２の「A.3.6 Read State Message」参照）。
【００２７】
トラヒック解析部２０２は、各端末から収集したトラヒック情報を集計し、時間あたりのフロー別トラヒック量を集計し、ピーク時間帯においてトラヒック量が大きくなるフローを、制御情報の事前設定対象のフローとして複数選択する。なお、トラヒック情報からの事前設定対象のフローの選択方法としては、あるノードにおいてピーク時間帯における単にトラヒックのピーク値が高いものを上位から順番に選択してもよいし、ピーク時間帯におけるトラヒックの総量が大きいものを上位から順番に選択してもよい。もちろん、その他例えば、各フローの経路上のトラヒックの総和を求めて上位から順番に選択する方法（ホップ数が多い程選択されやすくなる）などの統計的手法を用いて、より制御装置の負荷削減効果の高いフローを選択する方法を採用することも可能である。
【００２８】
事前設定部２０３は、ある時間帯においてトラヒック量が大きくなるフローの経路上にあるノードに、前記特定したトラヒックを処理するための制御情報（フローエントリ）を事前に設定する。前記制御情報（フローエントリ）の制御情報（フローエントリ）の内容としては、前記時間あたりのフロー別に集計したフローのマッチ条件とそのアクションをそのまま採用することができる。また、制御情報（フローエントリ）の設定先となるノードは、トラヒック情報の収集時に得られたノード情報を用いて特定してもよいし、図６に示すようなネットワークトポロジから判別してもよい。このとき、宛先などが共通するいくつかのフローを集約することができる場合には、フローを集約することもできる。また、本実施形態では、事前設定部２０３は、ノード１０の制御情報記憶部１０３が制御情報の格納可能領域に空きがなくなるまで事前設定型の制御情報（フローエントリ）を設定する動作を行うものとする。このようにすることで、トラヒックピーク時に、事前設定型の制御情報（フローエントリ）にヒットすることが高まるため、負荷削減効果が大きくなる。
【００２９】
また、事前設定部２０３は、事前設定型の制御情報（フローエントリ）がノード１０においてタイムアウトによる削除が行われないように設定する。このようにすることで、トラヒックピーク時に、事前設定型の制御情報（フローエントリ）が不用意にタイムアウトにより削除されることがなくなるため、負荷削減効果が大きくなる。
【００３０】
オンデマンド設定部２０４は、ノードからの制御情報（フローエントリ）の送信要求に応じて、制御情報（フローエントリ）を作成してノード１０に送信する。
【００３１】
ノード１０は、トラヒック情報提供部１０１と、制御情報記憶部１０３と、パケット処理部１０２と、エントリ選択削除部１０４とを備える。以下、本実施形態では、非特許文献１、２のオープンフロースイッチ相当の機能を備えているものとして説明する。
【００３２】
制御情報記憶部１０３は、制御装置２０から送信された制御情報（フローエントリ）を保持するテーブル等によって構成される。
【００３３】
なお、本実施形態では、事前設定部２０３により事前に設定される制御情報（フローエントリ）と、ノード１０から制御装置２０への制御情報（フローエントリ）の送信要求によって設定されるオンデマンド型の制御情報（フローエントリ）とを特に区別しないものとするが、フラグ等を設けてそれぞれを区別して管理するようにしてもよい。このようにすれば、例えば、オンデマンド型の制御情報（フローエントリ）については、一定期間の経過等によるエージング処理（タイムアウトによる削除）を行い、事前設定型の制御情報（フローエントリ）については、エージング処理（タイムアウトによる削除）の対象外とするといった管理をすることができる。
【００３４】
パケット処理部１０２は、他のノードや端末からパケットを受信すると、制御情報記憶部１０３から受信パケットに適合するマッチ条件を持つエントリを検索する。前記検索の結果、受信パケットに適合するマッチ条件を持つエントリが見つかった場合、パケット処理部１０２は、当該エントリのインストラクションフィールドに格納されている処理内容を実行する。また、このとき、パケット処理部１０２は、該当エントリのフロー統計情報（Counters）フィールドの値を更新する。
【００３５】
一方、前記検索の結果、受信パケットに適合するマッチ条件を持つエントリが見つからなかった場合、パケット処理部１０２は、制御装置２０のオンデマンド設定部２０４に対して受信パケット又は受信パケットから抽出した情報を送信し、受信パケットを処理するためのフローエントリの送信を要求する。
【００３６】
トラヒック情報提供部１０１は、制御装置２０からの要求に応じて、制御情報記憶部１０３のエントリからフロー統計情報（Counters）フィールドの値を読み出して、制御装置２０に送信する。
【００３７】
エントリ選択削除部１０４は、制御情報記憶部１０３に制御情報の格納可能領域がなくなった場合に、制御情報記憶部１０３に保持されている事前設定型の制御情報（フローエントリ）の中から削除対象の制御情報（フローエントリ）を選択して削除する。本実施形態では、制御装置２０の事前設定部２０３は、ノード１０の制御情報記憶部１０３が制御情報の格納可能領域に空きがなくなるまで事前設定型の制御情報（フローエントリ）を設定するため、エントリ選択削除部１０４は、制御情報（フローエントリ）の入替動作を行うことになる。
【００３８】
エントリ選択削除部１０４による入替対象の制御情報（フローエントリ）を選択する仕組みとしては、ＬＲＵ（Least Recently Used）、ＬＦＵ（Least Frequently Used）アルゴリズムを用いることができる。例えば、ＬＲＵを用いる場合、制御情報記憶部１０３には、最後に使用（ヒット）してからの経過時間を記録するフィールドを設けることになる。最後に使用してからの経過時間は、非特許文献２のフローエントリが保持するアイドルタイムアウト値を用いることもできる。この場合、図９に示すように、最後に使用（ヒット）してからの経過時間が最も長いエントリが選択されることになる。
【００３９】
また、ＬＲＵを用いる場合は、最後に使用してからの経過時間の初期値を、フロー統計情報に基づいて変えてもよい。例えば、前日に１０回使われた制御情報（フローエントリ）Ａと、前日に１００回使われた制御情報（フローエントリ）Ｂがある場合、制御情報（フローエントリ）Ａの初期値が１００秒、制御情報（フローエントリ）Ｂの初期値が１０秒というように異なる値を設定することができる。このように、よく使われたエントリの初期値を短くすることによって、初期状態において、よく使われるエントリが追い出されにくいようにすることもできる。
【００４０】
同様にＬＦＵを用いる場合には、使用回数（ヒット回数）を記録するフィールドを設けることになる。使用回数（ヒット回数）も、非特許文献２のフローエントリにフロー統計情報として記録される「Received Packets」値を用いることができる。この場合、図１０に示すように、設定してからの使用回数（ヒット回数）が最も少ないエントリが選択されることになる。ＬＦＵを用いる場合も同様に、フロー統計情報に基づいて、使用回数の初期値を決めてもよい。例えば、前日に１０回使われた制御情報（フローエントリ）Ａと、前日に１００回使われた制御情報（フローエントリ）Ｂがある場合、使用回数の初期値をそれぞれ１０回と１００回にしておくことにより、初期状態において、よく使われるエントリが追い出されにくいようにすることができる。
【００４１】
もちろん、その他のアルゴリズムを用いることも可能であり、例えば、ＬＲＵやＬＦＵに代えて、オンデマンド型の制御情報（フローエントリ）に設定されるタイムアウト値よりも長いタイムアウト値を設定してエージングにより入れ替える例は、単純にＦＩＦＯ（First In First Out）で入れ替えても構わない。
【００４２】
なお、図３に示した制御装置及びノードの各部（処理手段）は、これらの装置を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００４３】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図４は、本発明の第１の実施形態の通信システムの動作を表した図である。図４を参照すると、まず、制御装置２０が、図５に示すようにノード１０からトラヒック情報を収集する（ステップＳ００１、Ｓ１０１）。
【００４４】
次に、制御装置２０は、前記収集したトラヒック情報を解析し（ステップＳ００２）、制御情報（フローエントリ）の事前設定の要否を判断する（ステップＳ００３）。前記の結果、制御情報の事前設定要と判断した場合、制御装置２０は、事前設定用の制御情報（フローエントリ）を生成し、経路上のノードに設定する（ステップＳ００４）。図６は、ある時間帯にトラヒックが急増する事前設定対象のフローとしてフローＡ、フローＢ、フローＣが特定された状態を示す図である。図７は、前記フローＡ、フローＢ、フローＣを処理するための制御情報（フローエントリ）を設定する状態を示す図である。
【００４５】
制御情報（フローエントリ）を設定要求を受けたノード１０は、制御情報記憶部１０３に、空き領域があるか否かを確認し（ステップＳ１０２）、空き領域があれば、制御情報記憶部１０３に設定要求を受けた制御情報（フローエントリ）を格納する（ステップＳ１０３）。
【００４６】
一方、制御情報記憶部１０３に、空き領域が無い場合、ノード１０は、エントリ選択削除部１０４により、入替対象の制御情報（フローエントリ）を選択して、入替を行う（ステップＳ１０４）。
【００４７】
図８は、上記のように、事前設定対象のフローが特定された後の制御装置２０の動作例を示す図である。図８の例では、トラヒック量のピークを迎える始業時間前の時間から制御情報（フローエントリ）の事前設定動作を開始している。このため、始業時間前の時間における負荷は、事前配付不実施時よりも増大している。その代わり、始業時間後のトラヒックのピーク時における負荷を低減することに成功している。
【００４８】
そして、制御情報（フローエントリ）の事前設定が完了した後は、新規のフローの発生等に応じて、制御装置２０から制御情報（フローエントリ）の設定が行われることになるが、制御情報記憶部１０３に空き領域は無いので、ＬＲＵ、ＬＦＵなどの所定のルールを用いて制御情報（フローエントリ）の入替制御が行われる。
【００４９】
翌日以降も、制御装置２０は、同様に始業時間前の時間から制御情報（フローエントリ）の事前設定動作の後に入替動作を実行し、制御装置２０の負荷軽減制御が継続される。なお、図８の例では、特に明示していないが、１日目と２日目の事前設定対象のフローが異なっていてもよい。例えば、毎日、トラヒック情報収集部２０１及びトラヒック解析部２０２を動作させて、次の日に事前設定するフローを特定し、制御情報（フローエントリ）を事前設定する構成も採用可能である。
【００５０】
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成や要素の構成は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【００５１】
また、上記した実施形態では、制御情報（フローエントリ）の事前設定動作の後に入替動作を実行するものとして説明したが、制御情報（フローエントリ）の事前設定後、所定時間の経過後に、一旦、制御装置２０が、事前設定した制御情報（フローエントリ）を削除する指示を出してもよい。このようにすることで、トラヒックのピーク時以外におけるノード１０に保持させる制御情報（フローエントリ）を削減することができる。
【００５２】
また、上記した実施形態では、制御情報記憶部１０３の空き領域が無くなるまで、制御情報（フローエントリ）を設定するものとして説明したが、上述したオンデマンド型の制御情報（フローエントリ）の設定の必要性がある場合には、一定の領域をオンデマンド型の制御情報用に割り当ててもよい。
【００５３】
また、上記した実施形態では、一日におけるトラヒック量の変化を元に、制御情報（フローエントリ）を事前設定するものとして説明したが、週や月等のより長期的なスパンで事前設定型の制御情報（フローエントリ）の設定の要否を判定して、設定するようにしてもよい。このようにすれば、１週間の特定の曜日や月初、月末等といった長期的な期間におけるトラヒックのピークによる負荷軽減も可能となる。例えば、月の特定の日に特定のサーバに対する通信が集中するような場合には、このサーバに対する通信を処理する制御情報（フローエントリ）を事前に設定しておくことで、制御装置２０の負荷を軽減することができる。
【００５４】
同様に、１〜数時間等のより短期的なスパンで事前設定型の制御情報（フローエントリ）の設定の要否を判定して、設定するようにしてもよい。このようにすれば、数分置き、数１０分置きといった周期的なトラヒックのピークによる負荷軽減も可能となる。例えば、１０分置きに特定のサーバに対する通信が集中するような場合には、このサーバに対する通信を処理する制御情報（フローエントリ）を事前に設定しておくことで、制御装置２０の負荷を軽減することができる。
【００５５】
また、上記の例では、１つの解析スパンの中にあるトラフィック量のピークは１つだけであったが、図１１に示すように、複数のピークがある場合には、それぞれのピークについて解析を行い、それぞれのピークの解析結果に基づいて、次のスパンに、解析結果に基づいた制御情報（フローエントリ）を事前に設定してもよい。
【００５６】
また、上記した実施形態では、ノード１０側にエントリ選択削除部１０４を備えるものとして説明したが、ノード１０からエントリ選択削除部１０４を削除してもよい。この場合は、制御装置２０が事前設定型の制御情報（フローエントリ）の入替処理を実行してもよい。あるいは、制御装置２０が事前設定型の制御情報（フローエントリ）から選択したいくつかの事前設定型の制御情報（フローエントリ）にタイムアウト値を設定し、ノード１０側で自動的に削除するといった変形実施が可能である。
【００５７】
また、上記した実施形態では、制御装置２０内部に、トラヒック情報収集部２０１及びトラヒック解析部２０２が搭載されているものとして説明したが、トラヒック情報収集部２０１及びトラヒック解析部２０２に相当する機能を持つ別の装置を用意し、複数の装置で制御装置２０を構成することも採用可能である。この場合、制御装置２０は、前記別の装置からトラヒックの解析結果を受け取って、制御情報（フローエントリ）を事前設定することになる。
【００５８】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による制御装置参照）
［第２の形態］
前記トラヒック解析部は、時間帯毎に、トラヒックの増大が予想されるフローを複数特定し、
前記事前設定部は、前記ノードに、前記特定した複数のトラヒックを処理するための複数の制御情報を設定する制御装置。
［第３の形態］
前記トラヒック解析部は、１又は複数のノードにおいて、特定の時間帯に、トラヒック量の最大値が高いフローを上位から複数選択する制御装置。
［第４の形態］
前記トラヒック解析部は、１又は複数のノードにおいて、特定の時間帯におけるトラヒック量の総量が大きいフローを上位から複数選択する制御装置。
［第５の形態］
前記ノードにおいてタイムアウトによる削除が行われないように前記制御情報を設定する制御装置。
［第６の形態］
前記事前設定部は、新しい制御情報を設定する際に、所定のルールを用いて選択した制御情報と前記新しい制御情報とを入れ替える制御装置。
［第７の形態］
（上記第２の視点によるノード参照）
［第８の形態］
（上記第３の視点による通信システム参照）
［第９の形態］
（上記第４の視点による通信方法参照）
［第１０の形態］
（上記第５の視点によるプログラム参照）
なお、上記第７〜第１０の形態は、第１の形態と同様に、第２〜第６の形態に展開することが可能である。
【００５９】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００６０】
１０、１０Ａ  ノード
２０、２０Ａ  制御装置
１０１  トラヒック情報提供部
１０２  パケット処理部
１０３  制御情報記憶部
１０４  エントリ選択削除部
２０１  トラヒック情報収集部
２０２  トラヒック解析部
２０３  事前設定部
２０４  オンデマンド設定部
【図１】
2014061587.tif 000003
【図２】
2014061587.tif 000004
【図３】
2014061587.tif 000005
【図４】
2014061587.tif 000006
【図５】
2014061587.tif 000007
【図６】
2014061587.tif 000008
【図７】
2014061587.tif 000009
【図８】
2014061587.tif 000010
【図９】
2014061587.tif 000011
【図１０】
2014061587.tif 000012
【図１１】
2014061587.tif 000013
【図１２】
2014061587.tif 000014
【国際調査報告】
2014061587.tif 000015
2014061587.tif 000016
2014061587.tif 000017
2014061587.tif 000018