JP6036504B2 - Information processing apparatus, control program, and control method - Google Patents
Information processing apparatus, control program, and control method Download PDFInfo
- Publication number
- JP6036504B2 JP6036504B2 JP2013083335A JP2013083335A JP6036504B2 JP 6036504 B2 JP6036504 B2 JP 6036504B2 JP 2013083335 A JP2013083335 A JP 2013083335A JP 2013083335 A JP2013083335 A JP 2013083335A JP 6036504 B2 JP6036504 B2 JP 6036504B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- transfer
- transferred
- amount
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は完全仮想化環境においてホストOS(Operating System)及びゲストOS間でデータ転送を行う情報処理装置、制御プログラム、制御方法に関する。 The present invention relates to an information processing apparatus, a control program, and a control method for transferring data between a host OS (Operating System) and a guest OS in a fully virtualized environment.
従来、OS間のメッセージ通信を実現する方法として、共有バッファを用いて行う方法や、メッセージ通信用のAPI(Application Program Interface)を設けて行う方法が知られている(特許文献1、特許文献2)。
Conventionally, as a method for realizing message communication between OSs, a method using a shared buffer and a method using an API (Application Program Interface) for message communication are known (
しかし、従来技術ではホストOSとゲストOS間のメッセージ通信を共有バッファにより実現しているため、ホストOSとゲストOS間で共有バッファを持てない完全仮想化環境では、従来技術は適用できない。また、他の従来技術ではソフトウェア・ライブラリにAPIを設けることが必要であるため、ゲストOS、アプリケーションに何ら変更を加えないことが前提の完全仮想化環境において、従来技術は適用できない。さらにまた、完全仮想化環境ではセキュリティを確保するため、ホストOSからゲストOSへのアクセスは許可されていない。本発明は完全仮想化環境においてホストOSとゲストOS間でデータ転送を行う情報処理装置、制御プログラム、制御方法を提供することにある。 However, since the message communication between the host OS and the guest OS is realized by a shared buffer in the conventional technology, the conventional technology cannot be applied in a fully virtualized environment where the host OS and the guest OS cannot have a shared buffer. In addition, since it is necessary to provide an API in the software library in another conventional technique, the conventional technique cannot be applied in a fully virtualized environment on the premise that no changes are made to the guest OS and applications. Furthermore, in a fully virtualized environment, access from the host OS to the guest OS is not permitted in order to ensure security. An object of the present invention is to provide an information processing apparatus, a control program, and a control method for transferring data between a host OS and a guest OS in a fully virtualized environment.
本発明に係る情報処理装置は、複数の仮想計算機を動作させる情報処理装置において、例外処理を実行し、前記複数の仮想計算機からデータを収集する収集部と、該収集部及び前記仮想計算機の間のデータ転送を示す特定情報、前記データ転送の状況を示す状況情報及び転送するデータのデータ量を記憶する記憶部と、転送するデータを記憶するデータ記憶部と、戻り値を記憶する戻り値記憶部とを備え、前記仮想計算機は転送するデータを前記データ記憶部に書き込む書込部と、例外を発生する命令を実行し、前記収集部に例外処理を実行させる実行部と、転送済データのデータ量から未転送データのデータ量を算出する算出部と、前記戻り値記憶部より、戻り値を読み出す読出部と、前記算出部が算出した未転送データのデータ量及び前記読出部により読み出した戻り値より、データ転送の状況を示す状況情報及び転送するデータのデータ量を決定する決定部と、前記記憶部に前記特定情報、決定した状況情報及び転送するデータのデータ量を書き込む第2書込部とを有し、前記収集部は前記記憶部に前記特定情報が記憶されているか否かを判定する判定部と、前記記憶部から状況情報を読み出す第2読出部と、読み出した状況情報が転送中である場合、前記データ記憶部よりデータを読み出す第3読出部と、該第3読出部が前記データ記憶部より読み出したデータのデータ量が前記記憶部に記憶されているデータ量と一致している場合、所定の戻り値を戻り値記憶部に書き込む第3書込部とを有する構成とする。 An information processing apparatus according to the present invention, in an information processing apparatus that operates a plurality of virtual machines, performs exception processing and collects data from the plurality of virtual machines, and between the collection unit and the virtual machines Specific information indicating the data transfer, status information indicating the status of the data transfer and a storage unit for storing the data amount of the data to be transferred, a data storage unit for storing the data to be transferred, and a return value storage for storing the return value A write unit that writes data to be transferred to the data storage unit, an execution unit that executes an instruction that generates an exception, and causes the collection unit to execute an exception process, and a transfer data A calculation unit that calculates a data amount of untransferred data from a data amount; a reading unit that reads a return value from the return value storage unit; and a data amount of untransferred data calculated by the calculation unit The status information indicating the status of data transfer and the data amount of the data to be transferred are determined from the return value read by the reading unit, and the specific information, the determined status information and the data amount of the data to be transferred are stored in the storage unit A second writing unit for writing information, and the collection unit determines whether or not the specific information is stored in the storage unit, and a second reading unit that reads status information from the storage unit When the read status information is being transferred, a third reading unit for reading data from the data storage unit, and a data amount of data read by the third reading unit from the data storage unit are stored in the storage unit. And a third writing unit that writes a predetermined return value in the return value storage unit when the data amount matches the data amount.
本願の一観点によれば、完全仮想化環境においてホストOSとゲストOS間でデータ転送を行うことが可能となる。 According to one aspect of the present application, data transfer can be performed between a host OS and a guest OS in a fully virtualized environment.
実施の形態1
図1は実施の形態1に係る計算機システムのハードウェア構成の一例を示すブロック図である。計算機システムはサーバ装置(情報処理装置)1、端末装置2を含む。サーバ装置1と端末装置2とはネットワークNを介して通信を行う。端末装置2は計算機システムのユーザが使用する端末装置である。ユーザは端末装置2を用いてサーバ装置が提供する各種の情報処理サービスを利用する。
FIG. 1 is a block diagram illustrating an example of a hardware configuration of a computer system according to the first embodiment. The computer system includes a server device (information processing device) 1 and a
サーバ装置1はCPU(Central Processing Unit)30、ROM(Read Only Memory)31、RAM(Read Only Memory)32、大容量記憶装置33、通信部34、読み取り部35を含む。CPU30はROM31又は大容量記憶装置33に記憶された制御プログラム31aに従いハードウェア各部を制御する。RAM32は例えばSRAM(Static RAM)、DRAM(Dynamic RAM)、フラッシュメモリ等である。RAM32はCPU30によるプログラムの実行時に発生する種々のデータを一時的に記憶する。大容量記憶装置33は例えばハードディスク、SSD(Solid State Drive)である。大容量記憶装置33はVMM(Virtual Machine Monitor)プログラム、ゲストOS、アプリケーションや、各種のデータを格納している。各プログラムはCPU30が読み出して実行する制御プログラム31aであって、CPU30によりRAM32に読み出されて実行される。なお、各プログラムはROM31に格納されていても良い。通信部34はネットワークNを介して端末装置2と通信を行う。読み取り部35はCD(Compact Disk)−ROM、DVD(Digital Versatile Disc)−ROM等の記憶媒体41を読み取る。制御プログラム31aは記憶媒体41より読み取り部35が読み取り、大容量記憶装置33に記憶することとしても良い。また、ネットワークNを介して他のコンピュータから制御プログラム31aをダウンロードしても良い。さらにまた、半導体メモリ51から制御プログラム31aを読み込むこととしても良い。
The
端末装置2はCPU20、ROM21、RAM22、通信部23、読み取り部24を含む。CPU20はROM21に記憶された制御プログラム21aに従いハードウェア各部を制御する。RAM22は例えばSRAM、DRAM、フラッシュメモリ等である。RAM22はCPU20によるプログラムの実行時に発生する種々のデータを一時的に記憶する。通信部23はネットワークNを介してサーバ装置1と通信を行う。読み取り部24はCD−ROM、DVD−ROM等の記憶媒体42を読み取る。制御プログラム21aは記憶媒体42より読み取り部24が読み取り、RAM22に記憶して実行することとしても良い。また、ネットワークNを介して他のコンピュータから制御プログラム21aをダウンロードしても良い。さらにまた、半導体メモリ52から制御プログラム21aを読み込むこととしても良い。
The
VMMプログラムは、サーバ装置1でVM(Virtual Machine)の動作を可能にする仮想化環境を提供するためのソフトウェアプログラムである。CPU30がVMMプログラムを実行することにより、VMMとしての動作が開始する。CPU30がVMMプログラムをVMMとして動作させることにより、サーバ装置1には、複数のVMが独立して動作が可能な仮想化環境が提供される。
The VMM program is a software program for providing a virtual environment that enables the
ゲストOSプログラムは、VM上でOSを実行させるソフトウェアプログラムである。ゲストOSプログラムは、VMが起動した後、CPU30がゲストOSプログラムを実行することによりOS(以下、「ゲストOS」と記す。)としての動作を開始する。
The guest OS program is a software program that executes the OS on the VM. The guest OS program starts an operation as an OS (hereinafter referred to as “guest OS”) by the
アプリケーションプログラムは、ゲストOSのそれぞれによって実行されるソフトウェアプログラムである。 The application program is a software program executed by each guest OS.
本実施の形態に係るサーバ装置1においては、VMMは完全仮想化環境を提供する。完全仮想化環境とはハードウェアを完全にエミュレートする仮想化環境である。ハードウェアを完全にエミュレートしているため、VMで動作するゲストOSは仮想化環境のための改変が不要という利点がある。しかしながら、一部の命令は直接物理CPU上では実行できないため、VMMの介在が必要となる。この一部の命令のことをセンシティブ命令という。センシティブ命令はVM上のプログラムが実行すると実計算機の動作に影響を与えてしまう命令や、VM上で実行すると、実計算機上で実行した時と結果が異なるため、不都合が生じる命令である。そこで、完全仮想化環境においては、VMによるセンシティブ命令の実行をCPUが検知し、VMMに処理を渡す仕組みとなっている。処理を渡されたVMMはセンシティブ命令をCPUに実行させ、VMに処理を戻す。本実施の形態ではセンシティブ命令の検知による例外の発生と、それに対するVMMでの例外処理の仕組みを利用してVM(ゲストOS)からVMM(ホストOS)へのデータ転送を実現する。
In the
図2はサーバ装置1が有する機能を示すブロック図である。CPU30が各プログラムを実行することにより、サーバ装置1ではVMM10(収集部)が動作し、VMM10上ではVM11(仮想計算機)が動作する。VMM10は起動したVM11にサーバ装置1のリソース(CPU30、ROM31、RAM32等)を割り当てる。リソースが割り当てられた後、VM11上ではゲストOSの動作が開始する。なお、図2においてVM11は2つしか記載していないが、3つ以上起動しても良いし、1つのみ起動するのでも良い。
FIG. 2 is a block diagram illustrating functions of the
VM11ではゲストOS120上で転送プログラム110が動作し、VMM10とのデータ転送を実現する。VM11は設定記憶部130(記憶部)、データ記憶部140、戻り値記憶部150を含む。これらの記憶部はVMM10から割り当てられたリソース(CPU30のレジスタ)により実現される。転送プログラム110は記憶部111(書込部)、設定部112(決定部、第2書込部)、実行部113、算出部114、判定部115(読出部)、生成部116の各機能部を有している。
In the
記憶部111はデータ転送を行うデータをデータ記憶部140に書き込む。設定部112はデータ転送を行う際の設定情報(データ転送を示す特定値、転送状況、転送データ量)を設定記憶部130に書き込む。実行部113はVMM10に処理を渡すためにセンシティブ命令を実行する。算出部114はデータ転送実行時に転送済データのデータ量、未転送データのデータ量の算出を行う。判定部115は戻り値記憶部150に記憶されたVMM10から戻り値を読み出し、データ転送が正常に行われたか否かを判定する。生成部116は算出部114が算出した未転送データのデータ量、判定部115の判定結果から、転送状況(転送中、終了など)を生成する。
The
VMM10はVM11を管理する機能に加えて、VM11とデータ転送を実現するための各種の機能部、特定値判定部10a(判定部)、状況判定部10b(第2読出部)、取得部10c(第3読出部)、結果設定部10d(第3書込部)、終了部10eを備える。特定値判定部10aは設定記憶部130より特定値を読み出し、データ転送のためにVM11より処理が渡されたのか否かを判定する。状況判定部10bは設定記憶部130に記憶された転送状況を読み出し、データ転送の状況を判定する。取得部10cはデータ記憶部140に記憶された転送データを取得する。結果設定部10dはVMM10でのデータ転送処理の結果を示す戻り値を戻り値記憶部150に書き込む。終了部10eは例外処理を終了する命令を実行し、処理をVM11に戻す。
In addition to the function of managing the
次に転送プログラム110を用いて行うVMM10、VM11間でのデータ転送処理について説明する。以下に述べる例では、VM11よりVMM10へデータを送信する場合について述べる。
Next, data transfer processing between the
また、設定記憶部130、データ記憶部140、戻り値記憶部150はCPU30の汎用レジスタを用いて実現するものとする。例外発生によりVM11からVMM10に処理が移る場合、CPU30の汎用レジスタの状態は保たれている。あるいは、汎用レジスタの状態は退避領域に退避される。退避された値はVMM10からアクセス可能である。以下の説明において、汎用レジスタはR0からR15まで16個あるものとし、R0を設定記憶部130(記憶部)として、R1からR14までの14個をデータ記憶部140、R15を戻り値記憶部150として利用するものとする。
The setting
図3は汎用レジスタR0のフォーマット例を示す説明図である。図4は転送状況の一例を示す一覧表である。図5は戻り値の一例を示す一覧表である。図3に示すように設定記憶部130であるR0は3つの領域R00、R01、R02に分けて用いる。特定値領域R00はデータ転送を示す値である特定値(マジックナンバー、特定情報)を記憶する。CPU30で実行される命令で設定されない値とし、予め定めておく。転送状況領域R01はデータ転送の状況(index、状況情報)を記憶する。使用レジスタ数領域R02は転送に用いるレジスタの個数(転送するデータのデータ量)を記憶する。汎用レジスタR1からR14までを用いることとしたので、レジスタ個数は0から14までのいずれかの値が記憶される。図4に示すようにデータ転送の状況は転送中を1、完了を0で表すものとする。図5に示すように正常を示す戻り値は1、異常を示す戻り値0とする。
FIG. 3 is an explanatory diagram showing a format example of the general-purpose register R0. FIG. 4 is a list showing an example of the transfer status. FIG. 5 is a list showing examples of return values. As shown in FIG. 3, R0, which is the setting
図6から図8はVMM10、VM11で行うデータ転送の処理手順を示すフローチャートである。VM11は転送するデータの準備を行う(ステップS1)。準備の処理は転送プログラム110が行なっても良いし、転送プログラム110を呼び出す他のアプリケーションプログラムが行なっても良い。VM11(記憶部111)は転送するデータを汎用レジスタR1からRx(x=2〜14)に設定する(ステップS2)。VM11(設定部112)は汎用レジスタR0の特定値領域R00にデータ転送を示す特定値(マジックナンバーともいう)、汎用レジスタR0の転送状況領域R01に転送中を示す値1、使用レジスタ数領域R02に使用するデータ記憶の用いる汎用レジスタの個数(x)を設定する(ステップS3)。VM11(実行部113)はセンシティブ命令を発行し、例外を発生させる(ステップS4)。なお、実行するセンシティブ命令は予め定めておくものとする。ここではhalt命令であるとする。処理がVM11からVMM10に移る。
FIG. 6 to FIG. 8 are flowcharts showing a processing procedure of data transfer performed by the
VMM10(特定値判定部10a)は例外要因が予め定めた要因(halt命令実行)によるものかを調べる(ステップS5)。例外要因が予め定めたものである場合(ステップS5でYES)、VMM10(特定値判定部10a)は汎用レジスタR0の特定値領域R00に設定されている値を読み出し、その値が特定値であるか否かを判定する(ステップS6)。特定値が設定されている場合(ステップS6でYES)、VMM10(状況判定部10b)は汎用レジスタR0の転送状況領域R01に設定されている値を読み出し、その値が転送中を示す値であるか否かを判定する(ステップS7)。転送中を示す値である場合(ステップS7でYES)、VMM10(取得部10c)は汎用レジスタR0の使用レジスタ領域R02に設定されている値(使用レジスタ数)を読み出し、その値に従って汎用レジスタR1からR14に設定されているデータを取得する(ステップS8)。例えば、使用レジスタ数が14であれば、VMM10(取得部10c)は汎用レジスタR1からR14までの14個のレジスタから値を取得する。使用レジスタ数が5であれば、VMM10(取得部10c)は汎用レジスタR1からR5までの5個のレジスタから値を取得する。VMM10(結果設定部10d)は戻り値記憶部150としての汎用レジスタR15に正常を示す戻り値を設定する(ステップS9)。VMM10(終了部10e)は例外処理終了命令を実行する(ステップS10)。処理がVMM10からVM11に戻る。
The VMM 10 (specific
例外要因が予め定めた要因ではない場合(ステップS5でNO)、VMM10は要因別に定められた例外処理を実行する(ステップS11)。例外要因が予め定めたものであるが特定値領域R00に格納された値が特定値ではない場合(ステップS6でNO)、データ転送処理による例外ではないので、VMM10は要因別に定められた例外処理を行う(ステップS11)。転送状況領域R01に設定されている値が転送中を示す値ではない場合(ステップS7でNO)、VMM10(状況判定部10b)は送信完了を示す値であるか否かを判定する(ステップS12)。送信完了を示す値である場合(ステップS12でYES)、VMM10(状況判定部10b)は処理をステップS9に移す。送信完了を示す値ではない場合(ステップS12でNO)、VMM10(結果設定部10d)は汎用レジスタR15にエラーを示す戻り値を設定する(ステップS13)。VMM10(結果設定部10d)は処理をステップS10に移す。処理がVMM10からVM11に戻る。
If the exception factor is not a predetermined factor (NO in step S5), the
VM11(判定部115)は戻り値記憶部150としての汎用レジスタR15に設定された値を読み取り、その値(戻り値)が正常を示す値であるか否か判定する(ステップS14)。戻り値が正常である場合(ステップS14でYES)、VM11(算出部114)は未転送データがあるか否か判定する(ステップS16)。この判定は例えば、次のように行う。転送対象となっているデータの全データ量を算出しておく。データ転送を行う度に、転送済データのデータ量を加算しておき、加算した転送済データのデータ量が全データ量と等しいか、それを超える値になったかを判定する。等しいかそれを超える値になれば未転送データはない。または、汎用レジスタを用いてデータ転送をしていることから、汎用レジスタ単位で管理しても良い。転送開始時に転送するデータは汎用レジスタ何個分のデータ量かを算出しておく。データ転送をするたびに転送データを設定したレジスタの個数を減算していき、その値が0になれば未転送データはないこととなる。未転送データがある場合(ステップS16でYES)、VM11(算出部114)は処理をステップS2に戻す。ステップS2以降の処理は上述のとおりである。
The VM 11 (determination unit 115) reads the value set in the general-purpose register R15 as the return
VMM10からの戻り値が正常ではない場合(ステップS14でNO)、VM11(判定部115)は転送が完了しているか否かを判定する(ステップS15)。転送が完了したか否かの判定は、すでに転送完了をVMM10に送信したか否かで判定する。例えば、フラグ領域を設けておき、フラグが立っていれば転送完了と判定し、フラグがクリアされていれば転送完了でないと判定する。転送が完了していない場合(ステップS15でNO)、VM11(判定部115)は処理をステップS2に戻し、データの再送を行う。転送が完了している場合(ステップS15でYES)、VM11(判定部115)は処理をステップS18へ移す。VM11(設定部112)は汎用レジスタR0の特定値領域R00にデータ転送を示す特定値、汎用レジスタR0の転送状況領域R01に転送完了を示す値0を設定する(ステップS18)。VM11(設定部112)は処理をステップS4へ移す。ステップS4以降の処理は上述したとおりである。
When the return value from the
未転送データがない場合(ステップS16でNO)、VM11(判定部115)は転送完了をVMM10に送信済みか否かを判定する(ステップS17)。この判定は例えば、上述したようにフラグを用いて行う。転送完了をVMM10に送信済みである場合(ステップS17でYES)、VM11(判定部115)はデータ転送処理を終了する。転送完了を送信済みでない場合(ステップS17でNO)、VM11(判定部115)は処理をステップS18へ移す。ステップS18以降の処理は上述したとおりである。 If there is no untransferred data (NO in step S16), the VM 11 (determination unit 115) determines whether transfer completion has been transmitted to the VMM 10 (step S17). This determination is performed using a flag as described above, for example. When the transfer completion has been transmitted to the VMM 10 (YES in step S17), the VM 11 (determination unit 115) ends the data transfer process. If the transfer completion has not been transmitted (NO in step S17), the VM 11 (determination unit 115) moves the process to step S18. The processing after step S18 is as described above.
本実施の形態においては、例外処理を用いてVM11からVMM10へのデータ転送を行うこととし、VM11に転送プログラム110をインストールする。データ転送のためにVM11はVMM10に管理者権限を開放する必要がないので、VM11のセキュリティを保ちつつ、データ転送が可能となる。
また、VM11に転送プログラム110をインストールという軽微な変更で済むので、サーバ装置1が運用開始した後でも、データ転送機能を実現することが可能となる。
In this embodiment, data transfer from the
Further, since a slight change of installing the
実施の形態1において、VM11からVMM10へ転送するデータの例としては、性能情報、リソース情報、環境情報などが考えられる。それらの情報を分析することにより、運用管理精度、キャパシティ管理精度を上げることが可能となる。また、動作ログを収集しておくことにより、障害発生時の調査が容易となる。
In the first embodiment, performance information, resource information, environment information, and the like can be considered as examples of data transferred from the
なお、転送プログラム110が起動するタイミングは転送するデータの性質に応じて定めれば良い。定期的に収集が必要なデータについては、タイマにより所定時間毎(週に一回、日に一回、一時間に一回)に転送プログラム110を起動する。イベントが発生した場合に収集が必要となるデータは、イベント監視プログラムがイベントを検知した場合に、転送プログラム110を起動するようにすれば良い。
The timing at which the
実施の形態2
実施の形態1ではセンシティブ命令の実行による例外処理についてデータ転送を実現する。そのため、データ転送処理を行なっている場合に、関係のない他の処理により同じ要因の例外が発生すると不都合である。本実施の形態ではその点を考慮する。なお、ハードウェア構成は実施の形態1と同様であるので、説明を省略する。
In the first embodiment, data transfer is realized for exception handling by execution of a sensitive instruction. Therefore, when data transfer processing is performed, it is inconvenient if an exception with the same factor occurs due to other unrelated processing. This point is considered in the present embodiment. Since the hardware configuration is the same as that of the first embodiment, description thereof is omitted.
図9は実施の形態2に係るサーバ装置1が有する機能を示すブロック図である。VMM10の備える機能部に例外管理部10f(許可部)が含まれている。例外管理部10fは例外処理をマスクするか否かを管理する機能を担う。図9に示すその他の構成は実施の形態1と同様であるから、説明を省略する。
FIG. 9 is a block diagram illustrating functions of the
図10は実施の形態2に係るVMM10、VM11で行うデータ転送の処理手順を示すフローチャートである。本実施の形態におけるデータ転送の処理は、一部を除き図6、図7又は図8で示した処理と同様であるので、図10は異なるVMM10での処理を記載し、他の部分は記載を省略している。図10において、図6、図7又は図8と同様な処理については同じ符号を付している。
FIG. 10 is a flowchart showing a data transfer processing procedure performed by the
データ転送処理において、VM11はセンシティブ命令を発行し(ステップS4)、例外を発生させる。例外の発生により、処理がVMM10に移る。VMM10は、例外の発正要因がデータ転送のために予め定めた要因であるか否かを判定する(ステップS5)。発生要因が予め定めたものであり(ステップS5でYES)、汎用レジスタR0の特定値領域R00に特定値が設定されていた場合(ステップS6でYES)、同一の要因による例外(ここではhalt命令実行による例外)が多重に発生しないように、VMM10(例外管理部10f)は例外をマスクする(ステップS21)。例外をマスクするには例えば次のように行う。例外の要因毎にマスクが設定可能となっているマスクレジスタの所定のビット(ここではhalt命令に対応するビット)を1にすることにより、マスクが設定される。例外をマスクした以降の処理、ステップS7、S8、S9、S12、S13については実施の形態1と同様であるから、説明を省略する。ステップS11についても同様であるので、説明を省略する。ステップS9又はステップS13で戻り値を設定した後に、VMM10(例外管理部10f)は例外のマスクを解除する(ステップS22)。上述の例ではhalt命令に対応するマスクビットを0に設定する。VMM10は例外処理を終了する(ステップS10)。処理がVM11へ戻る。その後の処理ステップS14以降は、実施の形態1と同様であるから、説明を省略する。
In the data transfer process, the
実施の形態3
上述の実施の形態1及び2においては、VMM10とデータ転送を行うVM11は単一であることを前提としている。本実施の形態においては、複数のVM11とVMM10とがデータ転送処理を行う場合について述べる。サーバ装置1のハードウェア構成、サーバ装置1が有する機能は実施の形態1及び2と同様であるので、説明を省略する。
In the first and second embodiments described above, it is assumed that the
図11は実施の形態3に係る汎用レジスタR0のフォーマット例を示す説明図である。汎用レジスタR0を4つの領域に分けている。特定値領域R00、転送状況領域R01、使用レジスタ数領域R02は実施の形態1と同様の役割を果たすので、説明を省略する。実施の形態3に係る汎用レジスタR0ではVMID領域R03が追加されている。VMID領域R03はVM11毎に付与された識別情報を記憶するための領域である。VMIDR03を設けることにより、VMM10は同時に複数のVM11とデータ転送処理を行うことが可能となる。
FIG. 11 is an explanatory diagram showing a format example of the general-purpose register R0 according to the third embodiment. The general-purpose register R0 is divided into four areas. Since the specific value area R00, the transfer status area R01, and the used register number area R02 play the same role as in the first embodiment, the description thereof is omitted. In the general-purpose register R0 according to the third embodiment, a VMID region R03 is added. The VMID area R03 is an area for storing identification information given to each
VMM10、VM11で実行されるデータ転送処理は一部を除き、図6、図7、図8、又は図10に示した処理と同様であるので、ここでは相違する点を主に説明する。
VM11のゲストOS120が起動する際、VMM10はVM11を一位に識別するID(識別情報)を発行し、VM11に付与する。ゲストOS120はRAM32等の記憶領域にIDを書き込む。
The data transfer process executed by the
When the
データ転送処理において、IDを用いることより、VMM10は同時に複数のVM11とやり取りを行なっていても、どのVM11からデータが転送されてきたか識別することが可能となる。VM11(設定部112)はステップS3において、特定値、状況、個数の設定に加えて、汎用レジスタR0のVMID領域R03に自らのIDを設定する。VMM10(取得部10c)はステップS8において、データを取得する際に汎用レジスタR0のVM識別IDR03に設定されているVM11のIDを取得する。取得したVM11のIDと汎用レジスタR1からRx(x=2〜14)より取得したデータとを紐付けてVMM10は管理する。それにより、データ解析などを行う場合に、VM11毎に解析を行うことが可能となる。
By using the ID in the data transfer process, the
また、VM11(設定部112)はステップS3において、特定値、状況に加えて、汎用レジスタR0のVM識別領域R03に自らのIDを設定する。VMM10(取得部10c)はステップS12で送信完了したか否かを判定する際、汎用レジスタR0のVM識別領域R03に設定されているVM11のIDを取得する。取得したIDによりどのVM11とのデータ転送処理が終了したのか、VMM10(状況判定10b)は判定することが可能となる。
In step S3, the VM 11 (setting unit 112) sets its own ID in the VM identification area R03 of the general-purpose register R0 in addition to the specific value and the situation. When determining whether or not the transmission is completed in step S12, the VMM 10 (acquiring
上述したように実施の形態3においては、設定記憶部130であるところの汎用レジスタR0にVMID領域R03を設けることしたので、VMM10は、データ転送処理にて取得したデータがどのVM11からのデータなのか容易に識別可能となる。また、識別可能となるので、VMM10は同時にVM11とデータ転送処理を行うことが可能となる。
As described above, in the third embodiment, since the VMID area R03 is provided in the general-purpose register R0 that is the setting
実施の形態4
上述の実施の形態1から3におけるデータ転送処理では、データ記憶部140として用いる汎用レジスタのビット数と、汎用レジスタの数により、一回の例外処理により転送できるデータ量が規定される。したがって、転送するデータの総量が一回の例外処理で転送可能なデータ量が規定より大きい場合、例外処理の実行回数が多くなるため、サーバ装置1のCPU30に係る負荷が大きくなる。本実施の形態では転送データ総量に関わらず、例外処理の発生回数を一定とする処理を実現する。
In the data transfer process in the first to third embodiments described above, the amount of data that can be transferred by one exception process is defined by the number of bits of the general-purpose register used as the
図12は実施の形態4に係る転送状況の一例を示す一覧表である。図12に示すように本実施の形態においては、転送状況に「転送開始」が追加されている。
図13は実施の形態4に係るサーバ装置1が有する機能を示すブロック図である。実施の形態4に係るサーバ装置1は上述した実施の形態1から3のサーバ装置1が備える機能部以外に、VM11に第2判定部117、転送部118が追加されている。VMM10に発行部10g、削除部10hが追加されている。第2判定部117は転送データ全体の容量からデータ転送の方式を判定する。転送部118はファイル転送コマンドでデータの転送を行う。発行部10gはデータ転送用の一時アカウントを発行する機能を持つ。削除部10hは発行部10gが発行した一時アカウントを削除する機能を持つ。
FIG. 12 is a list showing an example of the transfer status according to the fourth embodiment. As shown in FIG. 12, in this embodiment, “transfer start” is added to the transfer status.
FIG. 13 is a block diagram illustrating functions of the
図14から図16は実施の形態4に係るVMM10、VM11で行うデータ転送の処理手順を示すフローチャートである。VM11は転送するデータの準備を行う(ステップS31)。準備の処理は転送プログラム110が行なっても良いし、転送プログラム110を呼び出す他のアプリケーションプログラムが行なっても良い。VM11(第2判定部)は転送データ全体の容量が予め定めた所定量(閾値)以上であるか否かを判定する(ステップS32)。転送データの全体容量が所定量未満である場合(ステップS32でNO)、繰返し転送を行う(ステップS33)。繰返し転送とは実施の形態1から3に示した転送方式である。その処理の内容は図6、図7、図8又は図10に示した内容と同様であるので、説明を省略する。転送データの全体容量が所定量以上である場合(ステップS32でYES)、VM11(設定部112)は転送用一時アカウントの請求を行うための設定を行う。すなわち、VM11(設定部112)は汎用レジスタR0の特定値領域R00にデータ転送を示す特定値、汎用レジスタR0の転送状況領域R01に転送開始を示す値2、汎用レジスタR0のVMID領域R03に自らのIDを設定する(ステップS34)。VM11(実行部113)はセンシティブ命令を実行し、例外を発生させる(ステップS34)。処理がVM11からVMM10に移る。
FIG. 14 to FIG. 16 are flowcharts showing a data transfer processing procedure performed by the
VMM10(特定値判定部10a)は例外要因が予め定めた要因によるものか調べる(ステップS36)。VMM10例外要因が予め定めたものである場合(ステップS36でYES)、VMM10(特定値判定部10a)は汎用レジスタR0の特定値領域R00に設定されている値を読み出し、その値が特定値であるか否かを判定する(ステップS37)。特定値が設定されている場合(ステップS37でYES)、VMM10(例外管理部10f)は例外をマスクする(ステップS38)。VMM10(状況判定部10b)は汎用レジスタR0の転送状況領域R01に設定されている値を読み出し、その値が転送中を示す値であるか否かを判定する(ステップS39)。転送中を示す値でない場合(ステップS39でNO)、VMM10(状況判定部10b)は転送状況領域R01に設定されている値が転送開始を示す値であるか否かを判定する(ステップS40)。転送開始である場合(ステップS40でYES)、VMM10(発行部10g)は一時アカウントを発行する(ステップS41)。すなわち、ユーザ名とパスワード(接続情報)を発行し、汎用レジスタRx(接続情報記憶部)に設定する。例えば、ユーザ名を汎用レジスタR1に、パスワードを汎用レジスタR2に設定する。どの汎用レジスタに設定するかについては、予め定めておくものとする。VM11(結果設定部10d)は戻り値に正常を設定する(ステップS42)。
The VMM 10 (specific
転送開始でないと判定された場合(ステップS40でNO)、VMM10(状況判定部10b)は転送状況領域R01に設定されている値が転送完了を示す値であるか否かを判定する(ステップS45)。転送完了である場合(ステップS45でYES)、VMM10(削除部10h)は一時アカウントを削除する(ステップS46)。転送完了でない場合(ステップS45でNO)、VMM10(結果設定部10d)は戻り値にエラーを設定する(ステップS47)。
When it is determined that the transfer is not started (NO in step S40), the VMM 10 (
汎用レジスタR0の転送状況領域R01に設定されている値が転送中を示す値である場合(ステップS39でYES)、VMM10(取得部10c)は汎用レジスタRxからデータを取得する(ステップS44)。上述したステップS8と同様の処理である。VM11(結果設定部10d)は戻り値に正常を設定する(ステップS42)。
When the value set in the transfer status area R01 of the general-purpose register R0 is a value indicating that transfer is in progress (YES in step S39), the VMM 10 (acquiring
例外要因が予め定めた要因ではない場合(ステップS36でNO)、VMM10は要因別に定められた例外処理を実行する(ステップS43)。例外要因が予め定めたものであるが特定値領域R00に格納された値が特定値ではない場合(ステップS37でNO)、データ転送処理による例外ではないので、VMM10は要因別に定められた例外処理を行う(ステップS43)。VM11(結果設定部10d)は戻り値に正常を設定する(ステップS42)。
If the exception factor is not a predetermined factor (NO in step S36), the
VMM10(例外管理部10f)は例外のマスクを解除する(ステップS48)。VMM10(終了部10e)は例外処理を終了する(ステップS49)。処理がVM11へ戻る。
The VMM 10 (
VM11(判定部115)は戻り値が正常であるか否かを判定する(ステップS50)。戻り値が正常でない場合(ステップ50でNO)、VM11(判定部115)は処理をステップS34に戻し、データの再送を行う。戻り値が正常である場合(ステップS50でYES)、VM11(判定部115)はデータ転送が完了済みであるか否かを判定する(ステップS51)。転送済みか否かはフラグ等により管理すれば良い。データ転送が完了済みである場合(ステップS51でYES)、VM11は処理を終了する。データ転送が完了済みでない場合(ステップS51でNO)、VM11(転送部119)は汎用レジスタRxに設定されたアカウント(ユーザ名、パスワード)を取得する(ステップS52)。VM11(転送部119)は取得したアカウントを用いてVMM11にデータ転送を行う(ステップS53)。例えば、ftp(file transfer protocol)コマンドを用いる。VM11(転送部119)はデータ転送が正常に終了したか否かを判定する(ステップS54)。正常終了していない場合(ステップS54でNO)、VM11(転送部119)は再度、データ転送を行う(ステップS53)。正常終了した場合(ステップS54でYES)、VM11(設定部112)は汎用レジスタR0の特定値領域R00にデータ転送を示す特定値、汎用レジスタR0の転送状況領域R01に転送完了を示す値0を設定する(ステップS55)。VM11(設定部112)は処理をステップS35へ移す。ステップS35以降の処理は上述したとおりである。
The VM 11 (determination unit 115) determines whether or not the return value is normal (step S50). If the return value is not normal (NO in step 50), the VM 11 (determination unit 115) returns the process to step S34 to retransmit the data. When the return value is normal (YES in step S50), the VM 11 (determination unit 115) determines whether or not the data transfer has been completed (step S51). Whether or not the transfer has been completed may be managed by a flag or the like. If the data transfer has been completed (YES in step S51), the
上述したように、実施の形態4ではデータ転送のアカウント取得時と、データ転送の完了時の2回のみ例外処理を発生させれば良い。データの転送自体は取得したアカウントを用いて、ftpなどを用いて行うので、転送データの総量が大きい場合であっても、例外処理の回数が一定となるので、効率的にデータ転送が可能となる。
また、実施の形態1と同様に、VM11に転送プログラム110をインストールという軽微な変更で済むので、サーバ装置1が運用開始した後でも、データ転送機能を実現することが可能となる。データ転送に用いるアカウントはデータ転送開始時に発行し、データ転送完了後に削除するので、VM11のセキュリティを保ちつつ、データ転送が可能となる。
As described above, in the fourth embodiment, it is only necessary to generate exception processing only twice when an account for data transfer is acquired and when data transfer is completed. Since the data transfer itself is performed using ftp etc. using the acquired account, even if the total amount of transfer data is large, the number of exception processing is constant, so that the data can be transferred efficiently. Become.
Further, as in the first embodiment, since a slight change of installing the
上述の実施の形態1から実施の形態4において、VM11からVMM10に転送されるデータの例を以下に述べる。図2に示したようにVM11は一台のサーバ装置1を共有し、切り替わって動作している。そのため、各VM11の単体で性能解析を行っても有効な結果は得られない。そこで、サーバ装置1単位で一元的に集約したデータ採取や俯瞰的な解析が必要となる。上述の実施の形態1から実施の形態4に示したデータ転送方法により、VMM10が各VM11より性能解析に必要なデータ(性能情報、リソース情報、環境情報など)を収集することにより、サーバ装置1全体、サーバ装置1で動作する各VM11の性能解析を正しく行うことが可能となる。
An example of data transferred from the
そして、各VM11より収集したリソース情報や環境情報と、サーバ装置1で測定したリソース変化や性能イベントの測定データとを突き合わせることにより、一元的に正確な性能解析や挙動把握、リソース状況把握が可能となる。それにより、予兆監視、性能管理、プロビジョニング、VMのライブマイグレーション先の決定、キャパシティプランニングといった運用管理に非常に有用なデータが得られることが可能となる。
Then, by matching the resource information and environment information collected from each
各実施の形態で記載されている技術的特徴(構成要件)はお互いに組合せ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものでは無いと考えられるべきである。本発明の範囲は、上記した意味では無く、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
The technical features (components) described in each embodiment can be combined with each other, and a new technical feature can be formed by combining them.
The embodiments disclosed herein are illustrative in all respects and should not be considered as restrictive. The scope of the present invention is defined not by the above-mentioned meaning but by the scope of the claims, and is intended to include all modifications within the meaning and scope equivalent to the scope of the claims.
以上の実施の形態に関し、更に以下の付記を開示する。 Regarding the above embodiment, the following additional notes are disclosed.
(付記1)
複数の仮想計算機を動作させる情報処理装置において、
例外処理を実行し、前記複数の仮想計算機からデータを収集する収集部と、
該収集部及び前記仮想計算機の間のデータ転送を示す特定情報、前記データ転送の状況を示す状況情報及び転送するデータのデータ量を記憶する記憶部と、
転送するデータを記憶するデータ記憶部と、
戻り値を記憶する戻り値記憶部とを備え、
前記仮想計算機は
転送するデータを前記データ記憶部に書き込む書込部と、
例外を発生する命令を実行し、前記収集部に例外処理を実行させる実行部と、
転送済データのデータ量から未転送データのデータ量を算出する算出部と、
前記戻り値記憶部より、戻り値を読み出す読出部と、
前記算出部が算出した未転送データのデータ量及び前記読出部により読み出した戻り値より、データ転送の状況を示す状況情報及び転送するデータのデータ量を決定する決定部と、
前記記憶部に前記特定情報、決定した状況情報及び転送するデータのデータ量を書き込む第2書込部と
を有し、
前記収集部は
前記記憶部に前記特定情報が記憶されているか否かを判定する判定部と、
前記記憶部から状況情報を読み出す第2読出部と、
読み出した状況情報が転送中である場合、前記データ記憶部よりデータを読み出す第3読出部と、
該第3読出部が前記データ記憶部より読み出したデータのデータ量が前記記憶部に記憶されているデータ量と一致している場合、所定の戻り値を戻り値記憶部に書き込む第3書込部とを有する
ことを特徴とする情報処理装置。
(Appendix 1)
In an information processing apparatus that operates a plurality of virtual machines,
A collection unit that executes exception processing and collects data from the plurality of virtual machines;
Specific information indicating data transfer between the collection unit and the virtual machine, status information indicating the status of the data transfer, and a storage unit for storing the amount of data to be transferred;
A data storage unit for storing data to be transferred;
A return value storage unit for storing the return value,
The virtual machine has a writing unit for writing data to be transferred to the data storage unit;
An execution unit that executes an instruction that generates an exception, and causes the collection unit to execute an exception process;
A calculation unit that calculates the amount of untransferred data from the amount of transferred data;
A reading unit for reading a return value from the return value storage unit;
A determination unit for determining the status information indicating the status of data transfer and the data amount of data to be transferred from the data amount of the untransferred data calculated by the calculation unit and the return value read by the reading unit;
A second writing unit that writes the specific information, the determined status information, and the amount of data to be transferred to the storage unit, and
The collection unit determines whether or not the specific information is stored in the storage unit; and
A second reading unit for reading status information from the storage unit;
A third reading unit that reads data from the data storage unit when the read status information is being transferred;
A third write for writing a predetermined return value in the return value storage unit when the data amount of the data read from the data storage unit by the third reading unit matches the data amount stored in the storage unit And an information processing apparatus.
(付記2)
前記収集部は
前記判定部が前記記憶部に前記特定情報が記憶されていると判定した場合に、新たな例外の発生を不許可にし、
前記第3書込部が処理結果を戻り値記憶部に書き込んだ後に、新たな例外の発生を許可する許可部を有する
ことを特徴とする付記1に記載の情報処理装置。
(Appendix 2)
When the determination unit determines that the specific information is stored in the storage unit, the collection unit disallows the generation of a new exception,
The information processing apparatus according to
(付記3)
前記記憶部には前記仮想計算機を識別する識別情報が記憶されており、
前記第2書込部は前記記憶部に前記特定情報、前記識別情報、前記状況情報及び前記転送するデータのデータ量を記憶し、
前記第3読出部は前記記憶部から前記識別情報を読み出す
ことを特徴とする付記1又は2に記載の情報処理装置。
(Appendix 3)
Identification information for identifying the virtual machine is stored in the storage unit,
The second writing unit stores the specific information, the identification information, the situation information, and a data amount of the data to be transferred in the storage unit,
The information processing apparatus according to
(付記4)
前記情報処理装置は
前記収集部に接続しデータ転送命令を実行するための接続情報を記憶する接続情報記憶部を備え、
前記仮想計算機は
前記転送データの全体量が予め定めた閾値以上であると判定した場合、前記決定部に転送開始を示す転送状況を生成させる第2判定部と、
前記接続情報記憶部から前記アカウント情報を読み出し、読み出した接続情報を用いて前記収集部に接続しデータ転送を行い、データ転送が終了した場合、前記決定部に状況情報を転送終了と決定させる転送部とを有し、
前記収集部は
前記第2読出部が読み出した状況情報が転送開始である場合、前記接続情報を発行し、発行した接続情報を接続情報記憶部に記憶する発行部と、
前記第2読出部が読み出した転送状況が転送終了であると判定した場合、前記接続情報を削除する削除部とを有する
ことを特徴とする情報処理装置。
(Appendix 4)
The information processing apparatus includes a connection information storage unit that stores connection information for connecting to the collection unit and executing a data transfer command,
When the virtual computer determines that the total amount of the transfer data is equal to or greater than a predetermined threshold, the second determination unit causes the determination unit to generate a transfer status indicating transfer start; and
Transfer that reads the account information from the connection information storage unit, connects to the collection unit using the read connection information, performs data transfer, and when the data transfer is completed, causes the determination unit to determine that transfer of the status information is complete And
The collection unit, when the status information read by the second reading unit is a transfer start, issues the connection information, and stores the issued connection information in a connection information storage unit;
An information processing apparatus comprising: a deletion unit that deletes the connection information when it is determined that the transfer status read by the second reading unit is transfer end.
(付記5)
前記情報処理装置はCPUを備え、
前記仮想計算機は完全仮想化環境において動作するものであり、
前記仮想計算機が発生させた例外を前記CPUが検出し、
前記収集部に前記例外処理を行わせる
ことを特徴とする付記1から付記4のいずれか1つに記載の情報処理装置。
(Appendix 5)
The information processing apparatus includes a CPU,
The virtual machine operates in a fully virtualized environment;
The CPU detects an exception generated by the virtual machine,
The information processing apparatus according to any one of
(付記6)
複数の仮想計算機を動作させ、
前記仮想計算機が発生させた例外に係る例外処理において、前記仮想計算機とのデータ転送を示す特定情報が記憶されているか否か判定し、
特定情報が記憶されている場合、前記仮想計算機が記憶した転送データを読み出し、
転送データを読み出せたとき、所定の戻り値を記憶し、
前記複数の仮想計算機からデータを収集する収集部を備える情報処理装置の制御プログラムにおいて、
前記仮想計算機として動作する前記情報処理装置が転送済データのデータ量から未転送データのデータ量を算出し、
前記仮想計算機として動作する前記情報処理装置が、前記収集部が記憶した戻り値を読み出し、
前記仮想計算機として動作する前記情報処理装置が算出した未転送データのデータ量及び読み出した戻り値より、データ転送の状況を示す状況情報及び転送するデータのデータ量を決定し、
前記仮想計算機として動作する前記情報処理装置がデータ転送を示す特定情報、決定した状況情報及び転送するデータのデータ量を記憶し、
前記仮想計算機として動作する前記情報処理装置が転送する転送データを記憶し、
前記仮想計算機として動作する前記情報処理装置が例外を引き起こす命令を実行し、前記収集部に例外処理を実行させる
ことを特徴とする制御プログラム。
(Appendix 6)
Operate multiple virtual machines,
In the exception handling related to the exception generated by the virtual machine, it is determined whether specific information indicating data transfer with the virtual machine is stored,
If the specific information is stored, read the transfer data stored by the virtual machine,
When the transfer data can be read, a predetermined return value is stored,
In a control program for an information processing apparatus including a collection unit that collects data from the plurality of virtual machines,
The information processing device operating as the virtual computer calculates the amount of untransferred data from the amount of transferred data,
The information processing apparatus operating as the virtual computer reads a return value stored by the collection unit,
From the data amount of the untransferred data calculated by the information processing apparatus operating as the virtual computer and the read return value, the status information indicating the data transfer status and the data amount of the data to be transferred are determined,
The information processing apparatus operating as the virtual computer stores specific information indicating data transfer, determined status information, and data amount of data to be transferred,
Storing transfer data transferred by the information processing apparatus operating as the virtual machine;
A control program, wherein the information processing apparatus operating as the virtual computer executes an instruction that causes an exception, and causes the collection unit to execute an exception process.
(付記7)
複数の仮想計算機が動作し、例外処理を行い、該複数の仮想計算機からデータを収集する収集部を備えた情報処理装置の制御方法において、
前記仮想計算機は
前記収集部へ転送済のデータのデータ量から未転送データのデータ量を算出し、
前記収集部が記憶した戻り値を読み出し、
算出した未転送データのデータ量及び読み出した戻り値より、データ転送の状況を示す状況情報及び転送するデータのデータ量を決定し、
データ転送を示す特定情報、決定した状況情報及び転送するデータのデータ量を記憶し、
転送するデータを記憶し、
例外を発生する命令を実行し、前記収集部に例外処理を実行させ、
前記収集部は
前記特定情報が記憶されている場合、
記憶された状況情報が転送中であり、読み出したデータのデータ量が前記転送するデータのデータ量と一致したとき、所定の戻り値を記憶し、
前記仮想計算機は
記憶された戻り値が所定の値であり、未転送データがある場合、上記の処理を繰り返し行うこと
を特徴とする情報処理装置の制御方法。
(Appendix 7)
In a control method of an information processing apparatus including a collection unit that operates a plurality of virtual machines, performs exception processing, and collects data from the plurality of virtual machines,
The virtual machine calculates the amount of untransferred data from the amount of data transferred to the collection unit,
Read the return value stored by the collection unit,
From the calculated amount of untransferred data and the read return value, status information indicating the status of data transfer and the amount of data to be transferred are determined.
Stores the specific information indicating the data transfer, the determined status information and the data amount of the data to be transferred,
Remember the data to transfer,
Execute an instruction that generates an exception, and cause the collection unit to execute an exception process;
When the specific information is stored in the collection unit,
When the stored status information is being transferred and the data amount of the read data matches the data amount of the data to be transferred, a predetermined return value is stored,
The information processing apparatus control method, wherein the virtual computer repeatedly performs the above process when the stored return value is a predetermined value and there is untransferred data.
1 サーバ装置
10 VMM(収集部)
10a 特定値判定部(判定部)
10b 状況判定部(第2読出部)
10c 取得部(第3読出部)
10d 結果設定部(第3書込部)
10e 終了部
10f 例外管理部(許可部)
10g 発行部
10h 削除部
11 VM(仮想計算機)
110 転送プログラム
111 記憶部(書込部)
112 設定部(決定部、第2書込部)
113 実行部
114 算出部
115 判定部(読出部)
116 生成部
117 第2判定部
118 転送部
120 ゲストOS
130 設定記憶部(記憶部)
140 データ記憶部
150 戻り値記憶部
30 CPU
31 ROM
32 RAM
33 大容量記憶装置
34 通信部
35 読み取り部
2 端末装置
41,42 記憶媒体
1
10a Specific value determination unit (determination unit)
10b Situation determination unit (second reading unit)
10c Acquisition unit (third reading unit)
10d result setting unit (third writing unit)
110
112 Setting unit (decision unit, second writing unit)
113
116
130 Setting storage unit (storage unit)
140
31 ROM
32 RAM
33
Claims (6)
例外処理を実行し、前記複数の仮想計算機からデータを収集する収集部と、
該収集部及び前記仮想計算機の間のデータ転送を示す特定情報、前記データ転送の状況を示す状況情報及び転送するデータのデータ量を記憶する記憶部と、
転送するデータを記憶するデータ記憶部と、
戻り値を記憶する戻り値記憶部とを備え、
前記仮想計算機は
転送するデータを前記データ記憶部に書き込む書込部と、
例外を発生する命令を実行し、前記収集部に例外処理を実行させる実行部と、
転送済データのデータ量から未転送データのデータ量を算出する算出部と、
前記戻り値記憶部より、戻り値を読み出す読出部と、
前記算出部が算出した未転送データのデータ量及び前記読出部により読み出した戻り値より、データ転送の状況を示す状況情報及び転送するデータのデータ量を決定する決定部と、
前記記憶部に前記特定情報、決定した状況情報及び転送するデータのデータ量を書き込む第2書込部と
を有し、
前記収集部は
前記記憶部に前記特定情報が記憶されているか否かを判定する判定部と、
前記記憶部から状況情報を読み出す第2読出部と、
読み出した状況情報が転送中である場合、前記データ記憶部よりデータを読み出す第3読出部と、
該第3読出部が前記データ記憶部より読み出したデータのデータ量が前記記憶部に記憶されているデータ量と一致している場合、所定の戻り値を戻り値記憶部に書き込む第3書込部とを有する
ことを特徴とする情報処理装置。 In an information processing apparatus that operates a plurality of virtual machines,
A collection unit that executes exception processing and collects data from the plurality of virtual machines;
Specific information indicating data transfer between the collection unit and the virtual machine, status information indicating the status of the data transfer, and a storage unit for storing the amount of data to be transferred;
A data storage unit for storing data to be transferred;
A return value storage unit for storing the return value,
The virtual machine has a writing unit for writing data to be transferred to the data storage unit;
An execution unit that executes an instruction that generates an exception, and causes the collection unit to execute an exception process;
A calculation unit that calculates the amount of untransferred data from the amount of transferred data;
A reading unit for reading a return value from the return value storage unit;
A determination unit for determining the status information indicating the status of data transfer and the data amount of data to be transferred from the data amount of the untransferred data calculated by the calculation unit and the return value read by the reading unit;
A second writing unit that writes the specific information, the determined status information, and the amount of data to be transferred to the storage unit, and
The collection unit determines whether or not the specific information is stored in the storage unit; and
A second reading unit for reading status information from the storage unit;
A third reading unit that reads data from the data storage unit when the read status information is being transferred;
A third write for writing a predetermined return value in the return value storage unit when the data amount of the data read from the data storage unit by the third reading unit matches the data amount stored in the storage unit And an information processing apparatus.
前記判定部が前記記憶部に前記特定情報が記憶されていると判定した場合に、新たな例外の発生を不許可にし、
前記第3書込部が処理結果を戻り値記憶部に書き込んだ後に、新たな例外の発生を許可する許可部を有する
ことを特徴とする請求項1に記載の情報処理装置。 When the determination unit determines that the specific information is stored in the storage unit, the collection unit disallows the generation of a new exception,
The information processing apparatus according to claim 1, further comprising: a permission unit that permits generation of a new exception after the third writing unit writes the processing result in the return value storage unit.
前記第2書込部は前記記憶部に前記特定情報、前記識別情報、前記状況情報及び前記転送するデータのデータ量を記憶し、
前記第3読出部は前記記憶部から前記識別情報を読み出す
ことを特徴とする請求項1又は請求項2に記載の情報処理装置。 Identification information for identifying the virtual machine is stored in the storage unit,
The second writing unit stores the specific information, the identification information, the situation information, and a data amount of the data to be transferred in the storage unit,
The information processing apparatus according to claim 1, wherein the third reading unit reads the identification information from the storage unit.
前記仮想計算機は完全仮想化環境において動作するものであり、
前記仮想計算機が発生させた例外を前記CPUが検出し、
前記収集部に前記例外処理を行わせる
ことを特徴とする請求項1から請求項3のいずれか1項に記載の情報処理装置。 The information processing apparatus includes a CPU,
The virtual machine operates in a fully virtualized environment;
The CPU detects an exception generated by the virtual machine,
The information processing apparatus according to claim 1, wherein the collection unit performs the exception processing.
前記仮想計算機が発生させた例外に係る例外処理において、前記仮想計算機とのデータ転送を示す特定情報が記憶されているか否か判定し、
特定情報が記憶されている場合、前記仮想計算機が記憶した転送データを読み出し、
転送データを読み出せたとき、所定の戻り値を記憶し、
前記複数の仮想計算機からデータを収集する収集部を備える情報処理装置の制御プログラムにおいて、
前記仮想計算機として動作する前記情報処理装置が転送済データのデータ量から未転送データのデータ量を算出し、
前記仮想計算機として動作する前記情報処理装置が、前記収集部が記憶した戻り値を読み出し、
前記仮想計算機として動作する前記情報処理装置が算出した未転送データのデータ量及び読み出した戻り値より、データ転送の状況を示す状況情報及び転送するデータのデータ量を決定し、
前記仮想計算機として動作する前記情報処理装置がデータ転送を示す特定情報、決定した状況情報及び転送するデータのデータ量を記憶し、
前記仮想計算機として動作する前記情報処理装置が転送する転送データを記憶し、
前記仮想計算機として動作する前記情報処理装置が例外を引き起こす命令を実行し、前記収集部に例外処理を実行させる
ことを特徴とする制御プログラム。 Operate multiple virtual machines,
In the exception handling related to the exception generated by the virtual machine, it is determined whether specific information indicating data transfer with the virtual machine is stored,
If the specific information is stored, read the transfer data stored by the virtual machine,
When the transfer data can be read, a predetermined return value is stored,
In a control program for an information processing apparatus including a collection unit that collects data from the plurality of virtual machines,
The information processing device operating as the virtual computer calculates the amount of untransferred data from the amount of transferred data,
The information processing apparatus operating as the virtual computer reads a return value stored by the collection unit,
From the data amount of the untransferred data calculated by the information processing apparatus operating as the virtual computer and the read return value, the status information indicating the data transfer status and the data amount of the data to be transferred are determined,
The information processing apparatus operating as the virtual computer stores specific information indicating data transfer, determined status information, and data amount of data to be transferred,
Storing transfer data transferred by the information processing apparatus operating as the virtual machine;
A control program, wherein the information processing apparatus operating as the virtual computer executes an instruction that causes an exception, and causes the collection unit to execute an exception process.
前記仮想計算機は
前記収集部へ転送済のデータのデータ量から未転送データのデータ量を算出し、
前記収集部が記憶した戻り値を読み出し、
算出した未転送データのデータ量及び読み出した戻り値より、データ転送の状況を示す状況情報及び転送するデータのデータ量を決定し、
データ転送を示す特定情報、決定した状況情報及び転送するデータのデータ量を記憶し、
転送するデータを記憶し、
例外を発生する命令を実行し、前記収集部に例外処理を実行させ、
前記収集部は
前記特定情報が記憶されている場合、
記憶された状況情報が転送中であり、読み出したデータのデータ量が前記転送するデータのデータ量と一致したとき、所定の戻り値を記憶し、
前記仮想計算機は
記憶された戻り値が所定の値であり、未転送データがある場合、上記の処理を繰り返し行うこと
を特徴とする情報処理装置の制御方法。 In a control method of an information processing apparatus including a collection unit that operates a plurality of virtual machines, performs exception processing, and collects data from the plurality of virtual machines,
The virtual machine calculates the amount of untransferred data from the amount of data transferred to the collection unit,
Read the return value stored by the collection unit,
From the calculated amount of untransferred data and the read return value, status information indicating the status of data transfer and the amount of data to be transferred are determined.
Stores the specific information indicating the data transfer, the determined status information and the data amount of the data to be transferred,
Remember the data to transfer,
Execute an instruction that generates an exception, and cause the collection unit to execute an exception process;
When the specific information is stored in the collection unit,
When the stored status information is being transferred and the data amount of the read data matches the data amount of the data to be transferred, a predetermined return value is stored,
The information processing apparatus control method, wherein the virtual computer repeatedly performs the above process when the stored return value is a predetermined value and there is untransferred data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013083335A JP6036504B2 (en) | 2013-04-11 | 2013-04-11 | Information processing apparatus, control program, and control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013083335A JP6036504B2 (en) | 2013-04-11 | 2013-04-11 | Information processing apparatus, control program, and control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014206832A JP2014206832A (en) | 2014-10-30 |
JP6036504B2 true JP6036504B2 (en) | 2016-11-30 |
Family
ID=52120345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013083335A Active JP6036504B2 (en) | 2013-04-11 | 2013-04-11 | Information processing apparatus, control program, and control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6036504B2 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61292753A (en) * | 1985-06-20 | 1986-12-23 | Fujitsu Ltd | Data processing system for vertural computer |
-
2013
- 2013-04-11 JP JP2013083335A patent/JP6036504B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014206832A (en) | 2014-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7007425B2 (en) | Memory allocation technology for partially offloaded virtualization managers | |
AU2017290741B2 (en) | Secure booting of virtualization managers | |
JP6845264B2 (en) | Reducing performance variability with an opportunistic hypervisor | |
CN107209705B (en) | Activity rollback for a computing environment | |
US9449314B2 (en) | Virtualization of a central processing unit measurement facility | |
US10620877B2 (en) | Managing a collection of data | |
RU2571726C2 (en) | System and method of checking expediency of installing updates | |
US20200026446A1 (en) | Establishing and maintaining data apportioning for availability domain fault tolerance | |
US20150212848A1 (en) | Security management device and method | |
JP2017201470A (en) | Setting support program, setting support method, and setting support device | |
US10353786B2 (en) | Virtualization substrate management device, virtualization substrate management system, virtualization substrate management method, and recording medium for recording virtualization substrate management program | |
CN107368426B (en) | Test method and test device | |
JP2007133544A (en) | Failure information analysis method and its implementation device | |
US20130185763A1 (en) | Distributed processing system, distributed processing method and computer-readable recording medium | |
JP6036504B2 (en) | Information processing apparatus, control program, and control method | |
JP5565187B2 (en) | Information processing apparatus and interrupt control program | |
Shi et al. | A cloud service cache system based on memory template of virtual machine | |
Hermenier et al. | Hotspot Mitigations for the Masses | |
US11163461B1 (en) | Lockless method for writing updated versions of a configuration data file for a distributed file system using directory renaming | |
JP5540890B2 (en) | Fault processing program, control method, and information processing apparatus | |
CN117917646A (en) | Process management and control method and device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160113 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160914 |
|
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: 20161004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161017 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6036504 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |