JP2017027504A - Computing machine system - Google Patents

Computing machine system Download PDF

Info

Publication number
JP2017027504A
JP2017027504A JP2015147773A JP2015147773A JP2017027504A JP 2017027504 A JP2017027504 A JP 2017027504A JP 2015147773 A JP2015147773 A JP 2015147773A JP 2015147773 A JP2015147773 A JP 2015147773A JP 2017027504 A JP2017027504 A JP 2017027504A
Authority
JP
Japan
Prior art keywords
virtual
server
terminal device
virtual machines
virtual machine
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
JP2015147773A
Other languages
Japanese (ja)
Other versions
JP6381492B2 (en
Inventor
崇 島津
Takashi Shimazu
崇 島津
淳文 藤田
Atsufumi Fujita
淳文 藤田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2015147773A priority Critical patent/JP6381492B2/en
Publication of JP2017027504A publication Critical patent/JP2017027504A/en
Application granted granted Critical
Publication of JP6381492B2 publication Critical patent/JP6381492B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

PROBLEM TO BE SOLVED: To achieve a computing machine system that can more quickly provide a required client environment of a plurality of categories client environments to a terminal device.SOLUTION: A computing machine system includes: a plurality of server systems; and a plurality of terminal devices to be connected to the plurality of server systems via a network. Each of the plurality of server systems includes virtual machine management means that logically creates a group of virtual computing machines composed of the virtual computing machine in accordance with the total number of the plurality of terminal devices for each category of providable client environments in the plurality of terminal devices, and holds the group thereof in a hot standby state; and allocation means that, in response to a connection request from any of the plurality of terminal devices, allocates to the terminal device of a request source the virtual machine highest in standing according to a predetermined rule of the group of the virtual machines held in the hot standby state and corresponding to the category included in the connection request.SELECTED DRAWING: Figure 10

Description

本発明は、仮想化技術を用いて、複数の端末装置に対してクライアント環境を提供する計算機システムに関する。   The present invention relates to a computer system that provides a client environment to a plurality of terminal devices using virtualization technology.

近年、仮想化技術を用いて、複数のユーザ(クライアント装置)に対して、計算機環境をそれぞれ提供する計算機システムが実用化されている。このような計算機システムの一例として、仮想化技術を用いて複数のデスクトップ環境をそれぞれのクライアント装置上に実現するデスクトップ仮想化という手法がある。このデスクトップ仮想化では、1または複数のサーバ装置が自身の計算機資源を用いて仮想計算機を論理的に生成するとともに、その生成した仮想計算機を各クライアント装置に提供することになる。   In recent years, a computer system that provides a computer environment to a plurality of users (client devices) using virtualization technology has been put into practical use. As an example of such a computer system, there is a technique called desktop virtualization that uses a virtualization technique to realize a plurality of desktop environments on each client device. In this desktop virtualization, one or a plurality of server devices logically generate a virtual computer using its own computer resources and provide the generated virtual computer to each client device.

このような仮想化技術の一例として、特開2008−107966号公報(特許文献1)は、ユーザ要求に応じて仮想的な計算機資源を提供する計算機システムを開示する。さらに、仮想化技術を冗長化した構成も提案されている。例えば、特開2014−044690号公報(特許文献2)は、その上に二重化された仮想化環境を構築した物理計算機を二重化して構成したシステムを開示する。   As an example of such a virtualization technique, Japanese Patent Laid-Open No. 2008-107966 (Patent Document 1) discloses a computer system that provides virtual computer resources in response to a user request. Furthermore, a configuration in which virtualization technology is made redundant has been proposed. For example, Japanese Patent Laying-Open No. 2014-044690 (Patent Document 2) discloses a system configured by duplicating a physical computer on which a duplicated virtual environment is constructed.

また、複数の仮想計算機を保持するサーバ装置とは別に、クライアント装置からの要求を受けて、いずれの仮想計算機を使用するのかを決定する装置が配置される場合もある。例えば、特表2013−543617号公報(特許文献3)は、接続ブローカが通信からサーバファームの識別情報を受け取り、アクティブなリモートリソースを有するファーム内のマシンを識別し、クライアントにVM上のリモートリソースへの再接続を指示するという構成を開示している。   In addition to a server device that holds a plurality of virtual machines, a device that receives a request from a client device and determines which virtual machine to use may be arranged. For example, Japanese Patent Publication No. 2013-543617 (Patent Document 3) discloses that a connection broker receives server farm identification information from communication, identifies a machine in a farm having an active remote resource, and sends a remote resource on a VM to a client. A configuration for instructing reconnection to is disclosed.

特開2008−107966号公報(段落[0009],[0010],[0017],[0023]など参照)JP 2008-107966 A (see paragraphs [0009], [0010], [0017], [0023], etc.) 特開2014−044690号公報(段落[0011],[0020],[0021]など参照)JP 2014-044690 A (refer to paragraphs [0011], [0020], [0021], etc.) 特表2013−543617号公報(段落[0009],[0030]など参照)JP 2013-543617 A (see paragraphs [0009], [0030], etc.)

上述したような仮想化技術を用いた計算機システムを、各種の監視制御のシステムに適用しようとすると、ユーザ毎またはクライアント装置毎に、提供されるクライアント環境の機能などを異ならせたいというニーズが存在する。例えば、操作監視を行なう一般のオペレータ(一般ユーザ)、一般のオペレータを統括する責任者(管理者ユーザ)、計算機システムのメンテナンスや保全を行なう保守員(メンテナンスユーザ)などの区分が想定され、それぞれのユーザ毎に、操作可能な範囲(以下、「操作権限」とも称す。)を異ならせたり、表示内容を異ならせたりする必要がある。あるいは、操作ミスを防止するために、レガシーシステムと同様の操作性を提供することが好ましい場合もある。そのため、要求に応じて複数種類のクライアント環境のいずれかを選択的に、かつより迅速に提供する必要がある。   When the computer system using the above-described virtualization technology is applied to various monitoring and control systems, there is a need to make the functions of the provided client environment different for each user or each client device. To do. For example, there are assumed categories such as general operators (general users) who perform operation monitoring, managers (administrator users) who supervise general operators, and maintenance personnel (maintenance users) who perform maintenance and maintenance of computer systems. It is necessary to change the operable range (hereinafter also referred to as “operation authority”) or display contents for each user. Alternatively, it may be preferable to provide the same operability as that of the legacy system in order to prevent an operation error. Therefore, it is necessary to selectively and quickly provide any one of a plurality of types of client environments according to the request.

上述した先行技術では、このようなニーズを満たすような技術的手段を何ら教示ないし示唆するものではない。すなわち、特開2008−107966号公報(特許文献1)は、ユーザからのサービスの要求を受けた後に、ユーザの要求を処理するアプリケーションプログラムおよびゲストOSを含んだ実行環境スナップショットを計算機にロードさせることで、そのユーザの要求に応えることになる。この方法では、ユーザからサービスの要求毎に実行環境スナップショットを計算機にロードさせる必要があり、その要求に対してサービスを提供するまでに比較的長い時間を要するため、応答性が低い。   The above-described prior art does not teach or suggest any technical means to satisfy such needs. That is, Japanese Patent Laid-Open No. 2008-107966 (Patent Document 1) causes a computer to load an execution environment snapshot including an application program and a guest OS that processes a user request after receiving a service request from the user. In this way, the user's request is met. In this method, it is necessary to load an execution environment snapshot to the computer for each service request from the user, and since it takes a relatively long time to provide the service in response to the request, the responsiveness is low.

特開2014−044690号公報(特許文献2)は、仮想化環境および物理計算機のそれぞれにおいて二重化する技術を開示するものであり、各物理計算機上に実現される仮想化環境はいずれも同一のものである。すなわち、特開2014−044690号公報(特許文献2)は、複数種類のサービスを選択的に提供する技術については何ら教示ないし示唆していない。   Japanese Patent Laying-Open No. 2014-044690 (Patent Document 2) discloses a technique for duplicating a virtual environment and a physical computer, and the virtual environments realized on each physical computer are the same. It is. That is, Japanese Patent Application Laid-Open No. 2014-044690 (Patent Document 2) does not teach or suggest any technique for selectively providing a plurality of types of services.

本発明は、上記に鑑みてなされたものであって、その目的は、複数種類のクライアント環境のうち、要求されたクライアント環境を端末装置へより迅速に提供できる計算機システムを実現することである。   The present invention has been made in view of the above, and an object of the present invention is to realize a computer system that can more quickly provide a requested client environment to a terminal device among a plurality of types of client environments.

別の目的は、制御対象の状態に関する信号である状態信号を受信するとともに、端末装置から当該端末装置への入力操作に基づく信号である入力操作信号を受信して、当該入力操作信号に基づいて制御対象を制御する計算機システムを実現することである。   Another object is to receive a state signal that is a signal related to the state of the controlled object, and to receive an input operation signal that is a signal based on an input operation from the terminal device to the terminal device, and based on the input operation signal. This is to realize a computer system for controlling the controlled object.

上述した課題を解決するために、本発明のある局面に係る計算機システムは、複数のサーバシステムと、複数のサーバシステムとネットワークを介して接続される複数の端末装置とを含む。複数のサーバシステムの各々は、複数の端末装置において提供可能なクライアント環境の種類毎に、複数の端末装置の総数に応じた数の仮想計算機からなる仮想計算機の群を論理的に生成するとともに、ホットスタンバイの状態で保持する仮想計算機管理手段と、複数の端末装置のいずれかからの接続要求に応答して、ホットスタンバイの状態で保持されている、当該接続要求に含まれる種類に対応する仮想計算機の群のうち、予め定められた規則に従って最も順位の高い仮想計算機を当該要求元の端末装置に割り当てる割り当て手段とを含む。   In order to solve the above-described problem, a computer system according to an aspect of the present invention includes a plurality of server systems and a plurality of terminal devices connected to the plurality of server systems via a network. Each of the plurality of server systems logically generates a group of virtual machines including a number of virtual machines according to the total number of the plurality of terminal devices for each type of client environment that can be provided by the plurality of terminal devices. Virtual machine management means held in a hot standby state and a virtual corresponding to the type included in the connection request held in a hot standby state in response to a connection request from any of a plurality of terminal devices And assigning means for allocating the virtual computer having the highest rank to the requesting terminal device in accordance with a predetermined rule in the group of computers.

好ましくは、仮想計算機管理手段は、複数の端末装置において提供可能なクライアント環境の種類間の優先順位に応じて、仮想計算機の群にそれぞれ含ませる仮想計算機の数を決定する。   Preferably, the virtual machine management means determines the number of virtual machines to be included in each group of virtual machines according to the priority order between the types of client environments that can be provided by a plurality of terminal devices.

好ましくは、仮想計算機管理手段は、複数の端末装置において提供可能なクライアント環境の種類毎の稼働状況に応じて、仮想計算機の群にそれぞれ含ませる仮想計算機の数を決定する。   Preferably, the virtual machine management means determines the number of virtual machines to be included in each group of virtual machines according to the operating status of each type of client environment that can be provided by a plurality of terminal devices.

好ましくは、割り当て手段は、接続要求の要求元の端末装置に対して、割り当てた仮想計算機のネットワークアドレスを通知する手段を含み、端末装置は、通知されたネットワークアドレスに基づいて、仮想計算機に接続する。   Preferably, the assigning means includes means for notifying the terminal device that has requested the connection request of the network address of the assigned virtual machine, and the terminal device is connected to the virtual machine based on the notified network address. To do.

好ましくは、仮想計算機管理手段は、仮想計算機の群に共通のコードと、仮想計算機の群の各種類に固有のコードとを用いて、種類別に仮想計算機の群をそれぞれ生成する。   Preferably, the virtual machine management means generates a group of virtual machines for each type using a code common to the group of virtual machines and a code specific to each type of the group of virtual machines.

好ましくは、ホットスタンバイの状態で保持されている仮想計算機の群は、それぞれの仮想計算機が実行するゲストOS、および、ゲストOS上で実行されるアプリケーションのコードの制御対象に対する操作権限、の少なくとも一方が互いに異なる。   Preferably, the group of virtual machines held in a hot standby state includes at least one of a guest OS executed by each virtual machine and an operation authority for a control target of an application code executed on the guest OS. Are different from each other.

本発明の別の局面に係る計算機システムは、制御対象の状態に関する信号である状態信号を受信するとともに、端末装置から当該端末装置への入力操作に基づく信号である入力操作信号を受信して、当該入力操作信号に基づいて制御対象を制御する。計算機システムは、ホストOS上に、ゲストOSと当該ゲストOS上で実行するアプリケーションのコードとの組み合わせが互いに異なる複数種類の仮想計算機を予め生成し、それら生成した仮想計算機をホットスタンバイの状態で保持するサーバと、端末装置から仮想計算機への接続要求を受信した場合に、当該接続要求に含まれる、当該端末装置に提供すべきクライアント環境の種類に関する情報に基づいて、ホットスタンバイの状態で保持されている複数種類の仮想計算機の中から、当該端末装置に提供すべきクライアント環境を有する仮想計算機を選択し、当該選択した仮想計算機と当該端末装置との接続をサーバに対して指示するコネクションブローカとを含む。サーバがホットスタンバイの状態で保持する複数種類の仮想計算機は、実行するゲストOSが互いに異なる複数の仮想計算機、および、実行するアプリケーションのコードの制御対象に対する操作権限、の少なくとも一方が互いに異なる複数の仮想計算機を含む。   A computer system according to another aspect of the present invention receives a state signal that is a signal related to a state of a control target, and receives an input operation signal that is a signal based on an input operation from the terminal device to the terminal device, The control target is controlled based on the input operation signal. The computer system generates in advance a plurality of types of virtual machines having different combinations of the guest OS and the application code executed on the guest OS on the host OS, and holds the generated virtual machines in a hot standby state. When a connection request to the virtual machine is received from the server and the terminal device, the hot standby state is maintained based on the information about the type of client environment to be provided to the terminal device included in the connection request. A connection broker that selects a virtual machine having a client environment to be provided to the terminal device from a plurality of types of virtual computers, and instructs the server to connect the selected virtual machine to the terminal device; including. The plurality of types of virtual machines held by the server in a hot standby state include a plurality of virtual machines having different guest OSs to be executed, and a plurality of virtual machines having at least one of operating authority to be controlled by the code of the application to be executed. Includes virtual machines.

好ましくは、サーバがホットスタンバイの状態で保持する複数種類の仮想計算機は、実行するゲストOSが互いに同一である複数の仮想計算機、および、実行するアプリケーションのコードが互いに同一である複数の仮想計算機、の少なくとも一方を含む。互いに同一であるゲストOSまたは互いに同一であるアプリケーションのコードは、共通の記憶部に記憶されたソースコードまたはオブジェクトコードを読み出して実行される。   Preferably, the plurality of types of virtual machines that the server holds in a hot standby state include a plurality of virtual machines that execute the same guest OS, and a plurality of virtual machines that execute the same application code, At least one of the above. The code of the guest OS that is the same as each other or the code of the application that is the same as each other is executed by reading the source code or the object code stored in the common storage unit.

好ましくは、サーバがホットスタンバイの状態で保持する複数種類の仮想計算機の数は、アプリケーションのコードの制御対象に対する操作権限が同一である仮想計算機の群毎に異なる。   Preferably, the number of virtual machines of a plurality of types that the server holds in the hot standby state differs for each group of virtual machines having the same operation authority for the control target of the application code.

好ましくは、サーバおよびコネクションブローカは、別個の計算機によって構成され、サーバとコネクションブローカの各々は、マスタの計算機およびスレーブの計算機を含む。   Preferably, the server and the connection broker are constituted by separate computers, and each of the server and the connection broker includes a master computer and a slave computer.

好ましくは、クライアント環境の種類に関する情報は、端末装置に入力されるユーザの識別子を含み、コネクションブローカは、ユーザの識別子に基づいて端末装置に提供すべきクライアント環境を選択する。   Preferably, the information regarding the type of client environment includes a user identifier input to the terminal device, and the connection broker selects a client environment to be provided to the terminal device based on the user identifier.

好ましくは、サーバがホットスタンバイの状態で保持する複数種類の仮想計算機は、実行するゲストOSが互いに異なるとともに、実行するアプリケーションのコードの制御対象およびアプリケーションのコードの当該制御対象に対する操作権限がいずれも同一である、複数の仮想計算機を含む。   Preferably, the plurality of types of virtual machines held by the server in a hot standby state have different guest OSs to be executed, and both the control object of the application code to be executed and the operation authority for the control object of the application code are both It includes a plurality of virtual machines that are the same.

本発明のある局面によれば、複数種類のクライアント環境のうち、要求されたクライアント環境を端末装置へより迅速に提供できる。   According to an aspect of the present invention, a requested client environment among a plurality of types of client environments can be provided to a terminal device more quickly.

本発明の別の局面によれば、制御対象の状態に関する信号である状態信号を受信するとともに、端末装置から当該端末装置への入力操作に基づく信号である入力操作信号を受信して、当該入力操作信号に基づいて制御対象を制御できる。   According to another aspect of the present invention, a state signal that is a signal related to a state to be controlled is received, an input operation signal that is a signal based on an input operation from the terminal device to the terminal device is received, and the input The controlled object can be controlled based on the operation signal.

本実施の形態に係る計算機システムの全体システム構成を示す模式図である。It is a schematic diagram which shows the whole system configuration | structure of the computer system which concerns on this Embodiment. 本実施の形態に係る計算機システムの機能構成を示す模式図である。It is a schematic diagram which shows the function structure of the computer system which concerns on this Embodiment. 本実施の形態に係る仮想デスクトップ用サーバが保持する仮想計算機の機能構成を示す模式図である。It is a schematic diagram which shows the function structure of the virtual computer which the server for virtual desktops concerning this Embodiment hold | maintains. 本実施の形態に係る仮想デスクトップ用サーバおよびコネクションブローカのハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of the server for virtual desktops which concerns on this Embodiment, and a connection broker. サーバ拠点において用意される複数の仮想計算機を模式的に示した図である。It is the figure which showed typically the some virtual machine prepared in a server base. 本実施の形態に係る計算機システムにおいて端末装置上で提供される仮想デスクトップ画面の一例を示す図である。It is a figure which shows an example of the virtual desktop screen provided on a terminal device in the computer system which concerns on this Embodiment. 本実施の形態に係る計算機システムにおける仮想計算機の生成方法を説明するための模式図である。It is a schematic diagram for demonstrating the production | generation method of the virtual computer in the computer system which concerns on this Embodiment. 本実施の形態に係る計算機システムが提供する仮想計算機群の構成例を示す模式図である。It is a schematic diagram which shows the structural example of the virtual computer group which the computer system which concerns on this Embodiment provides. 本実施の形態に係る計算機システムにおける仮想計算機の状態管理を説明するための模式図である。It is a schematic diagram for demonstrating the state management of the virtual computer in the computer system which concerns on this Embodiment. 本実施の形態に係る計算機システムにおけるクライエント環境の提供を開始するための接続処理の手順を示す模式図である。It is a schematic diagram which shows the procedure of the connection process for starting provision of the client environment in the computer system which concerns on this Embodiment. 本実施の形態に係る計算機システムにおける端末装置での画面表示例を示す模式図である。It is a schematic diagram which shows the example of a screen display with the terminal device in the computer system which concerns on this Embodiment. 本実施の形態に係る計算機システムにおける端末装置での処理手順を示すフローチャートである。It is a flowchart which shows the process sequence in the terminal device in the computer system which concerns on this Embodiment. 本実施の形態に係る計算機システムにおける端末装置での処理手順を示すフローチャートである。It is a flowchart which shows the process sequence in the terminal device in the computer system which concerns on this Embodiment. 本実施の形態に係る計算機システムにおけるサーバ拠点のコネクションブローカ120の冗長化構成を説明するための模式図である。It is a schematic diagram for demonstrating the redundant structure of the connection broker 120 of the server base in the computer system which concerns on this Embodiment. 本実施の形態に係る計算機システムにおけるサーバ拠点のコネクションブローカ120間のデータ移行を説明するための模式図である。It is a schematic diagram for demonstrating the data transfer between the connection brokers 120 of the server base in the computer system which concerns on this Embodiment. 本実施の形態に係る計算機システムにおけるサーバ拠点の冗長化構成を説明するための模式図である。It is a schematic diagram for demonstrating the redundant structure of the server base in the computer system which concerns on this Embodiment. 本実施の形態に係る計算機システムにおけるサーバ拠点のネットワークの冗長化構成を説明するための模式図である。It is a schematic diagram for demonstrating the redundant structure of the network of the server base in the computer system which concerns on this Embodiment.

本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。   Embodiments of the present invention will be described in detail with reference to the drawings. Note that the same or corresponding parts in the drawings are denoted by the same reference numerals and description thereof will not be repeated.

[A.全体システム構成]
まず、本実施の形態に係る計算機システム1の全体構成について説明する。図1は、本実施の形態に係る計算機システム1の全体システム構成を示す模式図である。本実施の形態に係る計算機システム1は、電力系統制御、各種プラント制御、鉄道運行管理などの比較的大規模な装置や設備の監視制御に適用される。典型的には、計算機システム1は、制御対象の状態に関する信号である状態信号を受信するとともに、端末装置から当該端末装置への入力操作に基づく信号である入力操作信号を受信して、当該入力操作信号に基づいて制御対象を制御する。
[A. Overall system configuration]
First, the overall configuration of the computer system 1 according to the present embodiment will be described. FIG. 1 is a schematic diagram showing an overall system configuration of a computer system 1 according to the present embodiment. The computer system 1 according to the present embodiment is applied to monitoring control of relatively large-scale apparatuses and facilities such as power system control, various plant controls, and railway operation management. Typically, the computer system 1 receives a state signal that is a signal related to the state of the control target, and also receives an input operation signal that is a signal based on an input operation from the terminal device to the terminal device. The control object is controlled based on the operation signal.

図1に示す本実施の形態に係る計算機システム1は、クライアント仮想化機構を採用したシステムであり、複数の監視制御卓を実現するための計算機は仮想化されてサーバ拠点100A,100B(以下、「サーバ拠点100」とも総称する。)に集約されている。ネットワーク2を介して分散配置された各端末装置210A1,210A2,210B1,210B2(クライアント端末)(以下、「端末装置210」とも総称する。)では、仮想化された監視制御卓を実現するための仮想計算機によって提供される操作画面が表示される。複数の端末装置210は、複数のサーバシステムであるサーバ拠点100A,100Bと、ネットワーク2を介して接続される。   A computer system 1 according to the present embodiment shown in FIG. 1 is a system that employs a client virtualization mechanism, and computers for realizing a plurality of monitoring control consoles are virtualized to server bases 100A and 100B (hereinafter, referred to as a computer system). Collectively referred to as “server base 100”). Each terminal device 210A1, 210A2, 210B1, 210B2 (client terminal) (hereinafter also collectively referred to as “terminal device 210”) distributed via the network 2 is used to realize a virtual monitoring control console. An operation screen provided by the virtual machine is displayed. The plurality of terminal devices 210 are connected to the server bases 100A and 100B, which are a plurality of server systems, via the network 2.

端末装置210に対してなされた入力操作は、その端末装置210を介して、サーバ拠点100にある仮想計算機へ送信される。仮想計算機は、端末装置210からの入力操作を示す信号に応じて、必要な処理を実行する。すなわち、各端末装置210では、実質的には、仮想計算機によって提供される操作画面の表示処理および入力操作の受付処理のみが行なわれ、監視制御に関する実体的な処理はサーバ拠点100で実行される。   An input operation performed on the terminal device 210 is transmitted to the virtual computer in the server base 100 via the terminal device 210. The virtual computer performs necessary processing in response to a signal indicating an input operation from the terminal device 210. That is, each terminal device 210 substantially performs only an operation screen display process and an input operation reception process provided by the virtual machine, and substantial processes related to monitoring control are executed at the server base 100. .

このように、本実施の形態に係る計算機システム1では、一元管理された仮想的な計算機資源を、端末装置210からの要求に応じて、適宜提供するというクライアント仮想化機構を採用している。つまり、広域のネットワークを介して、計算機資源が分散配置されており、監視制御卓を実現する計算機を仮想化することでサーバ拠点に集約し、クライアント端末である監視制御卓では仮想化した画面表示と操作入力処理のみが行なわれる。このようなクライアント仮想化機構を採用することで、端末装置210の構成を簡素化できるとともに、端末装置210の追加や変更などに柔軟に対応できる。   As described above, the computer system 1 according to the present embodiment employs a client virtualization mechanism that appropriately provides centrally managed virtual computer resources in response to a request from the terminal device 210. In other words, computer resources are distributed over a wide area network, and the computer that realizes the monitoring control console is virtualized and consolidated at the server base. The monitoring control console that is the client terminal virtualizes the screen display. Only the operation input process is performed. By adopting such a client virtualization mechanism, the configuration of the terminal device 210 can be simplified, and additions and changes of the terminal device 210 can be flexibly handled.

より具体的には、計算機システム1は、複数のサーバ拠点100Aおよび100B(サーバ拠点Aおよびサーバ拠点B)と、実際に制御監視を行なう場所である複数の運用拠点200Aおよび200B(運用拠点Aおよび運用拠点B)(以下、「運用拠点200」とも総称する。)とが設けられる。なお、図1には、説明の便宜上、2つのサーバ拠点100および2つの運用拠点200を示すが、これらに限られることなく、運用上必要な数のサーバ拠点100および運用拠点200が設けられる。   More specifically, the computer system 1 includes a plurality of server bases 100A and 100B (server base A and server base B) and a plurality of operation bases 200A and 200B (operation bases A and B) that are places where actual control monitoring is performed. Operation base B) (hereinafter also collectively referred to as “operation base 200”). FIG. 1 shows two server bases 100 and two operation bases 200 for convenience of explanation, but the number of server bases 100 and operation bases 200 necessary for operation are not limited to these.

サーバ拠点100Aおよびサーバ拠点100Bは、典型的には、マスタ/スレーブ方式を採用しており、互いに協働して仮想的な計算機資源を保有する。これによって、いずれか一方のサーバ拠点100が被災するなどして、運用が困難になった場合であっても、他方のサーバ拠点100によって運用を継続させることができる。サーバ拠点100Aがマスタとして機能し、サーバ拠点100Bがスレーブとして機能する場合を例にとって処理などを説明するが、いずれのサーバ拠点がマスタまたはスレーブであってもよい。   The server base 100A and the server base 100B typically employ a master / slave method and hold virtual computer resources in cooperation with each other. As a result, even if one of the server bases 100 is damaged and the operation becomes difficult, the other server base 100 can continue the operation. The processing will be described by taking as an example a case where the server base 100A functions as a master and the server base 100B functions as a slave, but any server base may be a master or a slave.

サーバ拠点100Aには、仮想デスクトップ用サーバ110Aおよびコネクションブローカ120A1,120A2が配置されており、同様に、サーバ拠点100Bには、仮想デスクトップ用サーバ110Bおよびコネクションブローカ120B1,120B2が配置されている。以下では、仮想デスクトップ用サーバ110A,110Bを「仮想デスクトップ用サーバ110」とも総称し、コネクションブローカ120A1,120A2,120B1,120B2を「コネクションブローカ120」とも総称する。このように、サーバ拠点100Aおよび100Bは、複数のサーバシステムを含む。   The server base 100A is provided with a virtual desktop server 110A and connection brokers 120A1 and 120A2, and similarly, the server base 100B is provided with a virtual desktop server 110B and connection brokers 120B1 and 120B2. Hereinafter, the virtual desktop servers 110A and 110B are also collectively referred to as “virtual desktop server 110”, and the connection brokers 120A1, 120A2, 120B1, and 120B2 are also collectively referred to as “connection broker 120”. As described above, the server bases 100A and 100B include a plurality of server systems.

仮想デスクトップ用サーバ110の各々は、複数の仮想計算機を論理的に生成および保持する。また、仮想デスクトップ用サーバ110の各々は、制御対象との間でフィールドデータを遣り取りするフィールドネットワーク4に接続されており、制御対象から様々な状態信号を取得するとともに、端末装置210を介して与えられた操作指令に従って、制御対象に対して各種指令を与える。   Each of the virtual desktop servers 110 logically generates and holds a plurality of virtual machines. Each of the virtual desktop servers 110 is connected to the field network 4 that exchanges field data with the control target, and obtains various state signals from the control target and provides them via the terminal device 210. Various commands are given to the controlled object in accordance with the received operation commands.

コネクションブローカ120の各々は、端末装置210からの要求に応じて、仮想デスクトップ用サーバ110が保持している仮想計算機を所定規則に従って割り当てる。各サーバ拠点100において、コネクションブローカ120は、アクティブ/スタンバイ方式で冗長化されている。サーバ拠点100における機能および処理手順などについては、後に詳述する。   In response to a request from the terminal device 210, each of the connection brokers 120 assigns a virtual computer held by the virtual desktop server 110 according to a predetermined rule. In each server base 100, the connection broker 120 is made redundant by an active / standby method. Functions and processing procedures in the server base 100 will be described in detail later.

図1に示すように、仮想デスクトップ用サーバ110およびコネクションブローカ120は、別個の計算機によって構成されてもよい。さらに、仮想デスクトップ用サーバ110およびコネクションブローカ120の各々は、マスタの計算機およびスレーブの計算機を含んでいてもよいム。   As shown in FIG. 1, the virtual desktop server 110 and the connection broker 120 may be configured by separate computers. Further, each of the virtual desktop server 110 and the connection broker 120 may include a master computer and a slave computer.

一方で、仮想デスクトップ用サーバ110およびコネクションブローカ120は、プロセッサを共通とする一体の計算機で構成してもよい。   On the other hand, the virtual desktop server 110 and the connection broker 120 may be configured as an integrated computer having a common processor.

クライアント拠点として位置付けられる運用拠点200Aおよび運用拠点200Bには、端末装置210A1,210A2および端末装置210B1,210B2が配置されている。クライアント装置として機能する端末装置210は、一種のシンクライアントであり、サーバ拠点100の仮想計算機からクライアント環境を提供されるのに必要な接続手続や、入力操作を受付けるための処理などを実行するための最小限の機能を搭載していればよい。本実施の形態に係る計算機システム1では、端末装置210において提供されるクライアント環境(デスクトップ環境)がサーバ拠点100側で実行されるリモートデスクトップ方式が採用される。但し、サーバ拠点100から提供された計算機資源を利用しつつ、端末装置210でクライアント環境を実行するクライアントハイパーバイザー方式を採用してもよい。   Terminal apparatuses 210A1, 210A2 and terminal apparatuses 210B1, 210B2 are arranged at the operation base 200A and the operation base 200B, which are positioned as client bases. The terminal device 210 functioning as a client device is a kind of thin client, and executes a connection procedure necessary to provide a client environment from a virtual machine at the server base 100, a process for accepting an input operation, and the like. It suffices to have the minimum functions. The computer system 1 according to the present embodiment employs a remote desktop method in which a client environment (desktop environment) provided in the terminal device 210 is executed on the server base 100 side. However, a client hypervisor method in which a client environment is executed by the terminal device 210 while using computer resources provided from the server base 100 may be employed.

サーバ拠点100A,100Bと運用拠点200A,200Bとは、ネットワーク2を介して互いに接続される。ネットワーク2としては、典型的には、広域に張り巡らされた広域IP(Internet Protocol)網が採用される。ネットワーク2も多重化(あるいは、二重化)されることが好ましい。   The server bases 100A and 100B and the operation bases 200A and 200B are connected to each other via the network 2. Typically, the network 2 is a wide area IP (Internet Protocol) network that extends over a wide area. The network 2 is also preferably multiplexed (or duplicated).

本実施の形態に係る計算機システム1では、サーバ拠点100自体が多重化されているとともに、サーバ拠点100内に配置されるコネクションブローカ120も多重化されている。さらに、ネットワーク2も多重化されている。そのため、サーバ拠点100そのもの、サーバ拠点100内のサーバ、ネットワーク2のいずれに何らかの障害が生じたとしても、健全な部位が処理を引き続いて運用を継続できる。   In the computer system 1 according to the present embodiment, the server base 100 itself is multiplexed, and the connection broker 120 arranged in the server base 100 is also multiplexed. Furthermore, the network 2 is also multiplexed. Therefore, even if any failure occurs in any of the server base 100 itself, the server in the server base 100, and the network 2, a healthy part can continue to operate and continue operation.

[B.機能構成]
次に、本実施の形態に係る計算機システム1を実現するための機能構成について説明する。図2は、本実施の形態に係る計算機システム1の機能構成を示す模式図である。
[B. Functional configuration]
Next, a functional configuration for realizing the computer system 1 according to the present embodiment will be described. FIG. 2 is a schematic diagram showing a functional configuration of the computer system 1 according to the present embodiment.

図2を参照して、仮想デスクトップ用サーバ110A,110Bの各々においても、OS(オペレーティング)112上で各種機能モジュールが実行される。より具体的には、OS112上では、物理計算機(Dom−0)114および複数の仮想計算機(Dom−U)116が実行される。物理計算機114は、コネクションブローカ120の計算機資源を利用して実現されるドメインであり、複数の仮想計算機116は、論理計算機とも呼ばれ、仮想化されたドメインである。物理計算機114では、OS112の環境を利用しつつ、必要な各種機能モジュールが実行される。より具体的には、物理計算機114には、管理部115が実装される。管理部115は、主として、複数の仮想計算機116を管理する。   Referring to FIG. 2, various functional modules are executed on OS (operating) 112 in each of virtual desktop servers 110 </ b> A and 110 </ b> B. More specifically, a physical computer (Dom-0) 114 and a plurality of virtual computers (Dom-U) 116 are executed on the OS 112. The physical computer 114 is a domain realized by using the computer resources of the connection broker 120, and the plurality of virtual computers 116 are also called logical computers and are virtualized domains. In the physical computer 114, various necessary function modules are executed using the environment of the OS 112. More specifically, the management unit 115 is mounted on the physical computer 114. The management unit 115 mainly manages a plurality of virtual machines 116.

複数の仮想計算機116の各々では、OS112(ホストOS)とは独立してOS118(ゲストOS)の実行環境が用意されている。OS112は、任意のオペレーティングシステムを採用できるが、本実施の形態においては、Linux(登録商標)を採用する。また、仮想計算機116のそれぞれのOS118は、端末装置210に対して提供されるクライアント環境に応じて適宜選択される。例えば、OS118としては、Microsoft Windows(登録商標)のいずれかのバージョン、Linux(登録商標)、Mac OS(登録商標)のいずれかのバージョン、などが採用される。   In each of the plurality of virtual machines 116, an execution environment for the OS 118 (guest OS) is prepared independently of the OS 112 (host OS). Although any operating system can be adopted as the OS 112, Linux (registered trademark) is adopted in the present embodiment. Further, each OS 118 of the virtual machine 116 is appropriately selected according to the client environment provided to the terminal device 210. For example, as the OS 118, any version of Microsoft Windows (registered trademark), any version of Linux (registered trademark), Mac OS (registered trademark), or the like is employed.

同様に、コネクションブローカ120A1,120A2,120B1,120B2の各々においても、OS(オペレーティングシステム)122上で各種機能モジュールが実行される。より具体的には、OS122上には、データミラー処理部124と、構成制御処理部126と、仮想クライアント割り当て処理部128とが配置される。OS122は、任意のオペレーティングシステムを採用できるが、本実施の形態においては、Linux(登録商標)を採用する。   Similarly, in each of the connection brokers 120A1, 120A2, 120B1, and 120B2, various function modules are executed on the OS (operating system) 122. More specifically, a data mirror processing unit 124, a configuration control processing unit 126, and a virtual client allocation processing unit 128 are arranged on the OS 122. Although any operating system can be adopted as the OS 122, Linux (registered trademark) is adopted in the present embodiment.

データミラー処理部124は、ペアを組むコネクションブローカ120の間で、データを共有化(ミラーリング)するための処理を実行する。構成制御処理部126は、ペアを組むコネクションブローカ120の間で、いずれがマスタであるのか、あるいはスレーブであるのかを、認識および管理する。仮想クライアント割り当て処理部128は、端末装置210からの要求に応じて、仮想デスクトップ用サーバ110が保持している複数の仮想計算機116のうち、いずれかを割り当てる。   The data mirror processing unit 124 executes a process for sharing (mirroring) data between the connection brokers 120 forming a pair. The configuration control processing unit 126 recognizes and manages which is the master or the slave among the connection brokers 120 forming a pair. In response to a request from the terminal device 210, the virtual client assignment processing unit 128 assigns one of the plurality of virtual machines 116 held by the virtual desktop server 110.

同様に、端末装置210A,210B,210Cの各々においても、OS(オペレーティングシステム)212上で各種機能モジュールが実行される。より具体的には、OS212上には、暗号処理部214と、クライアント処理部216と、接続処理部218とが配置される。OS122は、任意のオペレーティングシステムを採用できるが、本実施の形態においては、Linux(登録商標)を採用する。   Similarly, in each of the terminal devices 210A, 210B, and 210C, various function modules are executed on the OS (operating system) 212. More specifically, an encryption processing unit 214, a client processing unit 216, and a connection processing unit 218 are arranged on the OS 212. Although any operating system can be adopted as the OS 122, Linux (registered trademark) is adopted in the present embodiment.

暗号処理部214は、サーバ拠点100の仮想デスクトップ用サーバ110またはコネクションブローカ120との間で、セキュア通信を実現するための処理を実行する。   The cryptographic processing unit 214 executes processing for realizing secure communication with the virtual desktop server 110 or the connection broker 120 at the server base 100.

クライアント処理部216は、仮想デスクトップ用サーバ110上の仮想計算機116によるクライアント環境(デスクトップ環境)を端末装置210上に実現するための処理を実行する。   The client processing unit 216 executes processing for realizing a client environment (desktop environment) on the terminal device 210 by the virtual computer 116 on the virtual desktop server 110.

接続処理部218は、サーバ拠点100の仮想デスクトップ用サーバ110またはコネクションブローカ120と端末装置210との間の通信接続を管理する。   The connection processing unit 218 manages the communication connection between the virtual desktop server 110 or the connection broker 120 at the server base 100 and the terminal device 210.

図3は、本実施の形態に係る仮想デスクトップ用サーバ110が保持する仮想計算機116の機能構成を示す模式図である。図3を参照して、仮想計算機116の各々においても、OS(オペレーティングシステム)118上で各種機能モジュールが実行される。より具体的には、OS118上には、暗号処理部1162と、サーバ処理部1164と、セッション管理部1166とが配置される。   FIG. 3 is a schematic diagram showing a functional configuration of the virtual computer 116 held by the virtual desktop server 110 according to the present embodiment. Referring to FIG. 3, various function modules are executed on OS (Operating System) 118 in each of virtual machines 116. More specifically, on the OS 118, an encryption processing unit 1162, a server processing unit 1164, and a session management unit 1166 are arranged.

暗号処理部1162は、端末装置210との間で、セキュア通信を実現するための処理を実行する。サーバ処理部1164は、端末装置210に対して提供されるクライアント環境を実行するホスト機能を有している。サーバ処理部1164は、仮想計算機116で表示する画面イメージを生成する。セッション管理部1166は、クライアント環境を提供する端末装置210との間の接続(セッション)を管理する。   The cryptographic processing unit 1162 executes processing for realizing secure communication with the terminal device 210. The server processing unit 1164 has a host function for executing a client environment provided to the terminal device 210. The server processing unit 1164 generates a screen image to be displayed on the virtual machine 116. The session management unit 1166 manages a connection (session) with the terminal device 210 that provides a client environment.

[C.ハードウェア構成]
次に、サーバ拠点100に配置される仮想デスクトップ用サーバ110およびコネクションブローカ120のハードウェア構成について説明する。
[C. Hardware configuration]
Next, the hardware configuration of the virtual desktop server 110 and the connection broker 120 arranged at the server base 100 will be described.

図4は、本実施の形態に係る仮想デスクトップ用サーバ110およびコネクションブローカ120のハードウェア構成例を示すブロック図である。図4を参照して、仮想デスクトップ用サーバ110は、そのコンポーネントとして、プロセッサ150と、主メモリ152と、ハードディスク(HDD:Hard Disk Drive)154と、障害監視モジュール156と、ネットワークインターフェイス(I/F:Interface)158,160と、入力部162と、汎用インターフェイス(I/F:Interface)164とを含む。これらのコンポーネントは、内部バス166を介して互いに通信可能に接続されている。   FIG. 4 is a block diagram illustrating a hardware configuration example of the virtual desktop server 110 and the connection broker 120 according to the present embodiment. Referring to FIG. 4, the virtual desktop server 110 includes, as its components, a processor 150, a main memory 152, a hard disk (HDD: Hard Disk Drive) 154, a failure monitoring module 156, and a network interface (I / F). : Interface) 158 and 160, an input unit 162, and a general-purpose interface (I / F) 164. These components are communicably connected to each other via an internal bus 166.

プロセッサ150は、典型的には、CPU(Central Processing Unit)やMPU(Multi Processing Unit)といった演算処理部であり、ハードディスク154にインストールされているOSを含む各種プログラムを読出して、主メモリ152に展開しつつ実行する。主メモリ152は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性記憶媒体であり、プロセッサ150によって実行されるOSを含む各種プログラムのコードの他、各種プログラムの実行に必要な各種ワークデータを保持する。ハードディスク154は、不揮発性記憶媒体であり、OSを含む各種プログラムの他、各種設定値などを保持する。など、ハードディスク154に代えて、SSD(Solid State Drive)などを採用することもできる。   The processor 150 is typically an arithmetic processing unit such as a central processing unit (CPU) or a multi processing unit (MPU). The processor 150 reads out various programs including an OS installed in the hard disk 154 and develops them in the main memory 152. While running. The main memory 152 is typically a volatile storage medium such as a DRAM (Dynamic Random Access Memory), and in addition to various program codes including an OS executed by the processor 150, various types of programs necessary for executing the various programs. Holds work data. The hard disk 154 is a nonvolatile storage medium, and holds various setting values in addition to various programs including the OS. For example, an SSD (Solid State Drive) may be employed instead of the hard disk 154.

障害監視モジュール156は、それぞれのコンポーネントの健全性を周期的またはイベント的に監視しており、いずれかのコンポーネントに何らかの障害が発生すると、その障害を他のサーバなどへ通知する。これによって、動作モードが変更されたり、回線またはサーバの切り替え動作が実行されたりする。   The fault monitoring module 156 periodically monitors the health of each component, and when any fault occurs in any component, notifies the fault to another server or the like. As a result, the operation mode is changed, or a line or server switching operation is executed.

ネットワークインターフェイス158および160は、他のサーバや端末装置などとの間の通信に係る処理を実行する。図4には、2つのネットワークインターフェイスを配置して二重化された構成例を示すが、より多くのネットワークインターフェイスを設けてもよい。   The network interfaces 158 and 160 execute processing related to communication with other servers, terminal devices, and the like. Although FIG. 4 shows a configuration example in which two network interfaces are arranged and duplicated, more network interfaces may be provided.

入力部162は、典型的には、キーボードやマウスなどからなり、ユーザからの各種設定や操作を受付ける。   The input unit 162 typically includes a keyboard, a mouse, and the like, and receives various settings and operations from the user.

汎用インターフェイス164は、典型的には、USB(Universal Serial Bus)インターフェイス、RS−232cに従うシリアル通信インターフェイス、パラレル通信インターフェイスなどを含み、外部装置などとの間でデータを遣り取りする。   The general-purpose interface 164 typically includes a USB (Universal Serial Bus) interface, a serial communication interface according to RS-232c, a parallel communication interface, and the like, and exchanges data with an external device or the like.

コネクションブローカ120のハードウェア構成についても、上述の仮想デスクトップ用サーバ110のハードウェア構成と同様であるので、詳細な説明は繰返さない。なお、仮想デスクトップ用サーバ110およびコネクションブローカ120の構成の一部を専用のハードワイヤード回路やロジック回路を用いて実装してもよい。   Since the hardware configuration of connection broker 120 is the same as that of virtual desktop server 110 described above, detailed description will not be repeated. A part of the configuration of the virtual desktop server 110 and the connection broker 120 may be mounted using a dedicated hard wired circuit or a logic circuit.

端末装置210についても、典型的には、汎用的なアーキテクチャに従うコンピューを用いて実現される。この端末装置210のハードウェア構成についても、図4に示す仮想デスクトップ用サーバ110およびコネクションブローカ120のハードウェア構成と同様であるので、詳細な説明は繰返さない。但し、端末装置210については、仮想デスクトップ用サーバ110およびコネクションブローカ120に比較して、要求される稼働率は高くないので、より簡素なハードウェア構成を採用してもよい。例えば、図4に示す障害監視モジュール156を省略してもよい。   The terminal device 210 is also typically implemented using a computer that follows a general-purpose architecture. Since the hardware configuration of terminal device 210 is the same as the hardware configuration of virtual desktop server 110 and connection broker 120 shown in FIG. 4, detailed description thereof will not be repeated. However, since the required operating rate is not high for the terminal device 210 as compared with the virtual desktop server 110 and the connection broker 120, a simpler hardware configuration may be adopted. For example, the failure monitoring module 156 shown in FIG. 4 may be omitted.

[D.仮想計算機]
次に、サーバ拠点100において用意される仮想計算機116について説明する。
[D. Virtual machine]
Next, the virtual machine 116 prepared at the server base 100 will be described.

(d1:論理的に生成される仮想計算機)
図5は、サーバ拠点100において用意される複数の仮想計算機116を模式的に示した図である。本実施の形態に係る計算機システム1では、端末装置210において、複数種類のクライアント環境(デスクトップ環境)のうち、ユーザが任意に選択したクライアント環境を実現することが可能になっている。なお、以下の説明では、いずれか特定の種類を示す文脈において、「種類」とほぼ同義の用語として「タイプ」と記すこともある。
(D1: Virtual computer generated logically)
FIG. 5 is a diagram schematically showing a plurality of virtual machines 116 prepared at the server base 100. In the computer system 1 according to the present embodiment, the terminal device 210 can realize a client environment arbitrarily selected by the user from among a plurality of types of client environments (desktop environments). In the following description, in the context of any particular type, “type” may be written as a term that is almost synonymous with “type”.

1または複数のサーバ拠点100に配置される1または複数の仮想デスクトップ用サーバ110(より具体的には、物理計算機114で実行される管理部115(図2参照))は、図5(A)に示すように、複数の仮想計算機116を論理的に生成するとともに、それらをホットスタンバイの状態で保持する。ここで、「ホットスタンバイの状態で保持」とは、端末装置210から接続要求(仮想計算機116の割り当て要求)があると、非使用中の状態(free)にある仮想計算機116を即座に割り当てて、利用可能にできる状態を意味する。   One or a plurality of virtual desktop servers 110 (more specifically, a management unit 115 (see FIG. 2) executed by the physical computer 114) arranged in one or a plurality of server bases 100 is shown in FIG. As shown in FIG. 4, a plurality of virtual machines 116 are logically generated and held in a hot standby state. Here, “hold in a hot standby state” means that when there is a connection request from the terminal device 210 (allocation request for the virtual machine 116), the virtual machine 116 that is not in use (free) is immediately assigned. , Means a state that can be made available.

上述したように、複数種類のクライエント環境を提供するために、各種類について、複数の仮想計算機116が用意される。図5(A)には、少なくとも3種類の仮想計算機群116GA,116GB,116GCが用意されている例を示す。すなわち、1または複数の仮想デスクトップ用サーバ110では、初期状態において、Aタイプの複数の仮想計算機116からなる仮想計算機群116GAと、Bタイプの複数の仮想計算機116からなる仮想計算機群116GBと、Cタイプの複数の仮想計算機116からなる仮想計算機群116GCとが論理的に生成される。   As described above, in order to provide a plurality of types of client environments, a plurality of virtual machines 116 are prepared for each type. FIG. 5A shows an example in which at least three types of virtual machine groups 116GA, 116GB, 116GC are prepared. That is, in one or more virtual desktop servers 110, in the initial state, a virtual machine group 116GA composed of a plurality of A type virtual machines 116, a virtual machine group 116GB composed of a plurality of B type virtual machines 116, and C A virtual machine group 116GC composed of a plurality of types of virtual machines 116 is logically generated.

仮想計算機群116GA,116GB,116GCの各々に含まれる仮想計算機116の数は、計算機システム1の規模や用途などに応じて適宜設計される。本実施の形態においては、少なくとも一部の仮想計算機群は、計算機システム1に含まれる端末装置210の総数Nと同数の仮想計算機116からなる。すなわち、図5(A)に示す例では、仮想計算機群116GAはN個のAタイプの仮想計算機116からなり、仮想計算機群116GBはN個のBタイプの仮想計算機116からなり、仮想計算機群116GCはN個のCタイプの仮想計算機116からなる。なお、図5(A)は、説明の便宜上、3種類の仮想計算機群116Gを生成する場合の例を示したが、これに限られることなく、計算機システム1の性能や用途などに応じて、適切な種類数の仮想計算機群116Gを生成すればよい。   The number of virtual machines 116 included in each of the virtual machine groups 116GA, 116GB, and 116GC is appropriately designed according to the scale and usage of the computer system 1. In the present embodiment, at least a part of the virtual computer group includes the same number of virtual computers 116 as the total number N of terminal devices 210 included in the computer system 1. That is, in the example shown in FIG. 5A, the virtual machine group 116GA is composed of N A-type virtual machines 116, the virtual machine group 116GB is composed of N B-type virtual machines 116, and the virtual machine group 116GC. Consists of N C-type virtual machines 116. FIG. 5A shows an example in which three types of virtual computer groups 116G are generated for convenience of explanation. However, the present invention is not limited to this, and depending on the performance and usage of the computer system 1, An appropriate number of virtual machine groups 116G may be generated.

このように、1または複数の仮想デスクトップ用サーバ110(より具体的には、物理計算機114で実行される管理部115(図2参照))は、複数の端末装置210において提供可能なクライアント環境(デスクトップ環境)の種類毎に、複数の端末装置210の総数に応じた数の仮想計算機116からなる仮想計算機の群を論理的に生成するとともに、ホットスタンバイの状態で保持する。   As described above, one or a plurality of virtual desktop servers 110 (more specifically, the management unit 115 (see FIG. 2) executed by the physical computer 114) can be provided by a plurality of terminal devices 210 in a client environment ( For each type of desktop environment), a group of virtual machines including a number of virtual machines 116 corresponding to the total number of the plurality of terminal devices 210 is logically generated and held in a hot standby state.

仮想計算機群116GA,116GB,116GCの各々に含まれる複数の仮想計算機116には、識別情報(典型的には、通し番号)が直接的または間接的に付与されており、接続要求に応じて割り当てられる際には、接続要求に含まれるタイプ指定に合致する仮想計算機群の中から、予め定められた規則に従って最も順位の高い仮想計算機116が選択される。仮想計算機群に含まれる複数の仮想計算機に通し番号が付与されている場合には、最も小さい(若い)番号が付与された仮想計算機116が選択される。   Identification information (typically a serial number) is directly or indirectly assigned to a plurality of virtual machines 116 included in each of the virtual machine groups 116GA, 116GB, and 116GC, and is assigned according to a connection request. In this case, the virtual machine 116 having the highest rank is selected from a group of virtual machines matching the type designation included in the connection request according to a predetermined rule. When serial numbers are assigned to a plurality of virtual machines included in the virtual machine group, the virtual machine 116 to which the smallest (youngest) number is assigned is selected.

このような仮想計算機116の割り当て処理は、コネクションブローカ120によって実行される。すなわち、コネクションブローカ120は、複数の端末装置210のいずれかからの接続要求に応答して、ホットスタンバイの状態で保持されている、当該接続要求に含まれる種類に対応する仮想計算機群116Gのうち、予め定められた規則に従って最も順位の高い仮想計算機116を当該要求元の端末装置に割り当てる。   Such assignment processing of the virtual machine 116 is executed by the connection broker 120. That is, the connection broker 120 responds to a connection request from any of the plurality of terminal devices 210, and is stored in the hot standby state, among the virtual computer group 116G corresponding to the type included in the connection request. In accordance with a predetermined rule, the virtual machine 116 having the highest rank is allocated to the requesting terminal device.

ここで、仮想計算機群に含まれる複数の仮想計算機に通し番号が付与されている場合には、「最も順位の高い」仮想計算機116は、最も番号の小さい(若い)仮想計算機116であるがこれに限られることはない。例えば、論理的に生成されたタイミングが古い順に仮想計算機116を割り当ててもよいし、その逆であってもよい。あるいは、使用頻度の低い順または高い順に仮想計算機116を割り当ててもよい。このように、何らかの「予め定められた規則」に従って、仮想計算機116を割り当てることが好ましい。このような規則的な割り当てを行なうことで、仮想計算機116の割り当ての即時性(応答時間の短縮化)を向上できる。   Here, when serial numbers are assigned to a plurality of virtual machines included in the virtual machine group, the “highest ranked” virtual machine 116 is the virtual machine 116 with the smallest number (youngest). There is no limit. For example, the virtual machines 116 may be assigned in the order of the logically generated timing, or vice versa. Alternatively, the virtual machines 116 may be assigned in ascending order of usage frequency or descending order. As described above, it is preferable to assign the virtual machines 116 according to some “predetermined rule”. By performing such regular assignment, the immediacy of assignment of the virtual machines 116 (reduction in response time) can be improved.

本実施の形態に係る計算機システム1では、複数のサーバ拠点100から端末装置210に対して、複数の仮想計算機116を分散的に提供する。例えば、図5(B)には、サーバ拠点100Aに配置された仮想デスクトップ用サーバ110Aおよびサーバ拠点100Bに配置された仮想デスクトップ用サーバ110Bが図5(A)に示される複数の仮想計算機116を分散的に生成する例を示す。   In the computer system 1 according to the present embodiment, a plurality of virtual computers 116 are provided in a distributed manner from the plurality of server bases 100 to the terminal device 210. For example, in FIG. 5B, the virtual desktop server 110A arranged at the server base 100A and the virtual desktop server 110B arranged at the server base 100B include a plurality of virtual computers 116 shown in FIG. An example of generating in a distributed manner is shown.

一例として、サーバ拠点100Aに配置された仮想デスクトップ用サーバ110Aは、仮想計算機群116GAに含まれる奇数番目の仮想計算機116(仮想計算機116A1,116A3,…)と、仮想計算機群116GBに含まれる奇数番目の仮想計算機116(仮想計算機116B1,116B3,…)と、仮想計算機群116GCに含まれる奇数番目の仮想計算機116(仮想計算機116C1,116C3,…)とを論理的に生成し保持する。一方で、サーバ拠点100Bに配置された仮想デスクトップ用サーバ110Bは、仮想計算機群116GAに含まれる偶数番目の仮想計算機116(仮想計算機116A2,116A4,…)と、仮想計算機群116GBに含まれる偶数番目の仮想計算機116(仮想計算機116B2,116B4,…)と、仮想計算機群116GCに含まれる偶数番目の仮想計算機116(仮想計算機116C2,116C4,…)とを論理的に生成し保持する。   As an example, the virtual desktop server 110A arranged at the server base 100A includes an odd-numbered virtual machine 116 (virtual machines 116A1, 116A3,...) Included in the virtual machine group 116GA and an odd-numbered virtual machine group 116GB. Virtual machines 116 (virtual machines 116B1, 116B3,...) And odd-numbered virtual machines 116 (virtual machines 116C1, 116C3,...) Included in the virtual machine group 116GC are logically generated and held. On the other hand, the virtual desktop server 110B arranged at the server base 100B includes the even-numbered virtual machines 116 (virtual machines 116A2, 116A4,...) Included in the virtual machine group 116GA and the even-numbered virtual machines 116GB included in the virtual machine group 116GB. Virtual machines 116 (virtual machines 116B2, 116B4,...) And even-numbered virtual machines 116 (virtual machines 116C2, 116C4,...) Included in the virtual machine group 116GC are logically generated and held.

なお、図5(B)には、説明の便宜上、2つの仮想デスクトップ用サーバ110が仮想計算機116を分散的に生成および保持する例を示すが、これに限らず、より多くの仮想デスクトップ用サーバ110が分散的に仮想計算機116を生成および保持するようにしてもよい。   FIG. 5B shows an example in which the two virtual desktop servers 110 generate and hold the virtual machines 116 in a distributed manner for convenience of explanation. However, the present invention is not limited to this, and more virtual desktop servers. 110 may generate and hold virtual machines 116 in a distributed manner.

仮想計算機116を論理的に生成および保持する処理は、比較的多くの計算機資源が必要になるが、このように、複数の仮想デスクトップ用サーバ110が仮想計算機116を分散的に生成および保持するという構成を採用することで、それぞれの仮想デスクトップ用サーバ110へのロードが平準化される。それによって、著しい高負荷状態を想定する必要がなくなり、適切なスペックの仮想デスクトップ用サーバ110を導入できる。   The process of logically generating and holding the virtual machine 116 requires a relatively large amount of computer resources. In this way, a plurality of virtual desktop servers 110 generate and hold the virtual machines 116 in a distributed manner. By adopting the configuration, the load on each virtual desktop server 110 is leveled. Accordingly, it is not necessary to assume a remarkably high load state, and the virtual desktop server 110 having an appropriate specification can be introduced.

なお、割り当て先の端末装置210が配置される運用拠点200に応じて、端末装置210のホストとなる仮想デスクトップ用サーバ110を決定してもよい。例えば、運用拠点200Aに配置される端末装置210A1,210A2に割り当てられた(あるいは、割り当てられる)仮想計算機116については、サーバ拠点100Aに配置された仮想デスクトップ用サーバ110Aにホストさせる。一方で、運用拠点200Bに配置される端末装置210B1,210B2に割り当てられた(あるいは、割り当てられる)仮想計算機116については、サーバ拠点100Bに配置された仮想デスクトップ用サーバ110Bにホストさせる。このように、拠点別に仮想計算機116を生成および保持する仮想デスクトップ用サーバ110を動的に決定することで、計算機資源の利用効率を高めることができるとともに、何らかの障害発生時の耐性を高めることもできる。   Note that the virtual desktop server 110 serving as the host of the terminal device 210 may be determined according to the operation base 200 where the terminal device 210 to which the assignment is made is placed. For example, the virtual computers 116 assigned (or assigned) to the terminal devices 210A1 and 210A2 arranged at the operation base 200A are hosted on the virtual desktop server 110A arranged at the server base 100A. On the other hand, the virtual computers 116 assigned (or assigned) to the terminal devices 210B1 and 210B2 arranged in the operation base 200B are hosted on the virtual desktop server 110B arranged in the server base 100B. As described above, by dynamically determining the virtual desktop server 110 that generates and holds the virtual computer 116 for each base, it is possible to increase the utilization efficiency of the computer resources and also increase the tolerance when a failure occurs. it can.

この場合には、それぞれの運用拠点200に配置される端末装置210のそれぞれに割り当てるために用意する仮想計算機116を互いに同数(均等に)用意しておくことが好ましい。   In this case, it is preferable to prepare the same number (evenly) of virtual machines 116 to be prepared for allocation to each of the terminal devices 210 arranged at each operation base 200.

なお、後述するように、いずれかの仮想デスクトップ用サーバ110に障害が発生してサービスを継続することができなくなると、他の仮想デスクトップ用サーバ110がそれを引き継いでサービスを継続することになる。この場合、ある仮想デスクトップ用サーバ110がホストしていた仮想計算機116は、他の仮想デスクトップ用サーバ110がホストすることになる。このような仮想デスクトップ用サーバ110の切り替えが発生した場合であっても、多数の仮想計算機116を短時間で利用可能にする必要がある。そのため、それぞれの仮想デスクトップ用サーバ110には、負荷分散装置(ロードバランサ)を用いた負荷分散方式が実装され、特定の仮想デスクトップ用サーバ110に仮想計算機116の論理的な生成の処理が集中しないようにして、より短時間での切り替えを実現することが好ましい。   As will be described later, when a failure occurs in one of the virtual desktop servers 110 and the service cannot be continued, the other virtual desktop server 110 takes over the service and continues the service. . In this case, the virtual computer 116 hosted by a certain virtual desktop server 110 is hosted by another virtual desktop server 110. Even when such switching of the virtual desktop server 110 occurs, it is necessary to make a large number of virtual machines 116 available in a short time. Therefore, each virtual desktop server 110 is implemented with a load balancing method using a load balancer (load balancer), and the logical generation processing of the virtual computer 116 is not concentrated on the specific virtual desktop server 110. Thus, it is preferable to realize switching in a shorter time.

(d2:仮想計算機の種類)
次に、仮想計算機116の種類の一例について説明する。本実施の形態に係る計算機システム1においては、複数種類の仮想計算機116を論理的に生成することができる。例えば、仮想計算機116が実行するOS118(ゲストOS)としては、仮想デスクトップ用サーバ110で実行される物理計算機114のOS112(ホストOS)とは異なる、任意の種類のOSを採用できる。
(D2: type of virtual machine)
Next, an example of the type of virtual machine 116 will be described. In the computer system 1 according to the present embodiment, a plurality of types of virtual machines 116 can be logically generated. For example, as the OS 118 (guest OS) executed by the virtual computer 116, any type of OS different from the OS 112 (host OS) of the physical computer 114 executed by the virtual desktop server 110 can be adopted.

例えば、OS118(ゲストOS)としては、Microsoft Windows(登録商標)のいずれかのバージョン、Linux(登録商標)、Mac OS(登録商標)のいずれかのバージョン、などを採用できる。すなわち、仮想計算機116の種類は、実行されるOSの種類に依存する。   For example, as the OS 118 (guest OS), any version of Microsoft Windows (registered trademark), any version of Linux (registered trademark), Mac OS (registered trademark), or the like can be adopted. In other words, the type of virtual machine 116 depends on the type of OS to be executed.

また、同一のOSであっても、実行環境に係るパラメータを異ならせることで、複数の種類の仮想計算機116を論理的に生成することができる。このようなパラメータとしては、例えば、以下のようなものが挙げられる。   Even in the same OS, it is possible to logically generate a plurality of types of virtual machines 116 by changing parameters related to the execution environment. Examples of such parameters include the following.

・CPUの占有可能な最大負荷率
・使用可能なCPUの数
・メモリの占有可能な最大容量
・メモリの初期使用サイズ
・OSモード(例えば、現行バージョンの表示態様と旧バージョンの表示態様とを選択できる場合)
・画面の更新頻度
・実行可能なアプリケーションの種類
・アプリケーションのコードの制御対象に対する操作権限の種類
なお、一部のパラメータは固定値としておき、残りのパラメータは、仮想デスクトップ用サーバ110での利用可能な計算機資源などに応じて、動的に変更してもよい。例えば、生成された仮想計算機116のうち非使用中の一部の仮想計算機116について、「メモリの占有可能な最大容量」を制限するように変更してもよい。すなわち、本明細書において、「仮想計算機116の種類」とは、OS種別、利用可能な計算機資源、利用可能なアプリケーション、設定されたパラメータなどに応じたバリエーションを意味する。
-Maximum load factor that can be occupied by CPU-Number of CPUs that can be used-Maximum capacity that can be occupied by memory-Initial use size of memory-Select OS mode (for example, display mode of current version and display mode of old version) If possible)
-Screen update frequency-Executable application types-Operation authority types for application code control targets Some parameters are fixed, and the remaining parameters are available on the virtual desktop server 110 It may be changed dynamically according to various computer resources. For example, a part of the virtual machines 116 that are not used among the generated virtual machines 116 may be changed so as to limit the “maximum memory capacity”. That is, in this specification, “type of virtual machine 116” means a variation according to the OS type, available computer resources, available application, set parameters, and the like.

仮想計算機116の種類(タイプ)については、ユーザが任意に選択するようにしてもよい。あるいは、ユーザ種別(例えば、一般ユーザ、管理者ユーザ、メンテナンスユーザの区分)と仮想計算機116の種類とを予め対応付けしておき、ログインしたユーザのユーザ種別に応じて、対応する種類の仮想計算機116を自動的に提供するようにしてもよい。あるいは、ユーザの年齢・性別・職制・端末装置210の固有情報(配置されてい位置や拠点など)に応じて、動的または静的に仮想計算機116の種類を決定してもよい。   The type (type) of the virtual computer 116 may be arbitrarily selected by the user. Alternatively, a user type (for example, a general user, an administrator user, and a maintenance user) is associated with a type of the virtual computer 116 in advance, and a corresponding type of virtual computer is set according to the user type of the logged-in user. 116 may be provided automatically. Alternatively, the type of the virtual computer 116 may be determined dynamically or statically according to the user's age, sex, job system, and specific information of the terminal device 210 (position, location, base, etc.).

さらに、ユーザ種別に割り当てられる、制御対象のうちの操作可能な範囲、または、操作可能な内容、に応じた種類の仮想計算機116を提供するようにしてもよい。本明細書において、制御対象に対する操作権限とは、計算機システム1が管理する制御対象のうち、各ユーザに対して付与されている制御対象の範囲または種類などを意味する。制御対象に対する操作権限が異なるとは、あるユーザに対して付与されている制御対象の範囲または種類が、他のユーザに対して付与されている制御対象の範囲または種類とは異なることを意味する。   Furthermore, a virtual computer 116 of a type corresponding to the operable range or the operable content of the control target assigned to the user type may be provided. In this specification, the operation authority with respect to the control target means the range or type of the control target given to each user among the control targets managed by the computer system 1. The operation authority for the control target is different means that the range or type of the control target given to a certain user is different from the range or type of the control target given to another user. .

図6は、本実施の形態に係る計算機システム1において端末装置210上で提供される仮想デスクトップ画面の一例を示す図である。図6(A)に表示される仮想デスクトップ画面2107と、図6(B)に表示される仮想デスクトップ画面2108とを比較すると、下部に表示されるアイコンなどが異なっている。また、仮想デスクトップ画面2107では、2つのアプリケーション2107Aおよび2107Bが実行中になっており、仮想デスクトップ画面2108では、1つのアプリケーション2108Aが実行中になっている。   FIG. 6 is a diagram showing an example of a virtual desktop screen provided on the terminal device 210 in the computer system 1 according to the present embodiment. When the virtual desktop screen 2107 displayed in FIG. 6A is compared with the virtual desktop screen 2108 displayed in FIG. 6B, the icons and the like displayed at the bottom are different. On the virtual desktop screen 2107, two applications 2107A and 2107B are being executed, and on the virtual desktop screen 2108, one application 2108A is being executed.

図6に示す2つの仮想デスクトップ画面はあくまでも一例であるが、本実施の形態に係る計算機システム1は、多様な種類の仮想計算機116(仮想デスクトップ画面)を容易に提供することができる。   The two virtual desktop screens shown in FIG. 6 are merely examples, but the computer system 1 according to the present embodiment can easily provide various types of virtual computers 116 (virtual desktop screens).

このような複数種類の仮想計算機116を予め用意しておくことで、端末装置210からの接続要求を受けたときに、その接続要求に含まれるタイプ指定に応じた種類の仮想計算機116を迅速に提供することができる。   By preparing such a plurality of types of virtual machines 116 in advance, when receiving a connection request from the terminal device 210, the types of virtual machines 116 corresponding to the type designation included in the connection request can be quickly found. Can be provided.

(d3:仮想計算機の生成手法)
上述したように、本実施の形態に係る計算機システム1では、複数の仮想デスクトップ用サーバ110の間で分散して、複数の仮想計算機116を論理的に生成および保持するので、共通のソフトウェアを集中管理するという方式を採用する。
(D3: Virtual computer generation method)
As described above, in the computer system 1 according to the present embodiment, a plurality of virtual computers 116 are logically generated and held among the plurality of virtual desktop servers 110, so that common software is concentrated. Adopt a management method.

図7は、本実施の形態に係る計算機システム1における仮想計算機116の生成方法を説明するための模式図である。図7を参照して、仮想デスクトップ用サーバ110は、ゲスト共通部1180とゲスト固有部1181〜1184とから、それぞれの仮想計算機116を生成する。   FIG. 7 is a schematic diagram for explaining a generation method of the virtual computer 116 in the computer system 1 according to the present embodiment. With reference to FIG. 7, the virtual desktop server 110 generates each virtual computer 116 from the guest common unit 1180 and the guest specific units 1181 to 1184.

仮想デスクトップ用サーバ110では多くのサーバ資源を必要とするため、マスタとなる仮想計算機(ゲスト共通部1180)を基本として、複数種類に派生させる方式を採用する。より具体的には、図7に示す例では、ゲスト共通部1180およびゲスト固有部1181から仮想計算機116Aが生成される。また、ゲスト共通部1180およびゲスト固有部1181から仮想計算機116Bが生成される。また、ゲスト共通部1180およびゲスト固有部1181から仮想計算機116Cが生成される。また、ゲスト共通部1180およびゲスト固有部1181から仮想計算機116Dが生成される。   Since the virtual desktop server 110 requires a large amount of server resources, a method of deriving into a plurality of types is adopted on the basis of the master virtual machine (guest common unit 1180). More specifically, in the example illustrated in FIG. 7, the virtual computer 116 </ b> A is generated from the guest common unit 1180 and the guest specific unit 1181. Further, the virtual machine 116B is generated from the guest common unit 1180 and the guest specific unit 1181. In addition, a virtual computer 116C is generated from the guest common unit 1180 and the guest specific unit 1181. Also, a virtual machine 116D is generated from the guest common unit 1180 and the guest specific unit 1181.

すなわち、ゲスト共通部1180およびゲスト固有部1181〜1184は、典型的には、ソースコードまたはオブジェクトコードを含み、これらをプロセッサが読み出して実行することで、多種類の仮想計算機116を生成できる。   In other words, the guest common unit 1180 and the guest specific units 1181 to 1184 typically include source code or object code, which can be generated and read out by a processor to generate a variety of virtual machines 116.

ゲスト共通部1180は、典型的には、仮想計算機116を実現するOS118(ゲストOS)が格納されている。これに対して、ゲスト固有部1181〜1184は、典型的には、OS118(ゲストOS)で実行される各種アプリケーションのコードが格納されている。このように、仮想デスクトップ用サーバ110は、仮想計算機群に共通のコード(ゲスト共通部1180)と、仮想計算機群の各種類に固有のコード(ゲスト固有部1181〜1184)とを用いて、種類別に仮想計算機群をそれぞれ生成する。   The guest common unit 1180 typically stores an OS 118 (guest OS) that implements the virtual machine 116. In contrast, the guest specific units 1181 to 1184 typically store codes for various applications executed by the OS 118 (guest OS). As described above, the virtual desktop server 110 uses the code common to the virtual machine group (guest common unit 1180) and the code specific to each type of the virtual machine group (guest specific part 1181 to 1184). Separately, a virtual machine group is generated.

図7には、ゲスト共通部1180とゲスト固有部1181〜1184のうち1つとから、仮想計算機116が生成される処理例を示すが、ゲスト共通部1180と複数のゲスト固有部とから仮想計算機116を生成してもよい。例えば、図6(A)に示すように、2つのアプリケーション2107Aおよび2107Bが実行される場合には、それぞれのアプリケーションのコードを別々のゲスト固有部に格納しておくこともできる。そして、仮想計算機116を生成する際には、それぞれのアプリケーションが格納された2つのゲスト固有部を読出すことで、仮想デスクトップ画面2107を提供できる。   FIG. 7 shows a processing example in which the virtual computer 116 is generated from the guest common unit 1180 and one of the guest specific units 1181 to 1184. The virtual computer 116 is generated from the guest common unit 1180 and a plurality of guest specific units. May be generated. For example, as shown in FIG. 6A, when two applications 2107A and 2107B are executed, the codes of the respective applications can be stored in separate guest specific parts. When the virtual computer 116 is generated, the virtual desktop screen 2107 can be provided by reading out the two guest specific parts in which the respective applications are stored.

さらに、ゲスト共通部1180は、読み取り専用属性(Read Only)に設定されている。すなわち、仮想計算機116の種類などに依存することなく、固有のパラメータなどが設定された状態になっている。これに対して、ゲスト固有部1181〜1184は、編集可能属性(Read/Write)に設定されている。すなわち、状況などに応じて、必要に応じて内容が変更される。   Furthermore, the guest common unit 1180 is set to a read-only attribute (Read Only). That is, a unique parameter or the like is set without depending on the type of the virtual machine 116 or the like. On the other hand, the guest specific parts 1181 to 1184 are set to editable attributes (Read / Write). That is, the contents are changed as necessary according to the situation.

このような構成を採用することで、複数の仮想計算機116間で共有可能なコードについては、読み取り専用属性を設定してマスターディスク化する一方で、ゲスト固有部1181〜1184に関連して、書き込みを行なうファイルやディレクトリを別の格納領域に分離させることができる。このような2種類の属性の異なる部分を用いることで、実現されるソフトウェアの実態は1つであっても、複数のゲストOSを起動させることが可能となり、ソフトウェアの更新などの保守性を向上させることができる。また、仮想計算機116を実現するための共通部分を共有化するで、ディスク資源の使用量を削減できる。すなわち、本実施の形態に係る計算機システム1では、仮想計算機116のマスタの情報を基礎として、それぞれの仮想計算機116へ展開することにより、ソフトウェアの更新作業量を低減するとともに、各仮想計算機116用の生成に必要なコードの共通部分を共有することによりディスク資源を削減できる。   By adopting such a configuration, a code that can be shared among a plurality of virtual machines 116 is set as a master disk by setting a read-only attribute, while being written in relation to the guest specific units 1181 to 1184. Can be separated into separate storage areas. By using these two different types of attributes, it is possible to start multiple guest OSes even if there is only one actual software, improving maintainability such as software updates. Can be made. Further, by sharing a common part for realizing the virtual computer 116, the amount of disk resource used can be reduced. That is, in the computer system 1 according to the present embodiment, the amount of software update work is reduced by deploying to each virtual computer 116 based on the information of the master of the virtual computer 116, and for each virtual computer 116. Disk resources can be reduced by sharing common parts of the code required to generate

図7に示すような構成を採用することで、仮想計算機群の単位で、実行するゲストOS、ゲストOSで実行される各種アプリケーションのコード、アプリケーションのコードの制御対象に対する操作権限を任意に組み合わせることができる。そのため、ある仮想計算機群と他の仮想計算機群との間では、実行するゲストOSは同一であるが、アプリケーションのコードの制御対象に対する操作権限が異なる場合や、その逆に、実行するゲストOSは異なるが、アプリケーションのコードの制御対象に対する操作権限は同一である場合などが生じ得る。   By adopting the configuration as shown in FIG. 7, the guest OS to be executed, the code of various applications executed by the guest OS, and the operation authority for the control target of the application code can be arbitrarily combined in units of virtual machines. Can do. For this reason, the guest OS to be executed is the same between a certain virtual machine group and another virtual machine group, but when the operation authority for the control target of the application code is different, or conversely, the guest OS to be executed is Although different, the operation authority with respect to the control object of the code of an application may be the same.

図8は、本実施の形態に係る計算機システム1が提供する仮想計算機群の構成例を示す模式図である。図8には、一例として、5種類の仮想計算機群116G1〜116G5が生成および保持されている状態を示す。   FIG. 8 is a schematic diagram illustrating a configuration example of a virtual computer group provided by the computer system 1 according to the present embodiment. FIG. 8 shows a state where five types of virtual computer groups 116G1 to 116G5 are generated and held as an example.

仮想デスクトップ用サーバ110の各々は、図8に示すように、ホストOS上に、ゲストOSと当該ゲストOS上で実行するアプリケーションのコードとの組み合わせが互いに異なる複数種類の仮想計算機を予め生成し、それら生成した仮想計算機をホットスタンバイの状態で保持する。   As shown in FIG. 8, each of the virtual desktop servers 110 generates, in advance, a plurality of types of virtual machines having different combinations of the guest OS and the application code executed on the guest OS on the host OS, The generated virtual machines are held in a hot standby state.

仮想計算機群116G1に含まれる各仮想計算機では、AタイプのゲストOSが実行されており、当該ゲストOS上では、Aタイプの操作権限が付与されているアプリケーションが実行されているとする。仮想計算機群116G2に含まれる各仮想計算機では、AタイプのゲストOSが実行されており、当該ゲストOS上では、Bタイプの操作権限が付与されているアプリケーションが実行されているとする。仮想計算機群116G3に含まれる各仮想計算機では、BタイプのゲストOSが実行されており、当該ゲストOS上では、Aタイプの操作権限が付与されているアプリケーションが実行されているとする。仮想計算機群116G4に含まれる各仮想計算機では、BタイプのゲストOSが実行されており、当該ゲストOS上では、Bタイプの操作権限が付与されているアプリケーションが実行されているとする。仮想計算機群116G5に含まれる各仮想計算機では、BタイプのゲストOSが実行されており、当該ゲストOS上では、Cタイプの操作権限が付与されているアプリケーションが実行されているとする。   It is assumed that an A type guest OS is executed in each virtual machine included in the virtual machine group 116G1, and an application to which an A type operation authority is granted is executed on the guest OS. In each virtual machine included in the virtual machine group 116G2, it is assumed that an A-type guest OS is executed, and an application to which a B-type operation authority is granted is executed on the guest OS. In each virtual machine included in the virtual machine group 116G3, a B-type guest OS is executed, and an application to which an A-type operation authority is granted is executed on the guest OS. In each virtual machine included in the virtual machine group 116G4, a B-type guest OS is executed, and an application to which a B-type operation authority is granted is executed on the guest OS. In each virtual machine included in the virtual machine group 116G5, a B type guest OS is executed, and an application to which a C type operation authority is granted is executed on the guest OS.

コネクションブローカ120の各々は、端末装置210から仮想計算機への接続要求を受信した場合に、当該接続要求に含まれる、当該端末装置に提供すべきクライアント環境(デスクトップ環境)の種類に関する情報に基づいて、ホットスタンバイの状態で保持されている複数種類の仮想計算機の中から、当該端末装置210に提供すべきクライアント環境を有する仮想計算機を選択する。そして、コネクションブローカ120の各々は、選択した仮想計算機と端末装置210との接続を仮想デスクトップ用サーバ110に対して指示する。   When each connection broker 120 receives a connection request from the terminal device 210 to the virtual machine, each of the connection brokers 120 is based on information regarding the type of client environment (desktop environment) to be provided to the terminal device, which is included in the connection request. A virtual machine having a client environment to be provided to the terminal device 210 is selected from a plurality of types of virtual machines held in the hot standby state. Each of the connection brokers 120 instructs the virtual desktop server 110 to connect the selected virtual machine and the terminal device 210.

ホットスタンバイの状態で保持されている仮想計算機の群は、それぞれの仮想計算機が実行するゲストOS、および、ゲストOS上で実行されるアプリケーションのコードの制御対象に対する操作権限、の少なくとも一方が互いに異なる。   The groups of virtual machines held in the hot standby state are different from each other in at least one of the guest OS executed by each virtual machine and the operation authority for the control target of the code of the application executed on the guest OS. .

すなわち、図8に示すように、仮想デスクトップ用サーバ110がホットスタンバイの状態で保持する複数種類の仮想計算機は、実行するゲストOSが互いに異なる複数の仮想計算機(例えば、仮想計算機群116G1,116G2と仮想計算機群116G3〜116G5)、および/または、実行するアプリケーションのコードの制御対象に対する操作権限が互いに異なる複数の仮想計算機(例えば、仮想計算機群116G1,116G3と仮想計算機群116G2,116G4)を含む。   That is, as shown in FIG. 8, the virtual desktop server 110 holds a plurality of types of virtual machines in a hot standby state, and a plurality of virtual machines (for example, virtual machine groups 116G1 and 116G2) that execute different guest OSes. Virtual computer groups 116G3 to 116G5) and / or a plurality of virtual machines (for example, the virtual machine groups 116G1 and 116G3 and the virtual machine groups 116G2 and 116G4) having different operation authorities for the control target of the code of the application to be executed.

ここで、仮想デスクトップ用サーバ110がホットスタンバイの状態で保持する複数種類の仮想計算機は、実行するゲストOSが互いに同一である複数の仮想計算機(例えば、仮想計算機群116G1と仮想計算機群116G2)、および/または、実行するアプリケーションのコードが互いに同一である複数の仮想計算機(例えば、仮想計算機群116G1と仮想計算機群116G3)を含む。このような互いに同一であるゲストOSまたは互いに同一であるアプリケーションのコードは、図7に示すように、共通の記憶部に記憶されたソースコードまたはオブジェクトコードを読み出して実行される。   Here, a plurality of types of virtual machines held by the virtual desktop server 110 in a hot standby state are a plurality of virtual machines (for example, a virtual machine group 116G1 and a virtual machine group 116G2) having the same guest OS to be executed, And / or a plurality of virtual machines (for example, a virtual machine group 116G1 and a virtual machine group 116G3) having the same application code to be executed. As shown in FIG. 7, the code of the guest OS or the application that is the same as each other is executed by reading the source code or the object code stored in the common storage unit.

(d4:仮想計算機の状態管理)
本実施の形態に係る計算機システム1では、仮想計算機116をホストする仮想デスクトップ用サーバ110にて各仮想計算機116の状態を管理する機能が実装される。後述するように、コネクションブローカ120は、端末装置210からの接続要求を受信すると、仮想デスクトップ用サーバ110に要求して仮想計算機116の状態を確認する。仮想計算機116の状態としては、主として、非使用中(free)および使用中(busy)である。
(D4: virtual machine status management)
In the computer system 1 according to the present embodiment, a function for managing the state of each virtual computer 116 is implemented in the virtual desktop server 110 that hosts the virtual computer 116. As will be described later, when the connection broker 120 receives a connection request from the terminal device 210, the connection broker 120 requests the virtual desktop server 110 to check the state of the virtual computer 116. The state of the virtual computer 116 is mainly not in use (free) and in use (busy).

図9は、本実施の形態に係る計算機システム1における仮想計算機116の状態管理を説明するための模式図である。図9に示すような、それぞれの仮想計算機116の状態を管理する情報は、典型的には、コネクションブローカ120上の記憶領域にデータベースやファイルなどの形で格納される。但し、格納場所および格納形態については、何ら限定されることなく、ソフトウェアおよびハードウェア上の制限内で、任意に設計できる。また、図9には、仮想計算機116の状態を模式的に示し、図9に示される模式図の形で、コネクションブローカ120上に保持されるわけではない。   FIG. 9 is a schematic diagram for explaining state management of the virtual computer 116 in the computer system 1 according to the present embodiment. Information for managing the state of each virtual machine 116 as shown in FIG. 9 is typically stored in a storage area on the connection broker 120 in the form of a database or a file. However, the storage location and storage form are not limited in any way, and can be arbitrarily designed within the limits on software and hardware. Further, FIG. 9 schematically shows the state of the virtual machine 116 and is not held on the connection broker 120 in the form of the schematic diagram shown in FIG.

図9を参照して、コネクションブローカ120は、仮想計算機116が起動されると、その状態を初期化して非使用中(free)に移行させる。そして、いずれかの端末装置210に対して、仮想計算機116を割り当てると、その割り当てた仮想計算機116の状態を使用中(busy)に移行させる。   Referring to FIG. 9, when the virtual machine 116 is activated, the connection broker 120 initializes its state and shifts it to a non-use state (free). Then, when the virtual computer 116 is assigned to any one of the terminal devices 210, the state of the assigned virtual computer 116 is shifted to busy.

仮想デスクトップ用サーバ110で論理的に生成された仮想計算機116のセッション管理部1166が仮想計算機116のセッションを管理する。具体的には、コネクションブローカ120による問合せに対して、仮想計算機116のセッション管理部1166が仮想計算機116の現在の利用状況を応答する。それぞれの仮想計算機116(セッション管理部1166)からの応答は、コネクションブローカ120で受信される。そして、コネクションブローカ120の仮想クライアント割り当て処理部128が、それぞれの応答に基づいて、図9に示すようなそれぞれの仮想計算機116の利用状況を逐次更新する。   A session management unit 1166 of the virtual machine 116 logically generated by the virtual desktop server 110 manages the session of the virtual machine 116. Specifically, the session management unit 1166 of the virtual machine 116 responds to the inquiry from the connection broker 120 with the current usage status of the virtual machine 116. Responses from the respective virtual machines 116 (session management unit 1166) are received by the connection broker 120. Then, the virtual client allocation processing unit 128 of the connection broker 120 sequentially updates the usage status of each virtual computer 116 as shown in FIG. 9 based on each response.

仮想計算機116のセッション管理部1166は、仮想計算機116の死活を仮想クライアント割り当て処理部128へ通知する。すなわち、仮想計算機116が正常に動作しているか否かを応答する。   The session management unit 1166 of the virtual computer 116 notifies the virtual client allocation processing unit 128 of the life and death of the virtual computer 116. That is, it responds whether or not the virtual machine 116 is operating normally.

図8に示すような仮想計算機116の状態を含む情報は、割り当て情報1282(図15参照のこと)として、コネクションブローカ120の間で共有される。割り当て情報1282の共有処理は、コネクションブローカ120のデータミラー処理部124(図2)によって実現される。   Information including the state of the virtual machine 116 as shown in FIG. 8 is shared among the connection brokers 120 as allocation information 1282 (see FIG. 15). The sharing process of the allocation information 1282 is realized by the data mirror processing unit 124 (FIG. 2) of the connection broker 120.

割り当て情報1282には、仮想計算機116の状態(使用中/非使用中)に加えて、各仮想計算機116のOS種別、CPU個数、メモリサイズ、実装モードなどの情報を含んでいてもよい。   The allocation information 1282 may include information such as the OS type, the number of CPUs, the memory size, and the mounting mode of each virtual machine 116 in addition to the state of the virtual machine 116 (in use / not in use).

(d5:ホットスタンバイ率)
図5に示すように、本実施の形態に係る計算機システム1では、計算機システム1に含まれる端末装置210の総数Nと同数の仮想計算機からなる。例えば、図5(A)に示される仮想計算機群116GAは、端末装置210の総数Nと同数のAタイプの仮想計算機116を含む。この場合には、仮に、計算機システム1に含まれるすべての端末装置210がAタイプを指定して仮想計算機116に接続したとしても、すべての接続要求に応えることができる。
(D5: Hot standby rate)
As shown in FIG. 5, the computer system 1 according to the present embodiment includes the same number of virtual computers as the total number N of terminal devices 210 included in the computer system 1. For example, the virtual computer group 116GA illustrated in FIG. 5A includes the same number of A-type virtual computers 116 as the total number N of terminal devices 210. In this case, even if all the terminal devices 210 included in the computer system 1 specify the A type and connect to the virtual computer 116, all connection requests can be satisfied.

このように、計算機システム1に含まれるすべての端末装置210の総数に対する、利用可能な仮想計算機116の数を「ホットスタンバイ率」と定義する。端末装置210の総数Nと同数のAタイプの仮想計算機116からなる仮想計算機群116GAについては、ホットスタンバイ率は「100%」となる。   As described above, the number of available virtual machines 116 with respect to the total number of all the terminal devices 210 included in the computer system 1 is defined as a “hot standby rate”. For the virtual machine group 116GA composed of A type virtual machines 116 of the same number as the total number N of terminal devices 210, the hot standby rate is “100%”.

このホットスタンバイ率については、ある種類の仮想計算機群116Gについては、100%であることが好ましいが、別の種類については、100%である必要もない場合がある。例えば、上述したような、「一般ユーザ」や「管理ユーザ」としてログインした場合に提供される種類の仮想計算機116については、比較的使用頻度が高いため、ホットスタンバイ率は「100%」であることが好ましい。   The hot standby rate is preferably 100% for a certain type of virtual machine group 116G, but may not be 100% for another type. For example, since the virtual computer 116 of the type provided when logging in as a “general user” or “administrative user” as described above is relatively frequently used, the hot standby rate is “100%”. It is preferable.

これに対して、「メンテナンスユーザ」としてログインした場合に提供される種類の仮想計算機116については、同時に利用される可能性は低いので、ホットスタンバイ率は「100%」である必要は必ずしもない。   On the other hand, the virtual computer 116 of the type provided when logging in as a “maintenance user” is unlikely to be used at the same time, so the hot standby rate is not necessarily “100%”.

例えば、提供される仮想計算機116の種類、要求頻度、重要性などに応じて、以下の表のようにホットスタンバイ率を決定してもよい。   For example, the hot standby rate may be determined as shown in the following table in accordance with the type of virtual machine 116 to be provided, the request frequency, importance, and the like.

Figure 2017027504
Figure 2017027504

すなわち、仮想デスクトップ用サーバ110がホットスタンバイの状態で保持する複数種類の仮想計算機の数は、アプリケーションのコードの制御対象に対する操作権限が同一である仮想計算機の群毎に異なっていてもよい。また、一般ユーザ、管理者ユーザ、メンテナンスユーザのそれぞれに、制御対象に対する操作権限が異なるアプリケーションコードを実行する仮想計算機を、割り当ててもよい。   That is, the number of virtual machines of a plurality of types that the virtual desktop server 110 holds in the hot standby state may be different for each group of virtual machines having the same operation authority for the control target of the application code. Moreover, you may assign the virtual machine which performs the application code from which the operation authority with respect to a control object differs to each of a general user, an administrator user, and a maintenance user.

コネクションブローカ120は、端末装置210からユーザの識別子(ユーザ名)を含む接続要求を受信し、そのユーザの識別子と予め記憶している任意のテーブルとから当該接続要求の送信元に提供すべきクライアント環境の種類を特定してもよい。この場合、端末装置210から送信されるクライアント環境の種類に関する情報は、端末装置210に入力されるユーザの識別子を含む。一方、コネクションブローカ120は、ユーザの識別子に基づいて端末装置210に提供すべきクライアント環境を選択する。   The connection broker 120 receives a connection request including a user identifier (user name) from the terminal device 210, and provides a client to be provided to the transmission source of the connection request from the user identifier and an arbitrary table stored in advance. The type of environment may be specified. In this case, the information regarding the type of client environment transmitted from the terminal device 210 includes a user identifier input to the terminal device 210. On the other hand, the connection broker 120 selects a client environment to be provided to the terminal device 210 based on the user identifier.

なお、同一の制御対象に対し、同一の操作権限を有するアプリケーションを、ユーザの好みに応じて異なるゲストOSの環境下で提供してもよい。この場合には、仮想デスクトップ用サーバ110がホットスタンバイの状態で保持する複数種類の仮想計算機は、実行するゲストOSが互いに異なるとともに、実行するアプリケーションのコードの制御対象および前記アプリケーションのコードの当該制御対象に対する操作権限がいずれも同一であってもよい(図8など参照)。   In addition, you may provide the application which has the same operation authority with respect to the same control object in the environment of a different guest OS according to a user preference. In this case, the plurality of types of virtual machines held in the hot standby state by the virtual desktop server 110 have different guest OSs to be executed, the control target of the code of the application to be executed, and the control of the code of the application. The operation authority for the target may be the same (see FIG. 8 and the like).

サーバ拠点100に配置される仮想デスクトップ用サーバ110の計算機資源の制約などを考慮して、ホットスタンバイ率を動的に変更してもよい。この場合、物理計算機114で実行される管理部115(図2参照)が、生成および保持される仮想計算機116の種類および数を適宜変更する。   The hot standby rate may be dynamically changed in consideration of the limitation of computer resources of the virtual desktop server 110 arranged at the server base 100. In this case, the management unit 115 (see FIG. 2) executed by the physical computer 114 appropriately changes the type and number of virtual computers 116 that are generated and held.

例えば、複数の端末装置210において提供可能なクライアント環境の種類間の優先順位に応じて、仮想計算機群にそれぞれ含ませる仮想計算機116の数を決定してもよい。すなわち、使用頻度(要求頻度)が相対的に高い種類の仮想計算機116については、可能な限りホットスタンバイ率を「100%」に維持する一方で、使用頻度(要求頻度)が相対的に低い種類の仮想計算機116については、ホットスタンバイ率を「100%」未満にしてもよい。   For example, the number of virtual machines 116 to be included in the virtual machine group may be determined according to the priority order between the types of client environments that can be provided by the plurality of terminal apparatuses 210. That is, for the type of virtual machine 116 having a relatively high use frequency (request frequency), the hot standby rate is maintained as “100%” as much as possible, while the type having a relatively low use frequency (request frequency). For the virtual machine 116, the hot standby rate may be less than “100%”.

あるいは、運用拠点200における端末装置210の現状の稼働状態などに基づいて、ホットスタンバイ率を動的に決定してもよい。この場合、物理計算機114で実行される管理部115(図2参照)が、生成および保持される仮想計算機116の種類および数を適宜変更する。   Alternatively, the hot standby rate may be dynamically determined based on the current operating state of the terminal device 210 at the operation base 200. In this case, the management unit 115 (see FIG. 2) executed by the physical computer 114 appropriately changes the type and number of virtual computers 116 that are generated and held.

例えば、複数の端末装置210において提供可能なクライアント環境の種類毎の稼働状況に応じて、仮想計算機群にそれぞれ含ませる仮想計算機116の数を決定してもよい。例えば、ある時点で、計算機システム1に含まれる端末装置210の総数Nの約半数が「一般ユーザ」に対応する種類の仮想計算機116を要求している場合には、さらに「一般ユーザ」に対応する種類の仮想計算機116が要求される潜在性を考慮して、当該種類の仮想計算機116を予め余分に生成しておいてもよい。逆に、「一般ユーザ」に対応する種類の仮想計算機116が既に十分に割り当てられていることを考慮して、他の種類の仮想計算機116を予め余分に生成しておいてもよい。   For example, the number of virtual machines 116 to be included in the virtual machine group may be determined according to the operating status of each type of client environment that can be provided by the plurality of terminal devices 210. For example, when a half of the total number N of terminal devices 210 included in the computer system 1 requests a virtual computer 116 of a type corresponding to “general user” at a certain point in time, it further corresponds to “general user”. In consideration of the potential required for the type of virtual machine 116, an extra number of virtual machines 116 of that type may be generated in advance. Conversely, in consideration of the fact that the types of virtual machines 116 corresponding to “general users” have already been sufficiently allocated, other types of virtual machines 116 may be generated in advance.

なお、本実施の形態に係る計算機システム1において、いずれかの端末装置210から特定の仮想計算機116の割り当てが要求された際に、割り当て可能な(非使用中の)仮想計算機116が残っていない場合には、仮想デスクトップ用サーバ110は、要求された種類の仮想計算機116を新たに生成することができる。つまり、端末装置210からの接続要求に対して即時に応答することはできないものの、対象の仮想計算機116の起動に要する時間だけ待てば、要求された種類の仮想計算機116を提供することができる。そのため、即時性の要求されない種類の仮想計算機116については、ホットスタンバイの状態ではなく、要求があってから起動する、すなわち一種のコールドスタンバイの状態で保持していてもよい。   In the computer system 1 according to the present embodiment, when any terminal device 210 requests the assignment of a specific virtual computer 116, no assignable (unused) virtual computer 116 remains. In this case, the virtual desktop server 110 can newly generate a virtual machine 116 of the requested type. That is, although it is not possible to immediately respond to the connection request from the terminal device 210, it is possible to provide the requested type of virtual machine 116 by waiting for the time required for starting the target virtual machine 116. Therefore, the type of virtual machine 116 that does not require immediacy may be held not in the hot standby state, but started in response to a request, that is, held in a kind of cold standby state.

[E.接続手順]
次に、運用拠点200の端末装置210からの要求に応じて、サーバ拠点100から当該端末装置210に対してクライアント環境が提供される接続手順について説明する。すなわち、複数の仮想計算機116のうち選択された仮想計算機116を端末装置210に割り当てる処理について説明する。
[E. Connection procedure]
Next, a connection procedure in which a client environment is provided from the server base 100 to the terminal device 210 in response to a request from the terminal device 210 of the operation base 200 will be described. That is, a process of assigning a virtual machine 116 selected from the plurality of virtual machines 116 to the terminal device 210 will be described.

(e1:接続処理の概要)
図10は、本実施の形態に係る計算機システム1におけるクライエント環境の提供を開始するための接続処理の手順を示す模式図である。図10には、運用拠点200Aの端末装置210Aがネットワーク2を介して仮想計算機116に接続するまでの概要を示す。
(E1: Overview of connection processing)
FIG. 10 is a schematic diagram showing a procedure of connection processing for starting to provide a client environment in the computer system 1 according to the present embodiment. FIG. 10 shows an outline until the terminal device 210A of the operation base 200A is connected to the virtual machine 116 via the network 2.

図10を参照して、まず、運用拠点200Aに配置されている端末装置210Aからサーバ拠点100Aに配置されているコネクションブローカ120A1に対して、ネットワーク2を介して接続要求が送信される(シーケンスSQ2)。   Referring to FIG. 10, first, a connection request is transmitted via network 2 from terminal apparatus 210A disposed at operation base 200A to connection broker 120A1 disposed at server base 100A (sequence SQ2). ).

接続要求を受信したコネクションブローカ120A1は、仮想計算機116の空き状態を確認するために、仮想デスクトップ用サーバ110Aに対して仮想計算機116の状態確認を要求する(シーケンスSQ4)。仮想デスクトップ用サーバ110Aは、管理している仮想計算機116の状態を確認し、その結果を状態返信としてコネクションブローカ120A1へ返信する(シーケンスSQ6)。コネクションブローカ120A1は、仮想デスクトップ用サーバ110Aからの状態返信に基づいて、利用可能な仮想計算機116のネットワークアドレス(典型的には、IPアドレス)を含む接続先情報を端末装置210Aへ返信する(シーケンスSQ8)。以下の説明では、ネットワークアドレスの典型例であるIPアドレスを用いる場合について説明するが、端末装置210が特定の仮想計算機116に接続できる情報であれば、どのようなネットワークアドレスを用いてもよい。   The connection broker 120A1 that has received the connection request requests the virtual desktop server 110A to check the status of the virtual machine 116 in order to check the availability of the virtual machine 116 (sequence SQ4). The virtual desktop server 110A checks the status of the managed virtual machine 116, and returns the result to the connection broker 120A1 as a status reply (sequence SQ6). Based on the status reply from the virtual desktop server 110A, the connection broker 120A1 returns connection destination information including the network address (typically an IP address) of the available virtual machine 116 to the terminal device 210A (sequence). SQ8). In the following description, a case where an IP address that is a typical example of a network address is used will be described. However, any network address may be used as long as the terminal device 210 can connect to a specific virtual machine 116.

接続先情報を受信した端末装置210は、受信した接続先情報に含まれるIPアドレスに従って、ネットワーク2を介して仮想計算機116と直接接続する(シーケンスSQ10)。   The terminal device 210 that has received the connection destination information directly connects to the virtual machine 116 via the network 2 in accordance with the IP address included in the received connection destination information (sequence SQ10).

図10に示すように、本実施の形態に係る計算機システム1では、コネクションブローカ120は、接続要求(割り当て要求)の要求元の端末装置210に対して、割り当てた仮想計算機116のネットワークアドレス(IPアドレス)を通知する。これに対して、端末装置210は、通知されたネットワークアドレス(IPアドレス)に基づいて、割り当てられた仮想計算機116に接続する。このような構成を採用することで、コネクションブローカ120が接続処理のすべてを担当する場合に比較して、処理の負荷を低減できる。   As shown in FIG. 10, in the computer system 1 according to the present embodiment, the connection broker 120 sends the network address (IP) of the assigned virtual machine 116 to the terminal device 210 that has requested the connection request (allocation request). Address). On the other hand, the terminal device 210 connects to the assigned virtual machine 116 based on the notified network address (IP address). By adopting such a configuration, the processing load can be reduced as compared with the case where the connection broker 120 is in charge of all connection processing.

本実施の形態に係る計算機システム1では、端末装置210と仮想デスクトップ用サーバ110との間でセキュアな通信が可能になっている。より具体的には、セキュアな通信が要求された場合には、仮想計算機116の暗号処理部1162(図3)が、サーバ処理部1164(図3)のポートを端末装置210側にポートフォワーディングする。端末装置210は、サーバ処理部1164によってポートフォワードされたlocalhostに接続する。これによって、端末装置210と仮想デスクトップ用サーバ110との間でセキュアな通信を確立できる。   In the computer system 1 according to the present embodiment, secure communication is possible between the terminal device 210 and the virtual desktop server 110. More specifically, when secure communication is requested, the cryptographic processing unit 1162 (FIG. 3) of the virtual machine 116 port forwards the port of the server processing unit 1164 (FIG. 3) to the terminal device 210 side. . The terminal device 210 connects to localhost port-forwarded by the server processing unit 1164. As a result, secure communication can be established between the terminal device 210 and the virtual desktop server 110.

このような一連の処理によって、端末装置210Aにて仮想計算機116が利用可能になる。   Through such a series of processes, the virtual machine 116 can be used in the terminal device 210A.

(e2:端末装置およびコネクションブローカでの処理手順)
次に、端末装置210にクライエント環境を提供する際の処理手順について説明する。すなわち、端末装置210は、サーバ拠点100に対して接続要求を送信し、サーバ拠点100から割り当てられる仮想計算機116により提供されるクライアント環境(デスクトップ環境)を実行する。
(E2: Processing procedure in terminal device and connection broker)
Next, a processing procedure when providing a client environment to the terminal device 210 will be described. That is, the terminal device 210 transmits a connection request to the server base 100 and executes a client environment (desktop environment) provided by the virtual machine 116 assigned from the server base 100.

図11は、本実施の形態に係る計算機システム1における端末装置210での画面表示例を示す模式図である。図12および図13は、本実施の形態に係る計算機システム1における端末装置210での処理手順を示すフローチャートである。   FIG. 11 is a schematic diagram illustrating a screen display example on the terminal device 210 in the computer system 1 according to the present embodiment. 12 and 13 are flowcharts showing a processing procedure in the terminal device 210 in the computer system 1 according to the present embodiment.

図12および図13に示すS200〜S240は、典型的には、端末装置210のプロセッサが、OS212を含む、暗号処理部214、クライアント処理部216、および接続処理部218に対応するプログラムを実行することで実現される。また、図12および図13に示すS200〜S240は、典型的には、コネクションブローカ120のプロセッサが、OS112を含む、データミラー処理部124、構成制御処理部126、および仮想クライアント割り当て処理部128に対応するプログラムを実行することで実現される。   12 and 13, typically, the processor of the terminal device 210 executes a program corresponding to the encryption processing unit 214, the client processing unit 216, and the connection processing unit 218 including the OS 212. This is realized. 12 and FIG. 13, typically, the processor of the connection broker 120 includes the data mirror processing unit 124, the configuration control processing unit 126, and the virtual client allocation processing unit 128 including the OS 112. This is realized by executing the corresponding program.

図12および図13を参照して、端末装置210は、仮想デスクトップ用サーバ110Aが保持する仮想計算機116を利用するために、まず、いずれかのコネクションブローカ120に接続する。より具体的には、端末装置210は、以下のステップS200〜S208の処理を実行する。   With reference to FIGS. 12 and 13, the terminal device 210 first connects to one of the connection brokers 120 in order to use the virtual computer 116 held by the virtual desktop server 110 </ b> A. More specifically, the terminal device 210 performs the following steps S200 to S208.

端末装置210は、仮想計算機116への新規接続がユーザから指示されたか否かを判断する(ステップS200)。図11(A)に示すように、いずれの仮想計算機116にも接続されていない状態において、端末装置210には、メニュー画面2101が表示される。メニュー画面2101には、典型的には、ユーザ名を入力するフィールド2102、パスワードを入力するフィールド2103、および、デスクトップのタイプを選択するコンボボックス2104が表示されている。ユーザは、これらのフィールド2102,2103に予め決められた文字・数値を入力するとともに、コンボボックス2104から目的のデスクトップのタイプを選択する。   The terminal device 210 determines whether a new connection to the virtual machine 116 has been instructed by the user (step S200). As shown in FIG. 11A, a menu screen 2101 is displayed on the terminal device 210 in a state where it is not connected to any virtual machine 116. The menu screen 2101 typically displays a field 2102 for inputting a user name, a field 2103 for inputting a password, and a combo box 2104 for selecting a desktop type. The user inputs predetermined characters and numerical values in these fields 2102 and 2103 and selects a target desktop type from the combo box 2104.

このようなユーザの入力操作によって、端末装置210では新規接続の要求が内部的に生成される。すなわち、ユーザから入力された新規接続の要求には、タイプ指定が含まれることになる。   By such user input operation, the terminal device 210 internally generates a request for new connection. That is, the type designation is included in the request for new connection input from the user.

仮想計算機116への新規接続がユーザから指示された場合(ステップS200においてYESの場合)には、端末装置210は、サーバ拠点100Aおよび100Bのうちいずれか一方のサーバ拠点に配置されたコネクションブローカ120に接続し(ステップS202)、接続要求の送信先として適切なサーバ拠点であるか否を問い合わせる(ステップS204)。接続要求の送信先として適切なサーバ拠点ではないとの応答を受信すると(ステップS204においてNOの場合)、端末装置210は、もう一方のサーバ拠点100に配置されたコネクションブローカ120に接続し(ステップS206)、接続要求の送信先として適切なサーバ拠点であるか否を問い合わせる(ステップS204)。問合せを受けたコネクションブローカ120は、自装置が属しているサーバ拠点100がマスタである場合には、適切なサーバ拠点である旨を応答し、そうでなければ、適切なサーバ拠点ではない旨を応答する。   When a new connection to the virtual machine 116 is instructed by the user (YES in step S200), the terminal device 210 connects the connection broker 120 arranged at one of the server bases 100A and 100B. (Step S202) and inquires whether the server is an appropriate server base as a connection request transmission destination (step S204). When receiving a response that the server is not an appropriate server base as the connection request transmission destination (NO in step S204), the terminal device 210 connects to the connection broker 120 arranged in the other server base 100 (step S204). S206), an inquiry is made as to whether or not the server base is appropriate as a connection request destination (step S204). The connection broker 120 that has received the inquiry responds that it is an appropriate server base if the server base 100 to which it belongs is a master, and otherwise indicates that it is not an appropriate server base. respond.

より具体的には、コネクションブローカ120は、接続要求の送信先として適切なサーバ拠点であるか否の端末装置210からの問合せを受信する(ステップS100)と、自装置が属するサーバ拠点100がマスタとして機能しているか否かを判断する(ステップS102)。自装置が属するサーバ拠点100がマスタとして機能していれば(ステップS102においてYESの場合)、コネクションブローカ120は、適切なサーバ拠点である旨を応答する(ステップS104)。これに対して、自装置が属するサーバ拠点100がスレーブとして機能していれば(ステップS102においてNOの場合)、コネクションブローカ120は、適切なサーバ拠点ではない旨を応答する(ステップS106)。   More specifically, when the connection broker 120 receives an inquiry from the terminal device 210 as to whether or not the connection request transmission destination is an appropriate server base (step S100), the server base 100 to which the own apparatus belongs becomes the master. It is judged whether it functions as (step S102). If the server base 100 to which the own device belongs functions as a master (in the case of YES in step S102), the connection broker 120 responds that it is an appropriate server base (step S104). On the other hand, if the server base 100 to which the own device belongs functions as a slave (NO in step S102), the connection broker 120 responds that it is not an appropriate server base (step S106).

接続要求の送信先として適切なサーバ拠点であるとの応答を受信すると(ステップS204においてYESの場合)、端末装置210は、当該応答の送信元であるコネクションブローカ120のIPアドレス(通常は、仮想IPアドレス)を内部に格納する(ステップS208)。端末装置210は、これ以降にコネクションブローカ120へ接続する際には、この内部に格納したIPアドレスを用いる。   When receiving a response that the server is an appropriate server base as a connection request transmission destination (in the case of YES in step S204), the terminal device 210 receives the IP address of the connection broker 120 that is the transmission source of the response (usually virtual) (IP address) is stored inside (step S208). The terminal device 210 uses the IP address stored therein when connecting to the connection broker 120 thereafter.

後述するように、サーバ拠点100が被災するなどしてサービスを継続することができなくなった場合には、別のサーバ拠点100がマスタに切り替わるが、この場合には、端末装置210の内部に格納されたIPアドレスに対応するコネクションブローカ120は応答しないことになる。あるいは、接続要求または問合せに対して、適切なサイトではない旨を応答することになる。この場合には、端末装置210は、再度、他方のサーバ拠点100に配置されたコネクションブローカ120に接続し、接続要求の送信先として適切なサーバ拠点であるか否を問い合わせることになる。   As will be described later, when the service cannot be continued because the server base 100 is damaged, another server base 100 is switched to the master. In this case, the server base 100 is stored in the terminal device 210. The connection broker 120 corresponding to the designated IP address does not respond. Alternatively, it responds to the connection request or inquiry that the site is not appropriate. In this case, the terminal device 210 connects again to the connection broker 120 arranged in the other server base 100, and inquires whether the server base is an appropriate server base as a connection request transmission destination.

上述のような処理を採用することで、サーバ拠点100をマスタおよびスレーブの二拠点化したことにより、運用拠点200の端末装置210から誤ってスレーブのサーバ拠点100に接続する場合が想定される。このような場合であっても、コネクションブローカ120が明示的にエラーを返すので、ユーザは、接続先を誤ったことを認識でき、正しいサーバ拠点100を指定することが容易化される。   By adopting the processing as described above, it is assumed that the server base 100 is made into two bases, the master and the slave, so that the terminal device 210 of the operation base 200 connects to the slave server base 100 by mistake. Even in such a case, since the connection broker 120 explicitly returns an error, the user can recognize that the connection destination is wrong, and it is easy to specify the correct server base 100.

以上のような事前処理が完了すると、端末装置210は、当該サーバ拠点に配置されたコネクションブローカ120との間で、仮想計算機116への接続に必要な処理を開始する。すなわち、端末装置210は、仮想計算機116のタイプ指定を含む仮想計算機116への接続要求をコネクションブローカ120へ送信する(ステップS210)。   When the pre-processing as described above is completed, the terminal device 210 starts processing necessary for connection to the virtual machine 116 with the connection broker 120 arranged at the server base. That is, the terminal device 210 transmits a connection request to the virtual machine 116 including the type designation of the virtual machine 116 to the connection broker 120 (step S210).

一方、コネクションブローカ120では、上述するような割り当て処理が行なわれ、割り当てられた仮想計算機116のIPアドレスを含む情報が応答される。より具体的には、コネクションブローカ120は、仮想計算機116への接続要求を端末装置210から受信する(ステップS110)と、受信した接続要求に含まれるタイプ指定に合致し、かつ使用されていない仮想計算機116のうち最も順位の高いものを選択する(ステップS112)。さらに、コネクションブローカ120は、選択された仮想計算機116を実行するホスト計算機である仮想デスクトップ用サーバ110が、正常に動作しているか否かを判断する(ステップS114)。正常に動作していなければ(ステップS114においてNOの場合)、コネクションブローカ120は、次に順位の高い仮想計算機116を選択し(ステップS116)、ステップS114以下の処理を再度実行する。   On the other hand, the connection broker 120 performs the above-described assignment process, and returns information including the assigned virtual machine 116 IP address. More specifically, when the connection broker 120 receives a connection request to the virtual machine 116 from the terminal device 210 (step S110), the connection broker 120 matches the type designation included in the received connection request and is not used. The computer 116 having the highest rank is selected (step S112). Furthermore, the connection broker 120 determines whether or not the virtual desktop server 110 that is a host computer that executes the selected virtual machine 116 is operating normally (step S114). If it is not operating normally (NO in step S114), the connection broker 120 selects the next highest virtual machine 116 (step S116), and executes the processing from step S114 onward again.

正常に動作していれば(ステップS114においてYESの場合)、コネクションブローカ120は、選択した仮想計算機116を使用中(busy)の状態に移行させ(ステップS118)、当該選択した仮想計算機116のIPアドレスを含む情報を端末装置210へ応答する(ステップS120)。   If it is operating normally (YES in step S114), the connection broker 120 shifts the selected virtual machine 116 to the busy state (step S118), and the IP of the selected virtual machine 116 is selected. Information including the address is returned to the terminal device 210 (step S120).

端末装置210は、コネクションブローカ120からの応答を受信すると、当該受信した応答に含まれる仮想計算機116を指定するIPアドレスを取得する(ステップS212)。   Upon receiving the response from the connection broker 120, the terminal device 210 acquires an IP address that designates the virtual computer 116 included in the received response (step S212).

端末装置210は、取得したIPアドレスを有する仮想計算機116に接続するための処理を実行し(ステップS214)、接続するための処理が正常に終了したか否かを判断する(ステップS216)。具体的には、端末装置210の暗号処理部214(図2)は、指定されたIPアドレスを有する仮想計算機116に接続するとともに、接続先の仮想計算機116のサーバ処理部1164は、端末装置210へポートフォワーディングする。端末装置210は、サーバ処理部1164によってポートフォワードされたlocalhostに接続する。クライアント処理部216による接続処理が完了すると、暗号処理部214の終了ステータスが確認される。すなわち、暗号処理部214の終了ステータスが正常終了を示す値であるか否かが判断される。   The terminal device 210 executes a process for connecting to the virtual machine 116 having the acquired IP address (step S214), and determines whether or not the process for connecting has ended normally (step S216). Specifically, the encryption processing unit 214 (FIG. 2) of the terminal device 210 connects to the virtual computer 116 having the designated IP address, and the server processing unit 1164 of the connection destination virtual computer 116 connects to the terminal device 210. Forward to port. The terminal device 210 connects to localhost port-forwarded by the server processing unit 1164. When the connection processing by the client processing unit 216 is completed, the end status of the cryptographic processing unit 214 is confirmed. That is, it is determined whether or not the end status of the cryptographic processing unit 214 is a value indicating normal end.

接続するための処理が正常に終了していなければ(ステップS216においてNOの場合)、端末装置210は、エラーメッセージを画面に表示し(ステップS218)、接続処理は一旦終了する。   If the process for connection has not ended normally (NO in step S216), terminal apparatus 210 displays an error message on the screen (step S218), and the connection process is temporarily ended.

これに対して、接続するための処理が正常に終了していれば(ステップS216においてYESの場合)、端末装置210では、接続先の仮想計算機116の利用が開始される(ステップS220)。   On the other hand, if the process for connection is normally completed (YES in step S216), the terminal device 210 starts using the connection-destination virtual machine 116 (step S220).

その後、仮想計算機116の解放がユーザから指示された場合(ステップS230においてYESの場合)には、端末装置210は、端末装置210のIPアドレスを含む、仮想計算機116の解放要求をコネクションブローカ120へ送信する(ステップS232)。すると、コネクションブローカ120は、解放要求の送信元の端末装置210に対して割り当てていた仮想計算機116の割り当てを解放する。そして、処理は終了する。   Thereafter, when the user instructs the release of the virtual computer 116 (YES in step S230), the terminal device 210 sends a release request for the virtual computer 116 including the IP address of the terminal device 210 to the connection broker 120. Transmit (step S232). Then, the connection broker 120 releases the allocation of the virtual machine 116 that has been allocated to the terminal device 210 that is the transmission source of the release request. Then, the process ends.

より具体的には、コネクションブローカ120は、仮想計算機116の解放要求を端末装置210から受信する(ステップS130)と、使用中の仮想計算機116の中から、解放要求に含まれる端末装置210のIPアドレスに合致するものを検索する(ステップS132)。そして、コネクションブローカ120は、検索条件に合致した仮想計算機116を非使用中の状態(free)に移行させ(ステップS134)、仮想計算機116の割り当ての解放完了を端末装置210へ通知する(ステップS136)。これによって、端末装置210での解放処理が完了する。   More specifically, when the connection broker 120 receives a release request for the virtual computer 116 from the terminal device 210 (step S130), the IP address of the terminal device 210 included in the release request is selected from the virtual computers 116 being used. A search is made for a match with the address (step S132). Then, the connection broker 120 shifts the virtual machine 116 that matches the search condition to a non-use state (free) (step S134), and notifies the terminal device 210 that the allocation of the virtual machine 116 has been released (step S136). ). Thereby, the release process in the terminal device 210 is completed.

この解放された仮想計算機116については、同一または別の端末装置210に対して再度割り当てることができる。このように、端末装置210からの仮想計算機116への接続要求に対し、非使用状態の仮想計算機116を割り当てる。そして、仮想計算機116の使用が終了した場合は、その仮想計算機116を解放し、それ以降に生じる接続要求に対して、それらの解放された仮想計算機116を再割り当てすることができる。そのため、システム資源の利用効率を高めることができる。   The released virtual machine 116 can be reassigned to the same or another terminal device 210. In this way, in response to a connection request from the terminal device 210 to the virtual computer 116, the virtual computer 116 that is not in use is allocated. When the use of the virtual machine 116 is finished, the virtual machine 116 can be released, and those released virtual machines 116 can be reassigned to connection requests that occur thereafter. Therefore, the utilization efficiency of system resources can be increased.

一方、仮想計算機116の解放がユーザから指示されていなければ(ステップS230においてNOの場合)、ステップS220の処理が繰返される。   On the other hand, if the user has not instructed release of virtual machine 116 (NO in step S230), the process of step S220 is repeated.

また、仮想計算機116への新規接続がユーザから指示されていなければ(ステップS200においてNOの場合)には、端末装置210は、仮想計算機116の接続中に何らかの障害により接続が切断され、その後、作業を継続するために再接続の要求がユーザから指示されたか否かを判断する(ステップS240)。作業を継続するために再接続の要求がユーザから指示されていなければ(ステップS240においてNOの場合)、ステップS200以下の処理が繰返される。   If a new connection to the virtual machine 116 is not instructed by the user (NO in step S200), the terminal device 210 is disconnected due to some failure during the connection of the virtual machine 116, and thereafter In order to continue the work, it is determined whether or not a reconnection request is instructed by the user (step S240). If a reconnection request is not instructed by the user to continue the work (NO in step S240), the processing in step S200 and subsequent steps is repeated.

図11(B)に示すように、端末装置210で何らかの仮想計算機116が接続されていた状態の後、何らかの障害が発生して、当該接続が切断された場合などには、端末装置210には、メニュー画面2105が表示される。メニュー画面2105には、典型的には、接続のエラーが発生した旨のメッセージに加えて、再接続を希望するか否かのボタン2106が表示されている。ユーザは、ボタン2106を選択すると、端末装置210では再接続の要求が内部的に生成される。   As shown in FIG. 11B, after a state in which some kind of virtual machine 116 is connected to the terminal device 210, when some kind of failure occurs and the connection is disconnected, the terminal device 210 has A menu screen 2105 is displayed. The menu screen 2105 typically displays a button 2106 indicating whether or not reconnection is desired, in addition to a message indicating that a connection error has occurred. When the user selects the button 2106, the terminal device 210 internally generates a reconnection request.

このように、本実施の形態に係る計算機システム1では、仮想計算機116の使用終了がユーザから明示的に指示された場合に限って、対象の仮想計算機116を解放する。それ以外の場合には、基本的には、端末装置210との間の接続が切断されていたとしても、仮想計算機116を解放せずに維持する。これにより、端末装置210と仮想計算機116との間の接続に何らかの不具合が生じた場合であっても、再接続して途中まで行なっていた操作を継続することができる。   Thus, in the computer system 1 according to the present embodiment, the target virtual machine 116 is released only when the end of use of the virtual machine 116 is explicitly instructed by the user. In other cases, basically, even if the connection with the terminal device 210 is disconnected, the virtual machine 116 is maintained without being released. As a result, even if some trouble occurs in the connection between the terminal device 210 and the virtual machine 116, the operation that has been performed halfway through the reconnection can be continued.

これに対して、作業を継続するために再接続の要求がユーザから指示されていれば(ステップS240においてYESの場合)、端末装置210は、端末装置210のIPアドレスを含む仮想計算機116への再接続要求をコネクションブローカ120へ送信する(ステップS242)。   On the other hand, if a reconnection request is instructed by the user to continue the work (in the case of YES in step S240), the terminal device 210 sends the virtual machine 116 including the IP address of the terminal device 210 to the virtual computer 116. A reconnection request is transmitted to the connection broker 120 (step S242).

コネクションブローカ120では、過去に行なった割り当て処理が検索され、要求元の端末装置210に割り当てられていた仮想計算機116を特定し、その仮想計算機116のIPアドレスを含む情報が応答される。より具体的には、コネクションブローカ120は、仮想計算機116への再接続要求を端末装置210から受信する(ステップS140)と、使用中の仮想計算機116の中から、再接続要求に含まれる端末装置210のIPアドレスに合致するものを検索する(ステップS142)。そして、コネクションブローカ120は、検索条件に合致した仮想計算機116を実行するホスト計算機である仮想デスクトップ用サーバ110が、正常に動作しているか否かを判断する(ステップS144)。正常に動作していなければ(ステップS144においてNOの場合)、コネクションブローカ120は、検索条件に合致した仮想計算機116を非使用中の状態に移行させ(ステップS146)、再接続のエラーを端末装置210へ通知する(ステップS148)。   The connection broker 120 searches for the assignment process performed in the past, identifies the virtual machine 116 assigned to the requesting terminal device 210, and returns information including the IP address of the virtual machine 116. More specifically, when the connection broker 120 receives a reconnection request to the virtual computer 116 from the terminal device 210 (step S140), the terminal device included in the reconnection request from the virtual computers 116 being used. A search is made for a match with the IP address 210 (step S142). Then, the connection broker 120 determines whether or not the virtual desktop server 110 that is a host computer that executes the virtual machine 116 that matches the search condition is operating normally (step S144). If it is not operating normally (in the case of NO in step S144), the connection broker 120 shifts the virtual machine 116 that matches the search condition to a non-use state (step S146), and a reconnection error is indicated in the terminal device. 210 is notified (step S148).

正常に動作していれば(ステップS144においてYESの場合)、コネクションブローカ120は、検索条件に合致した仮想計算機116のIPアドレスを含む情報を端末装置210へ応答する(ステップS150)。   If it is operating normally (YES in step S144), the connection broker 120 responds to the terminal device 210 with information including the IP address of the virtual machine 116 that matches the search condition (step S150).

端末装置210は、コネクションブローカ120からの応答を受信すると、当該受信した応答に含まれる仮想計算機116を指定するIPアドレスを取得する(ステップS244)。   Upon receiving the response from the connection broker 120, the terminal device 210 acquires an IP address that designates the virtual computer 116 included in the received response (step S244).

端末装置210は、取得したIPアドレスを有する仮想計算機116に接続するための処理を実行し(ステップS246)、再接続するための処理が正常に終了したか否かを判断する(ステップS248)。ステップS248の処理は、上述のステップS216での処理と同様である。   The terminal device 210 executes a process for connecting to the virtual machine 116 having the acquired IP address (step S246), and determines whether or not the process for reconnecting has ended normally (step S248). The process in step S248 is the same as the process in step S216 described above.

再接続するための処理が正常に終了していなければ(ステップS248においてNOの場合)、端末装置210は、エラーメッセージを画面に表示し(ステップS250)、接続処理は一旦終了する。   If the process for reconnection has not ended normally (NO in step S248), terminal apparatus 210 displays an error message on the screen (step S250), and the connection process is temporarily ended.

これに対して、再接続するための処理が正常に終了していれば(ステップS248においてYESの場合)、端末装置210では、接続先の仮想計算機116の利用が再開される(ステップS220)。   On the other hand, if the process for reconnection has been completed normally (YES in step S248), the terminal device 210 resumes using the connection-destination virtual computer 116 (step S220).

[F.冗長化構成および切り替え処理]
次に、本実施の形態に係る計算機システム1の冗長化構成およびそれに係る切り替え処理について説明する。
[F. Redundant configuration and switching process]
Next, a redundant configuration of the computer system 1 according to the present embodiment and a switching process related thereto will be described.

図10を参照して説明したように、運用拠点200の端末装置210がコネクションブローカ120に接続要求を送信すると、その接続要求を受信したコネクションブローカ120は、仮想計算機116の空き状態を確認した上で、利用可能な仮想計算機116のIPアドレスを含む接続先情報を端末装置210へ返信する。   As described with reference to FIG. 10, when the terminal device 210 of the operation base 200 transmits a connection request to the connection broker 120, the connection broker 120 that has received the connection request confirms the availability of the virtual computer 116. The connection destination information including the IP address of the available virtual machine 116 is returned to the terminal device 210.

図10に示すようなクライアント仮想化機構では、コネクションブローカ120が仮想計算機116の割り当て処理の主たる部分を担当することになるため、コネクションブローカ120に何らかの障害が発生すると、すべてのサービスを継続させることができない。   In the client virtualization mechanism as shown in FIG. 10, since the connection broker 120 is responsible for the main part of the allocation process of the virtual machine 116, if any failure occurs in the connection broker 120, all services are continued. I can't.

また、広域IP網のネットワーク2を採用する場合には、サーバ拠点100そのものが天災などで被災した場合や、ネットワーク故障が発生した場合には、同様にサービスを継続させることができない。   Further, when the network 2 of the wide area IP network is adopted, the service cannot be continued similarly when the server base 100 itself is damaged by a natural disaster or when a network failure occurs.

そこで、本実施の形態に係る計算機システム1では、以下のような冗長化構成を採用することで、様々な障害が発生した場合であっても、サービスの継続性を高めるようになっている。   Therefore, in the computer system 1 according to the present embodiment, the continuity of service is improved by adopting the following redundant configuration even when various failures occur.

(f1:コネクションブローカの冗長化構成)
本実施の形態に係る計算機システム1では、サーバ拠点100において、コネクションブローカ120を冗長化して構成しており、一方のコネクションブローカ120に何らかの障害が発生した場合、他方のコネクションブローカ120がサービスを引き継ぐことになる。
(F1: Connection broker redundancy configuration)
In the computer system 1 according to the present embodiment, the connection broker 120 is made redundant in the server base 100. If any failure occurs in one connection broker 120, the other connection broker 120 takes over the service. It will be.

図14は、本実施の形態に係る計算機システム1におけるサーバ拠点100のコネクションブローカ120の冗長化構成を説明するための模式図である。図14を参照して、サーバ拠点100Aには、2つのコネクションブローカ120A1および120A2が設けられている。コネクションブローカ120A1および120A2は、アクティブ/スタンバイ方式で冗長化されている。   FIG. 14 is a schematic diagram for explaining a redundant configuration of the connection broker 120 of the server base 100 in the computer system 1 according to the present embodiment. Referring to FIG. 14, server base 100A is provided with two connection brokers 120A1 and 120A2. Connection brokers 120A1 and 120A2 are made redundant in an active / standby manner.

図14(A)に示す状態においては、コネクションブローカ120A1が運用系(アクティブ)の状態であり、コネクションブローカ120A2が待機系(スタンバイ)の状態である。ここで、図14(B)に示すように、運用系のコネクションブローカ120A1に何らかの障害が発生した場合には、待機系のコネクションブローカ120A2がコネクションブローカ120A1の異常を検知し、図14(C)に示すように、即座に待機系から新たな運用系へと変化して、直前と同様のサービスの提供を継続する。   In the state shown in FIG. 14A, the connection broker 120A1 is in the active (active) state, and the connection broker 120A2 is in the standby (standby) state. Here, as shown in FIG. 14B, when any failure occurs in the active connection broker 120A1, the standby connection broker 120A2 detects an abnormality in the connection broker 120A1, and FIG. As shown in Fig. 5, the service immediately changes from the standby system to the new operation system, and the same service as before is continued.

コネクションブローカ120A1および120A2の構成制御処理部126(図2)は、相互にコネクションブローカ120の状態を問い合わせる処理を行なっており、一方のコネクションブローカ120に何らかの異常が発生した場合には、その発生した異常を即座に検知できる。また、コネクションブローカ120A1および120A2のデータミラー処理部124(図2)は、コネクションブローカ120A1とコネクションブローカ120A2との間でデータの同期を取っているので、待機系から運用系への切り替わりは、シームレスに行なわれる。但し、端末装置210から見たIPアドレスの連続性を維持するために、待機系から運用系へ切り替わる際には、IPアドレス(仮想IP−A)も引き継ぐことになる。   The configuration control processing unit 126 (FIG. 2) of the connection brokers 120A1 and 120A2 performs a process of inquiring about the state of the connection broker 120 with each other, and if any abnormality occurs in one of the connection brokers 120, it has occurred. Abnormalities can be detected immediately. Since the data mirror processing unit 124 (FIG. 2) of the connection brokers 120A1 and 120A2 synchronizes data between the connection broker 120A1 and the connection broker 120A2, switching from the standby system to the active system is seamless. To be done. However, in order to maintain the continuity of the IP address as viewed from the terminal device 210, the IP address (virtual IP-A) is also taken over when switching from the standby system to the active system.

図15は、本実施の形態に係る計算機システム1におけるサーバ拠点100のコネクションブローカ120間のデータ移行を説明するための模式図である。図15(A)を参照して、サーバ拠点100A(サーバ拠点A)側において、コネクションブローカ120A1が運用系(アクティブ)の状態である。この状態において、端末装置210に対する仮想計算機の割り当て状況を示す割り当て情報1282は、運用系と待機系との間で同期して保持される。通常は、図15(A)に示すように、運用系のコネクションブローカ120A1が待機系のコネクションブローカ120A2に対して、割り当て情報1282の複製を提供(レプリケーション)する。そして、図15(B)に示すように、運用系のコネクションブローカ120A1に何らかの障害が発生した場合には、処理可能な範囲で、コネクションブローカ120A1からコネクションブローカ120A2へ割り当て情報1282の複製を提供される。そして、図15(C)に示すように、コネクションブローカ120A2は、割り当て情報1282を引き継いでサービスの提供を継続する。   FIG. 15 is a schematic diagram for explaining data migration between the connection brokers 120 of the server base 100 in the computer system 1 according to the present embodiment. Referring to FIG. 15A, the connection broker 120A1 is in an active (active) state on the server base 100A (server base A) side. In this state, allocation information 1282 indicating the allocation status of virtual machines to the terminal device 210 is held in synchronization between the active system and the standby system. Normally, as shown in FIG. 15A, the active connection broker 120A1 provides (replicates) a copy of the allocation information 1282 to the standby connection broker 120A2. Then, as shown in FIG. 15B, if any failure occurs in the active connection broker 120A1, a copy of the allocation information 1282 is provided from the connection broker 120A1 to the connection broker 120A2 within a processable range. The Then, as shown in FIG. 15C, the connection broker 120A2 takes over the assignment information 1282 and continues to provide the service.

割り当て情報1282のレプリケーションの典型的な処理としては、コネクションブローカ120A1のデータミラー処理部124が、コネクションブローカ120A2のデータミラー処理部124に対して、割り当て情報1282の更新などを依頼し、コネクションブローカ120A2のデータミラー処理部124がコネクションブローカ120A2に保持されている情報を更新する。   As a typical process of replication of the allocation information 1282, the data mirror processing unit 124 of the connection broker 120A1 requests the data mirror processing unit 124 of the connection broker 120A2 to update the allocation information 1282 and the like, and the connection broker 120A2 The data mirror processing unit 124 updates the information held in the connection broker 120A2.

このように、本実施の形態に係る計算機システム1では、それぞれのサーバ拠点100においてコネクションブローカ120に何らかの障害が発生した場合でもサービスを継続することができる。   As described above, in the computer system 1 according to the present embodiment, it is possible to continue the service even when a failure occurs in the connection broker 120 at each server base 100.

(f2:サーバ拠点の冗長化構成)
本実施の形態に係る計算機システム1では、複数のサーバ拠点100を分散配置することで、災害などによって、いずれかのサーバ拠点100がサービスを継続することができなくなった場合には、残ったサーバ拠点100を中心としてサービスを継続する。すなわち、サーバ拠点100を冗長化することで、サービスの継続性を高める。
(F2: Redundant configuration of server bases)
In the computer system 1 according to the present embodiment, by distributing a plurality of server bases 100, if any server base 100 cannot continue the service due to a disaster or the like, the remaining server The service will be continued with the base 100 as the center. That is, service continuity is improved by making the server base 100 redundant.

図16は、本実施の形態に係る計算機システム1におけるサーバ拠点100の冗長化構成を説明するための模式図である。図16を参照して、2つのサーバ拠点100Aおよびサーバ拠点100Bが設けられている。サーバ拠点100Aおよびサーバ拠点100Bは、マスタ/スレーブ方式で連係してサービスを提供する。図16(A)に示す状態においては、サーバ拠点100A(厳密には、コネクションブローカ120A1)がマスタの状態であり、サーバ拠点100B(厳密には、コネクションブローカ120B1)がスレーブの状態である。ここで、図16(B)に示すように、マスタのサーバ拠点100Aが被災するなどしてサービスを継続することができなくなった場合には、スレーブのサーバ拠点100Bがサーバ拠点100Aの異常を検知し、図16(C)に示すように、即座にスレーブからマスタへと変化して、直前と同様のサービスの提供を継続する。   FIG. 16 is a schematic diagram for explaining a redundant configuration of the server base 100 in the computer system 1 according to the present embodiment. Referring to FIG. 16, two server bases 100A and 100B are provided. The server base 100A and the server base 100B cooperate with each other in a master / slave manner to provide a service. In the state shown in FIG. 16A, the server base 100A (strictly, connection broker 120A1) is in the master state, and the server base 100B (strictly, connection broker 120B1) is in the slave state. Here, as shown in FIG. 16B, when the service cannot be continued because the master server base 100A is damaged, the slave server base 100B detects an abnormality in the server base 100A. Then, as shown in FIG. 16C, the state immediately changes from the slave to the master, and the provision of the same service as before is continued.

コネクションブローカ120A1およびコネクションブローカ120B1の構成制御処理部126(図2)は、相互にコネクションブローカ120の状態を問い合わせる処理を行なっており、一方のコネクションブローカ120を含むサービス拠点に何らかの異常が発生した場合には、その発生した異常を即座に検知できる。   The configuration control processing unit 126 (FIG. 2) of the connection broker 120A1 and the connection broker 120B1 performs a process of inquiring about the state of the connection broker 120 with each other, and some abnormality occurs in the service base including one connection broker 120. It is possible to immediately detect the abnormality that has occurred.

このように、本実施の形態に係る計算機システム1では、二拠点化されたサーバ拠点の一方が被災した場合でも、サービスを継続することができる。   Thus, in the computer system 1 according to the present embodiment, the service can be continued even when one of the two server bases is damaged.

(f3:ネットワークの冗長化構成)
本実施の形態に係る計算機システム1では、各サーバ拠点100において、ネットワークを冗長化して構成しており、一方のネットワークに何らかの障害が発生した場合、他方のネットワークを介してサービスを継続することになる。
(F3: Redundant network configuration)
In the computer system 1 according to the present embodiment, each server base 100 is configured with a redundant network, and if any failure occurs in one network, the service is continued through the other network. Become.

図17は、本実施の形態に係る計算機システム1におけるサーバ拠点100のネットワークの冗長化構成を説明するための模式図である。図17を参照して、サーバ拠点100Aには、2つのネットワーク21および22が並列的に設けられている。コネクションブローカ120は、ネットワーク21およびネットワーク22のいずれかを用いて、サービスを提供する。   FIG. 17 is a schematic diagram for explaining a network redundancy configuration of the server base 100 in the computer system 1 according to this embodiment. Referring to FIG. 17, two networks 21 and 22 are provided in parallel in server base 100A. The connection broker 120 provides a service using either the network 21 or the network 22.

図17(A)に示す状態においては、コネクションブローカ120A1はネットワーク21を介してサービスを提供している。ここで、図17(B)に示すように、コネクションブローカ120A1のネットワーク21を介した通信機能(典型的には、ネットワークインターフェイス158(図4))に障害が発生してサービスを継続することができなくなった場合には、コネクションブローカ120A1は、そのネットワーク21の異常を検知し、図17(C)に示すように、使用するネットワークをネットワーク21からネットワーク22へ即座に変更して、直前と同様のサービスの提供を継続する。   In the state shown in FIG. 17A, the connection broker 120A1 provides a service via the network 21. Here, as shown in FIG. 17B, a failure may occur in the communication function (typically, the network interface 158 (FIG. 4)) of the connection broker 120A1 via the network 21, and the service may be continued. When it becomes impossible, the connection broker 120A1 detects the abnormality of the network 21, and immediately changes the network to be used from the network 21 to the network 22 as shown in FIG. Continue to provide services.

なお、端末装置210から見たIPアドレスの連続性を維持するために、待機系から運用系へ切り替わる際には、IPアドレス(仮想IP−A)も引き継ぐことになる。すなわち、コネクションブローカ120A1は、ネットワーク21において使用していたIPアドレス(仮想IP−A)と同じIPアドレスをネットワーク22でも引き継いで使用する。   In order to maintain the continuity of the IP address as viewed from the terminal device 210, the IP address (virtual IP-A) is also taken over when switching from the standby system to the active system. That is, the connection broker 120A1 takes over and uses the same IP address as the IP address (virtual IP-A) used in the network 21 in the network 22.

このように、本実施の形態に係る計算機システム1では、それぞれのサーバ拠点100のコネクションブローカ120において、ネットワークインターフェイスに障害が発生した場合であっても、サービスを継続することができる。   As described above, in the computer system 1 according to the present embodiment, the service can be continued even when a failure occurs in the network interface in the connection broker 120 of each server base 100.

[G.利点]
本実施の形態に係る計算機システム1は、ネットワーク2を介して分散配置されたサーバ拠点にある計算機資源に集約し、クライアント端末である監視制御卓では仮想化した画面表示と操作入力処理のみが行なわれる。これによって、多数の運用拠点が存在する場合であっても、ソフトウェアの更新といった保守作業の量を低減できる。また、本発明の関連技術に係るクライアント仮想化機構では、一元管理された仮想的な計算機資源を使用するために、仮想計算機毎に個別のソフトウェア(アプリケーション)を準備する必要があったが、本実施の形態に係る計算機システム1は、これらのソフトウェアも一元管理するため、計算機の資源管理を低減でき、保守作業を容易化できる。
[G. advantage]
The computer system 1 according to the present embodiment aggregates the computer resources in the server bases distributed and distributed via the network 2, and only the virtual screen display and operation input processing are performed at the monitoring control console as the client terminal. It is. As a result, even when there are many operation bases, the amount of maintenance work such as software update can be reduced. In the client virtualization mechanism according to the related technology of the present invention, it is necessary to prepare individual software (application) for each virtual computer in order to use the centrally managed virtual computer resource. Since the computer system 1 according to the embodiment also manages these software in a unified manner, it is possible to reduce computer resource management and facilitate maintenance work.

本実施の形態に係る計算機システム1は、ネットワーク2を介してサーバ拠点100自体を分散配置するとともに、各サーバ拠点100に配置される計算機も冗長化している。そのため、単一的な故障が発生した場合でも、サービスを継続させることができる。   In the computer system 1 according to the present embodiment, the server bases 100 themselves are distributed and arranged via the network 2, and the computers arranged at each server base 100 are also made redundant. Therefore, even when a single failure occurs, the service can be continued.

本実施の形態に係る計算機システム1は、計算機システム1に含まれる端末装置210の総数を考慮して、複数種類の仮想計算機116が予め用意されて、ホットスタンバイの状態で維持される。そのため、端末装置210からいずれの種類の仮想計算機116の割り当てが要求されたとしても、要求された仮想計算機116を迅速に提供することができる。   In the computer system 1 according to the present embodiment, in consideration of the total number of terminal devices 210 included in the computer system 1, a plurality of types of virtual machines 116 are prepared in advance and maintained in a hot standby state. Therefore, the requested virtual machine 116 can be provided promptly regardless of which type of assignment of the virtual machine 116 is requested from the terminal device 210.

上述の実施の形態として例示した構成は、本発明の構成の一例であり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、一部を省略する等、変更して構成することも可能である。あるいは、実施の形態同士を組み合わせてもよい。   The configuration illustrated as the above-described embodiment is an example of the configuration of the present invention, and can be combined with another known technique, and a part of the configuration is omitted without departing from the gist of the present invention. It is also possible to change the configuration. Alternatively, the embodiments may be combined.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

1 計算機システム、2,21,22 ネットワーク、4 フィールドネットワーク、100,100A,100B サーバ拠点、110,110A,110B 仮想デスクトップ用サーバ、114 物理計算機、116 仮想計算機、116G 仮想計算機群、120 コネクションブローカ、124 データミラー処理部、126 構成制御処理部、128 仮想クライアント割り当て処理部、150 プロセッサ、152 主メモリ、154 ハードディスク、156 障害監視モジュール、158 ネットワークインターフェイス、162 入力部、164 汎用インターフェイス、166 内部バス、200,200A,200B 運用拠点、210 端末装置、214,1162 暗号処理部、216 クライアント処理部、218 接続処理部、1164 サーバ処理部、1166 セッション管理部、1180 ゲスト共通部、1181〜1184 ゲスト固有部、1282 割り当て情報。   1 computer system, 2, 21, 22 network, 4 field network, 100, 100A, 100B server base, 110, 110A, 110B virtual desktop server, 114 physical computer, 116 virtual computer, 116G virtual computer group, 120 connection broker, 124 data mirror processing unit, 126 configuration control processing unit, 128 virtual client allocation processing unit, 150 processor, 152 main memory, 154 hard disk, 156 fault monitoring module, 158 network interface, 162 input unit, 164 general purpose interface, 166 internal bus, 200, 200A, 200B Operation base, 210 Terminal device, 214, 1162 Encryption processing unit, 216 Client processing unit, 218 Connection processing unit 1164 server processing unit, 1166 a session management unit, 1180 guest common unit, 1181-1184 guest-specific portion, 1282 allocation information.

Claims (12)

計算機システムであって、
複数のサーバシステムと、
前記複数のサーバシステムとネットワークを介して接続される複数の端末装置とを備え、
前記複数のサーバシステムの各々は、
前記複数の端末装置において提供可能なクライアント環境の種類毎に、前記複数の端末装置の総数に応じた数の仮想計算機からなる仮想計算機の群を論理的に生成するとともに、ホットスタンバイの状態で保持する仮想計算機管理手段と、
前記複数の端末装置のいずれかからの接続要求に応答して、前記ホットスタンバイの状態で保持されている、当該接続要求に含まれる種類に対応する仮想計算機の群のうち、予め定められた規則に従って最も順位の高い仮想計算機を当該要求元の端末装置に割り当てる割り当て手段とを含む、計算機システム。
A computer system,
Multiple server systems;
A plurality of terminal devices connected to the plurality of server systems via a network;
Each of the plurality of server systems includes:
For each type of client environment that can be provided by the plurality of terminal devices, a group of virtual machines including a number of virtual machines corresponding to the total number of the plurality of terminal devices is logically generated and held in a hot standby state. Virtual machine management means to
A predetermined rule out of a group of virtual machines corresponding to the type included in the connection request held in the hot standby state in response to a connection request from any of the plurality of terminal devices And assigning means for assigning the virtual machine having the highest rank to the requesting terminal device according to the computer system.
前記仮想計算機管理手段は、前記複数の端末装置において提供可能なクライアント環境の種類間の優先順位に応じて、前記仮想計算機の群にそれぞれ含ませる仮想計算機の数を決定する、請求項1に記載の計算機システム。   The virtual machine management means determines the number of virtual machines to be included in the group of virtual machines according to a priority order between types of client environments that can be provided by the plurality of terminal devices. Computer system. 前記仮想計算機管理手段は、前記複数の端末装置において提供可能なクライアント環境の種類毎の稼働状況に応じて、前記仮想計算機の群にそれぞれ含ませる仮想計算機の数を決定する、請求項1に記載の計算機システム。   2. The virtual machine management unit according to claim 1, wherein the number of virtual machines to be included in the group of virtual machines is determined according to an operating state for each type of client environment that can be provided in the plurality of terminal devices. Computer system. 前記割り当て手段は、前記接続要求の要求元の端末装置に対して、前記割り当てた仮想計算機のネットワークアドレスを通知する手段を含み、
前記端末装置は、通知されたネットワークアドレスに基づいて、仮想計算機に接続する、請求項1〜3のいずれか1項に記載の計算機システム。
The assigning means includes means for notifying a terminal device that is a request source of the connection request of a network address of the assigned virtual machine,
The computer system according to claim 1, wherein the terminal device is connected to a virtual computer based on the notified network address.
前記仮想計算機管理手段は、前記仮想計算機の群に共通のコードと、前記仮想計算機の群の各種類に固有のコードとを用いて、種類別に前記仮想計算機の群をそれぞれ生成する、請求項1〜4のいずれか1項に記載の計算機システム。   The virtual machine management means generates a group of virtual machines for each type by using a code common to the group of virtual machines and a code specific to each type of the group of virtual machines. The computer system of any one of -4. 前記ホットスタンバイの状態で保持されている仮想計算機の群は、それぞれの仮想計算機が実行するゲストOS、および、前記ゲストOS上で実行されるアプリケーションのコードの制御対象に対する操作権限、の少なくとも一方が互いに異なる、請求項1〜5のいずれか1項に記載の計算機システム。   The group of virtual machines held in the hot standby state includes at least one of a guest OS executed by each virtual machine and an operation authority for a control target of an application code executed on the guest OS. The computer system according to claim 1, which is different from each other. 制御対象の状態に関する信号である状態信号を受信するとともに、端末装置から当該端末装置への入力操作に基づく信号である入力操作信号を受信して、当該入力操作信号に基づいて前記制御対象を制御する計算機システムであって、
ホストOS上に、ゲストOSと当該ゲストOS上で実行するアプリケーションのコードとの組み合わせが互いに異なる複数種類の仮想計算機を予め生成し、それら生成した仮想計算機をホットスタンバイの状態で保持するサーバと、
前記端末装置から前記仮想計算機への接続要求を受信した場合に、当該接続要求に含まれる、当該端末装置に提供すべきクライアント環境の種類に関する情報に基づいて、前記ホットスタンバイの状態で保持されている前記複数種類の仮想計算機の中から、当該端末装置に提供すべきクライアント環境を有する仮想計算機を選択し、当該選択した仮想計算機と当該端末装置との接続を前記サーバに対して指示するコネクションブローカとを備え、
前記サーバがホットスタンバイの状態で保持する前記複数種類の仮想計算機は、実行するゲストOS、および、実行する前記アプリケーションのコードの制御対象に対する操作権限、の少なくとも一方が互いに異なる複数の仮想計算機を含む、計算機システム。
A state signal that is a signal related to the state of the control target is received, and an input operation signal that is a signal based on an input operation from the terminal device to the terminal device is received, and the control target is controlled based on the input operation signal A computer system that
On the host OS, a server that generates in advance a plurality of types of virtual machines with different combinations of the guest OS and the application code executed on the guest OS, and holds the generated virtual machines in a hot standby state;
When a connection request from the terminal device to the virtual machine is received, the hot standby state is maintained based on information about the type of client environment to be provided to the terminal device included in the connection request. A connection broker that selects a virtual machine having a client environment to be provided to the terminal apparatus from the plurality of types of virtual machines and instructs the server to connect the selected virtual machine to the terminal apparatus. And
The plurality of types of virtual machines held by the server in a hot standby state include a plurality of virtual machines in which at least one of a guest OS to be executed and an operation authority for a control target of the code of the application to be executed is different from each other. , Computer system.
前記サーバがホットスタンバイの状態で保持する前記複数種類の仮想計算機は、実行するゲストOSが互いに同一である複数の仮想計算機、および、実行する前記アプリケーションのコードが互いに同一である複数の仮想計算機、の少なくとも一方を含み、
互いに同一であるゲストOSまたは互いに同一であるアプリケーションのコードは、共通の記憶部に記憶されたソースコードまたはオブジェクトコードを読み出して実行される、請求項7に記載の計算機システム。
The plurality of types of virtual machines held by the server in a hot standby state include a plurality of virtual machines having the same guest OS to be executed, and a plurality of virtual machines having the same code of the application to be executed, Including at least one of
8. The computer system according to claim 7, wherein the code of the guest OS that is the same as each other or the code of the application that is the same as each other is executed by reading a source code or an object code stored in a common storage unit.
前記サーバがホットスタンバイの状態で保持する前記複数種類の仮想計算機の数は、前記アプリケーションのコードの制御対象に対する操作権限が同一である仮想計算機の群毎に異なる、請求項7または8に記載の計算機システム。   The number of the plurality of types of virtual machines that the server holds in a hot standby state differs for each group of virtual machines that have the same operation authority for the control target of the code of the application. Computer system. 前記サーバおよび前記コネクションブローカは、別個の計算機によって構成され、
前記サーバと前記コネクションブローカの各々は、マスタの計算機およびスレーブの計算機を含む、請求項7〜9のいずれか1項に記載の計算機システム。
The server and the connection broker are configured by separate computers,
The computer system according to any one of claims 7 to 9, wherein each of the server and the connection broker includes a master computer and a slave computer.
前記クライアント環境の種類に関する情報は、前記端末装置に入力されるユーザの識別子を含み、
前記コネクションブローカは、前記ユーザの識別子に基づいて前記端末装置に提供すべきクライアント環境を選択する、請求項7〜10のいずれか1項に記載の計算機システム。
The information on the type of client environment includes an identifier of a user input to the terminal device,
The computer system according to any one of claims 7 to 10, wherein the connection broker selects a client environment to be provided to the terminal device based on an identifier of the user.
前記サーバがホットスタンバイの状態で保持する前記複数種類の仮想計算機は、実行するゲストOSが互いに異なる一方で、実行する前記アプリケーションのコードの制御対象および前記アプリケーションのコードの当該制御対象に対する操作権限がいずれも同一である、複数の仮想計算機を含む、請求項7〜11のいずれか1項に記載の計算機システム。
The plurality of types of virtual machines held by the server in a hot standby state have different guest OSs to be executed, while having a control object of the application code to be executed and an operation authority for the control object of the application code to be executed. The computer system according to any one of claims 7 to 11, comprising a plurality of virtual computers, all of which are the same.
JP2015147773A 2015-07-27 2015-07-27 Computer system Active JP6381492B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015147773A JP6381492B2 (en) 2015-07-27 2015-07-27 Computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015147773A JP6381492B2 (en) 2015-07-27 2015-07-27 Computer system

Publications (2)

Publication Number Publication Date
JP2017027504A true JP2017027504A (en) 2017-02-02
JP6381492B2 JP6381492B2 (en) 2018-08-29

Family

ID=57950501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015147773A Active JP6381492B2 (en) 2015-07-27 2015-07-27 Computer system

Country Status (1)

Country Link
JP (1) JP6381492B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007272297A (en) * 2006-03-30 2007-10-18 Nec Corp On-demand client service system, and management method and program therefor
JP2010117742A (en) * 2008-11-11 2010-05-27 Hitachi High-Tech Control Systems Corp Plant monitoring device
JP2010176412A (en) * 2009-01-29 2010-08-12 Fujitsu Ltd Information processor, information processing method, and computer program
JP2010205047A (en) * 2009-03-04 2010-09-16 Nec Corp System, method, and program for generating working environment
JPWO2009093333A1 (en) * 2008-01-25 2011-05-26 富士通株式会社 Information processing apparatus, information processing system, computer program, and information processing method
JP2014164434A (en) * 2013-02-22 2014-09-08 Ntt Data Corp Information processing device, information processing method and program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007272297A (en) * 2006-03-30 2007-10-18 Nec Corp On-demand client service system, and management method and program therefor
JPWO2009093333A1 (en) * 2008-01-25 2011-05-26 富士通株式会社 Information processing apparatus, information processing system, computer program, and information processing method
JP2010117742A (en) * 2008-11-11 2010-05-27 Hitachi High-Tech Control Systems Corp Plant monitoring device
JP2010176412A (en) * 2009-01-29 2010-08-12 Fujitsu Ltd Information processor, information processing method, and computer program
JP2010205047A (en) * 2009-03-04 2010-09-16 Nec Corp System, method, and program for generating working environment
JP2014164434A (en) * 2013-02-22 2014-09-08 Ntt Data Corp Information processing device, information processing method and program

Also Published As

Publication number Publication date
JP6381492B2 (en) 2018-08-29

Similar Documents

Publication Publication Date Title
US11687422B2 (en) Server clustering in a computing-on-demand system
JP5039947B2 (en) System and method for distributing virtual input / output operations across multiple logical partitions
JP4295184B2 (en) Virtual computer system
US11734137B2 (en) System, and control method and program for input/output requests for storage systems
US7971089B2 (en) Switching connection of a boot disk to a substitute server and moving the failed server to a server domain pool
US11669360B2 (en) Seamless virtual standard switch to virtual distributed switch migration for hyper-converged infrastructure
JP2007272297A (en) On-demand client service system, and management method and program therefor
JP2001331333A (en) Computer system and method for controlling computer system
JP2005216151A (en) Resource operation management system and resource operation management method
JP2010113707A (en) Method, device, system, and program for dynamically managing physical and virtual multipath input/output
WO2012068867A1 (en) Virtual machine management system and using method thereof
US9747176B2 (en) Data storage with virtual appliances
EP3280094B1 (en) Disaster recovery method, device, and system
JP5151509B2 (en) Virtual machine system and virtual machine distribution method used therefor
CN109032754B (en) Method and apparatus for improving reliability of communication path
JP6961045B2 (en) System and its control method and program
WO2017002185A1 (en) Server storage system management system and management method
JP6381492B2 (en) Computer system
JP2017027166A (en) Operation management unit, operation management program, and information processing system
US20190155635A1 (en) High availability system for providing in-memory based virtualization service
JP7193602B2 (en) System and its control method and program
US20240036988A1 (en) Disaster recovery pipeline for block storage and dependent applications
JP5294352B2 (en) Thin client system, session management apparatus, session management method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180625

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180731

R150 Certificate of patent or registration of utility model

Ref document number: 6381492

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250