(57)【特許請求の範囲】
【請求項１】
無線通信のアクセスポイントに接続される第１のオープンフロースイッチと、前記無線通信で前記アクセスポイントに接続する複数の第２のオープンフロースイッチと、前記第１のオープンフロースイッチと前記複数の第２のオープンフロースイッチとの間における複数のデータ伝送を制御するオープンフローコントローラとを有するシステムであって、
前記第１のオープンフロースイッチおよび前記第２のオープンフロースイッチは、
データ伝送の伝送パケット量を統計情報として取得し、取得した前記統計情報を前記オープンフローコントローラに通知する統計情報更新部と、
前記第１のオープンフロースイッチと前記第２のオープンフロースイッチとの間のデータ伝送の優先度を設定したフローテーブルと、を有し、
前記オープンフローコントローラは、
前記第１のオープンフロースイッチおよび複数の前記第２のオープンフロースイッチから受信した前記統計情報に基づいて、前記複数のデータ伝送のパケットロス率を分析する通信品質分析部と、
前記分析したパケットロス率に基づいて、前記複数のデータ伝送の相対的な優先度を決定し、前記フローテーブルに各データ伝送の優先度を設定する優先度設定部と、
を有することを特徴とするシステム。
【請求項２】
前記優先度設定部は、
他のデータ伝送と比較して、前記第１のオープンフロースイッチと前記第２のオープンフロースイッチとの間のデータ伝送のパケットロス率が大きい場合、前記第１のオープンフロースイッチと前記第２のオープンフロースイッチとの間のデータ伝送の優先度をより高く変更することを特徴とする、請求項１に記載のシステム。
【請求項３】
前記優先度設定部は、
他のデータ伝送と比較して、前記第１のオープンフロースイッチと前記第２のオープンフロースイッチとの間のデータ伝送のパケットロス率が小さい場合、前記第１のオープンフロースイッチと前記第２のオープンフロースイッチとの間のデータ伝送の優先度をより低く変更することを特徴とする、請求項１又は２に記載のシステム。
【請求項４】
無線通信のアクセスポイントに接続される第１のオープンフロースイッチと、前記無線通信で前記アクセスポイントに接続する複数の第２のオープンフロースイッチと、前記第１のオープンフロースイッチと前記複数の第２のオープンフロースイッチとの間における複数のデータ伝送を制御するオープンフローコントローラとを有するシステムであって、
前記第１のオープンフロースイッチおよび前記第２のオープンフロースイッチは、
データ伝送におけるパケットの通過時刻を取得し、取得した前記パケットの通過時刻を前記オープンフローコントローラに通知するパケット処理部と、
前記第１のオープンフロースイッチと前記第２のオープンフロースイッチとの間のデータ伝送の優先度を設定したフローテーブルと、を有し、
前記オープンフローコントローラは、
前記第１のオープンフロースイッチおよび複数の前記第２のオープンフロースイッチから受信した前記パケットの通過時刻に基づいて、前記複数のデータ伝送の遅延時間を分析する通信品質分析部と、
前記分析した遅延時間に基づいて、前記複数のデータ伝送の相対的な優先度を決定し、前記フローテーブルに各データ伝送の優先度を設定する優先度設定部と、
を有することを特徴とするシステム。
【請求項５】
前記優先度設定部は、
他のデータ伝送と比較して、前記第１のオープンフロースイッチと前記第２のオープンフロースイッチとの間のデータ伝送の遅延時間が大きい場合、前記第１のオープンフロースイッチと前記第２のオープンフロースイッチとの間のデータ伝送の優先度をより高く変更することを特徴とする、請求項４に記載のシステム。
【請求項６】
前記優先度設定部は、
他のデータ伝送と比較して、前記第１のオープンフロースイッチと前記第２のオープンフロースイッチとの間のデータ伝送の遅延時間が小さい場合、前記第１のオープンフロースイッチと前記第２のオープンフロースイッチとの間のデータ伝送の優先度をより低く変更することを特徴とする、請求項４又は５に記載のシステム。
【請求項７】
前記前記第１のオープンフロースイッチと前記第２のオープンフロースイッチとの間のデータ伝送は、前記第１のオープンフロースイッチと前記第２のオープンフロースイッチとの間の双方向のデータ伝送であることを特徴とする、請求項１乃至６のいずれか１項に記載のシステム。
【請求項８】
前記優先度設定部は、
前記複数のデータ伝送の相対的な優先度を所定の時間間隔で更新することを特徴とする請求項１乃至７のいずれか１項に記載のシステム。
【請求項９】
前記複数のデータ伝送には、無線ＬＡＮにおけるＷＭＭを用いることを特徴とする請求項１乃至８のいずれか１項に記載のシステム。
【請求項１０】
無線通信のアクセスポイントに接続される第１のオープンフロースイッチと、前記無線通信で前記アクセスポイントに接続する複数の第２のオープンフロースイッチと、前記第１のオープンフロースイッチと前記複数の第２のオープンフロースイッチとの間における複数のデータ伝送を制御するオープンフローコントローラとを有するシステムの前記第２のオープンフロースイッチであって、
前記第１のオープンフロースイッチと間のデータ伝送の伝送パケット量を統計情報として取得し、取得した前記統計情報を前記オープンフローコントローラに通知する統計情報更新部と、
前記オープンフローコントローラにおいて、前記第１のオープンフロースイッチおよび複数の前記第２のオープンフロースイッチから通知された前記統計情報に基づいて分析された前記複数のデータ伝送のパケットロス率に応じて決定される前記第１のオープンフロースイッチと間のデータ伝送の相対的な優先度が、前記オープンフローコントローラによって設定されるフローテーブルと、
を有することを特徴とするオープンフロースイッチ。
【請求項１１】
無線通信のアクセスポイントに接続される第１のオープンフロースイッチと、前記無線通信で前記アクセスポイントに接続する複数の第２のオープンフロースイッチと、前記第１のオープンフロースイッチと前記複数の第２のオープンフロースイッチとの間における複数のデータ伝送を制御するオープンフローコントローラとを有するシステムの前記第２のオープンフロースイッチであって、
前記第１のオープンフロースイッチと間のデータ伝送におけるパケットの通過時刻を取得し、取得したパケットの通過時刻を前記オープンフローコントローラに通知するパケット処理部と、
前記オープンフローコントローラにおいて、前記第１のオープンフロースイッチおよび複数の前記第２のオープンフロースイッチから通知されたパケットの通過時刻に基づいて分析された前記複数のデータ伝送の遅延時間に応じて決定される前記第１のオープンフロースイッチと間のデータ伝送の相対的な優先度が、前記オープンフローコントローラによって設定されるフローテーブルと、
を有することを特徴とするオープンフロースイッチ。
【請求項１２】
無線通信のアクセスポイントに接続される第１のオープンフロースイッチと、前記無線通信で前記アクセスポイントに接続する複数の第２のオープンフロースイッチと、前記第１のオープンフロースイッチと前記複数の第２のオープンフロースイッチとの間における複数のデータ伝送を制御するオープンフローコントローラとを有するシステムの前記第２のオープンフロースイッチを、
前記第１のオープンフロースイッチとの間のデータ伝送の伝送パケット量を統計情報として取得し、取得した前記統計情報を前記オープンフローコントローラに通知する統計情報更新部、及び
前記オープンフローコントローラにおいて、前記第１のオープンフロースイッチおよび複数の前記第２のオープンフロースイッチから通知された前記統計情報に基づいて分析された前記複数のデータ伝送の相対的な優先度が、前記オープンフローコントローラによって設定されるフローテーブル、
として機能させるプログラム。
【請求項１３】
無線通信のアクセスポイントに接続される第１のオープンフロースイッチと、前記無線通信で前記アクセスポイントに接続する複数の第２のオープンフロースイッチと、前記第１のオープンフロースイッチと前記複数の第２のオープンフロースイッチとの間における複数のデータ伝送を制御するオープンフローコントローラとを有するシステムの前記第２のオープンフロースイッチを、
前記第１のオープンフロースイッチと間のデータ伝送におけるパケットの通過時刻を取得し、取得したパケットの通過時刻を前記オープンフローコントローラに通知するパケット処理部、及び
前記オープンフローコントローラにおいて、前記第１のオープンフロースイッチおよび複数の前記第２のオープンフロースイッチから通知されたパケットの通過時刻に基づいて分析された前記複数のデータ伝送の遅延時間に応じて決定される前記第１のオープンフロースイッチと間のデータ伝送の相対的な優先度が、前記オープンフローコントローラによって設定されるフローテーブル、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム、オープンフロースイッチ、及びプログラムに関する。
【背景技術】
【０００２】
データ容量が大きくリアルタイム性が求められるコンテンツ等を無線ＬＡＮ（Local Area Network）で伝送する場合に、ＱｏＳ（Quality of Service）制御を用いて、特定のデータの通信の品質を保証する技術がある。
【０００３】
かかる技術は、例えば、オープンフローを使用するネットワークで用いられる場合がある。オープンフローは、ソフトウェア操作によってネットワーク機器の構成及び機能を変更するＳＤＮ（Software Defined Network）を実現する技術の一つである。オープンフローでは、オープンフローコントローラが各々のオープンフロースイッチに伝送ルールを記憶させることで、オープンフロースイッチに接続された各々のネットワーク機器におけるデータ伝送が制御される。
【０００４】
例えば、ネットワーク内の中継器が他機器へ転送するパケットのヘッダ又はペイロードの分析、及びパケットの到着レート又は送出レートの分析に基づいて、パケットのヘッダに設定するＱｏＳカテゴリを判定することでＱｏＳ制御を行う方法が知られている（例えば、特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術では、データを送受信する装置間でなされる通信の状況に応じて通信品質が十分に制御されていなかった。
【０００６】
また、無線ＬＡＮ環境では、同一のアクセスポイントを共有するセッションの数や種類は変動し続け、また無線ＬＡＮの電波状況も変動し続ける状況であるため、無線ＬＡＮ全体の通信品質が低下しないようにユーザが各々の通信の優先度を手動で設定又は変更しなければならなかった。
【０００７】
そこで、本実施形態では、ユーザに通信の優先度の設定又は変更する作業をさせることなく、データを送受信する装置間でなされる通信の状況に応じて通信品質を適切に制御することを目的とする。
【課題を解決するための手段】
【０００８】
一つの案では、無線通信のアクセスポイントに接続される第１のオープンフロースイッチと、前記無線通信で前記アクセスポイントに接続する複数の第２のオープンフロースイッチと、前記第１のオープンフロースイッチと前記複数の第２の無線通信装置との間における複数のデータ伝送を制御するオープンフローコントローラとを有するシステムであって、前記第１のオープンフロースイッチおよび前記第２のオープンフロースイッチは、データ伝送の伝送パケット量を統計情報として取得し、取得した前記統計情報を前記オープンフローコントローラに通知する統計情報更新部と、前記第１のオープンフロースイッチと前記第２のオープンフロースイッチとの間のデータ伝送の優先度を設定したフローテーブルと、を有し、前記オープンフローコントローラは、前記第１のオープンフロースイッチおよび複数の前記第２のオープンフロースイッチから受信した前記統計情報に基づいて、前記複数のデータ伝送のパケットロス率を分析する通信品質分析部と、前記分析したパケットロス率に基づいて、前記複数のデータ伝送の相対的な優先度を決定し、前記フローテーブルに各データ伝送の優先度を設定する優先度設定部と、を有することを特徴とするシステムが提供される。
【発明の効果】
【０００９】
一態様によれば、データを送受信する装置間でなされる通信の状況に応じて通信品質をより適切に制御することができる。
【図面の簡単な説明】
【００１０】
【図１】無線通信システムの構成例を示す図である。
【図２】オープンフロースイッチの構成例を示す図である。
【図３Ａ】端末側フローテーブルの第１のデータ構造の例を示す図である。
【図３Ｂ】端末側フローテーブルの第２のデータ構造の例を示す図である。
【図３Ｃ】端末側フローテーブルの第３のデータ構造の例を示す図である。
【図３Ｄ】端末側フローテーブルの第４のデータ構造の例を示す図である。
【図４】第２のオープンフロースイッチの構成例を示す図である。
【図５Ａ】アクセスポイント側フローテーブルの第１のデータ構造の例を示す図である。
【図５Ｂ】アクセスポイント側フローテーブルの第２のデータ構造の例を示す図である。
【図５Ｃ】アクセスポイント側フローテーブルの第３のデータ構造の例を示す図である。
【図６】オープンフローコントローラの構成例を示す図である。
【図７】パケットのＩＰヘッダ部のデータ構造の例を示す図である。
【図８】実施態様１に係る処理シーケンスの例を示す図である。
【図９】オープンフロースイッチの処理フローの例を示す図である。
【図１０】端末のハードウェア構成を示す図である。
【図１１】アクセスポイントのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することによって重複した説明を省く。
【００１２】
［第１実施形態］
（無線通信システムの構成）
図１は、無線通信システム１の構成例を示す図である。無線通信システム１は、端末１００と、端末２００と、端末３００と、アクセスポイント４００と、オープンフローコントローラ５００と、ルータ５２０とを有する。端末１００、端末２００、端末３００及びアクセスポイント４００は、それぞれオープンフロースイッチ１５０、オープンフロースイッチ２５０、オープンフロースイッチ３５０及びオープンフロースイッチ４５０を有する。各々のオープンフロースイッチの詳細な処理については、後述する。
【００１３】
オープンフロースイッチ４５０、オープンフローコントローラ５００及びルータ５２０は、バス５１０を介して接続される。ルータ５２０は、インターネット５への通信を中継する。
【００１４】
オープンフロースイッチ１５０、オープンフロースイッチ２５０及びオープンフロースイッチ３５０は、無線ＬＡＮによってアクセスポイント４００に接続される。アクセスポイント４００は、オープンフロースイッチ１５０、オープンフロースイッチ２５０及びオープンフロースイッチ３５０から受信したパケットを、オープンフロースイッチ４５０を経由してルータ５２０に転送する。
【００１５】
オープンフローコントローラ５００は、オープンフロースイッチ１５０、オープンフロースイッチ２５０、オープンフロースイッチ３５０及びオープンフロースイッチ４５０から受信した通信の統計情報の差分によって分析された通信品質に基づいて、各々のオープンフロースイッチとアクセスポイント４００との間の通信の優先度を設定し、各々のオープンフロースイッチに送信する。
【００１６】
オープンフロースイッチ１５０、オープンフロースイッチ２５０及びオープンフロースイッチ３５０は、通知された通信の優先度に対応する通信品質でアクセスポイント４００にパケットを伝送する。
【００１７】
例えば、端末１００及びアクセスポイント４００間の通信に相対的に高い優先度が設定された場合、端末１００及びアクセスポイント４００間で、高品質な通信が行われる。一方、端末２００及びアクセスポイント４００間の通信に相対的に低い優先度が設定された場合、端末２００及びアクセスポイント４００間で、ベストエフォートで通信が行われる。
【００１８】
（端末側オープンフロースイッチの構成）
図２は、オープンフロースイッチ１５０の構成例を示す図である。オープンフロースイッチ１５０は、無線ＬＡＮＩ／Ｆ（Interface）１５１と、通信Ｉ／Ｆ１５２と、パケット処理部１６０と、フローテーブル更新部１６１と、統計情報更新部１６２と、フローテーブル１７０とを有する。なお、オープンフロースイッチ２５０及びオープンフロースイッチ３５０もオープンフロースイッチ１５０と同様の構成を有してもよい。無線ＬＡＮＩ／Ｆ１５１は、無線ＬＡＮとの通信を司るインタフェースである。また、通信Ｉ／Ｆ１５２は、端末１００との通信を司るインタフェースである。
【００１９】
図３Ａは、端末側フローテーブルの第１のデータ構造の例を示す図である。フローテーブル１７０ａは、各パケットに対して行う処理を保持するテーブルである。フローテーブル１７０ａは、プロトコルと、伝送元ＩＰアドレスと、伝送元ポートと、宛先ＩＰアドレスと、宛先ＴＣＰ／ＩＰポートと、実行アクションと、伝送パケット量（ＭＢ）とを対応付ける。以下では、フローテーブル１７０ａの各レコードをフローエントリと呼ぶ。
【００２０】
プロトコルは、パケットを伝送する際に使用する通信プロトコルである。例えば、「ＴＣＰ」が格納されている場合、端末１００は、ＴＣＰ／ＩＰを用いてパケットを伝送することを示す。なお、図３Ａの例では、各フローエントリのプロトコルにＴＣＰが格納されているが、これに限定されない。例えば、フローエントリのプロトコルにＵＤＰが格納されていてもよい。
【００２１】
伝送元ＩＰアドレスは、パケットの伝送元の機器のＩＰアドレスを示す。伝送元ポートは、パケットが伝送された端末１００の接続ポートの番号を示す。宛先ＩＰアドレスは、パケットの伝送先の機器のＩＰアドレスを示す。宛先ＴＣＰ／ＩＰポートは、パケットを出力する伝送先の機器のポート番号を示す。例えば、宛先ＴＣＰ／ＩＰポートに係るポート番号は、パケットを送出したサービスによって指定される。
【００２２】
実行アクションは、フローテーブル１７０ａのプロトコル、伝送元ＩＰアドレス、伝送元ポート、宛先ＩＰアドレス及び宛先ＴＣＰ／ＩＰポート等の各々の条件に一致するパケットに行う処理内容を示す。以下では、プロトコル、伝送元ＩＰアドレス、伝送元ポート、宛先ＩＰアドレス及び宛先ＴＣＰ／ＩＰポート等の条件をフローエントリの条件と呼ぶ。例えば、図３Ａの１行目のフローエントリの条件に一致するパケットに対して、優先度Precedenceを「4」に変更する。なお、実行アクションは、図３Ａに示されているものに限定されず、例えば、宛先ＩＰアドレスを変更する等の処理を含んでもよい。
【００２３】
伝送パケット量（ＭＢ）は、フローエントリの条件に一致した伝送パケットの総容量を示す。例えば、図３Ａでは、１行目のフローエントリの条件に一致する伝送パケットの総容量が１５ＭＢであったことを示す。また、２行目のフローエントリの条件に一致する伝送パケットの総容量が２６ＭＢであったことを示す。
【００２４】
なお、フローエントリの条件は、図３Ａに示したものに限定されず、例えば、他に伝送元ＭＡＣアドレス及び宛先ＭＡＣアドレス等を含んでもよい。また、図３Ａに示されたフローテーブル１７０のデータ構造は一例であり、同様に各項目が対応付けされていれば、上記記憶形式に限定されない。図５Ａ乃至図５Ｃに示されるフローテーブル４７０についても同様である。
【００２５】
図２に戻る。パケット処理部１６０は、端末１００から伝送されたパケットに処理を行う。具体的には、パケット処理部１６０は、通信Ｉ／Ｆ１５２を介して、端末１００からオープンフロースイッチ１５０に伝送されたパケットを受信する。続いて、パケット処理部１６０は、受信したパケットのＩＰヘッダ部とフローテーブル１７０ａのフローエントリの条件とを比較する。パケット処理部１６０は、パケットがフローエントリの条件に一致する場合、当該フローエントリに対応する実行アクションをパケットに実行した上で当該パケットを伝送する。一方、パケット処理部１６０は、パケットがいずれのフローエントリの条件にも一致しない場合、処理方法の問い合わせに関するメッセージを格納したパケットを生成し、オープンフローコントローラ５００に当該パケットを伝送する。
【００２６】
フローテーブル更新部１６１は、処理方法の問い合わせに関するメッセージを受信したオープンフローコントローラ５００から一時的フローエントリを受信する。フローテーブル更新部１６１は、受信した一時的フローエントリをフローテーブル１７０ａの新規のフローエントリとして格納する。
【００２７】
図３Ｂは、端末側フローテーブルの第２のデータ構造の例を示す図である。フローテーブル１７０ｂには、一時的フローエントリとして３行目に新規のフローエントリが格納されている。当該一時的フローエントリは、端末１００がサーバＣにパケットを送信する場合に格納された新規のフローエントリである。当該一時的フローエントリは、実行アクションが未指定となっており、伝送パケット量（ＭＢ）が「0」となっている。
【００２８】
図２に戻る。パケット処理部１６０は、フローテーブル１７０ｂに格納された一時的フローエントリに基づきパケットに処理を行い、無線ＬＡＮＩ／Ｆ１５１を介してパケットを伝送する。なお、当該パケットのＩＰヘッダ部のＴＯＳ（Type of Service）フィールドに優先度等が設定されていないため、無線ＬＡＮ内で当該パケットに対してＱｏＳ制御がなされない。
【００２９】
また、パケット処理部１６０は、一部のパケットをマーキングした上で、当該マーキングパケットをオープンフロースイッチ４５０に伝送する。以下では、マーキングされたパケットをマーキングパケットと呼ぶ。例えば、パケット処理部１６０は、ＩＰヘッダ部の未使用ビットを書き換えることによりマーキングパケットを生成してもよい。また、パケット処理部１６０は、ＦＣＳ（Frame Check Sequence）で使用される誤り検出用ビット列を用いてマーキングパケットを生成してもよい。なお、マーキングパケットの生成方法は上記方法に限定されない。
【００３０】
パケット処理部１６０は、マーキングパケットがオープンフロースイッチ１５０を通過した時刻を取得し、オープンフローコントローラ５００に送信する。なお、無線ＬＡＮＩ／Ｆ１５１は、自装置を通過した時刻を取得し、オープンフローコントローラ５００に送信するようにしてもよい。
【００３１】
統計情報更新部１６２は、フローエントリ毎に外部に伝送されたパケットの総容量をフローテーブルに記憶させる。具体的には、統計情報更新部１６２は、一時的フローエントリに係るパケットが外部に伝送される度に当該パケットの容量を取得し、一時的フローエントリの伝送パケット量（ＭＢ）に加算することで、フローテーブルを更新する。なお、統計情報更新部１６２は、一時的フローエントリ以外のフローエントリに対応するパケットの伝送パケット量（ＭＢ）も適宜更新する。
【００３２】
統計情報更新部１６２は、一時的フローエントリに係るパケットの伝送を開始してから所定時間経過後に、伝送された一時的フローエントリに係るパケットの総容量をフローテーブル１７０から取得する。そして、統計情報更新部１６２は、伝送された一時的フローエントリに係るパケットの総容量をオープンフローコントローラ５００に送信する。
【００３３】
図３Ｃは、端末側フローテーブルの第３のデータ構造の例を示す図である。フローテーブル１７０ｃによると、３行目の一時的フローエントリに係る伝送パケット量（ＭＢ）が５（ＭＢ）に更新されている。統計情報更新部１６２は、一時的フローエントリに係る伝送パケット量５（ＭＢ）を統計情報として取得し、オープンフローコントローラ５００に送信する。
【００３４】
（アクセスポイント側のオープンフロースイッチの構成）
図４は、第２のオープンフロースイッチの構成例を示す図である。オープンフロースイッチ４５０は、アクセスポイント４００の側に設置されている。オープンフロースイッチ４５０は、通信Ｉ／Ｆ４５１と、パケット処理部４６０と、フローテーブル更新部４６１と、統計情報更新部４６２と、フローテーブル４７０とを有する。
【００３５】
パケット処理部４６０は、アクセスポイント４００から受信したパケットに処理を行う。具体的には、パケット処理部４６０は、端末１００から送信されたパケットを受信する。続いて、パケット処理部４６０は、受信したパケットのＩＰヘッダ部とフローテーブル４７０のフローエントリの条件とを比較する。パケット処理部４６０は、当該パケットがいずれのフローエントリの条件にも一致しないため、処理方法の問い合わせに関するメッセージを格納したパケットを生成し、当該パケットをオープンフローコントローラ５００に伝送する。
【００３６】
フローテーブル更新部４６１は、処理方法の問い合わせに関するメッセージを受信したオープンフローコントローラ５００から一時的フローエントリを受信する。フローテーブル更新部４６１は、受信した一時的フローエントリをフローテーブル４７０の新規のフローエントリとして格納する。
【００３７】
図５Ａは、アクセスポイント側フローテーブルの第１のデータ構造の例を示す図である。フローテーブル４７０ａのデータ構造は、図３Ｂのフローテーブル１７０ｂに対応する。フローテーブル４７０ａには、一時的フローエントリとして３行目に新規のフローエントリが新規に格納されている。当該フローエントリは、図３Ｂのフローテーブル１７０ｂの３行目に格納された新規のフローエントリに対応する。当該フローエントリは、実行アクションが未指定となっており、伝送パケット量（ＭＢ）が「0」となっている。
【００３８】
図４に戻る。パケット処理部４６０は、フローテーブル４７０ａに格納された一時的フローエントリに基づいてパケットを処理し、当該パケットをルータ５２０に伝送する。なお、当該パケットのＩＰヘッダ部のＴＯＳフィールドに値が設定されていないため、無線ＬＡＮで当該パケットに対してＱｏＳ制御がなされない。
【００３９】
パケット処理部４６０は、オープンフロースイッチ１５０から送信されたマーキングパケットがオープンフロースイッチ４５０を通過した時刻を取得し、オープンフローコントローラ５００に送信する。なお、アクセスポイント４００は、自装置を通過した時刻を取得し、オープンフローコントローラ５００に送信するようにしてもよい。
【００４０】
統計情報更新部４６２は、フローエントリごとに、伝送されたパケットの総容量をフローテーブルに記憶させる。具体的には、統計情報更新部４６２は、一時的フローエントリに係るパケットが外部に伝送される度に当該パケットの容量を取得し、図５Ａの一時的フローエントリの伝送パケット量（ＭＢ）に加算することで、フローテーブルを更新する。なお、統計情報更新部４６２は、一時的フローエントリ以外のフローエントリに対応するパケットの伝送パケット量（ＭＢ）も適宜更新する。
【００４１】
統計情報更新部４６２は、一時的フローエントリに係るパケットの伝送を開始してから所定時間経過後に、伝送された一時的フローエントリに係るパケットの総容量をフローテーブル４７０から取得する。そして、統計情報更新部４６２は、伝送された一時的フローエントリに係るパケットの総容量をオープンフローコントローラ５００に送信する。
【００４２】
図５Ｂは、アクセスポイント側フローテーブルの第２のデータ構造の例を示す図である。フローテーブル４７０ｂによれば、３行目の一時的フローエントリに係る伝送パケット量（ＭＢ）が４．５（ＭＢ）に更新されている。統計情報更新部４６２は、一時的フローエントリに係る伝送パケット量４．５（ＭＢ）を統計情報として取得し、オープンフローコントローラ５００に送信する。
【００４３】
（オープンフローコントローラの構成）
図６は、オープンフローコントローラ５００の構成例を示す図である。オープンフローコントローラ５００は、通信Ｉ／Ｆ５０１と、スイッチ制御部５１１と、通信品質分析部５１２と、優先度設定部５１３と、フローテーブル管理部５１４とを有する。通信Ｉ／Ｆ５０１は、バス５１０を介して接続される各機器との通信を司る通信インタフェースである。
【００４４】
スイッチ制御部５１１は、各々のオープンフロースイッチを制御する。例えば、スイッチ制御部５１１は、端末側のオープンフロースイッチ１５０が集計した一時的フローエントリに係る伝送パケット量（ＭＢ）の送信ルートを制御する。
【００４５】
通信品質分析部５１２は、端末１００側のオープンフロースイッチ１５０から送信された統計情報と、アクセスポイント４００側のオープンフロースイッチ４５０から送信された統計情報との比較に基づいて通信品質を分析する。例えば、通信品質分析部５１２は、オープンフロースイッチ１５０及びオープンフロースイッチ４５０間におけるパケットロス率及びマーキングパケットの遅延時間を通信品質として分析する。
【００４６】
具体的には、通信品質分析部５１２は、端末１００側のオープンフロースイッチ１５０から送信された伝送パケット量（ＭＢ）から、アクセスポイント４００側のオープンフロースイッチ４５０から送信された伝送パケット量（ＭＢ）を減算することで、ロスしたパケット量（ＭＢ）を算出する。続いて、通信品質分析部５１２は、当該ロスしたパケット量（ＭＢ）と、端末１００側のオープンフロースイッチ１５０から送信された伝送パケット量（ＭＢ）との比率に基づいてパケットロス率（％）を算出する。
【００４７】
例えば、通信品質分析部５１２は、オープンフロースイッチ１５０から送信された伝送パケット量５（ＭＢ）から、オープンフロースイッチ４５０から送信された伝送パケット量４.５（ＭＢ）を減算し、ロスしたパケット量０．５（ＭＢ）を算出する。続いて、通信品質分析部５１２は、ロスしたパケット量０．５（ＭＢ）と、オープンフロースイッチ１５０から送信された伝送パケット量５（ＭＢ）との比率に基づいてパケットロス率１０％を算出する。
【００４８】
また、通信品質分析部５１２は、端末１００側のオープンフロースイッチ１５０から通知されたマーキングパケットの通過時刻を取得する。また、通信品質分析部５１２は、アクセスポイント４００側のオープンフロースイッチ４５０から通知されたマーキングパケットの通過時刻を取得する。そして、通信品質分析部５１２は、オープンフロースイッチ４５０から通知されたマーキングパケットの通過時刻から、オープンフロースイッチ１５０から通知されたマーキングパケットの通過時刻を減算することで、遅延時間（ｍｓ）を算出する。
【００４９】
例えば、通信品質分析部５１２は、オープンフロースイッチ４５０から通知されたマーキングパケットの通過時刻「12:00:00.00050」から、オープンフロースイッチ１５０から通知されたマーキングパケットの通過時刻「12:00:00.00045」を減算することで、遅延時間５０（ｍｓ）を算出する。
【００５０】
また、通信品質分析部５１２は、オープンフロースイッチ１５０及びオープンフロースイッチ４５０から複数回マーキングパケットの通過時刻を取得するようにしてもよい。かかる場合に、通信品質分析部５１２は、マーキングパケットを送信している間にロスするなどの異常が生じた場合、遅延時間の算出を行わず、マーキングパケットが正常に送信された場合に各々の通過時刻に基づいて遅延時間を算出するようにしてもよい。
【００５１】
また、通信品質分析部５１２は、上記処理を繰り返し実行して複数の遅延時間を算出し、算出した複数の遅延時間に基づいて遅延時間の平均値を算出してもよい。
【００５２】
優先度設定部５１３は、通信品質の分析結果に基づいて優先度を設定する。具体的には、通信品質分析部５１２は、通信品質の分析結果に基づいて優先度付きフローエントリを生成する。優先度付きフローエントリとは、通信品質の分析結果に基づいて決定された優先度が、実行アクションの項目に格納されたフローエントリである。
【００５３】
例えば、優先度設定部５１３は、フローエントリの条件に一時的フローエントリと同じ値を格納し、実行アクションに通信品質の分析結果に基づいて決定された優先度を格納し、伝送パケット量（ＭＢ）に「0」を格納することで、優先度付きフローエントリを生成する。
【００５４】
例えば、優先度設定部５１３は、他の通信と比較してパケットロス率が大きい場合又は遅延時間が大きい場合、フローエントリに高い優先度を設定する。一方、優先度設定部５１３は、他の通信と比較してパケットロス率が小さい場合又は遅延時間が小さい場合、フローエントリに低い優先度を設定する。
【００５５】
フローテーブル管理部５１４は、生成された優先度付きフローエントリを端末側及びアクセスポイント側のフローテーブルに格納させる。例えば、フローテーブル管理部５１４は、生成された優先度付きフローエントリを端末１００側のフローテーブル１７０に格納する。また、フローテーブル管理部５１４は、フローテーブル１７０に格納されている一時的フローエントリを削除する。さらに、フローテーブル管理部５１４は、優先度付きフローエントリをアクセスポイント４００側のフローテーブル４７０に格納する。また、フローテーブル管理部５１４は、フローテーブル４７０に格納されている一時的フローエントリを削除する。
【００５６】
図３Ｄは、端末側フローテーブルの第４のデータ構造の例を示す図である。フローテーブル１７０ｄは、優先度付きフローエントリが格納されたフローテーブル１７０の例である。フローテーブル１７０ｄによれば、３行目に格納されていた一時的フローエントリに代わって優先度付きフローエントリが格納されている。
【００５７】
優先度付きフローエントリには、プロトコル、伝送元ＩＰアドレス、伝送元ポート、宛先ＩＰアドレス及び宛先ＴＣＰ／ＩＰポート等のフローエントリの条件に関しては、一時的フローエントリと同じ値が格納されている。
【００５８】
また、実行アクションには、例えば、優先度「Precedence=1」が格納される。すなわち、当該優先度付きフローエントリに係るパケットの優先順位が１位であることを表す。続いて、フローテーブル管理部５１４は、優先度付きフローエントリに優先度「Precedence=1」が格納されたことに伴い、フローテーブル１７０ｄの５行目の優先度を「Precedence=1」から「Precedence=2」に変更する。なお、フローテーブル管理部５１４は、複数のフローエントリの実行アクションに同じ優先度を格納させてもよい。
【００５９】
図５Ｃは、アクセスポイント側フローテーブルの第３のデータ構造の例を示す図である。フローテーブル４７０ｃは、優先度付きフローエントリが格納されたフローテーブル４７０の例である。フローテーブル４７０ｃによれば、３行目に格納されていた一時的フローエントリに代わってフローテーブル１７０ｄに係る優先度付きフローエントリと同じフローエントリが格納されている。
【００６０】
図２において、パケット処理部１６０は、優先度付きフローエントリの条件に一致するパケットを伝送する場合、優先度付きフローエントリの実行アクションに基づいてパケットの優先度を変更する。具体的には、パケット処理部１６０は、パケットのＩＰヘッダ部分のＴＯＳフィールドの値を、優先度付きフローエントリの実行アクションに設定されている優先度に基づいて変更する。
【００６１】
図７は、パケットのＩＰヘッダ部のデータ構造の例を示す図である。パケットのＩＰヘッダ部は、バージョン、ヘッダ長、ＴＯＳ（Type of Service）フィールド、データグラム長、識別番号、フラグ、フラグメントオフセット、ＴＴＬ（Time to live）、プロトコル、チェックサム、送信元アドレス、宛先アドレス及びオプションの領域を有する。ＴＯＳフィールドは、例えば、上位３ビットが優先度に係る領域となっており、上位４〜７ビットがサービスの種別に係る領域となっている。
【００６２】
パケット処理部１６０は、ＴＯＳフィールドの上位３ビットの値を変更することでパケットの優先度を変更する。例えば、パケット処理部１６０は、上位３ビットを「000」とすることで、パケットの優先度を「1」に変更する。また、パケット処理部１６０は、上位３ビットを「010」とすることで、パケットの優先度を「3」に変更する。
【００６３】
なお、ＩＰヘッダ部がＴＯＳフィールドを有する例について説明したが、ＩＰヘッダ部はＤＳフィールドを有していてもよい。なお、ＤＳフィールドでは、上位６ビットが優先度に係る領域である。
【００６４】
（実施態様１に係る処理シーケンス）
図８は、実施態様１に係る処理シーケンスの例を示す図である。端末１００は、所定のアプリケーションによって生成されたパケットを、端末１００側のオープンフロースイッチ１５０に伝送する（ステップＳ１０）。オープンフロースイッチ１５０は、受信したパケットのＩＰヘッダ部と、フローテーブル１７０のフローエントリの条件とを比較する。パケット処理部１６０は、パケットがいずれのフローエントリの条件にも一致しないため、処理方法の問い合わせに関するメッセージを格納したパケットを生成し、オープンフローコントローラ５００に当該パケットを伝送する（ステップＳ１１）。オープンフローコントローラ５００は、処理方法の問い合わせに関するメッセージを受信した場合、一時的フローエントリを生成する。続いて、オープンフローコントローラ５００は、生成した一時的フローエントリをオープンフロースイッチ１５０に送信し、フローテーブル１７０に格納させる（ステップＳ１２）。
【００６５】
オープンフロースイッチ１５０は、フローテーブル１７０に格納された一時的フローエントリに基づいて処理したパケットを、無線ＬＡＮＩ／Ｆ１５１に伝送する（ステップＳ１３）。無線ＬＡＮＩ／Ｆ１５１は、受信したパケットを無線ＬＡＮでアクセスポイント４００に伝送する（ステップＳ１４）。アクセスポイント４００は、受信したパケットをアクセスポイント４００側のオープンフロースイッチ４５０に伝送する（ステップＳ１５）。
【００６６】
オープンフロースイッチ４５０は、受信したパケットのＩＰヘッダ部とフローテーブル４７０のフローエントリの条件とを比較する。パケット処理部４６０は、パケットがいずれのフローエントリの条件にも一致しないため、処理方法の問い合わせに関するメッセージを格納したパケットを生成し、オープンフローコントローラ５００に当該パケットを伝送する（ステップＳ１６）。オープンフローコントローラ５００は、処理方法の問い合わせに関するメッセージを受信した場合、一時的フローエントリを生成する。続いて、オープンフローコントローラ５００は、生成した一時的フローエントリをオープンフロースイッチ４５０に送信し、フローテーブル４７０に格納させる（ステップＳ１７）。
【００６７】
オープンフロースイッチ４５０は、フローテーブル４７０に格納された一時的フローエントリに基づいて処理したパケットを、ルータ５２０に伝送する（ステップＳ１８）。
【００６８】
端末１００側のオープンフロースイッチ１５０は、所定時間経過後にフローテーブル１７０から一時的フローエントリに係る伝送パケット量を統計情報として取得し、オープンフローコントローラ５００に送信する（ステップＳ１９）。また、アクセスポイント４００側のオープンフロースイッチ４５０は、所定時間経過後にフローテーブル４７０から一時的フローエントリに係る伝送パケット量を統計情報として取得し、オープンフローコントローラ５００に送信する（ステップＳ２０）。
【００６９】
オープンフローコントローラ５００は、統計情報の差分によって通信品質を分析して優先度を決定する（ステップＳ２１）。例えば、オープンフローコントローラ５００は、端末１００側のオープンフロースイッチ１５０から受信した伝送パケット量（ＭＢ）からアクセスポイント４００側のオープンフロースイッチ４５０から受信した伝送パケット量（ＭＢ）を減算してロスしたパケット量（ＭＢ）を算出する。続いて、オープンフローコントローラ５００は、ロスしたパケット量（ＭＢ）をオープンフロースイッチ１５０から受信した伝送パケット量（ＭＢ）で除算することで、パケットロス率（％）を算出する。
【００７０】
なお、オープンフローコントローラ５００は、端末１００側のオープンフロースイッチ１５０から送信されたマーキングパケットの通過時刻と、アクセスポイント４００側のオープンフロースイッチ４５０から送信されたマーキングパケットの通過時刻との差分に基づいて、遅延時間（ｍｓ）を算出してもよい。
【００７１】
オープンフローコントローラ５００は、通信品質の分析結果に基づいて優先度付きフローエントリを生成する。続いて、オープンフローコントローラ５００は、優先度付きフローエントリをオープンフロースイッチ４５０に送信し、当該優先度付きフローエントリをフローテーブル４７０に格納する（ステップＳ２２）。また、オープンフローコントローラ５００は、ステップＳ１７でフローテーブル４７０に格納された一時的フローエントリを削除する。
【００７２】
また、オープンフローコントローラ５００は、優先度付きフローエントリをオープンフロースイッチ１５０に送信し、当該優先度付きフローエントリをフローテーブル１７０に格納する（ステップＳ２３）。また、オープンフローコントローラ５００は、ステップＳ１２でフローテーブル１７０に格納された一時的フローエントリを削除する。
【００７３】
端末１００は、ステップＳ１０に対応するパケットをオープンフロースイッチ１５０に伝送する（ステップＳ２４）。オープンフロースイッチ１５０は、優先度付きフローエントリに基づいて、当該パケットのＩＰヘッダ部のＴＯＳフィールドを書き換え、当該パケットの優先度を変更する。オープンフロースイッチ１５０は、優先度を変更したパケットを無線ＬＡＮＩ／Ｆ１５１に伝送する。
【００７４】
無線ＬＡＮＩ／Ｆ１５１は、受信したパケットを無線ＬＡＮでアクセスポイント４００に伝送する（ステップＳ２６）。なお、当該パケットが無線ＬＡＮを通過する場合に、当該パケットに対してＷＭＭ（Wi-Fi Multimedia）によるＱｏＳ制御がなされる。
【００７５】
アクセスポイント４００は、受信したパケットをオープンフロースイッチ４５０に伝送する（ステップＳ２７）。オープンフロースイッチ４５０は、受信したパケットをルータ５２０に伝送する（ステップＳ２８）。
【００７６】
なお、無線通信システム１は、上記処理シーケンスを一定時間毎に繰り返し実行してもよい。これにより、無線通信システム１における通信状態の変動を検知し、通信状態の変動に応じて動的に優先度を変更することができる。
【００７７】
（実施態様１に係るオープンフロースイッチの処理フロー）
図９は、オープンフロースイッチ１５０の処理フローの例を示す図である。オープンフロースイッチ１５０は、端末１００からパケットを受信する（ステップＳ３０）。オープンフロースイッチ１５０は、受信したパケットのＩＰヘッダからヘッダ情報を取得する（ステップＳ３１）。オープンフロースイッチ１５０は、取得したヘッダ情報と、フローテーブル１７０のフローエントリの条件とを比較する（ステップＳ３２）。
【００７８】
オープンフロースイッチ１５０は、ヘッダ情報がフローエントリの条件に一致する場合（ステップＳ３３ＹＥＳ）、一致するフローエントリから実行アクションを取得する（ステップＳ３４）。続いて、オープンフロースイッチ１５０は、実行アクションに基づいてパケットの優先度を変更する（ステップＳ３５）。すなわち、オープンフロースイッチ１５０は、パケットのＩＰヘッダ部のＴＯＳフィールドの上位３ビットを、実行アクションに格納されている優先度に基づいて書き換える。続いて、オープンフロースイッチ１５０は、当該パケットを宛先アドレスに伝送する（ステップＳ３６）。
【００７９】
一方、オープンフロースイッチ１５０は、ヘッダ情報がいずれのフローエントリの条件にも一致しない場合（ステップＳ３３ＮＯ）、オープンフローコントローラ５００に問い合わせのメッセージを送信する（ステップＳ３７）。
【００８０】
（効果）
無線ＬＡＮ環境では、同一のアクセスポイントを共有するセッションの数や種類は変動し続け、また無線ＬＡＮの電波状況も変動し続ける状況であるため、無線ＬＡＮ全体の通信品質が低下しないようにユーザが各々の通信の優先度を手動で変更し続けるものとすると、ユーザにとって煩雑な作業となる。
【００８１】
実施形態１の無線通信システム１によれば、無線通信を行う各々の装置で計測された統計情報の比較によって分析される通信品質に基づいて、それぞれのパケット通信に優先度を設定することで、装置間でなされる通信の状況に応じて通信品質を制御することができる。
【００８２】
また、実施形態１の無線通信システム１によれば、各装置間でなされる通信に対して同じ手順で優先度が設定されることになるので、ネットワーク全体で一貫性のある制御を行うことができる。
【００８３】
［第２実施形態］
第２実施形態においてオープンフローコントローラ５００は、同一端末内に含まれる複数のアプリケーション毎に通信の優先度を設定する。なお、第２実施形態では、システム構成は図１に係る無線通信システム１と同じであり、オープンフロースイッチ１５０は図２の構成を有し、オープンフローコントローラ５００は図６の構成を有するものとする。
【００８４】
（第２実施形態に係るオープンフロースイッチの構成）
パケット処理部１６０は、端末１００からオープンフロースイッチ１５０に伝送されたパケットを受信する。続いて、パケット処理部１６０は、受信したパケットのＩＰヘッダ部とフローテーブル１７０のフローエントリの条件とを比較する。
【００８５】
フローテーブル１７０は、アプリケーション毎に別々のフローエントリを有する。例えば、パケットを送出するアプリケーションが異なれば、ＩＰヘッダ部に格納されている伝送元の接続ポート番号及び宛先ＴＣＰ／ＩＰポート番号が異なるので、各々のアプリケーションから送出されたパケットは別々のフローエントリの条件に一致することになる。なお、異なる２つのアプリケーションが送出するパケットのＩＰヘッダ部に同じ伝送元の接続ポート番号及び宛先ＴＣＰ／ＩＰポート番号が設定されている場合もある。
【００８６】
パケット処理部１６０は、パケットがいずれのフローエントリの条件にも一致しない場合、処理方法の問い合わせに関するメッセージをパケットに格納し、当該パケットをオープンフローコントローラ５００に伝送する。
【００８７】
例えば、パケット処理部１６０は、フローエントリの条件である伝送元の接続ポート番号及び宛先ＴＣＰ／ＩＰポート番号がパケットと異なる場合、処理方法の問い合わせに関するメッセージに係るパケットを生成し、オープンフローコントローラ５００に当該パケットを伝送する。
【００８８】
フローテーブル更新部１６１は、処理方法の問い合わせに関するメッセージを受信したオープンフローコントローラ５００から一時的フローエントリを受信する。フローテーブル更新部１６１は、受信した一時的フローエントリをフローテーブル１７０の新規のフローエントリとして格納する。
【００８９】
パケット処理部１６０は、フローテーブル１７０に格納された一時的フローエントリに基づいてパケットを処理し、無線ＬＡＮＩ／Ｆ１５１を介して当該パケットを伝送する。また、パケット処理部１６０は、一部マーキングパケットを生成してオープンフロースイッチ４５０に伝送する。
【００９０】
統計情報更新部１６２は、フローエントリ毎に、伝送されたパケットの総容量（ＭＢ）をフローテーブルに記憶させる。
【００９１】
統計情報更新部１６２は、一時的フローエントリに係るパケットの伝送を開始してから所定時間経過後に、伝送された一時的フローエントリに係るパケットの総容量（ＭＢ）をフローテーブル１７０から取得する。そして、統計情報更新部１６２は、伝送された一時的フローエントリに係るパケットの総容量（ＭＢ）をオープンフローコントローラ５００に送信する。
【００９２】
なお、アクセスポイント４００側のオープンフロースイッチ４５０においても、同様にフローテーブル４７０に一時的フローエントリを格納し、一時的フローエントリに係る伝送パケットの総容量（ＭＢ）をオープンフローコントローラ５００に送信する。
【００９３】
オープンフローコントローラ５００は、端末１００側のオープンフロースイッチ１５０から送信された統計情報と、アクセスポイント４００側のオープンフロースイッチ４５０から送信された統計情報との比較によって分析される通信品質に基づいて優先度を決定し、優先度付きフローエントリを生成する。オープンフローコントローラ５００は、生成された優先度付きフローエントリを、端末１００及びアクセスポイント４００のフローテーブルにそれぞれ格納する。
【００９４】
そして、オープンフロースイッチ１５０において、パケット処理部１６０は、優先度付きフローエントリに基づいてパケットの優先度を変更した上で、パケットを伝送する。
【００９５】
（効果）
アプリケーションが送出するパケットの優先度は、アプリケーション毎に異なる。例えば、音声通話に関するアプリケーションが送出するパケットの優先度は、リアルタイム性が求められるため、比較的高い場合が多い。一方、ファイル送付に関するアプリケーションが送出するパケットの優先度は、音声通話に比べて低い場合が多い。
【００９６】
実施形態２の無線通信システム１によれば、無線通信を行う各々の装置で計測された統計情報の比較によって分析される通信品質に基づいて、それぞれのアプリケーションから送出されたパケットに優先度を設定することで、アプリケーション毎に通信の状況に応じて通信品質を制御することができる。
【００９７】
［第３実施形態］
第１実施形態及び第２実施形態では、オープンフローコントローラ５００は、オープンフロースイッチ４５０及びルータ５２０が接続されているバス５１０上に位置するが、これに限定されない。例えば、オープンフローコントローラ５００は、端末１００、端末２００及び端末３００に直接接続されていてもよい。また、オープンフローコントローラ５００は、アクセスポイント４００に内蔵されていてもよい。
【００９８】
第１実施形態及び第２実施形態では、通信品質としてパケットロス率及び遅延時間が算出されたが、これに限定されない。例えば、無線デバイスやデバイスドライバ等に再送率を計測させ、計測させた再送率を通信品質としてオープンフローコントローラ５００に送信させてもよい。これにより、無線通信システム１は、より正確なＱｏＳ制御を行うことができる。
【００９９】
第１実施形態及び第２実施形態では、オープンフロースイッチ１５０は、パケットに対応するフローエントリがない場合に、上記処理を実行して新規のフローエントリに優先度を設定したが、これに限定されない。例えば、オープンフロースイッチ１５０は、フローテーブルにパケットに対応するフローエントリが既にある場合に、上記処理を実行して当該フローエントリに優先度を再度設定しなおしてもよい。
【０１００】
また、オープンフロースイッチ１５０は、フローテーブル１７０にパケットに対応するフローエントリがある場合に、他のフローエントリの優先度を下げることで、フローエントリの優先度を相対的に上げるようにしてもよい。
【０１０１】
第１実施形態及び第２実施形態では、複数のオープンフロースイッチから伝送されるパケットを、一つのアクセスポイントで受信するがこれに限定されない。複数のアクセスポイントがパケットを受信してもよい。かかる場合において、各々のアクセスポイントに係るオープンフロースイッチは、同じフローテーブルを有してもよい。
【０１０２】
第１実施形態及び第２実施形態では、複数のオープンフロースイッチを一つのオープンフローコントローラで制御するがこれに限定されない。複数のオープンフローコントローラが各オープンフロースイッチを制御してもよい。
【０１０３】
以上、管理システムを実施形態により説明したが、本発明は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。
【０１０４】
（端末のハードウェア構成）
図１０は、端末１００のハードウェア構成を示す図である。
端末１００は、ＣＰＵ５１と、ＲＯＭ５２と、ＲＡＭ５３と、ＨＤＤ５４と、操作部５５と、表示部５６と、ドライブ装置５７と、記憶媒体５８とを有する。
【０１０５】
ＣＰＵ５１は、端末１００の全体制御を行うプロセッサである。ＣＰＵ５１は、オープンフロースイッチ１５０の各処理部の機能を実現する。すなわち、ＣＰＵ５１は、図２のパケット処理部１６０、フローテーブル更新部１６１及び統計情報更新部１６２の機能を実現する。また、ＣＰＵ５１は、ＨＤＤ５４等に記憶されたオペレーティングシステム、アプリケーション、各種サービス等のプログラムを実行し、端末１００の各種機能を実現する。ＲＯＭ５２には、各種のプログラム及びプログラムによって利用されるデータ等が記憶される。ＲＡＭ５３は、プログラムをロードするための記憶領域、もしくはロードされたプログラムのワーク領域等として用いられる。ＨＤＤ５４には、各種情報及びプログラム等が記憶される。
【０１０６】
操作部５５は、ユーザからの入力操作を受け付けるためのハードウェアであり、例えばキーボード、マウス又はタッチパネル等である。
【０１０７】
表示部５６は、ユーザに向けた表示を行うハードウェアであり、例えば、モニタ、液晶ディスプレイなどである。
【０１０８】
ドライブ装置５７は、プログラムを記録した記憶媒体５８からプログラムを読み取る。ドライブ装置５７によって読み取られたプログラムは、例えば、ＨＤＤ５４にインストールされる。
【０１０９】
なお、記憶媒体５８とは、非一時的な記憶媒体を言う。記憶媒体５８の例としては、磁気記憶媒体、光ディスク、光磁気記憶媒体、不揮発性メモリなどがある。
【０１１０】
無線ＬＡＮＩ／Ｆ６０は、ベースバンド部６１、ＲＦ部６２、送受信部６３、アンテナ６４を有する。ベースバンド部６１は、無線を通じて端末１００と送受信するＩＰパケットから構成されるデジタルデータと、電気信号との間で変換を行う。ＲＦ部６２は、ベースバンド部６１にて生成された電気信号の周波数と無線の電波の周波数との間で変換を行う。送受信部６３は、ＲＦ部６２にて生成された無線の電波の電力増幅を行う。また、受信した電波を増幅してＲＦ部６２に渡す。アンテナ６４は、電波の送信や受信を行う。
【０１１１】
なお、端末２００及び端末３００も図１０に係るハードウェア構成を有していてもよい。
【０１１２】
（アクセスポイントのハードウェア構成）
図１１は、アクセスポイント４００のハードウェア構成を示す図である。アクセスポイント４００は、ＣＰＵ７１、ＲＯＭ７２、ＲＡＭ７３、ＮＶＲＡＭ７４、ＮＩＣ（Network Interface Card）８１、操作部８２、表示部８３、ドライブ装置８４、記憶媒体８５及び無線ＬＡＮＩ／Ｆ９０を含む。アクセスポイント４００は、例えば、Ｗｉ−Ｆｉ Ｄｉｒｅｃｔ規格に準拠したプリンタ、ＴＶ（Television）又はＰＣ（Personal Computer）等である。
【０１１３】
ＣＰＵ７１は、アクセスポイント４００の全体制御を行うプロセッサである。ＣＰＵ７１は、オープンフロースイッチ４５０の各処理部の機能を実現する。すなわち、ＣＰＵ７１は、図４のパケット処理部４６０、フローテーブル更新部４６１及び統計情報更新部４６２の機能を実現する。
【０１１４】
ＲＯＭ７２には、各種のプログラムやプログラムによって利用されるデータ等が記憶されている。ＲＡＭ７３は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＮＶＲＡＭ７４には、各種の設定情報等が記憶される。
【０１１５】
ＮＩＣ８１は、例えばＬＡＮに接続され、アクセスポイント４００が他の装置と通信する場合に用いてもよい。ＮＩＣ８１は、通信Ｉ／Ｆ１５２の一例である。
【０１１６】
操作部８２は、アクセスポイント４００の電源のＯＮ／ＯＦＦや、アクセスポイント４００の動作設定といったユーザからの各種入力を受け付ける。表示部８３は、アクセスポイント４００の動作状況を表示する。
【０１１７】
ドライブ装置８４は、記憶媒体８５に格納されたプログラム又はデータを読込む。プログラムを記録した記憶媒体８５をドライブ装置８４にセットすることで、プログラムを記憶媒体８５からドライブ装置８４を介してＲＡＭ７３にロードすることが出来る。記憶媒体８５の例としては、磁気記憶媒体、光ディスク、光磁気記憶媒体、不揮発性メモリなどがある。
【０１１８】
無線ＬＡＮＩ／Ｆ９０は、ベースバンド部９１、ＲＦ部９２、送受信部９３、アンテナ９４を有する。ベースバンド部９１は、無線を通じて端末１００と送受信するＩＰパケットから構成されるデジタルデータと、電気信号との間で変換を行う。ＲＦ部９２は、ベースバンド部９１にて生成された電気信号の周波数と無線の電波の周波数との間で変換を行う。送受信部９３は、ＲＦ部９２にて生成された無線の電波の電力増幅を行う。また、受信した電波を増幅してＲＦ部９２に渡す。アンテナ９４は、電波の送信や受信を行う。
【符号の説明】
【０１１９】
５      インターネット
１００，２００，３００  端末
１５０，２５０，３５０，４５０  オープンフロースイッチ
１５１  無線ＬＡＮＩ／Ｆ
１６０  パケット処理部
１６１  フローテーブル更新部
１６２  統計情報更新部
１７０  フローテーブル
４００  アクセスポイント
５００  オープンフローコントローラ
５０１  通信Ｉ／Ｆ
５１０  バス
５１１  スイッチ制御部
５１２  通信品質分析部
５１３  優先度設定部
５１４  フローテーブル管理部
５２０  ルータ
【先行技術文献】
【特許文献】
【０１２０】
【特許文献１】特開２０１２−５２７７１１号公報
【図１】
0006558044.tif 000002
【図２】
0006558044.tif 000003
【図３Ａ】
0006558044.tif 000004
【図３Ｂ】
0006558044.tif 000005
【図３Ｃ】
0006558044.tif 000006
【図３Ｄ】
0006558044.tif 000007
【図４】
0006558044.tif 000008
【図５Ａ】
0006558044.tif 000009
【図５Ｂ】
0006558044.tif 000010
【図５Ｃ】
0006558044.tif 000011
【図６】
0006558044.tif 000012
【図７】
0006558044.tif 000013
【図８】
0006558044.tif 000014
【図９】
0006558044.tif 000015
【図１０】
0006558044.tif 000016
【図１１】
0006558044.tif 000017