JP2015165361A - Virtual computer management device, virtual computer management method, and virtual computer management program - Google Patents

Virtual computer management device, virtual computer management method, and virtual computer management program Download PDF

Info

Publication number
JP2015165361A
JP2015165361A JP2014040257A JP2014040257A JP2015165361A JP 2015165361 A JP2015165361 A JP 2015165361A JP 2014040257 A JP2014040257 A JP 2014040257A JP 2014040257 A JP2014040257 A JP 2014040257A JP 2015165361 A JP2015165361 A JP 2015165361A
Authority
JP
Japan
Prior art keywords
virtual machine
virtual
unit
computer
state
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
JP2014040257A
Other languages
Japanese (ja)
Other versions
JP6349786B2 (en
Inventor
朋之 南
Tomoyuki Minami
朋之 南
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 JP2014040257A priority Critical patent/JP6349786B2/en
Publication of JP2015165361A publication Critical patent/JP2015165361A/en
Application granted granted Critical
Publication of JP6349786B2 publication Critical patent/JP6349786B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce a load due to processing at the time of logging on to a virtual computer without causing a shortage of resources in a server that executes virtual computers that do not always use identical resources.SOLUTION: A virtual computer management device 1 includes: state storage means 10 that stores the amount of resources used by virtual computers 20 and the priorities of the virtual computers, for the virtual computers which are executed by an execution device 2 capable of retracting the virtual computers to virtual computer storage means 23; request reception means 11 that receives a request for connection to a connection destination virtual computer; shortage determination means 12 that determines the amount of insufficient resources for the case where a connection destination virtual computer is restored, on the basis of the amount of unused resources of the execution device 2 and the amount of resources used by the retracted connection destination virtual computer; and selection means that selects a selection virtual computer from the unretracted virtual computer 20 so that the total amount of resources used by the selection virtual computer is more than the amount of insufficient resources.

Description

本発明は、仮想計算機を管理する技術に関する。   The present invention relates to a technique for managing virtual machines.

サーバにおいて動作する仮想計算機に、シンクライアント端末が接続する際必ずログオンが行われる場合、サーバは、接続の度にログオンに伴う処理を行う必要がある。ログオンに伴う処理として、例えば、ユーザの認証、ユーザプロファイルの読み込み、ログオン時に起動されるアプリケーションの起動等がある。ログオンに伴う処理を削減する方法として、例えば、ユーザが仮想計算機の使用を終了する際、ログオフを行う代わりに、シンクライアント端末と仮想計算機との間の接続のみを切断する方法がある。この方法では、シンクライアント端末との接続が切断された仮想計算機は、ユーザがログオンした状態で動作し続ける。そして、シンクライアント端末が、一度ログオンした仮想計算機に再び接続する場合、シンクライアント端末は動作中の仮想計算機に再接続される。その際、ログオンは行われない。しかし、全ての仮想計算機を動作させ続けると、例えば、サーバが仮想計算機を動作させるのに必要なメモリが不足する。そのようなサーバのメモリ不足を緩和する方法の例が、例えば特許文献1に記載されている。   When a thin client terminal always connects to a virtual machine that runs on the server, the server needs to perform a process associated with the logon each time the connection is made. Examples of processing associated with logon include user authentication, reading of a user profile, and activation of an application activated at logon. As a method for reducing processing associated with logon, for example, there is a method of disconnecting only the connection between the thin client terminal and the virtual machine instead of performing logoff when the user finishes using the virtual machine. In this method, the virtual machine that has been disconnected from the thin client terminal continues to operate with the user logged on. When the thin client terminal reconnects to the virtual machine that has once logged on, the thin client terminal is reconnected to the operating virtual machine. At that time, no logon is performed. However, if all the virtual machines are continuously operated, for example, a memory necessary for the server to operate the virtual machines is insufficient. An example of a method for alleviating such a server's memory shortage is described in, for example, Patent Document 1.

特許文献1に記載されているユーザ環境退避制御システムは、仮想PC(Personal Computer)にユーザ毎の環境を実現するためのユーザ環境情報を、記憶装置に退避させる。そのユーザ環境退避制御システムは、各ユーザに優先度を割り当てる。そして、ユーザ環境情報が退避させられているユーザが仮想PCにアクセスした際、空き仮想PCが無ければ、そのユーザ環境退避制御システムは、ユーザ環境情報が退避させられていないユーザから、割り当てられている優先度が最も低いユーザを選択する。そして、そのユーザ環境退避制御システムは、選択したユーザのユーザ環境情報を退避させることにより、空き仮想PCを準備する。そして、そのユーザ環境退避制御システムは、準備した空き仮想PCに、アクセスしたユーザのユーザ環境情報をロードする。   The user environment save control system described in Patent Document 1 saves user environment information for realizing an environment for each user in a virtual PC (Personal Computer) in a storage device. The user environment saving control system assigns a priority to each user. When a user whose user environment information has been saved accesses the virtual PC and there is no free virtual PC, the user environment save control system is assigned by a user whose user environment information has not been saved. Select the user with the lowest priority. Then, the user environment saving control system prepares an empty virtual PC by saving the user environment information of the selected user. Then, the user environment saving control system loads the user environment information of the accessed user into the prepared free virtual PC.

特開2011−134219号公報JP 2011-134219 A

仮想PCが使用するサーバのリソースの量が、例えばユーザ毎に異なるように設定されている場合、仮想PCを使用するユーザが変わることにより、その仮想PCが必要とするリソースの量が増加する可能性がある。その場合、仮想PCを使用するユーザが変わる前に、新たに仮想PCに割り当てることができる未使用リソースがサーバに無ければ、ユーザを変更することによってリソースが不足することが考えられる。   If the amount of server resources used by a virtual PC is set differently for each user, for example, the amount of resources required by the virtual PC may increase as the user using the virtual PC changes. There is sex. In this case, if there is no unused resource that can be newly assigned to the virtual PC before the user using the virtual PC changes, it is conceivable that resources are insufficient by changing the user.

特許文献1の技術では、仮想PCが必要とする、サーバのリソースの量が、例えばユーザ毎に異なる場合、サーバのリソース不足を防ぐことはできない。   With the technique of Patent Document 1, when the amount of server resources required by the virtual PC differs for each user, for example, it is not possible to prevent a shortage of server resources.

本発明の主な目的は、使用するリソースが必ずしも同一でない仮想計算機を実行するサーバがリソース不足になることなく、仮想計算機へのログオン時における処理による負荷を削減することができる仮想計算機管理装置を提供することにある。   A main object of the present invention is to provide a virtual machine management device capable of reducing a load caused by processing at the time of logging on to a virtual machine without causing a server running a virtual machine that does not necessarily use the same resources to run out of resources. It is to provide.

本発明の仮想計算機管理装置は、仮想計算機記憶手段に仮想計算機を退避させることができる実行装置が実行する仮想計算機に関して、当該仮想計算機が使用するリソース量と、前記仮想計算機の優先順位とを記憶する状態記憶手段と、前記仮想計算機のうち接続先仮想計算機への接続要求を受信する要求受信手段と、前記実行装置において検出された未使用リソース量と、前記仮想計算機記憶手段に退避させられている前記接続先仮想計算機が使用するリソース量とに基づき、前記接続先仮想計算機を復帰させた場合の不足リソース量を特定する不足特定手段と、前記優先順位に基づき、退避させられていない前記仮想計算機から選択仮想計算機を、前記選択仮想計算機が使用する前記リソース量の合計が前記不足リソースより大きくなるように選択する選択手段と、を備える。   The virtual machine management apparatus according to the present invention stores, for a virtual machine executed by an execution apparatus capable of saving a virtual machine in a virtual machine storage unit, a resource amount used by the virtual machine and a priority order of the virtual machine State storage means, request reception means for receiving a connection request to a connection destination virtual machine among the virtual machines, the amount of unused resources detected in the execution device, and saved in the virtual machine storage means Based on the resource amount used by the connection destination virtual computer, the shortage specifying means for specifying the shortage resource amount when the connection destination virtual computer is restored, and the virtual that has not been saved based on the priority order The total amount of the resources used by the selected virtual machine from the computer becomes larger than the insufficient resources. Comprising selecting means for urchin selected, the.

本発明の仮想計算機管理方法は、仮想計算機記憶手段に仮想計算機を退避させることができる実行装置が実行する仮想計算機に関して、当該仮想計算機が使用するリソース量と、前記仮想計算機の優先順位とを状態記憶手段に記憶し、前記仮想計算機のうち接続先仮想計算機への接続要求を受信する要求受信手段と、前記実行装置において検出された未使用リソース量と、前記仮想計算機記憶手段に退避させられている前記接続先仮想計算機が使用するリソース量とに基づき、前記接続先仮想計算機を復帰させた場合の不足リソース量を特定し、前記優先順位に基づき、退避させられていない前記仮想計算機から選択仮想計算機を、前記選択仮想計算機が使用する前記リソース量の合計が前記不足リソースより大きくなるように選択する。   The virtual machine management method according to the present invention relates to a virtual machine executed by an execution device capable of saving a virtual machine in a virtual machine storage unit, and determines a resource amount used by the virtual machine and a priority level of the virtual machine. Stored in storage means, request receiving means for receiving a connection request to a connection destination virtual machine among the virtual machines, the amount of unused resources detected in the execution device, and saved in the virtual machine storage means Based on the resource amount used by the connection destination virtual computer, the resource shortage amount when the connection destination virtual computer is restored is identified, and the selected virtual machine is selected from the virtual machines that have not been saved based on the priority order. The computer is selected so that the total amount of the resources used by the selected virtual computer is greater than the insufficient resources.

本発明の仮想計算機管理プログラムは、コンピュータを、仮想計算機記憶手段に仮想計算機を退避させることができる実行装置が実行する仮想計算機に関して、当該仮想計算機が使用するリソース量と、前記仮想計算機の優先順位とを記憶する状態記憶手段と、前記仮想計算機のうち接続先仮想計算機への接続要求を受信する要求受信手段と、前記実行装置において検出された未使用リソース量と、前記仮想計算機記憶手段に退避させられている前記接続先仮想計算機が使用するリソース量とに基づき、前記接続先仮想計算機を復帰させた場合の不足リソース量を特定する不足特定手段と、前記優先順位に基づき、退避させられていない前記仮想計算機から選択仮想計算機を、前記選択仮想計算機が使用する前記リソース量の合計が前記不足リソースより大きくなるように選択する選択手段と、して動作させる。   The virtual machine management program according to the present invention relates to a virtual machine executed by an execution device capable of saving a virtual machine to a virtual machine storage unit, a resource amount used by the virtual machine, and a priority order of the virtual machines State storage means for storing, request receiving means for receiving a connection request to a connection destination virtual machine among the virtual machines, the amount of unused resources detected in the execution device, and saving to the virtual machine storage means Based on the resource amount used by the connection destination virtual machine that has been set, the shortage specifying means for specifying the shortage resource amount when the connection destination virtual machine is restored, and on the basis of the priority order, are saved. There is no virtual machine selected from the virtual machine, and the total amount of the resources used by the selected virtual machine is insufficient Selection means for selecting to be greater than the source, to operate.

本発明には、必要とするリソースが必ずしも同一でない仮想計算機を実行するサーバがリソース不足になることなく、仮想計算機へのログオン時における処理による負荷を削減することができるという効果がある。   The present invention has an effect of reducing the load caused by processing at the time of logging on to a virtual machine without causing a server running a virtual machine whose required resources are not necessarily the same to run out of resources.

図1は、第1の実施形態の情報処理システム100の構成の例を表すブロック図である。FIG. 1 is a block diagram illustrating an example of a configuration of an information processing system 100 according to the first embodiment. 図2は、第1の実施形態の情報処理システム100Aの構成の例を表すブロック図である。FIG. 2 is a block diagram illustrating an example of the configuration of the information processing system 100A according to the first embodiment. 図3は、状態記憶部10が記憶する状態テーブルの例を表す図である。FIG. 3 is a diagram illustrating an example of a state table stored in the state storage unit 10. 図4は、状態記憶部10が記憶する状態テーブルにおける使用リソース量の部分の例を表す図である。FIG. 4 is a diagram illustrating an example of the used resource amount portion in the state table stored in the state storage unit 10. 図5は、状態記憶部10に格納されるユーザ優先順位の例を表す図である。FIG. 5 is a diagram illustrating an example of user priorities stored in the state storage unit 10. 図6は、状態記憶部10に格納される、ユーザの接続に関するデータ値の例を表す図である。FIG. 6 is a diagram illustrating an example of data values related to user connections stored in the state storage unit 10. 図7は、第1の実施形態の仮想計算機管理装置1の動作の例を表すフローチャートである。FIG. 7 is a flowchart illustrating an example of the operation of the virtual machine management device 1 according to the first embodiment. 図8は、第1の実施形態の仮想計算機実行装置2の動作の例を表すフローチャートである。FIG. 8 is a flowchart illustrating an example of the operation of the virtual machine execution device 2 according to the first embodiment. 図9は、第1の実施形態の仮想計算機20の構成の例を表すブロック図である。FIG. 9 is a block diagram illustrating an example of the configuration of the virtual computer 20 according to the first embodiment. 図10は、第1の実施形態の仮想計算機20の機能構成の例を表すブロック図である。FIG. 10 is a block diagram illustrating an example of a functional configuration of the virtual machine 20 according to the first embodiment. 図11は、第1の実施形態の仮想計算機20の機能構成の例を表すブロック図である。FIG. 11 is a block diagram illustrating an example of a functional configuration of the virtual machine 20 according to the first embodiment. 図12は、ログオフ要求受信時における仮想計算機20の動作の例を表すフローチャートである。FIG. 12 is a flowchart illustrating an example of the operation of the virtual machine 20 when a logoff request is received. 図13は、第2の実施形態の仮想計算機管理装置1Aの構成を表す図である。FIG. 13 is a diagram illustrating the configuration of the virtual machine management device 1A according to the second embodiment. 図14は、仮想計算機管理装置1、仮想計算機管理装置1A、仮想計算機実行装置2、仮想計算機実行装置2Aを実現することができる、コンピュータ1000の構成の一例を表す図である。FIG. 14 is a diagram illustrating an example of a configuration of a computer 1000 that can realize the virtual machine management apparatus 1, the virtual machine management apparatus 1A, the virtual machine execution apparatus 2, and the virtual machine execution apparatus 2A.

次に、本発明の実施の形態について説明する。   Next, an embodiment of the present invention will be described.

<第1の実施形態>
まず、本発明の第1の実施形態について、図面を参照して詳細に説明する。
<First Embodiment>
First, a first embodiment of the present invention will be described in detail with reference to the drawings.

図1は、本実施形態の情報処理システム100の構成の例を表すブロック図である。   FIG. 1 is a block diagram illustrating an example of a configuration of an information processing system 100 according to the present embodiment.

図1を参照すると、情報処理システム100は、仮想計算機管理装置1と、仮想計算機実行装置2と、端末装置3と、ユーザ管理装置4とを含む。情報処理装置100は、複数の端末装置3を含んでいてもよい。仮想計算機管理装置1と、仮想計算機実行装置2と、ユーザ管理装置4とは、互いに接続されている。端末装置3は、仮想計算機管理装置1及び仮想計算機実行装置2に接続されている。なお、仮想計算機管理装置1、仮想計算機実行装置2、及びユーザ管理装置4のいずれか2台以上が、同一の装置であってもよい。例えば、仮想計算機実行装置2が、仮想計算機管理装置1を含むことによって、仮想計算機管理装置1として動作してもよい。本発明の各実施形態の説明における、仮想計算機実行装置2及び仮想計算機実行装置2Aは、単に、実行装置とも表記される。   Referring to FIG. 1, the information processing system 100 includes a virtual machine management device 1, a virtual machine execution device 2, a terminal device 3, and a user management device 4. The information processing apparatus 100 may include a plurality of terminal devices 3. The virtual machine management device 1, the virtual machine execution device 2, and the user management device 4 are connected to each other. The terminal device 3 is connected to the virtual computer management device 1 and the virtual computer execution device 2. Any two or more of the virtual machine management device 1, the virtual machine execution device 2, and the user management device 4 may be the same device. For example, the virtual computer execution device 2 may operate as the virtual computer management device 1 by including the virtual computer management device 1. In the description of each embodiment of the present invention, the virtual machine execution device 2 and the virtual machine execution device 2A are also simply referred to as execution devices.

図2は、本実施形態の情報処理システム100Aの構成の例を表すブロック図である。情報処理システム100Aでは、仮想計算機実行装置2が、仮想計算機管理装置1及びユーザ管理装置4を含む。他の点では、情報処理システム100Aは、情報処理システム100と同じである。   FIG. 2 is a block diagram illustrating an example of the configuration of the information processing system 100A according to the present embodiment. In the information processing system 100A, the virtual machine execution device 2 includes a virtual machine management device 1 and a user management device 4. In other respects, the information processing system 100A is the same as the information processing system 100.

仮想計算機管理装置1は、状態記憶部10と、要求受信部11と、不足特定部12と、選択部13と、優先順位決定部14と、出力部15とを含む。   The virtual machine management device 1 includes a state storage unit 10, a request reception unit 11, a shortage identification unit 12, a selection unit 13, a priority order determination unit 14, and an output unit 15.

仮想計算機実行装置2は、仮想計算機20を実行する仮想計算機実行部21と、退避部22と、仮想計算機記憶部23と、状態取得部24と、要求実行部25と、状態送信部26とを含む。   The virtual machine execution device 2 includes a virtual machine execution unit 21 that executes the virtual machine 20, a save unit 22, a virtual machine storage unit 23, a state acquisition unit 24, a request execution unit 25, and a state transmission unit 26. Including.

ユーザ管理装置4は、ログ記憶部40と、認証部41とを含む。   The user management device 4 includes a log storage unit 40 and an authentication unit 41.

仮想計算機20は、仮想計算機実行装置2においてエミュレートされる仮想的なコンピュータである。仮想計算機20は、一般に、仮想機械あるいはバーチャルマシンとも呼ばれる。仮想計算機20がエミュレートされたPCである場合、仮想計算機20は、仮想PCとも呼ばれる。   The virtual machine 20 is a virtual computer emulated in the virtual machine execution device 2. The virtual machine 20 is generally called a virtual machine or a virtual machine. When the virtual machine 20 is an emulated PC, the virtual machine 20 is also called a virtual PC.

仮想計算機実行部21は、仮想計算機20を実行する。すなわち、仮想計算機実行部21は、仮想計算機20をエミュレートする。仮想計算機実行部21は、例えば、仮想計算機実行装置21のプロセッサと、そのプロセッサが実行する、仮想計算機20を実現するための制御プログラムによって実現される。そのような仮想計算機実行部21は、一般に、ハイパーバイザと呼ばれる。   The virtual machine execution unit 21 executes the virtual machine 20. That is, the virtual machine execution unit 21 emulates the virtual machine 20. The virtual machine execution unit 21 is realized, for example, by a processor of the virtual machine execution device 21 and a control program for realizing the virtual machine 20 executed by the processor. Such a virtual machine execution unit 21 is generally called a hypervisor.

仮想計算機実行装置2において仮想計算機20が動作している場合、その仮想計算機20に対して、その仮想計算機20がコンピュータとして動作するために使用するメモリが、仮想計算機実行装置2のメモリから割り当てられる。   When the virtual computer 20 is operating in the virtual computer execution device 2, a memory used for the virtual computer 20 to operate as a computer is allocated from the memory of the virtual computer execution device 2 to the virtual computer 20. .

退避部22は、退避指示と、退避の対象である仮想計算機20の識別子とを受信すると、その仮想計算機20に対して、退避処理を行う。すなわち、退避部22は、その仮想計算機20に割り当てられているメモリにロードされているデータを、その仮想計算機20に関連付けて仮想計算機記憶部23に格納する。さらに、退避部22は、退避が行われた仮想計算機20に割り当てられていたメモリを解放する。退避処理は、例えば、以上の、仮想計算機実行装置2のメモリにロードされていた仮想計算機20のデータを仮想計算機記憶部23に格納し、その仮想計算機20に割り当てられていたメモリを解放する処理である。以下の説明において、仮想計算機20に対して退避処理を行うことを、「仮想計算機20を退避させる」とも表記することにする。   When the save unit 22 receives the save instruction and the identifier of the virtual machine 20 that is the save target, the save unit 22 performs a save process on the virtual machine 20. That is, the saving unit 22 stores the data loaded in the memory allocated to the virtual computer 20 in the virtual computer storage unit 23 in association with the virtual computer 20. Furthermore, the saving unit 22 releases the memory allocated to the virtual machine 20 that has been saved. The save processing is, for example, the above-described processing of storing the data of the virtual machine 20 loaded in the memory of the virtual machine execution device 2 in the virtual machine storage unit 23 and releasing the memory allocated to the virtual machine 20 It is. In the following description, performing the saving process on the virtual machine 20 is also referred to as “saving the virtual machine 20”.

退避部22は、さらに、復帰指示と、復帰の対象である仮想計算機20の識別子とを受信すると、その仮想計算機20に対して復帰処理を行う。すなわち、退避部22は、まず、復帰の対象である仮想計算機20がコンピュータとして動作するために使用するメモリを、仮想計算機実行装置2のメモリにおいて確保する。そして、退避部22は、仮想計算機記憶部23に格納されている、復帰の対象である仮想計算機20のデータを、確保したメモリに再びロードする。復帰処理は、例えば、以上の、復帰の対象である仮想計算機20が使用するメモリを確保する処理と、その仮想計算機20のデータを確保したメモリにロードする処理である。以下の説明では、仮想計算機20に対して復帰処理を行うことを、「仮想計算機20を復帰させる」とも表記することにする。   Further, when the saving unit 22 receives the return instruction and the identifier of the virtual computer 20 to be returned, the saving unit 22 performs a return process on the virtual computer 20. That is, the saving unit 22 first secures in the memory of the virtual machine execution device 2 a memory used for the virtual machine 20 to be restored to operate as a computer. Then, the saving unit 22 loads again the data of the virtual machine 20 to be restored, which is stored in the virtual machine storage unit 23, into the secured memory. The restoration process is, for example, the above-described process for securing the memory used by the virtual machine 20 to be restored and the process for loading the data of the virtual machine 20 into the secured memory. In the following description, performing the restoration process on the virtual machine 20 is also referred to as “returning the virtual machine 20”.

仮想計算機記憶部23は、仮想計算機実行装置2のメモリにロードされていた仮想計算機20のデータを記憶する。以下の説明において、仮想計算機実行装置2のメモリにロードされていた仮想計算機20のデータを記憶することを、「仮想計算機20を記憶する」とも表記することにする。   The virtual machine storage unit 23 stores data of the virtual machine 20 that has been loaded into the memory of the virtual machine execution device 2. In the following description, storing the data of the virtual machine 20 that has been loaded into the memory of the virtual machine execution device 2 will be referred to as “store the virtual machine 20”.

状態取得部24は、さらに、仮想計算機実行装置2の未使用リソースの量を特定する。未使用リソースは、どの仮想計算機20にも割り当てられていない、いずれかの仮想計算機20に割り当てることができる仮想計算機実行装置2のリソースである。リソースは、例えば、メモリ、プロセッサ、ネットワーク帯域、ストレージなどである。状態取得部24は、未使用リソースの量を、例えば、仮想計算機実行部21から受信してもよい。そして、状態取得部24は、特定した未使用リソースの量を、状態送信部26に送信する。   The state acquisition unit 24 further specifies the amount of unused resources of the virtual machine execution device 2. The unused resource is a resource of the virtual machine execution device 2 that is not assigned to any virtual machine 20 and can be assigned to any virtual machine 20. The resource is, for example, a memory, a processor, a network bandwidth, a storage, or the like. The state acquisition unit 24 may receive the amount of unused resources from, for example, the virtual machine execution unit 21. Then, the state acquisition unit 24 transmits the identified amount of unused resources to the state transmission unit 26.

要求実行部25は、退避させる仮想計算機20として選択部13が選択した仮想計算機20である選択仮想計算機の、識別子を受信する。要求実行部25は、退避指示と、受信した選択仮想計算機の識別子とを、退避部22に送信する。退避指示と、受信した選択仮想計算機の識別子と受信した退避部22は、選択仮想計算機を退避させる。選択仮想計算機がいずれかの端末装置3と接続されている場合、要求実行部25は、選択仮想計算機に、退避準備指示を送信してもよい。各仮想計算機20は、退避準備指示を受信した場合、端末装置3との接続を切断するよう設計されていればよい。   The request execution unit 25 receives the identifier of the selected virtual computer that is the virtual computer 20 selected by the selection unit 13 as the virtual computer 20 to be saved. The request execution unit 25 transmits the save instruction and the received identifier of the selected virtual machine to the save unit 22. The save instruction, the received identifier of the selected virtual machine, and the received save unit 22 save the selected virtual machine. When the selected virtual machine is connected to any one of the terminal devices 3, the request execution unit 25 may transmit a save preparation instruction to the selected virtual machine. Each virtual machine 20 only needs to be designed to disconnect from the terminal device 3 when receiving a save preparation instruction.

要求実行部25は、さらに、端末装置3の識別子と、端末装置3が送信した接続要求における接続先の仮想計算機20である接続先仮想計算機の識別子とを受信する。接続先仮想計算機が退避させられている場合、要求実行部25は、復帰指示と、接続先仮想計算機の識別子とを、退避部22に送信する。復帰指示と、接続先仮想計算機の識別子とを受信した退避部22は、接続先仮想計算機を復帰させる。   The request execution unit 25 further receives the identifier of the terminal device 3 and the identifier of the connection destination virtual computer 20 that is the connection destination virtual computer 20 in the connection request transmitted by the terminal device 3. If the connection destination virtual machine has been saved, the request execution unit 25 transmits the return instruction and the identifier of the connection destination virtual machine to the save unit 22. The saving unit 22 that has received the return instruction and the identifier of the connection destination virtual machine returns the connection destination virtual machine.

要求実行部25は、さらに、端末装置3と接続先仮想計算機とを接続する。要求実行部25は、例えば、接続要求を送信した端末装置3に、接続先仮想計算機の識別子を送信することによって、端末装置3と接続先仮想計算機とを接続すればよい。接続先仮想計算機の識別子を受信した端末装置3は、接続先仮想計算機に接続する。   The request execution unit 25 further connects the terminal device 3 and the connection destination virtual machine. For example, the request execution unit 25 may connect the terminal device 3 and the connection destination virtual computer by transmitting the identifier of the connection destination virtual computer to the terminal device 3 that has transmitted the connection request. The terminal device 3 that has received the identifier of the connection destination virtual machine connects to the connection destination virtual machine.

状態送信部26は、状態取得部24が特定した、仮想計算機実行装置2の未使用リソースの量を、仮想計算機管理装置1の状態受信部16に送信する。   The status transmission unit 26 transmits the amount of unused resources of the virtual machine execution device 2 specified by the status acquisition unit 24 to the status reception unit 16 of the virtual machine management device 1.

状態送信部26は、さらに、各仮想計算機20の状態を、仮想計算機管理装置1の状態受信部16に送信する。仮想計算機20の状態は、例えば、仮想計算機20の「接続状態」と、仮想計算機20の「場所」を含む。仮想計算機20の状態は、仮想計算機20の使用リソース量を含んでいてもよい。仮想計算機20の状態は、仮想計算機20の動作状態を含んでいてもよい。仮想計算機20の状態は、さらに、その仮想計算機20に関連付けられている「ユーザID(Identifier)」を含む。ただし、状態送信部26は、「ユーザID」を送信しなくてよい。「ユーザID」は、ユーザの識別子である。仮想計算機20にユーザIDが関連付けられているユーザは、例えば、その仮想計算機20が割り当てられているユーザである。以下の説明において、仮想計算機20にユーザのユーザIDが関連付けられていることを、「仮想計算機20にユーザが関連付けられている」とも表記することにする。なお、本実施形態では、一つの仮想計算機20とユーザは一対一で関連付けられている。しかし、一つの仮想計算機20に複数のユーザが関連付けられていてもよい。また、一人のユーザが複数の仮想計算機20に関連付けられていてもよい。   The status transmission unit 26 further transmits the status of each virtual machine 20 to the status reception unit 16 of the virtual machine management device 1. The state of the virtual machine 20 includes, for example, a “connection state” of the virtual machine 20 and a “location” of the virtual machine 20. The state of the virtual machine 20 may include the amount of resources used by the virtual machine 20. The state of the virtual machine 20 may include the operation state of the virtual machine 20. The state of the virtual machine 20 further includes a “user ID (Identifier)” associated with the virtual machine 20. However, the status transmission unit 26 does not have to transmit the “user ID”. “User ID” is an identifier of a user. The user whose user ID is associated with the virtual machine 20 is, for example, a user to which the virtual machine 20 is assigned. In the following description, the fact that the user ID of the user is associated with the virtual machine 20 will be referred to as “the user is associated with the virtual machine 20”. In this embodiment, one virtual machine 20 and a user are associated one-on-one. However, a plurality of users may be associated with one virtual machine 20. One user may be associated with a plurality of virtual machines 20.

仮想計算機20の「接続状態」は、例えば、仮想計算機20とその仮想計算機20に関連付けられているユーザが使用する端末装置3との間の接続の状態を表す。仮想計算機20の接続状態は、例えば、「切断」、「接続」、あるいは「未使用」である。「切断」、「接続」、及び「未使用」は、あらかじめ定められた異なる値であればよい。「切断」は、仮想計算機20とその仮想計算機20に関連付けられているユーザが使用する端末装置3との間の接続が、切断されていることを表す。「接続」は、仮想計算機20とその仮想計算機20に関連付けられているユーザが使用する端末装置3との間が、接続されていることを表す。「未使用」は、仮想計算機20に関連付けられているユーザがいないことを表す。   The “connection state” of the virtual machine 20 represents, for example, the state of connection between the virtual machine 20 and the terminal device 3 used by the user associated with the virtual machine 20. The connection state of the virtual machine 20 is, for example, “disconnected”, “connected”, or “unused”. “Disconnect”, “connect”, and “unused” may be different values determined in advance. “Disconnected” indicates that the connection between the virtual computer 20 and the terminal device 3 used by the user associated with the virtual computer 20 is disconnected. “Connection” represents that the virtual machine 20 and the terminal device 3 used by the user associated with the virtual machine 20 are connected. “Unused” indicates that there is no user associated with the virtual machine 20.

例えば、端末装置3が仮想計算機20に接続した場合に、その仮想計算機20の接続状態は変化する。例えば、端末装置3が仮想計算機20に対する接続を切断した場合、その仮想計算機20の接続状態は変化する。また、例えば、要求実行部25が、端末装置3に接続されている仮想計算機20に、退避準備指示を送信した場合にも、その仮想計算機20の接続状態は変化する。   For example, when the terminal device 3 is connected to the virtual machine 20, the connection state of the virtual machine 20 changes. For example, when the terminal device 3 disconnects from the virtual computer 20, the connection state of the virtual computer 20 changes. For example, when the request execution unit 25 transmits a save preparation instruction to the virtual machine 20 connected to the terminal device 3, the connection state of the virtual machine 20 changes.

仮想計算機20の接続状態が変化した場合、例えば、接続状態が変化した仮想計算機20が、接続状態を、例えば状態取得部24に送信すればよい。状態取得部24は、いずれかの仮想計算機20から接続状態を受信した場合、その接続状態を送信した仮想計算機20に関連付けて、受信した接続状態を状態送信部26に送信すればよい。後述されるように、状態送信部26は、受信した、仮想計算機20に関連付けられた接続状態を、状態受信部16に送信する。仮想計算機20に関連付けられた接続状態を受信した状態受信部16は、状態記憶部10に格納されている、その仮想計算機20の接続状態を更新する。すなわち、仮想計算機20から接続状態を受信した状態取得部24は、状態送信部26及び状態受信部16を介して、状態記憶部10に格納されている、その仮想計算機20の接続状態を更新する。   When the connection state of the virtual machine 20 changes, for example, the virtual machine 20 whose connection state has changed may transmit the connection state to, for example, the state acquisition unit 24. When the state acquisition unit 24 receives the connection state from any of the virtual machines 20, the state acquisition unit 24 may transmit the received connection state to the state transmission unit 26 in association with the virtual machine 20 that has transmitted the connection state. As will be described later, the state transmission unit 26 transmits the received connection state associated with the virtual machine 20 to the state reception unit 16. The state receiving unit 16 that has received the connection state associated with the virtual machine 20 updates the connection state of the virtual machine 20 stored in the state storage unit 10. That is, the state acquisition unit 24 that has received the connection state from the virtual computer 20 updates the connection state of the virtual computer 20 stored in the state storage unit 10 via the state transmission unit 26 and the state reception unit 16. .

仮想計算機20の「場所」は、仮想計算機20がコンピュータとして動作するために使用するメモリにロードされるデータが存在する場所を表す。仮想計算機20が退避させられていない場合、仮想計算機20がコンピュータとして動作するために使用するメモリにロードされるデータは、仮想計算機実行装置2のメモリに存在する。その場合、仮想計算機20の「場所」の値は、例えば「メモリ」である。仮想計算機20が退避させられている場合、仮想計算機20がコンピュータとして動作するために使用するメモリにロードされるデータは、仮想計算機記憶部23に格納されている。その場合、仮想計算機20の「場所」の値は、例えば「ディスク」である。このように、仮想計算機20の「場所」は、例えば、「メモリ」又は「ディスク」である。「メモリ」及び「ディスク」は、あらかじめ定められた互いに異なる値であればよい。   The “location” of the virtual machine 20 represents a place where data loaded into a memory used for the virtual machine 20 to operate as a computer exists. When the virtual machine 20 is not saved, the data loaded into the memory used for the virtual machine 20 to operate as a computer exists in the memory of the virtual machine execution device 2. In that case, the value of “location” of the virtual machine 20 is, for example, “memory”. When the virtual machine 20 is evacuated, data loaded into a memory used for the virtual machine 20 to operate as a computer is stored in the virtual machine storage unit 23. In that case, the value of “location” of the virtual machine 20 is, for example, “disk”. As described above, the “location” of the virtual machine 20 is, for example, “memory” or “disk”. The “memory” and “disk” may be different from each other as determined in advance.

例えば退避部22が、仮想計算機20を退避させた場合及び仮想計算機20を復帰させた場合に、退避又は復帰が行われた仮想計算機20の「場所」を状態送信部26に送信すればよい。仮想計算機20の「場所」を受信した状態送信部26は、受信した、仮想計算機20の「場所」を、状態受信部16に送信する。後述されるように、仮想計算機20の「場所」を状態受信部16は、状態記憶部10に格納されている、その仮想計算機20の「場所」を更新する。   For example, when the saving unit 22 saves the virtual computer 20 and when the virtual computer 20 is restored, the “location” of the virtual computer 20 that has been saved or restored may be transmitted to the status transmission unit 26. The state transmission unit 26 that has received the “location” of the virtual computer 20 transmits the received “location” of the virtual computer 20 to the state reception unit 16. As will be described later, the status receiving unit 16 of the “location” of the virtual computer 20 updates the “location” of the virtual computer 20 stored in the status storage unit 10.

使用リソース量は、仮想計算機実行装置2のリソースのうち、その仮想計算機20が使用しているリソースの量である。仮想計算機実行装置2は、仮想計算機20が使用するリソースの量は、あらかじめ定められた複数の量のいずれかから選択するよう設定されていてもよい。その場合、あらかじめ定められた量を表す値のいずれかであればよい。   The used resource amount is the amount of resources used by the virtual machine 20 among the resources of the virtual machine execution device 2. The virtual machine execution device 2 may be set so that the amount of resources used by the virtual machine 20 is selected from a plurality of predetermined amounts. In that case, it may be any value representing a predetermined amount.

例えば、仮想計算機実行部21が、各仮想計算機20のリソース量を特定すればよい。仮想計算機実行部21は、特定した各仮想計算機20のリソース量を、状態取得部24に送信すればよい。そして、状態取得部24は、特定した各仮想計算機20のリソース量を、状態送信部26に送信すればよい。仮想計算機20のリソース量を受信した状態送信部26は、受信したリソース量を、そのリソース量のリソースを使用する仮想計算機20に関連付けて状態受信部16に送信すればよい。状態受信部16は、状態記憶部10に格納されている使用リソース量を更新すればよい。各仮想計算機20の使用リソース量は、あらかじめ定められていてもよい。その場合、例えば仮想計算機実行装置2の管理者が、各仮想計算機20の使用リソース量を、あらかじめ状態記憶部10に格納しておけばよい。   For example, the virtual machine execution unit 21 may specify the resource amount of each virtual machine 20. The virtual machine execution unit 21 may transmit the identified resource amount of each virtual machine 20 to the state acquisition unit 24. Then, the state acquisition unit 24 may transmit the identified resource amount of each virtual machine 20 to the state transmission unit 26. The state transmitting unit 26 that has received the resource amount of the virtual computer 20 may transmit the received resource amount to the state receiving unit 16 in association with the virtual computer 20 that uses the resource amount. The state receiving unit 16 may update the used resource amount stored in the state storage unit 10. The used resource amount of each virtual machine 20 may be determined in advance. In this case, for example, the administrator of the virtual machine execution device 2 may store the used resource amount of each virtual machine 20 in the state storage unit 10 in advance.

動作状態は、例えば、「アイドル状態」及び「処理中」である。動作状態は、例えば、仮想計算機20に接続されている端末装置3のユーザによる、その仮想計算機20に対する操作が、継続しているか否かを表す。「アイドル状態」は、例えば、所定時間以上仮想計算機20に対するユーザの操作が無いことを表す。「処理中」は、例えば、過去所定時間以内に仮想計算機20に対するユーザの操作があったことを表す。動作状態は、他の定義によって定められていてもよい。   The operation states are, for example, “idle state” and “processing”. The operation state represents, for example, whether or not an operation on the virtual computer 20 by a user of the terminal device 3 connected to the virtual computer 20 is continued. “Idle state” represents, for example, that there is no user operation on the virtual machine 20 for a predetermined time or more. “Processing” indicates, for example, that the user has performed an operation on the virtual machine 20 within the past predetermined time. The operating state may be defined by other definitions.

例えば、仮想計算機実行部21が、各仮想計算機20の動作状態を特定すればよい。仮想計算機実行部21は、特定した各仮想計算機20の動作状態を、状態送信部26に送信すればよい。あるいは、状態取得部24が、各仮想計算機20から動作状態を取得してもよい。その場合、例えば各仮想計算機20が、状態取得部24に動作状態を送信すればよい。そして、状態取得部24が、各仮想計算機20の動作状態を、状態送信部26に送信すればよい。   For example, the virtual machine execution unit 21 may specify the operation state of each virtual machine 20. The virtual machine execution unit 21 may transmit the identified operation state of each virtual machine 20 to the state transmission unit 26. Alternatively, the state acquisition unit 24 may acquire the operation state from each virtual machine 20. In that case, for example, each virtual machine 20 may transmit the operation state to the state acquisition unit 24. And the state acquisition part 24 should just transmit the operation state of each virtual machine 20 to the state transmission part 26. FIG.

次に、ユーザ管理装置4について説明する。   Next, the user management device 4 will be described.

認証部41は、端末装置3が仮想計算機20に接続する場合に、例えば仮想計算機20からの要求に基づき、端末装置3を使用するユーザの認証を行う。認証部41は、ユーザが未使用であった仮想計算機20を使用し始める場合だけでなく、端末装置3が、接続が切断されている仮想計算機20に再接続する場合にも、ユーザの認証を行う。   When the terminal device 3 connects to the virtual machine 20, the authentication unit 41 authenticates a user who uses the terminal device 3 based on a request from the virtual machine 20, for example. The authentication unit 41 authenticates the user not only when the user starts using the virtual computer 20 that has not been used, but also when the terminal device 3 reconnects to the virtual computer 20 that has been disconnected. Do.

そして、認証部41は、行った認証に関する記録、すなわち認証記録をログ記憶部40に格納する。認証記録は、例えば、認証が行われたユーザのユーザIDと認証が行われた時間情報を含む。時間情報は、例えば、日付、時間、曜日などを含んでいればよい。認証記録は、認証が行われた仮想計算機20の仮想計算機IDを含んでいてもよい。   Then, the authentication unit 41 stores a record related to the authentication performed, that is, an authentication record in the log storage unit 40. The authentication record includes, for example, the user ID of the authenticated user and the time information when the authentication is performed. The time information may include, for example, date, time, day of the week, and the like. The authentication record may include the virtual machine ID of the virtual machine 20 that has been authenticated.

認証の結果が成功であった場合、ユーザが使用する端末装置3は、仮想計算機20に接続する。従って、結果が成功であった認証に関する記録は、仮想計算機20に対する接続の記録である。認証部41は、認証の結果が成功であった場合にのみ、上述の認証記録を、ログ記憶部40に格納してもよい。あるいは、認証部41は、認証の結果をさらに含む、上述の認証記録を、ログ記憶部40に格納してもよい。   When the authentication result is successful, the terminal device 3 used by the user connects to the virtual machine 20. Therefore, the record related to the authentication with a successful result is a record of the connection to the virtual machine 20. The authentication unit 41 may store the above-described authentication record in the log storage unit 40 only when the result of the authentication is successful. Alternatively, the authentication unit 41 may store the above-described authentication record further including the result of authentication in the log storage unit 40.

認証部41は、さらに、ユーザの認証が行われた後、そのユーザが使用する端末装置3と仮想計算機20との間の接続が切断された時刻を、ログ記憶部40に格納してもよい。その場合、端末装置3によって接続が切断された仮想計算機20は、例えば、接続を切断した端末装置3のユーザのユーザIDと切断が行われた時刻とを認証部41に送信すればよい。そして、認証部41は、例えば、受信したユーザID及び時刻と、そのユーザID及び時刻を送信した仮想計算機20の仮想計算機IDとに基づき、どの認証の結果に基づき行われた接続が切断されたか特定すればよい。認証部41は、特定した認証の認証記録として、接続が切断された時刻をログ記憶部40に格納すればよい。   The authentication unit 41 may further store, in the log storage unit 40, the time when the connection between the terminal device 3 used by the user and the virtual machine 20 is disconnected after the user is authenticated. . In that case, the virtual machine 20 whose connection has been disconnected by the terminal device 3 may transmit, for example, the user ID of the user of the terminal device 3 whose connection has been disconnected and the time at which the disconnection was performed to the authentication unit 41. Then, the authentication unit 41, for example, based on which authentication result the connection made based on the received user ID and time and the virtual machine ID of the virtual machine 20 that transmitted the user ID and time is disconnected. What is necessary is just to specify. The authentication part 41 should just store the time when the connection was cut | disconnected in the log memory | storage part 40 as an authentication record of identified authentication.

ログ記憶部40は、上述の認証記録を記憶する。上述のように、結果が成功であった認証に関する記録は、仮想計算機20に対する接続の記録である。また、端末装置3が仮想計算機20に接続された場合、端末装置3のユーザは、仮想計算機20を利用する。従って、上述の認証記録は、ユーザによる仮想計算機20の利用記録でもある。認証記録が、認証が行われた時刻と、接続が切断された時刻とを含む場合、それらの時刻に基づきユーザが仮想計算機20を利用していた時間帯を特定することができる。   The log storage unit 40 stores the above-described authentication record. As described above, the record related to the authentication with a successful result is a connection record to the virtual machine 20. When the terminal device 3 is connected to the virtual computer 20, the user of the terminal device 3 uses the virtual computer 20. Therefore, the above-described authentication record is also a usage record of the virtual machine 20 by the user. When the authentication record includes the time when the authentication is performed and the time when the connection is disconnected, the time zone in which the user has used the virtual machine 20 can be specified based on these times.

次に、仮想計算機管理装置1について説明する。   Next, the virtual machine management device 1 will be described.

状態記憶部10は、各仮想計算機20の状態を、仮想計算機20の識別子である仮想計算機IDに関連付けて記憶する。状態記憶部10は、各仮想計算機20の状態を、各仮想計算機20の状態を含むテーブルである状態テーブルの形で記憶していてもよい。   The state storage unit 10 stores the state of each virtual machine 20 in association with the virtual machine ID that is the identifier of the virtual machine 20. The state storage unit 10 may store the state of each virtual machine 20 in the form of a state table that is a table including the state of each virtual machine 20.

前述のように、仮想計算機20の状態は、例えば、その仮想計算機20に関連付けられているユーザの識別子である「ユーザID」と、仮想計算機20の「接続状態」と、仮想計算機20の「場所」を含む。仮想計算機20の状態は、仮想計算機20の「使用リソース量」を含んでいてもよい。仮想計算機20の状態は、仮想計算機20の「動作状態」を含んでいてもよい。仮想計算機20の状態は、さらに、仮想計算機20の優先順位を含む。仮想計算機20の優先順位は、後述されるように、優先順位決定部14によって決定される。   As described above, the state of the virtual machine 20 includes, for example, a “user ID” that is an identifier of a user associated with the virtual machine 20, a “connection state” of the virtual machine 20, and a “location” of the virtual machine 20. "including. The state of the virtual machine 20 may include the “used resource amount” of the virtual machine 20. The state of the virtual machine 20 may include an “operation state” of the virtual machine 20. The state of the virtual machine 20 further includes the priority order of the virtual machine 20. The priority order of the virtual machines 20 is determined by the priority order determination unit 14 as will be described later.

図3は、状態記憶部10が記憶する状態テーブルの例を表す図である。図3に示す例では、状態テーブルは、仮想計算機IDと、ユーザIDと、接続状態と、使用リソース量と、動作状態と、場所と、優先順位とを含む。図3に示す例では、使用リソース量は、「高」と「低」の2つの状態値によって表される。その場合、それぞれの状態値は、リソースの種類及びリソースの量を表す数値の組み合わせ一つ以上に、関連付けられていればよい。   FIG. 3 is a diagram illustrating an example of a state table stored in the state storage unit 10. In the example illustrated in FIG. 3, the state table includes a virtual machine ID, a user ID, a connection state, a used resource amount, an operation state, a location, and a priority order. In the example illustrated in FIG. 3, the used resource amount is represented by two state values “high” and “low”. In this case, each state value may be associated with one or more combinations of numerical values representing the resource type and the resource amount.

図4は、状態記憶部10が記憶する状態テーブルにおける使用リソース量の部分の例を表す図である。図4に示す例では、使用リソース量は、メモリの容量及びプロセッサの数によって表されている。使用リソース量は、例えば、メモリの容量だけによって表されていてもよい。   FIG. 4 is a diagram illustrating an example of the used resource amount portion in the state table stored in the state storage unit 10. In the example illustrated in FIG. 4, the used resource amount is represented by the memory capacity and the number of processors. The amount of used resources may be represented only by the capacity of the memory, for example.

状態受信部16は、状態送信部26が送信する上述の各仮想計算機20の状態を受信する。状態受信部16は、受信した各仮想計算機20の状態を、状態記憶部10に格納する。状態受信部16は、前述の状態テーブルを更新すればよい。   The state receiving unit 16 receives the state of each virtual machine 20 described above transmitted by the state transmitting unit 26. The state receiving unit 16 stores the received state of each virtual machine 20 in the state storage unit 10. The state receiving unit 16 may update the above-described state table.

状態受信部16は、さらに、状態送信部26から、仮想計算機実行装置2の状態を受信する。状態受信部16が受信する仮想計算機実行装置2の状態は、上述の、未使用リソースの量である。状態受信部16は未使用リソースの量を不足特定部12に送信する。   The state reception unit 16 further receives the state of the virtual machine execution device 2 from the state transmission unit 26. The state of the virtual machine execution device 2 received by the state reception unit 16 is the amount of unused resources described above. The state receiving unit 16 transmits the amount of unused resources to the shortage specifying unit 12.

優先順位決定部14は、ログ記憶部40に格納されている、仮想計算機20に対して行われた接続の記録に基づき、各仮想計算機20の優先順位を決定する。優先順位決定部14は、仮想計算機20に対して決定した優先順位を、その仮想計算機20に関連付けて状態記憶部10に格納する。   The priority order determination unit 14 determines the priority order of each virtual machine 20 based on the record of connections made to the virtual machine 20 stored in the log storage unit 40. The priority order determination unit 14 stores the priority order determined for the virtual computer 20 in the state storage unit 10 in association with the virtual computer 20.

前述のように、本実施形態では、仮想計算機20とユーザは、一対一に対応付けられている。そのため、優先順位決定部14は、ユーザに対して決定された優先順位を、そのユーザに関連付けられている仮想計算機20の優先順位にしてもよい。   As described above, in this embodiment, the virtual machine 20 and the user are associated one-on-one. Therefore, the priority order determination unit 14 may set the priority order determined for the user as the priority order of the virtual machines 20 associated with the user.

その場合、優先順位決定部14は、まず、例えば仮想計算機20に対する接続の頻度に応じて、各ユーザの優先順位を決定すればよい。優先順位決定部14は、例えば、接続の頻度が多いユーザほど優先順位が高くなるように、各ユーザの優先順位を決定する。接続の頻度は、例えば、過去の一定期間において集計された、ユーザ毎の接続の回数である。接続の頻度は、例えば、過去の一定期間において曜日別に集計された、ユーザ毎の接続の回数であってもよい。接続の頻度は、例えば、過去の一定期間において時間帯別に集計された、ユーザ毎の接続の回数であってもよい。接続の頻度は、例えば、過去の一定期間において時間帯別に集計された、ユーザ毎の、ユーザが仮想計算機20を利用していた回数であってもよい。   In that case, the priority order determination part 14 should just determine the priority order of each user first according to the frequency of the connection with respect to the virtual machine 20, for example. For example, the priority order determination unit 14 determines the priority order of each user so that a user with a higher connection frequency has a higher priority order. The frequency of connection is, for example, the number of connections for each user, which is tabulated in a past fixed period. The frequency of connection may be, for example, the number of connections for each user, which is tabulated for each day of the week in a fixed period in the past. The connection frequency may be, for example, the number of connections for each user, which is aggregated for each time period in a certain past period. The connection frequency may be, for example, the number of times the user has used the virtual computer 20 for each user, which is aggregated for each time period in the past certain period.

そして、優先順位決定部14は、仮想計算機20の優先順位がその仮想計算機20に関連付けられているユーザの優先順位に等しくなるように、各仮想計算機20の優先順位を決定すればよい。   Then, the priority order determination unit 14 may determine the priority order of each virtual machine 20 so that the priority order of the virtual machine 20 becomes equal to the priority order of the user associated with the virtual machine 20.

一方、情報処理システム100が、仮想計算機20とユーザが必ずしも一対一で関連付けられないよう設計されている場合もある。   On the other hand, the information processing system 100 may be designed so that the virtual computer 20 and the user are not necessarily associated one-to-one.

そのような場合、優先順位決定部14は、例えば、過去の一定期間において仮想計算機20毎に集計された、仮想計算機20に対する接続の頻度に基づき、仮想計算機20の優先順位を決定すればよい。優先順位決定部14は、例えば、接続の頻度が多い仮想計算機20ほど優先順位が高くなるよう、各仮想計算機20の優先順位を決定すればよい。接続の頻度は、例えば、過去の一定期間において曜日別に集計された、仮想計算機20毎の接続の回数であってもよい。接続の頻度は、例えば、過去の一定期間において時間帯別に集計された、仮想計算機20毎の接続の回数であってもよい。接続の頻度は、例えば、過去の一定期間において時間帯別に集計された、仮想計算機20毎の、仮想計算機20を利用していたユーザの人数であってもよい。   In such a case, for example, the priority order determination unit 14 may determine the priority order of the virtual machines 20 based on the frequency of connections to the virtual machines 20 that are aggregated for each virtual machine 20 in a certain past period. For example, the priority order determination unit 14 may determine the priority order of each virtual machine 20 so that the virtual machine 20 having a higher connection frequency has a higher priority order. The connection frequency may be, for example, the number of connections for each virtual machine 20 that is aggregated for each day of the week in a past fixed period. The connection frequency may be, for example, the number of connections for each virtual machine 20 that is tabulated for each time period in a certain past period. The connection frequency may be, for example, the number of users who have used the virtual computer 20 for each virtual computer 20 and are aggregated by time period in a certain past period.

優先順位が曜日によって異なる場合、優先順位決定部14は、曜日が変わるのに応じて優先順位を決定し、決定した優先順位を状態記憶部10に格納すればよい。優先順位が時間帯によって異なる場合、優先順位決定部14は、時間帯が変わるのに応じて優先順位を決定し、決定した優先順位を状態記憶部10に格納すればよい。   When the priority order varies depending on the day of the week, the priority order determination unit 14 may determine the priority order according to the change of the day of the week and store the determined priority order in the state storage unit 10. When the priority order varies depending on the time zone, the priority order determination unit 14 may determine the priority order according to the change of the time zone and store the determined priority order in the state storage unit 10.

優先順位決定部14は、ユーザに対して決定された優先順位であるユーザ優先順位を、状態記憶部10に格納してもよい。   The priority order determination unit 14 may store the user priority order, which is the priority order determined for the user, in the state storage unit 10.

図5は、状態記憶部10に格納されるユーザ優先順位の例を表す図である。   FIG. 5 is a diagram illustrating an example of user priorities stored in the state storage unit 10.

優先順位決定部14は、さらに、ユーザ優先順位を決定する過程において集計した集計値などのユーザの接続に関するデータ値を、ユーザ優先順位を決定するために使用したデータ値を、状態記憶部10に格納してもよい。   The priority order determination unit 14 further stores data values relating to user connections, such as aggregated values collected in the process of determining the user priority order, in the state storage unit 10, and data values used to determine the user priority order. It may be stored.

図6は、状態記憶部10に格納される、ユーザの接続に関するデータ値の例を表す図である。図6に示す例では、状態記憶部10に格納されるデータ値は、ユーザ優先順位を決定する日の前の週における、各ユーザのログオンの有無と、各日のログオン回数とを含む。   FIG. 6 is a diagram illustrating an example of data values related to user connections stored in the state storage unit 10. In the example illustrated in FIG. 6, the data value stored in the state storage unit 10 includes the presence / absence of logon of each user and the number of logons of each day in the week before the day for determining the user priority.

要求受信部11は、端末装置3から、仮想計算機20に対する接続要求を受信する。要求受信部11は、受信した接続要求によって接続を要求された仮想計算機20である、接続先仮想計算機を特定する。接続情報は、接続先仮想計算機を特定できるデータ値を含んでいればよい。   The request receiving unit 11 receives a connection request for the virtual machine 20 from the terminal device 3. The request reception unit 11 specifies a connection destination virtual computer that is the virtual computer 20 that is requested to be connected by the received connection request. The connection information only needs to include a data value that can identify the connection destination virtual machine.

接続先仮想計算機を特定できるデータ値は、例えば、ユーザIDであってもよい。その場合、要求受信部11は、例えば、接続要求に含まれるユーザIDに関連付けられている仮想計算機20を、接続先仮想計算機として特定する。この場合、接続要求に含まれるユーザIDに関連付けられている仮想計算機20が存在しなければ、要求受信部11は、例えば、未使用である仮想計算機20のいずれかを、接続先仮想計算機として選択する。その際、要求受信部11は、「場所」が「メモリ」である仮想計算機20から接続先仮想計算機を選択すればよい。「場所」が「メモリ」である仮想計算機20が存在しなければ、要求受信部11は、「場所」が「ディスク」である仮想計算機20から接続先仮想計算機を選択すればよい。   The data value that can specify the connection destination virtual machine may be, for example, a user ID. In this case, for example, the request receiving unit 11 specifies the virtual computer 20 associated with the user ID included in the connection request as the connection destination virtual computer. In this case, if there is no virtual machine 20 associated with the user ID included in the connection request, the request reception unit 11 selects, for example, one of the unused virtual machines 20 as the connection destination virtual machine. To do. At that time, the request receiving unit 11 may select a connection destination virtual machine from the virtual machines 20 whose “location” is “memory”. If there is no virtual computer 20 whose “location” is “memory”, the request receiving unit 11 may select a connection destination virtual computer from the virtual computers 20 whose “location” is “disk”.

接続要求は、ユーザIDと仮想計算機IDの双方を含んでいてもよい。その場合、要求受信部11は、接続要求に含まれる仮想計算機IDによって特定される仮想計算機20を接続先仮想計算機として選択すればよい。接続要求に含まれる仮想計算機IDによって特定される仮想計算機20が存在しない場合、要求受信部11は、未使用である仮想計算機20のいずれかを、接続先仮想計算機として前述のように選択すればよい。   The connection request may include both a user ID and a virtual machine ID. In this case, the request receiving unit 11 may select the virtual computer 20 specified by the virtual computer ID included in the connection request as the connection destination virtual computer. If there is no virtual machine 20 specified by the virtual machine ID included in the connection request, the request reception unit 11 selects any of the unused virtual machines 20 as the connection destination virtual machine as described above. Good.

要求受信部11は、未使用である仮想計算機20のいずれかを接続先仮想計算機として選択した場合、ユーザIDを、選択した接続先仮想計算機に関連付けて、状態記憶部10に格納する。要求受信部11は、例えば、状態記憶部10に格納されている状態テーブルにおいて、選択した接続先仮想計算機に関連付けられているユーザIDを更新すればよい。   When selecting one of the unused virtual machines 20 as the connection destination virtual machine, the request reception unit 11 stores the user ID in the state storage unit 10 in association with the selected connection destination virtual machine. For example, the request receiving unit 11 may update the user ID associated with the selected connection destination virtual machine in the state table stored in the state storage unit 10.

不足特定部12は、受信した未使用リソースの量と、状態記憶部10に格納されている、接続先仮想計算機の使用リソース量とに基づき、不足リソース量を特定する。不足リソース量は、接続先仮想計算機以外の各仮想計算機20のデータが存在する「場所」を変更せずに、接続先仮想計算機を動作させた場合に不足する、仮想計算機実行装置2のリソースの量である。例えば、接続先仮想計算機が退避させられている場合に、接続先仮想計算機を復帰させると、接続先仮想計算機が使用するリソースを新たに接続先仮想計算機にわりあてる必要がある。接続先仮想計算機の使用リソース量が、未使用リソース量より少ない場合、未使用リソースから接続先仮想計算機が使用するリソースを割り当てることができる。従って、不足リソース量はゼロである。一方、接続先仮想計算機の使用リソース量が、未使用リソース量より多い場合、接続先仮想計算機の使用リソース量から未使用リソース量を引いた量のリソースが不足する。接続先仮想計算機の「場所」が「メモリ」であれば、接続先仮想計算機は退避させられていない。従って、接続先仮想計算機を復帰させる必要はない。よって、接続先仮想計算機に新たにリソースを割り当てる必要はない。そのため、不足リソース量はゼロである。   The shortage specifying unit 12 specifies the shortage resource amount based on the received amount of unused resources and the used resource amount of the connection destination virtual computer stored in the state storage unit 10. The insufficient resource amount is the amount of resources of the virtual machine execution device 2 that is insufficient when the connection destination virtual machine is operated without changing the “location” where the data of each virtual machine 20 other than the connection destination virtual machine exists. Amount. For example, when the connection destination virtual machine is saved and the connection destination virtual machine is restored, it is necessary to newly allocate resources used by the connection destination virtual machine to the connection destination virtual machine. When the used resource amount of the connection destination virtual computer is smaller than the unused resource amount, the resource used by the connection destination virtual computer can be allocated from the unused resource. Therefore, the shortage resource amount is zero. On the other hand, when the used resource amount of the connection destination virtual computer is larger than the unused resource amount, the amount of resources obtained by subtracting the unused resource amount from the used resource amount of the connection destination virtual computer is insufficient. If the “location” of the connection destination virtual machine is “memory”, the connection destination virtual machine has not been saved. Therefore, there is no need to restore the connection destination virtual machine. Therefore, there is no need to newly allocate resources to the connection destination virtual machine. Therefore, the shortage resource amount is zero.

選択部13は、不足リソース量がゼロでない場合、各仮想計算機20の優先順位に基づき、退避させる仮想計算機20を選択する。上述のように、選択部13によって選択される仮想計算機20が、選択仮想計算機と表記である。   When the insufficient resource amount is not zero, the selection unit 13 selects the virtual machine 20 to be saved based on the priority order of each virtual machine 20. As described above, the virtual machine 20 selected by the selection unit 13 is represented as a selected virtual machine.

選択部13は、仮想計算機20の接続状態や動作状態に基づき、選択仮想計算機の使用リソース量の合計が、不足リソース量を上回るように、「場所」が「メモリ」である仮想計算機20の中から1台以上の選択仮想計算機を選択すればよい。   Based on the connection state and operation state of the virtual machine 20, the selection unit 13 determines whether the “location” is “memory” in the virtual machine 20 so that the total amount of used resources of the selected virtual machine exceeds the shortage resource quantity. One or more selected virtual machines may be selected from the above.

選択部13は、仮想計算機20の接続状態や動作状態に基づき、各仮想計算機20に、状態順位を付与してもよい。そして、選択部13は、状態順位を更に使用して、選択仮想計算機を選択してもよい。状態順位は、例えば、仮想計算機20が退避された場合に、その仮想計算機20に関連付けられているユーザが受ける影響の大きさの程度を表す順位である。選択部13は、例えば下記の方法で、仮想計算機20に状態順位を付与してもよい。選択部13は、他の方法で、仮想計算機20に状態順位を付与してもよい。   The selection unit 13 may assign a status order to each virtual machine 20 based on the connection state and the operation state of the virtual machine 20. And the selection part 13 may select a selection virtual machine further using a state order | rank. The status order is, for example, an order that represents the degree of the degree of influence that a user associated with the virtual machine 20 receives when the virtual machine 20 is evacuated. For example, the selection unit 13 may assign a status order to the virtual machine 20 by the following method. The selection unit 13 may give the status order to the virtual machine 20 by another method.

例えば、仮想計算機20の接続状態が「未使用」である場合、その仮想計算機20に関連付けられているユーザは存在しない。従って、接続状態が「未使用」である仮想計算機20が退避されても、ユーザは影響を受けない。選択部13は、接続状態が「未使用」である仮想計算機20に、最も低い状態順位を付与すればよい。   For example, when the connection state of the virtual machine 20 is “unused”, there is no user associated with the virtual machine 20. Therefore, even if the virtual machine 20 whose connection state is “unused” is saved, the user is not affected. The selection unit 13 may give the lowest state order to the virtual machine 20 whose connection state is “unused”.

接続状態が「接続」である仮想計算機20のユーザは、端末装置3を介して仮想計算機20において操作を継続している可能性がある。一方、接続状態が「切断」である仮想計算機20は端末装置3に接続されていない。そのため、接続状態が「切断」である仮想計算機20のユーザが、端末装置3を介して仮想計算機20において操作を継続している可能性はない。従って、仮想計算機20を退避させた場合におけるユーザの影響は、接続状態が「切断」である仮想計算機20と比べて、接続状態が「接続」である仮想計算機20の方が大きい。選択部13は、接続状態が「切断」である仮想計算機20に対して、接続状態が「接続」である仮想計算機20の状態順位より低い状態順位を付与すればよい。   There is a possibility that the user of the virtual machine 20 whose connection state is “connected” continues the operation on the virtual machine 20 via the terminal device 3. On the other hand, the virtual machine 20 whose connection state is “disconnected” is not connected to the terminal device 3. Therefore, there is no possibility that the user of the virtual machine 20 whose connection state is “disconnected” continues the operation on the virtual machine 20 via the terminal device 3. Therefore, when the virtual machine 20 is evacuated, the influence of the user is greater for the virtual machine 20 whose connection state is “connected” than for the virtual machine 20 whose connection state is “disconnected”. The selection unit 13 may assign a status order lower than the status order of the virtual machine 20 whose connection state is “connected” to the virtual machine 20 whose connection state is “disconnected”.

また、動作状態が「処理中」である仮想計算機20のユーザは、仮想計算機20において操作を継続している。一方、動作状態が「アイドル状態」である仮想計算機20のユーザは、少なくとも所定時間以上、仮想計算機20において操作を行っていない。従って、仮想計算機20を退避させた場合におけるユーザの影響は、動作状態が「アイドル状態」である仮想計算機20と比べて、動作状態が「処理中」である仮想計算機20の方が大きい。選択部13は、動作状態が「アイドル状態」である仮想計算機20に対して、動作状態が「処理中」である仮想計算機20の状態順位より低い状態順位を付与すればよい。   Further, the user of the virtual machine 20 whose operation state is “processing” continues the operation on the virtual machine 20. On the other hand, the user of the virtual machine 20 whose operation state is “idle state” has not operated on the virtual machine 20 for at least a predetermined time. Therefore, when the virtual machine 20 is evacuated, the influence of the user is greater for the virtual machine 20 whose operation state is “processing” than for the virtual machine 20 whose operation state is “idle state”. The selection unit 13 may give a status order lower than the status order of the virtual machine 20 whose operation state is “processing” to the virtual machine 20 whose operation state is “idle state”.

選択部13は、場所が「メモリ」である仮想計算機20の中で、状態順位が最も低い仮想計算機20を選択の対象とする。そして、選択部13は、選択の対象である仮想計算機20から、例えば以下のように、選択仮想計算機を選択する。   The selection unit 13 selects a virtual machine 20 having the lowest state order among the virtual machines 20 whose location is “memory”. Then, the selection unit 13 selects the selected virtual computer from the virtual computer 20 that is the selection target, for example, as follows.

選択部13は、選択の対象である仮想計算機20の中で最も優先順位が低い仮想計算機20を選択仮想計算機として選択する。最も優先順位が低い仮想計算機20が複数存在する場合、選択部13は、最も優先順位が低い仮想計算機20のうちいずれかを選択する。   The selection unit 13 selects the virtual machine 20 having the lowest priority among the virtual machines 20 to be selected as the selected virtual machine. When there are a plurality of virtual machines 20 having the lowest priority, the selection unit 13 selects one of the virtual machines 20 having the lowest priority.

既に選択されている選択仮想計算機の使用リソース量の合計が不足リソース量より大きい場合、選択部13は、選択仮想計算機の選択を終了する。既に選択されている選択仮想計算機の使用リソース量の合計が不足リソース量より小さい場合、選択部13は、選択の対象である仮想計算機20の中から、優先順位が低い順に、選択仮想計算機の選択を繰り返せばよい。   When the total amount of used resources of the selected virtual computer that has already been selected is larger than the insufficient resource amount, the selection unit 13 ends the selection of the selected virtual computer. When the total amount of used resources of the selected virtual machines that have already been selected is smaller than the shortage resource quantity, the selection unit 13 selects the selected virtual machines from the virtual machines 20 that are the selection targets in descending order of priority. Can be repeated.

選択の対象である仮想計算機20を全て選択しても、選択されている選択仮想計算機の使用リソース量の合計が不足リソース量より小さい場合、選択部13は、選択の対象である仮想計算機20に、状態順位が2番目に低い仮想計算機20を追加する。選択部13は、新たな選択の対象である仮想計算機20から、選択仮想計算機を、上述のように選択する。   Even if all the virtual machines 20 that are the selection targets are selected, if the total amount of used resources of the selected selected virtual machines is smaller than the shortage resource amount, the selection unit 13 sets the virtual machines 20 that are the selection targets. The virtual machine 20 having the second lowest state order is added. The selection unit 13 selects the selected virtual computer from the virtual computer 20 that is a new selection target as described above.

選択部13は、選択されている選択仮想計算機の使用リソース量の合計が不足リソース量より大きくなるまで、選択仮想計算機の選択と選択の対象である仮想計算機20の追加を繰り返せばよい。   The selection unit 13 may repeat the selection of the selected virtual machine and the addition of the virtual machine 20 to be selected until the total amount of used resources of the selected selected virtual machine becomes larger than the insufficient resource quantity.

上述のように状態順位が各仮想計算機20に付与されている場合、選択仮想計算機は、まず、接続状態が「未使用」であり、場所が「メモリ」である仮想計算機20から選択される。選択仮想計算機が更に選択される場合、選択仮想計算機は、次に、接続状態が「切断」であり、場所が「メモリ」である仮想計算機20から選択される。選択仮想計算機が更に選択される場合、選択仮想計算機は、次に、接続状態が「接続」であり、動作状態が「アイドル状態」であり、場所が「メモリ」である仮想計算機20から選択される。   As described above, when the status order is assigned to each virtual machine 20, the selected virtual machine is first selected from the virtual machines 20 whose connection status is “unused” and whose location is “memory”. If the selected virtual machine is further selected, the selected virtual machine is then selected from the virtual machine 20 whose connection state is “disconnected” and whose location is “memory”. When the selected virtual machine is further selected, the selected virtual machine is then selected from the virtual machine 20 whose connection state is “connected”, whose operation state is “idle state”, and whose location is “memory”. The

選択部13は、他の方法で、選択仮想計算機を選択してもよい。   The selection unit 13 may select the selected virtual computer by another method.

選択部13は、選択仮想計算機を選択した場合、選択仮想計算機の識別子を、出力部15に送信する。また、選択部13は、接続先仮想計算機の識別子を、出力部15に送信する。   When the selection unit 13 selects the selected virtual computer, the selection unit 13 transmits the identifier of the selected virtual computer to the output unit 15. In addition, the selection unit 13 transmits the identifier of the connection destination virtual computer to the output unit 15.

出力部15は、選択仮想計算機の識別子を受信した場合、受信した選択仮想計算機の識別子を仮想計算機実行装置2の要求実行部25に送信する。また、出力部15は、接続要求を送信した端末装置3の識別子と、接続先仮想計算機の識別子とを、要求実行部25に送信する。   When receiving the identifier of the selected virtual machine, the output unit 15 transmits the received identifier of the selected virtual machine to the request execution unit 25 of the virtual machine execution device 2. Further, the output unit 15 transmits the identifier of the terminal device 3 that has transmitted the connection request and the identifier of the connection destination virtual computer to the request execution unit 25.

出力部15は、例えば選択仮想計算機の識別子に関連付けて、その選択仮想計算機が退避の対象であることを表すデータ値を、要求実行部25に送信してもよい。要求実行部25は、受信した仮想計算機20の識別子に、その仮想計算機20が退避の対象であることを表すデータ値が関連付けられている場合、その仮想計算機20は退避の対象である選択仮想計算機であると判定すればよい。出力部15は、接続先仮想計算機の識別子に関連付けて、その接続先仮想計算機が接続要求に基づく接続先であることを表すデータ値を、要求実行部25に送信してもよい。要求実行部25は、受信した仮想計算機20の識別子に、その仮想計算機20が接続要求に基づく接続先であることを表すデータ値であることを表すデータ値が関連付けられている場合、その仮想計算機20は接続先仮想計算機であると判定すればよい。   The output unit 15 may transmit, to the request execution unit 25, a data value indicating that the selected virtual computer is a target to be saved in association with the identifier of the selected virtual computer, for example. When the received virtual machine 20 identifier is associated with a data value indicating that the virtual machine 20 is the target of saving, the request execution unit 25 selects the virtual machine 20 that is the target of saving. What is necessary is just to determine with it. The output unit 15 may transmit a data value indicating that the connection destination virtual machine is a connection destination based on the connection request to the request execution unit 25 in association with the identifier of the connection destination virtual machine. When the received data identifier indicating that the virtual computer 20 is a connection destination based on the connection request is associated with the received virtual computer 20 identifier, the request execution unit 25 associates the virtual computer 20 with the data value. What is necessary is just to determine that 20 is a connection destination virtual machine.

出力部15は、選択仮想計算機の識別子を、端末装置3の識別子に関連付けずに、要求実行部25に送信してもよい。出力部15は、接続先仮想計算機の識別子を、端末装置3の識別子に関連付けて、要求実行部25に送信してもよい。そして、要求実行部25は、受信した仮想計算機20の識別子に端末装置3の識別子に関連付けられていない場合、その仮想計算機20は選択仮想計算機であると判定すればよい。要求実行部25は、受信した仮想計算機20の識別子に端末装置3の識別子に関連付けられている場合、その仮想計算機20は接続先仮想計算機であると判定すればよい。そして、要求実行部25は、その識別子によって特定される端末装置3が、接続要求を送信した端末装置3であると認識すればよい。   The output unit 15 may transmit the identifier of the selected virtual machine to the request execution unit 25 without associating it with the identifier of the terminal device 3. The output unit 15 may transmit the identifier of the connection destination virtual computer to the request execution unit 25 in association with the identifier of the terminal device 3. If the received identifier of the virtual computer 20 is not associated with the identifier of the terminal device 3, the request execution unit 25 may determine that the virtual computer 20 is the selected virtual computer. If the received identifier of the virtual computer 20 is associated with the identifier of the terminal device 3, the request execution unit 25 may determine that the virtual computer 20 is a connection destination virtual computer. And the request | requirement execution part 25 should just recognize that the terminal device 3 specified by the identifier is the terminal device 3 which transmitted the connection request.

なお、仮想計算機管理装置1と仮想計算機実行装置2とが同一の装置である場合、出力部15と、状態受信部16と、状態送信部26とは存在しなくてもよい。その場合、選択部13は、接続先仮想計算機の識別子と選択仮想計算機の識別子と端末装置3の識別子とを、出力部15ではなく要求実行部25に送信すればよい。また、退避部22、状態取得部24、及び仮想計算機実行部21は、各仮想計算機20の状態を、状態送信部26に送信する代わりに、状態記憶部10に書き込めばよい。さらに、状態取得部24は、未使用リソース量を、状態送信部26ではなく、不足特定部12に送信すればよい。   When the virtual machine management device 1 and the virtual machine execution device 2 are the same device, the output unit 15, the status reception unit 16, and the status transmission unit 26 may not exist. In this case, the selection unit 13 may transmit the identifier of the connection destination virtual computer, the identifier of the selected virtual computer, and the identifier of the terminal device 3 to the request execution unit 25 instead of the output unit 15. Further, the saving unit 22, the state acquisition unit 24, and the virtual machine execution unit 21 may write the state of each virtual machine 20 into the state storage unit 10 instead of transmitting the state to the state transmission unit 26. Furthermore, the state acquisition unit 24 may transmit the unused resource amount to the shortage specifying unit 12 instead of the state transmission unit 26.

次に、本実施形態の仮想計算機管理装置1の動作について、図面を参照して詳細に説明する。   Next, the operation of the virtual machine management device 1 of this embodiment will be described in detail with reference to the drawings.

図7は、本実施形態の仮想計算機管理装置1の動作の例を表すフローチャートである。   FIG. 7 is a flowchart showing an example of the operation of the virtual machine management apparatus 1 of this embodiment.

まず、要求受信部11が、端末装置3から接続要求を受信する(ステップS101)。   First, the request receiving unit 11 receives a connection request from the terminal device 3 (step S101).

要求受信部11は、受信した接続要求によって接続が要求された仮想計算機20である、接続先仮想計算機を特定する(ステップS102)。   The request receiving unit 11 specifies a connection destination virtual computer that is the virtual computer 20 that is requested to be connected by the received connection request (step S102).

選択部13は、特定された接続先仮想計算機が動作中であるか否かを判定する(ステップS103)。選択部13は、状態記憶部10に格納されている状態テーブルにおいて、接続先仮想計算機の「場所」が「メモリ」であれば、接続先仮想計算機が動作中であると判定すればよい。接続先仮想計算機の「場所」が「メモリ」である場合、接続先仮想計算機は退避させられていないので、端末装置3は、そのまま接続先仮想計算機にアクセスすることができる。   The selection unit 13 determines whether or not the identified connection destination virtual machine is operating (step S103). If the “location” of the connection destination virtual machine is “memory” in the state table stored in the state storage unit 10, the selection unit 13 may determine that the connection destination virtual machine is operating. When the “location” of the connection destination virtual machine is “memory”, the connection destination virtual machine is not saved, and the terminal device 3 can directly access the connection destination virtual machine.

接続先仮想計算機が動作中である場合(ステップS103においてYes)、選択部13は、例えば出力部15を介して、接続先仮想計算機の識別子を、仮想計算機実行装置2に送信する(ステップS109)。   When the connection destination virtual machine is operating (Yes in step S103), the selection unit 13 transmits the identifier of the connection destination virtual machine to the virtual machine execution device 2 via, for example, the output unit 15 (step S109). .

ステップS103において、選択部13は、状態記憶部10に格納されている状態テーブルにおいて、接続先仮想計算機の「場所」が「ディスク」であれば、接続先仮想計算機が動作中でないと判定すればよい。接続先仮想計算機の「場所」が「ディスク」である場合、接続先仮想計算機は退避させられている。その場合、端末装置3が接続先仮想計算機にアクセスするためには、接続先仮想計算機を復帰させる必要がある。   In step S103, if the “location” of the connection destination virtual computer is “disk” in the state table stored in the state storage unit 10, the selection unit 13 determines that the connection destination virtual computer is not operating. Good. When the “location” of the connection destination virtual machine is “disk”, the connection destination virtual machine is evacuated. In that case, in order for the terminal device 3 to access the connection destination virtual computer, it is necessary to restore the connection destination virtual computer.

接続先仮想計算機が動作中でない場合(ステップS103においてNo)、不足特定部12は、例えば状態送信部26及び状態受信部16を介して、状態取得部24から、仮想計算機実行装置2の未使用リソース量を受信する(ステップS104)。   When the connection destination virtual computer is not operating (No in step S103), the shortage specifying unit 12 uses the virtual computer execution device 2 unused from the state acquisition unit 24 via the state transmission unit 26 and the state reception unit 16, for example. A resource amount is received (step S104).

不足特定部12は、例えば、状態送信部26及び状態受信部16を介して、状態取得部24に未使用リソース量を要求すればよい。状態取得部24は、未使用リソース量の要求に応じて、未使用リソース量を取得し、取得した未使用リソース量を、例えば状態送信部26及び状態受信部16を介して、不足特定部12に送信すればよい。状態取得部24は、定期的に未使用リソース量を取得し、取得した未使用リソース量を、例えば状態送信部26及び状態受信部16を介して、不足特定部12に送信してもよい。   The shortage specifying unit 12 may request an unused resource amount from the state acquisition unit 24 via the state transmission unit 26 and the state reception unit 16, for example. The state acquisition unit 24 acquires an unused resource amount in response to a request for an unused resource amount, and uses the acquired unused resource amount via, for example, the state transmission unit 26 and the state reception unit 16. Just send it to. The state acquisition unit 24 may periodically acquire the unused resource amount, and may transmit the acquired unused resource amount to the shortage specifying unit 12 through the state transmission unit 26 and the state reception unit 16, for example.

不足特定部12は、仮想計算機実行装置2が接続先仮想計算機を動作させるために不足するリソース量である、不足リソース量を特定する(ステップS105)。すなわち、不足特定部12は、仮想計算機実行装置2が、退避させられている接続先仮想計算機を復帰させた場合に不足する仮想計算機実行装置2のリソース量を特定する。   The shortage specifying unit 12 specifies a shortage resource amount that is a shortage of resources for the virtual machine execution device 2 to operate the connection destination virtual machine (step S105). That is, the shortage specifying unit 12 specifies the resource amount of the virtual computer execution device 2 that is insufficient when the virtual computer execution device 2 restores the saved connection destination virtual computer.

不足リソース量がゼロである場合、すなわち、リソースが不足しない場合(ステップS106においてNo)、仮想計算機管理装置1の動作は、ステップS109に進む。   When the shortage resource amount is zero, that is, when there is no shortage of resources (No in step S106), the operation of the virtual machine management device 1 proceeds to step S109.

不足リソース量がゼロでない場合、すなわち、リソースが不足する場合(ステップS106においてYes)、仮想計算機管理装置1の動作は、ステップS107に進む。   If the insufficient resource amount is not zero, that is, if the resource is insufficient (Yes in step S106), the operation of the virtual machine management device 1 proceeds to step S107.

選択部13は、上述のようにして、不足リソース量と、動作中の仮想計算機20の優先順位とに基づき、退避させる仮想計算機20を、動作中の仮想計算機20から選択する(ステップS107)。前述のように、動作中の仮想計算機20は、退避させられていない仮想計算機20である。状態記憶部10が記憶する状態テーブルにおいて、動作中の仮想計算機20の「場所」は、「メモリ」である。前述のように、退避させる仮想計算機20として選択された仮想計算機20は、選択仮想計算機と表記される。   As described above, the selection unit 13 selects the virtual computer 20 to be evacuated from the operating virtual computer 20 based on the insufficient resource amount and the priority order of the operating virtual computer 20 (step S107). As described above, the operating virtual machine 20 is a virtual machine 20 that has not been saved. In the state table stored in the state storage unit 10, the “location” of the virtual machine 20 in operation is “memory”. As described above, the virtual computer 20 selected as the virtual computer 20 to be saved is referred to as a selected virtual computer.

選択部13は、例えば出力部15を介して、選択された選択仮想計算機の識別子を、仮想計算機実行装置2に送信する(ステップS108)。   For example, the selection unit 13 transmits the identifier of the selected selected virtual machine to the virtual machine execution device 2 via the output unit 15 (step S108).

次に、端末装置3が仮想計算機管理装置1に接続要求を送信した場合における、本実施形態の仮想計算機実行装置2の動作について、図面を参照して詳細に説明する。   Next, the operation of the virtual machine execution device 2 according to this embodiment when the terminal device 3 transmits a connection request to the virtual machine management device 1 will be described in detail with reference to the drawings.

図8は、本実施形態の仮想計算機実行装置2の動作の例を表すフローチャートである。端末装置3が仮想計算機管理装置1に接続要求を送信した場合、仮想計算機管理装置1が選択仮想計算機を選択していれば、仮想計算機管理装置1は選択仮想計算機の識別子を送信する。仮想計算機管理装置1は、さらに、接続先仮想計算機の識別子と、接続要求を送信した端末装置3の識別子とを送信する。   FIG. 8 is a flowchart showing an example of the operation of the virtual machine execution device 2 of this embodiment. When the terminal apparatus 3 transmits a connection request to the virtual machine management apparatus 1, if the virtual machine management apparatus 1 has selected the selected virtual machine, the virtual machine management apparatus 1 transmits the identifier of the selected virtual machine. The virtual machine management apparatus 1 further transmits the identifier of the connection destination virtual machine and the identifier of the terminal apparatus 3 that has transmitted the connection request.

まず、要求実行部25は、仮想計算機管理装置1の選択部13から、例えば出力部15を介して、選択仮想計算機の識別子を受信する(ステップS201)。   First, the request execution unit 25 receives the identifier of the selected virtual machine from the selection unit 13 of the virtual machine management apparatus 1 via, for example, the output unit 15 (step S201).

上述のように、仮想計算機実行装置2が接続先仮想計算機を動作させるために、動作中の仮想計算機20のいずれかを退避させる必要がある場合、仮想計算機管理装置1は、退避させる仮想計算機20として、選択仮想計算機を選択する。仮想計算機管理装置1が選択仮想計算機を選択していれば、仮想計算機管理装置1は選択仮想計算機の識別子を送信する。   As described above, when any of the operating virtual machines 20 needs to be saved in order for the virtual machine execution device 2 to operate the connection destination virtual machine, the virtual machine management device 1 saves the virtual machine 20 to be saved. Select the selected virtual machine. If the virtual machine management apparatus 1 has selected the selected virtual machine, the virtual machine management apparatus 1 transmits the identifier of the selected virtual machine.

動作中の仮想計算機20を退避させなくても接続先仮想計算機が動作する場合、仮想計算機管理装置1は、選択仮想計算機を選択しない。仮想計算機管理装置1が選択仮想計算機を選択していなければ、仮想計算機管理装置1は選択仮想計算機の識別子を送信しない。   When the connection destination virtual machine operates without saving the operating virtual machine 20, the virtual machine management apparatus 1 does not select the selected virtual machine. If the virtual machine management apparatus 1 has not selected the selected virtual machine, the virtual machine management apparatus 1 does not transmit the identifier of the selected virtual machine.

要求実行部25が選択仮想計算機の識別子を受信しなかった場合(ステップS202においてNo)、仮想計算機実行装置2の動作は、ステップS204に進む。   When the request execution unit 25 does not receive the identifier of the selected virtual machine (No in step S202), the operation of the virtual machine execution device 2 proceeds to step S204.

要求実行部25が選択仮想計算機の識別子を受信した場合(ステップS202においてYes)、要求実行部25は、退避部22に、退避指示と選択仮想計算機の識別子とを送信する。   When the request execution unit 25 receives the identifier of the selected virtual machine (Yes in step S202), the request execution unit 25 transmits a save instruction and the identifier of the selected virtual machine to the save unit 22.

退避指示と選択仮想計算機の識別子とを受信した退避部22は、選択仮想計算機を仮想計算機記憶部23に退避させる(ステップS203)。仮想計算機実行装置2の動作は、ステップS203の後、ステップS204に進む。   The saving unit 22 that has received the save instruction and the identifier of the selected virtual machine saves the selected virtual machine in the virtual machine storage unit 23 (step S203). The operation of the virtual machine execution device 2 proceeds to step S204 after step S203.

ステップS204において、要求実行部25は、接続先仮想計算機の識別子と、端末装置3の識別子とを受信する(ステップS204)。   In step S204, the request execution unit 25 receives the identifier of the connection destination virtual machine and the identifier of the terminal device 3 (step S204).

接続先仮想計算機が仮想計算機記憶部23に退避させられている場合(ステップS205においてYes)、要求実行部25は、退避部22に、復帰指示と接続先仮想計算機の識別子とを送信する。   When the connection destination virtual computer is saved in the virtual machine storage unit 23 (Yes in step S205), the request execution unit 25 transmits a return instruction and an identifier of the connection destination virtual computer to the save unit 22.

復帰指示と接続先仮想計算機の識別子とを受信した退避部22は、接続先仮想計算機を復帰させる(ステップS206)。仮想計算機実行装置2の動作は、ステップS206の後、ステップS207に進む。   The saving unit 22 that has received the return instruction and the identifier of the connection destination virtual machine returns the connection destination virtual machine (step S206). The operation of the virtual machine execution device 2 proceeds to step S207 after step S206.

接続先仮想計算機が仮想計算機記憶部23に退避させられていない場合(ステップS205においてNo)、仮想計算機実行装置2の動作は、ステップS207に進む。   When the connection destination virtual machine is not saved in the virtual machine storage unit 23 (No in step S205), the operation of the virtual machine execution device 2 proceeds to step S207.

ステップS207において、要求実行部25は、接続要求を受信した端末装置3と接続先仮想計算機とを接続する(ステップS207)。   In step S207, the request execution unit 25 connects the terminal device 3 that has received the connection request to the connection destination virtual computer (step S207).

要求実行部25は、例えば、接続要求を受信した端末装置3に接続先仮想計算機の識別子を送信することによって、接続要求を受信した端末装置3と接続先仮想計算機とを接続すればよい。仮想計算機20の識別子を受信した端末装置3は、その仮想計算機20に接続すればよい。   The request execution unit 25 may connect the terminal device 3 that has received the connection request and the connection destination virtual computer, for example, by transmitting the identifier of the connection destination virtual computer to the terminal device 3 that has received the connection request. The terminal device 3 that has received the identifier of the virtual machine 20 may be connected to the virtual machine 20.

次に、仮想計算機20について、図面を参照して詳細に説明する。   Next, the virtual machine 20 will be described in detail with reference to the drawings.

図9は、本実施形態の仮想計算機20の構成の例を表すブロック図である。図9を参照すると、仮想計算機20では、ゲストOS202が動作している。ゲストOS202は、仮想計算機20のOSである。また、仮想計算機20において、エージェント201が動作している。エージェント201は、ゲストOS202の制御下で動作するとソフトウェアソフトウェアである。仮想計算機20において、仮想計算機20を使用するユーザが起動したアプリケーションプログラムが動作していてもよい。エージェント201は、以下で述べるログオフ検出部203と、切断部204と、通知部205として動作する。   FIG. 9 is a block diagram illustrating an example of the configuration of the virtual machine 20 of the present embodiment. Referring to FIG. 9, in the virtual machine 20, a guest OS 202 is operating. The guest OS 202 is the OS of the virtual machine 20. In the virtual machine 20, an agent 201 is operating. The agent 201 is software software when operating under the control of the guest OS 202. In the virtual machine 20, an application program started by a user who uses the virtual machine 20 may be operating. The agent 201 operates as a logoff detection unit 203, a disconnection unit 204, and a notification unit 205 described below.

図10は、本実施形態の仮想計算機20の機能構成の例を表すブロック図である。図10には、さらに、仮想計算機管理装置1と、仮想計算機実行装置2と、端末装置3と、端末装置3が描かれている。ただし、図10では、状態記憶部10及び状態受信部16以外の仮想計算機管理装置1の構成要素は省略されている。さらに、仮想計算機20と、状態取得部24と、状態送信部26以外の仮想計算機実行装置2の構成要素は省略されている。   FIG. 10 is a block diagram illustrating an example of a functional configuration of the virtual computer 20 according to the present embodiment. In FIG. 10, the virtual machine management device 1, the virtual machine execution device 2, the terminal device 3, and the terminal device 3 are further drawn. However, in FIG. 10, the components of the virtual machine management device 1 other than the state storage unit 10 and the state reception unit 16 are omitted. Furthermore, the components of the virtual machine execution device 2 other than the virtual machine 20, the status acquisition unit 24, and the status transmission unit 26 are omitted.

図10を参照すると、仮想計算機20は、ログオフ検出部203と、通信切断部204と、通知部205とを含む。   Referring to FIG. 10, the virtual machine 20 includes a logoff detection unit 203, a communication disconnection unit 204, and a notification unit 205.

ログオフ検出部203は、端末装置3が仮想計算機20に送信するログオフ要求を検出する。   The logoff detection unit 203 detects a logoff request transmitted from the terminal device 3 to the virtual machine 20.

切断部204は、端末装置3が仮想計算機20に送信したログオフ要求が検出されると、仮想計算機20と端末装置3との間の接続を切断する。   The disconnecting unit 204 disconnects the connection between the virtual computer 20 and the terminal device 3 when a logoff request transmitted from the terminal device 3 to the virtual computer 20 is detected.

通知部205は、仮想計算機20と端末装置3との間の接続が切断された場合、状態取得部24に対して、仮想計算機20と端末装置3との間の接続が切断されたことを通知する。   When the connection between the virtual computer 20 and the terminal device 3 is disconnected, the notification unit 205 notifies the state acquisition unit 24 that the connection between the virtual computer 20 and the terminal device 3 has been disconnected. To do.

前述のように、仮想計算機20と端末装置3との間の接続が切断されたことを受信した状態取得部24は、状態送信部26及び状態受信部16を介して、状態記憶部10に格納されている、その仮想計算機20の接続状態を更新する。   As described above, the state acquisition unit 24 that has received information that the connection between the virtual machine 20 and the terminal device 3 has been disconnected is stored in the state storage unit 10 via the state transmission unit 26 and the state reception unit 16. The connection state of the virtual machine 20 is updated.

図11は、本実施形態の仮想計算機20の機能構成の例を表すブロック図である。図11に示す例では、仮想計算機管理装置1は、仮想計算機実行装置2に含まれている。   FIG. 11 is a block diagram illustrating an example of a functional configuration of the virtual computer 20 according to the present embodiment. In the example illustrated in FIG. 11, the virtual machine management device 1 is included in the virtual machine execution device 2.

仮想計算機管理装置1が仮想計算機実行装置2に含まれている場合、仮想計算機20と端末装置3との間の接続が切断されたことを受信した状態取得部24は、状態記憶部10に格納されている、その仮想計算機20の接続状態を、直接更新してもよい。   When the virtual machine management apparatus 1 is included in the virtual machine execution apparatus 2, the state acquisition unit 24 that has received a disconnection between the virtual machine 20 and the terminal device 3 stores it in the state storage unit 10. The connection state of the virtual machine 20 may be directly updated.

次に、仮想計算機20がログオフ要求を受信する際の、仮想計算機20の動作について、図面を参照して詳細に説明する。   Next, the operation of the virtual machine 20 when the virtual machine 20 receives a logoff request will be described in detail with reference to the drawings.

図12は、ログオフ要求受信時における仮想計算機20の動作の例を表すフローチャートである。   FIG. 12 is a flowchart illustrating an example of the operation of the virtual machine 20 when a logoff request is received.

まず、ログオフ検出部203が、端末装置3から送信されるログオフ要求を検出する(ステップS301)。ログオフ要求が検出されない場合(ステップS302においてNo)、ログオフ検出部203はログオフ要求の検出を継続する(ステップS301)。   First, the logoff detection unit 203 detects a logoff request transmitted from the terminal device 3 (step S301). When the logoff request is not detected (No in step S302), the logoff detection unit 203 continues to detect the logoff request (step S301).

ログオフ要求が検出された場合(ステップS302においてYes)、切断部204は、仮想計算機20と端末装置3との間の接続を切断する(ステップS303)。端末装置3がログオフ要求を送信しても、仮想計算機20はログオフの処理を行わない。   When the logoff request is detected (Yes in Step S302), the disconnecting unit 204 disconnects the connection between the virtual computer 20 and the terminal device 3 (Step S303). Even if the terminal device 3 transmits a logoff request, the virtual machine 20 does not perform logoff processing.

仮想計算機20と端末装置3との間の接続が切断されると、通知部205は、状態取得部24に対して、仮想計算機20と端末装置3との間の接続が切断されたことを通知する(ステップS304)。   When the connection between the virtual computer 20 and the terminal device 3 is disconnected, the notification unit 205 notifies the state acquisition unit 24 that the connection between the virtual computer 20 and the terminal device 3 has been disconnected. (Step S304).

仮想計算機20と端末装置3との間の接続が切断されたことを受信した状態取得部24は、状態送信部26及び状態受信部16を介して、状態記憶部10に格納されている、その仮想計算機20の接続状態を更新する。仮想計算機管理装置1が仮想計算機実行装置2に含まれている場合、仮想計算機20と端末装置3との間の接続が切断されたことを受信した状態取得部24は、状態記憶部10に格納されている、その仮想計算機20の接続状態を、直接更新してもよい。   The state acquisition unit 24 that has received information that the connection between the virtual computer 20 and the terminal device 3 has been disconnected is stored in the state storage unit 10 via the state transmission unit 26 and the state reception unit 16. The connection state of the virtual machine 20 is updated. When the virtual machine management apparatus 1 is included in the virtual machine execution apparatus 2, the state acquisition unit 24 that has received a disconnection between the virtual machine 20 and the terminal device 3 stores it in the state storage unit 10. The connection state of the virtual machine 20 may be directly updated.

以上で説明した本実施形態には、必要とするリソースが必ずしも同一でない仮想計算機20を実行する仮想計算機実行装置2がリソース不足になることなく、仮想計算機20へのログオン時における処理による負荷を削減することができるという効果がある。   In the present embodiment described above, the virtual machine execution device 2 that executes the virtual machines 20 whose required resources are not necessarily the same does not run out of resources, and the load caused by the processing when logging on to the virtual machines 20 is reduced. There is an effect that can be done.

その理由は、不足特定部12が、接続要求によって接続が要求された接続先仮想計算機が仮想計算機実行装置2において動作する場合に不足する、仮想計算機実行装置2のリソース量を算出するからである。そして、選択部13が、不足するリソース量と、仮想計算機20の優先順位に基づき、接続先仮想計算機が動作しても仮想計算機実行装置2がリソース不足にならないように退避させる仮想計算機20を選択するからである。   The reason is that the shortage specifying unit 12 calculates the resource amount of the virtual machine execution device 2 that is insufficient when the connection destination virtual machine requested to be connected by the connection request operates in the virtual machine execution device 2. . Then, the selection unit 13 selects the virtual machine 20 to be evacuated so that the virtual machine execution device 2 does not run out of resources even if the connection destination virtual machine operates based on the insufficient resource amount and the priority order of the virtual machines 20. Because it does.

端末装置3を介して仮想計算機20を使用するユーザが、その仮想計算機20からログオフする代わりに、その仮想計算機20と端末装置3との間の接続を切断することができる。その場合、ユーザは仮想計算機20からログオフしていないので、ユーザが次にその仮想計算機20を使用する際、仮想計算機20はログオンに伴う処理を行う必要がない。すなわち、ログオン時における処理による負荷を削減することができる。   A user who uses the virtual computer 20 via the terminal device 3 can disconnect the connection between the virtual computer 20 and the terminal device 3 instead of logging off from the virtual computer 20. In this case, since the user has not logged off from the virtual machine 20, when the user next uses the virtual machine 20, the virtual machine 20 does not need to perform processing associated with logon. That is, it is possible to reduce a load caused by processing at the time of logon.

しかし、ユーザがログオンした状態で動作を続ける仮想計算機20が増加すると、仮想計算機20を実行する仮想計算機実行装置2のリソースが不足するおそれがある。   However, if the number of virtual machines 20 that continue to operate with the user logged on increases, the resources of the virtual machine execution device 2 that executes the virtual machines 20 may be insufficient.

仮想計算機20を仮想計算機記憶部23に退避させる退避部22が、仮想計算機実行装置2のリソースが不足しないように仮想計算機20を退避させることができれば、仮想計算機実行装置2のリソースは不足しない。例えば、端末装置3が接続を要求した接続先仮想計算機が退避させられている場合、仮想計算機実行装置2の未使用リソースが不十分であれば、接続先仮想計算機を復帰させるとリソースが不足する。リソース不足を防ぐために、接続先仮想計算機を復帰させる代わりに、いずれかの仮想計算機20を退避させる場合、退避させる仮想計算機20が使用するリソースより接続先仮想計算機が使用するリソースが多ければ、リソースが不足するおそれがある。   If the saving unit 22 that saves the virtual machine 20 in the virtual machine storage unit 23 can save the virtual machine 20 so that the resources of the virtual machine execution device 2 are not short, the resources of the virtual computer execution device 2 are not short. For example, when the connection destination virtual machine requested to be connected by the terminal device 3 is saved, if the unused resources of the virtual machine execution device 2 are insufficient, the resources are insufficient when the connection destination virtual machine is restored. . In order to prevent a shortage of resources, instead of restoring the connection destination virtual machine, if any of the virtual machines 20 is to be saved, if the resources used by the connection destination virtual machine are more than the resources used by the virtual machine 20 to be saved, the resource May be insufficient.

一方、選択部13は、仮想計算機20を退避させずに仮想計算機実行装置2を復帰させることにより不足するリソースより、仮想計算機20を退避させることにより使用されなくなるリソースが多くなるよう、退避させる仮想計算機20を選択する。従って、選択部13が選択した選択仮想計算機を退避させることにより、退避させられている接続先仮想計算機を復帰させても、仮想計算機実行装置2のリソースは不足しない。その場合、仮想計算機20が使用するリソースの量が異なっていても、仮想計算機実行装置2のリソースは不足しない。   On the other hand, the selection unit 13 causes the virtual to be evacuated so that more resources are not used by evacuating the virtual machine 20 than resources that are insufficient by evacuating the virtual machine execution apparatus 2 without evacuating the virtual machine 20. The computer 20 is selected. Therefore, even if the connection destination virtual machine that has been saved is restored by saving the selected virtual machine selected by the selection unit 13, the resources of the virtual machine execution device 2 are not insufficient. In this case, even if the amount of resources used by the virtual machine 20 is different, the resources of the virtual machine execution device 2 are not insufficient.

<第2の実施形態>
次に、本発明の第2の実施形態について、図面を参照して詳細に説明する。
<Second Embodiment>
Next, a second embodiment of the present invention will be described in detail with reference to the drawings.

図13は、本実施形態の仮想計算機管理装置1Aの構成を表す図である。   FIG. 13 is a diagram showing the configuration of the virtual machine management device 1A of this embodiment.

図13を参照すると、仮想計算機管理装置1Aは、仮想計算機記憶部23に仮想計算機20を退避させることができる仮想計算機実行装置2が実行する仮想計算機20に関して、当該仮想計算機20が使用するリソース量と、前記仮想計算機20の優先順位とを記憶する状態記憶部10と、前記仮想計算機10のうち接続先仮想計算機への接続要求を受信する要求受信部11と、前記仮想計算機実行装置2において検出された未使用リソース量と、前記仮想計算機記憶部23に退避させられている前記接続先仮想計算機が使用するリソース量とに基づき、前記接続先仮想計算機を復帰させた場合の不足リソース量を特定する不足特定部12と、前記優先順位に基づき、退避させられていない前記仮想計算機20から選択仮想計算機を、前記選択仮想計算機が使用する前記リソース量の合計が前記不足リソースより大きくなるように選択する選択部13と、を備える。前述のように、仮想計算機実行装置2は、単に「実行装置2」とも表記される。   Referring to FIG. 13, the virtual machine management apparatus 1 </ b> A has a resource amount used by the virtual machine 20 for the virtual machine 20 executed by the virtual machine execution apparatus 2 that can save the virtual machine 20 in the virtual machine storage unit 23. And a status storage unit 10 for storing the priority order of the virtual machines 20, a request receiving unit 11 for receiving a connection request to a connection destination virtual machine among the virtual machines 10, and detection in the virtual machine execution device 2 Based on the amount of unused resources that has been used and the amount of resources used by the connection destination virtual machine saved in the virtual machine storage unit 23, the amount of resource shortage when the connection destination virtual machine is restored is identified And the selected virtual machine from the virtual machines 20 that have not been saved based on the priority order. Comprises a selection unit 13 the total of the amount of resources that the virtual machine uses is selected to be greater than the insufficient resources, the. As described above, the virtual machine execution device 2 is also simply referred to as “execution device 2”.

以上で説明した本実施形態には、第1の実施形態と同じ効果がある。その理由は、第1の実施形態の効果が生じる理由と同じである。   The present embodiment described above has the same effect as the first embodiment. The reason is the same as the reason for the effect of the first embodiment.

仮想計算機管理装置1、仮想計算機管理装置1A、仮想計算機実行装置2、仮想計算機実行装置2Aは、それぞれ、コンピュータ及びコンピュータを制御するプログラム、専用のハードウェア、又は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。   The virtual machine management apparatus 1, the virtual machine management apparatus 1A, the virtual machine execution apparatus 2, and the virtual machine execution apparatus 2A are respectively a computer and a program for controlling the computer, dedicated hardware, or a program for controlling the computer and the computer. It can be realized by a combination of dedicated hardware.

図14は、仮想計算機管理装置1、仮想計算機管理装置1A、仮想計算機実行装置2、仮想計算機実行装置2Aを実現することができる、コンピュータ1000の構成の一例を表す図である。図14を参照すると、コンピュータ1000は、プロセッサ1001と、メモリ1002と、記憶装置1003と、I/O(Input/Output)インタフェース1004とを含む。また、コンピュータ1000は、記録媒体1005にアクセスすることができる。メモリ1002と記憶装置1003は、例えば、RAM(Random Access Memory)、ハードディスクなどの記憶装置である。記録媒体1005は、例えば、RAM、ハードディスクなどの記憶装置、ROM(Read Only Memory)、可搬記録媒体である。記憶装置1003が記録媒体1005であってもよい。プロセッサ1001は、メモリ1002と、記憶装置1003に対して、データやプログラムの読み出しと書き込みを行うことができる。プロセッサ1001は、I/Oインタフェース1004を介して、例えば、端末装置3や、ユーザ管理装置4にアクセスすることができる。プロセッサ1001は、記録媒体1005にアクセスすることができる。記録媒体1005には、コンピュータ1000を、仮想計算機管理装置1、仮想計算機管理装置1A、仮想計算機実行装置2、又は仮想計算機実行装置2Aとして動作させるプログラムが格納されている。   FIG. 14 is a diagram illustrating an example of a configuration of a computer 1000 that can realize the virtual machine management apparatus 1, the virtual machine management apparatus 1A, the virtual machine execution apparatus 2, and the virtual machine execution apparatus 2A. Referring to FIG. 14, a computer 1000 includes a processor 1001, a memory 1002, a storage device 1003, and an I / O (Input / Output) interface 1004. The computer 1000 can access the recording medium 1005. The memory 1002 and the storage device 1003 are storage devices such as a RAM (Random Access Memory) and a hard disk, for example. The recording medium 1005 is, for example, a storage device such as a RAM or a hard disk, a ROM (Read Only Memory), or a portable recording medium. The storage device 1003 may be the recording medium 1005. The processor 1001 can read and write data and programs from and to the memory 1002 and the storage device 1003. The processor 1001 can access, for example, the terminal device 3 and the user management device 4 via the I / O interface 1004. The processor 1001 can access the recording medium 1005. The recording medium 1005 stores a program that causes the computer 1000 to operate as the virtual machine management apparatus 1, the virtual machine management apparatus 1A, the virtual machine execution apparatus 2, or the virtual machine execution apparatus 2A.

プロセッサ1001は、記録媒体1005に格納されている、コンピュータ1000を、仮想計算機管理装置1、仮想計算機管理装置1A、仮想計算機実行装置2、又は仮想計算機実行装置2Aとして動作させるプログラムを、メモリ1002にロードする。そして、プロセッサ1001が、メモリ1002にロードされたプログラムを実行することにより、コンピュータ1000は、仮想計算機管理装置1、仮想計算機管理装置1A、仮想計算機実行装置2、又は仮想計算機実行装置2Aとして動作する。   The processor 1001 stores, in the memory 1002, a program stored in the recording medium 1005 that causes the computer 1000 to operate as the virtual machine management apparatus 1, the virtual machine management apparatus 1A, the virtual machine execution apparatus 2, or the virtual machine execution apparatus 2A. Load it. Then, when the processor 1001 executes the program loaded in the memory 1002, the computer 1000 operates as the virtual machine management apparatus 1, the virtual machine management apparatus 1A, the virtual machine execution apparatus 2, or the virtual machine execution apparatus 2A. .

要求受信部11、不足特定部12、選択部13、優先順位決定部14、出力部15、仮想計算機実行部21、退避部22、状態取得部24、要求実行部25、状態送信部26は、例えば、プログラムを記憶する記録媒体1005からメモリ1002に読み込まれた、各部の機能を実現することができる専用のプログラムと、そのプログラムを実行するプロセッサ1001により実現することができる。また、状態記憶部10、仮想計算機記憶部23は、コンピュータ1000が含むメモリ1002やハードディスク装置等の記憶装置1003により実現することができる。あるいは、状態記憶部10、要求受信部11、不足特定部12、選択部13、優先順位決定部14、出力部15、仮想計算機実行部21、退避部22、仮想計算機記憶部23、状態取得部24、要求実行部25、状態送信部26の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。   The request receiving unit 11, the shortage specifying unit 12, the selecting unit 13, the priority order determining unit 14, the output unit 15, the virtual machine executing unit 21, the saving unit 22, the state acquiring unit 24, the request executing unit 25, and the state transmitting unit 26 are For example, it can be realized by a dedicated program that can be read from a recording medium 1005 that stores the program into the memory 1002 and that can realize the functions of each unit, and a processor 1001 that executes the program. Further, the state storage unit 10 and the virtual machine storage unit 23 can be realized by a memory 1002 included in the computer 1000 or a storage device 1003 such as a hard disk device. Alternatively, the state storage unit 10, the request reception unit 11, the shortage identification unit 12, the selection unit 13, the priority order determination unit 14, the output unit 15, the virtual computer execution unit 21, the save unit 22, the virtual computer storage unit 23, and the state acquisition unit 24, part or all of the request execution unit 25 and the state transmission unit 26 may be realized by a dedicated circuit that realizes the function of each unit.

以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。   The present invention has been described above with reference to the embodiments, but the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

1、1A 仮想計算機管理装置
2、2A 仮想計算機実行装置
3 端末装置
4 ユーザ管理装置
10 状態記憶部
11 要求受信部
12 不足特定部
13 選択部
14 優先順位決定部
15 出力部
16 状態受信部
20 仮想計算機
21 仮想計算機実行部
22 退避部
23 仮想計算機記憶部
24 状態取得部
25 要求実行部
26 状態送信部
40 ログ記憶部
41 認証部
100、100A 情報処理システム
201 エージェント
202 ゲストOS
203 ログオフ検出部
204 切断部
205 通知部
1000 コンピュータ
1001 プロセッサ
1002 メモリ
1003 記憶装置
1004 I/Oインタフェース
1005 記録媒体
DESCRIPTION OF SYMBOLS 1, 1A virtual machine management apparatus 2, 2A virtual machine execution apparatus 3 Terminal apparatus 4 User management apparatus 10 State memory | storage part 11 Request receiving part 12 Insufficient identification part 13 Selection part 14 Priority determination part 15 Output part 16 State receiving part 20 Virtual Computer 21 Virtual computer execution unit 22 Save unit 23 Virtual computer storage unit 24 Status acquisition unit 25 Request execution unit 26 Status transmission unit 40 Log storage unit 41 Authentication unit 100, 100A Information processing system 201 Agent 202 Guest OS
203 Logoff Detection Unit 204 Disconnection Unit 205 Notification Unit 1000 Computer 1001 Processor 1002 Memory 1003 Storage Device 1004 I / O Interface 1005 Recording Medium

Claims (10)

仮想計算機記憶手段に仮想計算機を退避させることができる実行装置が実行する仮想計算機に関して、当該仮想計算機が使用するリソース量と、前記仮想計算機の優先順位とを記憶する状態記憶手段と、
前記仮想計算機のうち接続先仮想計算機への接続要求を受信する要求受信手段と、
前記実行装置において検出された未使用リソース量と、前記仮想計算機記憶手段に退避させられている前記接続先仮想計算機が使用するリソース量とに基づき、前記接続先仮想計算機を復帰させた場合の不足リソース量を特定する不足特定手段と、
前記優先順位に基づき、退避させられていない前記仮想計算機から選択仮想計算機を、前記選択仮想計算機が使用する前記リソース量の合計が前記不足リソースより大きくなるように選択する選択手段と、
を備える仮想計算機管理装置。
State storage means for storing the amount of resources used by the virtual machine and the priority order of the virtual machines with respect to the virtual machine executed by the execution device capable of saving the virtual machine in the virtual machine storage means;
Request receiving means for receiving a connection request to a connection destination virtual machine among the virtual machines;
Insufficient resources when the connection destination virtual machine is restored based on the unused resource amount detected in the execution device and the resource amount used by the connection destination virtual machine saved in the virtual machine storage unit A shortage identifying means for identifying the resource amount;
Selection means for selecting a selected virtual machine from the virtual machines that have not been saved based on the priority order so that the total amount of the resources used by the selected virtual machine is greater than the insufficient resources;
A virtual machine management device comprising:
ログ記憶手段が記憶する前記仮想計算機に対して行われた接続の記録に基づき、前記仮想計算機の優先順位を決定し、決定された前記優先順位を前記仮想計算機に関連付けて前記状態記憶手段に格納する優先順位決定手段と、
を備える請求項1に記載の仮想計算機管理装置。
Based on a record of connections made to the virtual machine stored in the log storage means, the priority order of the virtual machines is determined, and the determined priority order is associated with the virtual machine and stored in the state storage means Prioritization means for
The virtual machine management device according to claim 1.
前記状態記憶手段は、前記仮想計算機に関連付けて、当該仮想計算機に対して操作が行われているか否かを表す動作状態を記憶し、
前記選択手段は、さらに、前記動作状態に基づき、前記選択仮想計算機を選択する
請求項1又は2に記載の仮想計算機管理装置。
The state storage means stores an operation state indicating whether or not an operation is performed on the virtual computer in association with the virtual computer,
The virtual machine management apparatus according to claim 1, wherein the selection unit further selects the selected virtual machine based on the operation state.
前記接続要求を送信する端末と、前記実行装置と、請求項1乃至3のいずれかに記載の仮想計算機管理装置とを含み、
前記実行装置は、
前記選択仮想計算機を仮想計算機記憶手段に退避させ、さらに、前記仮想計算機記憶手段に退避させられている前記接続先仮想計算機を復帰させる退避手段と、
前記仮想計算機記憶手段と、
識別子を受信した仮想計算機に接続する前記端末に、前記接続先仮想計算機の識別子を送信する要求実行手段と、
を備える
情報処理システム。
A terminal that transmits the connection request, the execution device, and the virtual machine management device according to claim 1,
The execution device is
Saving the selected virtual machine in a virtual machine storage means, and further restoring the connection destination virtual machine saved in the virtual machine storage means;
The virtual computer storage means;
Request execution means for transmitting the identifier of the connection destination virtual machine to the terminal connected to the virtual machine that has received the identifier;
An information processing system comprising:
仮想計算機記憶手段に仮想計算機を退避させることができる実行装置が実行する仮想計算機に関して、当該仮想計算機が使用するリソース量と、前記仮想計算機の優先順位とを状態記憶手段に記憶し、
前記仮想計算機のうち接続先仮想計算機への接続要求を受信する要求受信手段と、
前記実行装置において検出された未使用リソース量と、前記仮想計算機記憶手段に退避させられている前記接続先仮想計算機が使用するリソース量とに基づき、前記接続先仮想計算機を復帰させた場合の不足リソース量を特定し、
前記優先順位に基づき、退避させられていない前記仮想計算機から選択仮想計算機を、前記選択仮想計算機が使用する前記リソース量の合計が前記不足リソースより大きくなるように選択する、
仮想計算機管理方法。
With respect to a virtual machine executed by an execution device that can evacuate the virtual machine to the virtual machine storage means, the resource amount used by the virtual machine and the priority order of the virtual machines are stored in the state storage means,
Request receiving means for receiving a connection request to a connection destination virtual machine among the virtual machines;
Insufficient resources when the connection destination virtual machine is restored based on the unused resource amount detected in the execution device and the resource amount used by the connection destination virtual machine saved in the virtual machine storage unit Identify the amount of resources,
Based on the priority, select the selected virtual machine from the virtual machines that have not been saved, so that the total amount of the resources used by the selected virtual machine is greater than the shortage resource,
Virtual computer management method.
ログ記憶手段が記憶する前記仮想計算機に対して行われた接続の記録に基づき、前記仮想計算機の優先順位を決定し、決定された前記優先順位を前記仮想計算機に関連付けて前記状態記憶手段に格納する、
請求項5に記載の仮想計算機管理方法。
Based on a record of connections made to the virtual machine stored in the log storage means, the priority order of the virtual machines is determined, and the determined priority order is associated with the virtual machine and stored in the state storage means To
The virtual machine management method according to claim 5.
前記仮想計算機に関連付けて、当該仮想計算機に対して操作が行われているか否かを表す動作状態を前記状態記憶手段に記憶し、
さらに、前記動作状態に基づき、前記選択仮想計算機を選択する
請求項5又は6に記載の仮想計算機管理方法。
In association with the virtual machine, an operation state indicating whether or not an operation is performed on the virtual machine is stored in the state storage unit,
The virtual computer management method according to claim 5, further comprising: selecting the selected virtual computer based on the operation state.
コンピュータを、
仮想計算機記憶手段に仮想計算機を退避させることができる実行装置が実行する仮想計算機に関して、当該仮想計算機が使用するリソース量と、前記仮想計算機の優先順位とを記憶する状態記憶手段と、
前記仮想計算機のうち接続先仮想計算機への接続要求を受信する要求受信手段と、
前記実行装置において検出された未使用リソース量と、前記仮想計算機記憶手段に退避させられている前記接続先仮想計算機が使用するリソース量とに基づき、前記接続先仮想計算機を復帰させた場合の不足リソース量を特定する不足特定手段と、
前記優先順位に基づき、退避させられていない前記仮想計算機から選択仮想計算機を、前記選択仮想計算機が使用する前記リソース量の合計が前記不足リソースより大きくなるように選択する選択手段と、
して動作させる仮想計算機管理プログラム。
Computer
State storage means for storing the amount of resources used by the virtual machine and the priority order of the virtual machines with respect to the virtual machine executed by the execution device capable of saving the virtual machine in the virtual machine storage means;
Request receiving means for receiving a connection request to a connection destination virtual machine among the virtual machines;
Insufficient resources when the connection destination virtual machine is restored based on the unused resource amount detected in the execution device and the resource amount used by the connection destination virtual machine saved in the virtual machine storage unit A shortage identifying means for identifying the resource amount;
Selection means for selecting a selected virtual machine from the virtual machines that have not been saved based on the priority order so that the total amount of the resources used by the selected virtual machine is greater than the insufficient resources;
Virtual machine management program to run.
コンピュータを、
ログ記憶手段が記憶する前記仮想計算機に対して行われた接続の記録に基づき、前記仮想計算機の優先順位を決定し、決定された前記優先順位を前記仮想計算機に関連付けて前記状態記憶手段に格納する優先順位決定手段と、
して動作させる請求項8に記載の仮想計算機管理プログラム。
Computer
Based on a record of connections made to the virtual machine stored in the log storage means, the priority order of the virtual machines is determined, and the determined priority order is associated with the virtual machine and stored in the state storage means Prioritization means for
The virtual machine management program according to claim 8, which is operated as described above.
コンピュータを、
前記仮想計算機に関連付けて、当該仮想計算機に対して操作が行われているか否かを表す動作状態を記憶する前記状態記憶手段と、
さらに、前記動作状態に基づき、前記選択仮想計算機を選択する前記選択手段と、
して動作させる請求項8又は9に記載の仮想計算機管理プログラム。
Computer
The state storage means for storing an operation state indicating whether or not an operation is performed on the virtual computer in association with the virtual computer;
Further, the selection means for selecting the selected virtual machine based on the operation state;
The virtual machine management program according to claim 8 or 9, which is operated as described above.
JP2014040257A 2014-03-03 2014-03-03 Virtual machine management apparatus, virtual machine management method, and virtual machine management program Active JP6349786B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014040257A JP6349786B2 (en) 2014-03-03 2014-03-03 Virtual machine management apparatus, virtual machine management method, and virtual machine management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014040257A JP6349786B2 (en) 2014-03-03 2014-03-03 Virtual machine management apparatus, virtual machine management method, and virtual machine management program

Publications (2)

Publication Number Publication Date
JP2015165361A true JP2015165361A (en) 2015-09-17
JP6349786B2 JP6349786B2 (en) 2018-07-04

Family

ID=54187829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014040257A Active JP6349786B2 (en) 2014-03-03 2014-03-03 Virtual machine management apparatus, virtual machine management method, and virtual machine management program

Country Status (1)

Country Link
JP (1) JP6349786B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019179525A (en) * 2018-03-30 2019-10-17 株式会社リコー Information processing device, information processing method, and information processing program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293386A (en) * 1999-04-12 2000-10-20 Hitachi Ltd Memory management system
JP2001306349A (en) * 2000-04-27 2001-11-02 Mitsubishi Electric Corp Backup device and backup method
JP2010086423A (en) * 2008-10-01 2010-04-15 Hitachi Ltd Virtual pc management method, virtual pc management system, and virtual pc management program
JP2011134219A (en) * 2009-12-25 2011-07-07 Nec Corp User environment saving control system, device, method and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293386A (en) * 1999-04-12 2000-10-20 Hitachi Ltd Memory management system
JP2001306349A (en) * 2000-04-27 2001-11-02 Mitsubishi Electric Corp Backup device and backup method
JP2010086423A (en) * 2008-10-01 2010-04-15 Hitachi Ltd Virtual pc management method, virtual pc management system, and virtual pc management program
JP2011134219A (en) * 2009-12-25 2011-07-07 Nec Corp User environment saving control system, device, method and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019179525A (en) * 2018-03-30 2019-10-17 株式会社リコー Information processing device, information processing method, and information processing program
JP7155584B2 (en) 2018-03-30 2022-10-19 株式会社リコー Information processing device, information processing method and information processing program

Also Published As

Publication number Publication date
JP6349786B2 (en) 2018-07-04

Similar Documents

Publication Publication Date Title
CN109101318B (en) Virtual machine migration control method and device
CN109768871B (en) Method for configuring multiple virtual network cards, host machine and storage medium
US9588789B2 (en) Management apparatus and workload distribution management method
WO2019205371A1 (en) Server, message allocation method, and storage medium
US9756010B2 (en) Resolving network address conflicts
US8966487B1 (en) Application transaction wait time dynamic adjustment
CN110753131A (en) Microservice distributed current limiting method and device, storage medium and electronic equipment
US20150309828A1 (en) Hypervisor manager for virtual machine management
US20130227585A1 (en) Computer system and processing control method
US8621081B2 (en) Hypervisor controlled user device that enables available user device resources to be used for cloud computing
US8589538B2 (en) Storage workload balancing
US20120265882A1 (en) Resource management method and computer system
GB2507779A (en) Terminating a virtual machine in response to user inactivity in a cloud computing environment
US9672069B2 (en) Dynamic zone-based cloud management
US20110173319A1 (en) Apparatus and method for operating server using virtualization technique
US10169102B2 (en) Load calculation method, load calculation program, and load calculation apparatus
JP5503678B2 (en) Host providing system and host providing method
JP5352367B2 (en) Virtual machine boot terminal and virtual machine boot program
US20160070475A1 (en) Memory Management Method, Apparatus, and System
US20230069240A1 (en) Dynamic cloning of application infrastructures
US10754368B1 (en) Method and system for load balancing backup resources
CN114915593A (en) Redis-based flow control method and device, electronic equipment and storage medium
KR20150007698A (en) Load distribution system for virtual desktop service
CN112600761A (en) Resource allocation method, device and storage medium
CN106911741B (en) Method for balancing virtual network management file downloading load and network management server

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180425

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180521

R150 Certificate of patent or registration of utility model

Ref document number: 6349786

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150