(57)【要約】【課題】通信品質と省電力性能とを両立する。【解決手段】パケットを転送するネットワーク装置であって、受信したパケットを所定の宛先に転送する転送部と、前記転送されるパケットのトラフィック量を収集する判定部と、を備え、前記判定部は、前記トラフィック量の変化の周期性を判定し、前記判定された周期性を用いて所定時間後のトラフィック量を予測し、前記トラフィック量の予測結果に基づいて、前記転送部の転送性能を制御する。【選択図】図３
2014135533.tif 000002
【特許請求の範囲】
【請求項１】
パケットを転送するネットワーク装置であって、
受信したパケットを所定の宛先に転送する転送部と、
前記転送されるパケットのトラフィック量を収集する判定部と、を備え、
前記判定部は、前記トラフィック量の変化の周期性を判定し、前記判定された周期性を用いて所定時間後のトラフィック量を予測し、前記トラフィック量の予測結果に基づいて、前記転送部の転送性能を制御することを特徴とするネットワーク装置。
【請求項２】
請求項１に記載のネットワーク装置であって、
前記判定部は、前記転送されるパケットを送信するアプリケーションの種別毎に前記トラフィック量の周期性を判定し、前記判定された周期性を用いて所定時間後のトラフィック量を前記アプリケーションの種別毎に予測することを特徴とするネットワーク装置。
【請求項３】
請求項１又は２に記載のネットワーク装置であって、
前記判定部は、前記転送されるパケットのＴＣＰヘッダに含まれるＳＹＮフラグの数を用いて、所定時間後のトラフィック量を予測することを特徴とするネットワーク装置。
【請求項４】
請求項３に記載のネットワーク装置であって、
前記判定部は、前記転送されるパケットのＴＣＰヘッダに含まれるＳＹＮフラグの数をアプリケーションの種別毎に収集し、前記収集したアプリケーションの種別毎のＳＹＮフラグの数を用いて、所定時間後のトラフィック量を前記アプリケーションの種別毎に予測することを特徴とするネットワーク装置。
【請求項５】
請求項１又は２に記載のネットワーク装置であって、
前記判定部は、サーバが提供するサービスに対するリクエストが含まれるパケットの転送を監視し、前記監視されたリクエストの数を用いて、所定時間後のトラフィック量を予測することを特徴とするネットワーク装置。
【請求項６】
請求項５に記載のネットワーク装置であって、前記監視されたリクエストの数を用いて予測されたトラフィック量を、上流及び下流の少なくとも一つの他のネットワーク装置に、当該他のネットワーク装置が転送性能を制御するために、転送することを特徴とするネットワーク装置。
【請求項７】
パケットを転送するネットワーク装置の転送性能を制御する方法であって、
前記ネットワーク装置は、受信したパケットを所定の宛先に転送する転送部と、前記転送されるパケットのトラフィック量を収集する判定部と、を有し、
前記方法は、
前記判定部が、前記トラフィック量の変化の周期性を判定するステップと、
前記判定部が、前記判定された周期性を用いて所定時間後のトラフィック量を予測するステップと、
前記判定部が、前記トラフィック量の予測結果に基づいて、前記転送部の転送性能を制御するステップとを含むことを特徴とする性能制御方法。
【請求項８】
請求項７に記載の性能制御方法であって、
前記周期性を判定するステップにおいて、前記転送されるパケットを送信するアプリケーションの種別毎に前記トラフィック量の周期性を判定し、
前記トラフィック量を予測するステップにおいて、前記判定された周期性を用いて所定時間後のトラフィック量を前記アプリケーションの種別毎に予測することを特徴とする性能制御方法。
【請求項９】
請求項７又は８に記載の性能制御方法であって、
前記トラフィック量を予測するステップにおいて、前記判定部は、前記転送されるパケットのＴＣＰヘッダに含まれるＳＹＮフラグの数を用いて、所定時間後のトラフィック量を予測することを特徴とする性能制御方法。
【請求項１０】
請求項９に記載の性能制御方法であって、
前記方法は、前記転送されるパケットのＴＣＰヘッダに含まれるＳＹＮフラグの数をアプリケーションの種別毎に収集するステップを含み、
前記トラフィック量を予測するステップにおいて、前記収集したアプリケーションの種別毎のＳＹＮフラグの数を用いて、所定時間後のトラフィック量を前記アプリケーションの種別毎に予測することを特徴とする性能制御方法。
【請求項１１】
請求項７又は８に記載の性能制御方法であって、
前記方法は、サーバが提供するサービスに対するリクエストが含まれるパケットの転送を監視するステップを含み、
前記トラフィック量を予測するステップにおいて、前記判定部は、前記監視されたリクエストの数を用いて、所定時間後のトラフィック量を予測することを特徴とする性能制御方法。
【請求項１２】
請求項１１に記載の性能制御方法であって、
前記方法は、前記監視されたリクエストの数を用いて予測されたトラフィック量を、上流及び下流の少なくとも一つの他のネットワーク装置に、当該他のネットワーク装置が転送性能を制御するために、転送することを特徴とする性能制御方法。
【請求項１３】
パケットを転送する第１のネットワーク装置と、前記第１のネットワーク装置の上流又は下流に接続される第２のネットワーク装置とを備えるネットワークシステムであって、
前記各ネットワーク装置は、受信したパケットを所定の宛先に転送する転送部と、前記転送されるパケットのトラフィック量を収集する判定部と、を有し、
前記第１のネットワーク装置の判定部は、サーバが提供するサービスに対するリクエストが含まれるパケットの転送を監視し、前記監視されたリクエストの数を用いて、所定時間後のトラフィック量を予測し、前記予測したトラフィック量を前記第２のネットワーク装置に送信し、
前記第２のネットワーク装置の判定部は、前記第１のネットワーク装置から送信されたトラフィック量の予測結果に基づいて、前記第２のネットワーク装置の転送部の転送性能を制御することを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク装置に関する。
【背景技術】
【０００２】
ネットワーク装置の消費電力の削減が求められている。特に、ネットワーク装置の性能を制御し、必要十分な転送性能に制御することによって余剰な消費電力を削減するための方法が検討されている。
【０００３】
本技術分野の背景技術として、特開２００９−１１１７０７号公報（特許文献１）、特開２０１１−２５０２３７号公報（特許文献２）がある。
【０００４】
特許文献１は、パケット転送装置を開示し、特許文献１に開示されるパケット転送装置が備えるヘッダ処理部はパケット処理を実施するパケット処理回路を複数備える。回路数判定回路は通信を実施する回線数、回線から入力するトラフィック量を監視してパケット処理回路の動作の有無を判定する。この判定結果に基づき、必要の無いパケット処理回路の電源やクロックは遮断され、パケット転送装置の省電力化が実現される。
【０００５】
このような性能に応じて消費電力を削減するためには、必要とされる性能を正確に予測する見積もる必要がある。これは、性能が不足するとパケットロスの発生や遅延の増大などによって、通信品質が劣化するためである。特許文献２は、複数のパケット処理回路を備えたパケット転送装置において、複数のパケット処理回路の動作を制御する方法を開示する。特許文献２に開示される方法は、単位時間の間にパケット転送装置に入出力されるパケットのパケット情報の履歴を蓄積する第１の手順と、パケット情報の履歴に基づいて、各単位時間の間にパケット転送装置に入力されたパケットの入力帯域を算出する第２の手順と、パケット情報の履歴に基づいて、各単位時間の間にパケット転送装置のキューに蓄積されたパケット数を算出する第３の手順と、単位時間毎の入力帯域と、単位時間毎のパケット数とに応じて、動作させるパケット処理回路の処理性能の制御情報を設定する第４の手順と、設定された制御情報に基づいて、複数のパケット処理回路の動作を制御する第５の手順とを含む。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１１１７０７号公報
【特許文献２】特開２０１１−２５０２３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述した従来の性能予測方法では、ネットワーク装置の性能を制御する際に、トラフィックの増加を検知してから性能を制御している。このため、バーストの発生に備えて、設定する性能に予め大きめのマージンを用意して省電電力性能を犠牲になることがあった。また、バースト発生時のパケットロスを容認する必要があった。すなわち、省電力性能とパケットロスとがトレードオフの関係にある制御が行われていた。このため、通信品質の劣化を起こさないために必要とされる性能を見積もることが求められている。
【０００８】
また、従来の性能予測方法では、ネットワーク装置の性能を変更するために必要な切り替え時間必要である。このため、切り替え時間を短くしないと、トラフィックの増加を検知した後、転送性能が変更されるまでにパケットロスが発生することがある。よって、従来の方法では、切り替え時間の長さが、省電力性能及びパケットロス防止性能に影響する問題があった。
【課題を解決するための手段】
【０００９】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、パケットを転送するネットワーク装置であって、受信したパケットを所定の宛先に転送する転送部と、前記転送されるパケットのトラフィック量を収集する判定部と、を備え、前記判定部は、前記トラフィック量の変化の周期性を判定し、前記判定された周期性を用いて所定時間後のトラフィック量を予測し、前記トラフィック量の予測結果に基づいて、前記転送部の転送性能を制御する。
【発明の効果】
【００１０】
本発明の代表的な実施の形態によれば、通信品質と省電力性能とを両立することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施例のパケット転送装置の構成を示すブロック図である。
【図２】第１の実施例のヘッダ処理部の構成を示すブロック図である。
【図３】第１の実施例の回路数判定部の構成を示すブロック図である。
【図４】メモリ領域に格納されるテーブルの構成の例を説明する図である。
【図５】周期性を持つトラフィックの例を示す図である。
【図６】第１の実施例におけるトラフィック量の予測結果を示す図である。
【図７】第１の実施例におけるアプリケーションの種別毎のトラフィック量の予測結果を示す図である。
【図８】ＴＣＰプロトコルを用いた通信のシーケンスを説明する図である。
【図９】第２の実施例のネットワークルータの構成を示すブロック図である。
【図１０】第２の実施例の転送部の詳細な構成を示すブロック図である。
【図１１】単純なサーバ・クライアントモデルのネットワークシステムの構成を示す図である。
【図１２】大規模なネットワークシステム上に構築されたサーバ・クライアントモデルの構成を示す図である。
【発明を実施するための形態】
【００１２】
＜実施例１＞
本発明の第１の実施例について説明する。
【００１３】
図１は、第１の実施例のパケット転送装置２００の構成を示すブロック図である。
【００１４】
パケット転送装置２００は、Ｎ個のインターフェース部２１０−ｉ（ｉ＝１〜Ｎ）、ヘッダ処理部１００、インターフェース部２１０−ｉを結合するパケット中継処理部２５０及びプロセッサ２９０を有する。プロセッサ２９０は、制御端末１０と接続され、制御端末１０からの指示をインターフェース部２１０に通知し、インターフェース部２１０の情報を制御端末１０に通知する。インターフェース部２１０−ｉは、Ｍ本の入力回線２０１−ｉｊ（ｉ＝１〜Ｎ、ｊ＝１〜Ｍ）及び出力回線２０２−ｉｊ（ｉ＝１〜Ｎ、ｊ＝１〜Ｍ）を接続する。
【００１５】
具体的には、インターフェース部２１０−１は、入力回線２０１−１１〜２０１−１４及び出力回線２０２−１１〜２０２−１４を収容する。インターフェース部２１０−２は入力回線２０１−２１、２０１−２２及び出力回線２０２−２１、２０２−２２を収容する。インターフェース部２１０−Ｎは、入力回線２０１−Ｎ１及び出力回線２０２−Ｎ１を収容する。インターフェース部２１０−ｉはパケットの受信処理を実行するパケット受信回路２３０、入力側パケットバッファ（ＰＢ）２４０、パケットの送信処理を実行するパケット送信回路２７０及び出力側パケットバッファ（ＰＢ）２８０を有する。
【００１６】
図２は、第１の実施例のヘッダ処理部１００の構成を示すブロック図である。図２を参照してヘッダ処理部１００の動作の詳細を説明する。
【００１７】
ヘッダ処理部１００は、入力側ヘッダ処理部１０１及び出力側ヘッダ処理部１０２を有する。入力側ヘッダ処理部１０１は、パケット受信回路２３０が通知するヘッダ情報２１を用いてパケットを処理する。出力側ヘッダ処理部１０２は、パケット送信回路２７０が通知するヘッダ情報２５を用いてパケットを処理する。
【００１８】
入力側ヘッダ処理部１０１は、ルーティングテーブル用ＣＡＭ５００、ルーティングテーブル用メモリ６００、フローテーブル用ＣＡＭ７００、フローテーブル用メモリ８００、複数のパケット処理回路１１０−ｋ、ルーティングテーブル制御部１５０及びフローテーブル制御部１６０を有する。ルーティングテーブル用ＣＡＭ５００は、前述した出力先判定処理に用いられる。フローテーブル用ＣＡＭ７００は、前述したフロー処理に用いられる。パケット処理回路１１０−ｋは、ルーティングテーブル制御部１５０及びフローテーブル制御部１６０にアクセスして出力先判定処理及びフロー処理を実行する回路で、例えば四つ設けられる。ルーティングテーブル制御部１５０は、パケット処理回路１１０−ｋからのルーティングテーブル用ＣＡＭ５００やルーティングテーブル用メモリ６００へのアクセス要求に応じて、ルーティングテーブル用ＣＡＭ５００やルーティングテーブル用メモリ６００へアクセスする。フローテーブル制御部１６０は、パケット処理回路１１０−ｋからのフローテーブル用ＣＡＭ７００やフローテーブル用メモリ８００へのアクセス要求に応じて、フローテーブル用ＣＡＭ７００やフローテーブル用メモリ８００へアクセスする。
【００１９】
出力側ヘッダ処理部１０２は、ヘッダ情報２５を受信するとフロー処理を実施し、フロー情報２６をパケット送信回路２７０に送信する。出力側ヘッダ処理部１０２は、ルーティングテーブル制御部１５０及びルーティングテーブル用メモリ６００、ルーティングテーブル用ＣＡＭ５００を有しない点を除き、入力側ヘッダ処理部１０１と同一の構成である。
【００２０】
ヘッダ情報２１が入力側ヘッダ処理部１０１に入力されると、ヘッダ情報蓄積用バッファ１２０は入力されたヘッダ情報を、入力回線毎に、入力された順番で蓄積する。ヘッダ情報蓄積用バッファ１２０は、パケット処理回路１１０−ｋがパケット処理中か否かを示すＢＵＳＹ信号（図２では図示省略）をパケット処理回路１１０−ｋから受信する。そして、最も早く到着したヘッダ情報２１をヘッダ情報蓄積用バッファ１２０から読み出して、パケット処理中ではないパケット処理回路１１０−ｋに転送する。
【００２１】
次に、宛先判定処理について説明する。
【００２２】
宛先判定処理では、まず、パケット処理回路１１０−ｋは、宛先アドレス情報及びルーティングテーブル検索リクエストをルーティングテーブル制御部１５０に送信する。ルーティングテーブル制御部１５０は、受信した宛先アドレス情報及びルーティングテーブル検索リクエストを宛先アドレス情報の検索キーとしてルーティングテーブル用ＣＡＭ５００に送信する。ルーティングテーブル用ＣＡＭ５００は、受信した宛先アドレス情報に該当するアドレス情報をルーティングテーブル制御部１５０に返送する。
【００２３】
ルーティングテーブル制御部１５０は、ルーティングテーブル用ＣＡＭ５００から受信したアドレス情報に基づいて、ルーティングテーブル用メモリ６００の該当するアドレスに格納されている宛先情報を取得し、取得した宛先情報をルーティングテーブル検索リクエストを送信したパケット処理回路１１０−ｋに返送する。
【００２４】
以上の処理によって受信したパケットの宛先を判定する。
【００２５】
次に、フロー判定処理について説明する。
【００２６】
フロー判定処理では、まず、パケット処理回路１１０−ｋは、パケットヘッダの情報のうち、同一のフローを識別するために用いる５−ｔｕｐｌｅ（送信元ＩＰアドレス（ＳＩＰ）、宛先ＩＰアドレス（ＤＩＰ）、ＩＰプロトコルタイプ（ＰＲ）、送信元ポート番号（ＳＰＴ）、宛先ポート番号（ＤＰＴ））及びフローテーブル検索リクエストを、フローテーブル制御部１６０に送信する。フローテーブル制御部１６０は、受信したフローテーブル検索リクエストを５−ｔｕｐｌｅを検索キーとしてフローテーブル用ＣＡＭ７００に送信する。フローテーブル用ＣＡＭ７００は、受信した５−ｔｕｐｌｅに該当するアドレス情報をフローテーブル制御部１６０に返送する。
【００２７】
フローテーブル制御部１６０は、フローテーブル用ＣＡＭ７００から受信したアドレス情報に基づいて、フローテーブル用メモリ８００の該当するアドレスに格納されているフロー制御情報（例えば、フィルタ情報、ＱｏＳ情報）を取得し、取得したフロー制御情報をフローテーブル検索リクエストを送信したパケット処理回路１１０−ｋに返送する。
【００２８】
以上の処理によって受信したパケットのフロー制御の情報を取得する。
【００２９】
パケット処理回路１１０−ｋは、受信した宛先判定処理の結果及びフロー判定処理の結果を整列回路１４０に送る。整列回路１４０は、受信した宛先情報及びフロー制御情報の組を入力回線毎にシーケンス番号の順に並べ替えて送信する。
【００３０】
本実施例のパケット転送装置２００は、動作するパケット処理回路１１０−ｋの数を変更することによって、パケット転送装置２００のパケット処理性能及び消費電力を制御可能である。回路数判定部１７０は、動作するパケット処理回路１１０−ｋを制御する。回路数判定部１７０は、受信トラフィックの情報をヘッダ情報蓄積用バッファ１２０から受信し、必要な転送性能を予測し、動作するパケット処理回路１１０−ｋの数を予測結果に基づいて決定する。回路数判定部１７０は、動作するパケット処理回路１１０−ｋの数を決定した結果を、同一のヘッダ処理部１００のパケット処理回路１１０−ｋ及びヘッダ情報蓄積用バッファ１２０に通知する。この通知によって、使用しないパケット処理回路１１０−ｋへの通電を停止する。また、ヘッダ情報蓄積用バッファ１２０は、ヘッダ情報を停止中のパケット処理回路１１０−ｋへ転送せず、ヘッダ情報を他の動作中のパケット処理回路１１０−ｋへ転送する。
【００３１】
次に、回路数判定部１７０における転送性能の判定方法について説明する。
【００３２】
図３は、第１の実施例の回路数判定部１７０の構成を示すブロック図である。
【００３３】
回路数判定部１７０は、トラフィック情報用メモリ領域１７０１、トラフィック情報分析回路１７０２、ＦＦＴ演算部１７０３、平均演算部１７０４、偏差演算部１７０５、性能予測部１７０６及び回路制御部１７０７を有する。
【００３４】
トラフィック情報用メモリ領域１７０１は、転送性能を算出するために、ヘッダ情報蓄積用バッファ１２０から通知される受信トラフィック量の情報のログを格納する。トラフィック情報分析回路１７０２は、トラフィック情報を分析してトラフィック情報用メモリ領域１７０１に格納する。ＦＦＴ演算部１７０３、平均演算部１７０４及び偏差演算部１７０５は、トラフィック情報用メモリ領域１７０１に格納された情報を用いて演算を行う。性能予測部１７０６は、演算結果を統合して性能を予測する。回路制御部１７０７は、パケット処理回路１１０−ｋへ制御信号を送る。
【００３５】
図４は、トラフィック情報用メモリ領域１７０１に格納されるテーブルの構成の例を説明する図である。
【００３６】
トラフィック情報用メモリ領域１７０１は、一つのエントリのデータは、所定のタイミングで（例えば、一定周期毎に）記録され、同じ時刻における異なる種類のデータであり、時間と共に、異なるエントリに記載される。なお、トラフィック情報用メモリ領域１７０１に含まれる各エントリは、ループする構造で運用され、最新の情報が記録される際に、最も古い情報が破棄される。
【００３７】
トラフィック情報用メモリ領域１７０１に格納されるテーブルは、シーケンス番号１７０１−１、時刻情報１７０１−２、全トラフィックのＢｙｔｅ数１７０１−３ａ、ｐａｃｋｅｔ数１７０１−３ｂ及びＦｌａｇ数１７０１−３ｃ、アプリケーションの種別毎のＢｙｔｅ数１７０１−４ａ、１７０１−５ａ、ｐａｃｋｅｔ数１７０１−４ｂ、１７０１−５ｂ及びＦｌａｇ数１７０１−４ｃ、１７０１−５ｃを含む。
【００３８】
シーケンス番号１７０１−１は、データの先頭を識別したり、データの欠落を判定するために用いられる。時刻情報１７０１−２は、データを格納した時刻である。
【００３９】
Ｂｙｔｅ数１７０１−３ａ及びｐａｃｋｅｔ数１７０１−３ｂは、それぞれ、全トラフィックの単位時間あたりに受信したパケットのバイト数及びパケットの数である。Ｆｌａｇ数１７０１−３ｃは、全トラフィックにおいてＴＣＰに含まれるＳＹＮフラグの数を累積した値である。
【００４０】
Ｂｙｔｅ数１７０１−４ａ及びｐａｃｋｅｔ数１７０１−４ｂは、それぞれ、アプリケーションＡに関して単位時間あたりに受信したパケットのバイト数及びパケットの数である。Ｆｌａｇ数１７０１−４ｃは、アプリケーションＡに関してＴＣＰに含まれるＳＹＮフラグの数を累積した値である。アプリケーションＢについても、同様に、Ｂｙｔｅ数１７０１−５ａ、ｐａｃｋｅｔ数１７０１−５ｂ及びＦｌａｇ数１７０１−５ｃが記録される。
【００４１】
Ｆｌａｇ数１７０１−３ｃ、Ｆｌａｇ数１７０１−４ｃ及びＦｌａｇ数１７０１−５ｃはＳＹＮフラグの数を記録するが、テーブルがＦＩＮフラグの数を記録するフィールドを含んでもよい。
【００４２】
なお、パケットのＴＣＰヘッダ又はＵＤＰヘッダに含まれるポート番号からアプリケーションの種別を識別して、アプリケーションの種別毎に統計情報を収集することができる。
【００４３】
ＦＦＴ演算部１７０３は、収集された統計情報に高速フーリエ変換の演算を行う。高速フーリエ変換の演算結果によって、統計情報の周期性を判定することができる。平均演算部１７０４は、統計情報の平均値を計算する。計算される平均値は、重み付け平均（例えば、最近の統計値の重みを大きくする）でもよい。偏差演算部１７０５は、統計値の標準偏差を計算する。
【００４４】
ＦＦＴ演算部１７０３、平均演算部１７０４及び偏差演算部１７０５は、それぞれ、一つ以上の演算回路を有している。各演算回路は、全体又はアプリケーション別に演算を実行する。例えば、ＦＦＴ演算部１７０３の一つは、受信した全体のパケットの数の演算をし、他の一つはアプリケーションＡに関する受信パケットの数の演算をし、他の一つはアプリケーションＡに関する単位時間あたりに受信したパケットのバイト数の演算をし、他の一つはアプリケーションＢに関する単位時間あたりに受信したパケットのバイト数の演算をする。
【００４５】
性能予測部１７０６は、ＦＦＴ演算部１７０３、平均演算部１７０４及び偏差演算部１７０５の演算結果を統合し、将来に必要となる性能（例えば、所定時間後に必要な性能）を予測する。プロセッサ２９０は、性能予測部１７０６の予測方法の切り替えや、性能予測結果に加えられる補正などの制御信号を性能予測部１７０６に入力する。また、プロセッサ２９０は、ＦＦＴ演算部１７０３、平均演算部１７０４及び偏差演算部１７０５の演算の開始、停止、演算内容の変更などを指示する制御信号を性能予測部１７０６に入力する。
【００４６】
性能予測部１７０６が予測した必要性能は、回路制御部１７０７に送られる。回路制御部１７０７は、動作するパケット処理回路１１０−ｋを選択し、当該選択結果に基づいてパケット処理部１１０−ｋ及びヘッダ情報蓄積用バッファ１２０に制御信号を送信する。これによって、動作するパケット処理回路１１０−ｋを選択して、ヘッダ処理部１００の転送性能及び消費電力を制御する。
【００４７】
次に、ＦＦＴを用いた性能予測の詳細について説明する。本実施例では、高速フーリエ変換又は離散フーリエ変換を用いた演算によって、ネットワークにおけるトラフィックの周期的な成分を検出する。そして、検出された周期的な成分に基づいて将来に発生するトラフィックを予測する。
【００４８】
図５は、周期性を持つトラフィックの例を示す図である。図５では、縦軸が受信パケット数で、横軸が時間経過で、右方向が時間が進んでいる。なお、図５において、現在時刻をＴとし、性能を予測してから性能が切り替えられるまでの遅延時間をＴｄｌｙとしている。すなわち、時刻Ｔにおいて予測結果に基づく性能の切り替えを指示しても、Ｔ＋Ｔｄｌｙの時刻に性能が切り替えられることを意味する。
【００４９】
トラフィックを監視し、現在のトラフィック量に応じて性能を増減する場合、図５のようにバーストの持続時間が、性能が切り替えられるまでの遅延時間Ｔｄｌｙより短ければ、バーストが終了した後に性能が切り替えられる。そのため、実際のトラフィック変化に応じて性能の切り替えを指示しても、図５の破線で描かれた切り替えの結果のように、性能を切り替えた時点では実際のトラフィックの状態は変化しており、有効な切り替えができていない。
【００５０】
そこで、本実施例では、ＦＦＴを用いてトラフィックの周期成分を導出し、導出した変化の周期を用いて、トラフィックを予測する。
【００５１】
図６は、第１の実施例におけるトラフィック量の予測結果を示す図である。
【００５２】
ＦＦＴの結果、図６に示すトラフィックには、周波数１／Ｔｃｙｃのスペクトルが検出された。つまり、図６に示すトラフィックには、Ｔｃｙｃの周期性が見られる。トラフィックの周期性は、１日単位などの長い周期性だけではなく、通信プロトコルや通信経路の遅延に起因する、ミリ秒単位の短い周期性もある。本実施例では、短い周期の周期性に注目している。
【００５３】
図６では、現在時刻Ｔに対して、性能が切り替えられるまでの遅延時間Ｔｄｌｙを考慮して、時刻Ｔ＋Ｔｄｌｙの性能を予測する。ここで、Ｔｃｙｃでの周期性があることを考慮して、参照する過去のトラフィックは、Ｔ＋Ｔｄｌｙ−Ｔｃｙｃ、Ｔ＋Ｔｄｌｙ−２×Ｔｃｙｃ、Ｔ＋Ｔｄｌｙ−３×Ｔｃｙｃという時刻になる。これらの時刻は、図６において、一点破線で描かれたタイミングに相当し、いずれもバーストのピークを示している。その結果、時刻Ｔ＋Ｔｄｌｙにおいてもバーストのピークが発生することを予測できる。本実施例の方法によって、Ｔｄｌｙの遅延を予め考慮した予測が可能となり、図６の破線で示すような、トラフィックの傾向に追随した予測結果を得ることができる。
【００５４】
さらに、性能予測の精度を向上するため、トラフィック情報用メモリ領域１７０１でアプリ別にトラフィック情報を蓄積した統計情報を利用してもよい。
【００５５】
図７は、第１の実施例におけるアプリケーションの種別毎のトラフィック量の予測結果を示す図である。
【００５６】
観測された全トラフィック量は、アプリＡのトラフィック量及びアプリＢのトラフィック量の和となる。この場合、全トラフィック量にＦＦＴを行うより、全トラフィック量をアプリケーションＡのトラフィック量とアプリケーションＢのトラフィック量とに分解して、各アプリケーションのトラフィック量にＦＦＴを行うことによって、アプリケーション別に異なる周波数成分を解析することができる。
【００５７】
図７に示す例では、アプリケーションＡの振幅が大きいため、全トラフィック量にＦＦＴを行うと、主にアプリケーションＡの周波数成分が見え、アプリケーションＢの成分は無視さることがある。しかし、アプリケーションＡ及びアプリケーションＢのそれぞれにＦＦＴを行った場合、各アプリケーションのトラフィック量の周波数成分を見ることができる。その結果、アプリケーションＡのトラフィック量及びアプリケーションＢのトラフィック量を予測し、二つの予測値を加算することによって、全トラフィック量で予測する場合より、高い精度で予測をすることができる。
【００５８】
次に、トラフィックの平均値及び偏差を用いた性能予測の方法の詳細について説明する。以下に説明する性能予測では、現在までの平均トラフィック量及びトラフィック量の偏差を用いて、将来必要となる性能を予測する。
【００５９】
平均トラフィック量Ｐ（ｔ）は、過去の一定期間に受信したパケットの数又はバイト数の平均値（又は、移動平均、加重平均など）によって求める。また、トラフィック量の偏差σ（ｔ）は、過去の一定期間に受信したパケットの数又はバイト数の標準偏差で
によって求める。このとき、パラメータｔは現在時刻である。
【００６０】
トラフィックの平均値及び偏差を用いた性能予測では、例えば、式  ｎＰ（ｔ）＋ｍσ（ｔ）（ｎ，ｍは任意の定数（一般に正の数））を用いてトラフィック量を予測する。偏差σ（ｔ）が大きい場合、トラフィック量の変動が大きいので、性能に余裕を持たせる必要がある。
【００６１】
本実施例の平均演算部１７０４及び偏差演算部１７０５は、それぞれ、全トラフィックの平均値及び偏差を計算し、さらに、アプリケーションの種別毎に平均値及び偏差を計算する。これにより、アプリケーションの種別に応じて平均値及び偏差を計算することができ、計算された平均値及び偏差を用いてトラフィック量を予測することができる。
【００６２】
次に、ＴＣＰプロトコルのフラグを用いた性能予測方法について説明する。
【００６３】
図８は、ＴＣＰプロトコルを用いた通信のシーケンスを説明する図である。
【００６４】
ＴＣＰを用いた通信は、３ｗａｙハンドシェイクによってコネクションを確立し、コネクションの確立後にデータ転送が開始する。このとき、トラフィック量の増加に影響するのは、主にデータ転送部分である、データ転送量は、ウィンドウサイズ制御によって、スロースタートで開始する。そのため、３ｗａｙハンドシェイクのシーケンスとトラフィック量の増加との間には時間差がある。ＴＣＰフラグを用いた性能予測方法では、３ｗａｙハンドシェイクのシーケンスとトラフィック量の増加の時間差を利用して、将来のトラフィック量を予測する。つまり、ＳＹＮフラグの数（さらには、ＦＩＮフラグの数）を計測することによって、確立されているコネクションの数を予測し、さらに、コネクションが確立してからの経過時間を考慮して、バーストトラフィックの発生を予測する。
【００６５】
本実施例では、平均演算部１７０４がフラグの数を計測する。具体的には、単位時間あたりのＳＹＮフラグの数のみを計測したり、単位時間あたりのＳＹＮフラグの数とＦＩＮフラグの数との差分を計測することによって、確立されている有効なコネクション数を推測する。これらの予測結果に適切な係数を乗じることによって、トラフィック量を予測してもよい。
【００６６】
さらに、ＳＹＮフラグの数及び／又はＦＩＮフラグの数の移動平均又は加重平均を異なる重み付けや、異なる期間で計算し、計算された平均を比較することによって、トラフィック量の変化の傾向を抽出することができる。具体的には、過去の異なる時間（例えば、１秒間、１０秒間など）の移動平均を取得し、両者を比較することによって、トラフィックの増加を予測してもよい。
【００６７】
また、ＴＣＰプロトコルのフラグを用いた性能予測方法において、アプリケーションの種別毎に予測してもよい。すなわち、アプリケーションの種別毎にＳＹＮフラグの数の計測する。なお、アプリケーションの種別毎に異なる予測方法を用いてもよく、アプリケーションの種別毎に異なる係数を用いてもよい。これは、ＴＣＰプロトコルで通信するアプリケーションでも、その種別によって発生するトラフィック量がことなる。このため、この方法によって、大きなトラフィックの発生が予測されるアプリケーションのみに注目することができ、少ないリソースで正確な予測をすることができる。
【００６８】
性能予測部１７０６は、前述した性能予測方法で得られた演算結果を組み合わせることによって、パケット処理回路１１０−ｋ及びヘッダ情報蓄積用バッファ１２０へ設定する転送性能を求める。また、過去の予測と、実際に発生したトラフィック量とを比較して予測精度を評価し、評価結果に基づいて予測方法へフィードバックしてもよい。これによって、予測精度を向上することができる。
【００６９】
以上に説明したように、本発明の第１の実施例では、トラフィック量の予測値に基づいてパケット転送装置の性能を制御することによって、通信品質と省電力性能とを両立することができる。また、パケット転送装置の性能の切り替えに要する遅延時間が、省電力性能及び通信品質の劣化に与える影響を低減することができる。
【００７０】
また、アプリケーションの種別毎にトラフィック量を予測することによって、全体のトラフィック量の観察では埋もれてしまうアプリケーションのトラフィック量の傾向も検出することができ、トラフィック量の予測精度を向上することができる。
【００７１】
さらに、ＳＹＮフラグの数を計測することによって、トラフィック量の増加の予兆を検出することができ、トラフィック量の予測精度を向上することができる。
【００７２】
＜実施例２＞
次に、本発明の第２の実施例について説明する。
【００７３】
図９は、第２の実施例のネットワークルータ９０の構成を示すブロック図である。
【００７４】
ネットワークルータ９０は、入力されたパケットを転送するパケット転送装置であって、複数のネットワークインターフェース（ＮＩＣ）９０１、転送部９０２、クロスバスイッチ９０３と、ＣＰＵ９０４及び性能判定部９０５を有する。
【００７５】
ＮＩＣ９０１は、ネットワークルータ９０をネットワークに接続する．転送部９０２は、ＮＩＣ９０１が受信したパケットの転送処理を行う。クロスバスイッチ９０３は、転送部９０２及びＣＰＵ９０４を接続する。ＣＰＵ９０４は、所定のプログラムを実行してネットワークルータ９０の動作を制御する。性能判定部９０５は、ルータの転送性能を制御する。
【００７６】
性能判定部９０５の構成は、第１の実施例の回路数判定部１７０と同様であるが、具体的には、トラフィック情報用メモリ領域１７０１、ＦＦＴ演算部１７０３、平均演算部１７０４、偏差演算部１７０５、性能予測部１７０６及び回路制御部１７０７を有する。これらの構成は、前述した第１の実施例の構成と同じである。
【００７７】
図１０は、第２の実施例の転送部９０２の詳細な構成を示すブロック図である。
【００７８】
転送部９０２は、パケット格納部９０２１、パケットヘッダ振り分け部９０２２、パケットヘッダ蓄積用キュー９０２３、検索部９０２４及びパケットバッファ９０２５を有する。
【００７９】
ＮＩＣ９０１又はクロスバスイッチ９０３は、受信したパケットをパケット格納部９０２１に送る。パケット格納部９０２１は、受信したパケット（又は、パケットの本体）をパケットバッファ９０２５に格納し、パケットのヘッダ及び当該パケットが格納されるパケットバッファ９０２５のアドレス情報を、パケットヘッダ振り分け部９０２２に送る。
【００８０】
パケットヘッダ振り分け部９０２２は、パケットヘッダを参照してアプリケーションの種別を判定し、該判定結果に基づいて、入力されたパケットヘッダを複数のパケットヘッダ蓄積用キュー９０２３のいずれかに振り分ける。パケットヘッダ蓄積用キュー９０２３に格納されたパケットヘッダは、優先度制御などによって複数の検索部９０２４のいずれかに振り分けられる。
【００８１】
検索部９０２４は、ルーティングテーブル及びフロー制御テーブルを参照し、パケットの転送先及び転送タイミングを判定する。また、検索部９０２４は、フロー制御情報の一部を性能判定部９０５に送信する。検索部９０２４は、パケット転送の判定結果及びパケットが格納されたアドレス情報をパケットバッファ９０２５に通知する。パケットバッファ９０２５は、検索部９０２４から通知された判定結果に基づいて、格納されたパケットをＮＩＣ９０１又はクロスバスイッチ９０３へ転送する。
【００８２】
パケットヘッダ蓄積用キュー９０２３は、パケットを受信した際に、単位時間あたりに受信したパケットの数及びバイト数、キュー毎に蓄積されたパケットの数、及び受信したパケットのＴＣＰフラグの数などから統計情報を計測し、計測結果を性能判定部９０５に送信する。
【００８３】
性能判定部９０５は、複数の転送部９０２から受信した統計情報を積算し、必要な転送性能を判定し、転送部９０２及びＮＩＣ９０１を制御するための信号を送信する。転送部９０２及びＮＩＣ９０１の制御は、各部の電源を遮断してもよいが、動作速度を変更してもよい。ＮＩＣ９０１の制御は、ポート毎に動作を停止してもよく、ポート毎にリンク速度を変更してもよい。
【００８４】
また、性能判定部９０５は、転送性能に関する情報をＣＰＵ９０４に通知する。
【００８５】
さらに、性能判定部９０５は、必要な転送性能を判定するために、トラフィックの平均値及び偏差を用いた性能予測方法、ＦＦＴを用いた性能予測方法、ＴＣＰフラグを用いた性能予測方法、及びトラフィックの非対称性を利用した性能予測方法を単独で又は組み合わせて、将来のトラフィックを予測する。
【００８６】
次に、トラフィックの非対称性を利用した性能予測方法について説明する。
【００８７】
なお、ＦＦＴを用いた性能予測方法、トラフィックの平均値及び偏差を用いた性能予測方法、及びＴＣＰフラグを用いた性能予測方法は、前述した第１の実施例と同じであるため、それらの説明は省略する。
【００８８】
図１１は、単純なサーバ・クライアントモデルのネットワークシステムの構成を示す図である。
【００８９】
図１１に示すネットワークシステムでは、クライアントＡ１０１及びサーバＡ１０４が、ネットワークルータＡ１０２及び広域ネットワークＡ１０３を介して通信している。このとき、通信の流れは、クライアントＡ１０１がリクエストを送信すると、ネットワークルータＡ１０２及び広域ネットワークＡ１０３を介してサーバＡ１０４に転送される。サーバＡ１０４は、このリクエストに対する返信を、広域ネットワークＡ１０３及びネットワークルータＡ１０２を介して、逆の経路で、クライアントＡ１０１に送信する。
【００９０】
ＨＴＴＰアクセスやＦＴＰアクセスなどのサーバ・クライアントモデルの通信では、送信されるデータのサイズは、一般的に、リクエストのデータサイズより返信のデータサイズの方が大きい。
【００９１】
そこで、ネットワークルータＡ１０２は、クライアントＡ１０１から送信されるリクエストを監視することによって、近い将来（例えば、過去のトラフィックから学習したＲＴＴに相当する時間の後）、サーバＡ１０４から大きなトラフィックが送信される可能性を予測することができる。そこで、本実施例では、検索部９０２４が、特定の種別のアプリケーションにおいて新たに発生したリクエストを検出し、リクエストの検出を性能判定部９０５に送る。これにより、性能判定部９０５は、リクエストの検出を利用することによって、リプライによるデータ量の増大を予測することができる。
【００９２】
なお、ＨＴＴＰリクエストの内容を解析してトラフィック量を予測してもよい。ＨＴＴＰリクエストがＧＥＴ形式である場合、サーバＡ１０４上のリソース（例えば、画面データ）を要求しているので、リプライによるデータ量の増大を予測することができる。
【００９３】
図１２は、大規模なネットワークシステム上に構築されたサーバ・クライアントモデルの構成を示す図である。
【００９４】
多数のユーザがいるオフィスなどの拠点においては、ネットワークが木構造になり、クラインアトＡ１０１−ａは、下流のルータＡ１０２−ｂ及び上流のネットワークルータＡ１０２−ａを介して広域ネットワークＡ１０３と接続する。このため、下位のネットワークルータＡ１０２−ｂなどが、クライアントＡ１０１−ａなどからのリクエストの発生を監視し、発生したリクエストの数を上流のネットワークルータＡ１０２−ａに送信することによって、上流のネットワークルータＡ１０２−ａの転送性能を制御することができる。
【００９５】
このため、下流のルータＡ１０２−ｂの性能判定部９０５は、リクエスト発生数の情報をＣＰＵ９０４に送る。ＣＰＵ９０４は、上流のネットワークルータＡ１０２−ａ宛のパケットを作成する。ネットワークルータＡ１０２−ａは、下流のルータＡ１０２−ｂから受信したパケットをＣＰＵ９０４に送る。ＣＰＵ９０４は、受信したパケットの内容を解析し、リクエスト発生数の情報を性能判定部９０５に送る。
【００９６】
このような構成によって、多くのクライアントを束ねる上流のネットワークルータＡ１０２−ａが、転送する多くのトラフィック量からリクエストを直接監視する必要がなくなり、監視負荷を分散することができる。
【００９７】
なお、上流のルータＡ１０２−ａから下流のルータＡ１０２−ｂなどに、発生したリクエストの数を送信してもよい。このように上流のルータＡ１０２−ａでリクエストを監視することによって、下流のルータＡ１０２−ｂの性能が低い場合でも、下流のルータＡ１０２−ｂの転送性能に影響することなく、下流のルータＡ１０２−ｂの性能を制御することができる。
【００９８】
以上に説明したように、本発明の第２の実施例では、ネットワークルータ（パケット転送装置）の全体の転送性能を制御する性能判定部を設けたので、転送性能を的確に制御することができる。
【００９９】
また、前記監視されたリクエストの数を用いて予測されたトラフィック量を、上流又は下流のルータに転送するので、トラフィック量の予測値を受信したルータは、予測演算をすることなく転送性能を制御することができる。
【０１００】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【符号の説明】
【０１０１】
１０  制御端末
１００  ヘッダ処理部
１０１  入力側ヘッダ処理部
１０２  出力側ヘッダ処理部
１１０−ｋ  パケット処理回路
１５０  ルーティングテーブル制御部
１６０  フローテーブル制御部
１７０  回路数判定部
１７０１  トラフィック情報用メモリ領域
１７０２  トラフィック情報分析回路
１７０３  ＦＦＴ演算部
１７０４  平均演算部
１７０５  偏差演算部
１７０６  性能予測部
１７０７  回路制御部
２００  パケット転送装置
２０１−ｉｊ  入力回線
２０２−ｉｊ  出力回線
２１０−ｉ  インターフェース部
２３０  パケット受信回路
２４０  入力側パケットバッファ
２５０  パケット中継処理部
２７０  パケット送信回路
２８０  出力側パケットバッファ
２９０  プロセッサ
５００  ルーティングテーブル用ＣＡＭ
６００  ルーティングテーブル用メモリ
７００  フローテーブル用ＣＡＭ
８００  フローテーブル用メモリ
９０  ネットワークルータ
９０１  ネットワークインターフェース
９０２  転送部
９０２１  パケット格納部
９０２２  パケットヘッダ振り分け部
９０２３  パケットヘッダ蓄積用キュー
９０２４  検索部
９０２５  パケットバッファ
９０３  クロスバスイッチ
９０４  ＣＰＵ
９０５  転送判定部
Ａ１０１、Ａ１０１−ｎ  クライアント
Ａ１０２、Ａ１０２−ｎ  ネットワークルータ
Ａ１０３  広域ネットワーク
Ａ１０４  サーバ
【図１】
2014135533.tif 000003
【図２】
2014135533.tif 000004
【図３】
2014135533.tif 000005
【図４】
2014135533.tif 000006
【図５】
2014135533.tif 000007
【図６】
2014135533.tif 000008
【図７】
2014135533.tif 000009
【図８】
2014135533.tif 000010
【図９】
2014135533.tif 000011
【図１０】
2014135533.tif 000012
【図１１】
2014135533.tif 000013
【図１２】
2014135533.tif 000014