(57)【要約】ネットワーク管理のためのシステムと方法は、インテリジェントネットワークミドルウェアを用いて、ネットワーク上の１つまたは複数のネットワークデバイスに１つまたは複数の監視ルールを適応的にインストールすることと、アプリケーション需要モニタを用いて、ネットワークにおけるアプリケーショントラフィックを透過的に検出することと、過去の需要および現在の需要を解析することによってネットワークに対する未来のネットワーク需要を予測することとを含む。カウンタが収集された後で１つまたは複数の監視ルールが更新され、ネットワーク需要を満たし、かつネットワークにおける輻輳を最小にしながら利用率およびアプリケーション性能を最大にするように、ネットワークパスが決定および最適化される。
2016525828.tif 000002
【特許請求の範囲】
【請求項１】
インテリジェントネットワークミドルウェアを用いて、ネットワーク上の１つまたは複数のネットワークデバイスに１つまたは複数の監視ルールを適応的にインストールし、
アプリケーション需要モニタを用いて、前記ネットワークにおけるアプリケーショントラフィックを透過的に検出し、
過去の需要および現在の需要を解析することによって前記ネットワークに対する未来のネットワーク需要を予測し、
カウンタが収集された後で前記１つまたは複数の監視ルールを更新し、
ネットワーク需要を満たし、かつ前記ネットワークにおける輻輳を最小にしながら利用率およびアプリケーション性能を最大にするように、ネットワークパスを決定および最適化する、
ネットワーク管理のための方法。
【請求項２】
前記未来のネットワーク需要を予測することは、帯域幅に基づくモデリングを含む、請求項１に記載の方法。
【請求項３】
前記未来のネットワーク需要を予測することは、頻度に基づくモデリングを含む、請求項１に記載の方法。
【請求項４】
前記１つまたは複数の監視ルールは、単一フローのバイトをカウントする一時的なルールと、バイトカウンタをポーリングする完全合致の元のルールとのうちの少なくとも一方である、請求項１に記載の方法。
【請求項５】
前記１つまたは複数の監視ルールは、粒度、頻度、持続時間およびスイッチによって左右される、請求項１に記載の方法。
【請求項６】
前記１つまたは複数の監視ルールを更新することは、前記１つまたは複数の監視ルールが不安定である場合、頻度ＦをＦ’に更新することをさらに含み、Ｆ’＝α＊Ｆであり、αは更新速度であり、Ｆ’は更新された頻度である、請求項１に記載の方法。
【請求項７】
前記１つまたは複数の監視ルールを更新することは、前記１つまたは複数の監視ルールが安定している場合、頻度ＦをＦ’に更新することをさらに含み、Ｆ’＝１／αであり、αは更新速度であり、Ｆ’は更新された頻度である、請求項１に記載の方法。
【請求項８】
ネットワークにおいて１つまたは複数のネットワークデバイスに１つまたは複数の監視ルールを適応的にインストールするように構成されるインテリジェントミドルウェアと、
前記ネットワークにおけるアプリケーショントラフィックを透過的に検出するように構成されるアプリケーション需要モニタと、
過去の需要および現在の需要を解析することによって前記ネットワークの未来のネットワーク需要を予測するように構成される予測器モジュールと、
カウンタが収集された後で前記１つまたは複数の監視ルールを更新するように構成される更新モジュールと、
ネットワーク需要を満たし、かつ前記ネットワークにおける輻輳を最小にしながら利用率およびアプリケーション性能を最大にするように、ネットワークパスを決定および最適化するように構成される最適化モジュールと、
を有する、ネットワーク管理のためのシステム。
【請求項９】
前記未来のネットワーク需要を予測することは、帯域幅に基づくモデリングを含む、請求項８に記載のシステム。
【請求項１０】
前記未来のネットワーク需要を予測することは、頻度に基づくモデリングを含む、請求項８に記載のシステム。
【請求項１１】
前記１つまたは複数の監視ルールは、単一フローのバイトをカウントする一時的なルールと、バイトカウンタをポーリングする完全合致の元のルールとのうちの少なくとも一方である、請求項８に記載のシステム。
【請求項１２】
前記１つまたは複数の監視ルールは、粒度、頻度、持続時間およびスイッチによって左右される、請求項８に記載のシステム。
【請求項１３】
前記１つまたは複数の監視ルールを更新することは、前記１つまたは複数の監視ルールが不安定である場合、頻度ＦをＦ’に更新することをさらに含み、Ｆ’＝α＊Ｆであり、αは更新速度であり、Ｆ’は更新された頻度である、請求項８に記載のシステム。
【請求項１４】
前記１つまたは複数の監視ルールを更新することは、前記１つまたは複数の監視ルールが安定している場合、頻度ＦをＦ’に更新することをさらに含み、Ｆ’＝１／αであり、αは更新速度であり、Ｆ’は更新された頻度である、請求項８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、参照により本明細書に援用される、２０１３年８月１３日に出願された仮特許出願第６１／８６５，３１６号の優先権を主張する。
本発明はネットワーク管理に関し、より詳細には、ソフトウェア定義による透過的なネットワーク管理に関する。
【背景技術】
【０００２】
データセンタネットワーク動作の基本的な目標は、ネットワークを輻輳させずにネットワークの高い利用率を保ちながら、アプリケーション性能を最適化するために、アプリケーショントラフィック需要（application traffic demand）を検出し、このアプリケーショントラフィック需要に応えることである。したがって、ネットワーク管理プラットフォームが、現在のネットワーク利用率と、現在および未来のアプリケーション需要との双方に関する、完全で連続した最新情報を有することが極めて望ましい。
【０００３】
アプリケーショントラフィック需要をネットワークトラフィック最適化に組み込むいくつかの試みが行われてきた。１つの手法では、いくつかのネットワーク管理フレームワークは、ネットワークコントローラに対する１組のアプリケーションプログラミングインタフェース（ＡＰＩ）コールを用いるか、または何らかのトラフィック優先クラスに従ってサーバにおいてパケットをタグ付けすることを通じた、ユーザまたはアプリケーションからの入力を必要とする。別の手法では、現在および今後のアプリケーション需要を確定するためにエンドホストにインストールされたソフトウェアに依拠した、自動化に向けた措置がとられている。
【発明の概要】
【０００４】
ネットワーク管理のための方法は、インテリジェントネットワークミドルウェアを用いて、ネットワーク上の１つまたは複数のネットワークデバイスに１つまたは複数の監視ルールを適応的にインストールすることと、アプリケーション需要モニタを用いて、ネットワークにおけるアプリケーショントラフィックを透過的に検出することと、過去の需要および現在の需要を解析することによってネットワークに対する未来のネットワーク需要を予測することとを含む。カウンタが収集された後で１つまたは複数の監視ルールが更新され、ネットワーク需要を満たし、かつネットワークにおける輻輳を最小にしながら利用率およびアプリケーション性能を最大にするように、ネットワークパスが決定および最適化される。
【０００５】
ネットワーク管理のためのシステムは、ネットワークにおいて１つまたは複数のネットワークデバイスに１つまたは複数の監視ルールを適応的にインストールするように構成されるインテリジェントミドルウェアと、ネットワークにおけるアプリケーショントラフィックを透過的に検出するように構成されるアプリケーション需要モニタと、過去の需要および現在の需要を解析することによってネットワークの未来のネットワーク需要を予測するように構成される予測器モジュールとを含む。更新モジュールは、カウンタが収集された後で１つまたは複数の監視ルールを更新するように構成され、最適化モジュールは、ネットワーク需要を満たし、かつネットワークにおける輻輳を最小にしながら利用率およびアプリケーション性能を最大にするように、ネットワークパスを決定および最適化するように構成される。
【０００６】
これらの特徴および利点ならびに他の特徴および利点は、添付の図面と合わせて理解される、それらの特徴および利点の例示的な実施態様の以下の詳細な説明から明らかとなるであろう。
【０００７】
本開示は、以下の図面を参照して、以下の説明において好ましい実施形態の詳細を与える。
【図面の簡単な説明】
【０００８】
【図１】図１は、本発明の原理（present principle）の例示的な実施形態によるネットワーク管理のためのシステムおよび方法のブロック／フロー図である。
【図２】図２は、本発明の原理の例示的な実施形態によるネットワーク管理のためのシステムおよび方法のブロック／フロー図である。
【図３】図３は、本発明の原理の例示的な実施形態によるルール監視のためのシステムおよび方法のフロー図である。
【発明を実施するための形態】
【０００９】
本発明の原理によるシステムおよび方法は、アプリケーション需要予測を完全に自動化し、データセンタネットワーク動作を最適化することができる。具体的には、ネットワークにおいて実行される各アプリケーションの代わりに、ネットワークが転送するバイト量を計算するという明確な目的で、ネットワークデバイスにおいて監視ルールを適応的にインストールすることができるインテリジェントネットワークミドルウェア（intelligent network middleware）を用いてもよい。本発明のシステムは、ソフトウェア定義によるネットワーキング（例えば、ＯｐｅｎＦｌｏｗプロトコル）の機能を用いて、アプリケーショントラフィックを透過的に検出し、未来の需要を予測し、需要が満たされかつネットワーク利用率が最大にされるようにネットワークパスを最適化する。
【００１０】
本発明の原理によるシステムおよび方法は、基礎をなすネットワークインフラストラクチャの利用率およびこのネットワークインフラストラクチャ上で実行されるアプリケーションの性能を改善してもよい。同時に、このシステムおよび方法は、アプリケーションの変更も、ユーザまたはネットワークオペレータのいかなる関与も必要とせず、完全に自動で実行され、これによって利益を改善しながら動作コストを減らす。アプリケーションは監視および最適化のプロセスに関与しないので、本発明はデータセンタネットワークの複雑さを軽減し、動作を高速化する。
【００１１】
本明細書に記載の実施形態は、完全にハードウェアであってもよく、またはハードウェア要素およびソフトウェア要素の双方を含んでもよいことを理解するべきである。ソフトウェア要素は、限定ではないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含む。好ましい実施形態では、本発明はハードウェアで実装される。
【００１２】
実施形態は、コンピュータもしくは任意の命令実行システムによって、またはコンピュータもしくは任意の命令実行システムと接続して用いるためのプログラムコードを提供するコンピュータ使用可能媒体またはコンピュータ読み取り可能媒体からアクセス可能なコンピュータプログラム製品を含んでもよい。コンピュータ使用可能媒体またはコンピュータ読み取り可能媒体は、命令実行システム、命令実行装置もしくは命令実行デバイスによって、または命令実行システム、命令実行装置もしくは命令実行デバイスと接続して用いるためのプログラムを記憶、通信、伝搬またはトランスポートする任意の装置を含んでもよい。媒体は、磁気、光、電子、電磁、赤外線もしくは半導体のシステム（または装置もしくはデバイス）、または伝搬媒体とすることができる。媒体は、半導体または固体メモリ、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、固定磁気ディスク（rigid magnetic disk）および光ディスク等のようなコンピュータ読み取り可能な記憶媒体を含んでもよい。
【００１３】
プログラムコードを記憶および／または実行するのに適したデータ処理システムは、システムバスを通じてメモリ要素に直接または間接的に結合された少なくとも１つのプロセッサを含んでもよい。メモリ要素は、プログラムコードの実際の実行中に用いられるローカルメモリと、大容量記憶装置と、実行中にコードが大容量記憶装置から取り出される回数を低減するために少なくとも何らかのプログラムコードの一時的なストレージを提供するキャッシュメモリとを備えることができる。入力／出力またはＩ／Ｏデバイス（限定ではないが、キーボード、ディスプレイ、ポインティングデバイス等を含む）は、システムに直接結合されてもよく、または介在するＩ／Ｏコントローラを通じてシステムに結合されてもよい。
【００１４】
データ処理システムが、他のデータ処理システムに結合されるか、またはプライベートネットワークもしくは公衆ネットワークを介して遠隔のプリンタもしくはストレージデバイスに結合されることを可能にするように、ネットワークアダプタもシステムに結合してもよい。モデム、ケーブルモデムおよびイーサネットカードは、現在利用可能なタイプのネットワークアダプタのほんの一部にすぎない。
【００１５】
次に、同様の符号が同じ要素または類似の要素を表す図面を参照し、まず図１を参照すると、本発明の原理によるネットワーク管理１００のためのシステムおよび方法が例示的に示されている。１つの実施形態では、システム１００は好ましくは、１つまたは複数のプロセッサ１１８と、アプリケーション、モジュールおよび他のデータを記憶するためのメモリ１０８、１１６とを含む。システム１００は、閲覧用の１つまたは複数のディスプレイ１１４を備えてもよい。ディスプレイ１１４は、ユーザがシステム１００およびシステム１００の構成要素および機能とインタラクトすることを可能してもよい。このインタラクトは、マウス、ジョイスティック、またはシステム１００および／もしくはシステム１００のデバイスとのユーザインタラクションを可能にする任意の他の周辺機器もしくは制御部を含んでもよいユーザインタフェース１２０によってさらに容易にされてもよく、コントローラ１１２によってさらに容易にされてもよい。システム２００の構成要素および機能は、１つまたは複数のシステムまたはワークステーションに統合されてもよいことを理解するべきである。
【００１６】
システム１００は、需要モニタモジュール１０４、需要予測器モジュール１０６、データ記憶モジュール１０８およびネットワーク最適化モジュール（network optimizer module）１１０を含む複数のモジュール１０５への入力として用いられてもよい入力データ１０２を受信してもよい。システム１００は、出力データ１２２を生成してもよく、１つの実施形態では、この出力データは１つまたは複数の表示デバイス１１４上に表示されてもよい。上記の構成は例示的に示されているが、本発明の原理に従って他の種類の構成も用いられてもよいことが予期されることに留意すべきである。
【００１７】
１つの実施形態では、アプリケーション需要監視モジュール１０４は、アプリケーショントラフィックに合致するルールのカウンタをポーリングする（poll）ことによって、各アプリケーションに対応するトラフィック行列を計算してもよい。ここでの重要なステップはルールの特殊化であり、ルールの特殊化では、２以上のアプリケーションのトラヒックを単一のアプリケーションに対応する個々の特殊化したルールに曖昧に合致させるワイルドカードルールが、分解されてもよい。データ記憶モジュール１０８は、前の構成要素によって収集された全ての測定データを記憶する、データ監視のためのストレージであってもよい。
【００１８】
１つの実施形態では、需要予測器モジュール１０６は、現在のトラフィック需要および過去のトラフィック需要を読み出し、解析してもよく、アプリケーションが属するトラフィックカテゴリの予測を試みてもよい。ネットワーク最適化モジュール１１０は、本発明の原理に従って、輻輳を生じさせることなく、利用率およびアプリケーション性能を最大にするパスを計算するために、ネットワークトポロジ、現在の利用率、現在のアプリケーション需要および予測アプリケーション需要を検討してもよい。ネットワーク最適化モジュール１１０は、１組の転送ルールを生成してもよく、この１組の転送ルールを、スイッチ内にインストールするためにコントローラ１１２に渡してもよい。
【００１９】
次に図２を参照すると、本発明の原理による、ネットワーク管理のためのシステムおよび方法のブロック／フロー図が例示的に示されている。１つの実施形態では、需要監視２０２は、データセンタネットワークにおいて実行されているアプリケーションごとに現在のトラフィック需要を推測してもよい。トラフィック需要は、ネットワークにおいて実行されているアプリケーションごとに、発信元−宛先（origin-destination）の各対（ＯＤ対）によって生じるネットワーク利用率を含んでもよい。アプリケーションの現在の需要を知り、記録することによって、性能およびネットワーク利用率を改善するためにアプリケーショントラフィックをどのように最も良好にルーティングするかに関して、情報に基づく判断が可能になる。手順は、以下のステップ、すなわち、ネットワークトポロジを発見するステップ２０４と、ネットワーク転送情報（例えば、ネットワークルーティング）を発見するステップ２０６と、監視ルールを生成するステップ２０８と、監視結果を収集および記憶する（例えば、ルール更新）ステップ２１０とを含んでもよい。
【００２０】
１つの実施形態では、ネットワークトポロジステップ２０４は、（例えば、スイッチ間のリンクを推測するために）各スイッチからパケット（例えば、規格文書ＩＥＥＥ８０２．１ＡＢにおいて規定されるＬｉｎｋ Ｌａｙｅｒ Ｄｉｓｃｏｖｅｒｙ Ｐｔｏｒｏｃｏｌ（ＬＬＤＰ）パケット）を送信することによって、および（例えば、いずれのスイッチがエンドポイントに接続されているかを推測するために）各スイッチにインストールされたルール（例えば、ＯｐｅｎＦｌｏｗルール）を調べることによって、物理ネットワークトポロジを推測してもよい。重要なステップは、収集されたエンドポイントのネットワーク上の場所を検出することである。この手順は、（例えば、宛先としての）エンドポイントＩＰに合致するルールを有するスイッチから開始し、いくつかの方法で進行してもよい。
【００２１】
１つの実施形態では、ルールのアクションが、出力ポートに転送することである場合、対応するリンクを辿ってもよい。トポロジ内にリンクが存在する場合、リンクの宛先スイッチを選択してもよく、そのプロセスを繰り返してもよい。トポロジ内にリンクが存在しない場合、そのトポロジがエンドポイントにつながっていると結論づけてもよく、エンドポイントが現在のスイッチに接続されていると推測してもよい。別の実施形態では、ルールのアクションが、出力ポートへの転送以外である場合、本発明の原理に従って、トポロジ内で、宛先としてのエンドポイントＩＰに合致するルールを有する別のスイッチが選択されてもよい。
【００２２】
１つの実施形態では、ネットワークルーティングステップ２０６では、指定されたアプリケーションのトラフィックがネットワークにおいてどのようにルーティングされるかを特定してもよい。このために、各スイッチをポーリングしてもよく、転送ルールがフローテーブルにインストールされることが要求されてもよい。アプリケーションエンドポイントのＩＰアドレスおよびＭＡＣアドレスならびにアプリケーションポート番号は知られているので、本発明の原理に従って、各アプリケーションに適用される転送ルールが推測されてもよい。
【００２３】
１つの実施形態では、監視ルールステップ２０８は、各アプリケーションによってネットワーク上に生じるトラフィック需要を測定してもよく、アプリケーショントラフィックに対して合致する転送ルールに関連付けられたカウンタをポーリングしてもよい。この手法にはいくつかの課題がある。第１に、多くの転送ルールはワイルドカードを含む場合があり、これは、２つ以上のアプリケーションからのフロー、または同じアプリケーションの異なるエンドポイント間のフローがそれらの転送ルールに対して合致し得ることを意味する。これによって、複数のアプリケーションまたは複数のアプリケーションエンドポイント間のトラフィックの曖昧さを完全になくすことが困難になる。第２に、スイッチカウンタのポーリングは、制御チャネル帯域幅およびスイッチ計算の双方の観点からコストが高い場合がある。ポーリングは拡張性にも影響を与える場合があり、ポーリング頻度を下げることによって需要における重要なシフトを見逃す場合がある。
【００２４】
１つの実施形態において、本発明による原理は、カウンタの収集によって低いオーバヘッドで正確な結果が得られるように監視ルールを自動的にインストールする適応的な方法を用いることによって、上記の課題および他の課題に対処する。各監視ルールは、１つのワイルドカードルールと重複してもよいが、意図されるフローに合致するように、より高い優先度を有してもよい。各監視ルールは、スイッチのルールの記憶および計算に対する影響を抑制するために限られた持続時間を有してもよく、その持続時間中、その監視ルールに対して合致するバイトをカウントしてもよい。
【００２５】
監視ルール２０８が（例えば、満了した後またはもはや必要でなくなったときに）非アクティブになると、フローは性能ペナルティを一切伴うことなく元のワイルドカードルールと合致している状態に戻ってもよい。開始時に完全合致（exact match）であるルールについて、ユーザは、より高い優先度、同じアクションを有するが、持続時間がより短い同じルールを再インストールするか、または元のルールのカウンタを先見的にかつ周期的にポーリングすることを選択してもよい。このため、監視ルールは、単一のフローのバイトをカウントする目的でインストールされた一時的なルール（例えば、オンデマンド監視ルール）、またはそのバイトカウンタをポーリングする完全合致の元のルール（例えば、原位置監視ルール（in situ monitoring rule））のいずれかとすることができる。
【００２６】
本発明の原理による方法は、現在のルールのバイトカウンタに従って、監視ルール２０８のインストールまたはポーリングを連続して適応させてもよい。１つの実施形態では、４つのパラメータが監視ルール２０８のインストールおよび更新プロセスを左右する。第１のパラメータは、粒度としてもよい。インストールされる監視ルールは、１つのアプリケーションのための１つの送信元−宛先（source-destination）対に関連付けられる統計を明確に収集することが可能であってもよい。第２のパラメータは、頻度（frequency）（例えば、発信元−宛先の対がどれだけ頻繁に監視されるか）であってもよい。監視ルールを常にインストールしたままにすることは非効率的である。監視ルールが電気通信アクセス方法（ＴＣＡＭ）において記憶される場合、他の転送ルールに用いられ得た貴重な空間を浪費する。監視ルールが完全合致であり、スタティックランダムアクセスメモリ（ＳＲＡＭ）に記憶されている場合、ＴＣＡＭにより記憶されたワイルドカードによって行われる転送と比較して、多数の監視ルールが転送性能に対して負の影響を有し得る。１つの実施形態では、監視ルールは一時的にインストールされ、このため、転送性能の測定において正確度と完全性とをトレードオフする。
【００２７】
第３のパラメータは、持続時間（例えば、発信元−宛先の各対がどれだけ長く監視されるか）であってもよい。監視ルールの持続時間を変動させることによって、拡張性に対する、捕捉されるトラフィック量（およびこのため測定の正確度）のトレードオフが可能になる。この状況は原位置監視ルールには適用されないことに留意されたい。第４のパラメータは、スイッチ（例えば、監視ルールをどこにインストールするべきか）としてもよい。異なるスイッチにインストールされる２つの監視ルールが冗長でない（例えば、同じトラフィックを測定しない）ことを確実にしてもよい。上記の例示的な実施形態では４つのパラメータが検討されるが、本発明の原理に従って任意の数のパラメータを用いてもよいことが予期される。
【００２８】
１つの実施形態では、各監視ルールを以下の特性のうちの１つまたは複数に関連付けてもよい。
・合致（Ｍ）、
・アクション（Ａ）、
・頻度（Ｆ）、
・持続時間（Ｄ）（原位置監視ルールには適用されない）、
・帯域幅（Ｂ）：合致について最後に測定された推定帯域幅、
・アクティブ／非アクティブ：ルールがインストールされるべきか否か、
・非アクティブ＿閾値：これを下回るとルールが非アクティブになる、ルールに合致するトラフィックの利用率（例えば、監視ルールに合致するトラフィックが僅かである場合、このルールを維持する価値がない）、
・安定性＿閾値：これを上回るとルールが不安定になる、現在のルールカウンタと最後のルールカウンタと間のレート変更の割合
・更新速度（α）：インスタンス化間でルールの頻度がどのように変化するかを決定するパラメータ。
【００２９】
例示的な実施形態では、監視ルールをインストールし更新する方法２１０は、初期化および測定を含んでもよい。初期化中、全てのルールのためのエッジスイッチングを実行してもよい。ワイルドカードルールの場合、全てのワイルドカードを、監視されるように選択されたＯＤ（発信元−宛先）対ごとに完全合致に分解してもよい。１つの実施形態では、各合致のアクションは、関連付けられたワイルドカードルールのアクションであり、頻度および持続時間はデフォルトの値を有し、全ての完全合致をインストールしてもよい。完全合致ルールの場合、ルールを複製し、デフォルトの持続時間を有する監視ルールとして再インストールしてもよく、または監視ルールはインストールされなくてもよく、代わりに、デフォルトルール頻度Ｆを有するルールのカウンタをポーリングするためのスケジューリングを行ってもよい（例えば、完全合致ルールは原位置モニタリングとなってもよい）。
【００３０】
１つの実施形態では、測定を以下のように行ってもよい。
・満了した監視ルールのためのＦｌｏｗＲｅｍｏｖｅｄメッセージを収集する（ＦｌｏｗＲｅｍｏｖｅｄメッセージは、転送ルールが満了するとスイッチによってトリガーされる）か、またはＲｅａｄＳｔａｔｅが、対応する監視ルールを有していない完全合致ルールに対して応答する、
・新たな帯域幅Ｂ’を計算する、
・Ｂ’＜非アクティブ＿閾値の場合、ルールを非アクティブとしてマーク付けする、
・｜Ｂ−Ｂ’｜／Ｂ＞安定性＿閾値の場合、ルールを不安定としてマーク付けする、
・ルールを更新する。
【００３１】
１つの実施形態において、ルール更新２１０は、１つまたは複数の測定ルールのそれぞれを、その測定ルールの最後のインスタンス化のカウンタが収集された後で更新してもよい。ルールが不安定である場合、頻度がＦからＦ’に更新されてもよい。ここで、Ｆ’＝α＊Ｆであり、ａは定数であり、α＞１である。ルールが安定している場合、頻度がＦからＦ’に更新されてもよい。ここで、Ｆ’＝１／α＊Ｆであり、ここで、ａは定数であり、α＞１である。ルールが非アクティブである場合、トラフィックはいずれもルールに対して合致せず、このためルールはネットワークにインストールされなくてもよい。一方、ルールに合致する新たなフローが開始するときを検出することが望ましい。このために、本発明の原理に従って、非アクティブなルールを更新するための様々な実施形態を実施してもよい。
【００３２】
ルール更新２１０のための１つの実施形態は集約／インストールを含み、以下のステップを実行してもよい。
・他の同様のルールが非アクティブであるか否かをチェックする（同様のルールは、ＴｏＲスイッチの同じ対に接続されたＯＤ対のためのルール、または１つのより一般的なルールに容易に集約され得るルールであり得る）、
・いくつかの非アクティブな同様のルールが存在する場合、それらのルールを集約する（例えば、同じＴｏＲ下の異なるホストから同じ宛先への、または同じホストから異なる宛先への複数の非アクティブなフローを、それらのフローのアクションが同じである限り集約する）、
・集約ルールをインストールする。
【００３３】
ルール更新２１０のための別の実施形態は、集約／待機を含み、以下のステップを含んでもよい。
・他の同様のルールが非アクティブであるか否かをチェックする（同様のルールは、ＴｏＲスイッチの同じ対に接続されたＯＤ対のためのルール、または１つのより一般的なルールに容易に集約され得るルールであり得る）、
・いくつかの非アクティブな同様のルールが存在する場合、それらのルールを集約する（例えば、同じＴｏＲ下の異なるホストから同じ宛先への、または同じホストから異なる宛先への複数の非アクティブなフローを、それらのフローのアクションが同じである限り集約する）、
・集約されたルールをすぐにインストールせず、代わりに、初期ワイルドカードルールのアクションを変更し、その初期アクションに加えてＰａｃｋｅｔＩｎをコントローラに送る。コントローラは、ＰａｃｋｅｔＩｎを受信すると、集約ルールをインストールする。
【００３４】
集約／インストール方法および集約／待機方法は同様の機能を達成する（例えば、監視ルールが存在しない新たなトラフィックの検出および監視の機能）。集約／インストール方法は、監視ルールによってカバーされていないルール空間の部分に合致する集約ルールをインストールし、固定期間ごとにルールのカウンタをチェックする。しかしながら、これにより、長い期間にわたってトラフィックが集約監視ルールに合致しない場合に高レベルのオーバヘッドを被る場合がある。
【００３５】
対照的に、集約／待機方法は、既存の監視ルールによってカバーされていない新たなフローを検出するまで集約監視ルールをインストールしない。集約／待機方法は、合致するパケットを元のアクションにしたがって送ることに加えて、合致するパケットをコントローラにリダイレクトするために（例えば、通常の転送動作のためにオペレータによってインストールされた）元のワイルドカードルールのアクションを変更することで、そのようなフローを検出する。この第１のパケットが到着すると、コントローラはアクションを変更して元に戻してもよい。この方法の利点は、集約している監視ルールを絶えずインストールすること、およびこのルールが満了すると対応するＦｌｏｗＲｅｍｏｖｅｄメッセージを受信することによるネットワークオーバヘッドを節減することである。不利な点は、コントローラがいくつかのＰａｃｋｅｔＩｎメッセージを受けるときの時間窓が小さくなる場合があり、これによってコントローラおよびコントローラとスイッチとの間のチャネルの双方においてオーバヘッドが生じる場合があることである。
【００３６】
１つの実施形態では、ブロック２１２において需要予測を実行してもよい。ブロック２０２における需要監視がＯＤ対に関する十分な数の測定を収集したとき、この手順は、ＯＤ対間の未来のトラフィックを予測するのに用いられ得る、需要における既知のパターンを発見する。測定に十分な数がどのくらいかの判断は、エンドユーザによって個々に判定されてもよい。例えば、速度に対し測定の正確度をトレードオフして必要な測定数を少なくするユーザがいてもよく、正確度により価値をおき、需要をより良好に推定するために多くの測定数を利用可能になるのを待つユーザがいてもよい。
【００３７】
需要を予測する複数の方法が存在するが、例示の目的のために、本発明の原理に従って未来の需要を予測する２つの方法がある。手順は、入力として、３つ組（例えば、Ｂｉ、ｔｉ、ｔｊ）のリストをとってもよく、このリストは、時点ｔｉとｔｊとの間でＯＤ対について測定される帯域幅を表してもよい。次に、この手順は、需要をいくつかの次元に適合させるよう試みてもよい。
【００３８】
１つの実施形態では、帯域幅に基づくモデリング２１４は、例えば以下の４つのモデルうちの１つを用いて、測定される帯域幅に基づいて需要を適合させてもよい。
・一定：一定または僅かに変動する帯域幅（Ｂｉは監視期間にわたってｘ％未満変動する）、
・単一のピーク：１つまたは複数の隣接する間隔のみにわたる高い帯域幅、
・固定の高さの複数のピーク：いくつかの隣接していない間隔にわたる高い帯域幅、これらの間隔のそれぞれにおける帯域幅は一定であるかまたは僅かに変動する、
・高さが変動する複数のピーク：いくつかの隣接していない間隔にわたる高い帯域幅。
監視される需要は上記の４つのモデルのうちのいずれにも正確には適合しない場合があるので、本発明の原理によるシステムおよび方法は適合の効率を計算し、最良の効率を有するモデルを選択してもよい。さらに、より多くの測定値が追加されていくように適合を精緻化してもよい。１つの実施形態では、適合の効率は最小二乗適合として計算してもよい（例えば、監視間隔ごとに、監視される値とモデルの値との間の差を計算し、その後、各個々の値を二乗し、全ての二乗の和をとる。最も小さな和を有するモデルが選択されるモデルである）。
【００３９】
１つの実施形態において、頻度に基づくモデリング２１６を用いてトラフィックにおける任意の周期性を特定してもよい。頻度に基づくモデリング２１６は、ＯＤ対のトラフィックに合致するルールの全てのインスタンス化に関連付けられる全ての頻度Ｆの最小値としてもよい監視間隔Ｔを固定することによって開始してもよい。このとき、各測定は、トラフィックを監視する現在の期間の最後まで（このため、関連付けられた監視ルールが満了するまでの持続時間を超えて）延長するとみなされてもよい。
【００４０】
次に、Ｆ＞Ｔの全ての測定値を、それぞれ同じ帯域幅および期間Ｔを有するＦ／Ｔ測定値に分割してもよい。このようにして、ＯＤ対のための同じ持続時間の測定値を取得してもよい。次に、測定値の組を信号とみなしてもよく、この信号のフーリエ変換を計算してもよく、その周波数領域を取得してもよい。周波数領域は信号における周期性の特定を可能にする（例えば、信号が周期的である場合、特定の周波数は他の周波数よりもはるかに多くのサンプルを有することになる）。需要における周期性の特定を用いて、ＯＤ対間の未来の転送を予測してもよい。１つの実施形態では、ブロック２２２においてネットワーク最適化を実行してもよく、ネットワーク最適化は、本発明の原理による最適化２２４、スケジューリング２２６およびルール管理２２８を含んでもよい。
【００４１】
次に図３を参照すると、本発明の原理によるルール監視のためのシステムおよび方法３００のブロック図が例示的に示されている。１つの実施形態では、各アクティブルールはブロック３０２において入力として受信されてもよい。ブロック３０４において新たな帯域幅Ｂ’を計算してもよく、ブロック３０６においてＢ’＜非アクティブ＿閾値の場合、ブロック３０８においてルールが非アクティブであるとマーク付けされ、いずれのトラフィックもルールに合致しないので、このネットワークにおいてルールはインストールされず、このためブロック３１６に移って集約および待機する。１つの実施形態では、ブロック３１０において｜Ｂ−Ｂ’｜／Ｂ＞安定性＿閾値の場合、ルールは不安定であるとマーク付けされる。ルールが不安定である場合、ブロック３１４においてＦ＝Ｆ＊ａであり、ルールが安定している場合、ブロック３１２においてＦ＝（１＋ａ＊Ｆ）／Ｆである。
【００４２】
上記は、全ての観点において例示的かつ説明的であり、限定的なものでないと理解され、本明細書において開示される本発明の範囲は詳細な説明により画定されるものではなく、特許法によって許可される最大範囲に従って解釈される特許請求の範囲により画定される。本出願の「追加情報」と題する付録において追加情報が提供される。本明細書において示され説明される実施形態は、本発明の原理を例示するにすぎず、当業者は、本発明の範囲および趣旨から逸脱することなく様々な変更を実施してもよいことを理解されたい。当業者であれば、本発明の範囲および趣旨から逸脱することなく様々な他の特徴の組み合わせを実施することができる。本発明の態様を、特許法によって要求される詳細および具体性と共にこのように説明してきたが、特許請求され、特許証によって保護されることが望ましい事項が添付の特許請求の範囲において説明される。
【図１】
2016525828.tif 000003
【図２】
2016525828.tif 000004
【図３】
2016525828.tif 000005
【国際調査報告】
2016525828.tif 000006
2016525828.tif 000007