説明

情報処理装置、計算機システム及びプログラム

【課題】異なる装置で同じ仮想マシンを動作可能とした場合に、各装置で動作する仮想マシンの同時利用を回避することができる情報処理装置、計算機システム及びプログラムを提供する。
【解決手段】サーバ装置1で動作するサーバVMと同じVMである端末VMが動作する端末装置2がオンライン状態の場合に、シンクライアント端末5からの接続要求を受信したとき、端末装置2で動作する端末VMを利用不可に設定する。端末装置2がオフライン状態である場合、サーバ装置1で動作するサーバVMを利用不可に設定し、シンクライアント端末5からサーバVMを利用できないようにする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバ装置で動作する仮想計算機を、対応する端末装置に移動させる情報処理装置、計算機システム及びプログラムに関する。
【背景技術】
【0002】
1台のサーバ装置上で複数の仮想的なコンピュータ(以下、仮想マシン(VM:Virtual Machine)と言う)を動作させ、ネットワークを介してサーバ装置に接続される複数の端末装置それぞれに仮想マシンを割り当てるシステムがある。このシステムでは、サーバ装置で動作する各仮想マシン上でOperating System(OS)が稼働しており、各端末装置のユーザは、自身の端末装置から、割り当てられた仮想マシンのOSを利用することができる。すなわち、サーバ装置は、各端末装置のデスクトップコンピュータとして利用される。
【0003】
また、上述のシステムでは、仮想マシンをサーバ装置と端末装置との間でネットワークを介して移動させることが可能な技術がある(例えば特許文献1参照)。特許文献1では、サーバ装置で仮想マシンを動作させるための必要な情報(データ)を、端末装置に同期させ、端末装置でサーバ装置と同じ動作環境を実現可能としている。これにより、端末装置がオフラインによりサーバ装置と接続していない場合であっても、ユーザによる端末装置上での仮想マシンの利用を可能としている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4242819号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1のようにサーバ装置と端末装置との何れでも仮想マシンが動作可能とした場合、サーバ装置と端末装置とで同時に同じ仮想マシンが利用されるおそれがある。
【0006】
本発明はかかる事情に鑑みてなされたものであり、その目的とするところは、異なる装置で同じ仮想マシンを動作可能とした場合に、各装置で動作する仮想マシンの同時利用を回避することができる情報処理装置、計算機システム及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
本願に開示する情報処理装置は、仮想計算機を動作させる手段と、前記仮想計算機を、何れか一つが前記仮想計算機と同じ仮想計算機が動作する複数の外部装置から利用できるようにする手段と、仮想計算機が動作する外部装置が自装置に接続されているか否かを判定する接続判定手段と、該接続判定手段が接続されていないと判定した場合、自装置で動作する仮想計算機を利用不可にする手段と、自装置で動作する仮想計算機の利用開始要求を外部装置から受け付ける手段と、前記利用開始要求を行った外部装置が、仮想計算機が動作する外部装置であるか否かを判定する装置判定手段と、該装置判定手段が仮想計算機が動作する外部装置でないと判定し、かつ、前記接続判定手段が仮想計算機が動作する外部装置が接続されていると判定した場合、外部装置で動作する仮想計算機を利用不可にする手段とを備える。
【発明の効果】
【0008】
本願に開示する情報処理装置の一観点によれば、自装置と外部装置とで同じ仮想計算機が動作する場合、自装置及び外部装置で動作する仮想計算機の一方を利用不可とすることで、仮想計算機の同時利用を回避することができる。
【図面の簡単な説明】
【0009】
【図1】実施の形態に係る計算機システムを模式的に示す図である。
【図2】計算機システムに係るハードウェア構成を示すブロック図である。
【図3】計算機システムに係るハードウェア構成を示すブロック図である。
【図4】サーバ装置が有する機能を示すブロック図である。
【図5】VM管理テーブルを模式的に示す図である。
【図6】端末装置が有する機能を示すブロック図である。
【図7】端末装置の接続状態を監視する処理の手順を示すフローチャートである。
【図8】接続要求を受信する際のサーバ装置における処理手順を示すフローチャートである。
【図9】サーバ装置が実行する端末装置利用処理における処理手順を示すフローチャートである。
【図10】シンクライアント端末が実行するシンクライアント端末利用処理における処理手順を示すフローチャートである。
【図11】シンクライアント端末が実行するシンクライアント端末利用処理における処理手順を示すフローチャートである。
【図12】VMを利用する際の端末装置における処理手順を示すフローチャートである。
【図13】VMを利用する際の端末装置における処理手順を示すフローチャートである。
【図14A】VMの処理結果を表示した端末装置のモニタの一例を示す図である。
【図14B】VMの処理結果を表示した端末装置のモニタの一例を示す図である。
【図15】サーバ装置が有する機能を示すブロック図である。
【図16】端末装置が有する機能を示すブロック図である。
【図17】サーバ装置が実行する端末装置利用処理における処理手順を示すフローチャートである。
【図18】端末装置における処理手順を示すフローチャートである。
【図19】端末装置における処理手順を示すフローチャートである。
【図20】端末VMの利用期限の設定画面の一例を示す図である。
【図21】サーバ装置が有する機能を示すブロック図である。
【図22】端末装置が有する機能を示すブロック図である。
【図23】端末装置における処理手順を示すフローチャートである。
【図24】サーバ装置における処理手順を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に、本願に開示する情報処理装置、計算機システム及びプログラムについて、各実施形態を示す図面に基づいて詳述する。
【0011】
(実施形態1)
図1は、本実施の形態に係る計算機システムを模式的に示す図である。
【0012】
本実施の形態に係る計算機システムは、情報処理装置としてのサーバ装置1、及び複数の端末装置2,3,4を備えている。サーバ装置1と複数の端末装置2,3,4とは、ネットワークNを介して、有線又は無線により接続している。ネットワークNは、Local Area Network(LAN)又はWide Area Network(WAN)等である。
【0013】
サーバ装置1では、仮想化プログラムとしてのVirtual Machine Monitor(VMM)が実行しており、VMM上では複数のVMが動作する。VMMは、例えばCentral Processing Unit(CPU)及びRead Only Memory(ROM)等、サーバ装置1のリソースを各VMに割り当てて、各VMがリソースの利用を可能にするプログラムである。VMは、独自にOS及びアプリケーションを物理コンピュータと同じように実行させる仮想的なコンピュータである。各VMは、サーバ装置1に接続される端末装置2,3,4それぞれが割り当てられ、各端末装置2,3,4から、ネットワークNを介して利用される。なおサーバ装置1は、キーボード及びモニタなどを備えたパーソナルコンピュータ(以下、PCと言う)であってもよい。
【0014】
端末装置2,3,4は、キーボード、マウス及びモニタ等を備えたノート型PCである。端末装置2,3,4は、ネットワークNを介してサーバ装置1へ接続し、サーバ装置1で動作するVM(以下、サーバVMと言う)それぞれが割り当てられる。そして端末装置2,3,4は、その割り当てられたサーバVMをネットワークNを経由して利用することができる。例えば、端末装置2,3,4は、キーボード及びマウスから入力された操作を、自身が割り当てられたサーバVMへ送信し、サーバVMから処理結果を受信してモニタに表示する。以下の説明では、端末装置2についてのみ説明し、端末装置3,4の構成等は、端末装置2と同様であるため説明は省略する。
【0015】
端末装置2は、サーバ装置1と同様にVMMを実行し、そのVMM上でVMを動作可能となっている。端末装置2では、サーバVMと同じVMが、VMM上で動作するようになっている。具体的には、サーバ装置1が保持しているVM情報と、端末装置2が保持しているVM情報とを同期させ、それぞれが同じVM情報を保持するようにしている。VM情報とは、VMが動作するための動作環境などを実装するための情報、及び動作したVMにより生成され、記憶された情報(メモリ内容やHDD内容)等である。これにより、端末装置2では、サーバVMと同じVMがVMM上で動作するようになる。
【0016】
なお、端末装置2は、デスクトップ型PC、モニタに接続するセットトップボックス(STB:Set Top Box)、Personal Digital Assistant(PDA)又は携帯電話機等であってもよい。また、サーバ装置1へ接続する端末装置の数は、一台であってもよいし、三台以上であってもよい。
【0017】
サーバ装置1は、シンクライアント端末5がネットワークNを介して接続可能としてある。シンクライアント端末5は、ハードディスク等の大容量記憶媒体を備えないコンピュータである。シンクライアント端末5は、サーバ装置1で動作し、端末装置2,3,4の何れかが割り当てられたサーバVMが割り当てられている。以下では、シンクライアント端末5は、端末装置2が割り当てられたサーバVMが割り当てられ、それぞれが同じユーザにより使用されるものとして説明する。シンクライアント端末5は、端末装置2が割り当てられたサーバVMをネットワークNを経由して利用することができる。すなわち、端末装置2及びシンクライアント端末5は、サーバ装置1で動作する同じサーバVMを利用できるようになっている。
【0018】
なお、シンクライアント端末5は、ネットワークNとは異なる他のネットワークを介してサーバ装置1に接続する構成であってもよいし、ネットワークを介さずに直接サーバ装置1へ接続する構成であってもよい。またシンクライアント端末5は、ハードディスク等を備えたノートPC、デスクトップPC、又はPDA等であってもよい。さらに、端末装置2と同じ複数のシンクライアント端末5がサーバ装置1へ接続していてもよい。シンクライアント端末5は、端末装置2と異なるユーザにより使用されてもよい。
【0019】
以上のように構成される計算機システムにおいて、サーバ装置1のサーバVMは、端末装置2及びシンクライアント端末5の一方から利用されている場合、他方からは利用できないようになっている。これにより、端末装置2及びシンクライアント端末5が同時に同じサーバVMを利用することを回避できる。また、端末装置2は、サーバ装置1へ接続している場合には、サーバVMを利用し、サーバ装置1へ接続していない場合には、自身で動作しているVM(以下、端末VMと言う)を利用するようになっている。これにより、端末装置2がネットワークNに接続できない状態であっても、ユーザは、サーバVMと同じ端末VMの利用が可能となる。
【0020】
また、端末装置2がネットワークNに接続していない状態(以下、オフライン状態と言う)の場合、サーバVMは、シンクライアント端末5から利用できないようになっている。端末装置2がオフライン状態の場合、端末装置2では端末VMが利用されている可能性がある。この場合、サーバVMがシンクライアント端末5から利用されることで、同じVM(サーバVM及び端末VM)が、サーバ装置1と端末装置2とで独立して利用されるおそれがある。このため、端末装置2がオフライン状態の場合には、シンクライアント端末5からサーバVMを利用できなくすることで、同じVMが別々に利用されることを回避できる。
【0021】
以下、計算機システムの具体的な構成、機能及び動作等について詳述する。
【0022】
図2及び図3は、計算機システムに係るハードウェア構成を示すブロック図である。以下の説明では、端末装置2,3,4は、何れも同じ構成であるため、端末装置2についてのみ説明し、端末装置3,4の説明は省略する。
【0023】
サーバ装置1は、CPU10、ROM11、Random Access Memory(RAM)12、ハードディスクドライブ(以下、HDDという)13、及び通信部14等のハードウェア各部を備える。これらのハードウェア各部はバスを介して相互に接続されている。CPU10は、ROM11に格納されているプログラム11aを適宜RAM12に読み出して実行すると共に、上述したハードウェア各部の動作を制御する。ROM11は、プログラム11aを格納している。RAM12は、例えばStatic RAM(SRAM)、Dynamic RAM(DRAM)、フラッシュメモリ等である。RAM12は、CPU10によるプログラム11aの実行時に発生する種々のデータを一時的に記憶する。
【0024】
HDD13は大容量の記憶装置である。HDD13は、VMMプログラム、管理OSプログラム、ゲストOSプログラム、アプリケーションプログラム及び各処理に必要なデータテーブル等を格納している。各プログラムは、CPU10によりRAM12に読み出しされて実行される。なお、プログラム11aは、CD−ROM6a等の外部メディアよりHDD13にインストールして、又はネットワークからダウンロードして使用する形態でもよい。
【0025】
VMMプログラムは、サーバ装置1でVMの動作を可能にする仮想化技術を実現するためのソフトウェアプログラムである。CPU10は、サーバ装置1の起動後にVMMプログラムを実行することによりVMMとしての動作を開始する。CPU10がVMMとして動作することにより、サーバ装置1には、VMが独立して動作可能な仮想環境が提供される。
【0026】
管理OSプログラムは、VMM上でVMを起動及び停止する機能、及びVMに対してCPU10等のリソースを割り当てて、また割り当てを解放する機能を実現するためのソフトウェアプログラムである。CPU10は、サーバ装置1の起動後に管理OSプログラムを実行することにより管理OSとしての動作を開始する。
【0027】
ゲストOSプログラムは、VM上でOSを実行させるためのソフトウェアプログラムである。CPU10は、VMが起動した後、ゲストOSプログラムを実行することによりOS(以下、ゲストOSと言う)としての動作を開始する。ゲストOSは、例えばWindows(登録商標)又はLinux(登録商標)等である。ゲストOSは、実行した処理に応じて表示すべきCommand User Interface(CUI)、Graphic User Interface(GUI)等を含む表示画面を生成し、生成した表示画面は、端末装置2(又はシンクライアント端末5)に送られ、端末装置2(又はシンクライアント端末5)のモニタに表示される。また、ゲストOSは、端末装置2(又はシンクライアント端末5)のキーボード及びマウスからの制御信号を受け付ける。そして、ゲストOSは、受け付けた制御信号に応じて各種処理を実行する実行手段として機能する。
【0028】
アプリケーションプログラムは、ゲストOSのそれぞれによって実行されるアプリケーションのソフトウェアプログラムである。サーバ装置1は、アプリケーションプログラムが記録された外部メモリからアプリケーションプログラムを読み取ってHDD13に格納してもよい。また、サーバ装置1は、ネットワークを介してアプリケーションプログラムをダウンロードしてHDD13に格納させてもよい。
【0029】
端末装置2は、CPU20、ROM21、RAM22、HDD23、入出力装置24、通信部25及び電源回路26等のハードウェア各部を備える。これらのハードウェア各部はバスを介して相互に接続されている。入出力装置24は、キーボード、マウス及びモニタ等である。通信部25は、ネットワークNへの接続を可能にする。
【0030】
CPU20は、ROM21に予め格納されているプログラム21aを適宜RAM22に読み出して実行すると共に、上述したハードウェア各部の動作を制御する。ROM21は、プログラム21a、及び各種データ等を予め格納している。RAM22は、例えばSRAM、DRAM、フラッシュメモリ等であり、CPU20による制御プログラム21aの実行時に発生する種々のデータを一時的に記憶する。
【0031】
HDD23には、サーバ装置1と同様に、VMMプログラム、管理OSプログラム、ゲストOSプログラム、アプリケーションプログラム、及び各種のデータ等を格納している。なお、プログラム21aは、CD−ROM6b等の外部メディアよりHDD23にインストールして、又はネットワークからダウンロードして使用する形態でもよい。
【0032】
電源回路26は、端末装置2の電源制御を行う回路である。電源回路26は、端末装置2の電源がオンオフされることで、CPU20等へ電力供給し、又は供給を停止する。電源回路26は、電源がオフの場合であっても、電力供給されており、自身と通信部25とを動作可能な状態としている。従って、通信部25は、電源がオフの場合でも、サーバ装置1との間で信号の送受信が可能である。この通信部25が、電源がオフの場合にサーバ装置1から電源投入信号を受信したとき、電源回路26は、電源をオンに切り替える。また、電源がオンの場合に、通信部25がサーバ装置1から電源停止信号を受信したとき、電源回路26は電源をオフに切り替える。電源がオンの場合にサーバ装置1から電源投入信号を受信したとき、又は電源がオフの場合にサーバ装置1から電源停止信号を受信したときは、何も行わない。電源をオフに切り換えるとき、ゲストOSと連携し、ゲストOSを正常にシャットダウンさせた後、電源をオフにしてもよい。
【0033】
シンクライアント端末5は、CPU50、ROM51、RAM52、キーボード、マウス及びモニタ等の入出力装置53、及びネットワークNに接続するための通信部54等のハードウェア各部を備える。これらのハードウェア各部はバスを介して相互に接続されている。CPU50は、ROM51に予め格納されている制御プログラムを適宜RAM52に読み出して実行すると共に、上述したハードウェア各部の動作を制御する。ROM51は、制御プログラム及び各種データ等を予め格納している。RAM52は、例えばSRAM、DRAM、フラッシュメモリ等であり、CPU50による制御プログラムの実行時に発生する種々のデータを一時的に記憶する。
【0034】
以下に、計算機システムのサーバ装置1及び端末装置2で実現される機能について説明する。
【0035】
図4は、サーバ装置1が有する機能を示すブロック図である。CPU10が各プログラムを実行することにより、サーバ装置1では、VMM100が実行され、VMM100上では管理OS101が動作する。VMM100は、VM起動部110の機能を有する。VM起動部110は、管理OS101からの要求により、VMM100上でサーバVM102の起動及び停止を行う。なお、VMM100上では、複数のサーバVMが動作し、それぞれに端末装置2,3,4が割り当てられるが、図4では、端末装置2に割り当てられたサーバVM102のみ示している。
【0036】
管理OS101は、端末情報記憶部120、接続監視部121、接続要求受信部122、VM利用可否判定部123、VM起動要求部124、接続要求応答部125、VM情報同期部126、端末電源制御部127及びVM利用通知部128等の機能を有している。
【0037】
端末情報記憶部120は、サーバVMを管理するためのVM管理テーブルを記憶している。図5は、VM管理テーブルを模式的に示す図である。
【0038】
VM管理テーブルは、ユーザID、パスワード、VM_ID、VM情報、及びサーバ装置1のゲストOSアドレスを対応付けて格納している。端末装置2又はシンクライアント端末5からユーザID及びパスワードが送信された場合、CPU10は、対応するVM_IDを取得して、起動すべきサーバVM102を特定する。そして、CPU10は、特定したサーバVM102を起動するためのVM情報を取得する。なお、VM管理テーブルに格納されるVM情報は、VM情報の記憶先及びファイル名等を含んでいる。CPU10は、起動したサーバVM102で動作するゲストOSにアクセスするためのアドレスを取得して、取得したアドレスを、ユーザID等を送信した端末装置2又はシンクライアント端末5へ送信する。これにより、端末装置2及びシンクライアント端末5の何れが使用した場合であっても、サーバ装置1では、常にサーバVM102が起動するようになる。
【0039】
またVM管理テーブルは、接続監視先アドレス、及び端末装置2のゲストOSアドレスを、ユーザID等に対応付けて格納している。接続監視先アドレスは、対応するユーザIDを持つユーザが利用している、端末装置2の通信部25に割り当てられたアドレスである。上述のように通信部25は、端末装置2の電源がオフであっても機能しており、CPU10は、電源監視先アドレスへ信号を送信し、それに応答する信号を受信するか否かで、端末装置2がネットワークNへ接続しているか否かを監視する。ゲストOSアドレスは、端末装置2の端末VM202で動作するゲストOSのアドレスである。
【0040】
さらにVM管理テーブルは、サーバVMの利用の可否を、ユーザID等に対応付けて格納している。端末装置2又はシンクライアント端末5からユーザID等が送信された場合、CPU10は、VM管理テーブルに基づいて、対応するサーバVM102の利用の可否を判定する。
【0041】
接続監視部121は、端末装置2の接続状態を監視する。具体的には、接続監視部121は、端末管理テーブルの接続監視先アドレスに従って確認信号を定期的に送信し、その確認信号に応答する応答信号を受信した場合、端末装置2はネットワークNに接続している状態(以下、オンライン状態と言う)であるとし、受信しない場合、オフライン状態であると判定する。接続監視部121は、監視結果をVM利用可否判定部123へ通知する。
【0042】
接続要求受信部122は、端末装置2又はシンクライアント端末5から接続要求(利用開始要求)を受信する。接続要求は、サーバVMの利用が開始される際に、端末装置2又はシンクライアント端末5から送信される。この接続要求は、端末装置2又はシンクライアント端末5で入力されたユーザID及びパスワード等を含んでいる。接続要求を受信した接続要求受信部122は、VM利用可否判定部123へ通知する。
【0043】
VM利用可否判定部123は、VM情報テーブルに基づいて、受信した接続要求に含まれるユーザIDに対応するサーバVMの利用の可否を判定する。またVM利用可否判定部123は、端末装置2がオンライン状態の場合、サーバVM102が利用可能となり、オフライン状態の場合、サーバVM102の利用不可能となるよう、VM情報テーブルを更新する。
【0044】
VM起動要求部124は、サーバVM102が利用可能である場合、サーバVM102のVM情報と共に、VMM100のVM起動部110へ通知する。これにより、VM起動部110がサーバVM102を起動し、起動したサーバVM102には、サーバ装置1のリソースが割り当てられる。リソースが割り当てられた後、サーバVM102ではゲストOSの動作が開始される。
【0045】
接続要求応答部125は、VM利用可否判定部123による判定結果に従って、接続要求を送信した端末装置2又はシンクライアント端末5へ応答信号を送信する。サーバVM102が利用可能である場合、接続要求応答部125は、起動したサーバVM102上で動作するゲストOSのアドレスを応答信号に含めて送信する。これにより、端末装置2又はシンクライアント端末5は、サーバVM102で動作するゲストOSへの接続(以下、リモート接続と言う)が可能となる。また、サーバVM102が利用不可能である場合、接続要求応答部125は、エラーとして応答信号を送信する。
【0046】
VM情報同期部126は、所定のタイミングで端末装置2との間でVM情報の同期を行う。例えば、VM情報同期部126は、サーバ装置1が保持するVM情報、及び端末装置2が保持するVM情報それぞれが更新された時間を比較し、古いVM情報を新しいVM情報へ書き換える。サーバ装置1が保持するVM情報が古い場合、VM情報同期部126は、端末装置2からVM情報を受信する。端末装置2が保持するVM情報が古い場合、VM情報同期部126は、端末装置2へVM情報を送信する。なお、VM情報は、同期する度にすべてコピーしてもよいし、前回同期してからの変更点を差分データとして保持しておき、差分データのみを同期して、同期する情報量を少なくするようにしてもよい。
【0047】
端末電源制御部127は、VM管理テーブルの接続監視先アドレスに従って、電源投入信号又は電源停止信号を送信する。電源投入信号又は電源停止信号を受信した端末装置2では、電源回路26が電源をオン又はオフする。
【0048】
VM利用通知部128は、シンクライアント端末5がサーバVM102を利用している場合、端末装置2へサーバVM102が利用されていることを通知する。通知された端末装置2では、端末VMが利用不可能となる。また、VM利用通知部128は、シンクライアント端末5による利用が終了した場合にも、端末装置2へ通知する。これにより、端末装置2では端末VMが利用可能となる。
【0049】
VMM100上で起動したサーバVM102では、ゲストOSの動作が開始される。ゲストOS上ではネットワーク経由で操作を可能にするリモート操作サーバが動作する。リモート操作サーバは、端末装置2またはシンクライアント端末5からのリモート接続を可能にする。ゲストOSは、このリモート接続を監視するリモート接続監視部130の機能を有している。リモート接続終了監視部130は、リモート接続が終了されるか否かを監視する。リモート操作サーバ、及び、リモート接続監視部130は、管理OS101上にあってもよい。また、管理OS101とVMM100を分けているが、VMM100内に管理OS101の機能を含んでいてもよい。また、管理OS101の機能がVMM100とは別マシンに存在し、ネットワーク経由でVMM100を管理してもよい。この場合1つの管理OSが複数のVMMを管理してもよい。
【0050】
図6は、端末装置2が有する機能を示すブロック図である。
【0051】
端末装置2は、電源がオンオフに関係なく機能する、監視応答部205、及び電源制御部206等の機能を有している。監視応答部205は、サーバ装置1の接続監視部121から送信された確認信号を受信し、確認信号に応答する応答信号を接続監視部121へ送信する。電源制御部206は、ユーザによる操作、又はサーバ装置1の端末電源制御部127からの信号に従って、端末装置2の電源をオン又はオフにする。例えば電源制御部206は、サーバ装置1から電源投入信号を受信した場合、端末装置2の電源をオンにし、電源停止信号を受信した場合、端末装置2の電源をオフにする。
【0052】
CPU20が各プログラムを実行することにより、端末装置2では、VMM200が実行され、VMM200上では管理OS201が動作する。VMM200は、VM起動部210の機能を有する。VM起動部210は、管理OS201からの要求により、VMM200上で端末VM202の起動及び停止を行う。
【0053】
管理OS201は、接続要求送受信部220、VM利用可否設定部221、VM情報同期部223、及びリモート操作クライアント224の機能を有している。
【0054】
接続要求送受信部220は、ユーザIDの入力等、ユーザによる操作を受け付け、オンライン時は、接続要求をサーバ装置1へ送信する。また接続要求送受信部220は、サーバ装置1から応答信号を受信する。応答信号に含まれるサーバVM102へリモート接続するようにリモート操作クライアント224を起動する。オフライン時は、VM起動要求部222へ通知する。接続要求受信部220は、VM起動要求部222から応答信号を受信する。応答信号に含まれる端末VM202へリモート接続するようにリモート操作クライアント224を起動する。
【0055】
VM利用可否設定部221は、サーバ装置1からの通知に従って、端末VMの利用の可否を設定する。例えば、シンクライアント端末5によるサーバVM102の利用が通知された場合、VM利用可否設定部221は、端末VMを利用不可能にする。またサーバVM102の利用終了が通知された場合、VM利用可否設定部221は、端末VMを利用可能にする。
【0056】
VM起動要求部222は、端末VMが利用可能である場合、VMM200のVM起動部210へ端末VMの起動を要求する。これにより、VM起動部210が端末VM202を起動し、起動した端末VM202には、端末装置2のリソースが割り当てられる。リソースが割り当てられた後、端末VM202ではゲストOSの動作が開始される。
【0057】
VM情報同期部223は、所定のタイミングでサーバ装置1との間でVM情報の同期を行う。リモート操作クライアント224は、サーバ装置1から受信した応答信号に含まれるゲストOSアドレスに基づいて、サーバVM102のゲストOSへリモート接続する。これにより、端末装置2からサーバ装置1で動作するサーバVM102の利用が可能となる。
【0058】
次に、上述のサーバ装置1及び端末装置2を備える計算機システムで実行される処理について説明する。
【0059】
図7は、端末装置2の接続状態を監視する処理の手順を示すフローチャートである。図7では、サーバ装置1及び端末装置2における処理を並列に示しており、それぞれ定期的に実行される。
【0060】
サーバ装置1ではVMM100が実行し、VMM100上で管理OS101の動作が開始される。管理OS101は、端末装置2の接続状態を監視するために、確認信号を端末装置2へ送信する(S1)。
【0061】
端末装置2では、電源のオンオフに関係なく機能する監視応答部205が、サーバ装置1から確認信号を受信したか否かを判定する(S5)。端末装置2がネットワークNへ接続されていない場合、端末装置2は確認信号を受信できない。従って、確認信号を受信していない場合(S5:NO)、端末装置2での処理は終了する。確認信号を受信した場合(S5:YES)、監視応答部205は、応答信号をサーバ装置1へ送信し(S6)、端末装置2での処理は終了する。
【0062】
サーバ装置1では、管理OS101が、端末装置2から応答信号を受信したか否かを判定する(S2)。端末装置2がオフライン状態である場合には、端末装置2は、サーバ装置1からの確認信号を受信できないため、サーバ装置1は、端末装置2から応答信号を受信することはない。従って、応答信号を受信していない場合(S2:NO)、管理OS101は、端末装置2がオフライン状態であると判定し、サーバVM102を利用不可能に設定する(S3)。具体的には、管理OS101は、VM管理テーブルのVM利用可否欄を更新する。これにより、サーバ装置1のサーバVM102は、シンクライアント端末5から利用されることがなくなる。その後、サーバ装置1での処理は終了する。なお、サーバVM102が既に利用不可能となっている場合、S3の処理を省略するようにしてもよい。
【0063】
応答信号を受信した場合(S2:YES)、管理OS101は、端末装置2がオンライン状態であると判定し、サーバVM102を利用可能に設定する(S4)。その後、サーバ装置1での処理は終了する。なお、サーバVM102が既に利用可能となっている場合、S5の処理を省略するようにしてもよい。
【0064】
端末装置2がオフライン状態の場合、端末装置2上で端末VM201が利用されている可能性がある。このため、シンクライアント端末5からサーバVMが利用できるとした場合、同じVM(サーバVM及び端末VM)が別々に利用される可能性がある。そこで、端末装置2がオフライン状態の場合には、サーバ装置1のサーバVMの利用を不可にすることで、VMの同時利用を回避することができる。また、端末装置2がオンライン状態となった場合には、サーバVMを利用可能とすることで、シンクライアント端末5から、サーバVM102の利用を可能とすることができる。
【0065】
図8は、接続要求を受信する際のサーバ装置1における処理手順を示すフローチャートである。
【0066】
管理OS101は、接続要求を受信したか否かを判定する(S20)。受信していない場合(S20:NO)、管理OS101は、本処理を終了する。受信した場合(S20:YES)、管理OS101は、端末装置2から接続要求を受信したか否かを判定する(S21)。例えば、サーバ装置1に、端末装置2及びシンクライアント端末5のInternet Protocol(IP)アドレスを予め記憶しておき、管理OS101は、接続要求を送信した装置を特定する。端末装置2から受信した場合(S21:YES)、管理OS101は、端末装置利用処理を実行する(S22)。
【0067】
図9は、サーバ装置1が実行する端末装置利用処理における処理手順を示すフローチャートである。
【0068】
管理OS101は、端末装置2から受信した接続要求に含まれるユーザID等からユーザ認証を行う(S30)。このとき、ユーザ認証できない場合には、管理OS101は、エラーを端末装置2へ送信するようにしてもよい。次に、管理OS101は、端末装置2とVM情報の同期を行うか否かを判定する(S31)。VM情報の同期を行う場合(S31:YES)、管理OS101は、VM情報の同期を行う(S32)。同期終了後、又は、VM情報の同期を行わない場合(S31:NO)、管理OS101は、サーバVM102を起動し(S33)、受信した接続要求に対応する応答信号としてサーバVM102のアドレスを端末装置2へ送信する(S34)。これにより、サーバ装置1のサーバVM102は端末装置2からアクセスされ、リモート接続が開始される。
【0069】
管理OS101は、端末装置2からリモート接続の終了が通知されたか否かを判定する(S35)。終了が通知されていない場合(S35:NO)、管理OS101は、終了が通知されるまでリモート接続を続行する。終了が通知された場合(S35:YES)、管理OS101は、リモート接続を終了し、端末装置2とVM情報の同期を行う(S36)。そして、管理OS101は、本処理を終了する。
【0070】
一方、図8の処理のS21において、接続要求を端末装置2から受信していない場合(S21:NO)、管理OS101は、シンクライアント端末利用処理を実行する(S23)。
【0071】
図10及び図11は、シンクライアント端末5が実行するシンクライアント端末利用処理における処理手順を示すフローチャートである。図10及び図11では、端末装置2の処理を並列に示している。
【0072】
サーバ装置1では、管理OS101がVM管理テーブルを参照し、受信した接続要求に含まれるユーザID及びパスワードに基づいてユーザ認証を行う(S40)。このとき、ユーザ認証できない場合には、管理OS101は、エラーをシンクライアント端末5へ送信するようにしてもよい。次に、管理OS101は、対応するサーバVM102が利用可能であるか否かを判定する(S41)。例えば端末装置2がオフライン状態である場合であるため、サーバVM102が利用可能でない場合(S41:NO)、サーバ装置1での処理は終了する。このとき、管理OS101は、利用できない旨をシンクライアント端末5へ送信する。
【0073】
サーバVMが利用可能である場合(S41:YES)、管理OS101は、電源投入信号を端末装置2へ送信する(S42)。端末装置2では、電源制御部206が電源投入信号を受信し、電源をオンにする(S43)。これにより、端末装置2ではVMM200及び管理OS201が動作するようになる。サーバ装置1は、サーバVMがシンクライアント端末5により利用されていることを端末装置2へ通知する(S44)。通知された端末装置2のVM利用可否設定部221は、端末VM202を利用不可能に設定する(S45)。これにより、ユーザによる端末VM202の利用が禁止され、サーバVM102と同じ端末VM202が利用されることを防止できる。
【0074】
サーバ装置1では、管理OS101が電源停止信号を端末装置2へ送信し(S46)、端末装置2では、電源制御部206が電源停止信号を受信し、電源をオフにする(S47)。なお、端末装置2の電源が既にオンである場合には、S42からS47の電源制御処理を省略してもよい。
【0075】
サーバ装置1では、管理OS101がサーバVM102を起動する(S48)。起動したサーバVM102ではゲストOSが動作し、サーバVM102はゲストOSへの接続先を新クライアント端末へ通知することで、シンクライアント端末5からのリモート接続が開始される。リモート接続が開始されることで、サーバ装置1のサーバVM102は、キーボード及びマウスから入力された操作をシンクライアント端末5から受信し、処理結果をシンクライアント端末5へ送信する。
【0076】
管理OS101は、シンクライアント端末5からリモート接続の終了が通知されたか否かを判定する(S49)。シンクライアント端末5は、例えば電源ボタンがオフされる等、ユーザによる操作を受け付けることで、リモート接続の終了をサーバ装置1へ通知する。リモート接続の終了が通知されていない場合(S49:NO)、管理OS101は、リモート接続の終了が通知されるまでリモート接続を続行する。終了が通知された場合(S49:YES)、管理OS101は、サーバVM102を停止する(S50)。
【0077】
次に管理OS101は、電源投入信号を端末装置2へ送信する(S51)。端末装置2では、電源制御部206が電源投入信号を受信し、電源をオンにする(S52)。これにより、端末装置2ではVMM200及び管理OS201が動作するようになる。サーバ装置1は、シンクライアント端末5によるサーバVMの利用が終了したことを端末装置2へ通知し(S53)、端末装置2では、VM利用可否設定部221が端末VM202を利用可能に設定する(S54)。サーバ装置1及び端末装置2は、VM情報の同期を行う(S55、S56)。サーバ装置1では、管理OS101が電源停止信号を端末装置2へ送信し(S57)、サーバ装置1での処理は終了する。端末装置2では、電源制御部206が電源停止信号を受信し、電源をオフにする(S58)。これにより、端末装置2での処理は終了する。なお、端末装置2の電源が既にオンである場合には、S51からS58の電源制御処理を省略してもよい。
【0078】
サーバVM102がシンクライアント端末5により利用された場合、サーバ装置1が保持するVM情報は変更される。このため、シンクライアント端末5による利用が終了したときに、端末装置2へVM情報の変更を反映させることで、端末装置2は、常にサーバ装置1と同じVM情報を保持することができる。
【0079】
図12及び図13は、VMを利用する際の端末装置2における処理手順を示すフローチャートである。
【0080】
管理OS201は、VMの利用を開始するか否かを判定する(S60)。管理OS201は、例えばユーザによる操作を受け付けることでVM利用を開始すると判定する。VM利用を開始しない場合(S60:NO)、管理OS201は本処理を終了する。VM利用を開始する場合(S60:YES)、管理OS201は、端末VM202が利用可能であるか否かを判定する(S61)。
【0081】
端末VM202が利用可能でない場合(S61:NO)、すなわちサーバ装置1で動作し、端末VM202と同じサーバVM102がシンクライアント端末5により利用されているため、管理OS201は、端末装置2ではVMの利用ができないと判定し、本処理を終了する。端末VM202が利用可能である場合(S61:YES)、管理OS201は、端末装置2がオンライン状態であるか否かを判定する(S62)。
【0082】
オンライン状態である場合(S62:YES)、端末装置2ではサーバVM102を利用するため、管理OS201は、接続要求をサーバ装置1へ送信する(S63)。このとき、管理OS201は、ユーザにより入力されたユーザID及びパスワードを接続要求に含めて送信する。管理OS201は、送信した接続要求に対応する応答信号を受信したか否かを判定する(S64)。応答信号を受信していない場合(S64:NO)、管理OS201は、受信するまで待機する。このとき、管理OS201は、一定時間受信しない場合には、エラーとして処理するようにしてもよい。
【0083】
応答信号を受信した場合(S64:YES)、管理OS201は、サーバ装置1からVM情報の同期が必要であるか否かを判定する(S65)。VM情報の同期が必要である場合(S65:YES)、管理OS201は、サーバ装置1との間で、VM情報の同期を行う(S66)。これにより、端末装置2がオフライン状態で端末VM202が利用され、VM情報が変更された場合、サーバ装置1にVM情報の変更を反映させることで、サーバ装置1と端末装置2とで同じVMを動作させることができる。
【0084】
管理OS201は、受信した応答信号に従って、サーバ装置1のサーバVM上で動作するゲストOSへリモート接続を行う(S67)。具体的に、受信した応答信号には、サーバVM102上で起動するゲストOSへの接続先アドレスが含まれている。管理OS201は、リモート操作クライアント224を起動し、リモート操作クライアント224がゲストOSへ接続する。リモート操作クライアント224はユーザからの操作情報を受け付け、サーバVM102のゲストOSへ送信し、その結果として表示される画面情報を受信し、モニタに表示する。
【0085】
管理OS201は、リモート接続の終了を受け付けたか否かを判定する(S68)。管理OS201は、例えば電源ボタンがオフされる等、ユーザによる操作を受け付けることで、リモート接続を終了する。リモート接続の終了を受け付けない場合(S68:NO)、管理OS201は、リモート接続の終了を受け付けるまでリモート接続を続行する。終了を受付けた場合(S68:YES)、管理OS201は、サーバ装置1へ終了を通知する(S69)。その後、管理OS201は、サーバ装置1との間でVM情報の同期を行い(S70)、本処理を終了する。すなわち、VMの利用が終了する際に、サーバ装置1と端末装置2とのVM情報の同期を行うことで、次回ユーザがVMを利用する場合には、サーバ装置1及び端末装置2では、同じVM情報に従ってVMが起動するようになる。リモート接続終了判断は、通知の受信だけでなく、リモート接続監視部130が判断してもよい。
【0086】
S62において、端末装置2がオンライン状態でないと判定した場合(S62:NO)、管理OS201は、端末VM202を起動する(S71)。これにより、ユーザは、端末装置2で動作する端末VM202を操作することができるようになる。具体的には、起動した端末VM202上では、ゲストOSが起動する。管理OS201は、リモート操作クライアント224を起動し、リモート操作クライアント224が端末VM202上のゲストOSへ接続する。リモート操作クライアント224はユーザからの操作情報を受け付け、サーバVM102のゲストOSへ送信し、その結果として表示される画面情報を受信し、モニタに表示する。
【0087】
管理OS201は、端末VM202の利用の終了を受け付けたか否かを判定する(S72)。終了を受け付けない場合(S72:NO)、管理OS201は、終了を受け付けるまで、端末VM202の利用を続行する。終了を受付けた場合(S72:YES)、管理OS201は、端末VM202を停止し(S73)、管理OS201は、端末装置2がオンライン状態へと切り替わったかを判定する(S74)。オンライン状態へと切り替わった場合(S74:YES)、管理OS201は、S70の処理へ移り、サーバ装置1との間でVM情報の同期を行う。オンライン状態へと切り替わっていない場合(S74:NO)、管理OS201は、切り替わるまで待機する。このように、オフラインでの利用後にVM同期を行うことで、次のオンラインでの利用を行う際に効率よくサーバVM102を利用することができる。
【0088】
以上のように、端末装置2は、オンライン状態ではサーバVMを利用し、オフライン状態では端末VMを利用する。これにより、ユーザは、ネットワークNに接続できない環境で端末装置2を使用する場合であっても、VMを利用することができる。また、端末装置2は、サーバVMの利用開始時及び終了時に、サーバ装置1とVM情報の同期を行うため、常に最新のVM情報を保持することができる。
【0089】
以上のように、本実施の形態では、サーバ装置1と端末装置2とで動作するサーバVM102及び端末VM202は、一方が利用される場合には、他方は利用不可能となる。これにより、同じVMであるサーバVM102及び端末VM202が同時に利用されることを回避することができる。
【0090】
(実施形態2)
以下に、実施の形態2について説明する。本実施の形態では、端末装置2がサーバVM又は端末VMの何れを利用しているかを、ユーザに報知する点で実施の形態1と相違している。以下、その相違点について説明する。
【0091】
図14A及び図14Bは、VMの処理結果を表示した端末装置2のモニタの一例を示す図である。端末装置2がサーバVMを利用している場合、管理OS101からサーバVM102のゲストOSの稼動場所が通知され、ゲストOSのモニタの画面右上に、利用しているVMがサーバVM102であることを報知する画像が表示される(図14A参照)。これにより、端末装置2のモニタの画面右上には、図14Aの画面が表示される。また端末装置2が端末VM202を利用している場合、管理OS201から端末VM202のゲストOSの稼動場所が通知され、ゲストOSのモニタの画面右上に、利用しているVMが端末VM202であることを報知する画像が表示される(図14B参照)。これにより、端末装置2のモニタの画面右上には、図14Bの画面が表示される。図14A又は図14Bの画面を表示することにより、ユーザは、何れのVMを利用しているかを把握することができる。また、これによって、ユーザは、表示された画像を視認することで、端末装置2がオンライン状態又はオフライン状態であるかを把握することができる。
【0092】
図15は、サーバ装置1が有する機能を示すブロック図である。
【0093】
本実施の形態に係るサーバ装置1の管理OS101は、実施の形態1で説明した機能に加え、VM稼動場所通知部129の機能をさらに有している。VM稼動場所通知部129は、サーバVM102の起動を検知し、サーバVM102上で起動するゲストOS内のVM稼働場所表示部131に対し、VMが稼働している場所がサーバ装置1であることを通知する。VM稼働場所表示部131は、通知された場所をゲストOSの画面に表示する。
【0094】
図16は、端末装置2が有する機能を示すブロック図である。
【0095】
本実施の形態に係る端末装置2の管理OS201は、実施の形態1で説明した機能に加え、VM稼動場所通知部225の機能をさらに有している。VM稼動場所通知部225は、端末VM202の起動を検知し、端末VM202上で起動するゲストOS内のVM稼働場所表示部230に対し、VMが稼働している場所が端末装置2であることを通知する。VM稼働場所表示部230は、通知された場所をゲストOSの画面に表示する。
【0096】
図17は、サーバ装置1が実行する端末装置利用処理における処理手順を示すフローチャートである。端末装置2から接続要求を受信した場合、管理OS101は、図17に示す処理を実行する。
【0097】
管理OS101は、端末装置2から受信した接続要求に含まれるユーザID等からユーザ認証を行う(S80)。次に、管理OS101は、端末装置2とVM情報の同期を行うか否かを判定する(S81)。VM情報の同期を行う場合(S81:YES)、管理OS101は、VM情報の同期を行う(S82)。同期終了後、又は、VM情報の同期を行わない場合(S81:NO)、管理OS101は、サーバVMを起動し(S83)、受信した接続要求に対応する応答信号を端末装置2へ送信する(S84)。サーバVM102は、ゲストOSの画面に利用中のVMが稼動している場所を表示する(S85)。すなわち、端末装置2のモニタには、図14Aに示すように「サーバVM」が表示される。これにより、ユーザは、サーバVMを利用していることが把握できる。
【0098】
管理OS101は、端末装置2からリモート接続の終了が通知されたか否かを判定する(S86)。終了が通知されていない場合(S86:NO)、管理OS101は、終了が通知されるまでリモート接続を続行する。終了が通知された場合(S86:YES)、管理OS101は、リモート接続を終了し、サーバVM102を停止する(S87)。その後、管理OS101は、端末装置2とVM情報の同期を行い(S88)、本処理を終了する。
【0099】
図18及び図19は、端末装置2における処理手順を示すフローチャートである。
【0100】
管理OS201は、VM利用を開始するか否かを判定する(S90)。VM利用を開始しない場合(S90:NO)、管理OS201は本処理を終了する。VM利用を開始する場合(S90:YES)、管理OS201は、端末VM202が利用可能であるか否かを判定する(S91)。
【0101】
端末VM202が利用可能でない場合(S91:NO)、管理OS201は、本処理を終了する。端末VM202が利用可能である場合(S91:YES)、管理OS201は、端末装置2がオンライン状態であるか否かを判定する(S92)。オンライン状態である場合(S92:YES)、管理OS201は、接続要求をサーバ装置1へ送信する(S93)。管理OS201は、送信した接続要求に対応する応答信号を受信したか否かを判定する(S94)。応答信号を受信していない場合(S94:NO)、管理OS201は、受信するまで待機する。
【0102】
応答信号を受信した場合(S94:YES)、管理OS201は、サーバ装置1からVM情報の同期が要求されたか否かを判定する(S95)。VM情報の同期が要求されていない場合(S95:NO)、管理OS201は、S97の処理に移る。VM情報の同期が要求された場合(S95:YES)、管理OS201は、サーバ装置1との間で、VM情報の同期を行う(S96)。管理OS201は、受信した応答信号に従って、サーバ装置1のサーバVM上で動作するゲストOSへリモート接続を行う(S97)。これにより、端末装置2からサーバVMを利用できるようになる。
【0103】
管理OS201は、リモート接続の終了を受け付けたか否かを判定する(S98)。リモート接続の終了を受け付けない場合(S98:NO)、管理OS201は、リモート接続の終了を受け付けるまでリモート接続を続行する。終了を受付けた場合(S98:YES)、管理OS201は、サーバ装置1へ終了を通知する(S99)。その後、管理OS201は、サーバ装置1との間でVM情報の同期を行い(S100)、本処理を終了する。
【0104】
S92において、端末装置2がオンライン状態でないと判定した場合(S92:NO)、管理OS201は、端末VM202を起動する(S101)。端末VM202は、ゲストOSの画面に利用中のVMが稼動している場所を表示する(S102)。すなわち、端末装置2のモニタには、図14Bに示すように「端末VM」が表示される。これにより、ユーザは、端末VMを利用していることが把握できる。
【0105】
次に、管理OS201は、端末VM202の利用の終了を受け付けたか否かを判定する(S103)。終了を受け付けない場合(S103:NO)、管理OS201は、終了を受け付けるまで、端末VM202の利用を続行する。終了を受付けた場合(S103:YES)、管理OS201は、端末VM202を停止し(S104)、本処理を終了する。
【0106】
以上のように、本実施の形態では、端末装置2がVMを利用する場合に、サーバVM102又は端末VM202の何れを利用しているかを表示している。これにより、ユーザは、表示内容を視認することで、利用中のVMを把握でき、それによって、端末装置2がオンライン状態又はオフライン状態であるかを把握することができる。
【0107】
(実施形態3)
以下に、実施の形態3について説明する。本実施の形態では、端末装置2がオフライン状態の場合に、端末装置2の端末VM202を利用できる期間を制限している点で、実施の形態1と相違している。以下、その相違点について説明する。
【0108】
図20は、端末VM202の利用期限の設定画面の一例を示す図である。
【0109】
端末VM202の利用期限は、例えば、サーバ装置1の管理者によって設定される。図20に示す画面は、管理OS101によりモニタの画面上に表示される。この画面は、サーバ装置1がモニタを有する場合、そのモニタに表示してもよいし、端末装置2又はシンクライアント端末5からサーバ装置1に接続して、端末装置2又はシンクライアント端末5のモニタに表示してもよい。設定画面では、利用期限を決定し、どのユーザに対して利用期限を設定するかを選択する。なお、全ユーザに対して利用期限を設定してもよい。また、利用期限は、端末VMが起動してからの時間であってもよいし、端末装置がオフライン状態となってからの時間でもよい。
【0110】
図21は、サーバ装置1が有する機能を示すブロック図である。
【0111】
本実施の形態に係るサーバ装置1の管理OS101は、実施の形態1で説明した機能に加え、利用期限設定部140、利用期限通知部141、及び利用期限監視部142の機能をさらに備えている。利用期限設定部140は、図20に示す画面をモニタに表示して、端末装置2がオフライン状態となったときに端末VM202の利用期限を設定する。設定した利用期限は、例えばVM管理テーブルに、ユーザIDに対応付けて格納される。利用期限通知部141は、利用期限設定部140が設定した期限を、端末装置2へ通知する。なお端末装置2への通知は、VM情報同期部126がVM情報を同期する際に通知するようにしてもよい。利用期限監視部142は、設定された期限以内に端末装置2がオンライン状態になったかを監視する。期限以降も端末装置2がオンライン状態にならなかった場合は、VM利用可否判定部123は、サーバVM102を利用可能にする。
【0112】
図22は、端末装置2が有する機能を示すブロック図である。
【0113】
本実施の形態に係る端末装置2の管理OS201は、実施の形態1で説明した機能に加え、利用期限受付部226及び利用期限監視部227の機能をさらに有している。利用期限受付部226は、サーバ装置1から通知された、端末VM202の利用期限を受け付ける。利用期限監視部227は、端末装置2がオフライン状態になった場合、利用期限受付部226が受け付けた利用期限を超えていないか監視する。超えていた場合は、VM利用可否設定部221は、端末VM202を使用不可にする。また、超えていた場合は、利用期限監視部227は、端末VM202が利用されて発生し、例えばHDD23又はRAM22などに記憶された情報を消去する。
【0114】
図23は、端末装置2における処理手順を示すフローチャートである。
【0115】
管理OS201は、サーバ装置1より利用期限を受信し(S110)、端末装置2がオフライン状態であるか否かを判定する(S111)。オフライン状態でない場合(S111:NO)、管理OS201は、本処理を終了する。なお、管理OS201は、本処理を定期的に実行する。オフライン状態である場合(S111:YES)、管理OS201は、利用期限が経過したか否かを判定する(S112)。経過していない場合(S112:NO)、管理OS201は、本処理を終了する。利用期限が経過した場合(S112:YES)、管理OS201は、変更されたVM情報を削除し(S113)、本処理を終了する。変更されたVM情報とは、端末VM202が行った処理の結果で、HDD23又はRAM22などに記憶された情報である。すなわち、変更されたVM情報を削除することで、VM情報は、端末VM202が利用される前の状態に戻るようになる。その後、管理OS201は、本処理を終了する。なお、端末VM202の使用回数、ユーザ認証を行ったときの失敗回数が設定値を超えた場合に、端末装置2で端末VM202を利用できなくしてもよい。
【0116】
図24は、サーバ装置1における処理手順を示すフローチャートである。
【0117】
管理OS101は、端末VM202の利用期限を設定する(S120)。その後、管理OS101は、設定された利用期限を端末装置2に通知する(S121)。次に、管理OS101は、端末装置2がオフライン状態であるか否かを判定する(S122)。オフライン状態でない場合(S122:NO)、管理OS101は、S122の処理を繰り返す。端末装置2がオフライン状態の場合(S122:YES)、管理OS101は、端末装置2のユーザに設定された利用期限を取得し、その利用期限が経過したか否かを判定する(S123)。
【0118】
利用期限が経過していない場合(S123:NO)、管理OS101は、S122の処理を実行する。利用期限が経過した場合(S123:YES)、管理OS101は、利用不可能となっているサーバVM102を利用可能に設定し(S124)、本処理を終了する。
【0119】
以上説明したように、本実施の形態では、オフライン状態の端末装置2がオンライン状態に戻る事ができなくても、一定時間後にサーバVM102を使用可能にする。これにより、以上により、端末装置2が紛失等でオンライン状態に戻る事ができない場合、サーバVM102を利用できない状態が続いて、シンクライアント端末5から利用できなくなる問題を回避することができる。
【0120】
以上、本発明の実施形態について、具体的に説明したが、各構成及び動作等は適宜変更可能であって、上述の実施形態に限定されることはない。
【0121】
以下に、上述の実施形態を含む実施形態に関し、更に付記を開示する。
【0122】
(付記1)
仮想計算機を動作させる手段と、
前記仮想計算機を、何れか一つが前記仮想計算機と同じ仮想計算機が動作する複数の外部装置から利用できるようにする手段と、
仮想計算機が動作する外部装置が自装置に接続されているか否かを判定する接続判定手段と、
該接続判定手段が接続されていないと判定した場合、自装置で動作する仮想計算機を利用不可にする手段と、
自装置で動作する仮想計算機の利用開始要求を外部装置から受け付ける手段と、
前記利用開始要求を行った外部装置が、仮想計算機が動作する外部装置であるか否かを判定する装置判定手段と、
該装置判定手段が仮想計算機が動作する外部装置でないと判定し、かつ、前記接続判定手段が仮想計算機が動作する外部装置が接続されていると判定した場合、外部装置で動作する仮想計算機を利用不可にする手段と
を備える情報処理装置。
【0123】
(付記2)
前記装置判定手段が仮想計算機が動作する外部装置であると判定した場合、自装置及び前記外部装置それぞれで動作する仮想計算機の動作状態に関する情報を同期する手段
をさらに備える付記1に記載の情報処理装置。
【0124】
(付記3)
外部装置で動作する仮想計算機を利用不可にした場合、前記利用開始要求を行った外部装置から、仮想計算機の利用終了要求を受け付ける手段と、
前記利用終了要求を受け付けた場合、自装置及び外部装置それぞれで動作する仮想計算機の動作状態に関する情報を同期する手段と
をさらに備える付記1又は2に記載の情報処理装置。
【0125】
(付記4)
前記接続判定手段が接続されていないと判定した場合、仮想計算機が動作する外部装置が自装置へ接続されたか否かを判定する手段と、
接続されたと判定した場合、自装置及び前記外部装置それぞれで動作する仮想計算機の動作状態に関する情報を同期する手段と
をさらに備える付記1から3の何れか一つに記載の情報処理装置。
【0126】
(付記5)
前記外部装置で動作する仮想計算機の利用期限を設定する手段と、
前記接続判定手段が接続されていないと判定した場合、設定した利用期限を経過したか否かを判定する手段と、
前記利用期限を経過した場合、仮想計算機が動作する外部装置が自装置へ接続したか否かを判定する手段と、
接続していないと判定した場合、自装置で動作する仮想計算機を利用可にする手段と
をさらに備える付記1から4の何れか一つに記載の情報処理装置。
【0127】
(付記6)
自装置で動作する仮想計算機が、仮想計算機が動作する外部装置で利用される場合、前記外部装置へ、仮想計算機の稼動場所を通知する手段
をさらに備える付記1から5の何れか一つに記載の情報処理装置。
【0128】
(付記7)
外部装置で動作し、自装置が利用可能としてある仮想計算機と同じ仮想計算機を動作させる手段と、
前記外部装置から信号を受信する手段と、
前記信号を受信した場合、自装置で動作する仮想計算機を利用不可にする手段と
を備える情報処理装置。
【0129】
(付記8)
前記外部装置と接続している場合、自装置及び前記外部装置それぞれで動作する仮想計算機の動作状態に関する情報を同期する手段
をさらに備える付記7に記載の情報処理装置。
【0130】
(付記9)
自装置で動作する仮想計算機が行った処理により生成された情報を記憶する記憶手段と、
前記外部装置に接続しているか否かを判定する手段と、
接続していないと判定した場合、自装置で動作する仮想計算機の利用期限が経過したか否かを判定する手段と、
前記利用期限を経過した場合、前記記憶手段に記憶した情報を消去する手段と
をさらに備える付記7又は8に記載の情報処理装置。
【0131】
(付記10)
仮想計算機が動作するサーバ装置と、
該サーバ装置に接続し、前記仮想計算機を利用可能としてあり、かつ、何れか一つが前記仮想計算機と同じ仮想計算機が動作する複数の端末装置と
を備えており、
前記サーバ装置は、
仮想計算機が動作する端末装置が接続されているか否かを判定する接続判定手段と、
該接続判定手段が接続されていないと判定した場合、自装置で動作する仮想計算機を利用不可にする手段と、
自装置で動作する仮想計算機の利用開始要求を、端末装置から受け付ける手段と、
前記利用開始要求を行った端末装置が、仮想計算機が動作する端末装置であるか否かを判定する装置判定手段と、
該装置判定手段が仮想計算機が動作する端末装置でないと判定し、かつ、前記接続判定手段が仮想計算機が動作する端末装置が接続されていると判定した場合、端末装置で動作する仮想計算機を利用不可にする利用制限手段と
を有している
計算機システム。
【0132】
(付記11)
前記利用制限手段は、
仮想計算機が動作する端末装置に、前記利用開始要求の受付を通知するようにしてあり、
仮想計算機が動作する端末装置は、
前記利用制限手段から通知された場合、自装置で動作する仮想計算機を利用不可にする手段
を有している
付記10に記載の計算機システム。
【0133】
(付記12)
複数の外部装置により利用可能としてある仮想計算機が動作するコンピュータで実行させるプログラムにおいて、
コンピュータを、
前記仮想計算機と同じ仮想計算機が動作する外部装置が自身に接続されているか否かを判定する接続判定手段、
該接続判定手段が接続されていないと判定した場合、自身で動作する仮想計算機を利用不可にする手段、
自身で動作する仮想計算機の利用開始要求を受け付けた場合に、前記利用開始要求を行った外部装置が、仮想計算機が動作する外部装置であるか否かを判定する装置判定手段、及び、
該装置判定手段が仮想計算機が動作する外部装置でないと判定し、かつ、前記接続判定手段が仮想計算機が動作する外部装置が接続されていると判定した場合、前記外部装置で動作する仮想計算機を利用不可にする手段
として機能させるプログラム。
【0134】
(付記13)
外部装置で動作する仮想計算機が割り当てられたコンピュータで実行されるプログラムにおいて、
コンピュータを、
割り当てられた、外部装置で動作する仮想計算機と同じ仮想計算機を動作する手段、
前記外部装置で動作する仮想計算機が利用を開始されたか否かを判定する手段、及び、
利用を開始されたと判定した場合、自装置で動作する仮想計算機を利用不可にする手段
として機能させるプログラム。
【0135】
(付記14)
付記12又は13に記載のプログラムが記録されており、コンピュータでの読取り可能な記録媒体。
【0136】
(付記15)
仮想計算機が動作するサーバ装置と、該サーバ装置に接続し、前記仮想計算機が割り当てられ、かつ、何れか一つが前記仮想計算機と同じ仮想計算機が動作する複数の端末装置とを備える計算機システムで実行する仮想計算機利用制限方法において、
仮想計算機が動作する端末装置が、前記サーバ装置に接続されているか否かを判定し、
接続されていないと判定した場合、前記サーバ装置で動作する仮想計算機を利用不可にし、
前記サーバ装置が、動作する仮想計算機の利用開始要求を受け付けた場合、前記利用開始要求を行った端末装置が、仮想計算機が動作する端末装置であるか否かを判定し、
前記利用開始要求を行った端末装置が、仮想計算機が動作する端末装置でないと判定し、かつ、仮想計算機が動作する端末装置が前記サーバ装置に接続されていると判定した場合、前記端末装置で動作する仮想計算機を利用不可にする
仮想計算機利用制限方法。
【符号の説明】
【0137】
1 サーバ装置(情報処理装置)
2,3,4 端末装置(情報処理装置)
5 シンクライアント端末(外部装置)
101 管理OS
102 サーバVM
201 管理OS
202 端末VM

【特許請求の範囲】
【請求項1】
仮想計算機を動作させる手段と、
前記仮想計算機を、何れか一つが前記仮想計算機と同じ仮想計算機が動作する複数の外部装置から利用できるようにする手段と、
仮想計算機が動作する外部装置が自装置に接続されているか否かを判定する接続判定手段と、
該接続判定手段が接続されていないと判定した場合、自装置で動作する仮想計算機を利用不可にする手段と、
自装置で動作する仮想計算機の利用開始要求を外部装置から受け付ける手段と、
前記利用開始要求を行った外部装置が、仮想計算機が動作する外部装置であるか否かを判定する装置判定手段と、
該装置判定手段が仮想計算機が動作する外部装置でないと判定し、かつ、前記接続判定手段が仮想計算機が動作する外部装置が接続されていると判定した場合、外部装置で動作する仮想計算機を利用不可にする手段と
を備える情報処理装置。
【請求項2】
前記装置判定手段が仮想計算機が動作する外部装置であると判定した場合、自装置及び前記外部装置それぞれで動作する仮想計算機の動作状態に関する情報を同期する手段
をさらに備える請求項1に記載の情報処理装置。
【請求項3】
外部装置で動作する仮想計算機を利用不可にした場合、前記利用開始要求を行った外部装置から、仮想計算機の利用終了要求を受け付ける手段と、
前記利用終了要求を受け付けた場合、自装置及び外部装置それぞれで動作する仮想計算機の動作状態に関する情報を同期する手段と
をさらに備える請求項1又は2に記載の情報処理装置。
【請求項4】
前記接続判定手段が接続されていないと判定した場合、仮想計算機が動作する外部装置が自装置へ接続されたか否かを判定する手段と、
接続されたと判定した場合、自装置及び前記外部装置それぞれで動作する仮想計算機の動作状態に関する情報を同期する手段と
をさらに備える請求項1から3の何れか一つに記載の情報処理装置。
【請求項5】
外部装置で動作し、自装置が利用可能としてある仮想計算機と同じ仮想計算機を動作させる手段と、
前記外部装置から信号を受信する手段と、
前記信号を受信した場合、自装置で動作する仮想計算機を利用不可にする手段と
を備える情報処理装置。
【請求項6】
仮想計算機が動作するサーバ装置と、
該サーバ装置に接続し、前記仮想計算機を利用可能としてあり、かつ、何れか一つが前記仮想計算機と同じ仮想計算機が動作する複数の端末装置と
を備えており、
前記サーバ装置は、
仮想計算機が動作する端末装置が接続されているか否かを判定する接続判定手段と、
該接続判定手段が接続されていないと判定した場合、自装置で動作する仮想計算機を利用不可にする手段と、
自装置で動作する仮想計算機の利用開始要求を、端末装置から受け付ける手段と、
前記利用開始要求を行った端末装置が、仮想計算機が動作する端末装置であるか否かを判定する装置判定手段と、
該装置判定手段が仮想計算機が動作する端末装置でないと判定し、かつ、前記接続判定手段が仮想計算機が動作する端末装置が接続されていると判定した場合、端末装置で動作する仮想計算機を利用不可にする利用制限手段と
を有している
計算機システム。
【請求項7】
前記利用制限手段は、
仮想計算機が動作する端末装置に、前記利用開始要求の受付を通知するようにしてあり、
仮想計算機が動作する端末装置は、
前記利用制限手段から通知された場合、自装置で動作する仮想計算機を利用不可にする手段
を有している
請求項6に記載の計算機システム。
【請求項8】
複数の外部装置により利用可能としてある仮想計算機が動作するコンピュータで実行させるプログラムにおいて、
コンピュータを、
前記仮想計算機と同じ仮想計算機が動作する外部装置が自身に接続されているか否かを判定する接続判定手段、
該接続判定手段が接続されていないと判定した場合、自身で動作する仮想計算機を利用不可にする手段、
自身で動作する仮想計算機の利用開始要求を受け付けた場合に、前記利用開始要求を行った外部装置が、仮想計算機が動作する外部装置であるか否かを判定する装置判定手段、及び、
該装置判定手段が仮想計算機が動作する外部装置でないと判定し、かつ、前記接続判定手段が仮想計算機が動作する外部装置が接続されていると判定した場合、前記外部装置で動作する仮想計算機を利用不可にする手段
として機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14A】
image rotate

【図14B】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate