(57)【要約】【課題】オーバーレイ等の仮想ネットワークを利用する場合に、パケット処理による性能ボトルネックが問題となる。【解決手段】本発明による通信システムは、通信データを複数のパケットにより送信するコンピューティングユニットと、仮想ネットワークを介して前記パケットを伝送するためのパケット処理を実行する通信ユニットとを備え、前記コンピューティングユニットは、複数のパケットサイズの候補から、前記通信ユニットに送信する送信パケットの転送経路に関する情報に基づいて選択されたパケットサイズにより、前記送信パケットのサイズを調整する。【選択図】図１
2015533045.tif 000002
【特許請求の範囲】
【請求項１】
通信データを複数のパケットにより送信するコンピューティングユニットと、
仮想ネットワークを介して前記パケットを伝送するためのパケット処理を実行する通信ユニットとを備え、
前記コンピューティングユニットは、複数のパケットサイズの候補から、前記通信ユニットに送信する送信パケットの転送経路に関する情報に基づいて選択されたパケットサイズにより、前記送信パケットのサイズを調整する
ことを特徴とする通信システム。
【請求項２】
前記コンピューティングユニットは、前記転送経路に関する情報に対応するパケットサイズの最大許容値を記憶する記憶部を有し、
前記コンピューティングは、前記送信パケットのパケットサイズを前記最大許容値に調整可能である
ことを特徴とする請求項１の通信システム。
【請求項３】
前記コンピューティングユニットは、前記転送経路上に設定された複数の最大送信単位の最小値に基づいて、前記送信パケットのパケットサイズを調整する
ことを特徴とする請求項１又は２の通信システム。
【請求項４】
前記コンピューティングユニットは、前記送信パケットのパケットサイズを、前記転送経路を構成する複数の通信機器の各々に設定された最大送信単位の最小値に調整する
ことを特徴とする請求項１乃至３のいずれか１項に記載の通信システム。
【請求項５】
前記コンピューティングユニットは、前記送信パケットのパケットサイズを、前記送信パケットの宛先に対応する最大送信単位に調整する
ことを特徴とする請求項１乃至４のいずれか１項に記載の通信システム。
【請求項６】
前記コンピューティングユニットは、前記送信パケットのパケットサイズを、前記転送経路上で前記送信パケットに所定の処理を実行する通信装置に対応する最大送信単位に調整する
ことを特徴とする請求項１乃至４のいずれか１項に記載の通信システム。
【請求項７】
前記転送経路上に設定された最大送信単位を収集し、収集した最大送信単位の少なくとも１つを入力とする演算により算出された最大送信単位と前記転送経路に関する情報とを対応付けて前記コンピューティングユニットに設定する制御装置を含むことを特徴とする請求項1乃至６のいずれか１項に記載の通信システム。
【請求項８】
通信データを複数のパケットにより送信するコンピューティングユニットと、通信ユニットとを含む通信システムにおける通信方法であって、
複数のパケットサイズの候補から、送信パケットの転送経路に関する情報に基づいて選択されたパケットサイズにより、前記送信パケットのサイズを調整し、
前記送信パケットを前記通信ユニットに送信し、
仮想ネットワークを介して前記送信パケットを伝送するためのパケット処理を実行する  ことを特徴とする通信方法。
【請求項９】
前記送信パケットのサイズを、前記転送経路に関する情報に対応するパケットサイズの最大許容値に調整する
ことを特徴とする請求項８の通信方法。
【請求項１０】
前記転送経路上に設定された複数の最大送信単位の最小値に基づいて、前記送信パケットのパケットサイズを調整する
ことを特徴とする請求項８又は９の通信方法。
【請求項１１】
前記送信パケットのパケットサイズを、前記転送経路を構成する複数の通信機器の各々に設定された最大送信単位の最小値に調整する
ことを特徴とする請求項８乃至１０のいずれか１項に記載の通信方法。
【請求項１２】
前記送信パケットのパケットサイズを、前記送信パケットの宛先に対応する最大送信単位に調整する
ことを特徴とする請求項８乃至１１のいずれか１項に記載の通信方法。
【請求項１３】
前記送信パケットのパケットサイズを、前記転送経路上で前記送信パケットに所定の処理を実行する通信装置に対応する最大送信単位に調整する
ことを特徴とする請求項８乃至１１のいずれか１項に記載の通信方法。
【請求項１４】
前記転送経路上に設定された最大送信単位を収集し、
収集した最大送信単位の少なくとも１つを入力とする演算により算出された最大送信単位と前記転送経路に関する情報とを対応付けて前記コンピューティングユニットに設定する
ことを特徴とする請求項８乃至１３のいずれか１項に記載の通信方法。
【請求項１５】
通信データを複数のパケットにより送信するコンピューティングユニットと、
仮想ネットワークを介して前記パケットを伝送するためのパケット処理を実行する通信ユニットとを備え、
前記コンピューティングユニットは、複数のパケットサイズの候補から、前記通信ユニットに送信する送信パケットの転送経路に関する情報に基づいて選択されたパケットサイズにより、前記送信パケットのサイズを調整する
ことを特徴とする情報処理装置。
【請求項１６】
仮想ネットワークを介してパケットを伝送するためのパケット処理を実行する通信ユニットと通信する仮想計算機を生成する第一の手段と、
前記仮想計算機が前記通信ユニットに送信する送信パケットのサイズを調整するために参照する記憶部に、前記パケットの転送経路に関する情報と、該情報に対応するパケットサイズとを設定する第二の手段と
を備えることを特徴とする情報処理装置。
【請求項１７】
前記第二の手段は、前記転送経路に関する情報に対応するパケットサイズの最大許容値を前記記憶部に設定する
ことを特徴とする請求項１６の情報処理装置。
【請求項１８】
前記第二の手段は、前記転送経路上に設定された複数の最大送信単位の最小値に基づいて、前記記憶部にパケットサイズを設定する
ことを特徴とする請求項１６又は１７の情報処理装置。
【請求項１９】
前記第二の手段は、前記転送経路上に設定された最大送信単位を収集し、収集した最大送信単位の少なくとも１つを入力とする演算により算出された最大送信単位と、前記転送経路に関する情報とを対応付けて前記記憶部に設定する
ことを特徴とする請求項1６乃至１８のいずれか１項に記載の情報処理装置。
【請求項２０】
前記第二の手段は、前記転送経路を構成する複数の通信機器の各々に設定された最大送信単位の最小値に基づいて、前記記憶部にパケットサイズを設定する
ことを特徴とする請求項１６乃至１９のいずれか１項に記載の情報処理装置。
【請求項２１】
前記第二の手段は、前記送信パケットの宛先に対応する最大送信単位を、前記記憶部に設定する
ことを特徴とする請求項１６乃至１９のいずれか１項に記載の情報処理装置。
【請求項２２】
前記第二の手段は、前記転送経路上で前記送信パケットに所定の処理を実行する通信装置に対応する最大送信単位を、前記記憶部に設定する
ことを特徴とする請求項１６乃至１９のいずれか１項に記載の情報処理装置。
【請求項２３】
仮想ネットワークを介してパケットを伝送するためのパケット処理を実行する通信ユニットと通信する仮想計算機を生成し、
前記仮想計算機が前記通信ユニットに送信する送信パケットのサイズを調整するために参照する記憶部に、前記パケットの転送経路に関する情報と、該情報に対応するパケットサイズとを設定する
ことを特徴とする通信制御方法。
【請求項２４】
仮想ネットワークを介してパケットを伝送するためのパケット処理を実行する通信ユニットと通信する仮想計算機を生成する処理と、
前記仮想計算機が前記通信ユニットに送信する送信パケットのサイズを調整するために参照する記憶部に、前記パケットの転送経路に関する情報と、該情報に対応するパケットサイズとを設定する処理と、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、日本国特許出願：特願２０１２−２１１７２９号（２０１２年９月２６日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、通信方法、情報処理装置、通信制御方法及びプログラムに関し、仮想ネットワークにより通信する通信システム、通信方法、情報処理装置、通信制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、データセンタ等のネットワークは、仮想ネットワーク（例えば、オーバーレイネットワーク）により、企業やグループ等の利用者毎にネットワークを区別して管理されることが多い。
【０００３】
特許文献１は、オーバーレイネットワークを用いて通信する技術を開示する。特許文献１の通信機器は、オーバーレイネットワークを介してパケットを伝送するため、パケットをカプセル化する処理を実行する。
【０００４】
特許文献２は、ネットワーク接続機器がＶＰＮによりネットワークと接続する場合、ネットワーク接続機器がネットワーク制御装置に、ＶＰＮに対応するＭＴＵ（Ｍａｘｉｍｕｍ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｕｎｉｔ）を問合せる技術を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第８１６６２０５号明細書
【特許文献２】特開２００９−１７１３０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。特許文献１のように、パケットの各々をカプセル化する処理は、通信システムの性能のボトルネックとなる可能性がある。性能ボトルネックは、通信量（即ち、パケット数）が増加するほど顕著となる。
【０００７】
特許文献２のように、パケットのＭＴＵを調整することで、カプセル化処理を実行すべきパケット数を調整し、性能ボトルネックが改善される可能性もある。しかし、特許文献２は、ＶＰＮに接続する度に、ネットワーク接続機器が、ネットワーク制御装置に、ＶＰＮに対応するＭＴＵを問合せる。従って、ＭＴＵの問合せにより生じるボトルネックが問題となる。
【０００８】
本発明の目的は、オーバーレイ等の仮想ネットワークを利用する場合に、パケット処理による性能ボトルネックを低減することである。
【課題を解決するための手段】
【０００９】
第１の視点によれば、通信システムは、通信データを複数のパケットにより送信するコンピューティングユニットと、仮想ネットワークを介して前記パケットを伝送するためのパケット処理を実行する通信ユニットとを備え、前記コンピューティングユニットは、複数のパケットサイズの候補から、前記通信ユニットに送信する送信パケットの転送経路に関する情報に基づいて選択されたパケットサイズにより、前記送信パケットのサイズを調整する。
【００１０】
第２の視点によれば、通信方法は、通信データを複数のパケットにより送信するコンピューティングユニットと、通信ユニットとを含む通信システムにおける通信方法であって、複数のパケットサイズの候補から、送信パケットの転送経路に関する情報に基づいて選択されたパケットサイズにより、前記送信パケットのサイズを調整し、前記送信パケットを前記通信ユニットに送信し、仮想ネットワークを介して前記送信パケットを伝送するためのパケット処理を実行する。
【００１１】
第３の視点によれば、情報処理装置は、通信データを複数のパケットにより送信するコンピューティングユニットと、仮想ネットワークを介して前記パケットを伝送するためのパケット処理を実行する通信ユニットとを備え、前記コンピューティングユニットは、複数のパケットサイズの候補から、前記通信ユニットに送信する送信パケットの転送経路に関する情報に基づいて選択されたパケットサイズにより、前記送信パケットのサイズを調整する。
【００１２】
第４の視点によれば、情報処理装置は、仮想ネットワークを介してパケットを伝送するためのパケット処理を実行する通信ユニットと通信する仮想計算機を生成する第一の手段と、前記仮想計算機が前記通信ユニットに送信する送信パケットのサイズを調整するために参照する記憶部に、前記パケットの転送経路に関する情報と、該情報に対応するパケットサイズとを設定する第二の手段とを備える。
【００１３】
第５の視点によれば、通信制御方法は、仮想ネットワークを介してパケットを伝送するためのパケット処理を実行する通信ユニットと通信する仮想計算機を生成し、前記仮想計算機が前記通信ユニットに送信する送信パケットのサイズを調整するために参照する記憶部に、前記パケットの転送経路に関する情報と、該情報に対応するパケットサイズとを設定する。
【００１４】
第６の視点によれば、プログラムは、仮想ネットワークを介してパケットを伝送するためのパケット処理を実行する通信ユニットと通信する仮想計算機を生成する処理と、前記仮想計算機が前記通信ユニットに送信する送信パケットのサイズを調整するために参照する記憶部に、前記パケットの転送経路に関する情報と、該情報に対応するパケットサイズとを設定する処理とをコンピュータに実行させる。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１５】
本発明の各視点によれば、オーバーレイ等の仮想ネットワークを利用する場合に、パケット処理による性能ボトルネックを低減できるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】第１の実施形態のシステム構成の例を示すブロック図である。
【図２】第１の実施形態のコンピューティングユニットの概要を示すブロック図である。
【図３】第１の実施形態の動作例を示すシーケンス図である。
【図４】第２の実施形態のシステム構成の例を示すブロック図である。
【図５】第２の実施形態のコンピューティングユニットの構成例を示すブロック図である。
【図６】第２の実施形態のシステム構成の例を示すブロック図である。
【図７】第２の実施形態の動作例を示す図である。
【図８】第３の実施形態のシステム構成の例を示すブロック図である。
【図９】第３の実施形態の制御サーバの構成例を示すブロック図である。
【図１０】第３の実施形態の動作例を示す図である。
【図１１】第４の実施形態に関連する技術を説明する図である。
【図１２】第４の実施形態に関連する技術を説明する図である。
【図１３】第４の実施形態のシステム構成の例を示すブロック図である。
【図１４】第４の実施形態の動作例を示すブロック図である。
【図１５】第４の実施形態の制御サーバの構成例を示すブロック図である。
【図１６】第４の実施形態の処理規則の例を示す図である。
【図１７】第４の実施形態の仮想スイッチの構成例を示す図である。
【発明を実施するための形態】
【００１７】
［第１の実施形態］
図１は、第１の実施形態のシステムの構成例を示す。図１は例示であり、本発明のシステムの構成は、図１に限定されない。
【００１８】
第１の実施形態の通信システムは、コンピューティングユニット（ＣＵ）１、通信ユニット２および仮想ネットワーク３を含む。
【００１９】
第１の実施形態において、ＣＵ１は、通信ユニット２に送信する送信パケットのサイズを調整する機能を有する。ＣＵ１が送信パケットのサイズを調整する機能を有することにより、通信ユニット２が処理すべきパケット数を調整できるので、通信ユニット２が実行するパケット処理による性能低下を抑止することが可能となる。また、ＣＵ１は、複数のパケットサイズの候補から、送信パケットの転送経路に関する情報に基づいてパケットサイズを選択する機能を有するので、仮想ネットワークに接続する度に、他の装置にパケットサイズを問合せることによる性能ボトルネックを回避できる。
【００２０】
通信ユニット２は、仮想ネットワーク３を介してパケットを伝送するためのパケット処理を実行する。パケット処理による性能低下は、通信ユニット２がパケット処理を実行するパケット数に依存する。送信パケットのサイズを調整する機能により、ＣＵ１は、パケットサイズを増加させることが可能となる。パケットサイズの増加により、通信ユニット２が処理すべきパケット数を抑止され、通信システムの性能低下を緩和することが可能となる。
【００２１】
ＣＵ１は、例えば、システムの利用者に対して、計算資源による演算処理等を提供する。ＣＵ１は、例えば、サーバや、サーバ上に構築された仮想計算機（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ（ＶＭ））等である。
【００２２】
ＣＵ１は、他のＣＵ１や他の通信端末と通信する機能を有する。ＣＵ１は、通信データを複数のパケットにより伝送する機能を有する。
【００２３】
通信ユニット２は、ＣＵ１が送信および受信するパケットを転送する機能を有する。通信ユニット２は、仮想ネットワーク３を介してパケットを伝送する機能を有する。通信ユニット２は、仮想ネットワーク３を介してパケットを伝送する場合、パケットを仮想ネットワーク３に適応させるためのパケット処理を実行する。
【００２４】
通信ユニット２は、例えば、ソフトウェアにより構成される仮想的なネットワークスイッチである。通信ユニット２は、例えば、Ｏｐｅｎ  ｖＳｗｉｔｃｈ（Ｏｐｅｎ  Ｖｉｒｔｕａｌ  Ｓｗｉｔｃｈ）により構成される。
【００２５】
仮想ネットワーク３は、例えば、既存のネットワーク上に構築された、仮想的な新たなネットワークである。仮想ネットワーク３は、例えば、ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＧＲＥ（Ｇｅｎｅｒｉｃ  Ｒｏｕｔｉｎｇ  Ｅｎｃａｐｓｕｌａｔｉｏｎ）、ＶＸＬＡＮ（Ｖｉｒｔｕａｌ  Ｅｘｔｅｎｓｉｂｌｅ  ＶＬＡＮ）等により仮想化されたオーバーレイネットワークである。なお、上記のプロトコルは例であり、仮想ネットワーク３を構築するために用いるプロトコルは、上述のプロトコルに限定されない。
【００２６】
通信ユニット２は、例えば、パケットを仮想ネットワーク３に適応させるために、パケットに所定の情報（ＶＬＡＮタグ等）を付加する処理を実行する。また、通信ユニット２は、例えば、パケットに付加された所定の情報を削除する処理も実行する。
【００２７】
図２は、第１の実施形態のＣＵ１の構成の例を示す。
【００２８】
ＣＵ１は、通信部１０、制御部１１を含む。
【００２９】
通信部１０は、通信データを送受信する機能を有する。通信部１０は、例えば、通信アプリケーション等である。
【００３０】
制御部１１は、通信部１０から送信された通信データを複数のパケットに分割する機能を有する。制御部１１は、各パケットのサイズを調整する機能を有する。
【００３１】
制御部１１は、例えば、パケットの転送経路に関連する情報に基づいて、パケットのサイズを調整する。制御部１１は、複数のパケットサイズの候補から、送信パケットの転送経路に関する情報に基づいてパケットサイズを選択する機能を有する。
【００３２】
許容されるパケットのサイズは、パケットの転送経路に関連する情報に依存する。転送経路に関連する情報は、例えば、パケットの宛先や、転送経路で経由する通信装置（スイッチ、ルータ、ファイアーウォール、ロードバランス等）を関する情報である。許容されるパケットのサイズは、パケットの宛先で許容されるサイズや、転送経路で経由する通信装置で許容されるサイズに依存する。よって、制御部１１は、例えば、パケットの宛先や通信装置で許容されるパケットサイズに基づいて、パケットサイズを調整する。
【００３３】
制御部１１は、例えば、パケットのサイズを、転送経路に関する情報に対応するパケットサイズの最大許容値に調整してもよい。例えば、パケットの宛先で許容されるサイズが６４Ｋｂｙｔｅ（最大許容値）の場合、制御部１１は、通信ユニット２に送信するパケットのサイズを、宛先の最大許容値である６４Ｋｂｙｔｅに調整する。パケットのサイズを最大許容値に調整することで、通信ユニット２が処理すべきパケット数を大きく削減でき、通信ユニット２が実行するパケット処理による性能低下を低減できる。
【００３４】
図３は、第１の実施形態の動作例を示すシーケンスチャートである。
【００３５】
ＣＵ１は、通信ユニット２にパケットを送信する場合、送信パケットの転送経路に関連する情報に基づいて、送信パケットのサイズを調整する。
【００３６】
通信ユニット２は、受信したパケットを仮想ネットワークに適応させるためのパケット処理を実行する。通信ユニット２は、例えば、パケットに、仮想ネットワーク用の識別情報（例えば、ＶＬＡＮタグ）を付加する。通信ユニット２は、パケット毎に、処理を実行する。
【００３７】
通信ユニット２は、処理が完了したパケットを、仮想ネットワーク３に送信する。
［第２の実施形態］
第２の実施形態は、パケットの最大転送単位（ＭＴＵ（Ｍａｘｉｍｕｍ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｕｎｉｔ））を用いてパケットサイズを設定する例を示す。
【００３８】
図４は、第２の実施形態のシステム構成の例を示す。
【００３９】
仮想ネットワーク３は、複数の通信機器３０で構成されている。各通信機器３０は、それぞれ複数のポートを有する。通信機器３０は、例えば、スイッチやルータ、ファイアーウォールやロードバランサ等のネットワークアプライアンスである。
【００４０】
通信機器３０の各ポートには、ＭＴＵが設定されている。ＭＴＵは、１パケットで送信されるデータの最大値である。ＭＴＵは、例えば、図４の例のように、通信機器３０のポート毎に設定されている。また、ＣＵ１にもＭＴＵが設定されている。
【００４１】
仮想ネットワーク３を構成する通信機器３０には、仮想ネットワーク３との通信用のＭＴＵが設定されているものとする。図４の例では、通信機器３０の各ポートに設定されたＭＴＵは、９Ｋｂｙｔｅである。
【００４２】
また、ＣＵ１にも、仮想ネットワークによる通信用のＭＴＵが設定されているものとする。  図５は、ＣＵ１の構成例を示す。
【００４３】
ＣＵ１は、通信部１０、制御部１１、ＭＴＵ管理部１２を有する。通信部１０、制御部１１は、第１の実施形態と同様の機能を有するため、詳細な説明は省略する。
【００４４】
ＭＴＵ管理部１２は、ＣＵ１が送信するパケットの転送経路に関する情報に対応するＭＴＵを管理する。例えば、ＭＴＵ管理部１２は、ＣＵ１が送信するパケットの宛先に応じたＭＴＵを管理する。
【００４５】
制御部１１は、ＭＴＵ管理部１２が管理する情報に基づいて、送信パケットのサイズを調整する。
【００４６】
ＭＴＵ管理部１２は、例えば、図６に示すテーブルによりＭＴＵを管理する。制御部１１は、ＭＴＵ管理部１２が有するテーブルを参照し、ＭＴＵを選択する。制御部１１は、テーブルの選択条件に基づいて、使用すべきＭＴＵを選択する。
【００４７】
テーブルの選択条件は、パケットの転送経路に関する情報に基づいて設定される。例えば、テーブルの選択条件は、パケットの宛先であり、制御部１１は、パケットの宛先に応じて、ＭＴＵを選択する。例えば、制御部１１は、送信データの宛先アドレスと、選択条件とを比較し、宛先アドレスに合致する選択条件に対応するＭＴＵを選択する。制御部１１は、選択したＭＴＵに基づいて送信データをパケットに分割し、通信ユニット２に送信する。なお、制御部１１は、選択したＭＴＵよりも小さい任意のＭＴＵに基づいてパケットを生成してもよい。図４の例では、ＣＵ１から他のＣＵ１に対してパケットを送信する場合、パケットのサイズは最大９Ｋｂｙｔｅに設定できる。一方、ＣＵ１から外部のインターネットに送信されるパケットについては、パケットのサイズは最大１５００ｂｙｔｅとなる。パケットをインターネットに送信する通信機器３０（ルーター装置）に設定されているＭＴＵが１５００ｂｙｅだからである。
【００４８】
テーブル選択条件は、例えば、パケットが転送経路で経由する通信機器３０に基づいて設定されてもよい。ＭＴＵは、通信機器３０の種類に依存して制限される場合がある。例えば、通信機器３０がＤＰＩ（Ｄｅｅｐ  Ｐａｃｋｅｔ  Ｉｎｓｐｅｃｔｉｏｎ）を実行する場合、許容されるＭＴＵが制限される（例えば９Ｋｂｙｔｅ等）。テーブル選択条件は、パケットが特定の通信機器３０を経由するか否かを判別するための情報により設定される。例えば、通信に使用されるプロトコル（ＴＣＰもしくはＵＤＰ）やポート番号に基づいて、パケットが特定の通信機器３０を経由するか否かが判別可能である。よって、テーブル選択条件は、プロトコル情報やポート番号により設定されてもよい。
【００４９】
ポートに設定されているＭＴＵよりも大きいサイズのパケットを受信した場合、通信機器３０は、例えば、設定されているＭＴＵのサイズで受信したパケットを分割する処理（フラグメント）を実行する。また、ポートに設定されているＭＴＵよりも大きいサイズのパケットを受信した場合、通信機器３０は、例えば、パケットの廃棄等の処理を行う。フラグメントやパケット廃棄は、システムの性能低下の原因となる可能性がある。
【００５０】
図７の例に示すように、仮想ネットワーク３を構成する通信機器３０の一部に、他の通信機器３０よりも小さいＭＴＵが設定されている場合、フラグメントやパケット廃棄が発生する可能性がある。図７の例において、ＣＵ１が６４Ｋバイトのサイズでパケットを送信した場合、ＭＴＵが９Ｋバイトに設定されている通信機器３０においてフラグメントやパケット廃棄が発生する可能性がある。
【００５１】
図７の例のような場合、ＭＴＵ管理部１２に設定されるＭＴＵは、転送経路に設定された複数のＭＴＵの最小値であってもよい。例えば、図７の例では、ＣＵ１が他のＣＵ１に対してパケットを送信する場合、転送経路に設定されたＭＴＵの最小値（図７の例では９Ｋｂｙｔｅ）がＭＴＵ管理部１２に設定されてもよい。仮想ネットワーク３に対応するＭＴＵの最小値が、仮想ネットワークとの通信用のＭＴＵとしてＣＵ１に設定されることで、フラグメントやパケット廃棄を回避できる。フラグメントやパケット廃棄を回避することにより、システムの性能低下を低減することができる。
【００５２】
仮想ネットワーク３に対応するＭＴＵの最小値以上のＭＴＵが、ＣＵ１に設定されてもよい。つまり、ＣＵ１は、仮想ネットワーク３に対応するＭＴＵの最小値に関わらず、設定されたＭＴＵでパケットを送信してもよい。仮想ネットワークに対応する通信機器３０がＯＳＩ参照モデルのネットワーク層（レイヤ３）に対応する機器である場合、ＣＵ１が送信したパケットが仮想ネットワークの最小のＭＴＵよりも大きい場合、ＣＵ１は、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）に従ってエラーメッセージ（“Ｐａｃｋｅｔ  Ｔｏｏ  Ｂｉｇ”メッセージ）を受信することが想定される。ＣＵ１は、ＩＣＭＰのエラーメッセージを受信した場合に、送信するパケットのＭＴＵを減らせばよい。もしくは、通信機器３０に、設定されたＭＴＵよりも大きいサイズのパケットを分割（フラグメント）させてもよい。フラグメントによる性能低下が小さい場合、例えば、ＣＵ１は、ＩＣＭＰのエラーメッセージを受信したとしても、ＭＴＵを変更しなくてもよい。
［第３の実施形態］
図８は、第３の実施形態のシステム構成の例を示す。第３の実施形態は、仮想ネットワーク３を構成する通信機器３０に設定されたＭＴＵを、制御サーバ４が収集する例を示す。仮想ネットワーク３に設定されているＭＴＵを制御サーバ４が一元管理できるので、ＣＵ１に設定すべきＭＴＵを容易に決定できる。
【００５３】
第３の実施形態のシステムは、制御サーバ４を有する。制御サーバ４は、仮想ネットワーク３を構成する通信機器３０に設定されたＭＴＵを収集する。制御サーバ４は、収集したＭＴＵに基づいて、仮想ネットワークによる通信用のＭＴＵをＣＵ１に設定する。
【００５４】
図９は、制御サーバ４の構成の例を示す。
【００５５】
ＭＴＵ管理部４２は、通信システムに存在する装置（ＣＵ１や通信機器３０）からＭＴＵ情報を収集し、ＭＴＵ管理ＤＢ（Ｄａｔａ  Ｂａｓｅ）４３により収集したＭＴＵを管理する。
【００５６】
ＭＴＵ管理部４２は、例えば、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）を用いてＭＴＵを収集する。通信機器３０は、ＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）により、各ポートに設定されたＭＴＵ情報を管理する。ＭＴＵ管理部４２は、例えば、ＳＮＭＰの“Ｇｅｔ  Ｒｅｑｕｅｓｔ”メッセージにより、通信機器３０に対してＭＴＵ情報を要求する。通信機器３０は、例えば、“Ｇｅｔ  Ｒｅｓｐｏｎｓｅ”メッセージにより、ＭＴＵ情報をＭＴＵ管理部４２に送信する。
【００５７】
ＭＴＵ設定部４１は、ＭＴＵ管理部４２が収集したＭＴＵに基づいて、ＣＵ１にＭＴＵを設定する。ＭＴＵ設定部４１は、例えば、パケットが送信元から宛先に転送されるときに経由する通信機器３０のＭＴＵに基づいて、ＣＵ１にＭＴＵを設定する。図１０の例では、例えば、ＣＵ１（Ａ）が、ＣＵ１（Ｂ）に対してパケットを送信するものとする。ＭＴＵ設定部４１は、例えば、ＭＴＵ管理部４２が収集したＭＴＵを参照し、ＣＵ１（Ａ）からＣＵ１（Ｂ）への経路上の最小のＭＴＵを検索する。ＭＴＵ設定部４１は、経路上の最小のＭＴＵ（図１０の例では９Ｋバイト）を、ＣＵ１（Ｂ）を宛先とするパケットのＭＴＵとして、ＣＵ１（Ａ）のＭＴＵ管理部１２に設定する。ＭＴＵ設定部４１は、例えば、図６で例示したテーブルフォーマットで、ＭＴＵ管理部１２にＭＴＵを設定する。
【００５８】
ＭＴＵ設定部４１は、上述の方法で、システムに存在する各ＣＵ１にＭＴＵを設定する。
【００５９】
制御サーバ４が各ＣＵ１にＭＴＵを設定するので、システムのオペレータが手動で各ＣＵ１にＭＴＵを設定する負荷が軽減される。また、各ＣＵ１は、制御サーバ４から設定されたＭＴＵにより、通信毎に適切なＭＴＵを選択することが可能となる。従って、通信ユニット２によるパケット処理の負荷が軽減され、システムの通信性能が向上する。
【００６０】
制御サーバ４は、ＭＴＵの収集と、ＣＵ１へのＭＴＵ設定以外の機能を有してもよい。
例えば、制御サーバ４は、システムの統合運用管理のための機能を有してもよい。統合運用管理のための機能として、例えば、制御サーバ４は、ＶＭ生成部４０を有する。
【００６１】
ＶＭ生成部４０は、システムのサーバに仮想計算機（ＶＭ）を生成する機能を有する。
ＶＭ生成部４０は、サーバの資源（ＣＰＵやメモリ）により、仮想的な計算機（ＶＭ）を生成する。ＶＭ生成部４０は、例えば、ＣＵ１をＶＭにより構成する。なお、ＶＭ生成部４０は、ＶＭを生成する際、ＶＭにＭＴＵを設定してもよい。ＶＭ生成部４０は、ＶＭに設定したＭＴＵをＭＴＵ管理部４２に通知する。
【００６２】
ＶＭ生成部４０は、ソフトウェアにより構成される仮想的なスイッチである通信ユニット２を生成してもよい。ＶＭ生成部４０が生成する通信ユニット２は、ソフトウェアで構成された仮想なスイッチであり、物理スイッチと同様の機能を有する。
【００６３】
ＭＴＵ設定部４１は、ＶＭ生成部４０が、ＣＵ１と通信ユニット２を生成したときに、ＣＵ１にＭＴＵを設定してもよい。
【００６４】
なお、制御サーバ４は、ＶＭ生成部４０に対応する機能を有することは必須ではない。
［第４の実施形態］
第４の実施形態は、本発明を、集中制御型のアーキテクチャを有するオープンフロー（ＯｐｅｎＦｌｏｗ）という技術を改良して実施する例を示す。
【００６５】
図１１及び図１２を参照し、オープンフローについて説明する。
【００６６】
オープンフローは、通信をエンドツーエンドのフローとして認識し、フロー単位で経路制御、障害回復、負荷分散等を実行する。図１１に、オープンフローにより構成された通信システムの概要を示す。なお、フローとは、例えば、所定の属性を有する一連の通信パケット群である。オープンフロースイッチ６００は、オープンフロー技術を採用したネットワークスイッチである。オープンフローコントローラ７００は、オープンフロースイッチ６００を制御する情報処理装置である。
【００６７】
オープンフロースイッチ６００は、オープンフローコントローラ７００との間に設定されたセキュアチャネル７０１を介して、オープンフローコントローラと通信する。オープンフローコントローラ７００は、セキュアチャネル７０１を介して、オープンフロースイッチ６００のフローテーブル６０１の設定を行う。なお、セキュアチャネル７０１は、スイッチとコントローラ間の通信の通信経路である。
【００６８】
図１２は、フローテーブル６０１の各エントリ（フローエントリ）の構成例を示す。フローエントリは、スイッチが受信したパケットの情報（例えば、宛先ＩＰアドレスやＶＬＡＮ  ＩＤ等）と照合するためのマッチングルールと、パケットフロー毎の統計情報である統計情報（Ｃｏｕｎｔｅｒｓ）と、マッチングルールにマッチするパケットの処理方法を規定するアクション（Ａｃｔｉｏｎｓ）とで構成される。
【００６９】
オープンフロースイッチ６００は、パケットを受信すると、フローテーブル６０１を参照する。オープンフロースイッチ６００は、受信したパケットのヘッダ情報にマッチするフローエントリを検索する。受信パケットのヘッダ情報にマッチするエントリが検索された場合、オープンフロースイッチ６００は、検索されたエントリのアクションフィールドに定義された処理方法に従って、受信パケットを処理する。処理方法は、例えば、“受信パケットを所定のポートから転送する”、“受信したパケットを廃棄する”、“受信パケットのヘッダの一部を書き換えて、所定のポートから転送する”といったことが規定されている。
【００７０】
一方、受信パケットのヘッダ情報にマッチするエントリが見つからない場合、オープンフロースイッチ６００は、例えば、セキュアチャネル７０１を介して、オープンフローコントローラ７００に対して受信パケットを転送する。オープンフロースイッチ６００は、受信パケットを転送することにより、コントローラに対して、受信パケットの処理方法を規定したフローエントリの設定を要求する。なお、受信パケットが、オープンフローコントローラ７００へフローエントリの設定を要求することを規定したエントリにマッチした場合、オープンフロースイッチ６００は、オープンフローコントローラ７００に対してフローエントリの設定を要求してもよい。
【００７１】
オープンフローコントローラ７００は、受信パケットの処理方法を決定し、決定した処理方法を含むフローエントリをフローテーブル６０１に設定する。その後、オープンフロースイッチ６００は、設定されたフローエントリにより、受信パケットと同一のフローに属する後続のパケットを処理する。
【００７２】
第４の実施形態の制御サーバ４００は、上述のオープンフロー技術の改良により構成される。制御サーバ４００は、第３の実施形態の制御サーバ４が有する機能に加え、オープンフロープロトコルに基づいて通信ユニット２ａを制御する機能を有する。通信ユニット２ａは、通信ユニット２が有する機能に加え、オープンフロープロトコルにより動作する機能を有する。
【００７３】
図１３は、第４の実施形態のシステム構成の例を示す。
【００７４】
第４の実施形態のシステムは、スイッチ６で構成されるネットワークと、当該ネットワークの端部（エッジ）に位置するサーバ５に構築されたＶＭ１００と、サーバ５に構築された仮想スイッチ２０と、制御サーバ４００とを含む。システムは、複数の制御サーバ４００を含んでもよい。ＶＭ１００は、図５で例示されたＣＵ１と同様の機能を有する。ＶＭ１００は、制御サーバ４００により構築された仮想計算機である。仮想スイッチ２０は、制御サーバ４００により構築されたソフトウェアによるスイッチであり、通信ユニット２と同様の機能を有する。
【００７５】
仮想スイッチ２０は、例えば、ＶＭ１００から送信されたパケットを、仮想ネットワーク３を介して、通信相手のＶＭ１００に送信する。図１４は、第４の実施形態の通信動作の例を示す。
【００７６】
ＶＭ１００−１は、仮想スイッチ２０−１に対してパケットを送信する。ＶＭ１００−１は、パケットの転送経路に関する情報に基づいてパケットサイズを調整する。仮想スイッチ２０−１は、受信したパケットを、仮想ネットワークの識別子でカプセル化する。図１４の例では、仮想スイッチ２０−１は、仮想ネットワークＩＤ（Ａ）でパケットをカプセル化する。仮想スイッチ２０−３は、仮想ネットワークＩＤ（Ａ）でカプセル化されたパケットをデカプセル化（カプセル化の解除）し、パケットをＶＭ１００−３に転送する。
【００７７】
ＶＭ１００−２は、仮想スイッチ２０−２に対してパケットを送信する。ＶＭ１００−２は、仮想ネットワークとの通信用のＭＴＵで、パケットを送信する。仮想スイッチ２０−２は、受信したパケットを、仮想ネットワークの識別子でカプセル化する。図１４の例では、仮想スイッチ２０−２は、仮想ネットワークＩＤ（Ｂ）でパケットをカプセル化する。仮想スイッチ２０−４は、仮想ネットワークＩＤ（Ｂ）でカプセル化されたパケットをデカプセル化（カプセル化の解除）し、パケットをＶＭ１００−４に転送する。
【００７８】
図１５は、制御サーバ４００の構成の例を示す。
【００７９】
ＶＭ生成部４０、ＭＴＵ設定部４１、ＭＴＵ管理部４２、ＭＴＵ管理ＤＢ４３は、第３の実施形態で示された例と同様の機能を有する。
【００８０】
スイッチ制御部４４は、仮想スイッチ２０に通知する処理規則を生成する。スイッチ制御部４４は、生成した処理規則を仮想スイッチ２０に通知する。スイッチ制御部４４は、処理規則を、ルール管理ＤＢ４５により管理する。
【００８１】
スイッチ制御部４４は、例えば、経路計算部４６により決定されたパケットの転送経路に対応する処理規則を生成し、仮想スイッチ２０に通知する。経路計算部４６は、例えば、複数の仮想ネットワークから、パケットを転送する仮想ネットワークを選択する。
【００８２】
図１６は、処理規則の例を示す。処理規則は、例えば、照合ルールと処理方法を含む。
【００８３】
照合ルールは、例えば、パケットを通信フローとして識別するための条件である。通信フローは、所定の条件で識別される一連のパケットの流れである。照合ルールは、例えば、所定の宛先に送信されるパケット、所定の送信元から送信されたパケット等、パケットに含まれる情報に基づいて特定されるルールである。
【００８４】
処理方法は、照合ルールに合致したパケットに適用される処理を規定する。
【００８５】
スイッチ制御部４４は、例えば、図１４の仮想スイッチ２０−１に、図１６の１行目の処理規則を設定する。図１６の１行目の“通信フロー＃Ａ”は、例えば、ＶＭ１００−１からＶＭ１００−２宛の通信フローである。例えば、経路計算部４６が“通信フロー＃Ａ”に仮想ネットワーク（Ａ）を割り当てた場合、スイッチ制御部４４は、“通信フロー＃Ａ”に属するパケットを、仮想ネットワーク（Ａ）の識別子でカプセル化し、仮想スイッチ２０−１のポートａから転送することを規定した処理規則を、仮想スイッチ２０−１に通知する。スイッチ制御部４４は、例えば、仮想スイッチ２０−２に、図１６の２行目の処理規則を設定する。
【００８６】
スイッチ制御部４４は、例えば、ＶＭ生成部４０により新たなＶＭが生成されたときに、生成されたＶＭに対応する仮想スイッチ２０に対して処理規則を設定する。
【００８７】
ＭＴＵ設定部４１は、経路計算部４６が通信フローに対応する仮想ネットワークを決定したことに応じて、ＶＭ１００にＭＴＵを設定してもよい。ＭＴＵ設定部４１は、経路計算部４６が決定した仮想ネットワークに対応するＭＴＵを、ＶＭ１００に設定する。例えば、ＭＴＵ設定部４１は、経路計算部４６が決定した仮想ネットワークに対応する通信経路の最小のＭＴＵを、ＶＭ１００に設定する。
【００８８】
図１７は、仮想スイッチ２０の構成の例を示す。
【００８９】
通信部２１は、制御サーバ４００と、オープンフロープロトコルに従って通信する。通信部２１は、制御サーバ４００から通知された処理規則を受信する。通信部２１は、制御サーバ４００から受信した処理規則を、ルールＤＢ２３に格納する。
【００９０】
パケット処理部２２は、受信したパケットに適合する処理規則を、ルールＤＢ２３から検索する。パケット処理部２２は、受信したパケットに含まれる情報に合致する照合ルールを有する処理規則を検索する。パケット処理部２２は、検索された処理規則に規定された処理方法に従って、受信パケットを処理する。
【００９１】
パケット処理部２２は、例えば、受信したパケットに適合する処理規則を制御サーバ４００に要求する。制御サーバ４００のスイッチ制御部４４は、要求に応じて処理規則を生成し、仮想スイッチ２０に送信する。パケット処理部２２は、受信したパケットに適合する処理規則に、制御サーバ４００に処理規則の問合せを行うことを示す処理方法が規定されていた場合に、制御サーバ４００に問合せをしてもよい。
【００９２】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による通信システム参照）
［第２の形態］
第１の形態の通信システムにおいて、
前記コンピューティングユニットは、前記転送経路に関する情報に対応するパケットサイズの最大許容値を記憶する記憶部を有し、
前記コンピューティングは、前記送信パケットのパケットサイズを前記最大許容値に調整可能である通信システム。
［第３の形態］
第１又は第２の形態の通信システムにおいて、
前記コンピューティングユニットは、前記転送経路上に設定された複数の最大送信単位の最小値に基づいて、前記送信パケットのパケットサイズを調整する通信システム。
［第４の形態］
第１から第３いずれか一の形態の通信システムにおいて、
前記コンピューティングユニットは、前記送信パケットのパケットサイズを、前記転送経路を構成する複数の通信機器の各々に設定された最大送信単位の最小値に調整する通信システム。
［第５の形態］
第１から第４いずれか一の形態の通信システムにおいて、
前記コンピューティングユニットは、前記送信パケットのパケットサイズを、前記送信パケットの宛先に対応する最大送信単位に調整する通信システム。
［第６の形態］
第１から第４いずれか一の形態の通信システムにおいて、
前記コンピューティングユニットは、前記送信パケットのパケットサイズを、前記転送経路上で前記送信パケットに所定の処理を実行する通信装置に対応する最大送信単位に調整する通信システム。
［第７の形態］
第１から第６いずれか一の形態の制御装置において、
前記転送経路上に設定された最大送信単位を収集し、収集した最大送信単位の少なくとも１つを入力とする演算により算出された最大送信単位と前記転送経路に関する情報とを対応付けて前記コンピューティングユニットに設定する制御装置を含む通信システム。
［第８の形態］
（上記第２の視点による通信方法）
［第９の形態］
第８の形態の通信方法において、
前記送信パケットのサイズを、前記転送経路に関する情報に対応するパケットサイズの最大許容値に調整する通信方法。
［第１０の形態］
第８又は第９の形態の通信方法において、
前記転送経路上に設定された複数の最大送信単位の最小値に基づいて、前記送信パケットのパケットサイズを調整する通信方法。
［第１１の形態］
第８から第１０のいずれか一の形態の通信方法において、
前記送信パケットのパケットサイズを、前記転送経路を構成する複数の通信機器の各々に設定された最大送信単位の最小値に調整する通信方法。
［第１２の形態］
第８から第１１のいずれか一の形態の通信方法において、
前記送信パケットのパケットサイズを、前記送信パケットの宛先に対応する最大送信単位に調整する通信方法。
［第１３の形態］
第８から第１１のいずれか一の形態の通信方法において、
前記送信パケットのパケットサイズを、前記転送経路上で前記送信パケットに所定の処理を実行する通信装置に対応する最大送信単位に調整する通信方法。
［第１４の形態］
第８から第１３のいずれか一の形態の通信方法において、
前記転送経路上に設定された最大送信単位を収集し、
収集した最大送信単位の少なくとも１つを入力とする演算により算出された最大送信単位と前記転送経路に関する情報とを対応付けて前記コンピューティングユニットに設定する通信方法。
［第１５の形態］
（上記第３の視点による情報処理装置参照）
［第１６の形態］
（上記第４の視点による情報処理装置参照）
［第１７の形態］
第１６の形態の情報処理装置において、
前記第二の手段は、前記転送経路に関する情報に対応するパケットサイズの最大許容値を前記記憶部に設定する情報処理装置。
［第１８の形態］
第１６又は第１７の形態の情報処理装置において、
前記第二の手段は、前記転送経路上に設定された複数の最大送信単位の最小値に基づいて、前記記憶部にパケットサイズを設定する情報処理装置。
［第１９の形態］
第１６又は第１８の形態の情報処理装置において、
前記第二の手段は、前記転送経路上に設定された最大送信単位を収集し、収集した最大送信単位の少なくとも１つを入力とする演算により算出された最大送信単位と、前記転送経路に関する情報とを対応付けて前記記憶部に設定する情報処理装置。
［第２０の形態］
第１６又は第１９の形態の情報処理装置において、
前記第二の手段は、前記転送経路を構成する複数の通信機器の各々に設定された最大送信単位の最小値に基づいて、前記記憶部にパケットサイズを設定する情報処理装置。
［第２１の形態］
第１６又は第１９の形態の情報処理装置において、
前記第二の手段は、前記送信パケットの宛先に対応する最大送信単位を、前記記憶部に設定する情報処理装置。
［第２２の形態］
第１６又は第１９の形態の情報処理装置において、
前記第二の手段は、前記転送経路上で前記送信パケットに所定の処理を実行する通信装置に対応する最大送信単位を、前記記憶部に設定する情報処理装置。
［第２３の形態］
（上記第５の視点による通信制御方法参照）
［第２４の形態］
（上記第６の視点によるプログラム参照）
【００９３】
なお、上記の非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００９４】
１        コンピューティングユニット
１０      通信部
１１      制御部
１２      ＭＴＵ管理部
２、２ａ  通信ユニット
２０      仮想スイッチ
２１      通信部
２２      パケット処理部
２３      ルールＤＢ
３        仮想ネットワーク
３０      通信機器
４        制御サーバ
４０      ＶＭ生成部
４１      ＭＴＵ設定部
４２      ＭＴＵ管理部
４３      ＭＴＵ管理ＤＢ
４４      スイッチ制御部
４５      ルール管理ＤＢ
４６      経路計算部
４００    制御サーバ
６００    オープンフロースイッチ
７００    オープンフローコントローラ
【図１】
2015533045.tif 000003
【図２】
2015533045.tif 000004
【図３】
2015533045.tif 000005
【図４】
2015533045.tif 000006
【図５】
2015533045.tif 000007
【図６】
2015533045.tif 000008
【図７】
2015533045.tif 000009
【図８】
2015533045.tif 000010
【図９】
2015533045.tif 000011
【図１０】
2015533045.tif 000012
【図１１】
2015533045.tif 000013
【図１２】
2015533045.tif 000014
【図１３】
2015533045.tif 000015
【図１４】
2015533045.tif 000016
【図１５】
2015533045.tif 000017
【図１６】
2015533045.tif 000018
【図１７】
2015533045.tif 000019
【国際調査報告】
2015533045.tif 000020
2015533045.tif 000021