JP2009258798A - Virtual machine system, host computer, i/o card, virtual machine construction method, and program - Google Patents

Virtual machine system, host computer, i/o card, virtual machine construction method, and program Download PDF

Info

Publication number
JP2009258798A
JP2009258798A JP2008103914A JP2008103914A JP2009258798A JP 2009258798 A JP2009258798 A JP 2009258798A JP 2008103914 A JP2008103914 A JP 2008103914A JP 2008103914 A JP2008103914 A JP 2008103914A JP 2009258798 A JP2009258798 A JP 2009258798A
Authority
JP
Japan
Prior art keywords
virtual machine
host computer
card
virtual
functions
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
JP2008103914A
Other languages
Japanese (ja)
Other versions
JP5104501B2 (en
Inventor
Toru Izawa
徹 伊澤
Atsushi Enomoto
敦之 榎本
Jun 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.)
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 JP2008103914A priority Critical patent/JP5104501B2/en
Publication of JP2009258798A publication Critical patent/JP2009258798A/en
Application granted granted Critical
Publication of JP5104501B2 publication Critical patent/JP5104501B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a virtual machine system allowing control of possibility/impossibility of use in each virtual machine and in each function of an I/O card without increasing a load of a CPU and cost of the other hardware. <P>SOLUTION: This virtual machine system 1 has: a host computer 2 wherein the plurality of virtual machines 30a, 30b operate; and the I/O card 40 connected to the host computer, providing the plurality of functions to the host computer. The I/O card has a plurality of virtual machine interfaces 42a, 42b corresponding to the plurality of virtual machines, and each having a plurality of pages each corresponding to each of the plurality of functions. Each virtual machine has address conversion parts 34a, 34b for converting between physical addresses on the virtual machine and physical addresses of the pages and the virtual machine interface on the host computer. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、ホスト計算機上で動作する仮想マシンに関し、特にホスト計算機上で動作する複数の仮想マシンでのI/Oカードの使用に関する。   The present invention relates to a virtual machine that operates on a host computer, and more particularly to the use of an I / O card in a plurality of virtual machines that operate on a host computer.

コンピュータの仮想化技術は、ホスト計算機上に仮想的なコンピュータ(仮想マシン、Virtual Machine)をソフトウェア的に構築する技術である。しかしながら、仮想マシンから、ホスト計算機に物理的に接続されたグラフィックカード、浮動小数点演算アクセラレータ、生化学シミュレータのような拡張機器(以後I/Oカードという)を、複数の仮想マシンにおいて共有して利用したい用途もある。   The computer virtualization technology is a technology for constructing a virtual computer (virtual machine) on a host computer by software. However, an expansion device (hereinafter referred to as an I / O card) such as a graphic card, a floating point arithmetic accelerator, or a biochemical simulator that is physically connected to the host computer is shared by a plurality of virtual machines. There are also uses that you want to do.

仮想マシンからI/Oカードを利用する技術として、以下のような技術文献がある。特許文献1には、実行されるプログラムについてプログラム実行解釈部が使用禁止テーブルの内容を解釈して、使用が禁止されている機能が実行されないようにするという技術が記載されている。この技術は仮想マシンにおいても適用可能であるとされている。特許文献2には、複数の物理あるいは論理サーバがI/Oカードを共有する際に、アクセス要求に埋め込まれたサーバ識別子を用いてアクセス制御を行う方法が記載されている。   The following technical documents are available as a technology for using an I / O card from a virtual machine. Patent Document 1 describes a technique in which a program execution interpretation unit interprets the contents of a use prohibition table for a program to be executed so that a function whose use is prohibited is not executed. This technology is also applicable to virtual machines. Patent Document 2 describes a method of performing access control using a server identifier embedded in an access request when a plurality of physical or logical servers share an I / O card.

特許文献3には、I/Oカードを用いるための物理アドレスを仮想マシンに対して通知することにより、仮想マシンが仮想マシンモニタや特権仮想マシンのような別のプロセスを経由することなくホストのI/Oカードを使用できるという技術が記載されている。特許文献4には、あるコンピュータで実行されている仮想マシンを別の仮想マシンにマイグレーションする方法が記載されている。   In Patent Document 3, a physical address for using an I / O card is notified to a virtual machine, so that the virtual machine does not go through another process such as a virtual machine monitor or a privileged virtual machine. A technique is described in which an I / O card can be used. Patent Document 4 describes a method of migrating a virtual machine running on a computer to another virtual machine.

特許文献5には、物理マシンと仮想マシンとの間でI/Oカードを共有するため、仮想I/Oアドレスと物理I/Oアドレスとの対応を割り当ててその情報を保持するという技術が記載されている。特許文献6には、複数の機能を持つI/Oカードで、仮想アドレスを物理アドレスに対応させて該I/Oカードの複数の機能を共有するという技術が記載されている。   Patent Document 5 describes a technique of assigning a correspondence between a virtual I / O address and a physical I / O address and holding the information in order to share an I / O card between a physical machine and a virtual machine. Has been. Patent Document 6 describes a technique of sharing a plurality of functions of an I / O card by associating a virtual address with a physical address in an I / O card having a plurality of functions.

特開2002−041170号公報JP 2002-041170 A 特開2005−122640号公報JP 2005-122640 A 特開2005−322242号公報JP 2005-322242 A 特開2005−327279号公報JP 2005-327279 A 特開2008−021252号公報JP 2008-021252 A 特表2007−518160号公報Special Table 2007-518160

I/Oカードが複数の区分に分けられる複数の機能を持つ場合、同一のホスト計算機上で動作する仮想マシンであっても、たとえばある仮想マシンからは該I/Oカードの全ての機能を使用可能とする一方で、別の仮想マシンからは該I/Oカードの特定の機能のみを使用可能としてその他の機能は使用不可能としたい場合がある。   When an I / O card has a plurality of functions that are divided into a plurality of sections, even if the virtual machine operates on the same host computer, for example, all the functions of the I / O card are used from a certain virtual machine On the other hand, there is a case where only a specific function of the I / O card can be used from another virtual machine and other functions cannot be used.

このような場合、特許文献1および2にあるように、特定の機能に対してアクセスが生じた場合に、該機能に対するアクセスが許可されているか否かをホスト計算機のCPUもしくは専用の判定回路が判断する技術はある。しかしながら、該機能に対するアクセスが生じるたびにCPUがそのような判断を行うようにすると、ただでさえ複数の仮想マシンに関する高負荷な処理を行っているCPUに対して、さらに負荷を増大させることとなる。また、専用のハードウェアである判定回路を追加することは、機器のコスト上昇につながる。   In such a case, as described in Patent Documents 1 and 2, when an access to a specific function occurs, the CPU of the host computer or a dedicated determination circuit determines whether access to the function is permitted. There is technology to judge. However, if the CPU makes such a determination every time an access to the function occurs, the load is further increased even for a CPU that is performing high-load processing for a plurality of virtual machines. Become. In addition, adding a determination circuit that is dedicated hardware leads to an increase in the cost of the device.

特許文献3の方法では、I/Oカードを仮想マシンに割り当てる際にアクセスが可能であるかの判断を行っているが、単一のI/Oカードに対して占有させるか否かという程度の制御しか行えない。特許文献4〜6、さらには特許文献1〜6の全てを組み合わせた技術では、CPUの負荷およびその他のハードウェアのコストを増大させずに、仮想マシンごとおよびI/Oカードの機能ごとに使用の可否を制御できるようにするという技術は記載されていない。   In the method of Patent Document 3, it is determined whether access is possible when an I / O card is allocated to a virtual machine. However, whether or not a single I / O card is occupied is determined. Only control is possible. With the technology combining all of Patent Documents 4 to 6, and further to Patent Documents 1 to 6, it is used for each virtual machine and each function of the I / O card without increasing the CPU load and other hardware costs. There is no description of a technique for enabling control of whether or not the above-mentioned is possible.

本発明の目的は、CPUの負荷およびその他のハードウェアのコストを増大させずに、仮想マシンごとおよびI/Oカードの機能ごとに使用の可否を制御できる仮想マシンシステム、ホスト計算機、I/Oカード、仮想マシンモニタ方法およびプログラムを提供することにある。   An object of the present invention is to provide a virtual machine system, a host computer, and an I / O capable of controlling the use of each virtual machine and each function of an I / O card without increasing the CPU load and other hardware costs. It is to provide a card, a virtual machine monitoring method, and a program.

上記目的を達成するため、本発明に係る仮想マシンシステムは、複数の仮想マシンが動作するホスト計算機と、ホスト計算機に接続されて該ホスト計算機に複数の機能を提供するI/Oカードとを備える仮想マシンシステムであって、I/Oカードが、複数の仮想マシンに対応し、各々が複数の機能の各々に対応する複数のページを有する複数の仮想マシンインタフェースを有し、各々の仮想マシンが、仮想マシン上における物理アドレスと、ホスト計算機上における仮想マシンインタフェースおよびページの物理アドレスとを変換するアドレス変換部を有することを特徴とする。   To achieve the above object, a virtual machine system according to the present invention includes a host computer on which a plurality of virtual machines operate, and an I / O card that is connected to the host computer and provides a plurality of functions to the host computer. A virtual machine system, wherein an I / O card corresponds to a plurality of virtual machines, each having a plurality of virtual machine interfaces having a plurality of pages corresponding to a plurality of functions, and each virtual machine And an address conversion unit that converts a physical address on the virtual machine and a physical address of the virtual machine interface and page on the host computer.

上記目的を達成するため、本発明に係るホスト計算機は、複数の仮想マシンが動作し、複数の仮想マシンに対応し、各々が複数の機能の各々に対応する複数のページを有する複数の仮想マシンインタフェースを有するI/Oカードを接続可能なホスト計算機であって、各々の仮想マシンが、仮想マシン上における物理アドレスと、ホスト計算機上における仮想マシンインタフェースおよびページの物理アドレスとを変換するアドレス変換部を有することを特徴とする。   To achieve the above object, a host computer according to the present invention has a plurality of virtual machines on which a plurality of virtual machines operate, correspond to a plurality of virtual machines, and each have a plurality of pages corresponding to a plurality of functions. Host computer to which an I / O card having an interface can be connected, and each virtual machine converts a physical address on the virtual machine and a virtual machine interface and page physical address on the host computer It is characterized by having.

上記目的を達成するため、本発明に係るI/Oカードは、複数の仮想マシンが動作するホスト計算機に接続されて該ホスト計算機に複数の機能を提供するI/Oカードであって、複数の仮想マシンに対応し、各々が複数の機能の各々に対応する複数のページを有する複数の仮想マシンインタフェースを有することを特徴とする。   To achieve the above object, an I / O card according to the present invention is an I / O card that is connected to a host computer on which a plurality of virtual machines operate and provides a plurality of functions to the host computer. It has a plurality of virtual machine interfaces each having a plurality of pages corresponding to each of a plurality of functions corresponding to a virtual machine.

上記目的を達成するため、本発明に係る仮想マシン構築方法は、複数の仮想マシンに対応し、各々が複数の機能の各々に対応する複数のページを有する複数の仮想マシンインタフェースを有するI/Oカードが接続されているホスト計算機で複数の仮想マシンを構築する方法であって、仮想マシン上における物理アドレスと、ホスト計算機上における仮想マシンインタフェースおよびページの物理アドレスとを変換するアドレス変換部を仮想マシンに提供するアドレス変換部提供工程と、各々の仮想マシンがアドレス変換部を利用してページにアクセスするアクセス工程とを有することを特徴とする。   In order to achieve the above object, a virtual machine construction method according to the present invention corresponds to a plurality of virtual machines, each of which has a plurality of virtual machine interfaces each having a plurality of pages corresponding to a plurality of functions. A method of constructing a plurality of virtual machines on a host computer to which a card is connected, in which an address conversion unit that converts a physical address on the virtual machine and a virtual machine interface and page physical address on the host computer is virtualized. An address conversion unit providing step to be provided to a machine, and an access step in which each virtual machine accesses a page using the address conversion unit.

上記目的を達成するため、本発明に係る仮想マシン構築プログラムは、複数の仮想マシンに対応し、各々が複数の機能の各々に対応する複数のページを有する複数の仮想マシンインタフェースを有するI/Oカードが接続されているホスト計算機に、ホスト計算機が備える複数の仮想マシンの各々に対する機能の各々の使用可否に関する情報を読み込む使用可否読み取り処理と、使用可否読み取り工程で使用可能である旨の情報が読み取られた機能について、仮想マシン上における物理アドレスとホスト計算機上における仮想マシンインタフェースおよびページの物理アドレスとを変換するアドレス変換部に仮想マシンインタフェースの物理アドレスを書き込むアドレス変換部書き込み処理とを実行させることを特徴とする。   To achieve the above object, a virtual machine construction program according to the present invention corresponds to a plurality of virtual machines, each of which has a plurality of virtual machine interfaces each having a plurality of pages corresponding to a plurality of functions. Information indicating that the host computer to which the card is connected can read the information on the availability of each of the functions for each of the plurality of virtual machines included in the host computer, and information that it can be used in the availability reading step. For the read function, the address conversion unit for writing the physical address of the virtual machine interface is executed in the address conversion unit that converts the physical address on the virtual machine and the virtual machine interface and the physical address of the page on the host computer. It is characterized by that.

本発明は、各々の仮想マシンが、仮想マシン上とホスト計算機上における物理アドレスとを変換するアドレス変換部を有するように構成したので、仮想マシンからI/Oカードの特定の機能に対するアクセスが生じるたびにCPUが各々の仮想マシンの各々の機能に対するアクセス権限を判断する必要はない。これによって、CPUの負荷およびその他のハードウェアのコストを増大させずに、仮想マシンごとおよびI/Oカードの機能ごとに使用の可否を制御できるという、従来にない優れた仮想マシンシステム、ホスト計算機、I/Oカード、仮想マシンモニタ方法およびプログラムを提供することができる。   In the present invention, each virtual machine is configured to have an address translation unit that translates physical addresses on the virtual machine and on the host computer, so that access to a specific function of the I / O card occurs from the virtual machine. It is not necessary for the CPU to determine the access authority for each function of each virtual machine each time. This makes it possible to control whether or not each virtual machine and each I / O card function can be used without increasing the CPU load and other hardware costs. , An I / O card, a virtual machine monitoring method, and a program can be provided.

[第1の実施の形態]
図1は、本発明の第1の実施の形態に係る仮想マシンシステム1の構成を示すブロック図である。仮想マシンシステム1は、ホスト計算機2にI/Oカード40が接続されてなる。ホスト計算機2は一般的なコンピュータ装置であり、CPU11、RAM12、およびブリッジ13を備える。CPU11およびRAM12は、いずれもコンピュータ装置においては一般的な演算装置および記憶装置であるが、各々が複数個備えられているものとしてもよい。
[First Embodiment]
FIG. 1 is a block diagram showing the configuration of the virtual machine system 1 according to the first embodiment of the present invention. The virtual machine system 1 is configured by connecting an I / O card 40 to a host computer 2. The host computer 2 is a general computer device and includes a CPU 11, a RAM 12, and a bridge 13. The CPU 11 and the RAM 12 are both general arithmetic devices and storage devices in a computer device, but a plurality of them may be provided.

ブリッジ13は拡張機器を接続してCPU11との間を中継する装置であり、CPU11はRAM12上で実行されているソフトウェアからの命令に基づいてブリッジ13を介して拡張機器を操作し、その結果を該ソフトウェアに対して出力することができる。なお、コンピュータ装置を構成するためにはこれら以外の要素も必要であるが、それらは当業者には公知であり、本実施の形態を説明する上では特に言及する必要はないので図示していない。   The bridge 13 is a device that connects an expansion device and relays it to the CPU 11. The CPU 11 operates the expansion device via the bridge 13 based on a command from software executed on the RAM 12, and the result is displayed. Can be output to the software. It should be noted that elements other than these are also necessary to configure the computer apparatus, but they are well-known to those skilled in the art and are not shown in the figure because they do not need to be mentioned in particular in describing the present embodiment. .

ブリッジ13には、I/Oカード40が接続される。I/Oカード40は、I/Oパケット転送部41と、複数の仮想マシンインタフェース42a〜42nから構成される。複数の仮想マシンインタフェース42a〜42nは各々、後述する複数台の仮想マシン30a〜30nに対応する。I/Oカード40は、他のデバイスからブリッジ13を介して受けた要求に応じて処理を行った後に、ブリッジ13を経由して出力を返戻する。   An I / O card 40 is connected to the bridge 13. The I / O card 40 includes an I / O packet transfer unit 41 and a plurality of virtual machine interfaces 42a to 42n. Each of the plurality of virtual machine interfaces 42a to 42n corresponds to a plurality of virtual machines 30a to 30n described later. The I / O card 40 performs processing in response to a request received from another device via the bridge 13, and then returns an output via the bridge 13.

RAM12では、CPU11によって仮想マシンモニタ20が実行されている。仮想マシンモニタ20は、ホスト計算機2上に複数台の仮想マシン30a〜30nを構築するソフトウェアであり、後述するアドレス変換管理部21、I/O管理部22、仮想マシンインタフェース情報記憶部23、および仮想マシンI/Oサービス管理部24を備える。   In the RAM 12, the virtual machine monitor 20 is executed by the CPU 11. The virtual machine monitor 20 is software for constructing a plurality of virtual machines 30a to 30n on the host computer 2, and includes an address conversion management unit 21, an I / O management unit 22, a virtual machine interface information storage unit 23, which will be described later, A virtual machine I / O service management unit 24 is provided.

仮想マシンモニタ20に構築される複数台の仮想マシンのうちの1つである仮想マシン30aは、アプリケーション31a、OS32a、デバイスドライバ33a、および仮想マシンアドレス変換部34aを備え、OS32aによる制御でアプリケーション31aを実行する仮想的な計算機である。   A virtual machine 30a that is one of a plurality of virtual machines constructed in the virtual machine monitor 20 includes an application 31a, an OS 32a, a device driver 33a, and a virtual machine address conversion unit 34a, and the application 31a is controlled by the OS 32a. It is a virtual computer that executes

アプリケーション31aがブリッジ13に接続されているI/Oカード40を使用する場合、まずOS32aに対してそのことを要求する。OS32aは、アプリケーション31aからの要求に応じて、ハードウェア資源要求をデバイスドライバ33aに出力する。デバイスドライバ33aは、OS32aからの要求に応じて、仮想マシンモニタ20に対してハードウェア使用要求を出力する。仮想マシンモニタ20がデバイスドライバ33aからの要求に応じてI/Oカード40を使用して動作結果を得ると、その動作結果はデバイスドライバ33aとOS32aとを経由してアプリケーション31aに返される。   When the application 31a uses the I / O card 40 connected to the bridge 13, it first requests the OS 32a. The OS 32a outputs a hardware resource request to the device driver 33a in response to a request from the application 31a. The device driver 33a outputs a hardware use request to the virtual machine monitor 20 in response to a request from the OS 32a. When the virtual machine monitor 20 obtains an operation result using the I / O card 40 in response to a request from the device driver 33a, the operation result is returned to the application 31a via the device driver 33a and the OS 32a.

仮想マシンアドレス変換部34aは、仮想マシン30a内で用いる物理アドレスと、ホスト計算機2で用いる物理アドレスとを対応させる対応表である。仮想マシンアドレス変換部34aは、仮想マシンモニタ20によって書き換えが行われ、仮想マシン30aからは読み出しのみが可能である。   The virtual machine address conversion unit 34a is a correspondence table that associates physical addresses used in the virtual machine 30a with physical addresses used in the host computer 2. The virtual machine address conversion unit 34a is rewritten by the virtual machine monitor 20, and can only be read from the virtual machine 30a.

仮想マシンモニタ20に構築されるその他の仮想マシン30b〜30nの構成および機能も、仮想マシン30aの構成と同一である。以後、たとえば仮想マシン30bはアプリケーション31b、OS32b、デバイスドライバ33b、および仮想マシンアドレス変換部34bを備える…などのように、各仮想マシンの構成要素を表記する。   The configurations and functions of the other virtual machines 30b to 30n constructed in the virtual machine monitor 20 are also the same as the configuration of the virtual machine 30a. Hereinafter, for example, the virtual machine 30b includes the application 31b, the OS 32b, the device driver 33b, the virtual machine address conversion unit 34b, and so on, and the like, and the like.

仮想マシンモニタ20で、アドレス変換管理部21は、I/O管理部22が保持する情報を元に、各仮想マシン30a〜30n内で保持されている仮想マシンアドレス変換部34a〜34nの情報を書き換える。I/O管理部22は、アドレス変換管理部21からの指示によって、仮想マシンインタフェース情報記憶部23と、仮想マシンI/Oサービス管理部24から、ホスト計算機2の物理アドレス空間に対し、I/Oカード40の仮想マシンインタフェース42a〜42nをどのようにマップされるべきかの情報を読み込む。   In the virtual machine monitor 20, the address translation management unit 21 obtains information on the virtual machine address translation units 34 a to 34 n held in the virtual machines 30 a to 30 n based on the information held by the I / O management unit 22. rewrite. In response to an instruction from the address translation management unit 21, the I / O management unit 22 sends an I / O to the physical address space of the host computer 2 from the virtual machine interface information storage unit 23 and the virtual machine I / O service management unit 24. Information on how to map the virtual machine interfaces 42a to 42n of the O card 40 is read.

アドレス変換管理部21は、仮想マシン30a〜30nのうちいずれかが起動する際、I/Oカード40がブリッジ13に接続される際、もしくは仮想マシンインタフェース情報記憶部23および仮想マシンI/Oサービス管理部24のうち少なくともいずれかに保持された情報が変更された際に動作し、仮想マシンアドレス変換部34a〜34nの中で起動される仮想マシンに該当するものを書き換える。なお、仮想マシンインタフェース情報記憶部23および仮想マシンI/Oサービス管理部24に保持された情報を変更する手段および方法については任意である。   The address translation management unit 21 is activated when any one of the virtual machines 30a to 30n is started, when the I / O card 40 is connected to the bridge 13, or when the virtual machine interface information storage unit 23 and the virtual machine I / O service It operates when the information held in at least one of the management units 24 is changed, and rewrites the virtual machine address conversion units 34a to 34n corresponding to the virtual machine to be activated. The means and method for changing the information held in the virtual machine interface information storage unit 23 and the virtual machine I / O service management unit 24 are arbitrary.

仮想マシンインタフェース情報記憶部23は、I/Oカード40の仮想マシンインタフェース42a〜42nの機能と領域の対応関係に関する情報を保持する。仮想マシンI/Oサービス管理部24は、仮想マシン30b〜30nに対し、I/Oカード40の機能のどの部分を使用することが可能であるかの設定情報を保持する。なお、仮想マシンインタフェース情報記憶部23と、仮想マシンI/Oサービス管理部24とに記憶される情報は、あらかじめ設定されているものとする。   The virtual machine interface information storage unit 23 holds information regarding the correspondence between the functions and areas of the virtual machine interfaces 42 a to 42 n of the I / O card 40. The virtual machine I / O service management unit 24 holds setting information indicating which part of the function of the I / O card 40 can be used for the virtual machines 30b to 30n. It is assumed that information stored in the virtual machine interface information storage unit 23 and the virtual machine I / O service management unit 24 is set in advance.

以下、仮想マシンモニタ20の管理下で仮想マシン30aおよび30bという2台の仮想マシンが動作している場合の一例に基づいて、各動作部が記憶しているデータの内容およびホスト計算機2で行われる動作の内容を説明する。また、この例ではホスト計算機2は1つのみのブリッジ13を備え、ブリッジ13に1つのみのI/Oカード40が接続され、I/Oカード40の持つ機能は基本機能と拡張機能という2種類の区分に分かれているものとする。   Hereinafter, based on an example in which two virtual machines 30a and 30b are operating under the control of the virtual machine monitor 20, the contents of data stored in each operation unit and the host computer 2 The contents of the operation will be described. In this example, the host computer 2 includes only one bridge 13, and only one I / O card 40 is connected to the bridge 13. The functions of the I / O card 40 are the basic function and the extended function. It shall be divided into categories.

図2は、図1で示したI/Oカード40が有する仮想マシンインタフェース42aおよび42bの構成を示す概念図である。仮想マシンインタフェース42aおよび42bは、それぞれ仮想マシン30aおよび30bに対応するものであり、それぞれRAM12のメモリページシステム3ページ相当の大きさを持つ。以後、仮想マシンインタフェース42aの持つページはページ101a1〜a3、仮想マシンインタフェース42bの持つページはページ101b1〜b3とのように表記する。   FIG. 2 is a conceptual diagram showing the configuration of the virtual machine interfaces 42a and 42b included in the I / O card 40 shown in FIG. The virtual machine interfaces 42a and 42b correspond to the virtual machines 30a and 30b, respectively, and have a size corresponding to 3 pages of the memory page system of the RAM 12. Hereinafter, pages of the virtual machine interface 42a are expressed as pages 101a1 to a3, and pages of the virtual machine interface 42b are expressed as pages 101b1 to b3.

図3は、図1で示した仮想マシンインタフェース情報記憶部23が保持する情報の内容の一例を示す概念図である。仮想マシンインタフェース情報記憶部23は、対象となるデバイスを表すデバイス名111と、RAM12のメモリページシステム上の何ページ目かを表すページ112と各ページが表す機能113といったデータを含む。   FIG. 3 is a conceptual diagram showing an example of the content of information held by the virtual machine interface information storage unit 23 shown in FIG. The virtual machine interface information storage unit 23 includes data such as a device name 111 representing a target device, a page 112 representing the number of pages on the memory page system of the RAM 12, and a function 113 represented by each page.

ここでは、デバイス名111がI/Oカード40で、ページ112の1〜2ページ目で機能113が「基本機能」、ページ112の3ページ目で機能113が「拡張機能」を表している。これは、図2で示した仮想マシンインタフェース42aおよび42bにおいて、1ページ目と2ページ目が基本機能、3ページ目が拡張機能を実現するものであることを意味する。   Here, the device name 111 is the I / O card 40, the function 113 represents the “basic function” on the first and second pages of the page 112, and the function 113 represents the “extended function” on the third page of the page 112. This means that in the virtual machine interfaces 42a and 42b shown in FIG. 2, the first and second pages realize basic functions, and the third page realizes extended functions.

図4は、図1で示した仮想マシンI/Oサービス管理部24が保持する情報の内容の一例を示す概念図である。仮想マシンI/Oサービス管理部24は、対象となる仮想マシンおよびI/Oカードを表す仮想マシン名121およびI/Oカード名122と、基本機能および拡張機能の別を表す機能区分123と、各々の機能に対するアクセス権124といったデータを含む。   FIG. 4 is a conceptual diagram showing an example of the content of information held by the virtual machine I / O service management unit 24 shown in FIG. The virtual machine I / O service management unit 24 includes a virtual machine name 121 and an I / O card name 122 representing a target virtual machine and an I / O card, a function classification 123 representing a basic function and an extended function, It includes data such as access rights 124 for each function.

ここでは、仮想マシン30aは、I/Oカード40の基本機能のみの使用が許可され、拡張機能の使用は不許可である。そして仮想マシン30bは、I/Oカード40の基本機能および拡張機能の両方の使用が許可される。以上の旨を示すデータが、仮想マシンI/Oサービス管理部24に記憶されている。   Here, the virtual machine 30a is permitted to use only the basic functions of the I / O card 40 and is not permitted to use the extended functions. The virtual machine 30b is permitted to use both basic functions and extended functions of the I / O card 40. Data indicating the above is stored in the virtual machine I / O service management unit 24.

I/O管理部22は、仮想マシンインタフェース情報記憶部23に保持されたI/Oカード40についての情報と、仮想マシンI/Oサービス管理部24に保持された仮想マシン毎のアクセス権情報を元に、RAM12上の物理メモリアドレス空間と仮想マシンインタフェース42aおよび42bのマッピングを行う。   The I / O management unit 22 includes information on the I / O card 40 held in the virtual machine interface information storage unit 23 and access right information for each virtual machine held in the virtual machine I / O service management unit 24. Originally, the physical memory address space on the RAM 12 and the virtual machine interfaces 42a and 42b are mapped.

図5は、図1で示したRAM12上のアドレス空間200における仮想マシンインタフェース42aおよび42bのマッピングの様子を示す概念図である。アドレス空間200は、仮想マシンインタフェース42aおよび42bのためにRAM12上に確保されている。   FIG. 5 is a conceptual diagram showing how the virtual machine interfaces 42a and 42b are mapped in the address space 200 on the RAM 12 shown in FIG. Address space 200 is reserved on RAM 12 for virtual machine interfaces 42a and 42b.

前述のように、仮想マシン30aは、I/Oカード40の基本機能のみの使用が許可され、拡張機能の使用は不許可であるとする情報が仮想マシンI/Oサービス管理部24に記憶されている。このため、I/O管理部22は仮想マシンインタフェース情報記憶部23を参照して、仮想マシンインタフェース42aはページ101a1〜a2が基本機能に該当し、ページ101a3が拡張機能に該当するとの情報を得る。これに基づいてアドレス変換管理部21は、基本機能に該当するページ101a1〜a2のみをアドレス空間200内にマッピングする。拡張機能に該当するページ101a3はマッピングしない。仮想マシンインタフェース42bはページ101b1〜b3に該当する基本機能および拡張機能の両方の使用が許可されるので、ページ101b1〜b3の全てがアドレス空間200内にマッピングされる。   As described above, the virtual machine 30a is stored in the virtual machine I / O service management unit 24 with information that only the basic functions of the I / O card 40 are permitted and the use of the extended functions is not permitted. ing. Therefore, the I / O management unit 22 refers to the virtual machine interface information storage unit 23, and the virtual machine interface 42a obtains information that the pages 101a1 to a2 correspond to basic functions and the page 101a3 corresponds to an extended function. . Based on this, the address conversion management unit 21 maps only the pages 101 a 1 to a 2 corresponding to the basic function in the address space 200. The page 101a3 corresponding to the extended function is not mapped. Since the virtual machine interface 42b is permitted to use both basic functions and extended functions corresponding to the pages 101b1 to b3, all the pages 101b1 to b3 are mapped in the address space 200.

図5に示した例では、アドレス空間200の中で、物理アドレス0x10000に仮想マシンインタフェース42aのページ101a1、物理アドレス0x11000に仮想マシンインタフェース42aのページ101a2がマッピングされる。また物理アドレス0x25000に仮想マシンインタフェース42bのページ101b1、物理アドレス0x26000に仮想マシンインタフェース42bのページ101b2、物理アドレス0x27000に仮想マシンインタフェース42bのページ101b3がそれぞれマッピングされる。このアドレス空間200上のマッピングに基づいて、仮想マシン30aおよび30bは各々、仮想マシンインタフェース42aおよび42bとのデータ交換を行うことができる。   In the example shown in FIG. 5, in the address space 200, the virtual machine interface 42a page 101a1 is mapped to the physical address 0x10000, and the virtual machine interface 42a page 101a2 is mapped to the physical address 0x11000. Further, the page 101b1 of the virtual machine interface 42b is mapped to the physical address 0x25000, the page 101b2 of the virtual machine interface 42b is mapped to the physical address 0x26000, and the page 101b3 of the virtual machine interface 42b is mapped to the physical address 0x27000. Based on the mapping on the address space 200, the virtual machines 30a and 30b can exchange data with the virtual machine interfaces 42a and 42b, respectively.

図6は、図1で示したアドレス変換管理部21によって作成される仮想マシンアドレス変換部34aおよび34bの内容の一例を示す概念図である。また図7は、図1で示したアドレス変換管理部21が図6に示した仮想マシンアドレス変換部34aおよび34bを作成する動作を表すフローチャートである。   FIG. 6 is a conceptual diagram showing an example of the contents of the virtual machine address translators 34a and 34b created by the address translation manager 21 shown in FIG. FIG. 7 is a flowchart showing an operation in which the address translation management unit 21 shown in FIG. 1 creates the virtual machine address translation units 34a and 34b shown in FIG.

アドレス変換管理部21は、仮想マシン30aもしくは30bが動作開始する際、ブリッジ13にI/Oカード40が接続される際、もしくは仮想マシンインタフェース情報記憶部23および仮想マシンI/Oサービス管理部24に保持された情報が変更された際に動作を開始して、仮想マシンインタフェース情報記憶部23に保持されたI/Oカード40についての情報と、仮想マシンI/Oサービス管理部24に保持された仮想マシン毎のアクセス権情報とを、I/O管理部22を介して読み込む(ステップS301〜2)。そしてアドレス空間200内にマッピングされた各ページについての情報も読み込む(ステップS303)。   The address translation management unit 21 is used when the virtual machine 30a or 30b starts operating, when the I / O card 40 is connected to the bridge 13, or the virtual machine interface information storage unit 23 and the virtual machine I / O service management unit 24. The operation starts when the information held in the virtual machine interface information is changed, and the information about the I / O card 40 held in the virtual machine interface information storage unit 23 and the virtual machine I / O service management unit 24 are held. The access right information for each virtual machine is read via the I / O management unit 22 (steps S301 to S301). Information about each page mapped in the address space 200 is also read (step S303).

アドレス変換管理部21は、以上で読み込んだ情報に基づいて、仮想マシンI/Oサービス管理部24で起動される仮想マシンの仮想マシン名121、I/Oカード名122および機能区分123のうちのいずれかに対して、対応するアクセス権124について判断する(ステップS304〜305)。アクセス権124が「許可」であれば、該当する仮想マシン名121の仮想マシンアドレス変換部34aもしくは34bに、該当する情報を書き込む(ステップS306)。アクセス権124が「不許可」であれば書き込まない。   Based on the information read above, the address translation management unit 21 includes the virtual machine name 121, the I / O card name 122, and the function classification 123 of the virtual machine activated by the virtual machine I / O service management unit 24. In any case, the corresponding access right 124 is determined (steps S304 to S305). If the access right 124 is “permitted”, the corresponding information is written in the virtual machine address conversion unit 34a or 34b of the corresponding virtual machine name 121 (step S306). If the access right 124 is “non-permitted”, it is not written.

アドレス変換管理部21は、ステップS305〜306の処理を、該当する仮想マシン名121、I/Oカード名122および機能区分123の全てに対して行ったかを判断し(ステップS307)、完了していなければ他の仮想マシン名121、I/Oカード名122および機能区分123に移動してステップS305からの処理を繰り返す(ステップS308)。ステップS307で「完了した」と判断されれば、アドレス変換管理部21は該当する仮想マシンの動作を開始させ(ステップS309)、自らの動作を終了する。   The address translation management unit 21 determines whether or not the processing in steps S305 to S306 has been performed for all of the corresponding virtual machine name 121, I / O card name 122, and function classification 123 (step S307), and has been completed. If not, the process moves to another virtual machine name 121, I / O card name 122, and function category 123, and the processing from step S305 is repeated (step S308). If it is determined in step S307 that the operation has been completed, the address translation management unit 21 starts the operation of the corresponding virtual machine (step S309) and ends its own operation.

図6に示される各仮想マシンの仮想マシンアドレス変換部34aもしくは34bには、I/Oカード名122および機能区分123ごとに、対応するアドレス空間200内のアドレス131と、仮想マシン30aもしくは30bのアドレス空間210の物理アドレス132とが書き込まれる。その際、アクセス権124が「許可」である機能区分123についてのみ書き込まれ、アクセス権124が「不許可」であれば書き込まれない。   The virtual machine address conversion unit 34a or 34b of each virtual machine shown in FIG. 6 includes the address 131 in the corresponding address space 200 and the virtual machine 30a or 30b for each I / O card name 122 and function division 123. The physical address 132 of the address space 210 is written. At that time, the information is written only for the function category 123 whose access right 124 is “permitted”, and is not written if the access right 124 is “not permitted”.

図6(a)は、仮想マシン30aの仮想マシンアドレス変換部34aである。アプリケーション31aがI/Oカード40の基本機能にアクセスしたい場合、仮想マシン30aのアドレス空間210の物理アドレス0x00000にアクセスすると、デバイスドライバ33aは仮想マシンアドレス変換部34aを参照して、RAM12のアドレス空間200のアドレス0x10000にアクセスすることができる。ただしI/Oカード40の拡張機能に対応するエントリは仮想マシンアドレス変換部34aには存在しないので、仮想マシン30aにとってはI/Oカード40の拡張機能はそもそも存在しないのと同じことになり、もちろんアクセスすることはできない。   FIG. 6A illustrates the virtual machine address conversion unit 34a of the virtual machine 30a. When the application 31a wants to access the basic function of the I / O card 40, when accessing the physical address 0x00000 in the address space 210 of the virtual machine 30a, the device driver 33a refers to the virtual machine address conversion unit 34a, and the address space of the RAM 12 200 addresses 0x10000 can be accessed. However, since the entry corresponding to the extended function of the I / O card 40 does not exist in the virtual machine address conversion unit 34a, the extended function of the I / O card 40 does not exist in the first place for the virtual machine 30a. Of course you cannot access it.

図6(b)は、仮想マシン30bの仮想マシンアドレス変換部34bである。アプリケーション31aがI/Oカード40の基本機能にアクセスしたい場合、仮想マシン30bのアドレス空間210の物理アドレス0x00000にアクセスすると、デバイスドライバ33bは仮想マシンアドレス変換部34bを参照して、RAM12のアドレス空間200のアドレス0x25000にアクセスする。同様に、アプリケーション31aがI/Oカード40の拡張機能にアクセスしたい場合、仮想マシン30bのアドレス空間210の物理アドレス0x02000にアクセスすると、デバイスドライバ33bは仮想マシンアドレス変換部34bを参照して、RAM12のアドレス空間200のアドレス0x27000にアクセスする。これによって仮想マシン30bは、I/Oカード40の基本機能と拡張機能の両方にアクセスできる。   FIG. 6B illustrates the virtual machine address conversion unit 34b of the virtual machine 30b. When the application 31a wants to access the basic function of the I / O card 40, when accessing the physical address 0x00000 in the address space 210 of the virtual machine 30b, the device driver 33b refers to the virtual machine address conversion unit 34b and refers to the address space of the RAM 12 200 address 0x25000 is accessed. Similarly, when the application 31a wants to access the extended function of the I / O card 40, when accessing the physical address 0x02000 of the address space 210 of the virtual machine 30b, the device driver 33b refers to the virtual machine address conversion unit 34b and refers to the RAM 12 The address 0x27000 of the address space 200 is accessed. Thus, the virtual machine 30b can access both the basic function and the extended function of the I / O card 40.

これによって、I/Oカード40上の基本機能には仮想マシン30aおよび30bの両方からのアクセスを許可し、拡張機能には仮想マシン30bからのアクセスのみを許可して仮想マシン30aからのアクセスを遮断するという動作が可能となった。   As a result, access from both the virtual machines 30a and 30b is permitted to the basic function on the I / O card 40, and access from the virtual machine 30b is permitted to the extended function, and access from the virtual machine 30a is permitted. The operation of blocking is now possible.

図7に示した動作は、仮想マシン30aもしくは30bが動作開始する際、ブリッジ13にI/Oカード40が接続される際、もしくは仮想マシンインタフェース情報記憶部23および仮想マシンI/Oサービス管理部24のうち少なくともいずれかに保持された情報が変更された際にのみ行われ、通常動作時においてCPU11に常駐するものではない。従って、各々の仮想マシンからI/Oカード40を使用する要求があるたびにCPU11がそれらのアクセス権限について判断する必要はないので、通常動作時におけるCPU11に対する負荷を増大させることはない。   The operation shown in FIG. 7 is performed when the virtual machine 30a or 30b starts operating, when the I / O card 40 is connected to the bridge 13, or the virtual machine interface information storage unit 23 and the virtual machine I / O service management unit. It is performed only when the information held in at least one of 24 is changed, and does not reside in the CPU 11 during normal operation. Therefore, it is not necessary for the CPU 11 to determine the access authority every time there is a request to use the I / O card 40 from each virtual machine, so that the load on the CPU 11 during normal operation is not increased.

本実施の形態では、以上に述べたように仮想マシンアドレス変換部34aおよび34bを備えることによって、通常動作時におけるCPU11に対する負荷を増大させることなく、複数の仮想マシンの各々に対して異なるサービスレベルを提供することができる。この動作は、各々のソフトウェアをわずかに改変するだけで実施でき、ハードウェアの変更を必要とはしない。   In the present embodiment, as described above, by providing the virtual machine address conversion units 34a and 34b, different service levels are provided for each of a plurality of virtual machines without increasing the load on the CPU 11 during normal operation. Can be provided. This operation can be performed with slight modifications to each software, and does not require hardware changes.

以上に述べた動作は、3台以上の仮想マシンの場合、ブリッジ13に複数のI/Oカード40が接続されている場合、およびI/Oカード40の機能が3つ以上の区分に分かれる場合にも容易に拡張できる。もちろん、I/Oカード40の機能が実際には何であるかについても不問である。   The operations described above are for three or more virtual machines, when a plurality of I / O cards 40 are connected to the bridge 13, and when the functions of the I / O card 40 are divided into three or more categories. Can be easily extended. Of course, it does not matter what the function of the I / O card 40 is actually.

[第2の実施の形態]
図8は、本発明の第2の実施の形態に係る仮想マシンシステム1bの構成を示すブロック図である。仮想マシンシステム1bは、ホスト計算機2bにI/Oカード40bが接続されてなる。ホスト計算機2bに含まれる仮想マシンモニタ20bは、第1の実施の形態に係るホスト計算機2に含まれる仮想マシンモニタ20と比べて、仮想マシンインタフェース情報記憶部23が省略されている。そのかわりI/Oカード40bは、第1の実施の形態に係るI/Oカード40と比べて、仮想マシンインタフェース情報記憶部43が追加されている。これ以外は、仮想マシンシステム1bの構成は第1の実施の形態に係る仮想マシンシステム1と同一であるので、これ以上の説明を省略する。
[Second Embodiment]
FIG. 8 is a block diagram showing the configuration of the virtual machine system 1b according to the second embodiment of the present invention. The virtual machine system 1b is configured by connecting an I / O card 40b to a host computer 2b. In the virtual machine monitor 20b included in the host computer 2b, the virtual machine interface information storage unit 23 is omitted compared to the virtual machine monitor 20 included in the host computer 2 according to the first embodiment. Instead, the virtual machine interface information storage unit 43 is added to the I / O card 40b as compared with the I / O card 40 according to the first embodiment. Other than this, the configuration of the virtual machine system 1b is the same as that of the virtual machine system 1 according to the first embodiment, and thus further description thereof is omitted.

仮想マシンインタフェース情報記憶部43は、第1の実施の形態に係る仮想マシンインタフェース情報記憶部23と同じく、仮想マシンインタフェース42a〜42nの機能と領域の対応関係に関する情報を保持する。そして仮想マシンインタフェース情報記憶部43に記憶された情報は、仮想マシンモニタ20bのI/O管理部22から参照可能である。   Similar to the virtual machine interface information storage unit 23 according to the first embodiment, the virtual machine interface information storage unit 43 holds information regarding the correspondence between the functions and areas of the virtual machine interfaces 42a to 42n. The information stored in the virtual machine interface information storage unit 43 can be referred to from the I / O management unit 22 of the virtual machine monitor 20b.

図9は、図8で示した仮想マシンインタフェース情報記憶部43が保持する情報の内容の一例を示す概念図である。仮想マシンインタフェース情報記憶部43は、各々のI/Oカード40についてのみの情報を保持する。従って、第1の実施の形態に係る仮想マシンインタフェース情報記憶部23と比べてデバイス名111が省略され、ページ112と機能113などのデータを含んでいる。   FIG. 9 is a conceptual diagram showing an example of the content of information held by the virtual machine interface information storage unit 43 shown in FIG. The virtual machine interface information storage unit 43 holds information only for each I / O card 40. Therefore, the device name 111 is omitted as compared with the virtual machine interface information storage unit 23 according to the first embodiment, and data such as the page 112 and the function 113 is included.

このようにしても、第2の実施の形態に係る仮想マシンシステム1bは、第1の実施の形態に係る仮想マシンシステム1と同一の動作を行うことができ、同一の効果を得ることができる。よって、これ以上の構成および動作についての説明を省略する。   Even in this case, the virtual machine system 1b according to the second embodiment can perform the same operation as the virtual machine system 1 according to the first embodiment, and can obtain the same effect. . Therefore, the description about the structure and operation | movement beyond this is abbreviate | omitted.

[その他の実施の形態]
以上で説明した第1および第2の実施の形態以外にも、次に示すような変形が考えられる。たとえば、CPUをブリッジを介してI/Oカードと接続するかわりに、CPUとI/Oカードとを直結するようにしてもよい。また、I/Oカードをホスト計算機と接続するI/Oパケット転送部のかわりに、バスインタフェースを利用して接続するようにしてもよい。
[Other embodiments]
In addition to the first and second embodiments described above, the following modifications are possible. For example, instead of connecting the CPU to the I / O card via a bridge, the CPU and the I / O card may be directly connected. Further, instead of the I / O packet transfer unit that connects the I / O card to the host computer, it may be connected using a bus interface.

さらに、仮想マシン上のアプリケーションがOSおよびデバイスドライバを介してアクセス要求を行うかわりに、OSとデバイスドライバのうちの両方あるいは片方を省略して、アプリケーションがより直接的に仮想マシンに対してアクセス要求を行うようにすることもできる。当然ながら、以上に述べた実施の形態およびその変形を、相互に組み合わせて実施することもできる。   Further, instead of the application on the virtual machine making an access request via the OS and the device driver, both or one of the OS and the device driver is omitted, and the application requests the virtual machine more directly. It is also possible to perform. Of course, the above-described embodiment and its modifications can be implemented in combination with each other.

これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることは言うまでもないことである。   Although the present invention has been described with the specific embodiments shown in the drawings, the present invention is not limited to the embodiments shown in the drawings, and is known so far as long as the effects of the present invention are achieved. It goes without saying that any configuration can be adopted.

複数の仮想マシンを構築して動作する計算機において利用可能である。   It can be used in a computer that operates by constructing a plurality of virtual machines.

本発明の第1の実施の形態に係る仮想マシンシステムVirtual machine system according to first embodiment of the present invention 図1で示したI/Oカードが有する仮想マシンインタフェースの構成を示す概念図である。FIG. 2 is a conceptual diagram illustrating a configuration of a virtual machine interface included in the I / O card illustrated in FIG. 1. 図1で示した仮想マシンインタフェース情報記憶部が保持する情報の内容の一例を示す概念図である。FIG. 2 is a conceptual diagram illustrating an example of content of information held by a virtual machine interface information storage unit illustrated in FIG. 1. 図1で示した仮想マシンI/Oサービス管理部が保持する情報の内容の一例を示す概念図である。FIG. 2 is a conceptual diagram illustrating an example of content of information held by a virtual machine I / O service management unit illustrated in FIG. 1. 図1で示したRAM上のアドレス空間における仮想マシンインタフェースのマッピングの様子を示す概念図である。It is a conceptual diagram which shows the mode of the mapping of the virtual machine interface in the address space on RAM shown in FIG. 図1で示したアドレス変換管理部によって作成される仮想マシンアドレス変換部の内容の一例を示す概念図である。It is a conceptual diagram which shows an example of the content of the virtual machine address conversion part produced by the address conversion management part shown in FIG. 図1で示したアドレス変換管理部が図6に示した仮想マシンアドレス変換部を作成する動作を表すフローチャートである。7 is a flowchart illustrating an operation of creating the virtual machine address conversion unit illustrated in FIG. 6 by the address conversion management unit illustrated in FIG. 1. 本発明の第2の実施の形態に係る仮想マシンシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the virtual machine system which concerns on the 2nd Embodiment of this invention. 図8で示した仮想マシンインタフェース情報記憶部が保持する情報の内容の一例を示す概念図である。It is a conceptual diagram which shows an example of the content of the information which the virtual machine interface information storage part shown in FIG. 8 hold | maintains.

符号の説明Explanation of symbols

1、1b 仮想マシンシステム
2、2b ホスト計算機
11 CPU
12 RAM
13 ブリッジ
20、20b 仮想マシンモニタ
21 アドレス変換管理部
22 I/O管理部
23、43 仮想マシンインタフェース情報記憶部
24 仮想マシンI/Oサービス管理部
30a〜n 仮想マシン
31a〜n アプリケーション
32a〜n OS
33a〜n デバイスドライバ
34a〜n 仮想マシンアドレス変換部
40a〜n I/Oカード
41 I/Oパケット転送部
42a〜n 仮想マシンインタフェース
1, 1b Virtual machine system 2, 2b Host computer 11 CPU
12 RAM
13 Bridge 20, 20b Virtual machine monitor 21 Address conversion management unit 22 I / O management unit 23, 43 Virtual machine interface information storage unit 24 Virtual machine I / O service management unit 30a-n Virtual machine 31a-n Application 32a-n OS
33a-n Device driver 34a-n Virtual machine address conversion unit 40a-n I / O card 41 I / O packet transfer unit 42a-n Virtual machine interface

Claims (19)

複数の仮想マシンが動作するホスト計算機と、前記ホスト計算機に接続されて該ホスト計算機に複数の機能を提供するI/Oカードとを備える仮想マシンシステムであって、
前記I/Oカードが、前記複数の仮想マシンに対応し、各々が前記複数の機能の各々に対応する複数のページを有する複数の仮想マシンインタフェースを有し、
各々の前記仮想マシンが、前記仮想マシン上における物理アドレスと、前記ホスト計算機上における前記仮想マシンインタフェースおよび前記ページの物理アドレスとを変換するアドレス変換部を有することを特徴とする仮想マシンシステム。
A virtual machine system comprising a host computer on which a plurality of virtual machines operate, and an I / O card connected to the host computer and providing a plurality of functions to the host computer,
The I / O card has a plurality of virtual machine interfaces corresponding to the plurality of virtual machines, each having a plurality of pages corresponding to each of the plurality of functions;
Each of the virtual machines has an address conversion unit that converts a physical address on the virtual machine and a physical address of the virtual machine interface and the page on the host computer.
前記ホスト計算機が、
前記複数の仮想マシンの各々に対する前記機能の各々の使用可否に関する情報を保持する仮想マシンI/Oサービス管理部と、
各々の前記複数の仮想マシンの前記アドレス変換部に、使用可能である旨の情報を前記仮想マシンI/Oサービス管理部が保持している前記機能について前記仮想マシンインタフェースの物理アドレスを書き込むアドレス変換管理部と
を有することを特徴とする、請求項1に記載の仮想マシンシステム。
The host computer is
A virtual machine I / O service management unit that holds information about availability of each of the functions for each of the plurality of virtual machines;
Address conversion for writing the physical address of the virtual machine interface for the function held by the virtual machine I / O service management unit to the address conversion unit of each of the plurality of virtual machines. The virtual machine system according to claim 1, further comprising a management unit.
前記ホスト計算機もしくは前記I/Oカードが、前記複数のページの各々が前記複数の機能のうちのいずれに対応するかに関する情報を保持する仮想マシンインタフェース情報記憶部を有することを特徴とする、請求項2に記載の仮想マシンシステム。   The host computer or the I / O card includes a virtual machine interface information storage unit that holds information regarding which of the plurality of functions corresponds to each of the plurality of pages. Item 3. The virtual machine system according to Item 2. 前記アドレス変換管理部は、前記仮想マシンが起動された際、前記I/Oカードが前記ホスト計算機に接続された際、もしくは前記仮想マシンインタフェース情報記憶部および前記仮想マシンI/Oサービス管理部のうち少なくともいずれかに保持された情報が変更された際のいずれかに該当する場合に、前記アドレス変換部に前記仮想マシンインタフェースの物理アドレスを書き込むことを特徴とする、請求項3に記載の仮想マシンシステム。   The address translation management unit is configured such that when the virtual machine is activated, the I / O card is connected to the host computer, or the virtual machine interface information storage unit and the virtual machine I / O service management unit. The virtual address according to claim 3, wherein the physical address of the virtual machine interface is written in the address translation unit when the information held in at least one of them is changed. Machine system. 前記複数のページが、前記ホスト計算機のメモリシステムにおけるページサイズあるいはその倍数単位に前記機能を割り付けられていることを特徴とする、請求項2に記載の仮想マシンシステム。   The virtual machine system according to claim 2, wherein the plurality of pages are assigned the function in units of a page size or a multiple of the page size in the memory system of the host computer. 前記I/Oカードが、前記ホスト計算機からのアクセス要求を適切な前記仮想マシンインタフェースに配送するI/Oパケット転送部を有することを特徴とする、請求項2に記載の仮想マシンシステム。   The virtual machine system according to claim 2, wherein the I / O card includes an I / O packet transfer unit that delivers an access request from the host computer to an appropriate virtual machine interface. 複数の仮想マシンが動作し、前記複数の仮想マシンに対応し、各々が前記複数の機能の各々に対応する複数のページを有する複数の仮想マシンインタフェースを有するI/Oカードを接続可能なホスト計算機であって、
各々の前記仮想マシンが、前記仮想マシン上における物理アドレスと、前記ホスト計算機上における前記仮想マシンインタフェースおよび前記ページの物理アドレスとを変換するアドレス変換部を有することを特徴とするホスト計算機。
Host computer capable of connecting an I / O card having a plurality of virtual machine interfaces on which a plurality of virtual machines operate, corresponding to the plurality of virtual machines, each having a plurality of pages corresponding to each of the plurality of functions Because
Each of the virtual machines includes an address conversion unit that converts a physical address on the virtual machine and a physical address of the virtual machine interface and the page on the host computer.
前記複数の仮想マシンの各々に対する前記機能の各々の使用可否に関する情報を保持する仮想マシンI/Oサービス管理部と、
各々の前記複数の仮想マシンの前記アドレス変換部に、使用可能である旨の情報を前記仮想マシンI/Oサービス管理部が保持している前記機能について前記仮想マシンインタフェースの物理アドレスを書き込むアドレス変換管理部と
を有することを特徴とする、請求項7に記載のホスト計算機。
A virtual machine I / O service management unit that holds information about availability of each of the functions for each of the plurality of virtual machines;
Address conversion for writing the physical address of the virtual machine interface for the function held by the virtual machine I / O service management unit to the address conversion unit of each of the plurality of virtual machines. The host computer according to claim 7, further comprising a management unit.
前記複数のページの各々が前記複数の機能のうちのいずれに対応するかに関する情報を保持する仮想マシンインタフェース情報記憶部を有することを特徴とする、請求項8に記載のホスト計算機。   The host computer according to claim 8, further comprising a virtual machine interface information storage unit that holds information regarding which of the plurality of functions corresponds to each of the plurality of pages. 前記アドレス変換管理部は、前記仮想マシンが起動された際、前記I/Oカードが接続された際、もしくは前記仮想マシンインタフェース情報記憶部および前記仮想マシンI/Oサービス管理部のうち少なくともいずれかに保持された情報が変更された際のいずれかに該当する場合に、前記アドレス変換部に前記仮想マシンインタフェースの物理アドレスを書き込むことを特徴とする、請求項9に記載のホスト計算機。   The address translation management unit is at least one of the virtual machine interface information storage unit and the virtual machine I / O service management unit when the virtual machine is started, the I / O card is connected, or the virtual machine interface information storage unit and the virtual machine I / O service management unit. 10. The host computer according to claim 9, wherein the physical address of the virtual machine interface is written in the address conversion unit when the information held in the information corresponds to any of when the information is changed. 複数の仮想マシンが動作するホスト計算機に接続されて該ホスト計算機に複数の機能を提供するI/Oカードであって、
前記複数の仮想マシンに対応し、各々が前記複数の機能の各々に対応する複数のページを有する複数の仮想マシンインタフェースを有することを特徴とするI/Oカード。
An I / O card that is connected to a host computer on which a plurality of virtual machines operate and provides a plurality of functions to the host computer,
An I / O card comprising a plurality of virtual machine interfaces corresponding to the plurality of virtual machines, each having a plurality of pages corresponding to each of the plurality of functions.
前記複数のページの各々が前記複数の機能のうちのいずれに対応するかに関する情報を保持する仮想マシンインタフェース情報記憶部を有することを特徴とする、請求項11に記載のI/Oカード。   The I / O card according to claim 11, further comprising a virtual machine interface information storage unit that stores information regarding which of the plurality of functions corresponds to each of the plurality of pages. 前記複数のページが、前記ホスト計算機のメモリシステムにおけるページサイズあるいはその倍数単位に前記機能を割り付けられていることを特徴とする、請求項12に記載のI/Oカード。   13. The I / O card according to claim 12, wherein the plurality of pages are assigned the function in units of page size or multiples thereof in the memory system of the host computer. 前記ホスト計算機からのアクセス要求を適切な前記仮想マシンインタフェースに配送するI/Oパケット転送部を有することを特徴とする、請求項12に記載のI/Oカード。   The I / O card according to claim 12, further comprising an I / O packet transfer unit that delivers an access request from the host computer to an appropriate virtual machine interface. 複数の仮想マシンに対応し、各々が複数の機能の各々に対応する複数のページを有する複数の仮想マシンインタフェースを有するI/Oカードが接続されているホスト計算機で複数の仮想マシンを構築する方法であって、
前記仮想マシン上における物理アドレスと、前記ホスト計算機上における前記仮想マシンインタフェースおよび前記ページの物理アドレスとを変換するアドレス変換部を前記仮想マシンに提供するアドレス変換部提供工程と、
各々の前記仮想マシンが前記アドレス変換部を利用して前記ページにアクセスするアクセス工程と
を有することを特徴とする仮想マシン構築方法。
Method of constructing a plurality of virtual machines by a host computer to which an I / O card having a plurality of virtual machine interfaces corresponding to a plurality of virtual machines and having a plurality of pages each corresponding to each of a plurality of functions is connected Because
An address conversion unit providing step for providing the virtual machine with an address conversion unit for converting a physical address on the virtual machine and a physical address of the virtual machine interface and the page on the host computer;
Each virtual machine includes an access step of accessing the page by using the address conversion unit.
前記アドレス変換部提供工程が、
前記ホスト計算機が備える前記複数の仮想マシンの各々に対する前記機能の各々の使用可否に関する情報を読み込む使用可否読み取り工程と、
前記使用可否読み取り工程で使用可能である旨の情報が読み取られた前記機能について、各々の前記複数の仮想マシンの前記アドレス変換部に前記仮想マシンインタフェースの物理アドレスを書き込むアドレス変換部書き込み工程と
を含むことを特徴とする、請求項15に記載の仮想マシン構築方法。
The address conversion unit providing step includes:
An availability reading step of reading information on availability of each of the functions for each of the plurality of virtual machines included in the host computer;
An address conversion unit writing step of writing a physical address of the virtual machine interface to the address conversion unit of each of the plurality of virtual machines for the function for which the information indicating that it can be used is read in the availability reading step. The virtual machine construction method according to claim 15, further comprising:
前記アドレス変換部提供工程が、
前記ホスト計算機もしくは前記I/Oカードが備える前記複数のページの各々が前記複数の機能のうちのいずれに対応するかに関する情報を読み込むページ情報読み取り工程を有することを特徴とする、請求項16に記載の仮想マシン構築方法。
The address conversion unit providing step includes:
The page information reading step of reading information on which of the plurality of functions each of the plurality of pages included in the host computer or the I / O card corresponds to. The described virtual machine construction method.
前記仮想マシンが起動された際、前記I/Oカードが前記ホスト計算機に接続された際、もしくは前記複数の仮想マシンの各々に対する前記機能の各々の使用可否に関する情報および前記複数のページの各々が前記複数の機能のうちのいずれに対応するかに関する情報のうち少なくともいずれかが変更された際のいずれかに該当する場合に、前記アドレス変換部提供工程が行われることを特徴とする、請求項17に記載の仮想マシン構築方法。   When the virtual machine is started up, when the I / O card is connected to the host computer, or information regarding availability of each of the functions for each of the plurality of virtual machines and each of the plurality of pages The address conversion unit providing step is performed when at least one of information on which one of the plurality of functions corresponds is changed. 18. The virtual machine construction method according to 17. 複数の仮想マシンに対応し、各々が複数の機能の各々に対応する複数のページを有する複数の仮想マシンインタフェースを有するI/Oカードが接続されているホスト計算機に、
前記ホスト計算機が備える前記複数の仮想マシンの各々に対する前記機能の各々の使用可否に関する情報を読み込む使用可否読み取り処理と、
前記使用可否読み取り工程で使用可能である旨の情報が読み取られた前記機能について、前記仮想マシン上における物理アドレスと前記ホスト計算機上における前記仮想マシンインタフェースおよび前記ページの物理アドレスとを変換するアドレス変換部に前記仮想マシンインタフェースの物理アドレスを書き込むアドレス変換部書き込み処理と
を実行させることを特徴とする仮想マシン構築プログラム。
To a host computer to which an I / O card having a plurality of virtual machine interfaces corresponding to a plurality of virtual machines and having a plurality of pages each corresponding to each of a plurality of functions is connected,
An availability read process for reading information on availability of each of the functions for each of the plurality of virtual machines included in the host computer;
Address conversion for converting the physical address on the virtual machine and the virtual machine interface and the physical address of the page on the host computer for the function for which the information indicating that it can be used is read in the availability reading step. A virtual machine construction program that causes an address conversion unit writing process to write a physical address of the virtual machine interface to the unit.
JP2008103914A 2008-04-11 2008-04-11 Virtual machine system, host computer, virtual machine construction method and program Expired - Fee Related JP5104501B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008103914A JP5104501B2 (en) 2008-04-11 2008-04-11 Virtual machine system, host computer, virtual machine construction method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008103914A JP5104501B2 (en) 2008-04-11 2008-04-11 Virtual machine system, host computer, virtual machine construction method and program

Publications (2)

Publication Number Publication Date
JP2009258798A true JP2009258798A (en) 2009-11-05
JP5104501B2 JP5104501B2 (en) 2012-12-19

Family

ID=41386163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008103914A Expired - Fee Related JP5104501B2 (en) 2008-04-11 2008-04-11 Virtual machine system, host computer, virtual machine construction method and program

Country Status (1)

Country Link
JP (1) JP5104501B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011117955A1 (en) * 2010-03-20 2011-09-29 株式会社Pfu Virtual machine management device, virtual machine management system, virtual machine management method, and program
JP2012021711A (en) * 2010-07-15 2012-02-02 Fujitsu Ltd System and method for controlling air conditioning
JP2015069524A (en) * 2013-09-30 2015-04-13 富士通株式会社 Information processor, storage control device, and program

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60142429A (en) * 1983-12-28 1985-07-27 Hitachi Ltd Method and apparatus for executing input/output of virtual computer system
JPS62171066A (en) * 1986-01-17 1987-07-28 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション Virtual memory/virtual computer type data processing system having co-processor
JP2002041170A (en) * 2000-07-27 2002-02-08 Matsushita Electric Ind Co Ltd Program performance controller
JP2005322242A (en) * 2004-04-30 2005-11-17 Microsoft Corp Provision of direct access from virtual environment to hardware
JP2007148621A (en) * 2005-11-25 2007-06-14 Hitachi Ltd Computer system
JP2007518160A (en) * 2003-12-18 2007-07-05 サンディスク コーポレイション Multi-module circuit card with direct memory access between modules
JP2008033449A (en) * 2006-07-26 2008-02-14 Nec Corp System and method for sharing input/output transfer device and program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60142429A (en) * 1983-12-28 1985-07-27 Hitachi Ltd Method and apparatus for executing input/output of virtual computer system
JPS62171066A (en) * 1986-01-17 1987-07-28 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション Virtual memory/virtual computer type data processing system having co-processor
JP2002041170A (en) * 2000-07-27 2002-02-08 Matsushita Electric Ind Co Ltd Program performance controller
JP2007518160A (en) * 2003-12-18 2007-07-05 サンディスク コーポレイション Multi-module circuit card with direct memory access between modules
JP2005322242A (en) * 2004-04-30 2005-11-17 Microsoft Corp Provision of direct access from virtual environment to hardware
JP2007148621A (en) * 2005-11-25 2007-06-14 Hitachi Ltd Computer system
JP2008033449A (en) * 2006-07-26 2008-02-14 Nec Corp System and method for sharing input/output transfer device and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011117955A1 (en) * 2010-03-20 2011-09-29 株式会社Pfu Virtual machine management device, virtual machine management system, virtual machine management method, and program
JP5403446B2 (en) * 2010-03-20 2014-01-29 株式会社Pfu Virtual machine management apparatus, virtual machine management system, virtual machine management method, and program
JP2012021711A (en) * 2010-07-15 2012-02-02 Fujitsu Ltd System and method for controlling air conditioning
JP2015069524A (en) * 2013-09-30 2015-04-13 富士通株式会社 Information processor, storage control device, and program

Also Published As

Publication number Publication date
JP5104501B2 (en) 2012-12-19

Similar Documents

Publication Publication Date Title
EP2929439B1 (en) Using a logical to physical map for direct user space communication with a data storage device
JP5735070B2 (en) Guest address to host address translation for devices to access memory in partitioned systems
EP2929438B1 (en) Using a virtual to physical map for direct user space communication with a data storage device
US8112610B2 (en) Partition bus
US8595723B2 (en) Method and apparatus for configuring a hypervisor during a downtime state
US8151275B2 (en) Accessing copy information of MMIO register by guest OS in both active and inactive state of a designated logical processor corresponding to the guest OS
US20170123996A1 (en) Direct Mapped Files in Virtual Address-Backed Virtual Machines
EP1628215A2 (en) Systems and methods for running a legacy 32-bit X86 virtual machine on a 64-bit X86 processor
CN105830026A (en) Apparatus and method for scheduling graphics processing unit workloads from virtual machines
EP3594807A1 (en) Virtual disk file format conversion method and device
CN103034524A (en) Paravirtualized virtual GPU
US9146879B1 (en) Virtual memory management for real-time embedded devices
JP2007183952A (en) Method by which guest is accessing memory converted device and apparatus
US10671419B2 (en) Multiple input-output memory management units with fine grained device scopes for virtual machines
WO2013088818A1 (en) Virtual computer system, virtualization mechanism, and data management method
US8566479B2 (en) Method and system to allow logical partitions to access resources
US7389398B2 (en) Methods and apparatus for data transfer between partitions in a computer system
JP5104501B2 (en) Virtual machine system, host computer, virtual machine construction method and program
CN112330229B (en) Resource scheduling method, device, electronic equipment and computer readable storage medium
US11150928B2 (en) Hypervisor translation bypass
US10185679B2 (en) Multi-queue device assignment to virtual machine groups
JP2019164661A (en) Information processing device, information processing method and program
GB2568301A (en) Address space access control
US8813075B2 (en) Virtual computer system and method of installing virtual computer system
CN117857253A (en) Inter-domain communication method based on jailhouse smmu

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110315

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120809

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: 20120904

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120917

R150 Certificate of patent or registration of utility model

Ref document number: 5104501

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151012

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees