JP5907179B2 - 仮想マシン制御プログラム、仮想マシン制御方法および情報処理装置 - Google Patents
仮想マシン制御プログラム、仮想マシン制御方法および情報処理装置 Download PDFInfo
- Publication number
- JP5907179B2 JP5907179B2 JP2013556171A JP2013556171A JP5907179B2 JP 5907179 B2 JP5907179 B2 JP 5907179B2 JP 2013556171 A JP2013556171 A JP 2013556171A JP 2013556171 A JP2013556171 A JP 2013556171A JP 5907179 B2 JP5907179 B2 JP 5907179B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- virtual machine
- guest
- bridge
- information
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Description
図3は、実施例2に係る情報処理装置の構成を示す機能ブロック図である。図3に示すように、情報処理装置20は、仮想領域21と制御部30とを有する。なお、ここで示した機能部はあくまで例示であり、図示した機能部以外として、例えばメモリなどの記憶部や入出力インタフェース、通信インタフェースなどを有していてもよい。
次に、情報処理装置20が実行する処理の流れを説明する。ここでは、初期化処理とパケット中継処理について説明する。
図7は、実施例2に係る情報処理装置20が実行する初期化処理の流れを示すシーケンス図である。図7に示すように、オペレータや管理者等によってゲストOSが仮想領域21に作成される、または、ゲストOSが使用するNIC(ネットワークインタフェースカード)デバイスが追加されると(S101とS102)、管理OSはS103とS104を実行する。すなわち、管理OSは、ゲストOSの作成指示やNICの追加指示をハイパーバイザ31に出力する。
図8は、実施例2に係る情報処理装置20が実行する中継処理の流れを示すシーケンス図である。図8に示すように、ゲストOS(A)24は、ゲストOS(B)25への通信要求が発生すると(S201)、ハイパーバイザ31に対して、通信要求が発生したことを通知する(S202)。つまり、ゲストOS(A)24の仮想インタフェースである「eth0」が、自身と接続される管理OS(A)22のネットバック「vif1.0」にパケットが到着したことをハイパーバイザ31に通知する。
図9は、実施例3に係る情報処理装置20の全体構成例を示す図である。図9に示すように、実施例3に係る情報処理装置20は、実施例2に係る情報処理装置と同様の構成を有する。なお、ここでは、図3に示した実施例2に係る情報処理装置20の一部を抜粋して図示している。また、実施例3に係る情報処理装置10は、実施例2と同様のテーブルを保持するとする。そして、実施例1や実施例2等と異なる点は、ゲストID管理テーブル33にバッファキューの先頭アドレスが格納されている点である。図10は、実施例3に係るゲストID管理テーブル33に記憶される情報の例を示す図である。
次に、実施例3に係る情報処理装置20が実行する処理の流れを説明する。ここでは、初期化処理とパケット中継処理について説明する。
図11は、実施例3に係る情報処理装置20が実行する初期化処理の流れを示すシーケンス図である。図11に示すように、S301からS308までの処理は、図7で説明したS101からS108までの処理と同様なので、ここでは詳細な説明を省略する。
図12は、実施例3に係る情報処理装置20が実行する中継処理の流れを示すシーケンス図である。図13に示すように、ゲストOS(A)24は、ゲストOS(B)25への通信要求が発生すると(S401)、ハイパーバイザ31に対して、通信要求が発生したことを通知する(S402)。つまり、ゲストOS(A)24の仮想インタフェースである「eth0」が、自身と接続される管理OS(A)22のネットバック「vif1.0」にパケットが到着したことをハイパーバイザ31に通知する。
例えば、開示する情報処理装置は、管理OSに代ってブリッジハンドラを実行する場合と、管理OSにブリッジハンドラの実行を依頼する場合とを併用することができる。例えば、開示する情報処理装置のハイパーバイザ31は、図8のS206において、ブリッジデバイスアドレスが一致しない場合には、従来技術と同様、管理OSにパケット中継を依頼するようにしてもよい。つまり、開示する情報処理装置のハイパーバイザ31は、送信元のゲストOSと接続されるネットバックと、宛先のゲストOSと接続されるネットバックとがブリッジ接続されていない場合に、管理OSにパケット中継を依頼する。
また、開示する情報処理装置は、異なるプロセッサへの通信の場合には、割込みハンドラから、登録されたハンドラを呼び出すこともできる。例えば、情報処理装置20は、割込みの宛先となるゲストOSを識別するゲストID、ゲストOSのMACアドレス、ゲストOSを実行するプロセッサを識別する識別子を対応付けて記憶する割込みターゲットレジスタを保持する。また、情報処理装置20は、ハンドラ管理テーブル34に、ゲストID等に対応付けて割込みハンドラの先頭アドレスを記憶する。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
11 管理OS
12 ゲストOS(A)
13 ゲストOS(B)
14 仮想制御部
14a 記憶部
14b 特定部
14c 中継部
20 情報処理装置
21 仮想領域
22 管理OS(A)
23 管理OS(B)
24 ゲストOS(A)
25 ゲストOS(B)
26 ゲストOS(C)
27 ゲストOS(D)
30 制御部
30a 処理制御部
31 ハイパーバイザ
32 MAC管理テーブル
33 ゲストID管理テーブル
34 ハンドラ管理テーブル
35 情報格納部
36 ゲスト特定部
37 ハンドラ特定部
38 実行制御部
Claims (7)
- 情報処理装置に、
前記情報処理装置上に複数の仮想マシンを稼動させ、
前記複数の仮想マシンのうち少なくとも1つの第1仮想マシンは仮想マシンの通信を実現させる機能を有し、
前記仮想マシンを識別する情報と該仮想マシンの仮想ネットワークインターフェースを識別する情報とを関連付けた第1管理テーブルと、前記第1仮想マシンを識別する情報、前記第1仮想マシンが中継する2台の仮想マシンそれぞれの仮想ネットワークインターフェースを識別する情報、および、前記第1仮想マシンが使用する仮想ブリッジに関する情報とを含む第2管理テーブルを保持し、
前記仮想マシンからの通信要求を取得したときに、前記通信要求に対応するパケットから送信元および送信先の仮想マシンを識別する情報を抽出し、前記第1管理テーブルおよび前記第2管理テーブルに基づいて、抽出した前記送信元および送信先の仮想マシンが同じ仮想ブリッジを使用するかを判断し、
同じ仮想ブリッジを使用すると判断した場合に、前記仮想ブリッジに関する情報に基づいて前記仮想ブリッジの処理を実行して前記通信要求に対応するパケットを送信先の仮想マシンに中継し、
同じ仮想ブリッジを使用しないと判断した場合に、前記送信元の仮想マシンの仮想ネットワークインターフェースを中継する第1仮想マシンにパケットの到着を通知する
処理を実行させることを特徴とする仮想マシン制御プログラム。 - 前記中継する処理は、同じ仮想ブリッジを使用すると判断した場合に、前記仮想ブリッジの処理を実行するプログラムを実行し、実行した仮想ブリッジを介して、前記パケットを送信先の仮想マシンに中継することを特徴とする請求項1に記載の仮想マシン制御プログラム。
- 前記通知する処理は、同じ仮想ブリッジを使用しないと判断した場合に、前記送信先の仮想マシンの受信対象となるパケットが格納されるバッファを呼び出すプログラムを実行し、呼び出したバッファに、前記パケットを書き込むことで、前記パケットの到着を通知することを特徴とする請求項1に記載の仮想マシン制御プログラム。
- 前記第2管理テーブルは、前記仮想ブリッジを実行するプログラムの格納先をさらに保持し、
前記判断する処理は、前記パケットから、前記送信元の仮想マシンに対応する仮想ネットワークインターフェースの識別子と、前記送信先の仮想マシンに対応する仮想ネットワークインターフェースの識別子とを抽出し、前記第2管理テーブルを参照して、各仮想マシンが使用する仮想ネットワークインターフェースの識別子に対応付けられる、前記仮想ブリッジを実行するプログラムの格納先が一致するか否かによって、前記送信元および送信先の仮想マシンが同じ仮想ブリッジを使用するかを判断することを特徴とする請求項1に記載の仮想マシン制御プログラム。 - 前記複数の仮想マシンのいずれかの仮想マシンから割込み要求が発生した場合に、前記割込み要求の発生元の仮想マシンが動作するプロセッサと前記割込み要求の実行先の仮想マシンが動作するプロセッサとが同じであるか否かを判定し、
同じでないと判定した場合に、割込みハンドラの格納先を記憶する割込み記憶部から、前記割込みハンドラの格納先を読み出し、
読み出した格納先に記憶される前記割込みハンドラを実行する処理を前記情報処理装置にさらに実行させることを特徴とする請求項1に記載の仮想マシン制御プログラム。 - 情報処理装置が、
前記情報処理装置上に複数の仮想マシンを稼動させ、
前記複数の仮想マシンのうち少なくとも1つの第1仮想マシンは仮想マシンの通信を実現させる機能を有し、
前記仮想マシンを識別する情報と該仮想マシンの仮想ネットワークインターフェースを識別する情報とを関連付けた第1管理テーブルと、前記第1仮想マシンを識別する情報、前記第1仮想マシンが中継する2台の仮想マシンそれぞれの仮想ネットワークインターフェースを識別する情報、および、前記第1仮想マシンが使用する仮想ブリッジに関する情報とを含む第2管理テーブルを保持し、
前記仮想マシンからの通信要求を取得したときに、前記通信要求に対応するパケットから送信元および送信先の仮想マシンを識別する情報を抽出し、前記第1管理テーブルおよび前記第2管理テーブルに基づいて、抽出した前記送信元および送信先の仮想マシンが同じ仮想ブリッジを使用するかを判断し、
同じ仮想ブリッジを使用すると判断した場合に、前記仮想ブリッジに関する情報に基づいて前記仮想ブリッジの処理を実行して前記通信要求に対応するパケットを送信先の仮想マシンに中継し、
同じ仮想ブリッジを使用しないと判断した場合に、前記送信元の仮想マシンの仮想ネットワークインターフェースを中継する第1仮想マシンにパケットの到着を通知する
処理を含んだことを特徴とする仮想マシン制御方法。 - 仮想マシンの通信を実現させる機能を有する第1仮想マシンを含む複数の仮想マシンを稼動させる仮想制御部を有し、
前記仮想制御部は、
前記仮想マシンを識別する情報と該仮想マシンの仮想ネットワークインターフェースを識別する情報とを関連付けた第1記憶部と、
前記第1仮想マシンを識別する情報、前記第1仮想マシンが中継する2台の仮想マシンそれぞれの仮想ネットワークインターフェースを識別する情報、および、前記第1仮想マシンが使用する仮想ブリッジに関する情報を含む第2記憶部と、
前記仮想マシンからの通信要求を取得したときに、前記通信要求に対応するパケットから送信元および送信先の仮想マシンを識別する情報を抽出し、前記第1記憶部および前記第2記憶部に基づいて、抽出した前記送信元および送信先の仮想マシンが同じ仮想ブリッジを使用するかを判断する判断部と、
前記判断部が同じ仮想ブリッジを使用すると判断した場合に、前記仮想ブリッジに関する情報に基づいて前記仮想ブリッジの処理を実行して前記通信要求に対応するパケットを送信先の仮想マシンに中継する中継部と、
前記判断部が同じ仮想ブリッジを使用しないと判断した場合に、前記送信元の仮想マシンの仮想ネットワークインターフェースを中継する第1仮想マシンにパケットの到着を通知する通知部と
を有することを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013556171A JP5907179B2 (ja) | 2012-02-03 | 2012-02-03 | 仮想マシン制御プログラム、仮想マシン制御方法および情報処理装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/052529 WO2013114620A1 (ja) | 2012-02-03 | 2012-02-03 | 仮想マシン制御プログラム、仮想マシン制御方法および情報処理装置 |
JP2013556171A JP5907179B2 (ja) | 2012-02-03 | 2012-02-03 | 仮想マシン制御プログラム、仮想マシン制御方法および情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2013114620A1 JPWO2013114620A1 (ja) | 2015-05-11 |
JP5907179B2 true JP5907179B2 (ja) | 2016-04-26 |
Family
ID=48904696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013556171A Expired - Fee Related JP5907179B2 (ja) | 2012-02-03 | 2012-02-03 | 仮想マシン制御プログラム、仮想マシン制御方法および情報処理装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9268593B2 (ja) |
EP (1) | EP2811403A4 (ja) |
JP (1) | JP5907179B2 (ja) |
WO (1) | WO2013114620A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437770B2 (en) * | 2015-01-28 | 2019-10-08 | Avago Technologies International Sales Pte. Limited | Method and apparatus for providing virtual machine information to a network interface |
US10503442B2 (en) | 2015-01-28 | 2019-12-10 | Avago Technologies International Sales Pte. Limited | Method and apparatus for registering and storing virtual machine unique information capabilities |
JP6682897B2 (ja) * | 2016-02-16 | 2020-04-15 | 富士通株式会社 | 通信設定方法、通信設定プログラム、情報処理装置および情報処理システム |
CN110023908B (zh) | 2017-03-31 | 2020-12-08 | 三菱电机株式会社 | 信息处理装置及信息处理方法 |
US10445009B2 (en) * | 2017-06-30 | 2019-10-15 | Intel Corporation | Systems and methods of controlling memory footprint |
US11194606B2 (en) * | 2018-11-28 | 2021-12-07 | Red Hat, Inc. | Managing related devices for virtual machines utilizing shared device data |
JP7401484B2 (ja) | 2021-05-28 | 2023-12-19 | Necプラットフォームズ株式会社 | 情報処理装置、情報処理装置の制御方法、及び、情報処理装置の制御プログラム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2944531B2 (ja) | 1996-09-12 | 1999-09-06 | 日本電気通信システム株式会社 | Lan間接続装置 |
US7200666B1 (en) * | 2000-07-07 | 2007-04-03 | International Business Machines Corporation | Live connection enhancement for data source interface |
US7937701B2 (en) * | 2005-06-30 | 2011-05-03 | Intel Corporation | ACPI communication between virtual machine monitor and policy virtual machine via mailbox |
JP4799118B2 (ja) | 2005-10-14 | 2011-10-26 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置、情報処理システム、通信中継装置および通信制御方法 |
JP5037016B2 (ja) | 2006-01-17 | 2012-09-26 | 株式会社リコー | ネットワークコンピューティングシステム、通信方法、画像投影装置、画像入出力装置 |
JP4358224B2 (ja) * | 2006-12-27 | 2009-11-04 | 株式会社東芝 | ゲストosスケジューリング方法及び仮想計算機モニタ |
US7984449B2 (en) * | 2007-08-15 | 2011-07-19 | International Business Machines Corporation | In-band communication with virtual machines via a hypervisor message bus |
JP2010066931A (ja) | 2008-09-09 | 2010-03-25 | Fujitsu Ltd | 負荷分散機能を有した情報処理装置 |
JP5435399B2 (ja) | 2009-10-07 | 2014-03-05 | 日本電気株式会社 | 省電力化システム、省電力化方法、及び省電力化用プログラム |
EP2509000A4 (en) * | 2009-12-04 | 2017-09-20 | Nec Corporation | Server and flow control program |
US8739177B2 (en) | 2010-06-21 | 2014-05-27 | Intel Corporation | Method for network interface sharing among multiple virtual machines |
JP5553221B2 (ja) * | 2010-06-29 | 2014-07-16 | 学校法人近畿大学 | ネットワーク構築演習装置及びその制御方法並びにプログラム及び記録媒体 |
JP5737050B2 (ja) | 2011-08-15 | 2015-06-17 | 富士通株式会社 | 情報処理装置、割込み制御方法および割込み制御プログラム |
US9092274B2 (en) * | 2011-12-07 | 2015-07-28 | International Business Machines Corporation | Acceleration for virtual bridged hosts |
-
2012
- 2012-02-03 EP EP12867375.3A patent/EP2811403A4/en not_active Withdrawn
- 2012-02-03 JP JP2013556171A patent/JP5907179B2/ja not_active Expired - Fee Related
- 2012-02-03 WO PCT/JP2012/052529 patent/WO2013114620A1/ja active Application Filing
-
2014
- 2014-07-30 US US14/446,927 patent/US9268593B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US9268593B2 (en) | 2016-02-23 |
EP2811403A1 (en) | 2014-12-10 |
EP2811403A4 (en) | 2015-10-07 |
US20140344811A1 (en) | 2014-11-20 |
JPWO2013114620A1 (ja) | 2015-05-11 |
WO2013114620A1 (ja) | 2013-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5907179B2 (ja) | 仮想マシン制御プログラム、仮想マシン制御方法および情報処理装置 | |
JP5737050B2 (ja) | 情報処理装置、割込み制御方法および割込み制御プログラム | |
JP6328134B2 (ja) | クラスタ化されたコンピュータ・システムで通信チャネルのフェイルオーバを実行する方法、装置、およびプログラム | |
JP5989862B2 (ja) | セキュアなバーチャルマシン間の共有メモリ通信のためのコンピューティング装置、方法及び機械可読記憶媒体 | |
JP6185045B2 (ja) | インフィニバンドネットワークにおけるバーチャルマシーンのライブマイグレーションをサポートするためのシステムおよび方法 | |
US9397954B2 (en) | System and method for supporting live migration of virtual machines in an infiniband network | |
WO2017024783A1 (zh) | 一种虚拟化方法、装置和系统 | |
WO2018041075A9 (zh) | 一种应用于计算机的资源访问方法和计算机 | |
US20190146827A1 (en) | Virtualized network function resource management method and device | |
KR20090095634A (ko) | 가상화된 환경에서의 최적화된 인터럽트 전달 | |
US11086703B2 (en) | Distributed input/output virtualization | |
Kim et al. | Secure device access for automotive software | |
EP2785018A2 (en) | Information processing device, transmission control method, and transmission control program | |
US9612877B1 (en) | High performance computing in a virtualized environment | |
EP1964019A2 (en) | Method, apparatus and system for performing access control and intrusion detection on encrypted data | |
JP2015170887A (ja) | パケット処理方法及びシステム | |
US11036645B2 (en) | Secure userspace networking for guests | |
CN114172695A (zh) | 串行防火墙报文转发方法、装置、设备及存储介质 | |
US11301282B2 (en) | Information protection method and apparatus | |
CN114978589B (zh) | 一种轻量级云操作系统及其构建方法 | |
JP5617761B2 (ja) | 計算機システム、計算機、及び計算機システムの割込み処理方法 | |
EP3255544B1 (en) | Interrupt controller | |
KR20200125633A (ko) | 외부 예외 핸들링 | |
Banga | Virtual Interrupt Handling to Reduce CPU Overhead in I/O Virtualization | |
JP2012118996A (ja) | 仮想計算機の制御プログラム、計算機システム、および仮想計算機の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151201 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160129 |
|
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: 20160223 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160307 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5907179 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |