(57)【要約】      （修正有）【課題】物理基盤ネットワークのリソースの効率的な消費を可能にするため、基盤ネットワーク上で仮想ネットワークを動作させる。【解決手段】仮想ネットワークは複数の仮想ノードを有し、各仮想ノードは、基盤ネットワークのそれぞれの基盤ノードに割り当てられ、同じ仮想ネットワークの隣接する２つの仮想ノードは、それぞれ１つ以上の基盤ノードリンクに対応する仮想リンクによって接続される。仮想ネットワークによって個別に消費されるリソースに関して少なくとも２つの基盤ノード内のトラフィックパターンを識別するステップと、基盤ノード内のリソース消費を最適化するため、識別されたトラフィックパターンの評価に応じてリソースを再割当するステップとを備え、識別ステップならびにリソースの再割当を実行するための評価および決定が、各基盤ノードでローカルに実行される。【選択図】図１
2014090501.tif 000002
【特許請求の範囲】
【請求項１】
基盤ネットワーク上で、特に、基盤ネットワークのリソース消費を最適化する自己組織化モデルの範囲内で、少なくとも１つの仮想ネットワークを動作させる方法において、仮想ネットワークは複数の仮想ノードを有し、各仮想ノードは、基盤ネットワークのそれぞれの基盤ノードに割り当てられ、同じ仮想ネットワークの隣接する２つの仮想ノードは、それぞれ１つ以上の基盤ノードリンクに対応する仮想リンクによって接続され、該方法は、
仮想ネットワークによって個別に消費されるリソースに関して少なくとも２つの基盤ノード内のトラフィックパターンを識別するステップと、
基盤ノード内のリソース消費を最適化するため、識別されたトラフィックパターンの評価に応じてリソースを再割当するステップと
を備え、
識別ステップならびにリソースの再割当を実行するための評価および決定が、各基盤ノードでローカルに実行され、
識別ステップが、通過トラフィックに関連するトラフィックパターンを探索するために規定されたヒューリスティックによって実行され，このようなトラフィックパターンが転送トラフィックと呼ばれ、
ヒューリスティックが、受容候補ヒューリスティックおよび移動候補ヒューリスティックを含み、これによりそれぞれ受容候補および移動候補のリストが得られることを特徴とする、基盤ネットワーク上で少なくとも１つの仮想ネットワークを動作させる方法。
【請求項２】
識別ステップならびにリソースの再割当を実行するための評価および決定が、自律的エンティティすなわち仮想マネージャによって実行されることを特徴とする請求項１に記載の方法。
【請求項３】
自律的エンティティが、基盤ノード上、基盤ノード内、または基盤ノード外に、設けられることを特徴とする請求項２に記載の方法。
【請求項４】
識別ステップは、基盤ノードリンクが過負荷であると識別されるときに開始されることを特徴とする請求項１ないし３のいずれか１項に記載の方法。
【請求項５】
過負荷の基盤ノードリンクを識別するため、基盤ノード上に配備される各仮想ノードのネットワークトラフィックおよび読み書きの量を含むリソース情報を監視する監視ループが設けられることを特徴とする請求項１ないし４のいずれか１項に記載の方法。
【請求項６】
基盤ノードのネットワークトラフィックが、その基盤ノード上に配備される各仮想ノードのネットワークトラフィックと、前記基盤ノードに割り当てられていない仮想ノード間の通過トラフィックとを含むことを特徴とする請求項５に記載の方法。
【請求項７】
監視ループが、自律的エンティティによって実行されることを特徴とする請求項５または６に記載の方法。
【請求項８】
再割当を実行するための決定が、通過トラフィックの存在に依存することを特徴とする請求項１ないし７のいずれか１項に記載の方法。
【請求項９】
再割当ステップが、ある基盤ノードから別の基盤ノードに少なくとも１つの仮想ノードを移動することを含むことを特徴とする請求項１ないし８のいずれか１項に記載の方法。
【請求項１０】
受容候補は、それぞれの仮想ネットワークの仮想ノードを受容するのに適しているとみなされる基盤ノードであることを特徴とする請求項１ないし９のいずれか１項に記載の方法。
【請求項１１】
移動候補は、当該現在の基盤ノードから別の基盤ノードに移動されるのに適しているとみなされる仮想ノードであることを特徴とする請求項１ないし１０のいずれか１項に記載の方法。
【請求項１２】
過負荷基盤リンクを識別した後に、リソースを消費している仮想リンクが識別されることを特徴とする請求項１ないし１１のいずれか１項に記載の方法。
【請求項１３】
仮想リンク内のフローが転送トラフィックパターンと一致するかどうかが判定されることを特徴とする請求項１２に記載の方法。
【請求項１４】
転送トラフィックパターンの識別が、分析される仮想リンクの流入トラフィックを流出トラフィックと比較すること、またはその逆を含むことを特徴とする請求項１２または１３に記載の方法。
【請求項１５】
流出トラフィックが基盤ノードの仮想ノードによって生成されているかどうかが判定されることを特徴とする請求項１２ないし１４のいずれか１項に記載の方法。
【請求項１６】
仮想リンクの流出トラフィックと、基盤ノード内の１つ以上の記憶装置での仮想ノードの読み出しおよび／または書き込みの量との間の関係が識別されることを特徴とする請求項１２ないし１５のいずれか１項に記載の方法。
【請求項１７】
該方法が、基盤ネットワークのリソース消費を最適化するための自己組織化モデルまたは自己組織化制御ループにおいて実現されることを特徴とする請求項１ないし１６のいずれか１項に記載の方法。
【請求項１８】
自己組織化モデルまたは制御ループが、下記を含む少なくとも５段階、すなわち、
１．少なくとも２つの、それぞれの基盤ノードが、移動する可能性のある候補のローカルな分析を行う段階、
２．基盤ノードが、受容したい仮想ノードに関する情報を送信する段階、
３．移動の必要性についてのローカルなマッチングおよび／またはネゴシエーションの段階、ここで、移動される仮想ノードの基盤ノードまたは基盤ノード所有者が、どの基盤隣接ノードが仮想ノードを受容するかを決定する、
４．移動要求と移動される仮想ノードとの間の一致の公表の段階、
５．仮想ノード移動メカニズムの段階、
を含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
自己組織化モデルまたは制御ループが、第６段階として、移動メカニズムのローカルな評価をさらに含むことを特徴とする請求項１８に記載の方法。
【請求項２０】
リソースの再割当を実行するための決定および／または移動メカニズムの評価が、それぞれの基盤ノードおよび／または仮想ノードもしくはネットワークの自己組織化プロセスの履歴の考慮を含むことを特徴とする請求項１ないし１９のいずれか１項に記載の方法。
【請求項２１】
基盤ネットワーク上、基盤ネットワークのリソース消費を最適化する自己組織化モデルの範囲内の、仮想ネットワーク環境において、該仮想ネットワーク環境は、請求項１ないし２０のいずれか１項に記載の方法を実行し、仮想ネットワークは複数の仮想ノードを有し、各仮想ノードは、基盤ネットワークのそれぞれの基盤ノードに割り当てられ、同じ仮想ネットワークの隣接する２つの仮想ノードは、それぞれ１つ以上の基盤ノードリンクに対応する仮想リンクによって接続され、該仮想ネットワーク環境が、
仮想ネットワークによって個別に消費されるリソースに関して少なくとも２つの基盤ノード内のトラフィックパターンを識別する手段と、
基盤ノード内のリソース消費を最適化するため、識別されたトラフィックパターンの評価に応じてリソースを再割当する手段と
を備え、
識別手段ならびにリソースの再割当を実行するための評価および決定が、各基盤ノードでローカルに実行されることを特徴とする、仮想ネットワーク環境。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基盤ネットワーク上で、特に、基盤ネットワークのリソース消費を最適化する自己組織化モデルの範囲内で、少なくとも１つの仮想ネットワークを動作させる方法に関する。仮想ネットワークは複数の仮想ノードを有し、各仮想ノードは、基盤ネットワークのそれぞれの基盤ノードに割り当てられ、同じ仮想ネットワークの隣接する２つの仮想ノードは、それぞれ１つ以上の基盤ノードリンクに対応する仮想リンクによって接続される。また、本発明は、基盤ネットワーク上、特に、基盤ネットワークのリソース消費を最適化する自己組織化モデルの範囲内の、仮想ネットワーク環境に関する。仮想ネットワークは複数の仮想ノードを有し、各仮想ノードは、基盤ネットワークのそれぞれの基盤ノードに割り当てられ、同じ仮想ネットワークの隣接する２つの仮想ノードは、それぞれ１つ以上の基盤ノードリンクに対応する仮想リンクによって接続される。
【背景技術】
【０００２】
ネットワーク仮想化は、同じネットワーキングインフラストラクチャ上で複数のサービス固有のアプリケーションを実行可能にすることを意図している。また、これは、相異なるユーザ、サービス、およびＩＳＰ（インターネットサービスプロバイダ）の間の分離にも有益である。最後に、ＩＴワールドにおける仮想化がこれまで成功しているが、その主な理由は、データセンタ事業者が、ビジネスおよびリソース使用目標に基づいて自由に仮想マシンを移転することができるためである。
【０００３】
また、ネットワーク仮想化においては、ある物理ノードから別の物理ノードにかなり自由に仮想ネットワークノードを移転することで、リソース使用パターン（仮想ネットワークにおけるトラフィックエンジニアリング）のバランスが良くなるという主要な利点もある。保守のために物理リソースを中断なしにシャットダウンすることができ、トラフィックを二重化（仮想ネットワーク内で動作するある特定のサービスについてのみ適用）することにより信頼性向上が可能である。
【０００４】
仮想ＩＰルータあるいはノードをある物理ノードあるいは基盤ノードから別の物理ノードあるいは基盤ノードに移転する動作が、非特許文献１に提案され開示されている。
【０００５】
インターネット上ではマルチメディアサービスに対する需要が増大していることから、将来のネットワークにおいて、リソースを割り当てる新たな方法が強く求められている。例えば、ＩＰＴＶサービスがますます普及することが予想され、三種サービス一括払いパッケージ（triple-pay package）のような統合商品の提案は、リソース割当のための費用効果の高い戦略を必要とする。実際、代表的なＩＰＴＶネットワークインフラストラクチャは、保証帯域や利用可能記憶容量に関して、配信ネットワークに対する多大な投資を必要としている。通常、これらのリソースは、上位のサービスが実際に配備できるようになる前に、事前に計画し、大きさを確定する必要がある。これについては、非特許文献２から知ることができる。
【０００６】
物理インフラストラクチャを配備するコストは、ＩＰＴＶサービスの場合のように、多くのサービスプロバイダの市場参入を妨げる可能性がある。非特許文献３を参照。それにもかかわらず、仮想ネットワークの分野における最近の研究は、相異なるサービスプロバイダ間でインフラストラクチャを共有することによってコスト削減が期待できる実現可能な代替案を提示している。非特許文献４を参照。ネットワーク仮想化の鍵は、物理ネットワークインフラストラクチャを複数のスライスに分割し、それらを相異なる仮想プロバイダに割り当てることである。
【０００７】
仮想ネットワークの配備は、２つの相異なる観点で見る必要がある。第１は、仮想プロバイダの観点である。仮想プロバイダは、契約したリソース（ＳＬＡ（Service Level Agreement, サービス品質保証契約）を守らなければならない）の達成を求める。第２は、物理インフラストラクチャプロバイダの観点である。物理インフラストラクチャプロバイダは、収益を最大化するために、自己の物理リソースをできるだけ節約したいと考える。
【０００８】
このため、物理リソース（リンク、ＣＰＵ、および記憶容量）を割り当てるための効率的アルゴリズムは、物理プロバイダによって導入されなければならない。さもなければ、多重化された物理リソース上の規則的な高負荷によりリソース不足が生じ、新たな仮想ネットワークの配備を妨げる可能性がある。従来、物理リソースは、初期計画段階で割り当てられている。ある特定のＳＬＡに対して、計画ツール（非特許文献５を参照）が、ネットワークコンポーネントの推定される大きさを提供し、この出力に基づいてリソースが割り当てられる。このアプローチは、小規模の仮想環境では適用可能である。しかし、大規模の配備では、静的な割当は、相異なるロケーション間でのユーザの要求の大きな不均衡を考慮することができない。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】Yi Wang, E. Keller, B. Biskern, J. Van der Merwe, J. Rexford, “Virtual Routers on the Move: Live Router Migration as a Network Management Primitive”
【非特許文献２】N. Degrande, K. Laevens, D. D. Vleeschauwer, and R. Sharpe, “Increasing the User Perceived Quality for IPTV Services”, IEEE Communication Magazine, vol 46, no. 2, pp. 94-99, 2008
【非特許文献３】S. Han, S. Lisle, and G. Nehib, “IPTV Transport Architecture Alternatives and Economics Considerations”, IEEE Communication Magazine, vol 46, no. 2, pp. 70-77, 2008
【非特許文献４】N. Niebert, I. E. Khayat, S. Baucke, R. Keller, R. Rembarz, and J. Sachs, “Network Virtualization: A Viable Path Towards the Future Internet”, Journal Wireless Personal Communications, vol 45, no. 4, pp. 511-520, June 2008.
【非特許文献５】D. Agrawal, M. S. Beigi, C. Bisdikian, and N. Lee, “Planning and Managing the IPTV Service Deployment”, in Proceedings of 10th IFIP/IEEE International Symposium on Integrated Network Management (IM2007), 2007, pp. 353-362
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、物理基盤ネットワークのリソースの効率的な消費を可能にするため、基盤ネットワーク上で少なくとも１つの仮想ネットワークを動作させる方法および対応する仮想ネットワーク環境を改良し、さらなる展開を行うことである。
【課題を解決するための手段】
【００１１】
本発明によれば、上記の目的は、請求項１の構成を備えた方法および請求項２３の構成を備えた仮想ネットワーク環境によって達成される。請求項１に記載の通り、本方法は、以下のステップ、すなわち、仮想ネットワークによって個別に消費されるリソースに関して少なくとも２つの基盤ノード内のトラフィックパターンを識別するステップと、基盤ノード内のリソース消費を最適化するため、識別されたトラフィックパターンの評価に応じてリソースを再割当するステップとを備え、識別ステップならびにリソースの再割当を実行するための評価および決定が、各基盤ノードでローカルに実行されることを特徴とする。
【００１２】
請求項２３に記載の通り、本仮想ネットワーク環境は、仮想ネットワークによって個別に消費されるリソースに関して少なくとも２つの基盤ノード内のトラフィックパターンを識別する手段と、基盤ノード内のリソース消費を最適化するため、識別されたトラフィックパターンの評価に応じてリソースを再割当する手段とを備え、識別手段ならびにリソースの再割当を実行するための評価および決定が、各基盤ノードでローカルに実行されることを特徴とする。
【００１３】
本発明によって認識されたこととして、仮想ネットワークによって個別に消費されるリソースに関して少なくとも２つの基盤ノード内のトラフィックパターンを適切に識別すること、および、基盤ノード内のリソース消費を最適化するため、識別されたトラフィックパターンの評価に応じてリソースを再割当することによって、物理基盤ネットワークのリソースの効率的な消費が可能となる。本発明の方法によれば、識別ステップならびにリソースの再割当を実行するための評価および決定が、各基盤ノードでローカルに実行される。本発明の方法は、仮想ノード内で動作するアプリケーションとは完全に独立である。本発明によれば、既設の仮想ネットワークのリソース消費を管理するための新しいアプローチが提供される。このアプローチでは、物理リソースの消費を時間とともに最大化するために、リソースを仮想レイヤ内で動的に移転することができる。リソース再割当をトリガする原因となる条件の分析は、その分析が実行される物理あるいは基盤ノードのローカルな情報のみを使用する。ローカルな情報によってサポートされる完全に分散的な実行の採用により、管理モデルに属する各エンティティは、オンラインで自律的に決定をすることができ、これらのエンティティの共同の実行が、自己組織化基盤ネットワークを生成することができる。
【００１４】
好ましくは、識別ステップならびにリソースの再割当を実行するための評価および決定は、仮想マネージャのような自律的エンティティによって実行可能である。このような自律的エンティティは、上記の機能の非常に有効な管理を提供することができる。このエンティティは、その基盤ノード上で監視される情報のみに基づいて動作することが可能である。
【００１５】
本発明の好ましい実施形態において、自律的エンティティは、基盤ノード上、基盤ノード内、または基盤ノード外に、好ましくは集中型または分散型の管理システム内に、設けることができる。特に、基盤ノード上または基盤ノード内に設ける場合、非常に有効なデータ処理が実現可能である。
【００１６】
無効なネットワーク配置を迅速に修正するため、識別ステップは、基盤ノードリンクが過負荷であると識別されるときに開始されることが可能である。この場合、上記のエンティティまたは仮想マネージャは、この基盤ノードのリソースを用いて各仮想ネットワークのトラフィックパターンを識別するためのプロセスをトリガすることができる。
【００１７】
自己組織化方法の提供に関して、基盤ノード上に配備される各仮想ノードのネットワークトラフィックおよび読み書きの量を含むリソース情報を監視する監視ループを提供することが可能である。このような監視ループは、過負荷状況の発生後に、過負荷の基盤ノードリンクを非常に迅速に識別することができる。
【００１８】
基盤ノードのネットワークトラフィックは、その基盤ノード上に配備される各仮想ノードのネットワークトラフィックと、当該基盤ノードに割り当てられていない仮想ノード間の通過トラフィックとを含み得る。このような通過トラフィックは、基盤ノードのネットワークリソースを使用するが、消費されるリソースには仮想ノードが割り当てられていない。基盤ネットワーク内の通過トラフィックの削減は、自己組織化モデルの重要な目標である。
【００１９】
好ましくは、上記の監視ループは、自律的エンティティまたは仮想マネージャによって実行可能である。これにより、過負荷状況に関して、非常に有効な応答挙動が得られる。
【００２０】
本発明の好ましい実施形態において、再割当を実行するための決定は、通過トラフィックの存在に依存することが可能である。このような通過トラフィックを避けることは、基盤ネットワークのリソースの効率的な消費のための非常に有効な手段である。
【００２１】
本発明の具体的実施形態において、再割当ステップは、ある基盤ノードから別の基盤ノードに少なくとも１つの仮想ノードを移転することを含むことが可能である。このような移転により、特に通過トラフィックを削減することができる。
【００２２】
本発明の特に簡単な実施形態を実現するため、識別ステップは、通過トラフィックに関連するトラフィックパターンを探索するために規定されたヒューリスティックによって実行可能である。ヒューリスティックを用いて、トラフィックパターンを識別し、移転メカニズムを起動することができる。このようなヒューリスティックは、基盤ノード内の情報を収集し評価する際のローカルな視点に基づく効率的なリソース消費に関する最適化フレームワークの一部とすることができる。通過トラフィックに関連するトラフィックパターンは、転送トラフィックと呼ぶことができる。
【００２３】
非常に有効なヒューリスティックとして、受容候補ヒューリスティックおよび移転候補ヒューリスティックが可能であり、これによりそれぞれ受容候補および移転候補のリストが得られる。受容候補は、それぞれの仮想ネットワークの仮想ノードを受容するのに適しているとみなされる基盤ノードとすることが可能である。移転候補は、当該現在の基盤ノードから別の基盤ノードに移転されるのに適しているとみなされる仮想ノードとすることが可能である。
【００２４】
リソースの適切な再割当を行うため、リソースを消費している仮想リンクは、過負荷基盤リンクを識別した後に、識別されることが可能である。これにより、大量のリソースを消費している仮想ネットワークを識別することが可能となる。
【００２５】
基盤リンク内の過負荷仮想リンクを識別した後、仮想リンク内のフローが通過トラフィックの転送トラフィックパターンと一致するかどうかを判定するのが好ましい。
【００２６】
本発明の非常に簡単な実施形態において、転送トラフィックパターンの識別は、分析される仮想リンクの流入トラフィックを流出トラフィックと比較すること、またはその逆を含むことが可能である。
【００２７】
特に移転候補ヒューリスティックに関して、流出トラフィックが基盤ノードの仮想ノードによって生成されているかどうかを判定するとよい。この場合、仮想リンクの流入トラフィックと流出トラフィックとの比較のみが重要なわけではない。
【００２８】
また、移転候補ヒューリスティックに関して、仮想リンクの流出トラフィックと、基盤ノード内の１つ以上の記憶装置での仮想ノードの読み出しおよび／または書き込みの量との間の関係を識別するとよい。
【００２９】
好ましい実施形態において、本方法は、基盤ネットワークのリソース消費を最適化するための自己組織化モデルまたは自己組織化制御ループにおいて実現可能である。
【００３０】
好適かつ有効な自己組織化モデルまたは制御ループは、下記を含む少なくとも５段階を有することが可能である。
１．少なくとも２つの、好ましくはそれぞれの基盤ノードが、移動する可能性のある候補のローカルな分析を行う。
２．基盤ノードが、受容したい仮想ノードに関する情報を送信する。
３．移転の必要性についてのローカルなマッチングおよび／またはネゴシエーション。ここで、好ましくは、移転される仮想ノードの基盤ノードまたは基盤ノード所有者が、どの基盤隣接ノードが仮想ノードを受容するかを決定する。
４．移転要求と移転される仮想ノードとの間の一致の公表。
５．仮想ノード移動メカニズム。
【００３１】
上記の第１段階において、それぞれの物理あるいは基盤ノードが、移動する可能性のあるトラフィック候補のローカルな分析を行うことができる。このような分析は、非同期的に実行できる。第２段階において、物理隣接ノードが、受容したい仮想ノードに関する情報を交換することができる。第３段階は、移転の決定の結果として、評価段階と呼ぶことができる。第４段階において、決定の公表と、必要であれば、リソースに対する要求の確認を実行することができる。第５段階における仮想ノード移動は、ストレージおよびアプリケーション（ＡＰＰ）の移動を含むことができる。
【００３２】
好ましい実施形態において、自己組織化モデルまたは制御ループは、第６段階として、移動または移転メカニズムのローカルな評価をさらに含むことができる。
【００３３】
また、リソースの再割当を実行するための決定および／または移動もしくは移転メカニズムの評価は、好ましくは、それぞれの基盤ノードおよび／または仮想ノードもしくはネットワークの自己組織化プロセスの履歴の考慮を含むことができる。この場合、往復移転の繰り返しを避けることができる。
【００３４】
本発明は、将来のインターネットの発展に重要な寄与をすることができる。この場合、ネットワークは、人手の介入なしに自動的に機能するのが好ましい。ネットワーク仮想化分野に対しては自己＊＊機能が好ましい。
【００３５】
インフラストラクチャネットワークの監視および仮想ノードの移転を開始する決定が、本発明において考慮されている。具体的には、本発明は、仮想ノード内で動作する機能に関する知識なしに実施されるが、決定は、ノードのリソース使用の透過的な監視および隣接ノードとの分散型インタラクションに基づいている。
【００３６】
本発明によれば、物理インタフェースによって仮想ノードに出入りするパケットの監視が可能である。本発明の好ましい適用例において、仮想ネットワークの通過トラフィックが考慮される。これは、ルータまたはノードを通って流れるトラフィックであり、ある特定の仮想ネットワークに属するが、当該ルータまたは基盤ノード上に存在する仮想ノードを有しない。
【００３７】
仮想ノードを隣接基盤ノードに移転する決定は、仮想ネットワークに属する仮想ノードの、ローカルに監視されたリソース使用パターンのみに基づくので、仮想ノード内で動作する機能とは独立である（透過性）。
【００３８】
本発明は、自己最適化仮想ネットワークの基礎を提供する。現実の基盤ネットワーク上で、より高いスループットおよび最適化されたトラフィック負荷を達成することができる。保守のため、あるいは、ネットワーク全体のエネルギー消費を低減するために基盤ノードがシャットダウンする場合に、基盤ノード外への仮想ノードの移転が可能である。本発明は、仮想ネットワーク内で動作するネットワーク機能とは独立に実現可能である。というのは、本解決法は、仮想ノードのリソース消費、すなわち、出入りするパケットおよび記憶装置での読み書き、の観測に基づくからである。
【００３９】
本発明によれば、物理インフラストラクチャ上で動作する仮想ネットワークリソースのリアルタイム再割当が可能である。このような再割当は、仮想ノード内で動作するアプリケーションとは完全に独立である。
【００４０】
本発明は、既設の仮想ネットワークのリソース消費を管理する新しいアプローチを提供する。このアプローチでは、リソースは、物理リソースの消費を時間とともに最大化するために、リソースを仮想レイヤ内で動的に移転することができる。このような自己組織化モデルは、リソース消費のローカルな情報に基づいて、仮想ネットワークに対するリアルタイム再割当方式を実現する。
【００４１】
本発明は、どの仮想ネットワークトラフィックが、ある特定の基盤ノードに対して過負荷となっているかを検出するためのヒューリスティックを提供する。リソースの再割当が必要かどうかを判定するための、ローカルな知識に基づく評価基準が確立される。トラフィックパターンの特徴づけは、ローカルな視点に基づく。リソースの再割当を実行するための評価および決定の実行は、ネットワーク内で完全に分散される。中央エンティティは使用されない。
【００４２】
仮想リソースの再割当を担当する自己組織化管理モデルが規定される。自己組織化モデルの目標は、仮想リンクの再定義と、仮想ノード（ホスティングアプリケーション）をユーザの要求に近い物理ロケーションに移動することによって、基盤ネットワークの全体的トラフィックを低減することである。自己組織化モデルの背後にあるアルゴリズムは、インフラストラクチャネットワークの各物理ノードによって実行される。このようにして、中央エンティティは不要となる。
【００４３】
本発明を好適な態様で実施するにはいくつもの可能性がある。このためには、一方で請求項１に従属する諸請求項を参照しつつ、他方で図面により例示された本発明の好ましい実施形態についての以下の説明を参照されたい。図面を用いて本発明の好ましい実施形態を説明する際には、本発明の教示による好ましい実施形態一般およびその変形例について説明する。
【図面の簡単な説明】
【００４４】
【図１】ネットワーク仮想化環境を模式的に例示する図である。
【図２】本発明の方法とともに用いられる基盤ノードアーキテクチャの好ましい実施形態を例示する図である。
【図３】２つの仮想ネットワークに関連する３つの基盤ノードを模式的に例示する図である。
【図４】自己組織化制御ループ実行の好ましい実施形態の全体図である。
【図５】自己組織化モデルの実施形態の高レベル説明図である。
【図６】第１段階の転送トラフィックに対するヒューリスティックに関する説明図である。
【図７】第１段階の転送トラフィックに対するヒューリスティックに関する説明図である。
【図８】第１段階の転送トラフィックに対するヒューリスティックに関する説明図である。
【図９】第１段階の転送トラフィックに対するヒューリスティックに関する説明図である。
【図１０】第１段階の転送トラフィックに対するヒューリスティックに関する説明図である。
【図１１】第１段階のアプリケーショントラフィックに対するヒューリスティックに関する説明図である。
【図１２】第１段階のアプリケーショントラフィックに対するヒューリスティックに関する説明図である。
【図１３】第３段階の評価段階に関する説明図である。
【図１４】第３段階の評価段階に関する説明図である。
【発明を実施するための形態】
【００４５】
図１は、本発明の方法とともに用いられるネットワーク仮想化環境の実施形態を模式的に例示している。基盤ネットワークは、インフラストラクチャプロバイダに属するすべての物理リソースを包含し、仮想ネットワーク（virtual network, ＶＮ）は、仮想プロバイダに帰属する基盤ネットワークリソースのスライスである。仮想リンクは、同じ仮想ネットワークの隣接する２つの仮想ノード間のコネクションである。図１に例示したように、仮想リンクは、基盤リンクに直接マッピングされる（例えば、仮想ネットワーク＃２）ことも可能であり、あるいは、同じ基盤ノード上の通過トラフィックとなることも可能である（例えば、仮想ネットワーク＃１、ここで、Ａ＃１とＥ＃１との間の仮想リンクは、「基盤ノードＢ」上の通過トラフィックを生成している）。
【００４６】
仮想ノードは、基盤ノードリソースからのスライスの規定されたセットである。通常、このスライスのセットは、ＣＰＵ部分、メモリ空間、アプリケーション、帯域幅、およびオプションとして記憶容量、から構成される。仮想ノードのアーキテクチャにおける重要な特徴は、透過性である。相異なる仮想ネットワークからの仮想ノードは、プロバイダ間の分離を保証するために、いかなる種類の情報も、見たり交換したりすることができない。さらに、顧客のプライバシーを保護するため、仮想ノードにおいて交換されるデータは、基盤ノードプロバイダにとって透過的である。それにもかかわらず、相異なるスライスのアクティビティを検査するためのいくつかの最小限のプリミティブが、通常は利用可能である。例として、基盤リソースのコントローラが、実際に使用されている計算リソース（例えば、ＣＰＵ、メモリあるいはディスク）やトラフィック消費の量を知ることを可能にするプリミティブが挙げられる。
【００４７】
図２は、好ましい基盤ノードアーキテクチャを模式的に例示している。要求される透過性および分離を提供するため、仮想マネージャの概念が用いられる。仮想マネージャは、自己組織化モデルに関連するリソース情報の監視と、自己組織化のアルゴリズムあるいは方法の実行とを担当する。図２に示すように、監視ループが、自己組織化モデルの関連する測定ポイントから情報を収集する。本発明において、関連する情報は、基盤ノード上に配備される各仮想ノードのネットワークトラフィック（仮想マネージャモジュールの中央のボックス）および読み書き（仮想マネージャモジュールの右側のボックス）の量である。
【００４８】
しかし、基盤ノードのリソース消費は、その内部に配備される仮想ノードに関連するとは限らない。図１に例示したように、通過トラフィックが、基盤ノードのネットワークリソースを使用しているが、消費されるリソースには仮想ノードが関連づけられていない、という場合がある。基盤ノードのリソースの消費者を明示的に識別することは、基盤ネットワーク内の仮想ネットワーク要素をどのように組織するかを決定するために重要であると想定することができる。そこで、基盤ノード内の通過トラフィックをも識別し監視するために、仮想パイプの概念を定義する。仮想パイプは、次のような意味で仮想ノードとは異なる。すなわち、仮想パイプは、仮想ネットワークトポロジーおいて不可視であり、通過するネットワークトラフィック以外の基盤リソースは関連づけられていない。
【００４９】
基盤ネットワーク内の通過トラフィックの削減は、本発明の自己組織化モデルの重要な特徴である。この特徴を実現するため、各基盤ノードによって並行して実行される、自己組織化制御ループ内で動作するアルゴリズムあるいは方法が規定される。このアルゴリズムは、通過トラフィックに関連する仮想ノードを、通過トラフィックが通過する基盤ノードに移転することによって、通過トラフィックの数を削減することができる。同じく自己組織化モデルに対して規定されるヒューリスティックを用いて、トラフィックパターンが識別され、移転メカニズムが起動される。リソース消費に関する本研究の大きな相違点は、トラフィックパターンを特徴づけるローカルな視点と、リソースの再割当を実行するための評価および決定の完全に分散された実行とである。
【００５０】
以下、自己組織化モデルの好ましい実施形態についてさらに詳細に説明する。
【００５１】
前セクションで簡単に説明したように、自己組織化モデルは、主として、ローカルな情報を用いたボトルネック状況の識別、および、仮想リソースを再割当するために完全に分散された決定プロセス、によって特徴づけられる。このセクションでは、仮想マネージャのいくつかの役割と、それらの役割が、トラフィックパターンを特徴づけるために規定されるヒューリスティックとどのように関連するかを示す。また、ヒューリスティックそのものと、自己組織化制御ループについても示す。
【００５２】
仮想マネージャは、その基盤ノード上で監視される情報のみに基づいてリソース消費を低減するための決定を行う自律的エンティティとして設計される。このため、基盤ノードのリンクが過負荷と識別されると、仮想マネージャは、この基盤ノードのリソースを使用する各仮想ネットワークのトラフィックパターンを識別するプロセスをトリガする。目標は、いずれかの仮想ネットワークが通過トラフィックに関連するパターンを示しているかどうか識別することである。このようなパターンが過負荷リンクにおいて確認された場合、仮想マネージャは、このトラフィックをリンクから削除するための適用可能なアクションをとる（これらの決定については、本セクションで後述する）。
【００５３】
通過トラフィックに関連するパターンを「転送トラフィック」（forward traffic）と称する。転送トラフィックの完全な記述は、仮想ノードから出発し、同じ仮想ネットワークの仮想パイプ（または仮想ノードでもよい）を通過し、やはり同じ仮想ネットワークに属する別の仮想ノードに到着するフローである。図３は、仮想ネットワーク＃１および＃２（それぞれＶＮ＃１およびＶＮ＃２）上の転送トラフィックの例を示している。ＶＮ＃１の場合、フローは、基盤ノードＡから出発し、基盤ノードＢ上の仮想パイプを通り、宛先に到達するまで転送されている。ＶＮ＃２の場合、フローは、基盤ノードＣから出発し、基盤ノードＡ上の仮想パイプを通過し、基盤ノードＢ上の宛先に到達する。
【００５４】
ここで、リンクｌ１およびｌ２（両方ともＬｓ（表１）に属する）が、それぞれ基盤ノードＣ／ＡおよびＡ／Ｂの仮想マネージャによって、過負荷とみなされているとする。リンクｌ１はＶＮ＃２からのトラフィックフローのみを有するが、リンクｌ２は両方の仮想ネットワークからのトラフィックフローを含む。仮想マネージャ内で動作する自己組織化アルゴリズムの課題は、仮想ネットワークによってローカルに使用されるリソース以外の情報を取得せずに、これらのリンク内のフローが転送トラフィックパターンと一致するかどうかを「推測」することである。
【００５５】
ここで、われわれの識別プロセスの不確実性を特徴づけるために、「推測」という用語を明示的に用いている。この不確実性は、仮想ネットワーク内を流れるトラフィックの内容を検査せずに、このネットワークによって使用されるリソースの量だけを考えるために生じる。そこで、われわれの不正確な識別は、基盤ノード内の各仮想ネットワークによって消費されるリソースによって与えられる手がかりの中から転送パターンを探索するために規定されるヒューリスティックによって実現される。
【００５６】
基盤ノードにおける仮想ネットワークの存在は、仮想パイプや仮想ノードのような仮想要素によって実現可能であり、これらの要素に関連する基盤リソースは相異なると考えられるかもしれない。確かに、推測プロセスは、仮想パイプと仮想ノードとでは異なる。このため、２つのヒューリスティックを考案した。第１のヒューリスティックは、受容候補ヒューリスティックと称し、仮想ネットワークに関連する仮想パイプによって使用されるリソースを検討する。第２のヒューリスティックは、移転候補ヒューリスティックと称し、仮想ネットワークの仮想ノードが基盤ノード上に配備されるときに、転送トラフィックパターンを識別しようとする。これらのヒューリスティックの詳細を以下で説明する。
【００５７】
ヒューリスティックの出力は、受容または移転される仮想ノードのリストである。これらのリストをそれぞれ、受容候補および移転候補と称する。この出力の一例を図３に示す。基盤ノードＣで動作する自己組織化アルゴリズムは、ＶＮ＃２の仮想ノードを移転候補と識別している。一方、基盤ノードＡおよびＢは、ＶＮ＃１およびＶＮ＃２からの仮想ノードを移転候補と識別し、ＶＮ＃２およびＶＮ＃１からの仮想パイプを受容候補と識別している。
【００５８】
トラフィックパターンの特徴づけと、仮想リソースの再編成のコスト評価（コスト評価についての詳細は後述する）とに基づいて、各基盤ノードの仮想マネージャは、候補リスト内に識別された仮想ネットワークのリソースを再編成するためのアクションをとる（再編成メカニズムの詳細は、本セクションの最後に説明する）。以下、リソースを再編成するための決定の詳細を示す。以下のサブセクションで用いる記法を表１に記述する。上付き添字は、仮想要素または基盤要素のいずれを指定しているかを表すために用い、下付き添字は、これらの要素のインデックスを識別するために用いる。
【００５９】
表１：自己組織化モデルの記法
【表１】
2014090501.tif 000003
【００６０】
Ａ．過負荷基盤リンクの識別
仮想リソースの再編成は、過負荷リソースが基盤ノード内で検出される場合にのみ意味がある。われわれのモデルでは、過負荷リンクが、自己組織化アルゴリズムの出発点となる要素である。このため、各リンクｌｓｊ∈Ｌｓ（ただし、ｉはＬｓのインデックスである）に対し、（１）に示す条件は、基盤リンクｌｓｊが過負荷基盤リンクのリストＯｖＬｉｎｋｓに含まれるかどうかを確認する。
【数１】
2014090501.tif 000004
【００６１】
ＯｖＬｉｎｋｓが空でない場合、次のステップは、各過負荷基盤リンク内のどの仮想リンクがリソースを消費しているかを識別することである。われわれは、過負荷仮想リンクを識別するための２つの異なる関数を定義した。第１に、基盤リンク帯域幅を、その基盤リンク内のすべての仮想リンク間で等分使用する場合を考える。（２）における関数ＥｑｕａｌＴ（  ）は、各基盤リンクｌｓｊ∈ＯｖＬｉｎｋｓ（ただし、ｊは、リストＯｖＬｉｎｋｓ内の基盤リンクのインデックスである）に対して適用される。目標は、基盤リンクｌｓｊのどの仮想リンクｌｖｋが、他の仮想リンクよりも多くのリソースを使用しているかを確認することである。ただし、ｋは、仮想ネットワークのインデックスである。各基盤リンクｌｓｊに対し、仮想リンクｌｖｋｊを有するリストＯｖＶＬｉｎｋ＿ｌｓｊが作成される。ただし、ｌｖｋｊは、基盤リンクｌｓｊ内の仮想ネットワークｋの仮想リンクである。
【数２】
2014090501.tif 000005
【００６２】
第２案を（３）に示す。関数ＭａｊｏｒＴ（  ）は、基盤リンクｌｓｊのリソースの大部分を消費している仮想リンクを識別する。この代替案は、その出力が基盤リンク帯域幅を支配的に使用している唯一の仮想リンクｌｖｋｊである点で、第１案とは異なる。
【数３】
2014090501.tif 000006
【００６３】
基盤リンク内の過負荷仮想リンクを識別した後は、仮想リンク内のフローが転送トラフィックパターンと一致するかどうかを判定する。
【００６４】
Ｂ．受容候補ヒューリスティック
上記のように、受容候補ヒューリスティックは、仮想パイプ要素がリンクｌｓｊｊ内の過負荷仮想リンクに関連づけられるときに、転送トラフィックを識別するために適用される。図３に示すような縮小した仮想ネットワークトポロジーでは、仮想パイプにおける転送トラフィックパターンの識別は自明である。というのは、一方の仮想／基盤リンクにおける入力が、他方の仮想／基盤リンクにおける出力となっているからである。しかし、仮想パイプが２つより多くの仮想リンクに接続される複雑なトポロジーでは、この仮想パイプの仮想リンクを通って流れるトラフィックの詳細な対応関係を必要とする。本研究で考案した受容候補ヒューリスティックは、このような複雑なトポロジーを考慮する。
【００６５】
われわれは、仮想パイプを通るトラフィックに関連する条件として、この仮想パイプをホスティングする基盤ノードを、この仮想要素に関連する仮想ネットワークに対する受容候補として宣言する前に分析しなければならない条件のセットを規定した。仮想パイプトラフィックの分析は、分析される仮想リンクの流入トラフィックを流出トラフィックと比較すること、またはその逆によって行うことができる。受容候補ヒューリスティックに対し、われわれは、流入トラフィックを流出トラフィックと比較することを分析の基礎とした。以下に列挙する条件が、各ＯｖＶＬｉｎｋ＿ｌｓｊリストに属する各仮想リンクｌｖｋｊに対して適用される。
【００６６】
・条件１：仮想ネットワークｋに関連する読み書きがないことを保証する。
【数４】
2014090501.tif 000007
【００６７】
・条件２：ｌｖｋｊの主要なトラフィックが流入トラフィックであるかどうかを識別する。
【数５】
2014090501.tif 000008
【００６８】
・条件３：ｌｖｋｊの流入トラフィックの量を、ＶＮＥＴＬｓに属する他の基盤リンクにおける同じ仮想ネットワークの単一の流出トラフィックと対応づける。この対応関係は、ｌｖｋｊに到着するすべてのトラフィックが完全に単一の仮想リンクに転送されている場合の識別を可能にする。
【数６】
2014090501.tif 000009
【００６９】
・条件４：ｌｖｋｊの流入トラフィックの量を、ＶＮＥＴＬｓに属する他の基盤リンクにおける同じ仮想ネットワークのすべての流出トラフィックと対応づける。この条件の目的は、ｌｖｋｊ上の流入トラフィックが、同じ仮想ネットワークの複数の相異なる仮想リンクに転送されているかどうかを検出することである。
【数７】
2014090501.tif 000010
【００７０】
（４）に示す最後の分析は、基盤リンクｌｓｊに対する分析のもとで仮想ネットワークに関連する仮想リンクが、基盤ノードのReceiving_Candidate_List（受容候補リスト）に挿入されることになるかどうかを判定することができる。このリストは、〈仮想ネットワーク，仮想リンク〉というタプルである。タプルの第１要素は複数の項を有し得るが、第２要素はユニークである。
【数８】
2014090501.tif 000011
【００７１】
基盤ノードの仮想マネージャは、ネゴシエーション期間中にReceiving_Candidate_Listを用いて、このリストに登録されている仮想ネットワークから仮想ノードを移転することになる。
【００７２】
Ｃ．移転候補ヒューリスティック
移転候補ヒューリスティックは、仮想ノードの観点を考慮して、転送トラフィックの分析を補完する。受容候補ヒューリスティックに対するアプローチとは異なり、関心があるのは、各ＯｖＶＬｉｎｋ＿ｌｓｊリストに属する各仮想リンクｌｖｋｊの流入トラフィックを流出トラフィックと比較することだけではない。移転候補ヒューリスティックの場合、仮想ノードがｌｖｋｊ内の流出トラフィックを生成しているかどうかを識別しなければならない。本研究では、仮想ノードは、ｌｖｋｊにおけるトラフィックフローを発生するためには、仮想リンク以外のリソースを使用する必要があると仮定する。また、仮想ノードは、メモリやハードディスクのような記憶装置からのリソースも使用することを考慮する。例えば、仮想ストリーミングサーバは、要求されたメディアのデータを要求側に送信する前に、そのメディアをあるストレージから読み出す必要がある。このため、移転候補ヒューリスティックの場合、リンクｌｖｋｊの流出トラフィックと仮想ネットワークｋのｒｅａｄｖｋの量との間の関係を識別したい。このような関係を確定するため、仮想ノード上の転送トラフィックパターンを識別するためのさまざまな条件のセットが必要である。この場合も、条件は、ＯｖＶＬｉｎｋ＿ｌｓｊに属する各仮想リンクｌｖｋｊに対して適用される。
【００７３】
・条件１：仮想ネットワークｋは、その仮想ストレージスライスからデータを読み出さなければならない。
【数９】
2014090501.tif 000012
【００７４】
・条件２：ｌｖｋｊの流出トラフィックは、同じ仮想リンクの流入トラフィックよりも高くなければならない。
【数１０】
2014090501.tif 000013
【００７５】
・条件３：ｌｖｋｊの流出トラフィックは、ｒｅａｄｖｋから取得されるデータの量に関連づけられなければならない。ここでの問題は、仮想ネットワークのいかなる種類のデータパケットも検査していないので、仮想ストレージから読み出されるデータの量と、ｌｖｋｊを通じて転送されるデータの量とを直接に識別できないことである。このため、ｌｖｋｊの流出トラフィックとして流れる読み出しの量を識別する唯一の方法は、ｌｖｋｊの流出トラフィックと、仮想ネットワークｋによって消費されるリソースとの間の類似関係を定義することである。そこで、与えられたｒｅａｄｖｋの量がｌｖｋｊの流出トラフィックの「類似区間」に属するかどうかを判定する類似関数Ｓｉｍ（  ）を定義する。
【数１１】
2014090501.tif 000014
ただし、
【数１２】
2014090501.tif 000015
【００７６】
（５）に示す分析の後に、リストMoving_Candidate_List（移転候補リスト）が作成される。このリストも、タプル〈仮想ネットワーク，仮想リンク〉から構成される。
【数１３】
2014090501.tif 000016
【００７７】
以下、上記の両方のヒューリスティックに従って基盤リンクのトラフィックを分析した後、必要であれば仮想リソースを再割当する移転メカニズムを適用する、自己組織化制御ループを示す。
【００７８】
Ｄ．自己組織化制御ループ
自己組織化制御ループの全体図を図４に示す。白丸はローカルな分析を表し、黒矢印は基盤隣接ノード間の通信を示す。制御ループの１サイクルは５段階からなり、それらをアルゴリズム１、２および３に詳細に示す。
【００７９】
第１段階は、仮想リソースの再割当をトリガする条件の分析によって特徴づけられ、アルゴリズム１に示す通りである。この段階では、本セクションで前述した式を用いて、基盤ノードにおけるリソースの状態をローカルに識別する。受容候補リストおよび移転候補リストの作成（アルゴリズム１のステップ１から４まで）の後、アルゴリズム１の「ステップ６」に記述されているように、同じ基盤ノードで並行してアルゴリズム２および３が実行される。しかし、それらのアルゴリズムの実行の説明を単純にするため、図４は、一方の基盤ノードはアルゴリズム２のみを実行し（図４の左側の基盤ノード）、他方のノードはアルゴリズム３を実行する（図４の右側のノード）様子を示している。
【００８０】
アルゴリズム１：自己組織化制御ループ
ステップ１：Ｌｓに基づいてＯｖＬｉｎｋｓリストを作成する（式（１）による）。
ステップ２：ＯｖＬｉｎｋｓ内の各ｌｓｊごとにＯｖＶＬｉｎｋ＿ｌｓｊを作成する（式（２）または（３）による）。
ステップ３：ＯｖＬｉｎｋｓ内の各ｌｖｋｊがReceiving_Candidate_Listに属するかどうかを確認する（式（４）による）。
ステップ４：ＯｖＬｉｎｋｓ内の各ｌｖｋｊがMoving_Candidate_Listに属するかどうかを確認する（式（５）による）。
ステップ５：Receiving_Candidate_ListおよびMoving_Candidate_Listが空ならば、ステップ７に進む。
ステップ６：アルゴリズム２およびアルゴリズム３を実行する。
ステップ７：次の自己組織化制御ループサイクルを待機してからステップ１に進む。
【００８１】
自己組織化制御ループ（図４）の第２段階では、仮想ノードを「受容してもよい」基盤ノードが、仮想ネットワークｖｎｅｔｋの仮想ノードをホスティングすると考えられる基盤隣接ノードと連絡をとる。しかし、基盤隣接ノードが、要求された仮想ノードをホスティングする保証はない。というのは、要求を送信する基盤ノードは、その隣接ノードの仮想要素について何も知らないからである。基盤ノードは、その隣接ノード上の仮想ネットワークｖｎｅｔｋに関連する仮想要素が存在することを知っているだけである。われわれは、基盤ノード内だけでなく、基盤ノード間でも透過性を維持するために、この知識の欠如を仮定する。さらに、仮想リソースの移動を開始する要求は転送されてはならないこと、すなわち、これが転送不能メッセージであることも仮定する。
【００８２】
アルゴリズム２：受容候補アルゴリズム
ステップ１：Receiving_Candidate_List内の各ｖｎｅｔｋについて、最も過負荷なリンクｌｖｋｊを見出し、このリンクの基盤隣接ノードに対し、ｖｎｅｔｋの仮想ノードを移転する要求を送信する。
ステップ２：各要求について、時間ｔの間、基盤隣接ノードの応答を待機する。
ステップ３：ｖｎｅｔｋの仮想ノードを移転する要求に対する応答が時間ｔの間に受信された場合、その仮想ノードを受容する基盤ノードの観点で移動を実行する。
ステップ４：ステップ３が失敗した場合、またはｖｎｅｔｋに対する時間ｔが経過した場合、ｖｎｅｔｋを有するすべてのタプルをReceiving_Candidate_Listから削除する。
【００８３】
アルゴリズム３：移転候補アルゴリズム
ステップ１：Moving_Candidate_List内の各ｖｎｅｔｋについて、時間ｔの間、ｖｎｅｔｋに関連する仮想ノードを移転する要求を待機する。
ステップ２：時間ｔ内に、ｖｎｅｔｋの仮想ノードを移転する要求が受信された場合、ステップ３に進み、そうでない場合、メッセージを破棄する。
ステップ３：Moving_Candidate_List上に、受信した要求に一致するｖｎｅｔｋが存在する場合、ステップ４に進み、そうでない場合、受信した要求の基盤ノード所有者に否定応答を送信してからステップ５に進む。
ステップ４：ｖｎｅｔｋに対する費用効率関係が肯定である場合、基盤隣接ノードに肯定応答メッセージを送信し、ｖｎｅｔｋを有するすべてのタプルをMoving_Candidate_Listから削除し、仮想ノードを移転する基盤ノードの観点で移動を実行する。
ステップ５：時間ｔまで、ｖｎｅｔｋに対する要求の受信を待機し、受信したらステップ２に進む。
ステップ６：ステップ４が失敗した場合、またはｖｎｅｔｋに対する時間ｔが経過した場合、ｖｎｅｔｋを有するすべてのタプルをMoving_Candidate_Listから削除する。
【００８４】
以下、上記の自己組織化モデルの重要な特徴を、図５による自己組織化モデルの高レベル説明図を参照して説明する。
【００８５】
以下は、実行されるプロセスにおけるステップである。
○物理ノードにおける潜在的なボトルネック／不均衡を識別する
・物理ノード監視に基づく。仮想ノードとリソース使用との間の関係を考慮しなければならない。監視は、仮想ノードごとに情報を維持しなければならない。
・隣接ノードの情報により、ある特定のリソース使用パターンを見出す
○全ノードトラフィック、各仮想トラフィック、全ストレージ動作、各仮想ストレージ動作の間の関係
・移転に関する決定
○最適化における利得に対する移転のコストを計算する
○利用可能なリソース、仮想ノードおよび仮想トンネル
○移転による中断時間
○プロビジョニングプロセスからの制約を考慮する
・仮想ノードのロケーションを移転する
・物理ノード外にすべての仮想ノードを移転する
○計画的なノードのシャットオフによる（保守、省エネルギー）
○この場合、ノードがすべてのＶノードを強制排除する。これは連鎖反応を生じる可能性がある。メカニズムは、シャットダウンしているノードにＶＮを戻さないことがさらに必要である
・移転後のネットワーク全体の品質を評価する
○ネットワーク全体のパフォーマンスにとって不良なパターンの学習を可能にする  →  これは、ネットワーク全体の知識により中央で行うことも可能であり、ローカルな知識のみによることも可能である
○移転履歴を追跡し、履歴を評価し、振動を検出し、場合によりその振動を停止する
【００８６】
監視についての詳細
○監視対象：仮想ネットワークごとのリソース使用、例えばｉｎおよびｏｕｔトラフィック、メモリやハードディスク上の読み書き、ＣＰＵ使用
○当該リソース使用のリアルタイムで継続的な監視
○モニタに何らかのフィルタリングを適用する：
○例：  非透過的な場合：仮想ノードで動作するアプリケーションの制御・管理トラフィックではない重要部分のみを監視する。
【００８７】
集中型アルゴリズム
・中央ロケーションにおいて、監視データを収集し、評価および決定をした後、設定コマンドにより移転メカニズムを開始する。
【００８８】
申し出に応じた分散型アルゴリズム
・ノードは、仮想ネットワークのパイプ／通過トラフィックをホスティングする代わりに、その仮想ノードを引き受けることを申し出ることができるかどうか決定する。
・各物理ノードは、検出されたパターンに基づいて、引き受け可能な仮想ネットワークＩＤのリストを作成する。これは、可能性のある将来の仮想ノード移転に対する利用可能なリソースを含む。
・仮想ノードを受容して自己の通過トラフィックを消去したい物理ノードは、移転される予定の仮想ノードをホスティングしている隣接物理ノードに申し出を送信する。
・申し出を受信した物理ノードは、この申し出を分析し、相手ノードに送りたい仮想ノードのリスト内で一致を見出そうと試みる（このリストは、アルゴリズムを実行するすべての物理ノードによって並行して作成されたものである）。
−申し出を１つ以上受信したノードは、どの仮想ノードを提供するかを決定する。このノードは、候補リスト内になければならない。ある仮想ノードについて複数の申し出を受信した場合の決定もまた、受信した申し出のトラフィックパターンおよびリソース利用可能性に基づく。
−さらに、移転の決定は、プロビジョニング時に与えられる制約によって影響されることがある。あるいは、（物理ノードのシャットダウンにより）全ノードを外部へ移転しなければならないというコマンドの場合、移転は必須である。
【００８９】
トラフィックパターンを判定するヒューリスティック
第１段階  −  転送トラフィックに対するヒューリスティック
自己組織化アルゴリズム  −  トラフィック識別
・分散方式で転送トラフィックを識別する２つの観点がある
・いずれの観点も常に各物理ノードで分析される（図６を参照）
受容候補（ノードＡ）
トラフィックを受容し転送する物理ノードの観点で分析
移転候補（ノードＢ）
ストレージから情報を読み出しそれを他のノードに送信する物理ノードの観点で分析
【００９０】
○受容候補あるいは移転候補の分析は、各物理ノードにおける各物理リンクに関連する流入または流出トラフィックを観測して行うことができる。
−例えば、例示したトラフィックフロー（物理ノードＡの観点で）は、リンク１の流入トラフィックまたはリンク４上の流出トラフィックとして分析できる。
【００９１】
○各リンクの分析は、まず流入トラフィックを参照してから、このトラフィックを読み書きおよび流出トラフィックと関連づける、という順序で行う。
−例えば、例示したトラフィックフロー（リンク１上）は、ノードＢ上で分析される。というのは、流入トラフィックが低く、読み出しが高く、流出が高いからである。これに対し、ノードＡ上では、流入トラフィックが高く、流出トラフィックが低い。
【００９２】
第１段階  −  転送トラフィックに対するヒューリスティック
識別に対する一般的問題点
図７は以下のことを示している。
Ｂ  −  共有リンクの公称容量
ａ  −  リンクにおいて再編成が必要な時を判定するためのしきい値（チャネル容量の比率で表す）
ｂｗｊ  −  共有リンク内で使用される全帯域幅（ただし、ｊはリンクのＩＤ）
ｂｗｉｊ  −  共有リンク内の各ｖｎｅｔによって使用される帯域幅（ただし、ｉはｖｎｅｔのＩＤ）
【００９３】
識別すべき問題点：
１．共有リンクは過負荷か？
２．共有リンクの主要なリソースを使用しているトラフィックはあるか？
３．これは転送トラフィックか？（受容候補）
４．この転送トラフィックは主として流入トラフィックか？（受容候補）
５．この仮想ノードはトラフィックを生成しているソース要素か？（移転候補）
【００９４】
第１段階  −  転送トラフィックに対するヒューリスティック
識別に対する一般的問題点
図８は以下のことを示している。
Ｂ  −  共有リンクの公称容量
ａ  −  リンクにおいて再編成が必要な時を判定するためのしきい値（チャネル容量の比率で表す）
ｂｗｊ  −  共有リンク内で使用される全帯域幅（ただし、ｊはリンクのＩＤ）
ｂｗｉｊ  −  共有リンク内の各ｖｎｅｔによって使用される帯域幅（ただし、ｉはｖｎｅｔのＩＤ）
【００９５】
１．共有リンクは過負荷か？  →  （ｂｗ＞Ｂ×ａ）
２．共有リンクの主要なリソースを使用しているトラフィックはあるか？
（ｂｗｉ＞（ｂｗ／（ｖｐｉｐｅ数＋ｖｎｏｄｅ数）））  →  チャネルのリソースが等分配されていないことを意味する
または
（ｂｗｉ≧ｂｗ−ｂｗｉ）  →  ｖｎｅｔ  ｉ  に関連するトラフィックが共有リンク内の支配的トラフィックであることを意味する
【００９６】
第１段階  −  転送トラフィックに対するヒューリスティック
受容候補識別（パイプ）
図９は以下のことを示している。
Ｂ  −  共有リンクの公称容量
ａ  −  リンクにおいて再編成が必要な時を判定するためのしきい値（チャネル容量の比率で表す）
ｂｗｊ  −  共有リンク内で使用される全帯域幅（ただし、ｊはリンクのＩＤ）
ｂｗｉｊ  −  共有リンク内の各ｖｎｅｔによって使用される帯域幅（ただし、ｉはｖｎｅｔのＩＤ）
【００９７】
３．これは転送トラフィックか？
（ｒｅａｄｖｉ＝０）ａｎｄ（ｗｒｉｔｅｖｉ＝０）ａｎｄ（ｉｎｉｊ＞０）ａｎｄ（Ｓ（ｏｕｔｉ）＞０）
４．この転送トラフィックは主として流入トラフィックか？
（ｉｎｉｊ＞ｂｗｉｊ＊ｓ）ｏｒ（（（ａｎｙ  ｋ  ？  Ｌ  ：  （ｉｎｉｊ≧ｏｕｔｉｋ））ｏｒ（ｔ  ？  Ｌ  ａｎｄ  ｔ＜＞ｊ  ：  （ｉｎｉｊ≦Ｓｔ＝０（ｏｕｔｉｔ）））ａｎｄ（ｉｎｉｊ≧ｏｕｔｉｊ））、ただし、Ｌは物理リンクＩＤのセットである
【００９８】
第１段階  −  転送トラフィックに対するヒューリスティック
移転候補識別（ノード）
図１０は以下のことを示している。
Ｂ  −  共有リンクの公称容量
ａ  −  リンクにおいて再編成が必要な時を判定するためのしきい値（チャネル容量の比率で表す）
ｂｗｊ  −  共有リンク内で使用される全帯域幅（ただし、ｊはリンクのＩＤ）
ｂｗｉｊ  −  共有リンク内の各ｖｎｅｔによって使用される帯域幅（ただし、ｉはｖｎｅｔのＩＤ）
ｓ  −  ｏｕｔ帯域幅がｉｎよりも大きいかどうかを判定するためのしきい値
移転候補識別は、ｖｎｏｄｅを移転すべき場所、すなわち、生成されるトラフィックが流れているのがどのリンクであるかを識別する必要はない。移転要求を待って、決定を行う。
【００９９】
５．この仮想ノードはトラフィックを生成しているソース要素か？
（ｒｅａｄｖｉ＞０）ａｎｄ（ｏｕｔｉｊ＞ｂｗｉｊ×ｓ）ａｎｄ
（ａｎｙ  ｋ  ？  Ｌ  ：  ｏｕｔｉｊ≧ｉｎｉｋ）、ただし、ｋは｛０...ｋ｝に属し、ｋ＜＞ｊであり、ｎは物理隣接ノードの数である
【０１００】
第１段階  −  アプリケーショントラフィックに対するヒューリスティック
自己組織化アルゴリズム  −  トラフィック識別
・アプリケーショントラフィックパターンは、同じ２つの観点（受容および移転）を示すという意味で、転送トラフィックに類似する（図１１を参照）
・相違点は、アプリケーショントラフィックを識別するための分析の際に関わるリソースの種類である
・ＣＰＵおよびメモリ消費が、このパターンを認識するための主な要素である。その理由は、流入データが他のノードに転送されたりストレージに書き込まれたりしていないからである。
【０１０１】
アプリケーショントラフィックを認識するためのＣＰＵおよびメモリの分析は、ｖｎｅｔに関連する仮想ノードを有する物理ノード上で、すなわち、移転候補上でのみ意味がある。
【０１０２】
第１段階  −  アプリケーショントラフィックに対するヒューリスティック
移転候補識別（ノード）
図１２は以下のことを示している。
Ｂ  −  共有リンクの公称容量
ａ  −  リンクにおいて再編成が必要な時を判定するためのしきい値（チャネル容量の比率で表す）
ｂｗｊ  −  共有リンク内で使用される全帯域幅（ただし、ｊはリンクのＩＤ）
ｂｗｉｊ  −  共有リンク内の各ｖｎｅｔによって使用される帯域幅（ただし、ｉはｖｎｅｔのＩＤ）
ｓ  −  ｉｎ帯域幅がｏｕｔよりも大きいかどうかを判定するためのしきい値
移転候補識別は、ｖｎｏｄｅを移転すべき場所、すなわち、生成されるトラフィックが流れているのがどのリンクであるかを識別する必要はない。移転要求を待って、決定を行う。
【０１０３】
６．仮想ノード内のアプリケーションは流入トラフィックを消費しているか？
（ｂｗｉｎｉｊ＞ｂｗｊ×ｓ）ａｎｄ
（ｃｕｒｒｅｎｔ＿ｃｐｕｖｉ＞ｔｏｔａｌ＿ｃｐｕｖｉ×ｆ）ａｎｄ
（ｃｕｒｒｅｎｔ＿ｍｅｍｖｉ＞ｔｏｔａｌ＿ｍｅｍｖｉ×？）ａｎｄ
（（ｓｕｍ（ｉｎｉ）＋ｒｅａｄｖｉ）−（ｓｕｍ（ｏｕｔｉ）＋ｗｒｉｔｅｖｉ）＞０）、
ただし、ｆはＣＰＵ過負荷を特徴づけるために用いられる比率であり、？はメモリ過負荷を特徴づけるために用いられる比率である。
【０１０４】
第２段階
リソース移転要求を送信する
・両方の観点（受容候補および移転候補）のローカルな分析の後、各物理ノードは、その物理ノードで受容されるべきｖｎｅｔ候補があるかどうかを確認する
−これは、物理ノードがｖｎｅｔ候補に関連する仮想パイプを有し、この仮想パイプがそのｖｎｅｔのリソースを受容すること（によりｖｎｏｄｅとなること）を要求していることを意味する
・受容候補として識別された各ｖｎｅｔについて、このｖｎｅｔのリソースを移転する要求が、分析されている物理リンクの相手側の物理ノードに送信される。
−この要求内には、移転を要求している物理ノード上の利用可能なリソースの公表もある
【０１０５】
第２段階
リソース移転要求を受信する
・物理ノードは、リソース移転要求を受信すると、自己の移転候補の内部リストで、この要求に対する一致があるかどうかをチェックする
−複数の要求が（相異なる物理隣接ノードから）到着した場合、物理ノードは、より多くのリソースおよびより低い移転コストを有する隣接ノードを選択する
【０１０６】
第３段階
評価段階
・移転されるストレージを有するノードは、（ストレージを受容したい隣接ノードのうちの）どのノードにストレージを移転するかを決定する（図１３を参照）
【０１０７】
第３段階
評価段階  −  判断基準
・隣接ノードで利用可能なストレージは、移転されるストレージと少なくとも同じサイズでなければならない。
ｓｔｏｎｅｉｇｎ≧ｓｔｏｖｉ
・中断時間は、ＳＬＡで規定されるものより大きくてはならない。
ｔｉｎｔｅｒｒ＝ｓｔｏｖｉ／ｂｗｉ
・隣接ノードの物理リンクに関する制約を考慮する
−制約はストレージの移転を制限する
−仮想ネットワークの最初の設置時に規定される
【０１０８】
第３段階
評価段階  −  判断基準
・分析対象のノードにおけるｖｉのトラフィックｏｕｔの量は、分析対象のリンク上の現在のｂｗｏｕｔｉの比率未満でなければならない（図１４を参照）
−移転後、トラフィックｏｕｔ／ｉｎは、分析対象のリンク上のトラフィックｏｕｔ／ｉｎとなる。
ｆｕｔｕｒｅ＿ｏｕｔｉ：ｓｕｍ（ｏｕｔｉ）−ｏｕｔｉｊ
ｆｕｔｕｒｅ＿ｉｎｉ：ｓｕｍ（ｉｎｉ）−ｉｎｉｊ
ｆｕｔｕｒｅ＿ｏｕｔｉ＋ｆｕｔｕｒｅ＿ｉｎｉ≦ｂｗｉｊ＊Ｏ（ただし、Ｏは比率）
【０１０９】
第４段階
評価の公表
・移転要求を受信し、実行可能性を評価した物理ノードは、一致があったか否かを示す応答を隣接ノードに対して送信する
【０１１０】
第５段階
移転メカニズム
・リソースを受容するノードの観点
−移転されることになるｖｎｏｄｅに転送されているすべてのパケットがキューイングされる
−物理ノードは、移転されるｖｎｏｄｅの基本情報を要求し、要求されたリソースを割り当てる
−すべての情報が移転される
−仮想リンクコネクションは再確立される
−ｖｎｏｄｅのアプリケーションは再起動される
−パケットはキューから取り出され、ローカルに処理される
【０１１１】
第５段階
移転メカニズム
・リソースを移転するノードの観点
−到着するすべてのパケットがキューイングされる
−アプリケーションはサスペンドされる
−物理ノードは、移転されるｖｎｏｄｅの基本情報を応答する
−すべての情報が移転される
−必要であれば、ｖｐｉｐｅが作成される
−仮想リンクコネクションは再確立される
−パケットはキューから取り出され、ｖｎｏｄｅの新しいロケーションに送信される
【０１１２】
第６段階
移転メカニズムの評価
・この段階は、リソース使用だけではなく、物理ノードの自己組織化の履歴も考慮する点で、第１段階とは異なる。
・自己組織化はヒューリスティックに基づいており、最適解ではないため、移転の決定を評価しなければならない
・移転アクションに関連づけて、ある値を定義する
・評価は、物理ノード内のｖｎｅｔの履歴に基づく。
−同じ物理ノードにおいて同じｖｎｅｔが移転された回数に応じて、このｖｎｅｔが再び移転されるのを避けるため、第３段階の評価基準に新しい制約を挿入する
−事例に基づく推論（case-based reasoning, ＣＢＲ）および強化学習に基づく
【０１１３】
仮想ノード移転メカニズム
・データ移動／コード移動（これについては範囲外）
・往復移転をしないように、ある時間、移転について追跡する
・流入トラフィックがキューイングされる
・ストレージおよび動作中のＶＮがサスペンドされる
・ストレージが移転される
・キューが移転され、新しいロケーション上のｖｎｏｄｅで再生される
【０１１４】
本発明および好ましい実施形態の特徴は以下の通りである。
１）ローカルなストレージ読み書きとトラフィックｉｎ／ｏｕｔとの関係を作成する
２）起きていることを（仮想ノード内のアプリケーション／サービスの知識なしに）透過的に検出するための、ローカルな視点およびパターンに基づくアルゴリズム
３）長い中断時間がなく、データ損失のない、ノード移転メカニズム
４）関連するデータのみに対する、より高度な監視（サービスが既知の場合）。
５）トラフィックエンジニアリング／トラフィックおよびストレージリソース使用の負荷分散を可能にする
６）仮想ネットワークを制御する自動的方法（ＶＮＥＴに対するＳＯＮ（Self-Organizing Network, 自己組織化ネットワーク））
７）ゆるやかな計画およびプロビジョニングアルゴリズムのみを行い、オンデマンドかつリアルタイムで最適化する能力
【０１１５】
発明の効果
サービス／アプリケーションに対して透過的。
ＩＴシステムの好適な仮想化概念をネットワーキングに適用。
与えられた負荷のダイナミクスを処理可能。
考慮されるリソースの種類により、ＩＰＴＶ配備に容易に適用可能。
仮想ネットワークのトポロジーを保つ（仮想ネットワーク内の再ルーティングが不要）。
【０１１６】
上記の説明および添付図面の記載に基づいて、当業者は本発明の多くの変形例および他の実施形態に想到し得るであろう。したがって、本発明は、開示した具体的実施形態に限定されるものではなく、変形例および他の実施形態も、添付の特許請求の範囲内に含まれるものと解すべきである。本明細書では特定の用語を用いているが、それらは総称的・説明的意味でのみ用いられており、限定を目的としたものではない。
【図１】
2014090501.tif 000017
【図２】
2014090501.tif 000018
【図３】
2014090501.tif 000019
【図４】
2014090501.tif 000020
【図５】
2014090501.tif 000021
【図６】
2014090501.tif 000022
【図７】
2014090501.tif 000023
【図８】
2014090501.tif 000024
【図９】
2014090501.tif 000025
【図１０】
2014090501.tif 000026
【図１１】
2014090501.tif 000027
【図１２】
2014090501.tif 000028
【図１３】
2014090501.tif 000029
【図１４】
2014090501.tif 000030