JP2014195178A - 情報処理装置、送信制御方法および送信制御プログラム - Google Patents

情報処理装置、送信制御方法および送信制御プログラム Download PDF

Info

Publication number
JP2014195178A
JP2014195178A JP2013070681A JP2013070681A JP2014195178A JP 2014195178 A JP2014195178 A JP 2014195178A JP 2013070681 A JP2013070681 A JP 2013070681A JP 2013070681 A JP2013070681 A JP 2013070681A JP 2014195178 A JP2014195178 A JP 2014195178A
Authority
JP
Japan
Prior art keywords
virtual
packet
destination
storage unit
stored
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.)
Pending
Application number
JP2013070681A
Other languages
English (en)
Inventor
Kazuhiro Suzuki
和宏 鈴木
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 JP2013070681A priority Critical patent/JP2014195178A/ja
Priority to EP14156124.1A priority patent/EP2785018A3/en
Priority to US14/187,391 priority patent/US20140298330A1/en
Publication of JP2014195178A publication Critical patent/JP2014195178A/ja
Pending legal-status Critical Current

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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network 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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】仮想マシン間の通信性能を改善することを課題とする。
【解決手段】物理サーバは、稼動する仮想マシンのアドレス情報を記憶する記憶部を有する。物理サーバは、仮想マシンからパケットが送信された場合に、パケットの宛先が記憶部に記憶されているか否かを判定する。物理サーバは、宛先が記憶部に記憶されていると判定された場合に、仮想スイッチと接続される仮想デバイスを利用して、パケットを宛先に送信する。物理サーバは、宛先が記憶部に記憶されていないと判定された場合に、パススルーデバイスを利用して、パケットを宛先に送信する。
【選択図】図2

Description

本発明は、情報処理装置、送信制御方法および送信制御プログラムに関する。
情報処理装置などの物理サーバ上でVM(Virtual Machine:仮想マシン)といわれる仮想的なサーバを稼動させるサーバ仮想化技術が利用されている。物理サーバでは、VMの生成などVMに関する各種制御を実行するVMM(Virtual Machine Monitor)などと呼ばれるソフトウェアを稼動させている。一般的に、VM上で稼動しているOS(Operating System)をゲストOSと呼ぶ。また、VMMの一例としては、ハイパーバイザが知られている。
物理サーバ上で動作するVM間の通信を制御する手法として、仮想スイッチを用いた手法やPCI(Peripheral Component Interconnect)パススルーを用いた手法が知られている。仮想スイッチは、ソフトウェアで動作する仮想的なネットワークスイッチであり、各ゲストOSの仮想デバイス間をブリッジ接続して通信を中継する。PCIパススルーは、各ゲストOSが、デバイスドライバを有し、ハイパーバイザを介することなく直接物理デバイスを用いて通信を実行する手法である。
特開2010−237737号公報
しかしながら、上記技術では、同一物理サーバ内のVM間通信と、異なる物理サーバのVM間通信との間で、通信性能に差が生じ、通信性能を効果的に発揮できないという問題がある。
例えば、仮想スイッチを用いた手法では、異なる物理サーバ間のVM間通信での性能が劣化し、PCIパススルーを用いた手法では、同一物理サーバ内のVM間通信で仮想スイッチによる柔軟な制御を実行できない。
1つの側面では、仮想マシン間の通信性能の改善と仮想スイッチによる柔軟な制御を両立することができる情報処理装置、送信制御方法および送信制御プログラムを提供することを目的とする。
第1の案では、情報処理装置は、稼動する仮想マシンのアドレス情報を記憶する記憶部を有する。情報処理装置は、前記仮想マシンからパケットが送信された場合に、前記パケットの宛先が前記記憶部に記憶されているか否かを判定する判定部を有する。情報処理装置は、前記判定部によって前記宛先が前記記憶部に記憶されていると判定された場合に、仮想スイッチと接続される仮想デバイスを利用して、前記パケットを前記宛先に送信する送信制御部を有する。情報処理装置は、前記判定部によって前記宛先が前記記憶部に記憶されていないと判定された場合に、パススルーデバイスを利用して、前記パケットを前記宛先に送信する送信制御部を有する。
本発明の1実施態様によれば、仮想マシン間の通信性能の改善と仮想スイッチによる柔軟な制御を両立することができる。
図1は、実施例1に係るシステムの全体構成例を示す図である。 図2は、実施例1に係る物理サーバの階層構造例を示す図である。 図3は、アドレステーブルに記憶される情報の例を示す図である。 図4は、アドレス空間を説明する図である。 図5は、実施例1に係るパケット送信処理の流れを示すフローチャートである。 図6は、アドレステーブルを複写する例を説明する図である。 図7は、アドレステーブルを共有する例を説明する図である。 図8は、物理サーバのハードウェア構成例を示す図である。
以下に、本願の開示する情報処理装置、送信制御方法および送信制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
[全体構成]
図1は、実施例1に係るシステムの全体構成例を示す図である。図1に示すように、このシステムは、物理サーバ10と物理サーバ20とが物理スイッチ10を介して接続される。物理スイッチ10は、例えばルータ、スイッチングハブ、L2(レイヤ2)スイッチなどのネットワーク機器の一例であり、物理サーバ間のパケットを宛先に中継する。
物理サーバ10および物理サーバ20は、仮想マシン(VM:Virtual Machine)を稼動させ、仮想マシンを利用してWebサーバやアプリケーションサーバと同様の処理を実行するサーバ装置の一例である。
図1に示すように、物理サーバ10は、仮想マシンとして、管理OS(Operating System)とゲストOS(A)とゲストOS(B)とを実行する。同様に、物理サーバ20は、仮想マシンとして管理OSとゲストOS(C)とゲストOS(D)とを実行する。なお、ここで示したゲストOSの数は一例であり、任意の数のゲストOSを実行することができる。
このような状態において、物理サーバ10および物理サーバ20は、稼動する仮想マシンのアドレス情報を記憶する記憶部を有する。そして、物理サーバ10および物理サーバ20は、仮想マシンからパケットが送信された場合に、パケットの宛先が記憶部に記憶されているか否かを判定する。その後、物理サーバ10および物理サーバ20は、宛先が前記記憶部に記憶されていると判定された場合に、仮想スイッチと接続される仮想デバイスを利用して、パケットを前記宛先に送信する。一方、物理サーバ10および物理サーバ20は、宛先が記憶部に記憶されていないと判定された場合に、パススルーデバイスを利用して、パケットを前記宛先に送信する。
このように、物理サーバ10および物理サーバ20は、サーバ内で動作する仮想マシンのアドレスを記憶し、送信パケットの宛先が記憶されている場合に仮想スイッチで送信し、宛先が記憶されていない場合にPCIパススルーで送信する。この結果、物理サーバ10および物理サーバ20は、仮想マシン間の通信性能の改善と仮想スイッチによる柔軟な制御を両立することができる。
[階層構造]
次に、物理サーバ10および物理サーバ20の階層構造について説明する。なお、物理サーバ10と物理サーバ20とは同様の構造を有するので、ここでは、物理サーバ10について説明する。
図2は、実施例1に係る物理サーバの階層構造例を示す図である。図2に示すように、物理サーバ10は、ハードウェア11、仮想制御部13、各VMの階層構造を形成する。なお、各VMは、仮想制御部13によって生成、管理される仮想マシン・プログラムである。
ハードウェア11は、物理サーバを構成するハードウェアである。ハードウェア11は、物理デバイス11aを有する。物理デバイス11aは、物理サーバ20との通信を制御するインタフェースであり、例えば、ネットワークインタフェースカードなどである。
仮想制御部13は、VMを稼動させる処理部である。なお、仮想制御部13の一例としては、ハイパーバイザのプログラムなどがある。この仮想制御部13は、アドレステーブル13aと判定部13bとを有し、VMの作成、削除、マイグレーションなどを実行する。
アドレステーブル13aは、物理サーバ10上で稼動するVMのアドレス情報を記憶するテーブルである。図3は、アドレステーブルに記憶される情報の例を示す図である。図3に示すように、アドレステーブル13aは、「ゲストID、IPアドレス、MAC(Media Access Control)アドレス」を対応付けて記憶する。
「ゲストID」は、VMを識別する識別子である。「IPアドレス」は、VMのIPアドレスである。「MACアドレス」は、VMのMACアドレスである。図3の場合、ゲストIDが「1」のVMには、IPアドレスとして「XX.XX.XX.XX」が設定されており、MACアドレスとして「YY.YY.YY.YY」が設定されていることを示す。
なお、ここで記憶される情報は、仮想制御部13によって更新される。例えば、仮想制御部13は、VMの作成、削除、マイグレーションを検出すると、検出した情報にしたがって更新する。また、図3では、IPアドレスとMACアドレスを両方図示したが、これに限定されるものではなく、どちらか一方でもよい。
また、メモリなどの記憶装置がアドレステーブル13aと同様の情報を記憶しておき、仮想制御部13は、記憶装置からアドレス情報を抽出してアドレステーブル13aを生成して保持するようにしてもよい。また、仮想制御部13は、メモリなどの記憶装置が保持するアドレステーブル13aを参照するようにしてもよい。
判定部13bは、物理サーバ10上で稼動するVMからパケットが送信された場合に、パケットの宛先がアドレステーブル13aに記憶されているか否かを判定する処理部である。具体的には、判定部13bは、図2に示した送信制御部16cまたは送信制御部18cから送信パケットの宛先を受信して、判定処理を実行する。そして、判定部13bは、送信元の送信制御部16cまたは送信制御部18cに、判定結果を送信する。
例えば、判定部13bは、送信制御部16cから宛先アドレスとして「YY.YY.YY.YY」を受信する。そして、判定部13bは、アドレステーブル13aを参照し、「YY.YY.YY.YY」が記憶されているか否かを判定する。この例の場合、判定部13bは、宛先が記憶されていると判定したことを、パケット送信元の送信制御部に応答する。
また、仮想制御部13は、仮想プロセッサと仮想メモリとを割り当ててVMを稼動させる処理部である。なお、仮想メモリは、物理サーバ10のメモリにおける所定領域をゲストOSや管理OSが使用するメモリとして割り当てることで実現された仮想的なメモリである。仮想プロセッサは、物理サーバ10のプロセッサにおける所定処理能力をゲストOSや管理OSが使用するプロセッサとして割り当てることで実現された仮想的なプロセッサである。
例えば、仮想制御部13は、管理OS14とゲストOS(A)15とゲストOS(B)16とを稼動させる。なお、ここで例示したVMの数等は、あくまで例示であり、これに限定されるものではない。
管理OS14は、仮想制御部13によって各種制御が実行されるゲストOSの1つであり、他のゲストOSとは異なる権限を有するVMである。例えば、管理OS14は、ゲストOS(A)15とゲストOS(B)16との通信を中継する仮想ブリッジデバイスを提供する。具体的には、管理OS11は、仮想デバイス14aと仮想デバイス14bと仮想スイッチ14cとを有する。
仮想デバイス14aおよび仮想デバイス14bは、ネットバックなどと呼ばれる仮想ネットワークインタフェースである。このうち、仮想デバイス14aは、ゲストOS(A)15の仮想デバイス16aと接続され、ゲストOS(A)15からパケットを受信し、ゲストOS(A)15へパケットを送信する。仮想デバイス14bは、ゲストOS(B)17の仮想デバイス18aと接続され、ゲストOS(B)17からパケットを受信し、ゲストOS(B)17へパケットを送信する。
仮想スイッチ14cは、仮想デバイス間を接続する仮想ブリッジインタフェースである。この仮想スイッチ14cは、仮想デバイス14aと仮想デバイス14bとを接続する。例えば、仮想スイッチ14cは、ゲストOS(A)15から送信されたパケットを、仮想デバイス16aと仮想デバイス14bとを介して受信する。そして、仮想スイッチ14cは、仮想デバイス14aと仮想デバイス18aとを介して、パケットをゲストOS(B)17に送信する。
ゲストOS(A)15は、仮想制御部13によって各種制御が実行されるゲストOSの1つである。このゲストOS(A)15は、アプリケーションを実行し、他のVM等とパケットの送受信を実行する。また、ゲストOS(A)15は、デバイスドライバ16を有し、デバイスドライバ16によってパケット送信を制御する。
デバイスドライバ16は、仮想デバイス16aとパススルーデバイス16bと送信制御部16cとを有する。仮想デバイス16aは、ネットフロントなどと呼ばれる仮想ネットワークインタフェースである。この仮想デバイス16aは、管理OS14の仮想デバイス14bと接続される。仮想デバイス16aは、仮想デバイス14bを経由して、他のVMとパケットの送受信を実行する。
パススルーデバイス16bは、仮想制御部13を介することなく、物理デバイス11aを直接操作することができる仮想ネットワークインタフェースである。このパススルーデバイス16bは、Vt−d技術を利用し、物理デバイス11aを介して他の物理サーバのVMとパケットの送受信を実行する。
具体的には、このパススルーデバイス16bは、DMA(Direct Memory Access)によってパケットやデータの転送を実行する。例えば、パススルーデバイス16bは、DMAを利用してデータを物理デバイス11aのメモリ空間に書き込む。物理デバイス11aは、メモリ空間に書き込まれたデータを読み出して宛先に送信する。
ここで、物理サーバ10のアドレス空間について説明する。図4は、アドレス空間を説明する図である。図4に示すように、物理サーバ10では、ホスト物理アドレス(HPA)とゲスト物理アドレス(GPA)とゲスト仮想アドレス(GVA)で、アドレス空間を管理する。ホスト物理アドレスは、物理サーバ10の物理アドレス空間である。ゲスト物理アドレスは、ゲストOSや管理OSなどの各VMが物理アドレスとして管理しているアドレス空間であり、仮想制御部13が提供する仮想アドレス空間である。ゲスト仮想アドレスは、ゲストOSや管理OSなどの各VMが仮想アドレスとして管理しているアドレス空間である。
一般的に、ゲストOSや管理OSなどの各VMが、ゲスト仮想アドレスからゲスト物理アドレスへの変換を実行する。また、仮想制御部13が、ゲスト物理アドレスからホスト物理アドレスへの変換を実行する。そして、パススルーデバイス16bによる通信では、DMA転送時に、ハードウェア11の物理デバイス11aによってアドレス変換を行うことで、物理デバイス11aが、ゲストOSのメモリ空間にアクセスすることができる。すなわち、物理デバイス11aのメモリ空間と、ゲストOS(A)15のメモリ空間とを対応付けることができる。
送信制御部16cは、ゲストOS(A)15からパケットの宛先がアドレステーブル13aに記憶されているか否かによって、出力先のデバイスを切り替える処理部である。具体的には、送信制御部16cは、ゲストOS(A)15から送信されたパケットを受信し、受信したパケットの宛先を抽出する。そして、送信制御部16cは、抽出した宛先を仮想制御部13の判定部13bに送信して、判定処理を依頼する。そして、送信制御部16cは、判定部13bから受信した判定結果に基づいて、パケットの出力先のデバイスを切り替える。
例えば、送信制御部16cは、VMから受信したパケットのヘッダを参照し、宛先アドレスとして「YY.YY.YY.YY」を抽出する。そして、送信制御部16cは、抽出した「YY.YY.YY.YY」を仮想制御部13の判定部13bに送信する。
そして、送信制御部16cは、判定部13bによって「YY.YY.YY.YY」がアドレステーブル13aに記憶されていると判定された場合に、仮想スイッチ14cと接続される仮想デバイス16aに、送信パケットを出力する。一方、送信パケットを判定部13bによって「YY.YY.YY.YY」がアドレステーブル13aに記憶されていないと判定された場合に、パススルーデバイス16bに送信パケットを出力する。
すなわち、送信制御部16cは、パケットの宛先が同一物理サーバ10内のVMである場合には、仮想スイッチ14cを利用して、パケットを送信する。一方、送信制御部16cは、パケットの宛先が異なる物理サーバ20内のVMである場合には、パススルーデバイス16bを利用して、パケットを送信する。
ゲストOS(B)17は、仮想制御部13によって各種制御が実行されるゲストOSの1つである。このゲストOS(B)17は、アプリケーションを実行し、他のVM等とパケットの送受信を実行する。また、ゲストOS(B)17は、デバイスドライバ18を有し、デバイスドライバ18によってパケット送信を制御する。
なお、デバイスドライバ18が有する仮想デバイス18a、パススルーデバイス18b、送信制御部18cの各々は、ゲストOS(A)15の仮想デバイス16a、パススルーデバイス16b、送信制御部16cの各々と同様の処理を実行するので、説明は省略する。
[処理の流れ]
図5は、実施例1に係るパケット送信処理の流れを示すフローチャートである。ここでは、一例として、ゲストOS(A)15がパケットを送信する例で説明する。
図5に示すように、送信制御部16cは、ゲストOS(A)15が実行するアプリケーション等が送信したパケットを受信する(S101:Yes)。送信制御部16cは、パケットから宛先を抽出して、判定部13bに出力する(S102)。
そして、判定部13bは、抽出されたパケットの宛先をアドレステーブル13aから検索する(S103)。その後、送信制御部16cは、判定部13bによって宛先がアドレステーブル13aから検索できたことが通知されると(S104:Yes)、仮想デバイス16aを利用してパケットを宛先に送信する(S105)。
一方、送信制御部16cは、判定部13bによって宛先がアドレステーブル13aから検索できなかったことが通知されると(S104:No)、パススルーデバイス16bを利用してパケットを宛先に送信する(S106)。
上述したように、実施例1に係る物理サーバ10は、物理サーバ10内の通信は仮想スイッチで送信し、物理サーバを跨る通信をPCIパススルーで送信することができる。したがって、物理サーバ10は、物理サーバ内通信の場合は仮想スイッチで柔軟に制御することができ、物理サーバ間通信の場合には高速に処理することができる。
ところで、実施例1では、仮想制御部13がアドレステーブル13aを保持する例を説明したが、これに限定されるものではなく、様々な形態を採用することができる。そこで、実施例2では、アドレステーブル13aの保持形態について説明する。
(複写)
図6は、アドレステーブルを複写する例を説明する図である。図6に示すように、仮想制御部13は、アドレステーブル13aを複写して、各ゲストOSに配布する。各ゲストOSは、仮想メモリ空間で、アドレステーブル13aの複写を保持する。この場合、各ゲストのデバイスドライバが、送信パケットの宛先がアドレステーブルに保持されているか否かを判定する。
また、仮想制御部13は、VMの作成や削除があった場合には、アドレステーブル13aを更新する。このとき、仮想制御部13は、更新したアドレステーブル13aを各ゲストOSに配布する。なお、仮想制御部13は、更新したアドレステーブル13a全体を配布してもよく、差分だけを配布してもよい。この結果、各ゲストOSは、最新のアドレステーブルを保持することができる。
このように、各ゲストOSがアドレステーブルを保持することで、各ゲストOSは、パケットを送信するたびに仮想制御部13に問い合わせることなく、送信先のデバイスを判定することができる。したがって、効率がよく送信処理を実行することができ、仮想マシン間の通信性能もより向上する。
(共有メモリ)
図7は、アドレステーブルを共有する例を説明する図である。図7に示すように、仮想制御部13は、各ゲストOSがリードオンリーでアクセスできる共有メモリ上で、アドレステーブル13aを保持する。こうすることで、仮想制御部13が、アドレステーブル13aを更新するたびに、アドレステーブルをゲストOSに配布することを抑制できる。さらに、各ゲストOSは、パケットを送信するたびに仮想制御部13に問い合わせることなく、送信先のデバイスを判定することができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
(デバイスドライバ内の仮想スイッチ)
例えば、ゲストOS(A)15を例にして説明すると、デバイスドライバ16内の仮想デバイス16aとパススルーデバイス16bとを仮想スイッチで接続することもできる。こうすることで、各ゲストOSは、アドレステーブルを仮想スイッチのMAC学習テーブルで代用することができる。また、各ゲストOSは、VMの作成や削除時は仮想制御部13から送信するGARP(Gratuitous Address Resolution Protocol)によって、アドレステーブルを再学習することができる。
(システム)
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(ハードウェア)
図8は、物理サーバのハードウェア構成例を示す図である。図8に示すように、物理サーバ10は、CPU101、メモリ102、HDD(Hard Disk Drive)103、媒体読取装置104、通信インタフェース105、入力装置106、表示装置107を有する。また、図8に示した各部は、バス等で相互に接続される。
HDD103は、図2に示した機能を動作させるプログラムやテーブルを記憶する。記録媒体の例としてHDD103を例に挙げたが、ROM(Read Only Memory)、RAMであってもよい。
媒体読取装置104は、CDやDVDなどの記憶媒体を読み取る装置である。例えば、媒体読取装置104は、CD−ROM等の他のコンピュータが読み取り可能な記録媒体から各種プログラムを読み込んで実行することもできる。なお、記録媒体を遠隔地に配置し、コンピュータが、その記憶媒体にアクセスすることでプログラムを取得して利用してもよい。また、その際、取得したプログラムをそのコンピュータ自身の記録媒体に格納して用いてもよい。
通信インタフェース105は、ネットワークインタフェースカードなどである。入力装置106は、例えばキーボードなどであり、表示装置107は、例えばタッチパネルやディスプレイなど、各種情報を表示する表示装置である。
CPU101は、図2に示した各処理部と同様の処理を実行するプログラムをHDD103等から読み出してメモリ102に展開することで、図2等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、物理サーバ10が有する各処理と同様の機能を実行する。具体的には、CPU101は、仮想制御部13等と同様の機能を有するプログラムをHDD103等から読み出す。そして、CPU101は、各処理部と同様の処理を実行するプロセスを実行する。
このように物理サーバ10は、プログラムを読み出して実行することで送信制御方法を実行する情報処理装置として動作する。また、物理サーバ10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、物理サーバ10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
10 物理サーバ
11 ハードウェア
11a 物理デバイス
12 OS
13 仮想制御部
13a アドレステーブル
13b 判定部
14 管理OS
14a、14b 仮想デバイス
14c 仮想スイッチ
15 ゲストOS(A)
16、18 デバイスドライバ
16a、18a 仮想デバイス
16b、18b パススルーデバイス
16c、18c 送信制御部
17 ゲストOS(B)

Claims (7)

  1. 稼動する仮想マシンのアドレス情報を記憶する記憶部と、
    前記仮想マシンからパケットが送信された場合に、前記パケットの宛先が前記記憶部に記憶されているか否かを判定する判定部と、
    前記判定部によって前記宛先が前記記憶部に記憶されていると判定された場合に、仮想スイッチと接続される仮想デバイスを利用して、前記パケットを前記宛先に送信し、前記判定部によって前記宛先が前記記憶部に記憶されていないと判定された場合に、パススルーデバイスを利用して、前記パケットを前記宛先に送信する送信制御部と
    を有することを特徴とする情報処理装置。
  2. 前記仮想マシンを稼動させる仮想制御部をさらに有し、
    前記仮想制御部が、前記記憶部を有し、
    前記仮想マシンが、前記記憶部に記憶される仮想マシンのアドレス情報のコピーを保持する保持部と、前記判定部と、前記送信制御部と、
    を有することを特徴とする請求項1に記載の情報処理装置。
  3. 前記仮想制御部は、前記仮想マシンの状態が変化した場合に、変化した仮想マシンの状態に応じて前記記憶部に記憶される前記アドレス情報を更新し、更新したアドレス情報を前記仮想マシンに配布することを特徴とする請求項2に記載の情報処理装置。
  4. 前記仮想マシンを稼動させる仮想制御部をさらに有し、
    前記仮想制御部が、他の処理部が参照できる共有メモリに前記アドレス情報を記憶し、
    前記仮想マシンが、前記仮想マシンからパケットが送信された場合に、前記パケットの宛先が前記共有メモリに記憶されているか否かを判定する判定部と、前記送信制御部とを有することを特徴とする請求項1に記載の情報処理装置。
  5. 前記仮想デバイスと前記パススルーデバイスとを接続する仮想スイッチをさらに有し、
    前記仮想スイッチは、前記パケットの送受信によって前記仮想デバイスおよび前記パススルーデバイスの接続先を学習し、学習した結果を前記記憶部に格納することを特徴とする請求項1から4のいずれか一つに記載の情報処理装置。
  6. コンピュータが、
    稼動する仮想マシンからパケットが送信された場合に、前記稼動する仮想マシンのアドレス情報を記憶する記憶部を参照し、前記パケットの宛先が前記記憶部に記憶されているか否かを判定し、
    前記宛先が前記記憶部に記憶されていると判定した場合に、仮想スイッチと接続される仮想デバイスを利用して、前記パケットを前記宛先に送信し、前記宛先が前記記憶部に記憶されていないと判定した場合に、パススルーデバイスを利用して、前記パケットを前記宛先に送信する
    処理を含むことを特徴とする送信制御方法。
  7. コンピュータに、
    稼動する仮想マシンからパケットが送信された場合に、前記稼動する仮想マシンのアドレス情報を記憶する記憶部を参照し、前記パケットの宛先が前記記憶部に記憶されているか否かを判定し、
    前記宛先が前記記憶部に記憶されていると判定した場合に、仮想スイッチと接続される仮想デバイスを利用して、前記パケットを前記宛先に送信し、前記宛先が前記記憶部に記憶されていないと判定した場合に、パススルーデバイスを利用して、前記パケットを前記宛先に送信する
    処理を実行させることを特徴とする送信制御プログラム。
JP2013070681A 2013-03-28 2013-03-28 情報処理装置、送信制御方法および送信制御プログラム Pending JP2014195178A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013070681A JP2014195178A (ja) 2013-03-28 2013-03-28 情報処理装置、送信制御方法および送信制御プログラム
EP14156124.1A EP2785018A3 (en) 2013-03-28 2014-02-21 Information processing device, transmission control method, and transmission control program
US14/187,391 US20140298330A1 (en) 2013-03-28 2014-02-24 Information processing device, transmission control method, and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013070681A JP2014195178A (ja) 2013-03-28 2013-03-28 情報処理装置、送信制御方法および送信制御プログラム

Publications (1)

Publication Number Publication Date
JP2014195178A true JP2014195178A (ja) 2014-10-09

Family

ID=50159078

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013070681A Pending JP2014195178A (ja) 2013-03-28 2013-03-28 情報処理装置、送信制御方法および送信制御プログラム

Country Status (3)

Country Link
US (1) US20140298330A1 (ja)
EP (1) EP2785018A3 (ja)
JP (1) JP2014195178A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017084133A (ja) * 2015-10-28 2017-05-18 株式会社日立製作所 仮想計算機間の通信経路制御方法および計算機システム
JP2017228191A (ja) * 2016-06-24 2017-12-28 コニカミノルタ株式会社 画像処理装置、デバッグ支援方法およびデバッグ支援プログラム
JP2018133758A (ja) * 2017-02-17 2018-08-23 日本電信電話株式会社 仮想マシン間通信システム
KR20190081285A (ko) * 2017-12-29 2019-07-09 한국전자통신연구원 가상화 시스템에서 동적 패스쓰루 방법 및 장치
JP2020508022A (ja) * 2017-02-16 2020-03-12 カーサシステムズ インコーポレイテッドCasa Systems,Inc. スケーラブルな進化したパケットコア

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10445009B2 (en) * 2017-06-30 2019-10-15 Intel Corporation Systems and methods of controlling memory footprint

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040267866A1 (en) * 2003-06-24 2004-12-30 International Business Machines Corporation Virtual machine connection to a tangible network
US7346909B1 (en) * 2006-08-28 2008-03-18 Intel Corporation Network-like communication and stack synchronization for different virtual machines on the same physical device
WO2011068091A1 (ja) * 2009-12-04 2011-06-09 日本電気株式会社 サーバ及びフロー制御プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4947081B2 (ja) 2009-03-30 2012-06-06 日本電気株式会社 パススルーi/oデバイスを伴うlparの動的マイグレーション装置、その方法及びそのプログラム
EP2788871B1 (en) * 2011-12-07 2021-08-04 Citrix Systems, Inc. Controlling a network interface using virtual switch proxying

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040267866A1 (en) * 2003-06-24 2004-12-30 International Business Machines Corporation Virtual machine connection to a tangible network
US7346909B1 (en) * 2006-08-28 2008-03-18 Intel Corporation Network-like communication and stack synchronization for different virtual machines on the same physical device
WO2011068091A1 (ja) * 2009-12-04 2011-06-09 日本電気株式会社 サーバ及びフロー制御プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高野 了成 RYOUSEI TAKANO: "InfiniBandをPCIパススルーで用いる仮想化HPCクラスタの性能評価 Performance evaluation", 情報処理学会 シンポジウム 先進的計算基盤システムシンポジウム(SACSIS) 2011 [ONLI, JPN6016040754, JP *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017084133A (ja) * 2015-10-28 2017-05-18 株式会社日立製作所 仮想計算機間の通信経路制御方法および計算機システム
JP2017228191A (ja) * 2016-06-24 2017-12-28 コニカミノルタ株式会社 画像処理装置、デバッグ支援方法およびデバッグ支援プログラム
JP2020508022A (ja) * 2017-02-16 2020-03-12 カーサシステムズ インコーポレイテッドCasa Systems,Inc. スケーラブルな進化したパケットコア
JP7109148B2 (ja) 2017-02-16 2022-07-29 カーサシステムズ インコーポレイテッド スケーラブルな進化したパケットコア
US11606699B2 (en) 2017-02-16 2023-03-14 Casa Systems, Inc. Scalable evolved packet core
JP2018133758A (ja) * 2017-02-17 2018-08-23 日本電信電話株式会社 仮想マシン間通信システム
KR20190081285A (ko) * 2017-12-29 2019-07-09 한국전자통신연구원 가상화 시스템에서 동적 패스쓰루 방법 및 장치
KR102462600B1 (ko) * 2017-12-29 2022-11-03 한국전자통신연구원 가상화 시스템에서 동적 패스쓰루 방법 및 장치

Also Published As

Publication number Publication date
EP2785018A2 (en) 2014-10-01
EP2785018A3 (en) 2014-10-29
US20140298330A1 (en) 2014-10-02

Similar Documents

Publication Publication Date Title
US9935920B2 (en) Virtualization gateway between virtualized and non-virtualized networks
JP5784482B2 (ja) 情報処理装置および通信制御方法
JP4681505B2 (ja) 計算機システム、管理計算機及びプログラム配布方法
JP6122483B2 (ja) 拡張ホストチャネルアダプタ(hca)モデルに基づいてバーチャルマシンのライブマイグレーションをサポートするためのシステムおよび方法
US8327355B2 (en) Method, computer program product, and hardware product for supporting virtual machine guest migration overcommit
US9756010B2 (en) Resolving network address conflicts
US8171176B2 (en) Method for selective replication of physical devices on a virtual self-configuring zoning expander
JP4972670B2 (ja) 仮想計算機システム、そのアクセス制御方法及び通信装置
JP2014195178A (ja) 情報処理装置、送信制御方法および送信制御プログラム
US20130283264A1 (en) Method for selective replication of physical devices on a virtual self-configuring zoning expander
JP2010147929A (ja) アドレス割当方法、コンピュータ、及びプログラム
JP2016170669A (ja) 負荷分散機能配備方法、負荷分散機能配備装置および負荷分散機能配備プログラム
US20170024261A1 (en) Reducing redundant validations for live operating system migration
CN110058946B (zh) 设备虚拟化方法、装置、设备及存储介质
US20100064301A1 (en) Information processing device having load sharing function
US11675615B2 (en) Zero copy message reception for applications
Dong et al. HYVI: a hybrid virtualization solution balancing performance and manageability
US20150215384A1 (en) Communication device migration method of extension function and communication system
WO2013114620A1 (ja) 仮想マシン制御プログラム、仮想マシン制御方法および情報処理装置
US20140289198A1 (en) Tracking and maintaining affinity of machines migrating across hosts or clouds
US8024797B2 (en) Method, apparatus and system for performing access control and intrusion detection on encrypted data
JP6260310B2 (ja) ネットワークスイッチ、ネットワークシステム及びネットワークシステムの制御方法
JP6013980B2 (ja) アドレス割当装置およびアドレス割当プログラム
US11635970B2 (en) Integrated network boot operating system installation leveraging hyperconverged storage
JP2010205207A (ja) ホストコンピュータ、マルチパスシステム、パス割当方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161025

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170516