JP2016018387A - 情報処理システム、制御方法及び制御プログラム - Google Patents

情報処理システム、制御方法及び制御プログラム Download PDF

Info

Publication number
JP2016018387A
JP2016018387A JP2014140746A JP2014140746A JP2016018387A JP 2016018387 A JP2016018387 A JP 2016018387A JP 2014140746 A JP2014140746 A JP 2014140746A JP 2014140746 A JP2014140746 A JP 2014140746A JP 2016018387 A JP2016018387 A JP 2016018387A
Authority
JP
Japan
Prior art keywords
information processing
movement
information
processing apparatus
virtual object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2014140746A
Other languages
English (en)
Inventor
浩一 尾上
Koichi Onoue
浩一 尾上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014140746A priority Critical patent/JP2016018387A/ja
Priority to US14/724,866 priority patent/US20160013973A1/en
Publication of JP2016018387A publication Critical patent/JP2016018387A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】ネットワーク負荷を効果的に平準化させる。【解決手段】本情報処理システムは、複数のサブネットの少なくともいずれかに属する仮想マシンが起動される複数の第1の情報処理装置と、サブネット間の通信に用いられる仮想ルータが起動される複数の第2の情報処理装置と、サブネット内の通信経路と仮想マシンの配置と仮想ルータの配置とを制御する制御装置と、複数の第1の情報処理装置と複数の第2の情報処理装置と制御装置とを接続する複数のスイッチとを有する。そして、制御装置は、複数の第1の情報処理装置の各々の通信量に関する所定の評価値と、複数のスイッチの各々の通信量に関する所定の評価値とに基づき、仮想マシンと、仮想ルータと、いずれかのサブネット内の通信経路とのうちいずれかを選択して、選択された仮想マシン又は仮想ルータの配置先若しくは選択されたサブネット内の通信経路を変更する。【選択図】図5

Description

本発明は、情報処理システム、制御方法及び制御プログラムにおけるリソース制御技術に関する。
データセンタなどにおける情報処理システムにおいて、複数のテナント(顧客システム)の複数の仮想マシンなどを複数の物理マシン上に起動させて運用している場合、物理マシンをつなぐネットワークにおいてその負荷に偏りが生じていると、所望のスループットが得られない場合がある。
例えば、図1に示すような情報処理システムを想定する。図1の情報処理システムには、3つの上位スイッチSSwitch1乃至3と、3つの下位スイッチLSwitch1乃至3と、仮想ルータVirtual router1及び2が実行される物理マシンAServer1及び3と、仮想マシンVM1乃至6が実行される物理マシンVServer1乃至6とが含まれる。
図1の例では、VM1は、LSwitch1とSSwitch1とVirtual router1とSSwitch1とLSwitch2とを経由してVM3と通信している、また、VM2は、LSwitch1とSSwitch1とLSwitch2とを経由してVM4と通信している。さらに、VM5は、LSwitch2とSSwitch3とVirtual router2とSSwitch3とLSwitch3とを経由してVM6と通信している。
このような場合、LSwitch1に着目すると、SSwitch1へのリンクの出力トラフィックが「5」であるのに対して、SSwitch2及びSSwitch3へのリンクの出力トラフィックが「0」となっており、SSwitch1へのリンクの出力トラフィックが大きくなってしまって、レイテンシが大きくなってしまう可能性がある。
そこで従来技術では、SSwitch1に接続されているネットワークコントローラ(Network Controller)が、上位スイッチ及び下位スイッチと連携して、VM間の通信経路を個別に変更する場合がある。例えば、VM2とVM4の間の通信経路を、LSwitch1とSSwitch1とLSwitch2とを経由する通信経路から、図2に示すように、LSwitch1とSSwitch2とLSwitch2とを経由する通信経路に変更する。これによって、LSwitch1からSSwitch2へのリンクの出力トラフィックが「3」に増加するため、LSwitch1からSSwitch1へのリンクの出力トラフィックが「2」へ削減されるようになる。
このように、従来技術のようにVM間の通信経路を個別に変更することで出力トラフィックの平準化が可能となる場合もある。
しかしながら、次のような場合には、このような手法が機能しない場合がある。図3に示すように、SSwitch3から物理マシンAServer3へのリンクには、Virtual router2及びVirtual router3への出力トラフィックが重なってしまっているが、どのように上位スイッチと下位スイッチとの間の通信経路を変更しようとも、この出力トラフィックの重なりは回避できない。
同様に、図4に示すように、LSwitchとVServerとの間のリンクも代替するものがないので、VM3からLSwitch1を経由してVM2に至る、LSwitch1の出力トラフィックと、VM4からLSwitch1を経由してVM1に至る、LSwitch1の出力トラフィックとが重なっていてレイテンシが大きくなっても、回避できない。
特開2012−94119号公報 特表2012−511292号公報 特開2013−179456号公報 特表2014−506342号公報 特開2010−117760号公報 特開平8−152903号公報 特開2006−244479号公報
従って、本発明の目的は、一側面によれば、ネットワーク負荷を効果的に平準化させるための技術を提供することである。
本発明に係る情報処理システムは、複数のスイッチ装置を介して接続された複数の情報処理装置を有する情報処理システムである。前記情報処理システムは、前記複数のスイッチ装置のいずれかに接続された制御装置を有する。前記制御装置は、仮想オブジェクト識別情報と、移動元装置識別情報と、移動先装置識別情報とを対応付けたエントリを記憶する記憶部と、エントリを前記記憶部に記憶させる移動情報作成部を有する。前記仮想オブジェクト識別情報は、前記複数の情報処理装置のいずれかで動作する移動対象の仮想オブジェクトを識別する。前記移動元装置識別情報は、前記複数の情報処理装置のうち移動元の情報処理装置を識別する。前記移動先装置識別情報は、前記複数の情報処理装置のうち移動先の情報処理装置を識別する。前記移動情報作成部は、第3の情報処理装置で動作する仮想オブジェクトを第4の情報処理装置に移動させ、さらに、前記第4の情報処理装置で動作する仮想オブジェクトを第5の情報処理装置に移動させるか否かの判断を行う。前記移動情報作成部は、前記複数の情報処理装置のうち、第1の情報処理装置と第2の情報処理装置間の通信量の所定の評価値に基づき前記判断を行う。前記移動情報作成部は、移動させるとの判断を行った場合、前記仮想オブジェクトの識別情報と、前記第3の情報処理装置を識別する識別情報と、前記第5の情報処理装置を識別する識別情報とが対応付けられた対象エントリを前記記憶部に記憶させる。
一側面によれば、ネットワーク負荷を効果的に平準化できるようになる。
図1は、従来技術を説明するための図である。 図2は、従来技術を説明するための図である。 図3は、従来技術を説明するための図である。 図4は、従来技術を説明するための図である。 図5は、実施の形態に係る情報処理システムを示す図である。 図6は、リソース制御装置の機能の概要を示す図である。 図7は、リソース制御装置の機能ブロック図である。 図8は、収集データ格納部に格納されるデータの一例を示す図である。 図9は、収集データ格納部に格納されるデータの一例を示す図である。 図10は、本実施の形態に係る処理フローを示す図である。 図11は、評価値の算出例を示す図である。 図12は、評価値の算出例を示す図である。 図13は、評価値の算出例を示す図である。 図14は、Virtual object等の評価値の算出例を示す図である。 図15は、Virtual object等の評価値の算出例を示す図である。 図16は、Virtual object等の評価値の算出例を示す図である。 図17は、Virtual object等の評価値の算出例を示す図である。 図18は、Virtual object等の評価値の算出例を示す図である。 図19は、Virtual object等の評価値の算出例を示す図である。 図20は、Virtual object等の評価値の算出例を示す図である。 図21は、物理リンクと移動対象との関係を表す模式図である。 図22は、本実施の形態に係る処理フローを示す図である。 図23は、本実施の形態に係る処理フローを示す図である。 図24は、本実施の形態に係る処理フローを示す図である。 図25は、VLAN IDの設定について説明するための図である。 図26は、Virtual routerの移動について説明するための図である。 図27は、Virtual routerの移動について説明するための図である。 図28は、Virtual routerの移動について説明するための図である。 図29は、Virtual routerの移動について説明するための図である。 図30は、Virtual routerの移動について説明するための図である。 図31は、Virtual routerの移動について説明するための図である。 図32は、VMの移動について説明するための図である。 図33は、VMの移動について説明するための図である。 図34は、VMの移動について説明するための図である。 図35は、VMの移動について説明するための図である。 図36は、VMの移動について説明するための図である。 図37は、VMの移動について説明するための図である。 図38は、VMの移動について説明するための図である。 図39は、VMの移動について説明するための図である。 図40は、L2−treeの移動について説明するための図である。 図41は、L2−treeの移動について説明するための図である。 図42は、L2−treeの移動について説明するための図である。 図43は、L2−treeの移動について説明するための図である。 図44は、L2−treeの移動について説明するための図である。 図45は、L2−treeの移動について説明するための図である。 図46は、移動によって影響を受けるトラフィックについての図である。 図47は、同じLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図48は、同じLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図49は、同じLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図50は、同じLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図51は、同じLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図52は、同じLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図53は、同じLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図54は、同じLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図55は、同じLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図56は、異なるLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図57は、異なるLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図58は、異なるLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図59は、異なるLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図60は、異なるLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図61は、異なるLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図62は、異なるLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図63は、異なるLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図64は、異なるLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図65は、異なるLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図66は、異なるLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図67は、異なるLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図68は、異なるLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図69は、異なるLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図70は、異なるLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図71は、異なるLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図72は、異なるLSwitchに接続されているVServerにVMを移動させる場合のフローの変化を説明するための図である。 図73は、計算量削減のための工夫を説明するための図である。 図74は、計算量削減のための工夫を説明するための図である。 図75は、計算量削減のための工夫を説明するための図である。 図76は、計算量削減のための工夫を説明するための図である。 図77は、コンピュータの機能ブロック図である。 図78は、同じ移動対象が複数回移動対象リストに存在する第1の例を説明するための図である。 図79は、同じ移動対象が複数回移動対象リストに存在する第1の例を説明するための図である。 図80は、同じ移動対象が複数回移動対象リストに存在する第1の例を説明するための図である。 図81は、同じ移動対象が複数回移動対象リストに存在する第2の例を説明するための図である。 図82は、同じ移動対象が複数回移動対象リストに存在する第2の例を説明するための図である。 図83は、同じ移動対象が複数回移動対象リストに存在する第2の例を説明するための図である。 図84は、同じ移動対象が移動対象リストに含まれないようにする処理の処理フローを示す図である。 図85は、同じ移動対象が移動対象リストに含まれないようにする処理の処理フローを示す図である。 図86は、第1の例で同じ移動対象が移動対象リストに含まれないようにした結果を示す図である。 図87は、第2の例で同じ移動対象が移動対象リストに含まれないようにした結果を示す図である。 図88は、移動対象リストに新たなエントリを追加する際に無駄な移動が発生しないようにする処理の処理フローを示す図である。 図89は、移動対象リストに新たなエントリを追加する際に無駄な移動が発生しないようにする処理の処理フローを示す図である。 図90は、第1の例で更新前後の移動対象リストを示す図である。 図91は、第1の例で同じ移動対象が移動対象リストに含まれないようにした結果を示す図である。 図92は、第2の例で更新前後の移動対象リストを示す図である。 図93は、第2の例で同じ移動対象が移動対象リストに含まれないようにした結果を示す図である。
[比較例]
本実施の形態において想定するシステムの一例を図5に示す。図5の例のように、上位スイッチSSwitch1乃至n(Spine Switchとも呼ぶ)と、下位スイッチLSwitch1乃至x(Leaf Switchとも呼ぶ)と、仮想マシンVMを配置及び移動させることができる物理マシンVServer1乃至yと、Virtual router(以下VRとも記す)を配置及び移動させることができる物理マシンAServer1乃至m(Appliance Serverとも呼ぶ)と、本実施の形態で主要な処理を実行するリソース制御装置(Resource Controller)1000とを含む。
物理マシンVServerは、いずれかのLSwitchに接続される。下位スイッチLSwitchは、上位スイッチSSwitchのうち2以上のSSwitchに接続される。好適には、AServerが接続された各SSwitchに接続される。
AServerは、いずれかのSSwitchに接続される。なお、リソース制御装置1000も、いずれかのSSwitchに接続される。
図6に、リソース制御装置1000の機能の概要を示す。リソース制御装置1000は、SSwitch、LSwitch、AServer、VServerから各種情報を収集して、それらの物理装置やAServer上のVRやVServer上のVM等に対する制御を行う。
この制御を行うために、リソース制御装置1000は、物理的及び仮想的なネットワーク(Physical/Virtual network)の情報に関連して、トポロジ管理を含む、物理スイッチ(Physical Switch)の管理と、仮想スイッチ(Virtual switch)及び仮想ルータ(Virtual router)の管理と、ファイアウォール(Firewall)の管理と、サブネットの管理等を行っている。本実施の形態では、各テナントにおけるサブネット内の通信経路をL2−treeと呼ぶものとする。
また、リソース制御装置1000は、物理マシン及び仮想マシン(Physical/Virtual machine)の情報に関連して、物理マシン(Physical machine)の管理と、仮想マシン(VM:Virtual machine)及び仮想ルータVirtual routerの使用資源量の管理と、VM及びVRの位置管理などを行う。なお、物理マシンの管理には、CPU(Central Processing Unit)、メモリ及びVMM(Virtual Machine Manager)などの管理が含まれる。以下、VMとVRとをVirtual objectと総称するものとする。物理スイッチ、物理マシン及びスイッチを、物理装置又はPM(Physical machine)と総称するものとする。
具体的には、リソース制御装置1000は、本実施の形態に関連して図7に示すような構成を有する。リソース制御装置1000は、本実施の形態における主要な処理を行う平準化処理部1100と、L2−treeの変更を行う変更制御部1200と、Virtual objectの移動制御を行う移動制御部1300と、管理データ格納部1400と、収集データ格納部1500と、トラフィックデータ収集部1600とを有する。
平準化処理部1100は、制御部1101と、第1評価値算出部1102と、第2評価値算出部1103と、集約計算部1104とを有する。制御部1101は、第1評価値算出部1102と第2評価値算出部1103等の処理の制御を行うと共に、移動制御部1300と変更制御部1200とに対して指示を行う。
第1評価値算出部1102は、各物理装置の出力トラフィックに基づく評価値を算出する。集約計算部1104は、第1評価値算出部1102によって算出された評価値に基づき選択された物理装置に着目して、当該物理装置の出力トラフィックを所定の単位で集約する処理を実行する。第2評価値算出部1103は、集約計算部1104の処理結果を用いて選択された移動対象又は変更対象(VM,VR又はL2−tree)を仮に移動させた場合における物理装置の評価値を算出する。
管理データ格納部1400は、物理的及び仮想的なネットワークの情報と物理マシン及び仮想マシンの情報とを格納する。より具体的には、管理データ格納部1400は、本実施の形態に関連するものとして、VM及びVRの配置位置データと、L2−treeとVLAN(Virtual Local Area Network) IDとの対応付けデータと、テナントIDとVLAN IDとの対応付けデータと、L2−treeと経由するSServerとの対応付けデータと、各サブネットに属するVMのIDと、各VRについてルーティングするサブネットとを格納している。
トラフィックデータ収集部1600は、各物理装置から各トラフィックのデータを収集し、収集データ格納部1500に格納する。収集データ格納部1500は、例えば図8及び図9に示すようなデータを格納する。
図8は、各物理ポートのトラフィックのデータの一例を示す。ここでは例えば1時間毎にデータを格納する例を示しているが、間隔は1日毎といったように任意である。図8の例では、時刻と、PMのID及びポート番号の組み合わせと、出力トラフィックとが登録されるようになっている。ポート番号については、PMが物理スイッチであればその物理ポートのポート番号が設定されるが、VServer及びAServerの場合には、設定しないか又は常に固定のポート番号を設定するものとする。出力トラフィックについては、リンク使用率、平均通信速度、データ量又はパケット数等であるが、図8では通信速度を示している。
また、図9は、フロー単位のトラフィックのデータを示す。ここでは例えば1時間毎にデータを格納する例を示しているが、間隔は1日毎といったように任意である。図9の例では、時刻と、PMのID、ポート番号、TID(テナントID)、SIP(Source IP address:送信元IPアドレス)及びDIP(Destination IP address:宛先IPアドレス)の組み合わせと、出力トラフィックとが登録されるようになっている。PMのID、ポート番号、TID(テナントID)、SIP(Source IP address:送信元IPアドレス)及びDIP(Destination IP address:宛先IPアドレス)の組み合わせによって、送信元VMから宛先VMへの個別のフローが識別される。
第1評価値算出部1102は、主に図8に示すような、物理ポートのトラフィックのデータを用いて処理を行う。集約計算部1104は、主に図9に示すような、フロー毎のトラフィックデータを用いて処理を行う。第2評価値算出部1103は、図8及び図9に示すようなデータを用いて処理を行う。
次に、リソース制御装置1000の処理内容について、概要を図10乃至図25を用いて説明する。
まず、平準化処理部1100の制御部1101は、VM又はVRの配置先若しくはL2−treeの変更を行う条件を満たすか否かを判断する(図10:ステップS1)。例えば、ネットワークが輻輳している(例えばいずれかの物理リンクに閾値以上の出力トラフィックが検出されている)という条件、又は以下で説明するステップS3を先に実行してVServerとSSwitchとLSwitchとの評価値のうち最大値と最小値との差が閾値以上であるという条件を満たしているか否かを判断する。
ステップS1の条件を満たさない場合には、端子Bを介して処理を終了する。すなわち、このタイミングでの本処理は終了する。なお、本処理は、1日毎又は1時間毎といったように定期的に実行するようにしても良いし、管理者などの指示によって実行するようにしても良い。
一方、ステップS1の条件を満たす場合には、制御部1101は、第1評価値算出部1102に指示を行って、収集データ格納部1500に格納されているデータから、物理スイッチSwitch(SSwitch及びLSwitch)とVServerとの各々について評価値を算出させる(ステップS3)。評価値は、AServer以外の物理装置の出力トラフィックの平均値又は最大値である。
SSwitchの評価値について図11を用いて説明する。例えば、AServerへのUplinkについて出力トラフィックが9Gbpsであり、第1のDownlinkについて出力トラフィックが4Gbpsであり、第2のDownlinkについて出力トラフィックが3Gbpsであり、第3のDownlinkについて出力トラフィックが4Gbpsであるとする。そうすると、評価値が、これらの出力トラフィックのうちの最大値と定義されていれば、「9」と算出される。
また、LSwitchの評価値について図12を用いて説明する。例えば、第1のVServerへのDownlinkについて出力トラフィックが7Gbpsであり、第2のVServerへのDownlinkについて出力トラフィックが3Gbpsであり、第1のSSwitchへのUplinkについて出力トラフィックが8Gbpsであり、第2のSSwitchへのUplinkについて出力トラフィックが4Gbpsであり、第3のSSwitchへのUplinkについて出力トラフィックが4Gbpsであるものとする。そうすると、評価値が、これらの出力トラフィックのうち最大値と定義されていれば、「8」と算出される。
さらに、VServerの評価値について図13を用いて説明する。例えば、LSwitchへのUplinkについて出力トラフィックが5Gbpsであるものとする。そうすると、評価値が、これらの出力トラフィックのうち最大値と定義されていれば、「5」と算出される。
第1評価値算出部1102は、評価値最大の物理装置(AServer以外の物理装置)を選択する(ステップS5)。このように、フローの集約処理を行うべき物理装置を簡単な処理で絞り込むことができるようになる。
そして、ステップS5においてSSwitchが選択された場合には(ステップS7:Yesルート)、第1評価値算出部1102は、選択されたSSwitchについて最大評価値となった物理ポートがUplinkのポートであるか否かを判断する(ステップS9)。ステップS9の条件が満たされる場合には、第1評価値算出部1102は、ステップS5で選択されたSSwitchのIDとUplinkであることを制御部1101に出力する。そして、制御部1101は、第2評価値算出部1103に対して、ステップS5で選択されたSSwitchのIDと当該SSwitchに接続されているAServer上に起動されているVirtual routerのID等を指定して、評価値算出を指示する。
第2評価値算出部1103は、制御部1101からの指示に応じて、集約計算部1104と協働して、各Virtual routerについて評価値を算出する(ステップS11)。そして処理はステップS23に移行する。
例えば、図14に示すように、SSwitchのUplink(物理リンク)の評価値が「9」であるためステップS5で選択された場合、集約計算部1104は、Virtual router1からの出力トラフィックを集約し、Virtual router2からの出力トラフィックを集約する。具体的には、Virtual router1がルーティングする第1のサブネットに属するVMと第2のサブネットに属するVMとの間のトラフィックを集約し、Virtual router2がルーティングする第3のサブネットに属するVMと第4のサブネットに属するVMとの間のトラフィックを集約する。
そうすると、図14に示すように、Virtual router1からの出力トラフィックが5Gbpsと集約され、Virtual router2からの出力トラフィックが4Gbpsと集約される。そうすると、第2評価値算出部1103は、この集約結果から、Virtual router1の評価値を「5」とし、Virtual router2の評価値を「4」として算出する。
一方、ステップS9の条件が満たされなかった場合には、第1評価値算出部1102は、ステップS5で選択されたSSwitchのIDとDownlinkであることを制御部1101に出力する。そして、制御部1101は、第2評価値算出部1103に対して、ステップS5で選択されたSSwitchのIDと、当該SSwitchが対応付けられているL2−treeのデータと、当該SSwitchに接続されているAServer上に起動されているVirtual routerのID(例えばIPアドレス)と、各VMのID(例えばIPアドレス)等を指定して、評価値算出を指示する。
第2評価値算出部1103は、制御部1101からの指示に応じて、集約計算部1104と協働して、各Virtual router、各L2−tree及び各送信先VMの評価値を算出する(ステップS13)。そして処理はステップS23に移行する。
例えば、図15に示すように、SSwitchの1つのDownlinkの評価値が7GbpsであるためステップS5で選択された場合、集約計算部1104は、VM1への出力トラフィックを集約し、VM2への出力トラフィックを集約する。また、別の側面として、集約計算部1104は、このSSwitchに接続されているAServer上で起動されているVirtual router1を経由した出力トラフィック(サブネット間通信の出力トラフィック)と、Virtual router1を経由しない出力トラフィック(サブネット内通信の出力トラフィック)とを集約する。
すなわち、物理リンクの出力トラフィック=Virtual router経由の出力トラフィック+L2−tree毎の出力トラフィック=送信先VMの出力トラフィックの総和という関係が成り立つ。
図15の例では、VM1への出力トラフィックが5Gbpsと集約され、VM2への出力トラフィックが2Gbpsと集約される。また、Virtual router1を経由する出力トラフィックが3Gbpsと集約され、Virtual router1を経由しない出力トラフィックが4Gbpsと集約される。集約計算部1104は、この集約結果から、VM1の評価値を「5」とし、VM2の評価値を「2」とし、Virtual router1の評価値を「3」とし、このSSwitchに対応付けられているL2−tree(サブネット)の評価値を「4」と算出する。ここではサブネットは1つであるものとする。
なお、図16に示すように、AServerに接続されていないためVirtual router経由の出力トラフィックがなく、SSwitchのDownlinkに着目する場合には、送信先VM毎に出力トラフィックを集約する。図16の例では、VM1への出力トラフィックはVM2からの出力トラフィックと、VM3からの出力トラフィックとの和となる。一方、VM4への出力トラフィックはVM2からの出力トラフィックと同じである。送信元VMを、仮に後の処理で選択したとしてもSSwitchのDownlinkの出力トラフィックは変化しないので、送信先VMに着目する。
ステップS5で選択された物理装置がSSwitchではなく(ステップS7:Noルート)、LSwitchが選択された場合(ステップS15:Yesルート)、第1評価値算出部1102は、選択されたLSwitchについて最大評価値となった物理ポートがUplinkのポートであるか否かを判断する(ステップS17)。ステップS17の条件が満たされる場合には、第1評価値算出部1102は、ステップS5で選択されたLSwitchのIDとUplinkであることを制御部1101に出力する。そして、制御部1101は、第2評価値算出部1103に対して、ステップS5で選択されたLSwitchのIDと、各Virtual routerのIDと、各VMのID等を指定して、評価値算出を指示する。
第2評価値算出部1103は、制御部1101からの指示に応じて、集約計算部1104と協働して、各Virtual router、各L2−tree及び各送信元VMの評価値を算出する(ステップS19)。そして処理はステップS23に移行する。
例えば、図17に示すように、LSwitchの1つのUplinkの評価値が6GbpsであるためステップS5で選択された場合、集約計算部1104は、VM1からの出力トラフィックを集約し、VM2からの出力トラフィックを集約する。また、別の側面として、集約計算部1104は、Virtual router1を経由する出力トラフィック(サブネット間通信の出力トラフィック)と、Virtual router1を経由しない出力トラフィック(サブネット内通信の出力トラフィック)とを集約する。
ここでも、物理リンクの出力トラフィック=Virtual router経由の出力トラフィック+L2−tree毎の出力トラフィック=送信元VMの出力トラフィックの総和、という関係が成り立つ。
図17の例では、VM1からの出力トラフィックが3Gbpsと集約され、VM2からの出力トラフィックが3Gbpsと集約される。また、Virtual router1を経由する出力トラフィックが4Gbpsと集約され、Virtual router1を経由しない出力トラフィックが2Gbpsと集約される。集約計算部1104は、この集約結果から、VM1の評価値を「3」とし、VM2の評価値を「3」とし、Virtual router1の評価値を「4」とし、このSSwitchに対応付けられているL2−tree(サブネット)の評価値を「2」と算出する。ここではサブネットは1つであるものとする。
なお、Virtual router経由の出力トラフィックがなく、LSwitchのUplinkに着目する場合には、送信元VM毎に出力トラフィックを集約する。図18の例では、VM1からの出力トラフィックはVM4への出力トラフィックと同じである。一方、VM3からの出力トラフィックはVM4への出力トラフィックとVM5への出力トラフィックの和である。送信先VMを、後の処理で選択したとしてもLSwitchのUplinkの出力トラフィックは変化しないので、送信元VMに着目する。
一方、ステップS17の条件を満たさない場合、又はステップS5で特定のVServerが選択された場合(ステップS17:Noルート且つステップS15:Noルート)、第1評価値算出部1102は、ステップS5で選択されたLSwitchのIDとDownlinkであること、又はステップS5で選択されたVServerのIDを制御部1101に出力する。そして、制御部1101は、第2評価値算出部1103に対して、ステップS5で選択されたLSwitchのID又はVServerのIDと、各VMのID等を指定して、評価値算出を指示する。
第2評価値算出部1103は、制御部1101からの指示に応じて、集約計算部1104と協働して、各VMの評価値を算出する(ステップS21)。そして処理はステップS23に移行する。
なお、LSwitchのDownlinkが選択された場合には送信先VM毎に出力トラフィックを集約する。図19に示すように、LSwitchの1つのDownlinkの評価値が「7」であるためステップS5で選択された場合、集約計算部1104は、VM1への出力トラフィックを集約し、VM2への出力トラフィックを集約する。
図19の例では、VM1へのVirtual routerを経由する出力トラフィック3GbpsとVM1へのVirtual routerを経由しない出力トラフィック1Gbpsとが加算されて4Gbpsが得られる。同様に、VM2へのVirtual routerを経由する出力トラフィック1GbpsとVM2へのVirtual routerを経由しない出力トラフィック2Gbpsとが加算されて3Gbpsが得られる。
よって、集約計算部1104は、この集約結果から、VM1の評価値を「4」とし、VM2の評価値を「3」と算出する。
また、VServerが選択された場合には送信元VM毎に出力トラフィックを集約する。図20に示すように、VServerからの物理リンクが5GbpsであるためステップS5で選択された場合には、集約計算部1104は、VM1からの出力トラフィックを集約し、VM2からの出力トラフィックを集約する。
図20の例では、VM1からのVirtual routerを経由する出力トラフィック1GbpsとVM1からのVirtual routerを経由しない出力トラフィック1Gbpsとが加算されて2Gbpsが得られる。同様に、VM2からのVirtual routerを経由する出力トラフィック2GbpsとVM2からのVirtual routerを経由しない出力トラフィック1Gbpsとが加算されて3Gbpsが得られる。
よって、集約計算部1104は、この集約結果から、VM1の評価値を「2」とし、VM2の評価値を「3」と算出する。
その後、第2評価値算出部1102は、評価値算出がなされた移動候補(VM、VR、L2−tree)を、評価値で降順にソートすることでソートリストを生成し、制御部1101に出力する(ステップS23)。処理は端子Aを介して図22の処理に移行する。
図14の例では、Virtual router1が先頭のソートリストが生成される。図15の例では、VM1、L2−tree、VR1、VM2の順番のソートリストが生成される。図17の例では、VR1、VM1、VM2、L2−treeの順番のソートリストが生成される。図19の例では、VM1が先頭のソートリストが生成される。図20の例では、VM2が先頭のソートリストが生成される。
以上述べた事項をまとめると、図21に示すようになる。すなわち、SSwitchのUplink(図21のA)が選択されると、Virtual routerが移動対象となる。また、SSwitchのDownlink(図21のB)又はLSwitchのUplink(図21のC)が選択されると、Virtual router、VM又はL2−treeが移動対象となる。さらに、LSwitchのDownlink(図21のD)又はVServerのリンク(図21のE)が選択されると、VMが移動対象となる。
図22の処理の説明に移行して、制御部1101は、ソートリストが空になったか判断する(ステップS25)。以下の処理で、ソートリストの先頭から移動候補を取り出すので、初期的には空にはならない。なお、ソートリストが空になると、物理リンクの出力トラフィックをこれ以上平準化させることができなかったということで、今回のタイミングにおける処理は終了する。
一方、ソートリストが空ではない場合には、制御部1101は、ソートリストの先頭を移動対象として取り出す(ステップS27)。VM、VR又はL2−treeを取り出す。
そして、制御部1101は、移動対象がL2−treeであるか否かを判断する(ステップS29)。移動対象がL2−treeではない場合には、処理は端子Cを介して図23の処理に移行する。
一方、移動対象がL2−treeである場合には、制御部1101は、第1評価値算出部1102に対して、L2−treeを他のSSwitchへ移動させることを仮定した場合における各スイッチ及びVServerの評価値を算出させる(ステップS31)。この処理では、他のSSwitchが複数存在する場合には、各他のSSwitchを移動先候補として、ステップS3と同様に各スイッチ及びVServerの評価値を算出する。但し、移動対象によって変化するのは、一部のスイッチなどであるから、そのスイッチなどについてのみ評価値を算出する。なお、本ステップの処理については、後に詳細に説明する。
そうすると、制御部1101は、移動先候補毎に、評価値を降順にソートすることで評価値リストを生成する(ステップS33)。例えば評価値が[0,3,5,2]と計算された場合には、評価値リストは[5,3,2,0]となる。
そして、制御部1101は、評価値リストが最小となるSSwitchを移動先に選択する(ステップS35)。本ステップでは評価値リストの比較を行うことになるが、同じ順番の評価値同士を上から順番に比較して、最初に差が出た評価値が小さい方が小さい評価値リストと判断される。具体的には、評価値リスト[5,3,2,0]と評価値リスト[5,4,2,0]とを比較する場合には、2番目の評価値が「3」と「4」になるので、前者の評価値リストが小さいと判断される。そして処理は端子Dを介して図24の処理に移行する。
図23を用いて端子C以降の処理を説明する。制御部1101は、移動対象がVMであるか否かを判断する(ステップS37)。移動対象がVMではない場合には、処理は端子Fを介して図24の処理に移行する。
一方、移動対象がVMである場合には、制御部1101は、第1評価値算出部1102に対して、VMを他のVServerへ移動させることを仮定した場合における各スイッチ及びVServerの評価値を算出させる(ステップS39)。この処理では、他のVServerが複数存在する場合には、各他のVServerを移動先候補として、ステップS3と同様に各スイッチ及びVServerの評価値を算出する。但し、移動対象によって変化するのは、一部のスイッチなどであるから、そのスイッチなどについてのみ評価値を算出する。なお、本ステップの処理については、ステップS31と共に後に詳細に説明する。
そうすると、制御部1101は、移動先候補毎に、評価値を降順にソートすることで評価値リストを生成する(ステップS41)。
そして、制御部1101は、評価値リストが最小となるVServerを移動先に選択する(ステップS43)。そして処理は端子Dを介して図24の処理に移行する。
そして図24を用いて端子F以降の処理を説明する。ステップS37でVMではないと判断されると、移動対象がVirtual routerであることになる。
従って、制御部1101は、第1評価値算出部1102に対して、Virtual routerを他のAServerへ移動させることを仮定した場合における各スイッチ及びVServerの評価値を算出させる(ステップS45)。この処理では、他のAServerが複数存在する場合には、各他のAServerを移動先候補として、ステップS3と同様に各スイッチ及びVServerの評価値を算出する。但し、移動対象によって変化するのは、一部のスイッチなどであるから、そのスイッチなどについてのみ評価値を算出する。なお、本ステップの処理については、ステップS31及びS39と共に後に詳細に説明する。
そうすると、制御部1101は、移動先候補毎に、評価値を降順にソートすることで評価値リストを生成する(ステップS47)。
そして、制御部1101は、評価値リストが最小となるAServerを移動先に選択する(ステップS49)。
その後、制御部1101は、移動後の評価値リストが移動前の評価値リスト(ステップS3で算出された評価値から得られる評価値リスト)より小さいか否かを判断する(ステップS51)。この条件を満たさない場合には、移動させても出力トラフィックの平準化に寄与しないので、ソートリストから次の移動対象を取り出すことにする。よって、処理は端子Aを介して図22のステップS25に戻る。
一方、移動後の評価値リストが移動前の評価値リストより小さい場合には、制御部1101は、移動対象を、選択された移動先に移動するように、移動制御部1300又は変更制御部1200に指示を行う(ステップS53)。そして処理は終了する。
ステップS53では、VMやVRを移動させる場合には、現在配置されている物理マシンと移動先の物理マシンを指定して所定のコマンドを実行することで実現される。また、管理データ格納部1400のデータも更新する。
さらに、L2−treeを変更する場合には、サブネット内通信において経由するSSwitchを変更することになる。この場合、変更先のSSwitchを経由するようにVLAN IDを変更する。従って、図25に模式的に示すように、L2−treeに係るサブネットに属するVMが配置されている各VServerにおけるVirtual switchに対して、変更先のSSwitchに対応するVLAN ID(図25では「3」)を、L2−treeに係るサブネットに属するVMから出力するパケットに付加するように設定する。より具体的には上記の条件を満たすVMがつながれた、Virtual switchの特定のポートから出力されるパケットに、変更先のSSwitchに対応するVLAN IDを設定する。なお、図25に示すように、異なるサブネットのVMと通信を行う場合にはVirtual routerを経由するので、その場合には異なるVLAN ID(図25では「2」)を付与する。
次に、図26乃至図31を用いてVirtual routerが移動される場合について説明する。図26は、初期状態を表しており、AServer3にVirtual router2及びVirtual router3が起動されているため、SSwitch3のUplinkにおいてレイテンシが大きくなってしまっている(部分X1)。本実施の形態では、図27に示すように、各スイッチ及び各VServerについて出力トラフィックについての評価値を算出する。そうすると、SSwitch3の評価値は「5」となって選択される。図21の説明に従えば、Virtual routerが移動対象となる。
そして、図28に示すように、Virtual router2への出力トラフィックを集約して評価値を算出すると「2」となり、Virtual router3への出力トラフィックを集約して評価値を算出すると「3」となる。従って、最初に移動対象として選択されるのはVirtual router3となる。
そうすると、Virtual router3を、AServer1に移動させる第1のケースと、AServer2に移動させる第2のケースとについて、評価値リストを計算することになる。
第1のケースでは、図29に示すように、移動元AServer3に接続されるSSwitch3と、移動先AServer1に接続されるSSwitch1と、Virtual router3を経由するトラフィックが通過するLSwitch1とについてのみ、評価値を算出し直すことになる。図29の場合には、SSwitch3については評価値が減り、SSwitch1については評価値が増加し、LSwitch1については結果的に評価値が変わらないということになる。この場合、評価値リストは[4,3,3,3,2,2,2,1,0,0,0,0]となる。最大評価値は「5」から「4」になっているので、移動前より評価値リストが小さいことは明らかである。
第2のケースでは、図30に示すように、移動元AServer3に接続されるSSwitch3と、移動先AServer2に接続されるSSwitch2と、Virtual router3を経由するトラフィックが通過するLSwitch1とについてのみ、評価値を算出し直すことになる。図30の場合には、SSwitch3については評価値が減り、SSwitch2については評価値が増加し、LSwitch1については結果的に評価値が変わらないということになる。この場合、評価値リストは[3,3,3,3,2,2,2,1,1,0,0,0]となる。最大評価値は「5」から「3」になっているので、移動前より評価値が小さいことは明らかである。さらに、第1の場合よりも最大評価値が「4」から「3」に小さくなっていたので、AServer2が適切な移動先であることが分かる。
すなわち、図31に示すような状態に変更することで、移動前よりも、出力トラフィックが平準化される。
次に、図32乃至図39を用いてVMが移動される場合について説明する。図32は初期状態を表しており、VM3からVM2へのトラフィックと、VM4からVM1へのトラフィックが重なってしまってLSwitch1のDownlinkのレイテンシが大きくなってしまっている(部分X2)。
本実施の形態では、図33に示すように、各スイッチ及び各VServerについて出力トラフィックについての評価値を算出する。そうすると、LSwitch1の評価値は「5」となって選択される。図21の説明に従えば、送信先VMが移動対象となる。
そして、図34に示すように、VM1への出力トラフィックを集約して評価値を算出すると「2」となり、VM2への出力トラフィックを集約して評価値を算出すると「3」となる。従って、最初に移動対象として選択されるのはVM2となる。
そうすると、VM2を、VServer2に移動させる第1のケースと、VServer3に移動させる第2のケースと、VServer4に移動させる第3のケースと、VServer5に移動させる第4のケースとについて、評価値リストを算出することになる。
第1のケースでは、図35に示すように、移動元のVServer1と、移動先のVServer2と、移動元のVServer1と移動先のVServer2とが接続されているLSwitch1とについて、評価値を計算し直すことになる。図35の場合には、VServer1については評価値が減り、VServer2についても評価値が減り、LSwitch1についても評価値が減るということになる。この場合、評価値リストは[3,2,2,2,2,1,1,1,1,0,0]となる。最大評価値は「5」から「3」になっているので、移動前より評価値が小さいことは明らかである。
第2のケースでは、図36に示すように、移動元のVServer1と、移動先のVServer3と、移動元のVServer1が接続されているLSwitch1と、移動先のVServer3が接続されているLSwitch2と、移動対象であるVM2のサブネット内通信で経由するSSwitch2とについて、評価値を計算し直すことになる。図36の場合には、VServer1については評価値が減り、VServer3については評価値は変わらず、LSwitch1については評価値は減り、LSwitch2については評価値が増加し、SSwitch2については評価値が増加するということになる。この場合、評価値リストは[4,4,3,3,2,1,1,1,1,0,0]となる。最大評価値は「5」から「4」になっているので、移動前より評価値が小さいことは明らかである。
第3のケースでは、図37に示すように、移動元のVServer1と、移動先のVServer4と、移動元のVServer1が接続されているLSwitch1と、移動先のVServer4が接続されているLSwitch2と、移動対象であるVM2のサブネット内通信で経由するSSwitch2とについて、評価値を計算し直すことになる。図37の場合には、VServer1については評価値が減り、VServer4については評価値は変わらず、LSwitch1については評価値は減り、LSwitch2については評価値が増加し、SSwitch2については評価値が増加するということになる。この場合、評価値リストは[4,4,3,3,2,1,1,1,1,0,0]となる。最大評価値は「5」から「4」になっているので、移動前より評価値が小さいことは明らかである。
第4のケースでは、図38に示すように、移動元のVServer1と、移動先のVServer5と、移動元のVServer1が接続されているLSwitch1と、移動先のVServer5が接続されているLSwitch3と、移動対象であるVM2のサブネット内通信で経由するSSwitch2とについて、評価値を計算し直すことになる。図38の場合には、VServer1については評価値が減り、VServer5については評価値は変わらず、LSwitch1については評価値は減り、LSwitch3については評価値が増加し、SSwitch2については評価値が増加するということになる。この場合、評価値リストは[4,4,3,3,2,2,1,1,1,0,0]となる。最大評価値は「5」から「4」になっているので、移動前より評価値が小さいことは明らかである。
第1のケースから第4のケースについて評価値リストを比較すると、第1のケースが最大評価値が小さいので、評価値リストとしても小さいと判断される。
すなわち、図39に示すような状態に変更することで、移動前よりも、出力トラフィックが平準化される。
次に、図40乃至図45を用いてL2−tree(サブネット内通信)が移動される場合について説明する。図40は初期状態を表しており、VM7からVM6へのトラフィックと、VM7からVM5へのトラフィックと、VM2からVM4へのトラフィックとが重なってしまってSSwitch2のDownlinkのレイテンシが大きくなってしまっている(部分X3)。
本実施の形態では、図41に示すように、各スイッチ及び各VServerについて出力トラフィックについての評価値を算出する。そうすると、SSwitch2の評価値は「3」となって選択される。図21の説明に従えば、送信先VM、VR及びL2−treeが移動対象となる。但し、SSwitch2はAServerに接続されていないので、VRは移動対象として選択されない。
そして、図42に示すように、VM4への出力トラフィックを集約して評価値を算出すると「1」となり、VM5への出力トラフィックを集約して評価値を算出すると「1」となり、VM6への出力トラフィックを集約して評価値を算出すると「1」となり、VM3及びVM5乃至VM7についてのサブネットL2−tree_aについての評価値は「2」となり、VM1、VM2及びVM4についてのサブネットL2−tree_bについての評価値は「1」となる。従って、最初に選択されるのはL2−tree_aとなる。
そうすると、L2−tree_aを、SSwitch1に移動させる第1のケースと、SSwitch3に移動させる第2のケースとについて、評価値リストを算出することになる。
第1のケースでは、図43に示すように、移動元のSSwitch2と、移動先のSSwitch1とについて、評価値を計算し直すことになる。図43の場合には、SSwitch2については評価値が減り、SSwicth1については評価値が増加するということになる。この場合、評価値リストは[3,2,2,2,1,1,1,1,1,0,0]となる。評価値リストは、移動前から変化していない。
第2のケースでは、図44に示すように、移動元のSSwitch2と、移動先のSSwitch3とについて、評価値を計算し直すことになる。図44の場合には、SSwitch2については評価値が減り、SSwicth3については評価値が増加するということになる。この場合、評価値リストは[2,2,2,2,1,1,1,1,1,1,0]となる。最大評価値は「3」から「2」になっているので、移動前より評価値が小さいことは明らかである。
第1のケースと第2のケースについて評価値リストを比較すると、第2のケースが最大評価値が小さいので、評価値リストとしても小さいと判断される。
すなわち、図45に示すような状態に変更することで、移動前よりも、出力トラフィックが平準化される。
以上のように、従来技術で行われている物理スイッチによる経路切り替えでは緩和できないトラフィックの偏りを平準化(均衡)させることができる。これによって、VM間の通信性能が向上する。また、トラフィックの平準化が行われることによって、各物理リンクに余剰帯域が増加するため、一時的に増加するトラフィックによる輻輳を回避できる可能性が高い。
また、上で述べた処理は処理負荷が低く計算時間が短い。具体的には物理リンク単位で第1段階の評価値を算出した上で、選択された物理リンクについてフローを集約してVM、VR又はL2−treeについて評価値を算出するので、集約処理の負荷が削減されている。さらに、移動又は変更されるVM、VR又はL2−treeに関係する物理装置についてのみ評価値の更新を行う点でも、処理負荷が削減されている。
[補足]
[フローの集約について]
着目する物理リンクに応じて集約すべきフローが異なる。
(a)SSwitchのUplink
Virtual router毎のフロー
(b)SSwitchのDownlink
Virtual router毎のフロー、L2−tree毎のフロー、送信元VM毎のフロー及び送信先VM毎のフロー
VMについては、移動先を決定する処理のために、Virtual routerを経由するフローと、Virtual routerを経由しないフローとを区別して集約する。
(c)LSwitchのUplink
Virtual router毎のフロー、L2−tree毎のフロー、送信元VM毎のフロー及び送信先VM毎のフロー
VMについては、移動先を決定する処理のために、Virtual routerを経由するフローと、Virtual routerを経由しないフローとを区別して集約する。
(d)LSwitchのDownlink
送信元VM毎のフロー、送信先VM毎のフロー
VMについては、移動先を決定する処理のために、Virtual routerを経由するフローと、Virtual routerを経由しないフローとを区別して集約する。
(e)VServer
送信元VM毎のフロー、送信先VM毎のフロー
VMについては、移動先を決定する処理のために、Virtual routerを経由するフローと、Virtual routerを経由しないフローとを区別して集約する。
[移動により変更されるトラフィック]
移動すべきVM、Virtual router又はL2−treeが特定されると、仮に移動させて評価値を更新するが、その際に影響を受けるのは、図46に示すようなトラフィックである。このようなトラフィックが通過するスイッチ及びVServerの評価値が変化する。
[移動先の決定処理について]
VM、VR又はL2−treeが移動又は変更されることによって影響を受ける物理リンクを有するスイッチ及びVServerのみについて、スイッチ及びVServerについて評価値を再計算する。この際、移動前の移動対象(VM、VR又はL2−tree)の評価値を用いて、スイッチ及びVServerについての評価値を更新する。
(1)Virtual router又はL2−treeを移動させる場合
SSwitchのUplink及びDownlink、LSwitchのUplink
これらについては、移動先のAServerに接続されているSSwitch又はSSwitchへ移動対象の評価値分だけ影響がある。
(2)VMを移動させる場合
移動対象のVMを同じLSwitchに接続されているVServerに移動させる場合には、以下で述べる8個の出力トラフィックが変化する。
一方、移動対象のVMを異なるLSwitchに接続されているVServerに移動させる場合には、以下で述べる16個の出力トラフィックが変化する。
ここで以下の説明に用いる記号の説明を行っておく。
Figure 2016018387
(A)同じLSwitchに接続されているVServerに移動させる場合
図47に示すように、1つのLSwitchにN個のVServerが接続されている場合に、1番目のVServerに起動されているVMをN番目のVServerに移動させることを想定する。この場合、(1)乃至(8)のトラフィックに変化が生ずる。具体的には、以下に表されるような変更がある。
Figure 2016018387
以下、このような場合について具体的に示す。ここで、図48に示す移動前のトラフィックに基づき説明する。なお、SSwitch2側にVirtual routerが設けられており、SSwitch1にはL2−treeが設定されているものとする。そして、VMはVServer1からVServer2へ移動するものとする。さらに、図48において点線についてはVMからの出力トラフィックを表しており、実線についてはVMへの出力トラフィックを表すものとする。
図49は移動後のトラフィックを表している。なお、移動元のVServer1内のVMについてのトラフィックは図示せずとも「0」に変化する。そして、VServer1からLSwitch1への出力トラフィックと、LSwitch1からVServer1への出力トラフィックと、VServer2内のVMへの出力トラフィック及びVMからの出力トラフィックと、VServer2からLSwitch1への出力トラフィックと、LSwitch1からVServer2への出力トラフィックとが変化する。
図47の(3)の出力トラフィックは、図50に示すように、VM2からVM1へのサブネット内通信(L2−tree)と、VM2からVM1へのサブネット間通信(Virtual router)との和になっている。「2」と「14」は、図48に示されている移動前の出力トラフィックを表している。
図47の(4)の出力トラフィックは、図51に示すように、VM1からVM2へのサブネット内通信(L2−tree)と、VM2からVM1へのサブネット内通信(Virtual router)との和となっている。「1」と「15」は、図48に示されている移動前の出力トラフィックを表している。
図47の(5)の出力トラフィックは、図52に示すように、VM2からVM1へのサブネット内通信(L2−tree)と、VM4及びVM5からVM1へのサブネット内通信(L2−tree)と、VM2乃至VM5からVM1へのサブネット間通信(Virtual router)と、VM1からVM3へのサブネット間通信(Virtual router)との和となる。「2」「4」「5」「6」は、図48に示されている移動前の出力トラフィックを表している。
図47の(6)の出力トラフィックは、図53に示すように、VM1からVM2へのサブネット内通信(L2−tree)と、VM1からVM4及びVM5へのサブネット内通信(L2−tree)と、VM1からVM2乃至VM5へのサブネット間通信(Virtual router)と、VM3からVM1へのサブネット間通信(Virtual router)との和となっている。「1」「3」「6」「5」は、図48に示されている移動前の出力トラフィックを表している。
図47の(7)の出力トラフィックは、図54に示すように、VM1からVM3へのサブネット内通信(L2−tree)である。「5」は、図48に示されている移動前の出力トラフィックを表している。
図47の(8)の出力トラフィックは、図55に示すように、VM3からVM1へのサブネット内通信(L2−tree)である。「6」は、図48に示されている移動前の出力トラフィックを表している。
(B)異なるLSwitchに接続されているVServerに移動させる場合
図56に示すように、1つのLSwitchにN個のVServerが接続されており、全部でM個のLSwitchが設けられている場合に、1番目のVServerに起動されているVMをM*N番目のVServerに移動させることを想定する。この場合、(1)乃至(16)のトラフィックに変化が生ずる。具体的には、以下に表されるような変更がある。
Figure 2016018387
Figure 2016018387
以下、このような場合について具体的に示す。ここで、図57に示す移動前のトラフィックに基づき説明する。なお、SSwitch2側にVirtual routerが設けられており、SSwitch1にはL2−treeが設定されているものとする。そして、VMはVServer1からVServer6へ移動するものとする。さらに、図57において点線についてはVMからの出力トラフィックを表しており、実線についてはVMへの出力トラフィックを表すものとする。
図58は移動後のトラフィックを表している。なお、移動元のVServer1内のVMについてのトラフィックは図示せずとも「0」に変化する。そして、VServer1からLSwitch1への出力トラフィックと、LSwitch1からVServer1への出力トラフィックと、LSwitch1からSSwitch1への出力トラフィックと、SSwitch1からLSwitch1への出力トラフィックと、LSwitch1からSSwitch2への出力トラフィックと、SSwitch2からLSwitch1への出力トラフィックと、SSwitch1からLSwitch3への出力トラフィックと、LSwitch3からSSwitch1への出力トラフィックと、SSwitch2からLSwitch3への出力トラフィックと、LSwitch3からSSwitch2への出力トラフィックと、VServer6内のVMへの出力トラフィック及びVMからの出力トラフィックと、VServer6からLSwitch3への出力トラフィックと、LSwitch3からVServer6への出力トラフィックとが変化する。
図56の(3)の出力トラフィックは、図59に示すように、VM2からVM1へのサブネット内通信(L2−tree)と、VM2からVM1へのサブネット間通信(Virtual router)との和になっている。「2」と「24」は、図57に示されている移動前の出力トラフィックを表している。
図56の(4)の出力トラフィックは、図60に示すように、VM1からVM2へのサブネット内通信(L2−tree)と、VM1からVM2へのサブネット間通信(Virtual router)との和となっている。「1」と「25」は、図57に示されている移動前の出力トラフィックを表している。
図56の(5)の出力トラフィックは、図61に示すように、VM2からVM1へのサブネット内通信(L2−tree)と、VM3からVM1へのサブネット内通信(L2−tree)との和となる。「2」「6」は、図57に示されている移動前の出力トラフィックを表している。
図56の(6)の出力トラフィックは、図62に示すように、VM1からVM2へのサブネット内通信(L2−tree)と、VM1からVM3へのサブネット内通信(L2−tree)との和となる。「1」「5」は、図57に示されている移動前の出力トラフィックを表している。
図56の(7)の出力トラフィックは、図63に示すように、VM2及びVM3からVM1へのサブネット間通信(Virtual router)である。「26」は、図57に示されている移動前の出力トラフィックを表している。
図56の(8)の出力トラフィックは、図64に示すように、VM1からVM2及びVM3へのサブネット間通信(Virtual router)である。「23」は、図57に示されている移動前の出力トラフィックを表している。
図56の(9)の出力トラフィックは、図65に示すように、VM2からVM1へのサブネット内通信(L2−tree)と、VM3からVM1へのサブネット内通信(L2−tree)と、VM5からVM1へのサブネット内通信(L2−tree)の和となる。「2」「6」「12」は、図57に示されている移動前の出力トラフィックを表している。
図56の(10)の出力トラフィックは、図66に示すように、VM1からVM2へのサブネット内通信(L2−tree)と、VM1からVM3へのサブネット内通信(L2−tree)と、VM1からVM5へのサブネット内通信(L2−tree)の和となる。「1」「5」「11」は、図57に示されている移動前の出力トラフィックを表している。
図56の(11)の出力トラフィックは、図67に示すように、VM2、VM3、VM5乃至VM7からVM1へのサブネット間通信(Virtual router)と、VM1からVM6及びVM7へのサブネット間通信(Virtual router)との和となっている。「10」と「17」は、図57に示されている移動前の出力トラフィックを表している。
図56の(12)の出力トラフィックは、図68に示すように、VM1からVM2、VM3、VM5乃至VM7へのサブネット間通信(Virtual router)と、VM6及びVM7からVM1へのサブネット間通信(Virtual router)との和となっている。「9」と「18」は、図57に示されている移動前の出力トラフィックを表している。
図56の(13)の出力トラフィックは、図69に示すように、VM2からVM1へのサブネット内通信(L2−tree)と、VM3、VM5及びVM6からVM1へのサブネット内通信(L2−tree)と、VM2、VM3、VM5乃至VM7からVM1へのサブネット間通信(Virtual router)と、VM1からVM7へのサブネット間通信(Virtual router)との和となっている。「2」「4」「22」「21」は、図57に示されている移動前の出力トラフィックを表している。
図56の(14)の出力トラフィックは、図70に示すように、VM1からVM2へのサブネット内通信(L2−tree)と、VM1からVM3、VM5及びVM6へのサブネット間通信(Virtual router)と、VM1からVM2、VM3、VM5乃至VM7へのサブネット間通信(Virtual router)と、VM7からVM1へのサブネット間通信(Virtual router)との和となっている。「1」「3」「21」「22」は、図57に示されている移動前の出力トラフィックを表している。
図56の(15)の出力トラフィックは、図71に示すように、VM1からVM6へのサブネット内通信(L2−tree)である。「21」は、図57に示されている移動前の出力トラフィックを表している。
図56の(16)の出力トラフィックは、図72に示すように、VM6からVM1へのサブネット内通信(L2−tree)である。「22」は、図57に示されている移動前の出力トラフィックを表している。
[移動後の評価値算出の処理負荷削減]
どの移動先を選択するかについては評価値リストで判断するが、最終的には移動前の評価値リストより小さい評価値リストであれば移動が実際になされることになる。よって、移動前の評価値リストにおいて最大評価値以上の評価値がいずれかのスイッチ又はVServerについて算出された場合には、その移動先についての評価値算出を打ち切ることで、計算量を削減できる。
例えば、移動前の状態の一例を図73に示す。図73の例では、AServer3にVirtual routerが起動されているが、ここではVirtual routerを移動先候補AServer1に移動させる場合を考える。なお、移動前の評価値リストにおける最大評価値は「5」である。
この例では、図74に示すように、移動先AServer1が接続されているSSwitch1の評価値を算出し直すと、「6」が得られたものとする。そうすると、SSwitch3等の評価値を更新することになるが、更新せずともAServer1を選択することはないので、移動先AServer1についての評価値算出処理は打ち切り、移動先候補AServer2についての処理に移行する。
さらに、図75に示すように、SSwitchのDownlinkが評価値最大で選択され、VServer1に起動された送信先VMが移動対象として選択されたとする。しかし、送信先VMをVServer1が接続されているLSwitchに接続されているVServer2及びVServer3に移動させても、SSwitchのDownlinkの出力トラフィックは変わらない。従って、VServer2及びVServer3を移動先候補から除外できる。このようにすれば、評価値の計算負荷を削減できる。
また、図76に示すように、LSwitchのUplinkが評価値最大で選択され、VServer1に起動された送信元VMが移動対象として選択されたとする。しかし、送信元VMをVServer1が接続されているLSwitchに接続されているVServer2及びVServer3に移動させても、LSwitchのUplinkの出力トラフィックは変わらない。従って、VServer2及びVServer3を移動先候補から除外できる。このようにすれば、評価値の計算負荷を削減できる。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。図7に示したリソース制御装置1000の機能ブロック構成は一例であり、プログラムモジュール構成やファイル構成と一致しない場合もある。
処理フローについても、処理結果が変わらない限り、処理ステップの実行順番を入れ替えたり、複数ステップを並列実行するようにしても良い。
なお、上で述べたリソース制御装置1000は、コンピュータ装置であって、図77に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本実施の形態をまとめると、以下のようになる。
本実施の形態に係る情報処理システムは、(A)複数のサブネットの少なくともいずれかに属する仮想マシンが起動される複数の第1の情報処理装置と、(B)サブネット間の通信に用いられる仮想ルータが起動される複数の第2の情報処理装置と、(C)サブネット内の通信経路と仮想マシンの配置と仮想ルータの配置とを制御する制御装置と、(D)複数の第1の情報処理装置と複数の第2の情報処理装置と制御装置とを接続する複数のスイッチとを有する。そして、上で述べた複数のスイッチは、(d1)複数の第1の情報処理装置に接続する複数の第1のスイッチと、(d2)複数の第2の情報処理装置に接続する複数の第2のスイッチとを含む。また、複数の第1のスイッチの各々は、複数の第2のスイッチのうちの2以上の第2のスイッチと接続されている。さらに、上で述べた制御装置は、(c1)複数の第1の情報処理装置の各々の通信量に関する所定の評価値と、複数のスイッチの各々の通信量に関する所定の評価値とに基づき、仮想マシンと、仮想ルータと、いずれかのサブネット内の通信経路とのうちいずれかを選択して、選択された仮想マシン又は仮想ルータの配置先若しくは選択されたサブネット内の通信経路を変更する。
単に仮想マシンのみを移動させたり、スイッチ間の通信経路を切り替えたりするのでは解消できないネットワーク負荷の平準化が可能となる。すなわち、物理的な装置の通信量に基づき、ネットワーク負荷の平準化という観点から最も適切な変更対象を、仮想マシンの配置先の第1の情報処理装置と、仮想ルータの配置先の第2の情報処理装置と、いずれかのサブネット内の通信経路とから選択できるようになる。
また、上で述べた制御装置が、(c2)複数の第1の情報処理装置の各々の通信量に関する所定の評価値と、複数のスイッチの各々の通信量に関する所定の評価値とから、複数の第1の情報処理装置と複数のスイッチとを含む物理装置のうちいずれか1つを選択し、(c3)選択した物理装置に関わるデータフローを、仮想マシン単位とサブネット間単位とサブネット内単位との少なくともいずれかで集約し、当該集約結果に基づき仮想マシンと仮想ルータとサブネット内の通信経路とを含む変更対象のいずれかを選択するようにしても良い。一旦、物理的な装置について絞り込みを行った後、データフローを集約することで変更対象を決定できるので、処理負荷を削減しつつ、ネットワーク負荷の平準化に効果的な変更対象を選択できるようになる。
さらに、上で述べた制御装置が、(c4)選択した変更対象を仮に変更先候補に変更した複数のケースの各々について、複数の第1の情報処理装置の各々の通信量に関する所定の評価値と、複数のスイッチの各々の通信量に関する所定の評価値とを特定し、(c5)当該複数の第1の情報処理装置の各々の通信量に関する所定の評価値と複数のスイッチの各々の通信量に関する所定の評価値とに基づき、複数のケースのうち、所定の評価値の平準化に関する条件を満たすケースを特定し、(c6)特定したケースに従って、選択した変更対象を変更先候補に変更するようにしても良い。このようにすれば、平準化に対して効果のある変更先候補を特定できるようになる。
さらに、上で述べた所定の評価値が、出力トラフィックの最大値又は平均値である場合もある。
また、上で述べた条件が、複数の第1の情報処理装置の各々の通信量に関する所定の評価値と複数のスイッチの各々の通信量に関する所定の評価値とを降順に並べることで得られる、複数のケースの評価値リストのうち、最も小さい評価値リストのケースであるという条件と、最も小さい評価値リストが、現在の評価値リストよりも小さいという条件とを含むようにしても良い。
なお、上で述べたような処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。
[移動対象リストの作成]
上で述べたリソース制御装置1000は、移動対象及び移動先が決まると、図24のステップS53で示したように、移動対象の移動を行うが、複数の移動をまとめて行うようにしてもよい。そこで、リソース制御装置1000が複数の移動をまとめて移動対象リストを作成する場合について説明する。ここで、移動対象リストは、移動対象と移動元のServerと移動先のServerの組を1つのエントリとするリストであり、管理データ格納部1400に記憶される。また、Serverは、AServer又はVServerである。また、図7に示した変更制御部1200は、移動対象リストに基づいてL2−treeの変更を行い、移動制御部1300は、移動対象リストに基づいてVirtual objectの移動制御を行う。
移動対象リストには、同じ移動対象が複数回存在する場合がある。図78〜図80は、同じ移動対象が複数回移動対象リストに存在する第1の例を説明するための図であり、図81〜図83は、同じ移動対象が複数回移動対象リストに存在する第2の例を説明するための図である。
第1の例について、図78は移動前の状態を示し、図79は移動後の状態を示し、図80は移動対象リストを示す。図78と図79とを比較すると、VM1がVServer4からVServer10へ移動され、VM7がVServer8からVServer10へ移動され、VM8がVServer9からVServer10へ移動される。また、VM2がVServer4からVServer5へ移動され、VM4がVServer6からVServer5へ移動され、VM6がVServer8からVServer7へ移動される。
このとき、図78に示すトラフィックの状態では、VM7は、VServer8からVServer10へ直接移動されるのではなく、図80の移動対象リストに示すように、VServer8からVServer9へ移動された後、VServer9からVServer10へ移動される。すなわち、1回で済む移動が、冗長な2回の移動に分けて行われる。したがって、無駄な移動によりVServerの負荷が増す。このように、同じ移動対象が複数回移動対象リストに存在すると無駄な移動によりVServerの負荷が増す。
また、第2の例について、図81は移動前の状態を示し、図82は移動後の状態を示し、図83は移動対象リストを示す。図81と図82とを比較すると、VM3がVServer5からVServer9へ移動され、VM5がVServer8からVServer9へ移動されるが、Virtual router1は移動されない。しかしながら、図81に示すトラフィックの状態では、Virtual router1は、図83の移動対象リストに示すように、AServer2からAServer3に移動された後、AServer3からAServer2に往復移動される。したがって、無駄な移動によりAServerの負荷が増す。このように、同じ移動対象が複数回移動対象リストに存在すると無駄な移動によりAServerの負荷が増す。
そこで、リソース制御装置1000は、同じ移動対象が移動対象リストに含まれないように移動対象リストを作成する。図84及び図85は、同じ移動対象が移動対象リストに含まれないようにする処理の処理フローを示す図である。図84は、図24に示した処理フローの一部が変更された処理フローである。
図84に示すように、制御部1101は、図24と比較して移動を実行する代わりに、移動情報を移動対象リストに追加し(ステップS61)、ステップS1へ戻る。また、制御部1101は、VM又はVRの配置先若しくはL2−treeの変更を行う条件を満たさない場合(図10のステップS1:Noルート)は、端子Bを介してステップS63に進み、移動対象リストを生成する処理を終了する前に無駄削除処理を行う。
図85は、無駄削除処理の処理フローを示す。図85に示すように、制御部1101は、同じ移動対象が移動対象リストに複数回含まれるか否かを判断する(ステップS65)。ステップS65の条件を満たさない場合には、制御部1101は、無駄削除処理を終了する。
一方、ステップS65の条件を満たす場合には、制御部1101は、最初の移動の移動元Serverと最後の移動の移動先Serverが同じであるか否かを判断する(ステップS67)。ステップS67の条件が満たされる場合には、複数の移動により元のServerに戻る循環移動であるので、制御部1101は、移動対象リストから移動対象を取り除く(ステップS69)。一方、ステップS67の条件が満たされない場合には、制御部1101は、移動対象の最初の移動の移動先Serverを最後の移動の移動先Serverに変更し、2番目以降の移動を削除する(ステップS71)。
図86は、第1の例で同じ移動対象が移動対象リストに含まれないようにした結果を示す図である。図86に示すように、無駄な移動を含む移動対象リストには、1番目のエントリにVM7のVServer8からVServer9への移動が含まれ、3番目のエントリにVM7のVServer9からVServer10への移動が含まれる。一方、無駄な移動が削除された移動対象リストでは、1番目のエントリの移動先がVServer10へ変更され、無駄な移動を含む移動対象リストの3番目のエントリが削除されている。
図87は、第2の例で同じ移動対象が移動対象リストに含まれないようにした結果を示す図である。図87に示すように、無駄な移動を含む移動対象リストには、1番目のエントリにVirtual router1のAServer2からAServer3への移動が含まれ、3番目のエントリにVirtual router1のAServer3からAServer2への移動が含まれる。一方、無駄な移動が削除された移動対象リストでは、これら2つのエントリが削除されている。
このように、制御部1101が移動対象リストから無駄な移動を取り除くことによって、リソース制御装置1000は無駄な移動にともなうServerの負荷の増加を抑えることができる。
なお、制御部1101は、移動対象リストの作成後に移動対象リストから無駄な移動を取り除く代わりに、移動対象リストに新たなエントリを追加する際に無駄な移動が発生しないようにしてもよい。図88及び図89は、移動対象リストに新たなエントリを追加する際に無駄な移動が発生しないようにする処理の処理フローを示す図である。図88は、図24に示した処理フローの一部が変更された処理フローである。
図88に示すように、制御部1101は、図24と比較して移動を実行する代わりに、移動情報を移動対象リストに追加するリスト追加処理を行い(ステップS81)、ステップS1へ戻る。また、制御部1101は、VM又はVRの配置先若しくはL2−treeの変更を行う条件を満たさない場合(図10のステップS1:Noルート)は、端子Bを介して移動対象リストを生成する処理を終了する。
図89は、リスト追加処理の処理フローを示す。図89に示すように、制御部1101は、移動対象リストに追加する移動対象(Virtual object又はL2−tree)が移動対象リストに含まれるか否かを判断する(ステップS91)。ステップS91の条件が満たされない場合には、制御部1101は、移動対象を移動対象リストへ追加して(ステップS99)、リスト追加処理を終了する。
一方、ステップS91の条件が満たされる場合には、制御部1101は、移動対象リストに含まれる移動元Serverとリストに追加される移動先Serverが同じであるか否かを判断する(ステップS93)。ステップS93の条件が満たされる場合には、2回の移動により元のServerに戻る往復移動であるので、制御部1101は、移動対象リストに含まれていた移動対象のエントリを移動対象リストから取り除く(ステップS95)。
一方、ステップS93の条件が満たされない場合には、制御部1101は、移動対象リストに含まれる移動対象の移動先Serverを追加しようとした移動先Serverに変更する(ステップS97)。すなわち、制御部1101は、2つの移動を1つの移動に集約する。
図90は、第1の例で更新前後の移動対象リストを示す図である。図90に示すように、更新前の移動対象リストには、1番目のエントリにVM7のVServer8からVServer9への移動が含まれ、追加される移動としてVM7のVServer9からVServer10への移動がある。すると、更新後の移動対象リストでは、1番目のエントリのVM7の移動先がVServer10に変更される。
図91は、第1の例で同じ移動対象が移動対象リストに含まれないようにした結果を示す図である。図91に示すように、無駄な移動を含む移動対象リストには、1番目のエントリにVM7のVServer8からVServer9への移動が含まれ、3番目のエントリにVM7のVServer9からVServer10への移動が含まれる。一方、無駄な移動がないように更新された移動対象リストでは、1番目のエントリの移動先がVServer10へ変更され、VM7のVServer9からVServer10への移動は移動対象リストに追加されていない。
図92は、第2の例で更新前後の移動対象リストを示す図である。図92に示すように、更新前の移動対象リストには、1番目のエントリにVirtual router1のAServer2からAServer3への移動が含まれ、追加される移動としてVirtual router1のAServer3からAServer2への移動があるとする。すると、更新後の移動対象リストでは、1番目のエントリが削除される。
図93は、第2の例で同じ移動対象が移動対象リストに含まれないようにした結果を示す図である。図93に示すように、無駄な移動を含む移動対象リストには、1番目のエントリにVirtual router1のAServer2からAServer3への移動が含まれ、3番目のエントリにVirtual router1のAServer3からAServer2への移動が含まれる。一方、無駄な移動がないように更新された移動対象リストでは、これら2つのエントリが含まれていない。
このように、制御部1101が同じ移動対象を含まないように移動対象リストを更新することによって、リソース制御装置1000は無駄な移動にともなうServerの負荷の増加を抑えることができる。
1000 リソース制御装置
1100 平準化処理部
1101 制御部
1102 第1評価値算出部
1103 第2評価値算出部
1104 集約計算部
1200 変更制御部
1300 移動制御部
1400 管理データ格納部
1500 収集データ格納部
1600 トラフィックデータ収集部

Claims (8)

  1. 複数のスイッチ装置を介して接続された複数の情報処理装置を有する情報処理システムにおいて、
    前記複数のスイッチ装置のいずれかに接続された制御装置を有し、
    前記制御装置は、
    前記複数の情報処理装置のいずれかで動作する移動対象の仮想オブジェクトを識別する仮想オブジェクト識別情報と、前記複数の情報処理装置のうち移動元の情報処理装置を識別する移動元装置識別情報と、前記複数の情報処理装置のうち移動先の情報処理装置を識別する移動先装置識別情報とを対応付けたエントリを記憶する記憶部と、
    前記複数の情報処理装置のうち、第1の情報処理装置と第2の情報処理装置間の通信量の所定の評価値に基づき、第3の情報処理装置で動作する仮想オブジェクトを第4の情報処理装置に移動させ、さらに、前記第4の情報処理装置で動作する仮想オブジェクトを第5の情報処理装置に移動させると判断した場合、前記仮想オブジェクトを識別する仮想オブジェクト識別情報と、前記第3の情報処理装置を識別する移動元装置識別情報と、前記第5の情報処理装置を識別する移動先装置識別情報とが対応付けられた対象エントリを、前記記憶部に記憶させる移動情報作成部と
    を有する情報処理システム。
  2. 前記移動情報作成部は、前記仮想オブジェクトを識別する仮想オブジェクト識別情報と、前記第3の情報処理装置を識別する移動元装置識別情報と、前記第4の情報処理装置を識別する移動先装置識別情報とが対応付けられたエントリと、前記仮想オブジェクトを識別する仮想オブジェクト識別情報と、前記第4の情報処理装置を識別する移動元装置識別情報と、前記第5の情報処理装置を識別する移動先装置識別情報とが対応付けられたエントリとを前記記憶部から削除するとともに、前記対象エントリを前記記憶部に記憶させる請求項1記載の情報処理システム。
  3. 前記移動情報作成部は、前記仮想オブジェクトを識別する仮想オブジェクト識別情報と、前記第4の情報処理装置を識別する移動元装置識別情報と、前記第5の情報処理装置を識別する移動先装置識別情報とが対応付けられたエントリを前記記憶部に追加する際に、前記仮想オブジェクトを識別する仮想オブジェクト識別情報と、前記第3の情報処理装置を識別する移動元装置識別情報と、前記第4の情報処理装置を識別する移動先装置識別情報とが対応付けられたエントリを前記記憶部から削除するとともに、前記対象エントリを前記記憶部に記憶させる請求項1記載の情報処理システム。
  4. 複数のスイッチ装置を介して接続された複数の情報処理装置を有する情報処理システムにおいて、
    前記複数のスイッチ装置のいずれかに接続された制御装置を有し、
    前記制御装置は、
    前記複数の情報処理装置のいずれかで動作する移動対象の仮想オブジェクトを識別する仮想オブジェクト識別情報と、前記複数の情報処理装置のうち移動元の情報処理装置を識別する移動元装置識別情報と、前記複数の情報処理装置のうち移動先の情報処理装置を識別する移動先装置情報とを対応付けたエントリを記憶する記憶部と、
    前記複数の情報処理装置のうち、第1の情報処理装置と第2の情報処理装置間の通信量の所定の評価値に基づき、第3の情報処理装置で動作する仮想オブジェクトを第4の情報処理装置に移動させ、さらに、前記第4の情報処理装置で動作する前記仮想オブジェクトを前記第3の情報処理装置に移動させると判断した場合、前記仮想オブジェクトを識別する仮想オブジェクト識別情報と、前記第3の情報処理装置を識別する移動元装置識別情報と、前記第4の情報処理装置を識別する移動先装置識別情報とが対応付けられたエントリと、前記仮想オブジェクトを識別する仮想オブジェクト識別情報と、前記第4の情報処理装置を識別する移動元装置識別情報と、前記第3の情報処理装置を識別する移動先装置識別情報とが対応付けられたエントリを前記記憶部が記憶しないように制御する移動情報作成部と
    を有する情報処理システム。
  5. 複数のスイッチ装置を介して接続された複数の情報処理装置を有する情報処理システムの制御方法において、
    前記複数のスイッチ装置のいずれかに接続された制御装置が、
    前記複数の情報処理装置のうち、第1の情報処理装置と第2の情報処理装置間の通信量の所定の評価値に基づき、第3の情報処理装置で動作する仮想オブジェクトを第4の情報処理装置に移動させ、さらに、前記第4の情報処理装置で動作する仮想オブジェクトを第5の情報処理装置に移動させる冗長移動の有無を判断し、
    前記冗長移動がある場合に、前記仮想オブジェクトを識別する仮想オブジェクト識別情報と、前記第3の情報処理装置を識別する移動元装置識別情報と、前記第5の情報処理装置を識別する移動先装置識別情報とが対応付けられたエントリを、仮想オブジェクトの移動情報のエントリとして作成する
    処理を実行する制御方法。
  6. 複数のスイッチ装置を介して接続された複数の情報処理装置を有する情報処理システムの制御方法において、
    前記複数のスイッチ装置のいずれかに接続された制御装置が、
    前記複数の情報処理装置のうち、第1の情報処理装置と第2の情報処理装置間の通信量の所定の評価値に基づき、第3の情報処理装置で動作する仮想オブジェクトを第4の情報処理装置に移動させ、さらに、前記第4の情報処理装置で動作する前記仮想オブジェクトを前記第3の情報処理装置に移動させる循環移動の有無を判断し、
    前記循環移動がある場合に、前記仮想オブジェクトを識別する仮想オブジェクト識別情報と、前記第3の情報処理装置を識別する移動元装置識別情報と、前記第4の情報処理装置を識別する移動先装置識別情報とが対応付けられたエントリと、前記仮想オブジェクトを識別する仮想オブジェクト識別情報と、前記第4の情報処理装置を識別する移動元装置識別情報と、前記第3の情報処理装置を識別する移動先装置識別情報とが対応付けられたエントリの組を含まないように仮想オブジェクトの移動情報を作成する
    処理を実行する制御方法。
  7. 複数のスイッチ装置を介して接続された複数の情報処理装置を有する情報処理システムを制御する制御装置に、
    前記複数の情報処理装置のうち、第1の情報処理装置と第2の情報処理装置間の通信量の所定の評価値に基づき、第3の情報処理装置で動作する仮想オブジェクトを第4の情報処理装置に移動させ、さらに、前記第4の情報処理装置で動作する仮想オブジェクトを第5の情報処理装置に移動させる冗長移動の有無を判断し、
    前記冗長移動がある場合に、前記仮想オブジェクトを識別する仮想オブジェクト識別情報と、前記第3の情報処理装置を識別する移動元装置識別情報と、前記第5の情報処理装置を識別する移動先装置識別情報とが対応付けられたエントリを、仮想オブジェクトの移動情報のエントリとして作成する
    処理を実行させるための制御プログラム。
  8. 複数のスイッチ装置を介して接続された複数の情報処理装置を有する情報処理システムを制御する制御装置に、
    前記複数のスイッチ装置のいずれかに接続された制御装置が、
    前記複数の情報処理装置のうち、第1の情報処理装置と第2の情報処理装置間の通信量の所定の評価値に基づき、第3の情報処理装置で動作する仮想オブジェクトを第4の情報処理装置に移動させ、さらに、前記第4の情報処理装置で動作する前記仮想オブジェクトを前記第3の情報処理装置に移動させる循環移動の有無を判断し、
    前記循環移動がある場合に、前記仮想オブジェクトを識別する仮想オブジェクト識別情報と、前記第3の情報処理装置を識別する移動元装置識別情報と、前記第4の情報処理装置を識別する移動先装置識別情報とが対応付けられたエントリと、前記仮想オブジェクトを識別する仮想オブジェクト識別情報と、前記第4の情報処理装置を識別する移動元装置識別情報と、前記第3の情報処理装置を識別する移動先装置識別情報とが対応付けられたエントリの組を含まないように仮想オブジェクトの移動情報を作成する
    処理を実行させるための制御プログラム。
JP2014140746A 2014-07-08 2014-07-08 情報処理システム、制御方法及び制御プログラム Withdrawn JP2016018387A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014140746A JP2016018387A (ja) 2014-07-08 2014-07-08 情報処理システム、制御方法及び制御プログラム
US14/724,866 US20160013973A1 (en) 2014-07-08 2015-05-29 Information processing system, control method, and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014140746A JP2016018387A (ja) 2014-07-08 2014-07-08 情報処理システム、制御方法及び制御プログラム

Publications (1)

Publication Number Publication Date
JP2016018387A true JP2016018387A (ja) 2016-02-01

Family

ID=55068398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014140746A Withdrawn JP2016018387A (ja) 2014-07-08 2014-07-08 情報処理システム、制御方法及び制御プログラム

Country Status (2)

Country Link
US (1) US20160013973A1 (ja)
JP (1) JP2016018387A (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9654852B2 (en) * 2013-12-24 2017-05-16 Nec Corporation Scalable hybrid packet/circuit switching network architecture
US10972375B2 (en) 2016-01-27 2021-04-06 Oracle International Corporation System and method of reserving a specific queue pair number for proprietary management traffic in a high-performance computing environment
US11018947B2 (en) 2016-01-27 2021-05-25 Oracle International Corporation System and method for supporting on-demand setup of local host channel adapter port partition membership in a high-performance computing environment
US10469621B2 (en) 2016-01-27 2019-11-05 Oracle International Corporation System and method of host-side configuration of a host channel adapter (HCA) in a high-performance computing environment
US10355992B2 (en) 2016-01-27 2019-07-16 Oracle International Corporation System and method for supporting router SMA abstractions for SMP connectivity checks across virtual router ports in a high performance computing environment
US10171353B2 (en) 2016-03-04 2019-01-01 Oracle International Corporation System and method for supporting dual-port virtual router in a high performance computing environment
US10380191B2 (en) * 2017-01-26 2019-08-13 Sap Se Adaptable application variants
US10158929B1 (en) * 2017-02-17 2018-12-18 Capital Com SV Investments Limited Specialized optical switches utilized to reduce latency in switching between hardware devices in computer systems and methods of use thereof
US10868887B2 (en) * 2019-02-08 2020-12-15 Palantir Technologies Inc. Systems and methods for isolating applications associated with multiple tenants within a computing platform

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7969306B2 (en) * 2002-01-11 2011-06-28 Sap Aktiengesellschaft Context-aware and real-time item tracking system architecture and scenarios
JP2009244999A (ja) * 2008-03-28 2009-10-22 Fujitsu Ltd 仮想マシン管理プログラム及び管理サーバ装置
JP2011198299A (ja) * 2010-03-23 2011-10-06 Fujitsu Ltd プログラム、コンピュータ、通信装置および通信制御システム
JP5476261B2 (ja) * 2010-09-14 2014-04-23 株式会社日立製作所 マルチテナント型情報処理システム、管理サーバ及び構成管理方法
JP5708013B2 (ja) * 2011-02-22 2015-04-30 富士通株式会社 仮想マシンの配置変更方法、仮想マシンの配置変更装置、及び、仮想マシンの配置変更プログラム
JP5863771B2 (ja) * 2011-03-28 2016-02-17 日本電気株式会社 仮想マシン管理システム、及び仮想マシン管理方法
JP5790312B2 (ja) * 2011-08-25 2015-10-07 富士通株式会社 通信方法、通信装置、および、通信プログラム
JP5768651B2 (ja) * 2011-10-21 2015-08-26 富士通株式会社 通信装置、通信方法、および、通信プログラム
JP5684170B2 (ja) * 2012-02-28 2015-03-11 株式会社東芝 情報処理装置、クライアント管理システムおよびクライアント管理方法
US9116736B2 (en) * 2012-04-02 2015-08-25 Cisco Technology, Inc. Virtualized movement of enhanced network services associated with a virtual machine
JP6179119B2 (ja) * 2013-02-19 2017-08-16 日本電気株式会社 管理装置、管理方法、及び管理プログラム
US9152447B2 (en) * 2013-07-23 2015-10-06 Netapp, Inc. System and method for emulating shared storage

Also Published As

Publication number Publication date
US20160013973A1 (en) 2016-01-14

Similar Documents

Publication Publication Date Title
JP2016018387A (ja) 情報処理システム、制御方法及び制御プログラム
Mann et al. Remedy: Network-aware steady state VM management for data centers
CN107077340B (zh) 负载均衡
Ghorbani et al. Micro load balancing in data centers with DRILL
EP2629490B1 (en) Optimizing traffic load in a communications network
US9077640B2 (en) Method and system of congestion control in a mobile virtual network
Ghaznavi et al. Service function chaining simplified
US9740534B2 (en) System for controlling resources, control pattern generation apparatus, control apparatus, method for controlling resources and program
Han et al. Software defined networking-based traffic engineering for data center networks
Li et al. OFScheduler: a dynamic network optimizer for MapReduce in heterogeneous cluster
CN106209623A (zh) 确定转发路径的方法和控制设备
US20170295035A1 (en) Selecting an optimal network device for reporting flow table misses upon expiry of a flow in a software defined network
Kim et al. An energy-aware service function chaining and reconfiguration algorithm in NFV
CN109412963B (zh) 一种基于流拆分的服务功能链部署方法
Tajiki et al. CECT: computationally efficient congestion-avoidance and traffic engineering in software-defined cloud data centers
CN106416157A (zh) 在传输网络虚拟化中提供弹性的方法
JP2015122680A (ja) 論理ネットワークの構築方法、および、ネットワークシステム
Han et al. SAVE: Energy-aware virtual data center embedding and traffic engineering using SDN
Fan et al. Real-time update of joint SFC and routing in software defined networks
Zu et al. Resource aware chaining and adaptive capacity scaling for service function chains in distributed cloud network
CN105282057A (zh) 流表更新方法、控制器及流表分析设备
JP6213303B2 (ja) 情報処理システム、制御装置及び制御プログラム
CN106789642A (zh) 一种基于sdn的动态负载均衡方法
KR20140051802A (ko) 패킷 포워딩 룰 설정 방법 및 이를 이용한 제어 장치
JP6323194B2 (ja) ネットワーク管理装置及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170406

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20171225