(57)【要約】  ＱｏＳポリシーの適用範囲を経路上のスイッチに限定し、経路外のスイッチの転送性能に影響を与えることなく、ユーザ認証によるＱｏＳ制御を行う。具体的には、ユーザ端末からあるサーバへ通信を行う場合、未登録の新規パケットをスイッチが受信すると外部コントローラに通知する。コントローラは、フローのエントリを決定する際、ユーザ認証を行い、該ユーザに対するＱｏＳポリシーを決定し、ＱｏＳポリシーとトポロジ情報とフロー情報から最適な経路を計算し、計算結果に基づいてフローテーブルを生成し、ユーザ端末とサーバとの経路上のスイッチにフローテーブルを登録する。以降、スイッチは、登録されたフローテーブルのＱｏＳに従って転送を行う。以降、スイッチは登録されたフローテーブルのＱｏＳに従って転送を行う。
2012098779.tif 000002
【特許請求の範囲】
【請求項１】
設定されたフローテーブルのエントリの内容に従って受信パケットを処理する機能を持つスイッチと、
前記スイッチからパケットの問い合わせを受けた際に、該パケットを基に、該パケットの送信元に対するユーザ認証を行い、前記ユーザ認証の結果を基にＱｏＳポリシーを決定し、前記ＱｏＳポリシーを基に、前記スイッチがフローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリを、前記スイッチのフローテーブルに設定する機能を持つコントローラと
を含む
ネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムであって、
前記コントローラは、ネットワークの接続状態を基に、認証した送信元からのパケットの通信経路を決定する機能を持つ
ネットワークシステム。
【請求項３】
請求項２に記載のネットワークシステムであって、
前記コントローラは、前記決定された経路情報を基に、経路上のスイッチにおける送信ポートとキューを決定し、経路上のスイッチのフローテーブルのエントリに登録する機能を持つ
ネットワークシステム。
【請求項４】
請求項１乃至３のいずれか一項に記載のネットワークシステムであって、
前記コントローラは、
前記スイッチから問い合わせを受けたパケットに該当するＱｏＳポリシーを特定する機能を持つＱｏＳ制御部と、
ネットワークの接続状態を表すトポロジ情報から最適な経路を算出する機能を持つ経路計算部と、
該パケットと経路情報とＱｏＳポリシーから、経路上のスイッチの送信ポートとキューを決定し、フローテーブルのエントリを生成する機能を持つフローテーブル生成部と、
前記経路上のスイッチのフローテーブルに該エントリを設定する機能を持つスイッチ制御部と
を具備する
ネットワークシステム。
【請求項５】
請求項４に記載のネットワークシステムであって、
前記コントローラは、
前記パケットに該当するＱｏＳポリシーが存在しない場合、前記パケットの送信元にユーザ名とパスワードを要求し、該要求に対する応答結果から前記パケットの送信元に対するＱｏＳポリシーを決定する機能を持つユーザ認証部
を更に具備する
ネットワークシステム。
【請求項６】
請求項４又は５に記載のネットワークシステムであって、
前記コントローラに接続された認証サーバ
を更に含み、
前記認証サーバは、
前記コントローラから問い合わせを受けたパケットに該当するＱｏＳポリシーが存在しない場合、前記パケットの送信元にユーザ名とパスワードを要求し、該要求に対する応答結果から前記パケットの送信元に対するＱｏＳポリシーを決定し、前記コントローラに通知する機能を持つユーザ認証部
を具備する
ネットワークシステム。
【請求項７】
設定されたフローテーブルのエントリの内容に従って受信パケットを処理するスイッチから、パケットの問い合わせを受けた際に、該パケットを基に、該パケットの送信元に対するユーザ認証を行い、前記ユーザ認証の結果を基にＱｏＳポリシーを決定する手段と、
前記ＱｏＳポリシーを基に、前記スイッチがフローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリを、前記スイッチのフローテーブルに設定する手段と
を具備する
コントローラ。
【請求項８】
請求項７に記載のコントローラであって、
ネットワークの接続状態を基に、認証した送信元からのパケットの通信経路を決定する手段
を更に具備する
コントローラ。
【請求項９】
請求項８に記載のコントローラであって、
前記決定された経路情報を基に、経路上のスイッチにおける送信ポートとキューを決定し、経路上のスイッチのフローテーブルのエントリに登録する手段
を更に具備する
コントローラ。
【請求項１０】
請求項７乃至９のいずれか一項に記載のコントローラであって、
前記スイッチから問い合わせを受けたパケットに該当するＱｏＳポリシーを特定する機能を持つＱｏＳ制御部と、
ネットワークの接続状態を表すトポロジ情報から最適な経路を算出する機能を持つ経路計算部と、
該パケットと経路情報とＱｏＳポリシーから、経路上のスイッチの送信ポートとキューを決定し、フローテーブルのエントリを生成する機能を持つフローテーブル生成部と、
前記経路上のスイッチのフローテーブルに該エントリを設定する機能を持つスイッチ制御部と
を具備する
コントローラ。
【請求項１１】
コントローラにおいて、
設定されたフローテーブルのエントリの内容に従って受信パケットを処理するスイッチから、パケットの問い合わせを受けた際に、該パケットを基に、該パケットの送信元に対するユーザ認証を行い、前記ユーザ認証の結果を基にＱｏＳポリシーを決定することと、
前記ＱｏＳポリシーを基に、前記スイッチがフローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリを、前記スイッチのフローテーブルに設定することと
を含む
ＱｏＳ制御方法。
【請求項１２】
設定されたフローテーブルのエントリの内容に従って受信パケットを処理するスイッチから、パケットの問い合わせを受けた際に、該パケットを基に、該パケットの送信元に対するユーザ認証を行い、前記ユーザ認証の結果を基にＱｏＳポリシーを決定するステップと、
前記ＱｏＳポリシーを基に、前記設定されたフローテーブルのエントリの内容に従って受信パケットを処理するスイッチがフローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリを、前記スイッチのフローテーブルに設定するステップと
を計算機に実行させるためのプログラムを格納した
記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステムに関し、特にコンピュータネットワークにおけるユーザ認証によるＱｏＳ制御方法に関する。
【背景技術】
【０００２】
近年、コンピュータネットワークにおいて、アプリケーション単位やユーザ単位で通信のＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）制御を行うことが可能となっている。【０００３】
これは、通信経路上に存在するルータやスイッチにおいて、アプリケーション通信のフロー情報（送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル、送信元ポート番号、宛先ポート番号の組）を条件にアプリケーションやユーザを識別し、該当パケットを優先的に処理することで実現されている。【０００４】
このような従来のコンピュータネットワークでは、ユーザを識別するためのＩＰアドレスを含むフロー情報を静的にルータやスイッチに設定しているため、モバイル端末等動的にユーザのＩＰアドレスが変更になる場合、ユーザ単位での通信のＱｏＳ制御ができないという課題があった。【０００５】
この課題に対して、特許文献１（特許第３７５０６３４号）では、ユーザ認証によりユーザとＩＰアドレスを対応付け、割り当てられたＱｏＳ情報に従って、動的にＱｏＳポリシーの設定を行う、ユーザ単位のＱｏＳ制御方法が開示されている（特許文献１の図３及び段落００３９〜００６０参照）。【０００６】
しかしながら、特許文献１に記載された方法では、通信経路がスイッチ間で自律的に決定され、どのスイッチも経路に含まれる可能性があるため、認証された全てのユーザのＱｏＳポリシーを全てのＬＡＮスイッチで保持する必要があった。ＱｏＳポリシーはフローに対する転送時の振る舞いを記述したルールであり、パケット転送時に比較されるため、ユーザ数が増加すると転送性能が低下するという問題があった。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第３７５０６３４号
【非特許文献】
【０００８】
【非特許文献１】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，  Ｖｅｒｓｉｏｎ  １．０．０”，［ｏｎｌｉｎｅ］，Ｄｅｃｅｍｂｅｒ  ３１，２００９，インターネット（ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｓｐｅｃ−ｖ１．０．０．ｐｄｆ）
【発明の概要】
【０００９】
従来のユーザ認証によるＱｏＳポリシー管理方法では、通信経路がスイッチ間で自律的に決定され、どのスイッチも経路に含まれる可能性があるため、認証された全てのユーザのＱｏＳポリシーを全てのスイッチで保持する必要があった。
【００１０】
また、ＱｏＳポリシーは、フローに対する転送時の振る舞いを記述したルールであり、パケット転送時に比較されるため、ユーザ数が増加すると転送性能が低下するという問題があった。
【００１１】
本発明の目的は、上記の問題点を解決するネットワークシステム及びＱｏＳ制御方法を提供することである。
【００１２】
本発明に係るネットワークシステムは、設定されたフローテーブルのエントリの内容に従って受信パケットを処理する機能を持つスイッチと、該スイッチからパケットの問い合わせを受けた際に、当該パケットを基に、当該パケットの送信元に対するユーザ認証を行い、ユーザ認証の結果を基にＱｏＳポリシーを決定し、該ＱｏＳポリシーを基に、該スイッチがフローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリを、該スイッチのフローテーブルに設定する機能を持つコントローラとを含む。
【００１３】
本発明に係るコントローラは、設定されたフローテーブルのエントリの内容に従って受信パケットを処理するスイッチから、パケットの問い合わせを受けた際に、当該パケットを基に、当該パケットの送信元に対するユーザ認証を行い、ユーザ認証の結果を基にＱｏＳポリシーを決定する第１の実行部と、該ＱｏＳポリシーを基に、該スイッチがフローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリを、該スイッチのフローテーブルに設定する第２の実行部とを具備する。
【００１４】
本発明に係るＱｏＳ制御方法では、コントローラにおいて、設定されたフローテーブルのエントリの内容に従って受信パケットを処理するスイッチから、パケットの問い合わせを受けた際に、当該パケットを基に、当該パケットの送信元に対するユーザ認証を行い、ユーザ認証の結果を基にＱｏＳポリシーを決定する。また、該ＱｏＳポリシーを基に、該スイッチがフローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリを、該スイッチのフローテーブルに設定する。
【００１５】
本発明に係るプログラムは、スイッチから問い合わせを受けたパケットに該当するＱｏＳポリシーを特定するステップと、ネットワークの接続状態を表すトポロジ情報から最適な経路を算出するステップと、該パケットと経路情報とＱｏＳポリシーから、経路上のスイッチの送信ポートとキューを決定し、フローテーブルのエントリを生成するステップと、該経路上のスイッチのフローテーブルに該エントリを設定するステップとを計算機に実行させるためのプログラムである。
【００１６】
本発明に係るプログラムは、上記のＱｏＳ制御方法における処理を、計算機に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
【００１７】
ＱｏＳポリシーの適用範囲を経路上のスイッチに限定することができ、経路外のスイッチの転送性能に影響を与えることなく、ユーザ認証によるＱｏＳ制御が可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１実施形態におけるネットワークシステムの構成例を示す図である。
【図２】ユーザ情報記憶部に記憶されるユーザ情報の例を説明するための図である。
【図３】ＱｏＳポリシー記憶部に記憶されるＱｏＳポリシー対応テーブルの例を説明するための図である。
【図４】トポロジ情報記憶部に記憶されるトポロジ情報の例を説明するための図である。
【図５】フローテーブル記憶部に記憶されるフローテーブルの例を説明するための図である。
【図６】第１実施形態におけるＱｏＳ制御処理を説明するためのフローチャートである。
【図７】本発明の第２実施形態におけるネットワークシステムの構成例を示す図である。
【図８】第２実施形態におけるＱｏＳ制御処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１９】
＜前提＞
本発明に係るネットワークシステムでは、外部のコントローラ（コントロールプレーン）からスイッチや端末等（ユーザプレーン）を制御するＣＵ（Ｃ：コントロールプレーン／Ｕ：ユーザプレーン）分離型ネットワークを対象としている。ＣＵ分離型ネットワークの一例として、コントローラからスイッチを制御してネットワークの経路制御を行うオープンフロー（ＯｐｅｎＦｌｏｗ）技術を利用したオープンフローネットワークが挙げられる。なお、オープンフローネットワークは一例に過ぎない。
【００２０】
［オープンフローネットワークの説明］
オープンフローネットワークでは、ＯＦＣ（ＯｐｅｎＦｌｏｗ  Ｃｏｎｔｒｏｌｌｅｒ）等のコントローラが、ＯＦＳ（ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ）等のスイッチのフローテーブルを操作することによりスイッチの挙動を制御する。コントローラとスイッチの間は、コントローラがオープンフロープロトコルに準拠した制御メッセージを用いてスイッチを制御するためのセキュアチャネル（Ｓｅｃｕｒｅ  Ｃｈａｎｎｅｌ）により接続されている。
【００２１】
オープンフローネットワークにおけるスイッチとは、オープンフローネットワークを形成し、コントローラの制御下にあるエッジスイッチ及びコアスイッチのことである。オープンフローネットワークにおける入力側エッジスイッチでのパケットの受信から出力側エッジスイッチでの送信まで同じ経路を流れる一連のパケットをフロー（Ｆｌｏｗ）と呼ぶ。パケットは、フレームと読み替えても良い。
【００２２】
フローテーブルとは、所定のマッチ条件（ルール）に適合するパケット（通信データ）に対して行うべき所定の処理（アクション）を定義したフローエントリ（Ｆｌｏｗ  ｅｎｔｒｙ）が登録されたテーブルである。
【００２３】
フローエントリのルールは、パケットの各プロトコル階層のヘッダ領域に含まれる宛先アドレス（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）、送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）、宛先ポート（Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ）、送信元ポート（Ｓｏｕｒｃｅ  Ｐｏｒｔ）のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、ＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ａｄｄｒｅｓｓ）やＩＰアドレス（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ａｄｄｒｅｓｓ）を含むものとする。また、上記に加えて、入口ポート（Ｉｎｇｒｅｓｓ  Ｐｏｒｔ）の情報も、フローエントリのルールとして使用可能である。
【００２４】
フローエントリのアクションは、「特定のポートに出力する」、「廃棄する」、「ヘッダを書き換える」といった動作を示す。例えば、スイッチは、フローエントリのアクションに出力ポートの識別情報（出力ポート番号等）が示されていれば、これに該当するポートにパケットを出力し、出力ポートの識別情報が示されていなければ、パケットを破棄する。或いは、スイッチは、フローエントリのアクションにヘッダ情報が示されていれば、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。
【００２５】
オープンフローネットワークにおけるスイッチは、フローエントリのルールに適合するパケット群（パケット系列）に対して、フローエントリのアクションを実行する。
【００２６】
オープンフロー技術の詳細については、非特許文献１に記載されている。
【００２７】
なお、スイッチの送信ポートには、複数の送信キューがある。スイッチの送信ポートは、キューの種別により最小レート、最大レート、優先度等転送時の振る舞いが決定され、ＱｏＳ制御を行うために利用される。
【００２８】
また、フローテーブルのエントリには、パケットのヘッダ情報（送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル、ＴＣＰ／ＵＤＰ送信元ポート番号、ＴＣＰ／ＵＤＰ宛先ポート番号）と比較するためのマッチ条件が定義されており、当該マッチ条件に合致した場合にそのアクションとして送信ポートと送信キューを決定するために利用される。
【００２９】
＜第１実施形態＞
以下に、本発明の第１実施形態について添付図面を参照して説明する。
【００３０】
［全体構成］
図１に示すように、本発明に係るネットワークシステムは、ユーザ端末１０と、スイッチ２０（２０−ｉ、ｉ＝１〜ｎ：ｎはスイッチ数）と、コントローラ３０と、サーバ４０とを含む。
【００３１】
ユーザ端末１０は、ユーザが利用する入出力装置であり、パケットを生成し、サーバ４０宛に送信する。
【００３２】
スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）の各々は、受信したパケットを、自身のフローテーブルに登録されたエントリに従って転送する。スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）の各々は、ネットワークを介して接続されている。このとき、スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）の各々は、受信したパケットに該当するエントリが無い場合、当該受信パケットをファーストパケット（未登録の新規パケット、未知のパケット）としてコントローラ３０に通知し、当該受信パケットについてのエントリ登録を要求する。
【００３３】
コントローラ３０は、スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）のいずれかからのファーストパケットの受信通知に応じて経路を計算し、当該経路に関連するスイッチのフローテーブルにエントリの登録を行う。
【００３４】
サーバ４０は、ユーザ端末１０へネットワーク経由でサービスを提供するサーバであり、パケットを受信する。
【００３５】
［ハードウェアの例示］
ユーザ端末１０、コントローラ３０、及びサーバ４０の例として、ＰＣ（パソコン）、アプライアンス（ａｐｐｌｉａｎｃｅ）、シンクライアント端末／サーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。また、ユーザ端末１０、コントローラ３０、及びサーバ４０は、計算機に搭載される拡張ボードや、物理マシン上に構築された仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ（ＶＭ））でも良い。
【００３６】
なお、ユーザ端末１０は、携帯電話機、スマートフォン、スマートブック、カーナビ（カーナビゲーションシステム）、携帯型ゲーム機、家庭用ゲーム機、携帯型音楽プレーヤー、ハンディターミナル、ガジェット（電子機器）、双方向テレビ、デジタルチューナー、デジタルレコーダー、情報家電（ｉｎｆｏｒｍａｔｉｏｎ  ｈｏｍｅ  ａｐｐｌｉａｎｃｅ）、ＯＡ（Ｏｆｆｉｃｅ  Ａｕｔｏｍａｔｉｏｎ）機器等でも良い。また、ユーザ端末１０は、車両や船舶、航空機等の移動体に搭載されていても良い。
【００３７】
スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）の例として、ネットワークスイッチ（ｎｅｔｗｏｒｋ  ｓｗｉｔｃｈ）、ルータ（ｒｏｕｔｅｒ）、プロキシ（ｐｒｏｘｙ）、ゲートウェイ（ｇａｔｅｗａｙ）、ファイアウォール（ｆｉｒｅｗａｌｌ）、ロードバランサ（ｌｏａｄ  ｂａｌａｎｃｅｒ：負荷分散装置）、帯域制御装置（ｐａｃｋｅｔ  ｓｈａｐｅｒ）、セキュリティ監視制御装置（ＳＣＡＤＡ：Ｓｕｐｅｒｖｉｓｏｒｙ  Ｃｏｎｔｒｏｌ  Ａｎｄ  Ｄａｔａ  Ａｃｑｕｉｓｉｔｉｏｎ）、ゲートキーパー（ｇａｔｅｋｅｅｐｅｒ）、基地局（ｂａｓｅ  ｓｔａｔｉｏｎ）、アクセスポイント（ＡＰ：Ａｃｃｅｓｓ  Ｐｏｉｎｔ）、通信衛星（ＣＳ：Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ）、或いは、複数の通信ポートを有する計算機等が考えられる。また、スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）は、仮想スイッチでも良い。
【００３８】
図示しないが、ユーザ端末１０、スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）、コントローラ３０、及びサーバ４０の各々は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークに接続するための通信用インターフェースによって実現される。
【００３９】
上記のプロセッサの例として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ネットワークプロセッサ（ＮＰ：Ｎｅｔｗｏｒｋ  Ｐｒｏｃｅｓｓｏｒ）、マイクロプロセッサ（ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）、マイクロコントローラ、或いは、専用の機能を有する半導体集積回路（ＩＣ：Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等が考えられる。
【００４０】
上記のメモリの例として、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ等の半導体記憶装置、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の補助記憶装置、又は、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のリムーバブルディスクや、ＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等の記憶媒体（メディア）等が考えられる。また、バッファ（ｂｕｆｆｅｒ）やレジスタ（ｒｅｇｉｓｔｅｒ）でも良い。或いは、ＤＡＳ（Ｄｉｒｅｃｔ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＦＣ−ＳＡＮ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  −  Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＩＰ−ＳＡＮ（ＩＰ  −  Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等を用いたストレージ装置でも良い。
【００４１】
なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の１チップ化が進んでいる。従って、電子機器等に搭載される１チップマイコンが、上記のプロセッサ及び上記のメモリを備えている事例が考えられる。
【００４２】
上記のインターフェースの例として、ネットワーク通信に対応した基板（マザーボード、Ｉ／Ｏボード）やチップ等の半導体集積回路、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口（コネクタ）等の通信ポート等が考えられる。
【００４３】
また、ネットワークの例として、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、無線ＬＡＮ（Ｗｉｒｅｌｅｓｓ  ＬＡＮ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、バックボーン（Ｂａｃｋｂｏｎｅ）、ケーブルテレビ（ＣＡＴＶ）回線、固定電話網、携帯電話網、ＷｉＭＡＸ（ＩＥＥＥ  ８０２．１６ａ）、３Ｇ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ）、専用線（ｌｅａｓｅ  ｌｉｎｅ）、ＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、シリアル通信回線、データバス等が考えられる。
【００４４】
なお、ユーザ端末１０、スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）、コントローラ３０、及びサーバ４０の各々の内部の構成要素は、モジュール（ｍｏｄｕｌｅ）、コンポーネント（ｃｏｍｐｏｎｅｎｔ）、或いは専用デバイス、又はこれらの起動（呼出）プログラムでも良い。
【００４５】
但し、実際には、これらの例に限定されない。
【００４６】
［コントローラの詳細構成］
コントローラ３０は、ユーザ情報記憶部３１と、ＱｏＳポリシー記憶部３２と、トポロジ情報記憶部３３と、フローテーブル記憶部３４と、ユーザ認証部３５と、ＱｏＳ制御部３６と、経路計算部（経路制御部）３７と、フローテーブル生成部３８と、スイッチ制御部３９とを備える。
【００４７】
ユーザ情報記憶部３１は、ユーザ情報を予め（事前に）記憶している。ユーザ情報は、図２に示すように、「ユーザ名」、「パスワード」、「ＱｏＳポリシー」等を含む。
【００４８】
ＱｏＳポリシー記憶部３２は、ＱｏＳポリシー対応テーブルを記憶する。ＱｏＳポリシー対応テーブルは、図３に示すように、認証されたユーザの「ＩＰアドレス」と「ＱｏＳポリシー」の対応付けで表される。
【００４９】
トポロジ情報記憶部３３は、ネットワークの接続状態を示すトポロジ情報（ｔｏｐｏｌｏｇｙ）を予め記憶している。トポロジ情報は、図４に示すように、リンクの両端に接続されている２つのスイッチの「スイッチ名」と「ポート名」の組と、そのリンクの「帯域」で表される。
【００５０】
フローテーブル記憶部３４は、スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）に登録したフローテーブル及びそのエントリを記憶する。フローテーブルのエントリは、図５に示すように、マッチ条件となるパケットのヘッダ情報（「送信元ＩＰアドレス」、「宛先ＩＰアドレス」、「プロトコル」、「ＴＣＰ／ＵＤＰ送信元ポート番号」、「ＴＣＰ／ＵＤＰ宛先ポート番号」）と、アクションとなる「送信ポート」及びその送信ポートの「送信キュー」で表される。
【００５１】
ユーザ認証部３５は、ユーザ端末の接続時にユーザ名とパスワードを要求し、その応答結果からユーザ情報記憶部３１を検索してＱｏＳポリシーを割り当てる。
【００５２】
ＱｏＳ制御部３６は、ユーザ認証部３５で割り当てられたＱｏＳポリシーとユーザ端末のＩＰアドレスを対応付け、ＱｏＳポリシー記憶部３２に記憶する。
【００５３】
経路計算部３７は、トポロジ情報記憶部３３を検索し、例えば、最短経路検索アルゴリズム等を用いてフローの経路を算出する。
【００５４】
フローテーブル生成部３８は、入力されたフロー、経路に対して、経路上のスイッチ２０（２０−ｉ、ｉ＝１〜ｎ）のフローテーブルのエントリを生成し、フローテーブル記憶部３４に登録状態を記憶する。
【００５５】
スイッチ制御部３９は、スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）との通信を行い、スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）からの通知の受信と、スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）のフローテーブルへのエントリ登録を行う。
【００５６】
［本実施形態のＱｏＳ制御処理］
次に、図６を参照して、本実施形態におけるＱｏＳ制御について詳細に説明する。
【００５７】
（１）ステップＡ１
ユーザ端末１０は、ネットワークに接続すると、パケットを送信する。スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）は、パケットを受信した際、受信パケットのヘッダ情報をキーにフローテーブル記憶部３４を検索し、フローテーブルに該当するエントリが登録されていなければ、コントローラ３０のスイッチ制御部３９に、受信パケットを通知する。
【００５８】
（２）ステップＡ２
スイッチ制御部３９は、通知を受け取ると、ＱｏＳ制御部３６にパケットを渡す。ＱｏＳ制御部３６は、入力されたパケットを保持し、送信元ＩＰアドレスをキーにＱｏＳポリシー記憶部３２を検索する。
【００５９】
（３）ステップＡ３
ＱｏＳ制御部３６は、ＱｏＳポリシー記憶部３２の検索で、該当するＩＰアドレスが存在するか確認する。ＱｏＳ制御部３６は、ＱｏＳポリシー記憶部３２の検索で該当するＩＰアドレスが存在する場合、当該ＩＰアドレスに対応付けられたＱｏＳポリシーを特定し、保持していたパケットを経路計算部３７へ渡す。また、ＱｏＳポリシー記憶部３２の検索で該当するＩＰアドレスが存在しない場合、ユーザ未認証であるため、ユーザ認証部３５へ通知する。
【００６０】
（４）ステップＡ４
ユーザ認証部３５は、ユーザ名とパスワードをユーザ端末１０へ要求し、その応答により認証を行い、ユーザ情報記憶部３１を検索し、ＱｏＳポリシーを決定してＱｏＳ制御部３６へ通知する。
【００６１】
（５）ステップＡ５
ＱｏＳ制御部３６は、入力されたＱｏＳポリシーと保持していたパケットの送信元ＩＰアドレスを対応付けてＱｏＳポリシー記憶部３２へ記録して、保持していたパケットを経路計算部３７へ渡す。
【００６２】
（６）ステップＡ６
経路計算部３７は、入力されたパケットを基にトポロジ情報記憶部３３を検索し、例えば、最短経路検索アルゴリズム等を用いてフローの経路を算出してフローテーブル生成部３８へ通知する。
【００６３】
（７）ステップＡ７
フローテーブル生成部３８は、入力されたパケットと経路情報とＱｏＳポリシーからフローテーブルのヘッダ情報（マッチ条件）と送信ポートと送信キュー（アクション）を決定して、経路上の個々のスイッチ２０（２０−ｉ、ｉ＝１〜ｎ）のフローテーブルのエントリを生成し、フローテーブル記憶部３４に記録する。
【００６４】
（８）ステップＡ８
スイッチ制御部３９は、入力されたフローテーブルを経路上のスイッチ２０（２０−ｉ、ｉ＝１〜ｎ）の各々にそれぞれ登録する。
【００６５】
以降、当該経路上のスイッチ２０（２０−ｉ、ｉ＝１〜ｎ）の各々は、登録されたフローテーブルのエントリに従って転送を行う。スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）の各々は、パケットを受信した際、該当するエントリを参照し、経路に従ったポートからパケットを送信する。
【００６６】
［本実施形態の効果］
本実施形態では、コントローラで経路を決定することにより、ＱｏＳポリシーの適用範囲を経路上のスイッチに限定することができるため、経路外のスイッチの転送性能に影響を与えることなく、ユーザ認証によるＱｏＳ制御ができる。
【００６７】
また、本実施形態では、ＱｏＳポリシーをリスト検索することなく、フローテーブルの検索により、フローに対して一意にＱｏＳを決定できるため、経路上のスイッチにおいても、フローテーブルに従った転送を行うことにより、転送性能を改善できる。
【００６８】
＜第２実施形態＞
以下に、本発明の第２実施形態について説明する。
【００６９】
本実施形態は、外部の汎用的な認証サーバにおいてユーザ認証を行い、ＱｏＳポリシーを決定する点で異なる。汎用的な認証サーバではＱｏＳの属性は定められていないが、ベンダ固有の属性があり、ここにＱｏＳポリシーを含むことができる。例えば、ＲＡＤＩＵＳ（Ｒｅｍｏｔｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｄｉａｌ  Ｉｎ  Ｕｓｅｒ  Ｓｅｒｖｉｃｅ）ではＶＳＡ（Ｖｅｎｄｏｒ  Ｓｐｅｃｉｆｉｃ  Ａｔｔｒｉｂｕｔｅ）が用意されていてユーザの属性として利用することができる。
【００７０】
図７を参照すると、本実施形態におけるネットワークシステムは、ユーザ端末１０と、スイッチ２０（２０−ｉ、ｉ＝１〜ｎ：ｎはスイッチ数）と、コントローラ３０と、サーバ４０と、認証サーバ５０を含む。
【００７１】
ユーザ端末１０、スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）、コントローラ３０と、及びサーバ４０に関しては、基本的に、図１に示す第１実施形態と同じである。
【００７２】
本実施形態では、第１実施形態のコントローラ３０におけるユーザ認証に関する機能を、認証サーバ５０として独立させている。
【００７３】
［コントローラの詳細構成］
コントローラ３０は、ＱｏＳポリシー記憶部３２と、トポロジ情報記憶部３３と、フローテーブル記憶部３４と、ＱｏＳ制御部３６と、経路計算部３７と、フローテーブル生成部３８と、スイッチ制御部３９とを備える。
【００７４】
ＱｏＳポリシー記憶部３２、トポロジ情報記憶部３３、フローテーブル記憶部３４、ＱｏＳ制御部３６、経路計算部３７、フローテーブル生成部３８、及びスイッチ制御部３９に関しては、基本的に、図１に示す第１実施形態と同じである。
【００７５】
［認証サーバの詳細構成］
認証サーバ５０は、ユーザ情報記憶部５１と、ユーザ認証部５５を備える。
【００７６】
ユーザ情報記憶部５１は、基本的に、図１に示す第１実施形態のユーザ情報記憶部３１と同じである。すなわち、ユーザ情報記憶部５１は、ユーザ情報を予め記憶している。ユーザ情報は、図２に示すように、「ユーザ名」、「パスワード」、「ＱｏＳポリシー」等を含む。
【００７７】
ユーザ認証部５５は、基本的に、図１に示す第１実施形態のユーザ認証部３５と同じである。すなわち、ユーザ認証部５５は、ユーザ端末の接続時にユーザ名とパスワードを要求し、その応答結果からユーザ情報記憶部５１を検索してＱｏＳポリシーを割り当てる。
【００７８】
［本実施形態のＱｏＳ制御処理］
図８を参照して、本実施形態のＱｏＳ制御処理について詳細に説明する。
【００７９】
（１）ステップＢ１
ユーザ端末１０は、ネットワークに接続すると、パケットを送信する。スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）は、パケットを受信した際、受信パケットのヘッダ情報をキーにフローテーブル記憶部３４を検索し、フローテーブルに該当するエントリが登録されていなければ、コントローラ３０のスイッチ制御部３９に、受信パケットを通知する。
【００８０】
（２）ステップＢ２
スイッチ制御部３９は、通知を受け取ると、ＱｏＳ制御部３６にパケットを渡す。ＱｏＳ制御部３６は、入力されたパケットを保持し、送信元ＩＰアドレスをキーにＱｏＳポリシー記憶部３２を検索する。
【００８１】
（３）ステップＢ３
ＱｏＳ制御部３６は、ＱｏＳポリシー記憶部３２の検索で、該当するＩＰアドレスが存在するか確認する。ＱｏＳ制御部３６は、ＱｏＳポリシー記憶部３２の検索で該当するＩＰアドレスが存在する場合、当該ＩＰアドレスに対応付けられたＱｏＳポリシーを特定し、保持していたパケットを経路計算部３７へ渡す。また、ＱｏＳポリシー記憶部３２の検索で該当するＩＰアドレスが存在しない場合、ユーザ未認証であるため、認証サーバ５０のユーザ認証部５５へ通知する。
【００８２】
（４）ステップＢ４
ユーザ認証部５５は、ユーザ名とパスワードをユーザ端末１０へ要求し、その応答により認証を行い、ユーザ情報記憶部５１を検索し、ベンダ固有属性からＱｏＳポリシーを決定してコントローラ３０のＱｏＳ制御部３６へ通知する。
【００８３】
（５）ステップＢ５
ＱｏＳ制御部３６は、入力されたＱｏＳポリシーと保持していたパケットの送信元ＩＰアドレスを対応付けてＱｏＳポリシー記憶部３２へ記録して、保持していたパケットを経路計算部３７へ渡す。
【００８４】
（６）ステップＢ６
経路計算部３７は、入力されたパケットを基にトポロジ情報記憶部３３を検索し、例えば、最短経路検索アルゴリズム等を用いてフローの経路を算出してフローテーブル生成部３８へ通知する。
【００８５】
（７）ステップＢ７
フローテーブル生成部３８は、入力されたパケットと経路情報とＱｏＳポリシーからフローテーブルのヘッダ情報と送信ポートと送信キューを決定して、経路上の個々のスイッチ２０（２０−ｉ、ｉ＝１〜ｎ）のフローテーブルのエントリを生成し、フローテーブル記憶部３４に記録する。
【００８６】
（８）ステップＢ８
スイッチ制御部３９は、入力されたフローテーブルを経路上のスイッチ２０（２０−ｉ、ｉ＝１〜ｎ）の各々にそれぞれ登録する。
【００８７】
以降、当該経路上のスイッチ２０（２０−ｉ、ｉ＝１〜ｎ）の各々は、登録されたフローテーブルのエントリに従って転送を行う。スイッチ２０（２０−ｉ、ｉ＝１〜ｎ）の各々は、パケットを受信した際、該当するエントリを参照し、経路に従ったポートからパケットを送信する。
【００８８】
＜他の実施形態＞
本発明の第２実施形態では、コントローラ３０のユーザ情報３１及びユーザ認証部３５を認証サーバ５０として独立させているが、実際には、コントローラ３０の他の構成要素を外部サーバとして独立させることも可能である。例えば、ＱｏＳポリシー記憶部３２及びＱｏＳ制御部３６をＱｏＳサーバとして独立させたり、トポロジ情報記憶部３３及び経路計算部３７を経路制御サーバとして独立させたりすることも考えられる。
【００８９】
＜各実施形態の関係＞
なお、上記の各実施形態は、組み合わせて実施することも可能である。例えば、第１実施形態におけるコントローラ３０が、自身のユーザ情報３１及びユーザ認証部３５に該当する情報がない場合に、第２実施形態における認証サーバ５０に問い合わせるようにすることも可能である。また、第１実施形態におけるコントローラ３０と、第２実施形態におけるコントローラ３０及び認証サーバ５０とは、互いに置換可能である。
【００９０】
＜本発明の特徴＞
以上のように、本発明では、ユーザ端末からのネットワーク接続時にユーザ認証を行い、割り当てられたＱｏＳポリシーに従った通信を可能にする。通信経路の決定とスイッチのフローテーブルの制御を外部コントローラで行い、ＱｏＳポリシーの適用を最適化することにより、ユーザ数が増加した場合に問題となる転送性能を改善する。
【００９１】
本発明では、ユーザ端末からあるサーバへ通信を行う場合、ファーストパケットをスイッチが受信すると外部コントローラに通知する。コントローラの認証部がユーザに対するＱｏＳポリシーを決定し、経路計算部がトポロジ情報記憶部とフローテーブル記憶部の情報から最適な経路を算出する。スイッチ制御部はこれらの結果に基づきフローテーブルのエントリを生成し、ユーザ端末とサーバとの経路上のスイッチにフローテーブルを登録する。以降、スイッチは登録されたフローテーブルのＱｏＳに従って転送を行う。
【００９２】
本発明に係るネットワークシステムは、受信したパケットを、自身に設定されたフローテーブルに従った宛先に転送するスイッチと、スイッチからのファーストパケットの受信通知に応じて、スイッチに対するフローテーブルの設定を行うコントローラを備え、コントローラにおいて、ユーザ認証を行うことによりＱｏＳクラスを決定する。
【００９３】
本発明に係るネットワークシステムは、コントローラにおいて、ネットワークの接続状態を基に、認証したユーザの通信の経路を決定する。
【００９４】
本発明に係るネットワークシステムは、コントローラにおいて、フローテーブルの送信ポートとキューを決定し、経路上のスイッチに登録を行う。
【００９５】
本発明により、ＱｏＳポリシーの適用範囲を経路上のスイッチに限定することができ、経路外のスイッチの転送性能に影響を与えることなく、ユーザ認証によるＱｏＳ制御が可能となる。また、経路上のスイッチにおいても、ＱｏＳポリシーをリスト検索することなく、フローテーブルの検索により、フローに対して一意にＱｏＳを決定できるため、転送性能の改善が可能となる。
【００９６】
＜付記＞
上記の実施形態の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。
【００９７】
［付記１］
パケット受信時に、フローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリが設定されたフローエントリを検索して、エントリに定義されたルールに適合する受信パケットに対して、エントリに定義された動作を行う機能を持つスイッチと、
スイッチからパケットの問い合わせを受け、該パケットを一律に制御するためのルールと動作が定義されたエントリを、スイッチのフローテーブルに設定する機能を持つコントローラと
を含み、
コントローラは、
スイッチから問い合わせを受けたパケットに該当するＱｏＳポリシーを特定する機能を持つＱｏＳ制御部と、
ネットワークの接続状態を表すトポロジ情報から最適な経路を算出する機能を持つ経路計算部と、
該パケットと経路情報とＱｏＳポリシーから、経路上のスイッチの送信ポートとキューを決定し、フローテーブルのエントリを生成する機能を持つフローテーブル生成部と、
経路上のスイッチのフローテーブルに該エントリを設定する機能を持つスイッチ制御部と
を具備する
ネットワークシステム。
【００９８】
［付記２］
付記１に記載のネットワークシステムであって、
コントローラは、
パケットに該当するＱｏＳポリシーが存在しない場合、パケットの送信元にユーザ名とパスワードを要求し、該要求に対する応答結果からパケットの送信元に対するＱｏＳポリシーを決定する機能を持つユーザ認証部
を更に具備する
ネットワークシステム。
【００９９】
［付記３］
付記１又は２に記載のネットワークシステムであって、
コントローラに接続された認証サーバ
を更に含み、
認証サーバは、
パケットに該当するＱｏＳポリシーが存在しない場合、パケットの送信元にユーザ名とパスワードを要求し、該要求に対する応答結果からパケットの送信元に対するＱｏＳポリシーを決定する機能を持つユーザ認証部
を具備する
ネットワークシステム。
【０１００】
［付記４］
スイッチから問い合わせを受けたパケットに該当するＱｏＳポリシーを特定する機能を持つＱｏＳ制御部と、
ネットワークの接続状態を表すトポロジ情報から最適な経路を算出する機能を持つ経路計算部と、
該パケットと経路情報とＱｏＳポリシーから、経路上のスイッチの送信ポートとキューを決定し、フローテーブルのエントリを生成する機能を持つフローテーブル生成部と、
経路上のスイッチのフローテーブルに該エントリを設定する機能を持つスイッチ制御部と
を具備する
コントローラ。
【０１０１】
［付記５］
スイッチにおいて、
パケット受信時に、フローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリが設定されたフローエントリを検索して、エントリに定義されたルールに適合する受信パケットに対して、エントリに定義された動作を行うことと、
コントローラにおいて、
スイッチからパケットの問い合わせを受けた際、スイッチから問い合わせを受けたパケットに該当するＱｏＳポリシーを特定することと、
ネットワークの接続状態を表すトポロジ情報から最適な経路を算出することと、
該パケットを一律に制御するためのルールと動作が定義されたエントリを生成する際、該パケットと経路情報とＱｏＳポリシーから、経路上のスイッチの送信ポートとキューを決定し、該エントリを生成することと、
経路上のスイッチのフローテーブルに該エントリを設定することと
を含む
ＱｏＳ制御方法。
【０１０２】
＜備考＞
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【０１０３】
なお、本出願は、日本出願番号２０１１−００９６６３に基づく優先権を主張するものであり、日本出願番号２０１１−００９６６３における開示内容は引用により本出願に組み込まれる。
【図１】
2012098779.tif 000003
【図２】
2012098779.tif 000004
【図３】
2012098779.tif 000005
【図４】
2012098779.tif 000006
【図５】
2012098779.tif 000007
【図６】
2012098779.tif 000008
【図７】
2012098779.tif 000009
【図８】
2012098779.tif 000010
【国際調査報告】
2012098779.tif 000011
2012098779.tif 000012
2012098779.tif 000013
2012098779.tif 000014