JPWO2010113248A1 - 仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法 - Google Patents

仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法 Download PDF

Info

Publication number
JPWO2010113248A1
JPWO2010113248A1 JP2011506875A JP2011506875A JPWO2010113248A1 JP WO2010113248 A1 JPWO2010113248 A1 JP WO2010113248A1 JP 2011506875 A JP2011506875 A JP 2011506875A JP 2011506875 A JP2011506875 A JP 2011506875A JP WO2010113248 A1 JPWO2010113248 A1 JP WO2010113248A1
Authority
JP
Japan
Prior art keywords
virtual machine
input
release
virtual
operated
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
JP2011506875A
Other languages
English (en)
Other versions
JP5360199B2 (ja
Inventor
大野 敬史
敬史 大野
松倉 隆一
隆一 松倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2010113248A1 publication Critical patent/JPWO2010113248A1/ja
Application granted granted Critical
Publication of JP5360199B2 publication Critical patent/JP5360199B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Abstract

物理資源を論理的に分割して複数の仮想計算機として動作させる場合であって、情報処理装置1は、仮想マシン4のいずれかがデバイス3を割り当てられると共に操作端末2の被操作状態となった場合、デバイス3又は遠隔操作のいずれかを仮想マシン4から解放する。

Description

本発明は、物理資源を論理的に分割して仮想計算機として動作させる遠隔操作を行う仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法に関する。
近年、電子計算機は、その能力が飛躍的に向上したため、文書作成、電子メール又はウェブ閲覧などの通常の利用において余力を有している。
そこで、仮想化機能を有する電子計算機が提案された。仮想化機能は、物理資源を抽象化して複数の仮想資源に分割し、仮想資源を独立した仮想マシンとして動作させる。仮想化機能を有する電子計算機は、余った能力を複数の仮想マシンとして活用する。
このように、仮想化機能は、複数の電子計算機の資源を一台の電子計算機に集約することにより、実機の台数を減らすことができ、設置場所、消費電力及び保守管理の負担を軽減させることができる。
また、電子計算機は、仮想マシンを操作するためのリソースを複数種有している。例えば、電子計算機は、USB(Universal Serial Bus)又はHDMI(High-Definition Multimedia Interface)などのインタフェースを介して、キーボード、マウス、ディスプレイ装置又はプリンタ装置などの入出力機器を複数接続することができる。また、電子計算機は、コンピュータネットワークを介して複数の外部装置と接続することができる。
従って、電子計算機は、各仮想マシンの操作手段として、入出力機器による操作と、外部装置による遠隔操作とを有する。
そこで、仮想マシンに対するデバイスの制御に関して複数の制御方法を適切に切り換える装置が提案された(例えば、特許文献1)。
特開2008−146566号公報
しかしながら、提案された装置は、デバイスを仮想マシンに占有させる方式か、複数の仮想マシンに共有させる方式かを切り換えるものであって、より多くの仮想マシンに操作リソースを割り当てることは想定されていない。
即ち、電子計算機は、物理的性状を有するハードウェア資源を分割することにより、仮想マシンを無限に設定することができる。しかし、電子計算機に接続可能な入出力機器は、電子計算機に実装可能なインタフェースのポート数に応じて有限である。従って、入出力機器を全ての仮想マシンに割り当てることは不可能である。
そこで、入出力機器が尽きた場合、仮想マシンは、外部装置によって遠隔操作されるべきである。即ち、入出力機器又は遠隔操作を各仮想マシンに択一的に割り当てることができれば、より多くの仮想マシンを動作させることができ、余った能力を仮想マシンとして有効活用することができる。しかしながら、提案された装置にあっては、そのような事項が想定されていない。
また、遠隔操作は、ネットワークによる転送可能なデータ量が有限であるため、操作反応を低下させ、大容量の動画をコマ落ちなく再生させることができないという問題を有している。これに対して、入出力機器は、かかる問題を有していない。従って、仮想マシンの操作は、入出力機器を用いることが望ましい。しかしながら、提案された装置にあっては、そのような事項が想定されていない。
本発明はかかる事情を鑑みてなされたものであり、物理資源を論理的に分割して複数の仮想計算機として動作させる場合であって、一つの仮想計算機が複数種の操作リソースを占有することを回避することができ、より多くの仮想マシンに操作リソースを割り当てることができる仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法を提供することを目的とする。
開示の仮想計算機システムは、物理資源を論理的に分割して複数の仮想計算機として動作させる中央装置と、該中央装置と通信回線を介して接続可能な複数の端末装置とを備え、各仮想計算機は、自機に対する遠隔操作を前記端末装置のいずれかから受付ける受付手段を備え、前記中央装置は、入出力機器を複数接続するインタフェースと、接続してある入出力機器をそれぞれ前記仮想計算機のいずれかに割当てる割当手段と、前記仮想計算機のいずれかが入出力機器を割当てられると共に、前記遠隔操作の被操作機となった場合、入出力機器又は遠隔操作のいずれかを被操作機から解放する解放手段とを備え、解放した入出力機器を被操作機と異なる他の仮想計算機に割当可能とするようにしてあることを要件とする。
また、開示の情報処理装置は、物理資源を論理的に分割して複数の仮想計算機として動作させる情報処理装置であって、通信回線を介して接続してある外部装置から各仮想計算機が遠隔操作を受付ける受付手段と、入出力機器を複数接続するインタフェースと、接続してある入出力機器をそれぞれ前記仮想計算機のいずれかに割当てる割当手段と、前記仮想計算機のいずれかが入出力機器を割当てられると共に、前記遠隔操作の被操作機となった場合、入出力機器又は遠隔操作のいずれかを被操作機から解放する解放手段とを備えることを要件とする。
更にまた、開示のコンピュータプログラムは、コンピュータに、物理資源を論理的に分割して複数の仮想計算機として動作させるコンピュータプログラムであって、コンピュータに、外部装置による遠隔操作を各仮想計算機に受付させるステップと、自機に複数接続された入出力機器をそれぞれ検出させるステップと、検出された入出力機器をそれぞれ前記仮想計算機のいずれかに割当てさせるステップと、前記仮想計算機のいずれかが入出力機器を割当てられると共に、前記遠隔操作の被操作機となった場合、入出力機器又は遠隔操作のいずれかを被操作機から解放させる解放ステップとを実行させることを要件とする。
開示の仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法は、物理資源を論理的に分割して複数の仮想計算機として動作させる場合であって、情報処理装置が、仮想計算機のいずれかが入出力機器を割り当てられると共に、外部装置による遠隔操作の被操作機となった場合、入出力機器又は遠隔操作のいずれかを被操作機から解放する。
開示の仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法は、物理資源を論理的に分割して複数の仮想計算機として動作させる場合、一つの仮想計算機が複数種の操作リソースを占有することを回避することができ、より多くの仮想マシンに操作リソースを割り当てることができる。
実施の形態1における仮想計算機システムの全体構成を示す図である。 実施の形態1における情報処理装置及び周辺機器の構成を示すブロック図である。 実施の形態1における補助記憶装置の記憶内容を示す図である。 実施の形態1における情報処理装置の機能ブロック図である。 デバイス管理テーブルのフォーマット例を示す図である。 認証画面の表示例を示す図である。 実施の形態1における情報処理装置1が実行するデバイス解放処理の手順を示すフローチャートである。 実施の形態2における情報処理装置の機能ブロック図である。 解放確認画面の表示例を示す図である。 実施の形態2における情報処理装置が実行するデバイス解放処理の手順を示すフローチャートである。 実施の形態3における情報処理装置の機能ブロック図である。 実施の形態3における補助記憶装置の記憶内容を示す図である。 実施の形態3における情報処理装置が実行する解放待ち申請処理の手順を示すフローチャートである。 実施の形態3における情報処理装置が実行するデバイス解放処理の手順を示すフローチャートである。 実施の形態4における情報処理装置の機能ブロック図である。 解放通知の表示例を示す図である。 実施の形態4における情報処理装置1が実行するデバイス解放処理の手順を示すフローチャートである。 実施の形態5における情報処理装置の機能ブロック図である。 実施の形態5における補助記憶装置の記憶内容を示す図である。 認証情報テーブルのフォーマット例を示す図である。 仮想マシン管理テーブルのフォーマット例を示す図である。 デバイス群管理テーブルのフォーマット例を示す図である。 実施の形態5における情報処理装置が実行するデバイス解放処理の手順を示すフローチャートである。 実施の形態6における仮想計算機システムの全体構成を示す図である。 実施の形態6における情報処理装置及び周辺機器の構成を示すブロック図である。 実施の形態6における情報処理装置及び周辺機器の機能ブロック図である。 実施の形態6における情報処理装置が実行する遠隔操作処理の手順を示すフローチャートである。 実施の形態6における情報処理装置が実行するデバイス解放処理の手順を示すフローチャートである。
符号の説明
1 情報処理装置
10 CPU
11 外部記憶装置
12 ネットワーク接続用通信制御部
13 ROM
14 RAM
15 補助記憶装置
16 デバイス接続用通信制御部
17 バス
2 操作端末
20 リモート操作クライアント
21 リモート接続制御部
3 デバイス
4 仮想マシン
40 ゲストOS
41 リモート操作サーバ
42 リモート接続監視部
43 デバイス解放要求部
44 解放確認部
45 解放待ち申請部
46 解放通知出力部
47 リモート解放要求部
5 仮想マシンモニタ
50 仮想マシン起動部
51 デバイス管理テーブル
52 デバイス接続確認部
53 デバイス解放部
54 認証部
55 デバイス処理振り分け部
56 デバイスエミュレータ
57 解放待ち申請受付部
58 解放待ち申請保存部
59 解放待ち情報テーブル
510 解放通知生成部
511認証部
512 認証情報テーブル
513 デバイス接続部
514 仮想マシン管理テーブル
515 デバイス群管理テーブル
516 リモート解放部
517 仮想マシン制御受信部
6 コネクションブローカ
60 接続依頼受信部
61 仮想マシン制御部
62 リモート接続監視部
63 デバイス解放要求部
実施の形態1.
開示の仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法の内容を本実施の形態を示す図面に基づいて説明する。図1は実施の形態1における仮想計算機システムの全体構成を示す図である。
情報処理装置1は、本実施の形態における仮想計算機システムを構成する中央装置である。仮想計算機システムの一例は、仮想PC方式のシンクライアントシステムである。情報処理装置1は、後述するハードウェア資源を論理的に分割して複数の仮想マシン4として動作させる。情報処理装置1の一例は、汎用的な電子計算機である。情報処理装置1の構成は、後述する。
操作端末2は、コンピュータネットワークを介して情報処理装置1に接続可能である。操作端末2は、例えば、有線通信又は無線通信により情報処理装置1に接続可能である。操作端末2は、仮想マシン4を遠隔操作するための装置である。操作端末2の一例は、パーソナルコンピュータ(Personal Computer)又はラップトップコンピュータ(Laptop Computer)である。
入出力機器(以下「デバイス」という)3は、インタフェースを介して情報処理装置1に接続可能である。デバイス3は、仮想マシン4との間でデータの授受を行う。デバイス3は、仮想マシン4を操作するための装置である。デバイス3の一例は、キーボード、マウス、イメージスキャナ装置又はタブレット装置などの入力機器、及びディスプレイ装置又はプリンタ装置などの出力機器である。
図2は実施の形態1における情報処理装置1及び周辺機器の構成を示すブロック図である。情報処理装置1は、CPU10、外部記憶装置11、ネットワーク接続用通信制御部12、ROM13、RAM14、補助記憶装置15及びデバイス接続用通信制御部16を有する。各ハードウェア資源は、バス17を介して相互に接続されている。
CPU10は、仮想化機能及びその他の機能を有する資源である。CPU10は、オペレーテイングシステム(以下「OS」という)及び開示のコンピュータプログラムに従って、後述する処理及び各種処理を行う。CPU10は、上述したハードウェア資源の物理的特性をシステム、アプリケーションソフトウェア及びエンドユーザから隠蔽する。CPU10は、ハードウェア資源を複数の仮想資源に分割して複数の仮想マシン4として動作させる。仮想マシン4は、操作端末2又はデバイス3を用いて操作されて各種演算を実行する。仮想マシン4は、演算結果を操作端末2又はデバイス3に出力する。その他の機能は、後述にて説明する。
外部記憶装置11は、記録媒体11aに対するデータの読み書きを行うリーダライタである。リーダライタの一例は、フレキシブルディスクドライブ、MOドライブ、CD−Rドライブ、磁気テープドライブ、メモリカードリーダライタ又はUSBメモリを着脱するためのインタフェースである。
外部記憶装置11は、装着口(図示せず)を有し、記録媒体11aが装着口に挿入されることにより、記録媒体11aが装着される。また、外部記憶装置11は、記録媒体11aが装着口から抜脱されることにより、記録媒体11aが離脱する。外部記憶装置11は、記録媒体11aが装着された旨又は離脱した旨の通知をCPU10に出力する。
記録媒体11aは、リムーバブルメディアである。リムーバブルメディアの一例は、フレキシブルディスク、MO、CD−R、磁気テープ、メモリカード又はUSBメモリなどである。記録媒体11aは、プログラム及び各種データを記憶している。プログラムは、OS、開示のコンピュータプログラム及びその他のアプリケーションソフトウェアを含む。
ネットワーク接続用通信制御部12は、コンピュータネットワークを介して各操作端末2の遠隔操作を受信するための資源である。ネットワーク接続用通信制御部12は、例えば、インタフェースとしてイーサネット(登録商標)規格を有し、TCP/IPに従って通信を行う。ネットワーク接続用通信制御部12は、操作端末2から送信された操作信号を受信してCPU10に出力する。
ネットワーク接続用通信制御部12は、コンピュータネットワーク上において、スイッチングハブを多段的に用いることにより、多数の操作端末2と接続可能である。また、ネットワーク接続用通信制御部12は、コンピュータネットワークを介して遠方に設置してある操作端末2の遠隔操作を受信することができる。一方、ネットワーク接続用通信制御部12は、コンピュータネットワークの帯域幅に上限があるため、データ転送能力が100メガビット毎秒(以下「Mbps」という)程度にとどまる。
ROM13は、記録してあるデータを読み出すことが可能な記憶装置である。ROM13は、Basic Input/Output System(以下BIOSという)及びその他のファームウェアを記憶する半導体素子である。
RAM14は、CPU10の実行により生じたデータ、補助記憶装置15から読み出したデータを一時記憶する資源である。RAM14は、例えば、SDRAM(Synchronous DRAM)又はSRAM(Static RAM)などの半導体が該当する。
補助記憶装置15は、外部記憶装置11、RAM14又はデバイス3から受け付けたデータを記憶する。補助記憶装置15は、例えば、磁気ディスク記録方式のハードディスクドライブ(HDD)又はNAND素子で構成されるフラッシュソリッドステートドライブ(Flash SSD)が該当する。また、補助記憶装置15は、ネットワーク又はファイバーチャネルを経由して、別の情報処理装置上にあってもよい。
図3は実施の形態1における補助記憶装置15の記憶内容を示す図である。補助記憶装置15は、OS及び開示のコンピュータプログラムを記憶する。OSは、情報処理装置1を制御する。またOSは、仮想マシン4を制御するゲストOS40と、ゲストOS40を制御する仮想マシンモニタ5を含む。なお、OS、ゲストOS40、仮想マシンモニタ5の構成は、この例に限らない。例えば、OS、ゲストOS40、仮想マシンモニタ5が、それぞれ独立したコンポーネントであって、それぞれが連携して動作するものであってもよい。補助記憶装置15は、後述するデバイス管理テーブル51を記憶する。
デバイス接続用通信制御部16は、デバイス3を複数接続するための資源である。デバイス接続用通信制御部16は、例えば、インタフェースとしてUSB規格を有し、デバイス3との間で通信を行う。デバイス接続用通信制御部16は、デバイス3から送信されたデータを受信してCPU10又は補助記憶装置15に出力する。
デバイス接続用通信制御部16は、480Mbps程度のデータ転送能力を有しており、コンピュータネットワーク上のデータ転送能力を上回る。一方、デバイス接続用通信制御部16は、情報処理装置1が物理的なスペース、規格上の制約又は処理能力に限界があるため、接続可能なデバイス3が数台程度にとどまる。また、デバイス接続用通信制御部16の最大転送距離は、20m程度にとどまる。
図4は実施の形態1における情報処理装置1の機能ブロック図である。情報処理装置1は、仮想マシン4及び仮想マシンモニタ5を有する。
仮想マシン4は、情報処理装置1のハードウェア資源が抽象化されたものであり、複数存在する。仮想化マシン4は、ゲストOS40、リモート操作サーバ41、リモート接続監視部42及びデバイス解放要求部43を有する。
ゲストOS40は、仮想マシン4内で起動し、仮想マシン4の仮想資源を制御する。ゲストOS40は、外部記憶装置11又はネットワーク用接続用通信制御部12を介して情報処理装置1にインストールされる。ゲストOS40は、補助記憶装置15に記憶される。
リモート操作サーバ41は、操作端末2の遠隔操作を受け付け、受け付けた遠隔操作に従ってゲストOS40を制御する。リモート操作サーバ41は、表示する画面情報を操作端末2に出力する。リモート操作サーバ41は、CPU10の機能の一つである。
リモート接続監視部42は、操作端末2の遠隔操作の可否を監視する。リモート接続監視部42は、操作端末2の遠隔操作を検出した場合、自機が遠隔操作により被操作状態であると判断する。リモート接続監視部42は、自機が被操作状態であると判断した場合、仮想マシン4からデバイス3を解放する旨の要求をデバイス解放要求部43に出力する。リモート接続監視部42は、CPU10が有する機能の一つである。リモート接続監視部42は、ゲストOS40により制御される。
デバイス解放要求部43は、解放要求をリモート接続監視部42から受け付けた場合、受け付けた解放要求及び自機の識別情報を仮想マシンモニタ5に出力する。デバイス解放要求部43は、CPU10が有する機能の一つである。デバイス解放要求部43は、ゲストOS40により制御される。
仮想マシンモニタ5は、各仮想マシン4を管理する。仮想マシンモニタ5は、CPU10が有する機能の一つである。仮想マシンモニタ5は、仮想マシン起動部50、デバイス管理テーブル51、デバイス接続確認部52、デバイス解放部53、認証部54、デバイス処理振り分け部55及びデバイスエミュレータ56を有する。仮想マシン起動部50は、任意の仮想マシン4を起動する。
図5はデバイス管理テーブル51のフォーマット例を示す図である。デバイス管理テーブル51は、複数のデバイス3のいずれかと、複数の仮想マシン4のいずれかとの対応付けを記憶する。デバイス管理テーブル51は、仮想マシン4の識別情報(VMID)、デバイス3の識別情報(デバイスID)及びデバイス3の種類(デバイス種類)を対応付けて記憶する。仮想マシン4の識別情報は、仮想マシン4の起動時に仮想マシン起動部50により生成される。デバイス3の識別情報及びデバイス3の種類は、情報処理装置1起動時及びデバイス3の接続時にデバイス接続用制御部16により生成される。対応付けは、仮想マシン4の起動時にCPU10により実行される。デバイス3は、対応付けにより、仮想マシン4に割り当てられた状態となる。
デバイス接続確認部52は、デバイス3の解放要求及び仮想マシン4の識別情報をデバイス解放要求部43から受け付けた場合、仮想マシン4に対応するデバイス3の識別情報をデバイス管理テーブル51から抽出する。仮想マシン4の識別情報は、解放要求があった仮想マシン4を示す。デバイス3の識別情報は、解放すべきデバイス3を示す。デバイス接続確認部52は、デバイス3の識別情報を抽出できた場合、デバイス3の解放要求、デバイス3の識別情報及び仮想マシン4の識別情報をデバイス解放部53に出力する。
デバイス解放部53は、デバイス3の解放要求、デバイス3の識別情報及び仮想マシン4の識別情報をデバイス接続確認部52から受け付けた場合、受け付けたデバイス3の識別情報と仮想マシン4の識別情報との対応付けを解消する。その結果、デバイス3は、仮想マシン4から解放された状態となる。解放されたデバイス3は、入力機器及び出力機器を含む。解放されたデバイス3は、デバイス処理振り分け部55により制御される。デバイス解放部53は、デバイス管理テーブルの対応するレコードを削除する。デバイス解放部53は、認証画面を出力する旨の要求を認証部54に出力する。
認証部54は、認証画面を出力する旨の要求をデバイス解放部53から受け付けた場合、解放されたデバイス3(出力機器)に認証画面を出力する。認証部54は、後述する認証処理を実行する。
図6は認証画面の表示例を示す図である。認証画面は、認証情報の入力欄を有する。認証情報は、ユーザID及びパスワードである。認証画面は、解放されたデバイス3(出力機器)に出力される。ユーザIDは、仮想マシン4のいずれかに対応付けられて仮想マシン管理テーブル(図示せず)に記憶されている。対応付けは、仮想マシン4へのログイン時にCPU10により実行させる。仮想マシン管理テーブルは、補助記憶装置15に記憶されている。
デバイス処理振り分け部55は、仮想マシン4から解放されたデバイス3を制御する。デバイス処理振り分け部55は、解放されたデバイス3(入力機器)のいずれかから認証情報を受け付ける。デバイス処理振り分け部55は、受け付けた認証情報を認証部54に出力し、認証画面に表示させる。
エンドユーザは、解放されたデバイス3(出力機器)のいずれかに出力された認証画面を視認しながら、解放されたデバイス3(入力機器)のいずれかを用いて認証情報を入力する。
認証部54は、以下の認証処理を実行する。認証部54は、受け付けた認証情報と、認証情報テーブル(図示せず)とを比較する。認証情報テーブルは、ユーザID及びパスワードを記憶する。ユーザID及びパスワードは、エンドユーザにより予め登録される。認証部54は、受け付けた認証情報が認証情報テーブルに登録されていると判定した場合、認証が成功した旨の通知をデバイス処理振り分け部55に出力する。
デバイス処理振り分け部55は、認証の成功を認証部54から受け付けた場合、認証情報を受け付けたデバイス3(入力機器)と、認証情報を表示したデバイス3(出力機器)とを対応付ける。このように、開示の情報処理装置1は、1台のデバイス3(出力機器)を複数のエンドユーザで共有している場合、エンドユーザが利用するデバイス3(入力機器)とデバイス3(出力機器)とを対応付けることができる。
更にまた、デバイス処理振り分け部55は、デバイス3を仮想マシン4に直接割り当てるか、又はエミュレートしたデバイスを仮想マシン4に割り当てる。デバイス処理振り分け部55は、ユーザID及びデバイス3の割当要求を受け付けた場合、受け付けたユーザIDに対応する仮想マシン4の識別情報を仮想マシン管理テーブル(図示しない)から抽出する。デバイス処理振り分け部55は、抽出した仮想マシン4の識別情報とデバイス3の識別情報とを対応付けてデバイス管理テーブル51に記憶する。その結果、デバイス3は、仮想マシン4に割り当てられた状態となる。
デバイスエミュレータ56は、エミュレートしたデバイスが仮想マシン4に割り当てられた場合、デバイス3の物理的性状を抽象化して仮想資源を生成する。デバイス処理振り分け部55は、生成した仮想資源をデバイス3に代えて仮想マシン4に割り当てる。
情報処理装置1のCPU10は、仮想マシン4の機能及び仮想マシンモニタ5の機能を発揮することにより以下の処理を実行する。図7は実施の形態1における情報処理装置1が実行するデバイス解放処理の手順を示すフローチャートである。
仮想マシン4は、自機が遠隔操作により被操作状態であるか否かを判定する(S101)。例えば、仮想マシン4は、操作端末2からのリモート接続要求を受信したことにより、自機が遠隔操作により被操作状態であることを判定する。この判定方法の一例は、他の実施形態においても、同様に適用可能である。仮想マシン4は、被操作状態でないと判定した場合(S101でNO)、ステップS101の判定を繰り返す。
一方、仮想マシン4は、被操作状態であると判定した場合(S101でYES)、自機に接続してあるデバイス3の解放要求を仮想マシンモニタ5に出力する(S102)。
仮想マシンモニタ5は、デバイス管理テーブル51にアクセスし、要求があった仮想マシン4に割り当ててあるデバイス3が存在するか否かを判定する(S103)。仮想マシンモニタ5は、割り当ててあるデバイス3が存在していないと判定した場合(S103でNO)、処理を終了する。例えば、要求があった仮想マシン4の識別情報(VMID)をキーにして、デバイス管理テーブル51を参照し、仮想マシン4の識別情報に、デバイスID3の識別情報(デバイスID)が対応づけて記憶されていない場合、あるいは、仮想マシン4の識別情報が存在しない場合、仮想マシンモニタ5は、要求があった仮想マシン4に割り当ててあるデバイス3が存在しないと判定する。また、例えば、要求があった仮想マシン4の識別情報(VMID)をキーにして、デバイス管理テーブル51を参照し、仮想マシン4の識別情報に、デバイスID3の識別情報(デバイスID)が対応づけて記憶されている場合、仮想マシンモニタ5は、要求があった仮想マシン4に割り当ててあるデバイス3が存在すると判定する。なお。この判定方法の一例は、他の実施形態においても、同様に適用可能である。
一方、仮想マシンモニタ5は、割り当ててあるデバイス3が存在すると判定した場合(S103でYES)、デバイス3を仮想マシン4から解放し、デバイス管理テーブル51から対応するレコードを削除する(S104)。仮想マシンモニタ5は、解放したデバイス3(出力機器)に認証画面を出力する(S105)。仮想マシンモニタ5は、処理を終了する。仮想マシンモニタ5は、認証情報の入力があるまで待機する。
このように、開示の仮想計算機システムは、デバイス3を接続してある仮想マシン4に対する遠隔操作が開始された場合、仮想マシン4からデバイス3を解放する。解放されたデバイス3は、他の仮想マシン4に割り当て可能となる。その結果、より多くの仮想マシン4を操作することができる。
実施の形態2.
開示の仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法は、デバイス3を仮想マシン4から解放する場合、仮想マシン4を利用しているエンドユーザに解放の可否を確認するようにしてもよい。当該形態の内容を実施の形態2として以下説明する。
図8は実施の形態2における情報処理装置1の機能ブロック図である。情報処理装置1は、仮想マシン4及び仮想マシンモニタ5を有する。
仮想マシン4は、実施の形態1における仮想マシン4が有する機能に加え、解放確認部44を有する。リモート接続監視部42は、デバイス3の解放要求を解放確認部44に出力する。解放確認部44は、解放要求をリモート接続監視部42から受け付けた場合、解放確認画面を操作端末2に送信する。
図9は解放確認画面の表示例を示す図である。解放確認画面は、デバイス3の解放の可否を問う可否情報である。解放確認画面は、デバイス3を解放する旨のメッセージが表示された表示領域、デバイス3の解放を許可する旨を入力する許可ボタン(図9の「はい」と表示されたボタン)、及び解放を拒否する旨を入力する拒否ボタン(図9の「いいえ」と表示されたボタン)を有する。解放確認画面は、操作端末2のディスプレイ(図示せず)に出力される。操作端末2は、操作部(図示せず)を介して、ユーザによっていずれかのボタンに対する操作を受け付けることにより、解放を許可する旨の回答、あるいは、解放を拒否する旨の回答を受け付ける。操作端末2は、受け付けた回答を解放確認部44に送信する。
解放確認部44は、操作端末2から送信された回答を受信する。解放確認部44は、解放を許可する旨の回答を受信した場合、デバイス3の解放要求をデバイス解放要求部43に出力する。解放確認部44は、解放を拒否する旨の回答を受信した場合、デバイス3の解放を中止する。
なお、仮想計算機システムの全体構成、情報処理装置1の構成及び補助記憶装置15の記憶内容は、実施の形態1と同様であるから、対応箇所に同一の符号を付してその説明を省略する。
情報処理装置1のCPU10は、仮想マシン4の機能及び仮想マシンモニタ5の機能を発揮することにより以下の処理を実行する。図10は実施の形態2における情報処理装置1が実行するデバイス解放処理の手順を示すフローチャートである。
仮想マシン4は、自機が遠隔操作により被操作状態であるか否かを判定する(S201)。仮想マシン4は、被操作状態でないと判定した場合(S201でNO)、ステップS201の判定を繰り返す。
一方、仮想マシン4は、被操作状態であると判定した場合(S201でYES)、操作元となる操作端末2に解放確認画面を送信する(S202)。仮想マシン4は、操作端末2から送信された回答を受信する。仮想マシン4は、解放を許可する旨の回答を受信したか否かを判定する(S203)。仮想マシン4は、解放を許可しない旨の回答を受信したと判定した場合(S203でNO)、処理を終了する。
一方、仮想マシン4は、解放を許可する旨の回答を受信したと判定した場合(S203でYES)、自機に接続してあるデバイス3の解放要求を仮想マシンモニタ5に出力する(S204)。
仮想マシンモニタ5は、デバイス管理テーブル51にアクセスし、要求があった仮想マシン4に割り当ててあるデバイス3が存在するか否かを判定する(S205)。仮想マシンモニタ5は、割り当ててあるデバイス3が存在していないと判定した場合(S205でNO)、処理を終了する。
一方、仮想マシンモニタ5は、割り当ててあるデバイス3が存在すると判定した場合(S205でYES)、デバイス3を仮想マシン4から解放し、デバイス管理テーブル51から対応するレコードを削除する(S206)。仮想マシンモニタ5は、解放したデバイス3(出力機器)に認証画面を出力する(S207)。仮想マシンモニタ5は、処理を終了する。仮想マシンモニタ5は、認証情報の入力があるまで待機する。
このように、開示の仮想計算機システムは、デバイス3を使用して仮想マシン4を利用しているエンドユーザが、さらに、操作端末2を使用して仮想マシン4を遠隔操作したとしても、エンドユーザの意に反して、デバイス3を仮想マシン4から自動的に解放するという事態を回避する。例えば、エンドユーザが、少しの時間、操作端末2を使用して仮想マシン4を利用した後、また直ぐに、デバイス3を使用して仮想マシン4の利用を再開したい場合に、デバイス3が自動的に解放されて、他のユーザに使用されることを防止することが可能であり、また、デバイス3による仮想マシン4の利用を再開する場合に、再度認証処理を行う必要がなく、エンドユーザの利便性が増す。
実施の形態3.
開示の仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法は、割り当て可能なデバイス3が尽きた場合、その後にデバイス3を割り当てるべき仮想マシン4を解放待ちにしてもよい。また、解放待ちの仮想マシン4が存在する場合に、デバイス3を遠隔操作を要求する仮想マシン4から解放するようにしてもよい。当該形態の内容を実施の形態3として以下説明する。
図11は実施の形態3における情報処理装置1の機能ブロック図である。情報処理装置1は、仮想マシン4及び仮想マシンモニタ5を有する。
仮想マシン4は、実施の形態1における仮想マシン4が有する機能に加え、解放待ち申請部45を有する。解放待ち申請部45は、デバイス3が解放されることを待っている旨の申請を受け付ける。解放待ち申請は、仮想マシン4を利用しているエンドユーザにより入力される。解放待ち申請は、解放されたデバイス3を自機に割り当てる旨の割当要求を意味する。解放待ち申請部45は、受け付けた解放待ち申請及び自機の識別情報を仮想マシンモニタ5に出力する。
仮想マシンモニタ5は、実施の形態1における仮想マシンモニタ5が有する機能に加え、解放待ち申請受付部57、解放待ち申請保存部58及び解放待ち情報テーブル59を有する。
解放待ち申請受付部57は、解放待ち申請及び仮想マシン4の識別情報を解放待ち申請部45から受け付ける。解放待ち申請受付部57は、解放待ち申請を受け付けた場合、解放待ちを保存する旨の要求を解放待ち申請保存部58に出力する。
解放待ち申請保存部58は、保存要求を解放待ち申請受付部57から受け付けた場合、仮想マシン4の識別情報を解放待ち情報テーブル59に記憶する。解放待ち情報テーブル59は、解放待ちの仮想マシン4の識別情報を記憶する。
デバイス接続確認部52は、デバイス3の解放要求をデバイス解放要求部43から受け付けた場合であって仮想マシン4の識別情報が解放待ち情報テーブル59に存在すると判断したとき、デバイス3の解放要求をデバイス解放部53に出力する。
なお、仮想計算機システムの全体構成及び情報処理装置1の構成のうち、実施の形態1と同様のものについては、対応箇所に同一の符号を付してその説明を省略する。
図12は実施の形態3における補助記憶装置15の記憶内容を示す図である。補助記憶装置15は、実施の形態1における補助記憶装置15の記憶内容に加え、解放待ち情報テーブル59を記憶する。
情報処理装置1のCPU10は、仮想マシン4の機能及び仮想マシンモニタ5の機能を発揮することにより以下の処理を実行する。図13は実施の形態3における情報処理装置1が実行する解放待ち申請処理の手順を示すフローチャートである。
仮想マシン4は、解放待ち申請を受け付けたか否かを判定する(S301)。仮想マシン4は、解放待ち申請を受け付けていないと判定した場合(S301でNO)、ステップS301の判定を繰り返す。
一方、仮想マシン4は、解放待ち申請を受け付けたと判定した場合(S301でYES)、解放待ち申請及び解放待ち申請を要求した仮想マシン4の識別情報を仮想マシンモニタ5に出力する。
仮想マシンモニタ5は、受け付けた、解放待ち申請を要求した仮想マシン4の識別情報を解放待ち情報テーブル59に記憶する(S302)。仮想マシンモニタ5は、処理の実行権を仮想マシン4に譲渡する。仮想マシン4は、ステップS301の判定を繰り返す。
図14は実施の形態3における情報処理装置1が実行するデバイス解放処理の手順を示すフローチャートである。仮想マシン4は、自機が遠隔操作により被操作状態であるか否かを判定する(S401)。仮想マシン4は、被操作状態でないと判定した場合(S401でNO)、ステップS401の判定を繰り返す。
一方、仮想マシン4は、被操作状態であると判定した場合(S401でYES)、自機に接続してあるデバイス3の解放要求を仮想マシンモニタ5に出力する(S402)。
仮想マシンモニタ5は、デバイス3の解放要求を受信すると、解放待ち情報テーブル59にアクセスし、解放待ちの仮想マシン4が存在するか否かを判定する(S403)。仮想マシンモニタ5は、解放待ちの仮想マシン4が存在していないと判定した場合(S403でNO)、処理を終了する。
一方、仮想マシンモニタ5は、解放待ちの仮想マシン4が存在すると判定した場合(S403でYES)、デバイス管理テーブル51にアクセスし、遠隔操作の要求があった仮想マシン4に割り当ててあるデバイス3が存在するか否かを判定する(S404)。仮想マシンモニタ5は、割り当ててあるデバイス3が存在していないと判定した場合(S404でNO)、処理を終了する。
一方、仮想マシンモニタ5は、割り当ててあるデバイス3が存在すると判定した場合(S404でYES)、デバイス3を仮想マシン4から解放し、デバイス管理テーブル51及び解放待ち情報テーブル59から対応するレコードを削除する(S405)。仮想マシンモニタ5は、解放したデバイス3(出力機器)に認証画面を出力する(S406)。仮想マシンモニタ5は、処理を終了する。仮想マシンモニタ5は、認証情報の入力があるまで待機する。
このように、開示の仮想計算機システムは、解放待ちの仮想マシン4が存在していない場合をデバイス解放が不要であると判断する。開示の仮想計算機システムは、デバイス解放が不要であると判断した場合、デバイス3を解放する事態を回避する。その結果、エンドユーザは、可能な限り、仮想マシン4をデバイス3により操作することができる。また、デバイス3の利用を希望するユーザが存在しない場合に、無駄なデバイス3の解放処理を行わないことにより、情報処理装置1の処理負荷を低減できる。
また、情報処理装置1は、解放したデバイス3を、解放待ちの順序に従って仮想マシン4に割り当てる。例えば、解放待ち情報テーブル59に、解放待ち申請を要求した仮想マシン4の識別情報を記憶する際に、解放待ち申請を受け付けた日時等を対応づけて記憶しておく。デバイス処理振り分け部55は、解放待ち情報テーブル59にアクセスし、解放待ち申請を受け付けた日時が最も古い仮想マシン4の識別情報を抽出する。デバイス処理振り分け部55は、抽出した仮想マシン4の識別情報とデバイス3の識別情報とを対応付けてデバイス管理テーブル51に記憶する。その結果、デバイス3は、解放待ちの順序に従い、仮想マシン4に割り当てられた状態となる。なお、解放待ち申請を受け付けた日時以外に、解放待ち申請を受け付けた順番に連番を振る等、解放待ち申請を受け付けた順番が判別可能な情報を使用してもよい。
また、情報処理装置1は、解放したデバイス3を、所定の優先度に従って仮想マシン4に割り当てる。具体的には、デバイス処理振り分け部55は、起動の日時が最も古い仮想マシン4を選定する。デバイス処理振り分け部55は、選定した仮想マシン4の識別情報とデバイス3の識別情報とを対応付けてデバイス管理テーブル51に記憶する。その結果、デバイス3は、所定の優先度に従い、仮想マシン4に割り当てられた状態となる。
また、所定の優先度は、起動の日時が古いほど高くなる一例に限らず、起動の日時が新しいほど高くなるようにしてもよい。また、所定の優先度は、CPU10の処理負荷が大きいほど高くなるようにしてもよい。
実施の形態4.
開示の仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法は、デバイス3を解放した旨の通知を解放待ちの仮想マシン4に出力するようにしてもよい。当該形態の内容を実施の形態4として以下説明する。
図15は実施の形態4における情報処理装置1の機能ブロック図である。情報処理装置1は、仮想マシン4及び仮想マシンモニタ5を有する。
仮想マシン4は、実施の形態3における仮想マシン4が有する機能に加え、解放通知出力部46を有する。解放通知出力部46は、仮想マシンモニタ5から出力された解放通知を受け付ける。解放通知出力部46は、受け付けた解放通知をエンドユーザに報知する。
仮想マシンモニタ5は、実施の形態3における仮想マシンモニタ5が有する機能に加え、解放通知生成部510を有する。解放通知生成部510は、デバイス接続確認部52から、デバイス3が解放された旨の通知を受信すると、解放待ち申請を要求した仮想マシン4のエンドユーザに対してデバイス3が解放されたことを報知するための解放通知を生成する。解放通知生成部510は、解放待ち情報テーブル59にアクセスし、解放待ちの仮想マシン4の識別情報を抽出する。解放通知生成部510は、抽出した識別情報が示す仮想マシン4を利用している操作端末2の表示部に解放通知を出力する。
図16は解放通知の表示例を示す図である。解放通知は、デバイス3が解放されたことを示すメッセージを表示する表示領域、確認完了を入力する完了ボタン(図16の「OK」が表示されたボタン)を有する。解放通知は、操作端末2のディスプレイに出力される。操作端末2は、操作部を介して確認完了を受け付け、仮想マシン4に出力する。この例では解放された旨のみの表示であるが、デバイス管理テーブル51から解放されたデバイス3のデバイス情報を取得し、どのデバイス3が解放されたか表示しても良い。
なお、仮想計算機システムの全体構成、情報処理装置1の構成及び補助記憶装置15の記憶内容は、実施の形態3と同様であるから、同一の箇所に同一の符号を付してその説明を省略する。
情報処理装置1のCPU10は、仮想マシン4の機能及び仮想マシンモニタ5の機能を発揮することにより以下の処理を実行する。図17は実施の形態4における情報処理装置1が実行するデバイス解放処理の手順を示すフローチャートである。
仮想マシン4は、自機が遠隔操作により被操作状態であるか否かを判定する(S501)。仮想マシン4は、被操作状態でないと判定した場合(S501でNO)、ステップS501の判定を繰り返す。
一方、仮想マシン4は、被操作状態であると判定した場合(S501でYES)、自機に接続してあるデバイス3の解放要求を仮想マシンモニタ5に出力する(S502)。
仮想マシンモニタ5は、デバイス管理テーブル51にアクセスし、要求があった仮想マシン4に割り当ててあるデバイス3が存在するか否かを判定する(S503)。仮想マシンモニタ5は、割り当ててあるデバイス3が存在していないと判定した場合(S503でNO)、処理を終了する。
一方、仮想マシンモニタ5は、割り当ててあるデバイス3が存在すると判定した場合(S503でYES)、デバイス3を仮想マシン4から解放し(S504)、デバイス管理テーブル51及び解放待ち情報テーブル59から対応するレコードを削除する。仮想マシンモニタ5は、解放待ち要求を行った仮想マシン4を利用している操作端末2の表示部に解放通知を出力する(S505)。一方、仮想マシンモニタ5は、解放したデバイス3(出力機器)に認証画面を出力する(S506)。仮想マシンモニタ5は、処理を終了する。仮想マシンモニタ5は、認証情報の入力があるまで待機する。
このように、開示の仮想計算機システムは、デバイス3を解放した後、デバイス3を解放した旨を解放待ち要求を行った仮想マシン4を利用している操作端末2の表示部に報知させることにより、デバイス3の解放待ちをしているエンドユーザに対して、デバイス3が解放されたことを即座に認識させる。解放待ちのエンドユーザは、仮想マシン4から解放されて自機に割り当て可能なデバイス3が存在することを早期に確認できる。
なお、上述した実施例では、解放通知生成部501が解放待ちの仮想マシン4の全てに解放通知を出力する一例に説明した。しかしながら、開示の仮想計算機システムは、これに限定されるものでなく、解放通知生成部501が解放待ちの日時が最も古い仮想マシン4のみに解放通知を出力する、あるいは、解放待ちしている仮想マシン4のユーザの優先度付けを行い、優先度の高い順に解放通知を出力するようにしてもよい。
実施の形態5.
実施の形態1〜4にあっては、仮想マシン4からデバイス3を解放する一例を説明した。しかし、開示の仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法は、これに限定されるものでなく、仮想マシン4から遠隔操作を解放するようにしてもよい。当該形態の内容を実施の形態5として以下説明する。
図18は実施の形態5における情報処理装置1の機能ブロック図である。情報処理装置1は、仮想マシン4及び仮想マシンモニタ5を有する。
仮想マシン4は、ゲストOS40、リモート操作サーバ41及びリモート解放要求部47を有する。ゲストOS40は、仮想マシン4内で起動し、仮想マシン4の仮想資源を制御する。
リモート解放要求部47は、遠隔操作を解放する旨の要求を、後述するリモート解放部516から受け付けた場合、当該要求をリモート操作サーバ41に出力する。
リモート操作サーバ41は、解放要求をリモート解放要求部47から受け付けた場合、操作端末2の遠隔操作の受け付けを拒否する。その結果、遠隔操作は、仮想マシン4から解放された状態となる。
仮想マシンモニタ5は、仮想マシン起動部50、デバイス管理テーブル51、デバイス処理振り分け部55、デバイスエミュレータ56、認証部511、認証情報テーブル512、デバイス接続部513、仮想マシン管理テーブル514、デバイス群管理テーブル515及びリモート解放部516を有する。
図19は実施の形態5における補助記憶装置15の記憶内容を示す図である。補助記憶装置15は、実施の形態1のおける補助記憶装置15の記憶内容に加え、認証情報テーブル512、仮想マシン管理テーブル514及びデバイス群管理テーブル515を記憶する。
図20は認証情報テーブル512のフォーマット例を示す図である。認証情報テーブル512は、ユーザIDとパスワードとを対応付けて記憶する。
図21は仮想マシン管理テーブル514のフォーマット例を示す図である。仮想マシン管理テーブル514は、ユーザIDと仮想マシン4の識別情報(VMID)とを対応付けて記憶する。ユーザIDと仮想マシン4との対応付けは、ユーザが認証画面にてユーザID及びパスワードを入力して、仮想マシン4へのログイン操作を行うことを契機にして、CPU10により実行され、仮想マシン管理テーブル514に記憶される。
図22はデバイス群管理テーブル515のフォーマット例を示す図である。デバイス群管理テーブル515は、仮想マシン4に割り当てる複数のデバイス3の識別情報を対応付け、グループとして記憶する。デバイス群管理テーブル515は、グループの識別情報(グループID)、デバイス3の識別情報(デバイスID)及びデバイス3の種類(デバイス種類)を対応付けて記憶する。
仮想マシン起動部50、デバイス管理テーブル51及びデバイスエミュレータ56は、実施の形態1と同様であるので、対応箇所に同一の符号を付してその説明を省略する。
デバイス処理振り分け部55は、デバイス3(入力機器)のいずれかから認証情報を受け付ける。デバイス処理振り分け部55は、受け付けた認証情報を認証部511に出力し、デバイス3(入力機器)に対応するデバイス3(出力機器)に認証画面に表示させる。
認証部511は、仮想マシン4に使われていないデバイス3(出力機器)に認証画面(図6参照)を出力する。認証部511は、以下の認証処理を実行する。認証部511は、認証情報をデバイス処理振り分け部55から受け付けた場合、受け付けた認証情報と認証情報テーブル152とを比較する。認証部511は、受け付けた認証情報が認証情報テーブル512に記憶されていると判定した場合、認証が成功した旨の通知をデバイス接続部513に出力する。
デバイス接続部513は、認証の成功示す通知を認証部511から受け付けた場合、仮想マシン管理テーブル514にアクセスし、ユーザIDに対応する仮想マシン4の識別情報を抽出する。デバイス接続部513は、デバイス群管理テーブル515にアクセスし、入力があったデバイス3(入力機器)と同一のグループに属するデバイス3の識別情報を全て抽出する。
デバイス接続部513は、デバイス接続部513にて抽出した仮想マシン4の識別情報とデバイス3の識別情報とを対応付けてデバイス管理テーブル51に記憶する。その結果、デバイス3は、仮想マシン4に割り当てられた状態となる。デバイス接続部513は、デバイス3を割り当てた仮想マシン4の識別情報をリモート解放部516に出力する。
リモート解放部516は、仮想マシン4の識別情報をデバイス接続部513から受け付けた場合、受け付けた仮想マシン4の識別情報に対応する仮想マシン4に対して、遠隔操作の解放を要求する旨の解放要求を出力する。
なお、仮想計算機システムの全体構成及び情報処理装置1の構成は、実施の形態1と同様であるから、対応箇所に同一の符号を付してその説明を省略する。
情報処理装置1のCPU10は、仮想マシン4の機能及び仮想マシンモニタ5の機能を発揮することにより以下の処理を実行する。図23は実施の形態5における情報処理装置1が実行するデバイス解放処理の手順を示すフローチャートである。
仮想マシンモニタ5は、仮想マシン4に使われていないデバイス3(出力機器)に認証画面を出力する。仮想マシンモニタ5は、デバイス3(入力機器)のいずれかを介して入力された認証情報を受け付ける(S601)。仮想マシンモニタ5は、受け付けた認証情報に基づいて認証処理を実行する。仮想マシンモニタ5は、認証が成功したか否かを判定する(S602)。仮想マシンモニタ5は、認証が失敗したと判定した場合(S602でNO)、ステップS601の判定を繰り返す。
一方、仮想マシンモニタ5は、認証が成功したと判定した場合(S602でYES)、ユーザIDに対応する仮想マシン4を選定する(S603)。仮想マシンモニタ5は、認証情報の入力があったデバイス3(入力機器)と同一のグループに属するデバイス3を選定する(S604)。仮想マシンモニタ5は、選定したデバイス3を仮想マシン4に割り当てる(S605)。仮想マシンモニタ5は、選定した仮想マシン4に対して、仮想マシン4への操作端末2による遠隔操作を解放する旨の解放要求を仮想マシン4に出力する(S606)。
仮想マシン4は、仮想マシンモニタ5から操作端末2による遠隔操作の解放要求を受け付けると、操作端末2による遠隔操作を自機から解放する(S607)。仮想マシン4は、以後、新たに認証されたデバイス3との間で入出力情報の送受信を行い、処理を続行する。
このように、開示の仮想計算機システムは、操作端末2による遠隔操作の被操作状態である仮想マシン4にデバイス3が割り当てられた場合、仮想マシン4から操作端末2による遠隔操作を解放する。解放された操作端末2は、他の仮想マシン4から利用することが可能となる。その結果、デバイス3に空きが無い場合や、多少処理性能が低くなっても操作端末2による遠隔操作による仮想マシンの利用を希望するエンドユーザが、仮想マシン4を操作する機会を増加することができる。
実施の形態6.
実施の形態1〜5にあっては、遠隔操作の被操作状態を検出する手段及びデバイス3の解放を要求する手段を仮想マシン4が有する一例を説明した。しかし、開示の仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法は、これに限定されるものでなく、仮想マシン4以外の機器が有してもよい。当該形態の内容を実施の形態6として以下説明する。
図24は実施の形態6における仮想計算機システムの全体構成を示す図である。図24のうち、実施の形態1と同様のものについては、対応箇所に同一の符号を付してその説明を省略する。コネクションブローカ6は、コンピュータネットワークを介して情報処理装置1に接続可能である。コネクションブローカ6は、遠隔操作の被操作状態を検出する手段と、デバイス3の解放を要求する手段とを有する。
図25は実施の形態6における情報処理装置1及び周辺機器の構成を示すブロック図である。ネットワーク接続用通信制御部12は、コンピュータネットワークを介して各操作端末2の遠隔操作を受信するための資源である。また、ネットワーク接続用通信制御部12は、コンピュータネットワークを介してコネクションブローカ6に接続するための資源である。なお、その他のハードウェア資源は、実施の形態1と同様であるから、対応箇所に同一の符号を付してその説明を省略する。
図26は実施の形態6における情報処理装置1及び周辺機器の機能ブロック図である。
操作端末2は、リモート操作クライアント20及びリモート接続制御部21を有する。リモート接続制御部21は、いずれかの仮想マシン4に対する遠隔操作を開始する旨の開始要求及びユーザIDをエンドユーザの入力により受け付ける。リモート接続制御部21は、受け付けた開始要求及びユーザIDをコネクションブローカ6に送信する。リモート接続制御部21は、ユーザIDに対応する仮想マシン4のアドレスをコネクションブローカ6を介して仮想マシンモニタ5から受信する。リモート接続制御部21は、受信した仮想マシン4のアドレスをリモート操作クライアント20に出力する。
リモート操作クライアント20は、仮想マシン4のアドレスをリモート接続制御部21から受け付ける。リモート操作クライアント20は、受け付けたアドレスが示す仮想マシン4に対する遠隔操作を実行する。リモート操作クライアント20は、表示される画面情報を仮想マシン4から受信する。
コネクションブローカ6は、接続依頼受信部60、仮想マシン制御部61、リモート接続監視部62及びデバイス解放要求部63を有する。
接続依頼受信部60は、遠隔操作を開始する旨の開始要求及びユーザIDを操作端末2から受信する。接続依頼受信部60は、受信した開始要求及びユーザIDを仮想マシン制御部61に出力する。
仮想マシン制御部61は、開始要求及びユーザIDを接続依頼受信部60から受け付ける。仮想マシン制御部61は、受け付けた開始要求及びユーザIDを仮想マシンモニタ5に送信する。
リモート接続監視部62は、仮想マシン4に対する遠隔操作の可否を検出する。リモート接続監視部62は、仮想マシン4に対する遠隔操作を検出した場合、デバイス3を解放する旨の要求をデバイス解放要求部63に出力する。
デバイス解放要求部63は、解放要求をリモート接続監視部62から受け付けた場合、受け付けた解放要求、及び被操作状態にある仮想マシン4の識別情報を仮想マシンモニタ5に出力する。
情報処理装置1は、仮想マシン4及び仮想マシンモニタ5を有する。仮想マシン4は、ゲストOS40及びリモート操作サーバ41を有する。ゲストOS40は、仮想マシン4を制御する。リモート操作サーバ41は、仮想マシン4に対する遠隔操作を操作端末2から受け付け、受け付けた遠隔操作の命令に従ってゲストOS40を制御する。リモート操作サーバ41は、表示する画面情報を操作端末2へ出力する。リモート操作サーバ41は、仮想化されたCPU10の機能の一つである。仮想化されたCPU10は、ゲストOS40又はその他のアプリケーションソフトウェアに従う。
仮想マシンモニタ5は、実施の形態1における仮想マシンモニタ5が有する機能に加え、仮想マシン制御受信部517を有する。
デバイス管理テーブル51、デバイス解放部53、認証部54、デバイス処理振り分け部55及びデバイスエミュレータ56は、実施の形態1と同様であるから、対応箇所に同一の符号を付してその説明を省略する。
デバイス接続確認部52は、デバイス3の解放要求及び仮想マシン4の識別情報をコネクションブローカ6から受け付ける。デバイス接続確認部52は、仮想マシン4に対応するデバイス3の識別情報をデバイス管理テーブル51から抽出する。デバイス3の識別情報がデバイス管理テーブル51に存在する場合、デバイス3の解放要求、デバイス3の識別情報及び仮想マシン4の識別情報をデバイス解放部53に出力する。
仮想マシン制御受信部517は、開始要求及びユーザIDをコネクションブローカ6から受信する。仮想マシン制御受信部517は、仮想マシン管理テーブル(図示せず)にアクセスし、ユーザIDに対応する仮想マシン4の識別情報を抽出する。仮想マシン制御受信部517は、ユーザIDに対応する仮想マシン4が起動していない場合、開始要求及び仮想マシン4の識別情報を仮想マシン起動部50に出力する。仮想マシン制御受信部517は、仮想マシン4のアドレスをコネクションブローカ6を介して操作端末2のリモート接続制御部21に送信する。
仮想マシン起動部50は、開始要求及び仮想マシン4の識別情報を仮想マシン制御受信部517から受け付ける。仮想マシン起動部50は、受信した仮想マシン4の識別情報に対応する仮想マシン4を起動する。
情報処理装置1のCPU10は、仮想マシンモニタ5の機能を発揮することにより以下の処理を実行する。図27は実施の形態6における情報処理装置1が実行する遠隔操作処理の手順を示すフローチャートである。
仮想マシンモニタ5は、遠隔操作の開始要求及びユーザIDをコネクションブローカ6を介して操作端末2から受信する(S701)。仮想マシンモニタ5は、仮想マシン管理テーブルにアクセスし、受信したユーザIDに対応する仮想マシン4を選定し、起動する(S702)。仮想マシンモニタ5は、選定した仮想マシン4のアドレスをコネクションブローカ6を介して操作端末2に送信する(S703)。仮想マシンモニタ5は、処理を終了する。なお、仮想マシン4は、操作端末2から接続要求が来た時点で起動していない場合は起動し、遠隔操作終了時点で止めてもよいし、常に起動させた状態のままでもよい。
図28は実施の形態6における情報処理装置1が実行するデバイス解放処理の手順を示すフローチャートである。仮想マシンモニタ5は、デバイス3の解放要求及びユーザIDをコネクションブローカ6から受信する(S801)。仮想マシンモニタ5は、デバイス管理テーブル51にアクセスし、受信した仮想マシン4に割り当ててあるデバイス3が存在するか否かを判定する(S802)。仮想マシンモニタ5は、割り当ててあるデバイス3が存在していないと判定した場合(S802でNO)、処理を終了する。
一方、仮想マシンモニタ5は、割り当ててあるデバイス3が存在すると判定した場合(S802でYES)、デバイス3を仮想マシン4から解放する(S803)。仮想マシンモニタ5は、解放したデバイス3(出力機器)に認証画面を出力する(S804)。仮想マシンモニタ5は、処理を終了する。仮想マシンモニタ5は、認証情報の入力があるまで待機する。
このように、開示の仮想計算機システムは、デバイス3を接続してある仮想マシン4に対する遠隔操作が開始された場合、仮想マシン4からデバイス3を解放する。解放されたデバイス3は、他の仮想マシン4に割り当て可能となる。その結果、より多くの仮想マシン4を操作することができる。

Claims (17)

  1. 物理資源を論理的に分割して複数の仮想計算機として動作させる中央装置と、該中央装置と通信回線を介して接続可能な複数の端末装置とを備え、
    各仮想計算機は、
    自機に対する遠隔操作を前記端末装置のいずれかから受付ける受付手段
    を備え、
    前記中央装置は、
    入出力機器を複数接続するインタフェースと、
    接続してある入出力機器をそれぞれ前記仮想計算機のいずれかに割当てる割当手段と、
    前記仮想計算機のいずれかが入出力機器を割当てられると共に、前記遠隔操作の被操作機となった場合、入出力機器又は遠隔操作のいずれかを被操作機から解放する解放手段と
    を備え、
    解放した入出力機器を被操作機と異なる他の仮想計算機に割当可能とするようにしてあることを特徴とする仮想計算機システム。
  2. 前記解放手段は、入出力機器を割当ててある仮想計算機が被操作機となった場合、入出力機器を解放するようにしてあることを特徴とする請求項1に記載の仮想計算機システム。
  3. 前記仮想計算機は、
    自機が被操作機となったことを検出する検出手段と、
    被操作機となったことを検出した場合、入出力機器を自機から解放することを前記解放手段に要求する出力手段と
    を更に備え、
    前記解放手段は、解放要求があった被操作機から入出力機器を解放するようにしてあることを特徴とする請求項2に記載の仮想計算機システム。
  4. 前記仮想計算機は、
    被操作機となったことを検出した場合、入出力機器を解放することの可否を問う可否情報を出力する手段
    を更に備え、
    前記出力手段は、受付けた可否情報に応じて、入出力機器を解放することを要求するようにしてあることを特徴とする請求項3に記載の仮想計算機システム。
  5. 前記仮想計算機のいずれかが被操作機となったことを検出する検出装置を更に備え、
    該検出装置は、
    被操作機となったことを検出した場合、入出力機器を被操作機から解放することを前記中央装置に要求する送信手段
    を備え、
    前記解放手段は、解放要求された被操作機から入出力機器を解放するようにしてあることを特徴とする請求項2に記載の仮想計算機システム。
  6. 前記中央装置は、
    割当可能な入出力機器が尽きた場合、以降に割当てるべき仮想計算機を解放待ちとして記憶する記憶手段
    を更に備え、
    前記解放手段は、解放待ちとしてある仮想計算機が存在する場合、入出力機器を被操作機から解放するようにしてあることを特徴とする請求項2乃至5のいずれか一つに記載の仮想計算機システム。
  7. 前記中央装置は、
    前記解放手段が入出力機器を被操作機から解放した場合、解放したことを解放待ちとしてある仮想計算機に通知する手段
    を更に備えることを特徴とする請求項6に記載の仮想計算機システム。
  8. 前記割当手段は、入出力機器の割当を前記仮想計算機のいずれかが要求した場合、割当可能な入出力機器を割当要求があった仮想計算機に割当てるようにしてあることを特徴とする請求項2乃至7のいずれか一つに記載の仮想計算機システム。
  9. 前記割当手段は、割当要求があった順序に従い、入出力機器を割当てるようにしてあることを特徴とする請求項8に記載の仮想計算機システム。
  10. 前記割当手段は、所定の優先度に従い、入出力機器を割当てるようにしてあることを特徴とする請求項8に記載の仮想計算機システム。
  11. 前記割当手段は、
    入出力機器を仮想化して仮想資源を生成する手段と、
    生成した仮想資源を入出力機器に代えて被操作機に割当てる手段と
    を更に備え、
    前記解放手段は、生成した仮想資源を割当てることにより入出力機器を被操作機から解放するようにしてあることを特徴とする請求項2乃至10のいずれか一つに記載の仮想計算機システム。
  12. 前記解放手段は、前記割当手段が入出力機器を被操作機に割当てた場合、遠隔操作を被操作機から解放するようにしてあることを特徴とする請求項1に記載の仮想計算機システム。
  13. 物理資源を論理的に分割して複数の仮想計算機として動作させる情報処理装置であって、
    通信回線を介して接続してある外部装置から各仮想計算機が遠隔操作を受付ける受付手段と、
    入出力機器を複数接続するインタフェースと、
    接続してある入出力機器をそれぞれ前記仮想計算機のいずれかに割当てる割当手段と、
    前記仮想計算機のいずれかが入出力機器を割当てられると共に、前記遠隔操作の被操作機となった場合、入出力機器又は遠隔操作のいずれかを被操作機から解放する解放手段と
    を備えることを特徴とする情報処理装置。
  14. 入出力機器を被操作機から解放する旨の要求を外部装置から受信する手段
    を更に備え、
    前記解放手段は、解放要求された被操作機から入出力機器を解放するようにしてあることを特徴とする請求項13に記載の情報処理装置。
  15. コンピュータに、物理資源を論理的に分割して複数の仮想計算機として動作させるコンピュータプログラムであって、
    コンピュータに、
    外部装置による遠隔操作を各仮想計算機に受付させるステップと、
    自機に複数接続された入出力機器をそれぞれ検出させるステップと、
    検出された入出力機器をそれぞれ前記仮想計算機のいずれかに割当てさせるステップと、
    前記仮想計算機のいずれかが入出力機器を割当てられると共に、前記遠隔操作の被操作機となった場合、入出力機器又は遠隔操作のいずれかを被操作機から解放させる解放ステップと
    を実行させることを特徴とするコンピュータプログラム。
  16. 前記解放ステップは、入出力機器を被操作装置から解放する旨の要求を外部装置から受付けた場合、解放要求された被操作機から入出力機器を解放するようにしてあることを特徴とする請求項15に記載のコンピュータプログラム。
  17. 物理資源を論理的に分割して複数の仮想計算機として動作させる中央装置と、該中央装置と通信回線を介して接続可能な複数の端末装置とを備える仮想システムに用いられる仮想計算機への接続制御方法であって、
    仮想計算機に対する利用要求に基づいて、当該仮想計算機と、当該仮想計算機の利用を要求してきた前記中央装置に接続された入出力装置あるいは前記端末装置とを対応付けて記憶しておき、
    前記仮想計算機に対する利用要求を受け付けた場合に、当該仮想計算機に対応付けて記憶されている中央装置に接続された入出力装置あるいは端末装置が存在するか否かを確認し、
    当該仮想計算機に対応付けて記憶されている中央装置に接続された入出力装置あるいは端末装置が存在することが確認された場合に、確認された当該仮想計算機に対応付けて記憶されている中央装置に接続された入出力装置あるいは端末装置による当該仮想計算機への接続を解放することを特徴とする接続制御方法。
JP2011506875A 2009-03-31 2009-03-31 仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法 Expired - Fee Related JP5360199B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/056637 WO2010113248A1 (ja) 2009-03-31 2009-03-31 仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法

Publications (2)

Publication Number Publication Date
JPWO2010113248A1 true JPWO2010113248A1 (ja) 2012-10-04
JP5360199B2 JP5360199B2 (ja) 2013-12-04

Family

ID=42827580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011506875A Expired - Fee Related JP5360199B2 (ja) 2009-03-31 2009-03-31 仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法

Country Status (3)

Country Link
US (1) US20120017211A1 (ja)
JP (1) JP5360199B2 (ja)
WO (1) WO2010113248A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9646453B2 (en) * 2011-12-23 2017-05-09 Bally Gaming, Inc. Integrating three-dimensional and two-dimensional gaming elements
EP2709006A1 (en) * 2012-09-14 2014-03-19 Alcatel Lucent Peripheral interface for residential IaaS
JP2014147045A (ja) * 2013-01-30 2014-08-14 Seiko Epson Corp 制御システム、及び、制御システムの制御方法
US20140211255A1 (en) * 2013-01-30 2014-07-31 Seiko Epson Corporation Control system and control method of a control system
EP2960784A4 (en) * 2013-02-21 2016-09-14 Nec Corp VIRTUALIZATION SYSTEM
CN104052776B (zh) * 2013-03-14 2017-11-21 华为技术有限公司 Vm开机方法、vmm、共享存储系统、vdi系统及物理主机
WO2014192259A1 (ja) * 2013-05-27 2014-12-04 日本電気株式会社 ネットワーク制御装置、ネットワーク制御方法、プログラムおよび通信システム
US10904201B1 (en) * 2013-10-11 2021-01-26 Cisco Technology, Inc. Updating distributed caches in network devices in the event of virtual machine changes in a virtualized network environment

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0758469B2 (ja) * 1988-06-17 1995-06-21 日本電気株式会社 仮想計算機システムの構成変更方式
JPH03282828A (ja) * 1990-03-30 1991-12-13 Nec Corp 入出力装置切替え方式
JPH04107640A (ja) * 1990-08-29 1992-04-09 Nec Corp 計算機システム
JPH04273536A (ja) * 1991-02-28 1992-09-29 Nec Corp 仮想計算機入出力装置制御方式
US7690043B2 (en) * 1994-12-19 2010-03-30 Legal Igaming, Inc. System and method for connecting gaming devices to a network for remote play
US7181744B2 (en) * 2002-10-24 2007-02-20 International Business Machines Corporation System and method for transferring data between virtual machines or other computer entities
US7971203B2 (en) * 2004-03-05 2011-06-28 Intel Corporation Method, apparatus and system for dynamically reassigning a physical device from one virtual machine to another
JP4580693B2 (ja) * 2004-06-11 2010-11-17 株式会社日立製作所 共有排他制御方法
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
JP4127315B2 (ja) * 2006-05-24 2008-07-30 株式会社日立製作所 デバイス管理システム
WO2008117472A1 (ja) * 2007-03-27 2008-10-02 Fujitsu Limited コンピュータ、遠隔起動方法、および遠隔起動プログラム
US8181175B1 (en) * 2008-01-28 2012-05-15 Hewlett-Packard Development Company, L.P. Accounting for resource usage time by a virtual machine
CA2713876C (en) * 2008-02-26 2014-11-04 Vmware, Inc. Extending server-based desktop virtual machine architecture to client machines

Also Published As

Publication number Publication date
US20120017211A1 (en) 2012-01-19
WO2010113248A1 (ja) 2010-10-07
JP5360199B2 (ja) 2013-12-04

Similar Documents

Publication Publication Date Title
JP5360199B2 (ja) 仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法
JP5343586B2 (ja) 情報処理装置、情報処理方法及びコンピュータプログラム
US10120705B2 (en) Method for implementing GPU virtualization and related apparatus, and system
EP2269132B1 (en) Storage system and control method thereof as well as program
EP2815328B1 (en) Power efficient brokered communication supporting notification blocking
US7970974B2 (en) Method and system for adding or removing a logical unit of a USB mass storage device
US20100241772A1 (en) Thin client server system and method of managing a driver of a usb device
US8947693B2 (en) Server system, method for printing system, and storage medium
US20110022993A1 (en) Screen saver control apparatus and method
EP2882168B1 (en) Method, system and client device for mapping multiple virtual machines
EP3029912A1 (en) Remote accessing method for device, thin client, and virtual machine
US11201836B2 (en) Method and device for managing stateful application on server
US20140149984A1 (en) Information processing apparatus, information processing method, and computer readable medium
GB2469369A (en) Allocating a physical device connected to a client to a virtual machine migrated to the client
US20170060488A1 (en) Information processing apparatus, method of controlling the same, print system and storage medium
CN104331319A (zh) 虚拟桌面实例的管理方法及装置
US20140351833A1 (en) Multi-computing environment operating on a single native operating system
JP4094560B2 (ja) リソース分割サーバ及びリソース分割サーバプログラム
JP2008107966A (ja) 計算機システム
JP2013105237A (ja) ジョブ処理システム、ジョブ処理装置、負荷分散装置、ジョブ処理プログラムおよび負荷分散プログラム
US9372819B2 (en) I/O device N—port ID virtualization
JP5962493B2 (ja) プログラム、情報処理装置およびオブジェクト送信方法
US9549019B2 (en) Managing a logical client for a virtual machine
CN108027752B (zh) 信息处理装置、用于信息处理装置的控制方法、和程序
CN102043741A (zh) 用于管道仲裁的电路和方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130430

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130819

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees