JP2014501458A - ネットワーク仮想化システム、物理ノード及び仮想マシンにおける仮想インタフェース識別方法 - Google Patents

ネットワーク仮想化システム、物理ノード及び仮想マシンにおける仮想インタフェース識別方法 Download PDF

Info

Publication number
JP2014501458A
JP2014501458A JP2013529242A JP2013529242A JP2014501458A JP 2014501458 A JP2014501458 A JP 2014501458A JP 2013529242 A JP2013529242 A JP 2013529242A JP 2013529242 A JP2013529242 A JP 2013529242A JP 2014501458 A JP2014501458 A JP 2014501458A
Authority
JP
Japan
Prior art keywords
virtual
node
virtual machine
definition
physical
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.)
Granted
Application number
JP2013529242A
Other languages
English (en)
Other versions
JP5888331B2 (ja
Inventor
顕弘 元木
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2013529242A priority Critical patent/JP5888331B2/ja
Publication of JP2014501458A publication Critical patent/JP2014501458A/ja
Application granted granted Critical
Publication of JP5888331B2 publication Critical patent/JP5888331B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • 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/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

ドメイン管理装置511は、仮想ネットワーク502、503の仮想ノード及び仮想リンクの設定を、物理ノード521乃至物理ノード526に対して指示する。物理ノード521乃至物理ノード526は、ドメイン管理装置511からの指示に含まれる仮想ノードの定義に基づき仮想ノードに対して仮想マシンを割り当てる。物理ノード521乃至物理ノード526は、仮想マシンの起動前に、仮想ノードの定義に含まれる情報と、仮想マシンに関する情報と、を対応付ける設定を、仮想マシン上で起動されるオペレーティングシステムの設定ファイルに書き込み、その後、仮想マシンを起動することを特徴とする。これにより、仮想ネットワーク割り当て結果を参照せずに、仮想マシンの起動を待たなくとも、仮想インタフェースと仮想マシンにおける仮想NICとの対応関係を把握可能とすることができる。

Description

本発明は、ネットワーク仮想化システムの運用方法、特に、仮想ネットワークを構成する仮想ネットワークノードに割り当てる仮想マシンにおける仮想インタフェースの識別方法、に関する。
近年、ネットワークの大型化に伴い、ネットワークの管理運用が複雑化している。そのため、例えば、ネットワークを構成するいずれかの装置が他の装置に対する設定を受け、管理者に代わってその設定を実行する、というネットワークに対応した管理が行われている(例えば、特許文献1、特許文献2を参照)。
さらに、ネットワークを構成する物理ネットワークをそのまま使用するのではなく、管理又は安全性の確保を目的として、物理ネットワーク上に仮想ネットワークを構築して使用する、ということが行われている。
ネットワークを仮想化したシステム(ネットワーク仮想化システム)では、物理ネットワークの上に、1つ又は複数の仮想ネットワークを構築することできる。さらに、構築された仮想ネットワークは互いに影響を与えることなく動作することができる。そのため、例えば、同じ物理ネットワーク上においてネットワークの研究者が行うネットワークの実験と、ネットワークサービスの提供者が行うネットワークサービスの提供と、を相互に影響を与えずに行うことが可能となる。このようなネットワーク仮想化システムは、ネットワークの各分野において注目されている。
図15に、ネットワーク仮想化システムの一般的な全体構成を示す。ネットワーク仮想化システムの実現は、アメリカのGENIプロジェクトや欧州のFIREプロジェクトなどにおいて研究開発されており、図15は、これらの概要を示したブロック図である。ネットワーク仮想化システム91は、コンピューティング資源を提供する複数の物理ノード92と、それら物理ノード92間を接続する物理リンク93と、ドメイン管理装置94と、を備えて構成されている。
図15に示す例では、ネットワーク仮想化システム91上に、仮想ネットワーク95を構築している。仮想ネットワーク95は、物理ネットワークと同様に、ネットワークノードとネットワークリンクから構成される(以下、仮想ネットワーク上のネットワークノードと、ネットワークリンクを、仮想ノード96と、仮想リンク97とそれぞれ称する。)。
図15では、仮想ネットワーク95の各仮想ノード96に対して、物理ノード92の資源がそれぞれ割り当てられている。物理ノード92上では複数の仮想マシンが動作しており、それら複数の仮想マシンを各仮想ノード96に対してそれぞれ割り当てることで、仮想ノード96への資源の割り当てが実現されている。
また、図15では図示を省略するが、仮想ノード96間を結ぶ仮想リンク97についても、ネットワーク仮想化システム91上の物理ネットワーク資源が割り当てられている。この仮想リンク97への割り当ては、一般には、GRE(Generic Routing Encapsulation)、IPSec、MPLS(Multi Protocol Label Switching)などのトンネリング技術やVLANなどを用いて実現されている。
ドメイン管理装置94は、ネットワーク仮想化システム91全体の物理ノード92及び物理リンク93のリソースを管理する。ドメイン管理装置94は、仮想ネットワーク95の作成要求を設定端末98から受けた場合、その作成要求に基づき、物理ノード92及び物理リンク93のリソース割り当てを決定し、各物理ノード92に対して、仮想ノードへのVMの割り当て及び仮想リンクの作成・割り当て指示を行う。そして、ドメイン管理装置94は、各物理ノード92での割り当て完了を確認すると、仮想ネットワーク割り当て結果を設定端末98に通知する。
設定端末98は、仮想ネットワーク95を作成する場合、ドメイン管理装置94に仮想ネットワーク定義を入力する。仮想ネットワーク定義とは、仮想ノード96及び仮想リンク97として確保したい資源と、構築したい仮想ネットワーク95のトポロジーと、を記載したものであり、様々な形式のものが利用されている。仮想ネットワーク定義の具体例は、非特許文献1のProtoGENI RSpecなどに公開されている。
図16に、非特許文献1に基づく仮想ネットワーク定義の例を示す。図16に示す仮想ネットワーク定義13において、仮想ノード96の定義(仮想ノード定義131乃至仮想ノード定義133)を点線枠を用いて囲んで示し、XMLの<node>から</node>を用いて挟まれた部分とする。仮想ノード96の定義は、仮想ノードの識別子を表すvirtual_id属性と、仮想ノードの種別を表す<node_type>要素と、仮想ノードのネットワークインタフェース(以下、単に仮想インタフェースと称する。)の定義である<interface>と、を含んでいる。
仮想インタフェースは、仮想インタフェースの個数分が定義される。図16の例では、Node-AからNode-Cの各仮想ノードは、いずれも2つの仮想インタフェースを持つ。このため、各々の仮想ノード定義において、仮想インタフェースの定義<interface>が2つずつ存在する。仮想インタフェースの名前は、XMLの<interface>要素の属性virtual_idを用いて示される。図16の例では、Node-Aは、"VIF-A0"と"VIF-A1"という名前の仮想インタフェースを持つ。
仮想ネットワーク95の仮想ノード96間を接続する仮想リンク97は、<link>要素を用いて定義される。上述のProtoGENI RSpecでは、仮想リンク97の定義は、両端の仮想ノード96の仮想インタフェースを指定する形に基づいて定義される。図16の仮想ネットワーク定義13では、仮想リンクLink-ABは、Node-Aの仮想インタフェースVIF-A0とNode-Bの仮想インタフェースVIF-B1とを接続する。
上述したように、ドメイン管理装置94は、仮想ネットワーク定義を設定端末98から受信すると、受信した仮想ネットワーク定義の解釈を行う。そして、ドメイン管理装置94は、仮想ネットワーク95の作成に必要となる仮想ノード96及び仮想リンク97について、その仮想ノード96などに割り当てる物理ノード92及び物理リンク93のリソースを、物理ノード92などの空きリソースや、要求された品質要件などに基づき決定する。
次に、ドメイン管理装置94は、各物理ノード92に対して、仮想ノード96へのリソース割り当てを指示する。物理ノード92は、仮想ノード96の割り当て要求を受信した場合、受信した仮想ノードの定義に基づき、物理ノード92上の未使用の仮想マシン(VM)を仮想ノード96に割り当て、その割り当て結果を、ドメイン管理装置94に返す。ドメイン管理装置94は、仮想ネットワーク定義に関して、リソース割り当て対象として決定した物理ノード92以外の各物理ノード92についても、同様にして仮想ノード96へのリソース割り当てを指示し、その割り当て要求が返ってくるのを待つ。
また、ドメイン管理装置94は、仮想リンク97の割り当てに関しても、物理リンク93のリソースの割り当て指示を関連する物理ノード92などに同様に行い、割り当て要求が返ってくるのを待つ。
ドメイン管理装置94は、仮想ネットワーク定義に関して、仮想ネットワーク95の作成に必要な仮想ノード96及び仮想リンク97のリソースが全て確保され、仮想ネットワーク95が構築されると、仮想ネットワーク割り当て結果を設定端末98に通知する。
仮想ネットワーク割り当て結果についても、様々なデータ形式を用いて表現される。図17に、非特許文献2において公開されている、割り当て結果の一例を示す。なお、説明の便宜のため、図17に示す結果では、ある一つの仮想ノードNode-Aの結果を抽出して示している(図17では、仮想ノード情報140として示す、点線枠を用いて示す範囲)。
図17の仮想ノード情報140は、仮想ノードNode-Aに関する割り当て結果を示している。仮想ノード識別子141は、仮想ノード情報140が、仮想ネットワーク定義に定義された仮想ノードNode-Aに対応する割り当て結果である、ことを示している。仮想インタフェース情報142、143は、Node-Aの仮想インタフェースに対応する割り当て結果である。
仮想インタフェース(仮想インタフェース142、143)では、<component_id>と</component_id>とに挟まれた範囲に、仮想マシンの仮想NICの割り当てが含まれており、<virtual_id>と</virtual_id>とに挟まれた範囲に、仮想インタフェースの割り当てが含まれている。各々の仮想インタフェースには仮想マシンのNetwork Interface Card(NIC)が割り当てられ、仮想マシンのNIC"eth1"が仮想インタフェースVIF-A0に対応し、仮想マシンのNIC"eth0"が仮想インタフェースVIF-A1に対応していることを示す。
仮想ネットワーク95に接続する仮想ノード96で動作するプログラムは、仮想インタフェース情報142又は仮想インタフェース情報143を参照し、仮想マシン上のどの仮想NICに仮想インタフェースが対応しているかを知ることができる。
このようにして、図15に示したネットワーク仮想化システム91では、設定端末98からの要求を受けたドメイン管理装置94が物理ノード92を設定することで、仮想ネットワーク95を構築することができる。
なお、以下では、仮想ネットワーク定義における仮想ノード96のネットワークインタフェースを「仮想インタフェース」と称し、仮想ノード96に対して割り当てられた仮想マシンのネットワークインタフェースカード(NIC)を「仮想NIC」と称する。
特開2005−197826号公報 特開2009−302847号公報 特開2009−212617号公報
"RSpecExample-ProtoGENI",http://www.protogeni.net/trac/protogeni/wiki/RSpecExamples#LinkRequest "RSpecManifestExample-ProtoGENI",http://www.protogeni.net/trac/protogeni/wiki/RSpecManifestExample
一般に、どのような名前を用いてNICが参照されるかは、仮想マシンに限らず、コンピュータのオペレーティングシステム(OS)に応じて異なる。さらに、NICの名前は、OS起動時のNICの認識順序などにも依存して異なるが、OS起動時のNICの認識順序は起動毎に異なり、認識順序は決まってもいない。
このように、仮想マシンで動作するOSがNICの名前を設定したときには、そのNICの名前は、OSが立ち上がった後に確定することになる。例えば、NICが2枚装備されたコンピュータにおいて、OSの起動時に、2つのNICに対してeth0,eth1という名前がそれぞれ割り当てられたとすると、2枚のNICのうち、どちらのNICにeth0が対応したのかは、OSがNICを認識した順序などに依存する。
従って、本発明に関連するネットワーク仮想化システム91では、以下に示すような課題があった。
仮想ネットワークに割り振られた仮想マシンで動作するプログラムは、仮想ネットワークを利用するために、仮想ネットワークにおける仮想インタフェースと、仮想NICの名前(デバイス名)と、の対応を知ることが必要である。しかし、一般的な仮想マシンで動作するプログラムは、仮想インタフェースと仮想NICとの対応を知ることはできない。そのため、ネットワーク仮想化システム91の物理ノードは、仮想ネットワークの割り当て結果、特に、仮想インタフェースと対応する仮想NICの名前を、仮想マシンで動作するプログラムに知らせる必要がある、という課題があった。
また、ネットワーク仮想化システム91の物理ノードにおいて、仮想インタフェースと仮想NICとの対応関係は、仮想マシンで動作するOSの起動が完了するまでは確定しない。そのため、ネットワーク仮想化システム91の物理ノードは、仮想マシンで動作するOSが起動するまでの間は、ドメイン管理装置94に設定結果を回答することができない、という課題があった。
また、仮想マシンで動作するOSの起動が必要であるために、ネットワーク仮想化システム91において、仮想ネットワークの作成を予約することができない、という課題があった。
なお、本発明に関連する他の技術として、特許文献3には、技術仮想マシンの仮想NICにMACアドレスを割り当てる機能が開示されているが、仮想マシンの仮想NICに割り当てるMACアドレスをホストOS(サーバ)が指定することを開示しているにすぎず、上述した課題を解決するものではない。
本発明の目的は、上記課題を解決し、仮想ネットワークの割り当て結果を参照せずに、仮想マシンの起動を待たなくとも、仮想インタフェースと仮想NICとの対応関係を把握できる、ネットワーク仮想化システムを提供することである。
本発明の第一の態様に係るネットワーク仮想化システムは、ネットワークを構成する物理ノードと、仮想ネットワークの仮想ノード及び仮想リンクの設定を前記物理ノードに対して指示するドメイン管理装置と、を備え、前記物理ノードは、前記ドメイン管理装置からの指示に含まれる前記仮想ノードの定義に基づき前記仮想ノードに対して仮想マシンを割り当てる場合に、前記仮想マシンの起動前に、前記仮想ノードの定義に含まれる情報と、前記仮想マシンに関する情報と、を対応付ける設定を、前記仮想マシン上で起動されるオペレーティングシステムの設定ファイルに書き込み、その後、前記仮想マシンを起動することを特徴とするものである。
これにより、仮想ネットワーク割り当て結果を参照せずに、仮想マシンの起動を待たなくとも、仮想ノード割り当て要求に含まれる情報と、仮想マシンに関する情報と、の対応関係を把握できる。
本発明の第二の態様に係る物理ノードは、仮想ノード割り当て要求を受信し、当該割り当て要求された仮想ノードの定義を解釈する仮想ノード定義解釈部と、前記仮想ノード定義解釈部の結果を受け、前記仮想ノードに割り当てるリソースを確認し、仮想マシンを割り当てるリソース割り当て部と、前記仮想マシンの仮想NICのMACアドレスに対して、前記仮想マシン内で少なくとも一意な値を割り当てる仮想マシンパラメータ生成処理部と、前記仮想マシンの起動前に、前記仮想ノード割り当て要求に含まれる情報と、前記仮想マシンに関する情報と、を対応付ける設定を、前記仮想マシンの仮想ディスク内の、前記仮想マシン上で起動されるオペレーティングシステムの設定ファイルに書き込む仮想ディスク操作処理部と、前記仮想マシンの実行制御を行う仮想マシンモニタ部と、を備えるものである。
これにより、仮想ネットワーク割り当て結果を参照せずに、仮想マシンの起動を待たなくとも、仮想ノード割り当て要求に含まれる情報と、仮想マシンに関する情報と、の対応関係を把握できる。
本発明の第二の態様に係る仮想マシンにおける仮想インタフェース識別方法は、ネットワークを構成する物理ノードが、仮想ノードが保持する仮想インタフェースの定義を含む、仮想ノード割り当て要求を受信し、当該割り当て要求された仮想ノードの定義を解釈するステップと、前記物理ノードが、前記仮想ノード定義解釈ステップの結果を受け、前記仮想ノードに割り当てるリソースを確認し、仮想マシンを割り当てるステップと、前記物理ノードが、前記仮想ノード割り当て要求に含まれる前記仮想インタフェース各々に対して、前記仮想マシンの仮想NICを一つずつ対応付け、前記仮想NICのMACアドレスに対して、前記仮想マシン内で少なくとも一意な値を割り当てるステップと、前記物理ノードが、前記仮想マシンの起動前に、前記仮想ノード割り当て要求に含まれる前記仮想インタフェースと、前記仮想マシンの前記仮想NICに割り当てたMACアドレスと、を対応付けるルールを、前記仮想マシンの仮想ディスク内の、前記仮想マシン上で起動されるオペレーティングシステムのインタフェースマッピング手段の設定ファイルに書き込むステップと、を有することを特徴とするものである。
これにより、仮想ネットワーク割り当て結果を参照せずに、仮想マシンの起動を待たなくとも、仮想インタフェースと仮想マシンにおける仮想NICとの対応関係を把握できる。
本発明によれば、仮想ネットワーク割り当て結果を参照せずに、仮想マシンの起動を待たなくとも、仮想インタフェースと仮想マシンにおける仮想NICとの対応関係を把握できる、ネットワーク仮想化システム、物理ノード及び仮想マシンにおける仮想インタフェース識別方法を提供することができる。
実施の形態1に係るネットワーク仮想化システムを示すブロック図である。 実施の形態1に係る仮想ネットワークの構成例である。 実施の形態1に係る物理ノードの構成を示す図である。 実施の形態1に係るリソース割り当て部の動作フローを示す図である。 実施の形態1に係るVMパラメータ生成部の動作フローを示す図である。 実施の形態1に関る仮想MACアドレス対応表の一例を示す図である。 実施の形態1に係る仮想ディスク制御部の動作フローを示す図である。 実施の形態1に係るインタフェースマッピング手段の設定ファイルの一例(参考URL1の場合)を示す図である。 実施の形態1に係るインタフェースマッピング手段の設定ファイルの一例例(参考URL2の場合)を示す図である。 実施の形態1に係る仮想マシンの起動パラメータの一例を示す図である。 第一の実施の形態に係る仮想ネットワーク割り当て結果の一例を示す図である。 実施の形態1に係る仮想ノード割り当て結果の一例を示す図である。 実施の形態1に係る仮想ノードの定義の一例を示す図である。 実施の形態1に係る仮想ノード"Node-A"に対応する仮想マシンの仮想NICを示す図である。 一般的なネットワークシステムの一例を示すブロック図である。 一般的な仮想ネットワーク定義の一例を示す図である。 一般的な仮想ネットワーク割り当て結果の一例を示す図である。 本発明の原理を説明するための図である。
本発明の実施の形態について説明するのに先立ち、図18を参照して本発明の原理について説明する。
図18では、ネットワーク仮想化システム501は、ネットワークを構成する物理ノード521乃至物理ノード526と、ドメイン管理装置511と、を備えている。
ドメイン管理装置511は、仮想ネットワーク502、503の仮想ノード及び仮想リンクの設定を、物理ノード521乃至物理ノード526に対して指示する。
物理ノード521乃至物理ノード526は、ドメイン管理装置511からの指示に含まれる仮想ノードの定義に基づき仮想ノードに対して仮想マシンを割り当てる。物理ノード521乃至物理ノード526は、仮想マシンの起動前に、仮想ノードの定義に含まれる情報と、仮想マシンに関する情報と、を対応付ける設定を、仮想マシン上で起動されるオペレーティングシステムの設定ファイルに書き込み、その後、仮想マシンを起動することを特徴とする。
実施の形態1.
以下、図面を参照して本発明の実施の形態について説明する。以下では、本実施の形態に係るネットワークシステム全体の構成、物理ノードの構成、物理ノードの動作の順に説明する。なお、以下の説明では、仮想ネットワーク上のノードを単に仮想ノードと称し、仮想ネットワーク上のリンクを単に仮想リンクと称する。
<ネットワークシステム全体の構成>
図1は、本実施の形態に係るネットワーク仮想化システム1を含む、ネットワークシステム4の全体構成の一例を示すブロック図である。
ネットワークシステム4は、ネットワーク仮想化システム1と、設定端末31と、を含んでいる。
設定端末31は、ネットワーク仮想化システム1を実現するため、図示しない装置、又は、システム管理者の指示に基づき、仮想化ネットワークの作成指示をネットワーク仮想化システム1に送る。仮想化ネットワークの作成指示は、後述する仮想ネットワーク定義13を含んでいる。
ネットワーク仮想化システム1は、設定端末31からの指示を受け取り、物理ノード(物理ノード21乃至物理ノード26)及び物理リンク51のリソースを用いて、仮想ノード及び仮想リンクを含む仮想ネットワーク(仮想ネットワーク2及び仮想ネットワーク3)を構築する。ネットワーク仮想化システム1は、仮想ネットワークの構築結果を設定端末31に返却する。仮想ネットワークの構築結果は、後述する仮想ネットワーク割り当て結果14を含んでいる。仮想ネットワーク2及び仮想ネットワーク3の構築の詳細については後述する。なお、図1では、物理ノードと仮想ノードとの対応の一例を、点線を用いて示している。
図2を参照して、仮想ネットワーク2についてより詳細に説明する。図2は、図1に示した仮想ネットワーク2の構成の一例をより詳細に示す図である。
一般的に、仮想ネットワークは、2つ以上の仮想ノードと1つ以上の仮想リンクと、を含んでいる。また、各仮想ノードは、仮想リンクに接続するために、1つ以上の仮想NIC(Network interface Circuit又はCard)を含んでいる。仮想ノードは、仮想リンクを使用して通信する。
図2では、3つの仮想ノード及び3つの仮想リンクを備えた仮想ネットワーク2の構成例を示している。例えば、仮想ノード71(Node-A)は、仮想NIC(VIF-A0)と仮想リンク81(Link-AB)を介して仮想ノード72(Node-B)と接続し、仮想NIC(VIF-A1)と仮想リンク83(Link-CA)を介して仮想ノード73(Node-C)と接続する。仮想ノード72と仮想ノード73も、仮想リンク82(Link-BC)を介して接続する。ただし、本実施の形態に係る仮想ネットワーク2は、仮想リンクを含まない、いわゆるスタンドアローン(stand-alone)の仮想ノードを含んでもよい。
図1に戻って、ネットワーク仮想化システム1についてより詳細に説明する。
ネットワーク仮想化システム1は、ドメイン管理装置11と、1つ以上の物理ノード(物理ノード21乃至物理ノード26)と、物理リンク51と、を含んでいる。
ドメイン管理装置11は、仮想ネットワークの設定を設定端末31から受け取り、物理ノード21乃至物理ノード26に指示を出し、ネットワーク仮想化システム1に対して要求された仮想ネットワークを構築する。ドメイン管理装置11は、設定端末31に構築結果の返却も行う。
ただし、ドメイン管理装置11が行う設定は、これに限定されない。ドメイン管理装置11は、例えば、仮想ネットワーク上の仮想の中継リンクとなる物理ノード(つまり、仮想ノード)の割り当ては行わないものの、仮想リンクを割り当てる物理ノードに対して、仮想リンクの割り当ての指示も行う。
物理リンク51は、物理ノード21乃至物理ノード26を接続する。また、物理リンク51のリソースが、仮想リンクに割り振られる。なお、本実施の形態に係る物理リンク51は、一般的なネットワークのリンクを使用すればよい。また、物理リンク51は、有線又は無線のいずれでもよく、有線と無線とが混在していてもよく、接続方法にも制限はない。そのため、ここでは、物理リンク51についての詳細な説明を省略する。
設定経路61は、ドメイン管理装置11と物理ノード21乃至物理ノード26との間の通信の経路である。ドメイン管理装置11は、物理ノード21乃至物理ノード26に対して、設定経路61を介して設定の指示を行うと共にその結果を受け取る。図1では、説明の便宜のために、物理リンク51とは別に設定経路61を示しているが、これに限定されず、物理リンク51の一部又は全部を設定経路61として使用してもよい。なお、設定経路61についても、一般的なネットワークを使用すればよいため、ここでは、その詳細な説明を省略する。
物理ノード21乃至物理ノード26は、物理リンク51を用いて相互に接続され、物理ネットワークを構成している。物理ノード21乃至物理ノード26は、接続する物理リンク51の個数には制限がなく(ただし、1つ以上に接続する)、物理リンク51を用いて他の物理ノードに接続されていればよい。図1では、一例として、物理ノード23及び物理ノード25は3つの物理リンク51に接続し、物理ノード21、22、24、及び26は2つの物理リンク51に接続している。
さらに、物理ノード21乃至物理ノード26では、ドメイン管理装置11の指示に基づき、物理ノードの資源を割り当てた仮想マシン(以下、VM(Virtual Machine)と称する場合がある。)が動作している。この仮想マシン上では、オペレーティングシステム(以下、OS(Operating System)と称する。)及びアプリケーションプログラム(Application Program、以下、APプログラムと称する。)が動作している。物理ノード21乃至物理ノード26は、この仮想マシンを用いて仮想ノードを実現する。
ネットワーク仮想化システム1は、このような仮想ノードと、物理リンク51と、に基づく仮想リンクを用いて、仮想ネットワーク(例えば、図1に示す仮想ネットワーク2)を実現している。
図1では、一例として、物理ノード21、26上で1個、物理ノード23上で3個、物理ノード24上で2個、その他の物理ノード上で0個の仮想マシンがそれぞれ動作している。なお、図1では、本実施の形態に係る仮想マシンと仮想ネットワークの仮想ノードとの割り当てに関して、その一例として、それらの対応関係を点線を用いて示している。
本実施の形態に係る物理ノード21乃至物理ノード26は、ドメイン管理装置11からの指示を、個別に受けてもよく、複数の物理ノードが共通の指示を受けてもよい。また、本実施の形態に係るネットワーク仮想化システム1に含まれる物理ノードの個数は6に限定されず、5以下でも、7以上でもよい。さらに、ネットワーク仮想化システム1の上に構築される仮想化ネットワークの個数も2つに限定されず、1つでも良く、3以上でもよい。
<物理ノードの構成>
次に、図3を参照して、物理ノードの構成について説明する。なお、本実施の形態では、ネットワーク仮想化システム1の物理ノード21乃至物理ノード26はいずれも同じ構成を有するものとして説明するが、必ずしも同じ構成の装置で実現する必要はない。物理ノード21乃至物理ノード26は、以降で説明する動作を実現することができれば、別の構成の装置(ノード)としてもよい。以下では、一例として、物理ノード21を使用して説明する。
図3は、本実施の形態に係る物理ノード21の構成の一例を示す図である。なお、以下では、説明の便宜のため、サーバ装置のような一般的なコンピュータ装置として物理ノード21を説明するが、これに限られるわけではない。
物理ノード21は、物理NIC41と、物理NIC42と、演算装置43と、記憶装置44と、を含んでいる。なお、以降の説明において、2種類の動作を行う物理NICを説明する便宜のため、図3に示す物理ノード21は2つの物理NICを備えている。本実施の形態に係る物理ノード21の物理NICは、2つに限定されず、1つでも、3つ以上でもよい。
物理NIC41及び物理NIC42は、物理リンク51を介して他の装置と接続する。本実施の形態に係る物理NIC41及び物理NIC42は、接続先の制限がない。ただし、説明の便宜のため、物理NIC41がドメイン管理装置11との接続を行い、物理NIC42が他の物理ノードと接続するものとして説明する。つまり、本実施の形態に係る仮想リンクは、物理NIC42に接続する物理リンク51のリソースを使用して実現されるものとする。
演算装置43は、図示しない情報処理部(例えば、CPU(Central Processing Unit))と記憶部を含み、物理ノード21の処理を行う。より具体的には、演算装置43は、後述する記憶装置44に記憶されているプログラムを実行する。
記憶装置44は、本実施の形態を実現するため、演算装置43が実行するプログラムを記憶している。また、記憶装置44は、仮想ディスク471、472を記憶する。記憶装置44は、演算装置43がプログラムを実行するために、その作業領域として使用されてもよい。
なお、図3では、記憶装置44を1つの構成として示しているが、これに限定されず、複数の記憶装置を用いて構成してもよい。記憶装置44は、メモリやディスクなどの記憶装置を用いて実現される。通常は、記憶装置44上のプログラムがメモリに記憶され、仮想ディスク471、472がディスクに記憶されるが、本発明の記憶装置44としては、任意の記憶装置を利用してよい。
本実施の形態に係る記憶装置44上のプログラムには、ノード管理プログラム440と、仮想化制御プログラム451と、Guest OSプログラム461、462と、が含まれている。
ノード管理プログラム440は、仮想ノードを実現するためのプログラムである。ノード管理プログラム440は、ドメイン管理装置11からの指示に基づき、仮想ノード及び仮想リンクへのリソースの割り当てを行い、また、仮想ノードを実現するための仮想マシンの起動及び廃棄を、後述する仮想化制御プログラム451に指示する。
このため、ノード管理プログラム440は、仮想ノード定義解釈処理機能と、リソース割り当て処理機能と、VMパラメータ生成処理機能と、VM割り当て結果応答処理機能と、仮想ディスク操作機能と、を有している。ノード管理プログラム440は、これらの処理を別プログラムとしても良く、複数の処理を備えたプログラムとしてもよい。これらの処理の詳細については後述する。
なお、本実施の形態に係る物理ノード21では、コンピュータで動作するプログラムとしてノード管理プログラム440を説明するが、これに限定されず、後述するノード管理プログラム440の各処理の一部又は全てを、同等に動作する装置又は回路を用いて構成してもよい。
仮想化制御プログラム451は、Hypervisorプログラムや仮想マシンモニタと呼ばれるプログラムに相当し、仮想マシンを実現するための制御プログラムである。仮想化制御プログラム451は、仮想マシンの起動パラメータを含んだ指示をノード管理プログラム440から受けて、仮想マシンの起動及び廃棄を行う。また、仮想化制御プログラム451は、仮想マシン(Guest OSプログラム461、462)を用いて、仮想ディスク471、472への読み書きの制御を行う。
物理ノード21は、仮想化制御プログラム451が起動した仮想マシンを用いて、仮想ノードを実現する。また、仮想化制御プログラム451は、後述するVM上のプログラム(Guest OSプログラム461、462)の起動及び廃棄を含んだ制御を行ってもよい。なお、本実施の形態に係る仮想化制御プログラム451は、一般的なHypervisorを使用すればよく、ここでは、その詳細な説明を省略する。
Guest OSプログラム461、462は、仮想化制御プログラム451が起動した仮想マシン内で動作するプログラムの例示である。仮想マシンが仮想ノードに割り当てられている場合、Guest OSプログラム461は、仮想ノードで動作しているプログラムとなる。
Guest OSプログラム461、462は、必要に応じて、仮想リンクを使用して他の仮想ノードで動作するプログラムと接続し、データの通信することができる。仮想リンクは、物理NIC42を用いて実現されている仮想NICに接続している。なお、Guest OSプログラム461、462は、ループバック(loop-back)を使用して、同じ物理ノード21のプログラムと接続してもよい。
本実施の形態においては、Guest OSプログラム461、462は、仮想マシン上で動作するOS(以下、仮想マシンのOS)である。Guest OSプログラム461は、記憶装置44に保持された仮想ディスク471に対してデータの読み書きを行うことができる。Guest OSプログラム461の起動時には、仮想ディスク471に保持されたGuest OSプログラム461の設定ファイルが読み出され、Guest OSプログラムの動作モードなどの設定が行われる。
Guest OSプログラム461、462は、後述するインタフェースマッピング手段を持つ。インタフェースマッピング手段は、インタフェースマッピング手段の設定ファイルに基づき、仮想マシンの仮想NICの設定を行う。インタフェースマッピング手段の設定ファイルは、仮想ディスクに保持されている。インタフェースマッピング手段の詳細は後述する。
VM上のプログラム461、462は仮想マシンのOSであり、仮想マシンのOS上ではアプリケーションプログラムを動作させることができる。なお、このアプリケーションプログラムは一般的なプログラムを使用すればよく、説明が煩雑になるため、ここでは、図示及びその詳細な説明を省略する。なお、図3では、VM上のプログラムとして461、462の2つのみを示しているが、VM上のプログラムの個数は1つでも3つ以上でもよい。
なお、演算装置43が、上述した記憶装置44上の各プログラムを実行している。この関係を示すため、図3では、演算装置43と各プログラムとの接続を、点線を用いて示している。また、演算装置43は、上述した各プログラムを実行するため、その基盤となるオペレーティングシステムについても実行しているが、これは、一般的なプログラムを使用すればよく、また、説明が煩雑になるため、ここでは、その図示及び詳細な説明を省略する。
記憶装置44に格納される仮想ディスク471、472は、仮想マシンにとって、物理サーバにおけるディスク装置に相当するものである。仮想マシン上で動作するプログラムから仮想ディスクへのアクセスは、仮想化制御プログラム451の制御に基づき行われる。
仮想化制御プログラム451を用いた制御により、VM上のプログラム461は仮想ディスク471に対してのみアクセスを行うことができ、VM上のプログラム462は仮想ディスク472に対してのみアクセスを行うことができる。図3では、一つの仮想マシンに対して一つの仮想ディスクを対応付けているが、一つの仮想マシンに対して複数の仮想ディスクを対応付けてもよい。
また、論理的にはVM上のプログラム461、462と仮想ディスク471、472との間でデータの読み書きが行われるため、図3では、単純化のため、プログラム461、462と仮想ディスク471、472との間で直接データの読み書きが行われる形態として示している。
<物理ノードの動作>
次に、図4乃至図7を参照して、物理ノード21の動作について説明する。なお、上述したとおり、仮想化制御プログラム451と、Guest OSプログラム461、462と、については一般的なプログラムを使用すればよい。そのため、ここでは、その動作の詳細な説明を省略し、以下では、ノード管理プログラム440について詳細に説明する。
ノード管理プログラム440は、上述した各機能をそれぞれ実現するため、仮想ノード定義解釈処理部441と、リソース割り当て処理部442と、VMパラメータ生成処理部443と、VM割り当て結果応答処理部444と、仮想ディスク操作処理部445と、を含んでいる。以下、各処理部について順に説明する。
<物理ノードの動作:仮想ノード定義解釈部>
仮想ノード定義解釈処理部441は、物理NIC41を介して、仮想ノードの割り当て要求をドメイン管理装置11から受信する。要求を受信した仮想ノード定義解釈処理部441は、割り当て要求された仮想ノードの定義を解釈する。そして、仮想ノード定義解釈処理部441は、要求された仮想ノードの定義を以降の処理で利用可能なデータ構造に変換し、リソース割り当て処理部442へと渡す。なお、本実施の形態に係る仮想ノードの定義のデータ形式は特に限定されず、一般的なデータ形式を使用すればよく、ここでは、データ形式に関しての詳細な説明を省略する。
<物理ノードの動作:リソース割り当て処理部>
リソース割り当て処理部442は、仮想ノード定義解釈処理部441からデータ変換後の仮想ノード定義を受け取ると、物理ノード21におけるリソースを割り当てる。以下、図4に示すフローチャートを参照して、リソース割り当て処理部442の動作についてより詳細に説明する。
まず、リソース割り当て処理部442は、仮想ノードの定義を受け取ると、物理ノード21において、仮想マシンに割り当て可能な物理リソース(例えば、CPU数、処理時間比率、又は、ワーク領域)の空き状況を確認する(S1001)。次に、リソース割り当て処理部442は、仮想ノードのための仮想マシンに必要なリソースが、割り当て可能かどうかを判定する(S1002)。割り当て可能な場合(S1002でyes)、リソース割り当て処理部442は、仮想ノード定義と割り当てた物理リソース量と、をVMパラメータ生成処理部443に渡す(S1003)。
なお、リソース割り当て処理部442がVMパラメータ生成処理部443に渡す仮想ノード定義は、仮想ノードに割り当てた仮想インタフェース(以下、仮想IFと称する場合がある。)の情報(例えば識別子)を含んでいる。仮想ノード定義が複数の仮想IFの情報を含む場合には、どのような記載形式を用いて複数の仮想IFの情報を含めてもよいが、本実施の形態では、処理の効率及び明確さを勘案して、連続して記載する形式を用いて複数の仮想IFの情報を含んでいるものとする。
リソースの割り当てが不可能な場合(S1002でno)、リソース割り当て処理部442は、割り当てるリソースが確保できなかったことを、VMパラメータ生成処理部443に通知する(S1004)。このように、リソース割り当て処理部442は、割り当てができない場合を含め、リソースの割り当て結果を、VMパラメータ生成処理部443に通知する。
<物理ノードの動作:VMパラメータ生成処理部>
VMパラメータ生成処理部443は、リソースの割り当て結果を受け取ると、リソースの割り当て結果を基にVMパラメータの生成を行い、仮想ディスク操作処理部445への指示を行い、また、VM割り当て結果応答処理部444へ割り当て結果を通知する。以下、図5及び図6を参照して、VMパラメータ生成処理部443の動作についてより詳細に説明する。
図5は、VMパラメータ生成処理部443の動作の一例を示すフローチャートである。
まず、リソース割り当て処理部442から割り当て結果を受け取ったVMパラメータ生成処理部443は、リソース割り当てができたかどうかを確認する(S1101)。割り当てが可能な場合(S1101でyes)、VMパラメータ生成処理部443は、リソース割り当て処理部443から受け取った仮想ノード定義で定義された仮想インタフェース各々について、それら仮想インタフェースに対応する仮想NICに割り当てるMACアドレス(以下、仮想NICに割り当てるMACアドレスを、単に「仮想MACアドレス」と称する場合がある。)を決定する(S1102)。
仮想ノード定義に複数の仮想インタフェースが定義されている場合、複数の仮想NICに仮想MACアドレスを割り当てる必要がある。本発明においては、仮想MACアドレスは、一つの仮想マシンにおける複数の仮想NIC間で重複しないMACアドレスであればよい。もちろん、物理ノード21内で複数の仮想マシンが動作する場合には、複数の仮想マシンの仮想NICに割り当てるMACアドレスが、物理ノード21内で重複しない値となるようにしてもよい。
S1102の結果、仮想ノード定義で定義された仮想インタフェース各々について、仮想インタフェースと対応する仮想MACアドレスの組みのリストが得られる(以下、このリストを、単に「仮想MACアドレス対応表」と称する。)。
図6は、仮想MACアドレス対応表の一例である。仮想MACアドレス対応表の各エントリは、仮想インタフェース識別子と、仮想MACアドレスと、の組みを用いて構成される。なお、図6では、仮想インタフェースを識別できる情報として仮想インタフェース識別子を用いているが、仮想インタフェースを識別できる情報であればどのような情報を用いてもよい。また、仮想MACアドレス対応表のエントリ数は、仮想ノード定義で定義された仮想インタフェースの個数に等しい。
続けて、VMパラメータ生成処理部443は、生成した仮想MACアドレスと、仮想ノードの定義と、に基づき、起動パラメータ(VM起動パラメータ)を生成する(S1103)。起動パラメータ(VM起動パラメータ)は、仮想化制御プログラム451が仮想マシンを起動するために使用する。VM起動パラメータには、S1102で得られる仮想MACアドレスのリストが含まれる。
なお、VMパラメータ生成処理部443が生成するVM起動パラメータに、仮想MACアドレスのリストを含めることに代えて、後述の仮想ディスク操作処理部445が仮想化制御プログラム451にVM起動パラメータを渡す際に、仮想MACアドレスの情報を仮想MACアドレス対応表から生成し、VM起動パラメータに含めるものとしてもよい。
VMパラメータ生成処理部443は、生成した起動パラメータと仮想MACアドレス対応表を仮想ディスク操作処理部445に渡す(S1104)。ここで、本実施の形態に係るVMパラメータ生成処理部443は、仮想ディスク操作処理部445に指示を行い、仮想ディスク操作処理部445からの応答を待たずに、次の処理を行う。ただし、VMパラメータ生成処理部443は、以降で説明する処理と並行して、仮想ディスク操作処理部445からの応答を受け取り、例えば、エラー時などに再試行するような動作を行ってもよい。
次に、VMパラメータ生成処理部443は、仮想ノードの割り当て結果を、VM割り当て結果応答処理部444に渡す(S1105)。なお、VMパラメータ生成処理部443は、仮想ノードの割り当て結果をVM割り当て結果応答処理部444に渡した後、生成した起動パラメータと仮想MACアドレス対応表を仮想ディスク操作処理部445に渡して、仮想マシンの起動の指示を行うものとしてもよい。つまり、VMパラメータ生成処理部443は、S1105とS1104との順番を入れ替えてもよい。
なお、リソース割り当て処理部442からの割り当て結果が不可の場合(S1101でno)、VMパラメータ生成処理部443は、仮想ノードの割り当てができなかったことを、VM割り当て結果応答処理部444に渡す(S1106)。
このような動作に基づき、VMパラメータ生成処理部443は、仮想ディスク操作処理部445への指示と、その指示に続く仮想化制御プログラム451を用いた仮想マシンの起動の指示と、VM割り当て結果応答処理部444への結果の通知と、を実行する。
<物理ノードの動作:VM割り当て結果応答処理部>
VM割り当て結果応答部444は、割り当て結果を受け取ると、物理NIC41を介して、仮想ノード割り当て結果をドメイン管理装置11に返す。このように動作することで、ノード管理プログラム440は、仮想ネットワークのリソースを物理ノード21で確保する。
<物理ノードの動作:仮想ディスク操作処理部>
仮想ディスク操作処理部445は、VMパラメータと仮想MACアドレス対応表をVMパラメータ生成処理部443から受け取ると、起動対象となる仮想マシン用の仮想ディスクを用意し、仮想MACアドレス対応表に基づき仮想ディスクの書き換えを行い、仮想化制御プログラム451に対して仮想マシンの起動を指示する。以下、図7に示すフローチャートを参照して、仮想ディスク操作処理部445の動作をより詳細に説明する。
まず、仮想ディスク操作処理部445は、VMパラメータと仮想MACアドレス対応表をVMパラメータ生成処理部443から受け取ると、起動対象となる仮想マシン用の仮想ディスクの準備を行う(S1201)。
仮想ディスクをどのように準備するかは、一般的な方法を用いることができ、本発明では任意の方法を採用することができる。例えば、予め用意された仮想ディスクを、起動する仮想マシン専用としてそのまま利用してもよいし、ネットワーク上から仮想ディスクをダウンロードしてもよい。用意した仮想ディスクを保持する記憶装置44は、物理ノード上のストレージなどの記憶装置や物理ノードが接続されたネットワーク上のストレージ装置など、ノード管理部プログラム440が動作する物理ノードからアクセスできる記憶装置であればどのような形態の装置でもよい。
次に、仮想ディスク操作処理部445は、S1201で準備した仮想ディスクをオープンする(S1202)。仮想ディスク操作処理部445は、仮想ディスクのオープンに成功したかどうかを確認する(S1203)。
仮想ディスクのオープンに成功するか否かに関しては、仮想ディスクのデータフォーマット及び仮想ディスク内のファイルシステムが、仮想ディスク操作処理部445がサポートする形式であった場合に、仮想ディスクのオープンに成功する。
仮想ディスク内のデータ構造の読み書きを行う方法としては様々な方法が存在し、本発明ではどのような方法を用いてもよいが、例えば"libguestfs, tools for accessing and modifying virtual machine disk images"(http://libguestfs.org/)に公開されているプログラムを仮想ディスク操作処理部445から呼び出すことで、仮想ディスクのオープンを行えばよい。仮想ディスク操作処理部445は、仮想ディスクのオープンを行うことで、それ以降のS1204〜S1206の操作を行うことができる。
仮想ディスクのオープンに成功した場合(S1203でYes)、仮想ディスク操作処理部445は、仮想ディスク内のOSがインタフェースマッピング手段を持つかどうかを確認する(S1204)。
ここで、S1204の動作の詳細を説明する前に、インタフェースマッピング手段について説明する。仮想マシン、物理マシンの別を問わず、最近のOSでは、特定のMACアドレスを持つNICに対して、予め定められたNIC名を付与する手段が提供されているものがある。どのMACアドレスを持つNICに対して、どのようなNIC名を割り当てるかを定めるルールは、OS起動ディスク内に格納された設定ファイルを用いて与えられる。一つの設定ファイルは、複数のルールを格納することができる。
例えば、MACアドレスが"AA:BB:CC:DD:EE:FF"のNICに対して"mynic"というNIC名を付与するというルールが設定ファイルに記載されていた場合、起動したマシンにMACアドレスが"AA:BB:CC:DD:EE:FF"のNICがあれば、そのMACアドレスを持つNICには"mynic"というNIC名が付与され、OS起動後は"mynic"という名前で該当NICを参照することができる。
インタフェースマッピング手段の具体例は、以下の参考URL1や参考URL2に公開されている。
参考URL1:"Writing udev rules",
http://www.reactivated.net/writing_udev_rules.html#example-netif
参考URL2:"14.2. Interface Configuration Files",
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Deployment_Guide/s1-networkscripts-interfaces.html
あるOSがインタフェースマッピング手段を提供しているかどうかを判定する方法としては、いくつかの方法が存在する。一つは、OS固有のファイルの存在を確認し、OSのバージョンを確認する方法である。OSのバージョンが分かれば、インタフェースマッピング手段が提供されているかどうかを判定できる。そのため、OS固有のファイルの存在を確認し、その中に含まれるバージョン番号を確認する方法が最も確実である。
他にも、インタフェースマッピング手段を提供する実行ファイルが存在するかどうかを確認する方法もある。なお、インタフェースマッピング手段が当該OSで提供されるかどうかを確認できる方法であれば、他にどのような方法を用いてもよい。
仮想ディスク操作処理部445は、仮想ディスクのデータフォーマット及び仮想ディスク内のファイルシステムを解釈可能である。仮想ディスク操作処理部445は、仮想ディスク内のファイルシステムを参照し、上述したインタフェースマッピング手段の判定方法を用いることで、仮想ディスクに格納されたOSにおいてインタフェースマッピング手段が提供されているかどうかを判定する。
仮想ディスク内のOSがインタフェースマッピング手段を提供している場合(S1204でYes)、仮想ディスク操作処理部445は、インタフェースマッピング手段の設定ファイルに、仮想MACアドレス対応表に基づいて書き込みを行う。具体的には、仮想ディスク操作処理部445は、仮想MACアドレス対応表のエントリそれぞれについて、該当エントリの仮想MACアドレスを持つNICに対して、NIC名として仮想インタフェース識別子を割り当てるというルールを、インタフェースマッピング手段の設定ファイルに書き込む(S1205)。
インタフェースマッピング手段の設定ファイルへのNIC名割り当てルールの書き込みが完了したら、仮想ディスク操作処理部445は、オープンしている仮想ディスクをクローズする(S1206)。最後に、仮想ディスク操作処理部445は、仮想化制御プログラム451にVMパラメータを渡して、仮想マシンの起動の指示を行う(S1207)。
以上で、ノード管理部プログラム440の動作の説明を終える。
なお、上述したように、本実施の形態に係る各部が使用するデータの形式は特に限定されないが、参考として、以下の図8乃至図13を参照して、いくつかのデータの例を示す。
図8、図9は、インタフェースマッピング手段の設定ファイルの一例である。
図8は、参考URL1で公開されている方法を使用する場合の例である。この設定ファイルには、2つのインタフェースマッピングルールが含まれている。1つのルールとして、1行目には、仮想MACアドレスとして"db:20:98:81:be:4b"を持つ仮想NICには、"VIF-A0"という名前のNIC名を割り当てる、というルールが示されている。
図9は、参考URL2で公開されている方法を使用する場合の例である。参考URL2で公開されている方法では、仮想インタフェース毎にインタフェースマッピング手段の設定ファイルを用意する必要があり、図9の例では、仮想インタフェースVIF-A0の設定ファイルと、VIF-A1の設定ファイルと、合計で2つの設定ファイルが記載されている。この方法では、HWADDR行で指定された仮想MACアドレスを持つ仮想NICに、DEVICE行で指定された仮想NIC名が割り当てられる。
図10は、VMパラメータ生成処理部443が作成する仮想マシンの起動パラメータの一例である。起動パラメータは、通知先の仮想化制御プログラム451に依存する。そのため、図10に示す起動パラメータは一例を示すものであり、起動パラメータは、ここに記載の内容に限定されない。
図10に示す仮想マシン起動パラメータ150において、点線の枠を用いて囲む部分が、仮想ノードに定義された仮想NIC定義151及び仮想NIC定義152である。ここに示す例において、仮想MACアドレスは、「nic.macaddr」を用いて指定されている。例えば、仮想NIC定義151では、「nic.macaddr=db:20:98:81:be:4b」と設定されている。その他の起動パラメータは、上述したとおり仮想化制御プログラム451に依存するため、ここでは、その詳細な説明を省略する。
図11は、VM割当て結果応答処理部444がドメイン管理装置11に返却する仮想ネットワーク2の割当て結果の一例を示す図である。
図11に示す仮想ネットワーク割り当て結果144において、点線を用いて囲む部分が、仮想ノードNode-Aの割当て結果(仮想ノード情報145)である。図11に示す割り当て結果は、ドメイン管理装置11に応答するために必要な情報を備えていればよい。そのため、図11では、一般的な割当て結果を示しており、ここでは、その他の情報についての詳細な説明を省略する。
図12は、図11の点線を用いて囲んだ部分、つまり、仮想ノードの割当て結果の一例(仮想ノード情報145)である。図12の結果と図17に示した結果とを比較すると、図12に示す割当て結果では、図17の仮想インタフェース情報142及び仮想インタフェース情報143に相当する仮想インタフェースの情報を含んでいない。
このような動作に基づき、物理ノード21は、仮想ノードへの仮想マシンに対して、物理リソースの割当てを処理する。また、このような動作に基づき、物理ノード21を含む本実施の形態に係るネットワーク仮想化システム1は、仮想ネットワーク2又は仮想ネットワーク3に対して、物理ネットワークのリソースの割り当てることができる。なお、本実施の形態では詳細な説明を省略したが、ドメイン管理装置11は、物理ノード21乃至物理ノード26に対して、仮想リンクについても同様に指示を行い、リソースを確保する。
最後に、Guest OSプログラム461の動作について説明する。
Guest OSプログラム461は、仮想化制御プログラム451からの指示に基づき仮想マシンが起動されると起動動作を開始し、仮想ディスク471に保持されたGuest OSプログラム461の設定ファイルを読み出し、Guest OSプログラム461の動作モードなどの設定を行う。
Guest OSプログラム461がインタフェースマッピング手段を提供している場合には、Guest OSプログラムの起動処理の中でインタフェースマッピング手段が呼び出され、仮想ディスク471に保持されたインタフェースマッピング手段の設定ファイルに基づき、仮想マシンの仮想NICのNIC名の設定が行われる。
仮想ディスク操作処理部445は、Guest OSプログラム461のインタフェースマッピング手段の設定ファイルに、仮想マシン上での仮想NICのNIC名についてのルールを書き込んでいる。すなわち、インタフェースマッピング手段の設定ファイルには、仮想インタフェース識別子を、仮想NICのNIC名として割り当てる、というルールが書き込まれている。仮想インタフェース識別子は仮想ノード定義を用いて定義され、その仮想インタフェース識別子に対応する仮想マシン上での仮想MACアドレスが存在するならば、その仮想MACアドレスを持つ仮想マシン上の仮想NICについて、仮想インタフェース識別子を仮想NICのNIC名として割り当てる。
このため、Guest OSプログラム461の起動が完了すると、仮想インタフェースに対応する仮想NICのNIC名が、仮想インタフェース識別子となる。
従って、仮想ノードに対して割り当てられた仮想マシン上のプログラムである、Guest OSプログラム461及びGuest OSプログラム461上で動作するアプリケーションプログラムでは、仮想ネットワーク割り当て結果を参照することなく、仮想ノード定義で定義された仮想インタフェース識別子を用いて、仮想インタフェースに対応する仮想NICと特定することが可能となる。
(第1の実施例)
次に、図13及び図14を参照して、本実施の形態に係る第1の実施例について説明する。なお、第1の実施例に係るネットワーク仮想化システム1の構成及び動作は、第1の実施の形態に係る構成及び動作と同等である。そのため、以下では、第1の実施の形態と同等の構成及び動作についての詳細な説明は適宜省略し、第1の実施例に特有の構成及び動作を中心に説明する。
まず、本実施例の前提について整理する。
本実施例では、仮想ネットワークの定義は、図16に示した定義とする。仮想ノードの定義は、図16に例示した3つの定義のうち、上の仮想ノードの定義(Node-A)とする。仮想ネットワークの定義は、図16に例示した定義とする。
対象の物理ノードは、図3に示した物理ノード21とする。つまり、ドメイン管理装置11が、図16に示した仮想ネットワークの定義を基に、物理ノード21を用いて「Node-A」のリソースを確保すると決定し、図13に示した仮想ノードの定義を物理ノード21に渡すものとする。なお、図13に示した「Node-A」は、2つの仮想IF(VIF-A0又はVIF-A1)が指定されている。
また、仮想マシンを起動するための起動パラメータは、図10に示したリストを使用する。なお、仮想ネットワークの割当て結果は、図12に示す値とする。また、本実施例の説明では、仮想ネットワークのリソースは確保できたものとする。
また、仮想マシン上で起動されるGuest OSは、インタフェースマッピング手段を提供しているものとする。提供されるインタフェースマッピング手段として、参考URL1に公開されている方法を使用するものとする。また、仮想マシンに対応する仮想ディスクのデータ構造は仮想ディスク操作処理部445が解釈可能であり、仮想ディスク操作処理部445は前記仮想ディスクをオープンできるものとする。
次に、本実施例に係るネットワーク仮想化システム1の動作を説明する。
ドメイン管理装置11は、設定端末31から仮想ネットワーク2の設定(図16)を要求された場合、依頼された仮想化ネットワークの定義13を確認し、仮想ノードと仮想リンクのリソースを、物理ノード21を用いて確保すると決定する。ドメイン管理装置11は、リソースを確保するために、仮想ノードの定義(図13)を物理ノード21に送信する。
物理ノード21のノード管理プログラム440は、物理NIC41を介して仮想ノードの定義(図13)を受け取り、リソースを確保し、物理NIC41を介して仮想ネットワークの割当て結果(図11)をドメイン管理装置11に返却する。以下、ノード管理プログラム440の各部の動作についてより詳細に説明する。
仮想ノード定義解釈処理部441は、物理NIC41を介して受け取った仮想ノードの定義を、ノード管理プログラム440が使用する内部表現に変換し、変換した仮想ノードの定義をリソース割当て処理部442に渡す。
リソース割当て処理部442は、受け取った仮想ノードの定義を基に物理ノード21の物理リソースを割り当て、確保できた物理リソースの量を、VMパラメータ生成処理部443に渡す。
VMパラメータ生成処理部443は、仮想ノード定義で定義された仮想インタフェースについて、その仮想インタフェースに対応して割り当てる仮想マシンの仮想NICのMACアドレスの決定と、仮想マシンの起動のための起動パラメータの生成を行う。この結果、生成された仮想MACアドレス対応表は、図6に示したものになったとする。VMパラメータ生成処理部443は、VM起動パラメータと仮想MACアドレス対応表を仮想ディスク操作処理部445に渡した後、仮想ノード割り当て結果を割り当て結果応答部444に通知する。
VM割当て結果応答処理部444は、物理NIC41を介して、仮想ネットワーク割当て結果(図12)をドメイン管理装置11に返却する。ドメイン管理装置11は、仮想ネットワーク割当て結果(図11)を物理ノード21から受け取る。
ドメイン管理装置11は、依頼された全ての仮想ネットワークに関してリソースを同様に確保する。ドメイン管理装置11は、設定端末31から依頼された全ての仮想化ネットワークの設定が完了すると、仮想ネットワーク割当て結果を設定端末31に通知する。
物理ノード21では、ノード管理部プログラム440からドメイン管理装置11に対する仮想ノード割り当て結果の通知と並行して、次の動作が行われる。
仮想ディスク操作処理部445が、VM起動パラメータと仮想MACアドレス対応表をVMパラメータ生成処理部443から渡された場合の動作を、上述した図7を参照して説明する。なお、図7において、起動する仮想マシンに対応する仮想ディスク471は、仮想ディスク操作処理部445がオープンできる形式であり、S1203でYesとなるため、S1204へと進む。
Guest OSプログラム461がインタフェースマッピング手段を提供している場合には、例えば、仮想ディスク471に保持されているGuest OS特有のファイル内に格納されているGuest OSのバージョン番号を検査することで、仮想ディスク内のOSがインタフェースマッピング手段を持つと判定することができる(S1204でYes)。
S1205では、図6に示した仮想MACアドレス対応表からインタフェースマッピングルールを作成し、作成したインタフェースマッピングルールを、仮想ディスク471内のインタフェースマッピング手段の設定ファイルに書き込む。その結果、設定ファイルは、図8に示した内容となる。
続けて、仮想ディスク操作処理部445は、仮想ディスク471をクローズした後、図10に示したVM起動パラメータを仮想化制御プログラム451に渡して、仮想マシンの起動指示を行う。
仮想化制御プログラム451は、図10に示した起動パラメータに基づいて、仮想マシンを起動する。仮想マシン上では、Guest OSプログラム461の実行が開始される。
Guest OSプログラム461が動作している仮想マシンは、図10に例示した起動パラメータとともに起動される。そのため、仮想マシンは2つの仮想NICを持ち、これらの仮想NICのMACアドレスは、"db:20:98:81:be:4b"と"db:20:98:cd:09:1a"になる。
インタフェースマッピング手段の設定ファイルは図8に例示したものとなっている。そのため、インタフェースマッピング手段は、MACアドレスが"db:20:98:81:be:4b"である仮想NICに対して"VIF-A0"というNIC名を割り当て、MACアドレスが"db:20:98:cd:09:1a"である仮想NICに対して"VIF-A1"というNIC名を割り当てる。つまり、Guest OSプログラム461が動作する仮想マシンの仮想NICは、図14に示した通りとなる。
上述した動作を行うことで、Guest OSプログラム461が動作する仮想マシンの仮想NIC"VIF-A0"、"VIF-A1"が、仮想ノード定義で定義された仮想インタフェースVIF-A0、VIF-A1にそれぞれ対応することが保証される。
このため、仮想ノードに対して割り当てられた仮想マシン上のプログラムである、Guest OSプログラム461及びGuest OSプログラム461上で動作するアプリケーションプログラムは、仮想ノード定義で定義された仮想インタフェース識別子VIF-A0、VIF-A1を用いることで、仮想ネットワーク割り当て結果を参照することなく、仮想インタフェースに対応する仮想NICを特定することが可能となる。
なお、Guest OSプログラム462の動作についても差異はなく、Guest OSプログラム462もGuest OSプログラム461と同様に動作する。
このようにして、第1の実施例に係るネットワーク仮想化システム1についても、第1の実施の形態と同様の効果を得ることが出来る。
なお、リソース割り当て時の仮想マシン作成において、仮想マシンの各NIC(仮想NIC)に割り当てるMACアドレスの全体または一部を、仮想ネットワーク定義を用いて指定されたノードのポート名(インタフェース名)に基づいて決定し、仮想マシン内で仮想インタフェース名と仮想NICに割り当てられたMACアドレスの対応関係の判定を行うことにより、仮想インタフェースの識別を行うことが考えられる。この場合、仮想マシン内で動作するOSなどの種別に依存せず適用可能となる。
これに対して、本発明では、仮想マシン内で動作するOSが提供する手段であって、特定MACアドレスを持つNICに対して予め定められた名前を付与する手段(インタフェースマッピング手段)の設定ファイルを、ホストOS側で仮想マシンの起動前に、仮想マシン内で認識される仮想NICの名前を「仮想ネットワーク定義に書かれた仮想インタフェース名」に設定することで、仮想インタフェースの識別を可能とする。これにより、仮想マシン内で動作するOSには依存するが、仮想マシン内での判定ロジックは一切不要となる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
この出願は、2010年12月28日に出願された日本出願特願2010−291500を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1:ネットワーク仮想化システム
2、3:仮想ネットワーク
4:ネットワークシステム
11:ドメイン管理装置
13:仮想ネットワーク定義
131〜133:仮想ノード定義
14:仮想ネットワーク割り当て結果
140:仮想ノード情報
141:仮想ノード識別子
142、143:仮想インタフェース情報
144:仮想ネットワーク割り当て結果
145:仮想ノード情報
150:仮想マシン起動パラメータ
151、152:仮想NIC定義
21〜16:物理ノード
31:設定端末
51:物理リンク
61:設定経路
71〜73:仮想ノード
81〜83:仮想リンク
41、42:物理NIC
43:演算装置
44:記憶装置
440:ノード管理プログラム
441:仮想ノード定義解釈処理部
442:リソース割り当て処理部
443:VMパラメータ生成処理部
444:VM割り当て結果応答処理部
445:仮想ディスク操作処理部
451:仮想化制御プログラム
461、462:Guest OSプログラム
471、472:仮想ディスク
91:ネットワーク仮想化システム
92:物理ノード
93:物理リンク
94:ドメイン管理装置
95:仮想ネットワーク
96:仮想ノード
97:仮想リンク
98:設定端末

Claims (7)

  1. ネットワークを構成する物理ノードと、
    仮想ネットワークの仮想ノード及び仮想リンクの設定を前記物理ノードに対して指示するドメイン管理装置と、を備え、
    前記物理ノードは、
    前記ドメイン管理装置からの指示に含まれる前記仮想ノードの定義に基づき前記仮想ノードに対して仮想マシンを割り当てる場合に、
    前記仮想マシンの起動前に、前記仮想ノードの定義に含まれる情報と、前記仮想マシンに関する情報と、を対応付ける設定を、前記仮想マシン上で起動されるオペレーティングシステムの設定ファイルに書き込み、その後、前記仮想マシンを起動する
    ことを特徴とするネットワーク仮想化システム。
  2. 請求項1に記載のネットワーク仮想化システムであって、
    前記物理ノードは、
    前記仮想ノードの定義に含まれる情報として、前記仮想ノードの定義に含まれる仮想インタフェース各々に対して、前記仮想マシンの仮想NICを一つずつ対応付け、
    前記仮想マシンに関する情報として、前記仮想NICのMACアドレスに対して、前記仮想マシン内で少なくとも一意な値を割り当て、
    前記仮想マシン上で起動されるオペレーティングシステムのインタフェースマッピング手段の設定ファイルを、前記仮想マシンの仮想ディスクに保持し、
    前記仮想マシンの起動前に、前記仮想ノードの定義に含まれる前記仮想インタフェースと、前記仮想マシンの前記仮想NICに割り当てたMACアドレスと、を対応付けるルールを、前記インタフェースマッピング手段の設定ファイルに書き込み、その後、前記仮想マシンを起動する
    ことを特徴とするネットワーク仮想化システム。
  3. 請求項2に記載のネットワーク仮想化システムであって、
    前記物理ノードは、
    前記仮想ノードの定義に含まれる前記仮想インタフェースの識別子を、前記仮想マシンの前記仮想NICに割り当てたMACアドレスを持つ仮想NICのNIC名として割り当てるルールを、前記インタフェースマッピング手段の設定ファイルに書き込む
    ことを特徴とするネットワーク仮想化システム。
  4. 請求項2又は3に記載のネットワーク仮想化システムであって、
    前記物理ノードは、
    前記インタフェースマッピング手段の設定ファイルへの書き込みを行う場合に、
    前記仮想マシンの仮想ディスク内のファイルとして、前記仮想マシン上で起動されるオペレーティングシステムに固有のファイルが存在するか、又は、前記インタフェースマッピング手段の実行ファイルが存在するかどうかの確認を行い、存在した場合にのみ、前記インタフェースマッピング手段の設定ファイルへの書き込みを行う
    ことを特徴とするネットワーク仮想化システム。
  5. 仮想ノード割り当て要求を受信し、当該割り当て要求された仮想ノードの定義を解釈する仮想ノード定義解釈手段と、
    前記仮想ノード定義解釈手段の結果を受け、前記仮想ノードに割り当てるリソースを確認し、仮想マシンを割り当てるリソース割り当て手段と、
    前記仮想マシンの仮想NICのMACアドレスに対して、前記仮想マシン内で少なくとも一意な値を割り当てる仮想マシンパラメータ生成処理手段と、
    前記仮想マシンの起動前に、前記仮想ノード割り当て要求に含まれる情報と、前記仮想マシンに関する情報と、を対応付ける設定を、前記仮想マシンの仮想ディスク内の、前記仮想マシン上で起動されるオペレーティングシステムの設定ファイルに書き込む仮想ディスク操作処理手段と、
    前記仮想マシンの実行制御を行う仮想マシンモニタ手段と、
    を備える物理ノード。
  6. 請求項5に記載の物理ノードであって、
    前記仮想ノード定義解釈手段は、
    仮想ノードが保持する仮想インタフェースの定義を含む、仮想ノード割り当て要求を受信し、当該割り当て要求された仮想ノードの定義を解釈し、
    前記リソース割り当て手段は、
    前記仮想ノード定義解釈手段の結果を受け、前記仮想ノードに割り当てるリソースを確認し、仮想マシンを割り当て、
    前記仮想マシンパラメータ生成処理手段は、
    前記仮想ノード割り当て要求に含まれる前記仮想インタフェース各々に対して、前記仮想マシンの仮想NICを一つずつ対応付け、前記仮想NICのMACアドレスに対して、前記仮想マシン内で少なくとも一意な値を割り当て、
    前記仮想ディスク操作処理手段は、
    前記仮想マシンの起動前に、前記仮想ノード割り当て要求に含まれる前記仮想インタフェースと、前記仮想マシンの前記仮想NICに割り当てたMACアドレスと、を対応付けるルールを、前記仮想マシンの仮想ディスク内の、前記仮想マシン上で起動されるオペレーティングシステムのインタフェースマッピング手段の設定ファイルに書き込む
    仮想マシンモニタ手段は、
    前記仮想マシンの実行制御を行う
    ことを特徴とする物理ノード。
  7. ネットワークを構成する物理ノードが、仮想ノードが保持する仮想インタフェースの定義を含む、仮想ノード割り当て要求を受信し、当該割り当て要求された仮想ノードの定義を解釈し、
    前記物理ノードが、前記仮想ノード定義解釈手段の結果を受け、前記仮想ノードに割り当てるリソースを確認し、仮想マシンを割り当て、
    前記物理ノードが、前記仮想ノード割り当て要求に含まれる前記仮想インタフェース各々に対して、前記仮想マシンの仮想NICを一つずつ対応付け、前記仮想NICのMACアドレスに対して、前記仮想マシン内で少なくとも一意な値を割り当て、
    前記物理ノードが、前記仮想マシンの起動前に、前記仮想ノード割り当て要求に含まれる前記仮想インタフェースと、前記仮想マシンの前記仮想NICに割り当てたMACアドレスと、を対応付けるルールを、前記仮想マシンの仮想ディスク内の、前記仮想マシン上で起動されるオペレーティングシステムのインタフェースマッピング手段の設定ファイルに書き込む
    ことを特徴とする仮想マシンにおける仮想インタフェース識別方法。
JP2013529242A 2010-12-28 2011-10-04 ネットワーク仮想化システム、物理ノード及び仮想マシンにおける仮想インタフェース識別方法 Active JP5888331B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013529242A JP5888331B2 (ja) 2010-12-28 2011-10-04 ネットワーク仮想化システム、物理ノード及び仮想マシンにおける仮想インタフェース識別方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010291500 2010-12-28
JP2010291500 2010-12-28
PCT/JP2011/073452 WO2012090573A1 (en) 2010-12-28 2011-10-04 Network virtualization system, physical node, and virtual interface identification method in virtual machine
JP2013529242A JP5888331B2 (ja) 2010-12-28 2011-10-04 ネットワーク仮想化システム、物理ノード及び仮想マシンにおける仮想インタフェース識別方法

Publications (2)

Publication Number Publication Date
JP2014501458A true JP2014501458A (ja) 2014-01-20
JP5888331B2 JP5888331B2 (ja) 2016-03-22

Family

ID=46382696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013529242A Active JP5888331B2 (ja) 2010-12-28 2011-10-04 ネットワーク仮想化システム、物理ノード及び仮想マシンにおける仮想インタフェース識別方法

Country Status (3)

Country Link
US (1) US9489224B2 (ja)
JP (1) JP5888331B2 (ja)
WO (1) WO2012090573A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160095922A (ko) * 2015-02-04 2016-08-12 한국전자통신연구원 가상 머신 모니터 장치, 가상화 장치 및 방법

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489224B2 (en) * 2010-12-28 2016-11-08 Nec Corporation Network virtualization system, physical node, and virtual interface identification method in virtual machine
US10277553B2 (en) * 2011-04-15 2019-04-30 Unify Gmbh & Co. Kg Method for generating addresses in a computer network
CN103051550B (zh) * 2013-01-11 2015-06-17 浙江工商大学 基于业务合并的虚拟网络映射方法
US9672059B2 (en) * 2013-02-21 2017-06-06 Nec Corporation Virtualization system
US9430259B2 (en) 2013-03-15 2016-08-30 Centurylink Intellectual Property Llc Virtualization congestion control framework for modifying execution of applications on virtual machine based on mass congestion indicator in host computing system
US9141416B2 (en) 2013-03-15 2015-09-22 Centurylink Intellectual Property Llc Virtualization congestion control framework for modifying execution of applications on virtual machine based on mass congestion indicator in host computing system
EP2997470A4 (en) * 2013-05-13 2017-01-18 Telefonaktiebolaget LM Ericsson (publ) Node in a telecommunications network, a virtual network element and methods for retrieving resource identification information
US10389577B2 (en) 2013-08-14 2019-08-20 Centurylink Intellectual Property Llc Ethernet carrier group alarm (CGA)
CN103473136B (zh) * 2013-09-02 2017-06-13 华为技术有限公司 一种虚拟机的资源配置方法和通信设备
US9864623B2 (en) * 2013-11-21 2018-01-09 Centurylink Intellectual Property Llc Physical to virtual network transport function abstraction
US10164892B2 (en) * 2013-12-31 2018-12-25 Red Hat Israel, Ltd. Overhead management for virtual machines
US9379940B2 (en) * 2014-02-25 2016-06-28 Red Hat Israel, Ltd. Virtual device profile to configure virtual network interface cards
US9948493B2 (en) 2014-04-03 2018-04-17 Centurylink Intellectual Property Llc Network functions virtualization interconnection gateway
US10616377B2 (en) 2014-04-03 2020-04-07 Centurylink Intellectual Property Llc System and method for implementing network enhanced gateway functionality
US10225327B2 (en) 2014-08-13 2019-03-05 Centurylink Intellectual Property Llc Remoting application servers
US9898318B2 (en) 2014-08-15 2018-02-20 Centurylink Intellectual Property Llc Multi-line/multi-state virtualized OAM transponder
KR20170134556A (ko) * 2015-03-31 2017-12-06 닛본 덴끼 가부시끼가이샤 제어기, 제어 방법 및 프로그램
TW201701621A (zh) * 2015-03-31 2017-01-01 日本電氣股份有限公司 控制裝置、控制方法及程式
US10481938B2 (en) 2015-05-06 2019-11-19 Centurylink Intellectual Property Llc System and method for implementing network experience shifting
US10673978B2 (en) 2015-05-06 2020-06-02 Centurylink Intellectual Property Llc Method and system for implementing network experience shifting using shared objects
US9882833B2 (en) 2015-09-28 2018-01-30 Centurylink Intellectual Property Llc Intent-based services orchestration
US10078528B2 (en) 2015-10-06 2018-09-18 Centurylink Intellectual Property Llc Virtual machine-to-port peripheral device driver for implementing communications between virtual machines and client devices
US10367688B2 (en) 2016-08-17 2019-07-30 Red Hat Israel, Ltd. Discovering changes of network interface controller names
WO2018196565A1 (zh) * 2017-04-28 2018-11-01 苏州欧普照明有限公司 一种无线网络系统的配置方法、配置终端以及配置系统
US10606661B2 (en) * 2017-12-15 2020-03-31 Rubrik, Inc. On-demand provisioning of customized developer environments
CN110545308A (zh) * 2019-08-05 2019-12-06 无锡华云数据技术服务有限公司 服务器连接方法、资源下载方法、装置、电子设备及介质
US11133999B1 (en) 2019-10-04 2021-09-28 Rapid7, Inc. Network sensor deployment for deep packet inspection
US10986036B1 (en) 2019-11-01 2021-04-20 Hon Lin Technology Co., Ltd. Method and apparatus for orchestrating resources in multi-access edge computing (MEC) network
JP7338481B2 (ja) * 2020-01-14 2023-09-05 富士通株式会社 設定変更方法および設定変更プログラム
US11979292B1 (en) 2022-12-14 2024-05-07 Ca, Inc. Virtual network interface management for network functions using network definitions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005064464A2 (en) * 2003-12-18 2005-07-14 Intel Corporation Virtual network interface
US20090327462A1 (en) * 2008-06-27 2009-12-31 International Business Machines Corporation Method, system and program product for managing assignment of mac addresses in a virtual machine environment
JP2010147929A (ja) * 2008-12-19 2010-07-01 Fujitsu Ltd アドレス割当方法、コンピュータ、及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9020801B2 (en) * 2003-08-11 2015-04-28 Scalemp Inc. Cluster-based operating system-agnostic virtual computing system
JP2005197826A (ja) * 2003-12-26 2005-07-21 Fujitsu Ltd ネットワーク上の複数ノードの一元管理装置
US8621458B2 (en) * 2004-12-21 2013-12-31 Microsoft Corporation Systems and methods for exposing processor topology for virtual machines
US8924524B2 (en) * 2009-07-27 2014-12-30 Vmware, Inc. Automated network configuration of virtual machines in a virtual lab data environment
US8108855B2 (en) * 2007-01-02 2012-01-31 International Business Machines Corporation Method and apparatus for deploying a set of virtual software resource templates to a set of nodes
US9262366B2 (en) * 2007-09-21 2016-02-16 Microsoft Technology Licensing, Llc Software deployment in large-scale networked systems
JP4488077B2 (ja) * 2008-02-29 2010-06-23 日本電気株式会社 仮想化システム、仮想化方法、及び仮想化用プログラム
JP2009265894A (ja) * 2008-04-24 2009-11-12 Ntt Docomo Inc ノード装置及びプログラム並びに方法
JP4703689B2 (ja) 2008-06-12 2011-06-15 株式会社東芝 ネットワーク仮想化システムおよびプログラム
FR2948248B1 (fr) * 2009-07-16 2011-08-19 Univ Paris Curie Procede et systeme pour deployer a la volee et sur demande au moins un reseau virtuel.
WO2011127488A2 (en) * 2010-04-08 2011-10-13 Lynux Works, Inc. Systems and methods of processing data associated with detection and/or handling of malware
US8656387B2 (en) * 2010-06-17 2014-02-18 Gridcentric Inc. Method and system for workload distributing and processing across a network of replicated virtual machines
US9489224B2 (en) * 2010-12-28 2016-11-08 Nec Corporation Network virtualization system, physical node, and virtual interface identification method in virtual machine
US9081598B2 (en) * 2012-11-30 2015-07-14 Telefonaktiebolaget L M Ericsson (Publ) Ensuring hardware redundancy in a virtualized environment
CN104424013B (zh) * 2013-08-26 2018-03-09 国际商业机器公司 在计算环境中部署虚拟机的方法和设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005064464A2 (en) * 2003-12-18 2005-07-14 Intel Corporation Virtual network interface
US20090327462A1 (en) * 2008-06-27 2009-12-31 International Business Machines Corporation Method, system and program product for managing assignment of mac addresses in a virtual machine environment
JP2010147929A (ja) * 2008-12-19 2010-07-01 Fujitsu Ltd アドレス割当方法、コンピュータ、及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160095922A (ko) * 2015-02-04 2016-08-12 한국전자통신연구원 가상 머신 모니터 장치, 가상화 장치 및 방법
KR101940493B1 (ko) 2015-02-04 2019-01-21 한국전자통신연구원 가상 머신 모니터 장치, 가상화 장치 및 방법

Also Published As

Publication number Publication date
JP5888331B2 (ja) 2016-03-22
WO2012090573A1 (en) 2012-07-05
US9489224B2 (en) 2016-11-08
US20140123140A1 (en) 2014-05-01

Similar Documents

Publication Publication Date Title
JP5888331B2 (ja) ネットワーク仮想化システム、物理ノード及び仮想マシンにおける仮想インタフェース識別方法
JP4995015B2 (ja) 仮想計算機の実行可否検査方法
EP3761170B1 (en) Virtual machine creation method and apparatus
JP6005706B2 (ja) 異種移動環境用の仮想マシンモーフィング
US7979869B2 (en) Method and system for performing I/O operations using a hypervisor
JP5305848B2 (ja) データ処理システム内で入出力(i/o)仮想化を管理するための方法およびデータ処理システムならびにコンピュータ・プログラム
US11301279B2 (en) Associating virtual IP address of virtual server with appropriate operating system in server cluster
US20150026681A1 (en) Virtual Switching Method, Related Apparatus, and Computer System
US20100100611A1 (en) Computer system and configuration management method therefor
EP2541403B1 (en) Methods and systems for executing software applications using hardware abstraction
EP2859443B1 (en) Virtual machine image write leasing
JP2015204614A (ja) オブジェクト指向のネットワーク仮想化
WO2011094301A1 (en) Method and system for abstracting non-functional requirements based deployment of virtual machines
JP2010102414A (ja) 仮想システム制御プログラム、方法及び装置
US10761859B2 (en) Information processing system, management device, and method for controlling information processing system
US20190258503A1 (en) Method for operating virtual machines on a virtualization platform and corresponding virtualization platform
JP7056759B2 (ja) Ict資源管理装置、ict資源管理方法、および、ict資源管理プログラム
US20140359114A1 (en) Computer-readable recording medium, usage mode data generation method, and usage mode data generation device
CN107807840B (zh) 一种应用于虚拟机网络的设备直通方法以及装置
JP5609527B2 (ja) ネットワーク仮想化システム、ノード、ネットワーク仮想化方法、及び、ネットワーク仮想化プログラム
CN107005429A (zh) 资源预留的方法及vnfm、vim、nfvo
JP2011221634A (ja) 計算機システム、論理区画管理方法及び論理分割処理プログラム
US11698821B2 (en) Composable information handling systems in an open network using access control managers
KR102066792B1 (ko) 컨테이너 오케스트레이션을 위해 TOSCA를 Docker Swarm로 변환하는 동작을 수행하는 단말 장치 및 방법과, 이를 수행하는 기록 매체
US20220365803A1 (en) Assignment control device, assignment control method, and assignment control program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151218

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160201

R150 Certificate of patent or registration of utility model

Ref document number: 5888331

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150