(57)【特許請求の範囲】
【請求項１】
仮想計算機を動作させる手段と、
前記仮想計算機を、何れか一つが前記仮想計算機と同じ仮想計算機が動作する複数の外部装置から利用できるようにする手段と、
仮想計算機が動作する外部装置が自装置に接続されているか否かを判定する接続判定手段と、
該接続判定手段が接続されていないと判定した場合、自装置で動作する仮想計算機を利用不可にする手段と、
自装置で動作する仮想計算機の利用開始要求を外部装置から受け付ける手段と、
前記利用開始要求を行った外部装置が、仮想計算機が動作する外部装置であるか否かを判定する装置判定手段と、
該装置判定手段が仮想計算機が動作する外部装置でないと判定し、かつ、前記接続判定手段が仮想計算機が動作する外部装置が接続されていると判定した場合、外部装置で動作する仮想計算機を利用不可にする手段と
を備える情報処理装置。
【請求項２】
前記装置判定手段が仮想計算機が動作する外部装置であると判定した場合、自装置及び前記外部装置それぞれで動作する仮想計算機の動作状態に関する情報を同期する手段
をさらに備える請求項１に記載の情報処理装置。
【請求項３】
外部装置で動作する仮想計算機を利用不可にした場合、前記利用開始要求を行った外部装置から、仮想計算機の利用終了要求を受け付ける手段と、
前記利用終了要求を受け付けた場合、自装置及び外部装置それぞれで動作する仮想計算機の動作状態に関する情報を同期する手段と
をさらに備える請求項１又は２に記載の情報処理装置。
【請求項４】
前記接続判定手段が接続されていないと判定した場合、仮想計算機が動作する外部装置が自装置へ接続されたか否かを判定する手段と、
接続されたと判定した場合、自装置及び前記外部装置それぞれで動作する仮想計算機の動作状態に関する情報を同期する手段と
をさらに備える請求項１から３の何れか一つに記載の情報処理装置。
【請求項５】
外部装置で動作し、自装置及び他の情報処理装置にて利用可能としてある仮想計算機と同じ仮想計算機を動作させる手段と、
前記外部装置で動作する仮想計算機が前記他の情報処理装置にて利用されている旨の通知を前記外部装置から受信する手段と、
前記通知を受信した場合、自装置で動作する仮想計算機を利用不可にする手段と
を備える情報処理装置。
【請求項６】
仮想計算機が動作するサーバ装置と、
該サーバ装置に接続し、前記仮想計算機を利用可能としてあり、かつ、何れか一つが前記仮想計算機と同じ仮想計算機が動作する複数の端末装置と
を備えており、
前記サーバ装置は、
仮想計算機が動作する端末装置が接続されているか否かを判定する接続判定手段と、
該接続判定手段が接続されていないと判定した場合、自装置で動作する仮想計算機を利用不可にする手段と、
自装置で動作する仮想計算機の利用開始要求を、端末装置から受け付ける手段と、
前記利用開始要求を行った端末装置が、仮想計算機が動作する端末装置であるか否かを判定する装置判定手段と、
該装置判定手段が仮想計算機が動作する端末装置でないと判定し、かつ、前記接続判定手段が仮想計算機が動作する端末装置が接続されていると判定した場合、端末装置で動作する仮想計算機を利用不可にする利用制限手段と
を有している
計算機システム。
【請求項７】
前記利用制限手段は、
仮想計算機が動作する端末装置に、前記利用開始要求の受付を通知するようにしてあり、
仮想計算機が動作する端末装置は、
前記利用制限手段から通知された場合、自装置で動作する仮想計算機を利用不可にする手段
を有している
請求項６に記載の計算機システム。
【請求項８】
複数の外部装置により利用可能としてある仮想計算機が動作するコンピュータで実行させるプログラムにおいて、
コンピュータを、
前記仮想計算機と同じ仮想計算機が動作する外部装置が自身に接続されているか否かを判定する接続判定手段、
該接続判定手段が接続されていないと判定した場合、自身で動作する仮想計算機を利用不可にする手段、
自身で動作する仮想計算機の利用開始要求を受け付けた場合に、前記利用開始要求を行った外部装置が、仮想計算機が動作する外部装置であるか否かを判定する装置判定手段、及び、
該装置判定手段が仮想計算機が動作する外部装置でないと判定し、かつ、前記接続判定手段が仮想計算機が動作する外部装置が接続されていると判定した場合、前記外部装置で動作する仮想計算機を利用不可にする手段
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置で動作する仮想計算機を、対応する端末装置に移動させる情報処理装置、計算機システム及びプログラムに関する。
【背景技術】
【０００２】
１台のサーバ装置上で複数の仮想的なコンピュータ（以下、仮想マシン（ＶＭ：Virtual Machine）と言う）を動作させ、ネットワークを介してサーバ装置に接続される複数の端末装置それぞれに仮想マシンを割り当てるシステムがある。このシステムでは、サーバ装置で動作する各仮想マシン上でOperating System（ＯＳ）が稼働しており、各端末装置のユーザは、自身の端末装置から、割り当てられた仮想マシンのＯＳを利用することができる。すなわち、サーバ装置は、各端末装置のデスクトップコンピュータとして利用される。
【０００３】
また、上述のシステムでは、仮想マシンをサーバ装置と端末装置との間でネットワークを介して移動させることが可能な技術がある（例えば特許文献１参照）。特許文献１では、サーバ装置で仮想マシンを動作させるための必要な情報（データ）を、端末装置に同期させ、端末装置でサーバ装置と同じ動作環境を実現可能としている。これにより、端末装置がオフラインによりサーバ装置と接続していない場合であっても、ユーザによる端末装置上での仮想マシンの利用を可能としている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４２４２８１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１のようにサーバ装置と端末装置との何れでも仮想マシンが動作可能とした場合、サーバ装置と端末装置とで同時に同じ仮想マシンが利用されるおそれがある。
【０００６】
本発明はかかる事情に鑑みてなされたものであり、その目的とするところは、異なる装置で同じ仮想マシンを動作可能とした場合に、各装置で動作する仮想マシンの同時利用を回避することができる情報処理装置、計算機システム及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本願に開示する情報処理装置は、仮想計算機を動作させる手段と、前記仮想計算機を、何れか一つが前記仮想計算機と同じ仮想計算機が動作する複数の外部装置から利用できるようにする手段と、仮想計算機が動作する外部装置が自装置に接続されているか否かを判定する接続判定手段と、該接続判定手段が接続されていないと判定した場合、自装置で動作する仮想計算機を利用不可にする手段と、自装置で動作する仮想計算機の利用開始要求を外部装置から受け付ける手段と、前記利用開始要求を行った外部装置が、仮想計算機が動作する外部装置であるか否かを判定する装置判定手段と、該装置判定手段が仮想計算機が動作する外部装置でないと判定し、かつ、前記接続判定手段が仮想計算機が動作する外部装置が接続されていると判定した場合、外部装置で動作する仮想計算機を利用不可にする手段とを備える。
【発明の効果】
【０００８】
本願に開示する情報処理装置の一観点によれば、自装置と外部装置とで同じ仮想計算機が動作する場合、自装置及び外部装置で動作する仮想計算機の一方を利用不可とすることで、仮想計算機の同時利用を回避することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態に係る計算機システムを模式的に示す図である。
【図２】計算機システムに係るハードウェア構成を示すブロック図である。
【図３】計算機システムに係るハードウェア構成を示すブロック図である。
【図４】サーバ装置が有する機能を示すブロック図である。
【図５】ＶＭ管理テーブルを模式的に示す図である。
【図６】端末装置が有する機能を示すブロック図である。
【図７】端末装置の接続状態を監視する処理の手順を示すフローチャートである。
【図８】接続要求を受信する際のサーバ装置における処理手順を示すフローチャートである。
【図９】サーバ装置が実行する端末装置利用処理における処理手順を示すフローチャートである。
【図１０】シンクライアント端末が実行するシンクライアント端末利用処理における処理手順を示すフローチャートである。
【図１１】シンクライアント端末が実行するシンクライアント端末利用処理における処理手順を示すフローチャートである。
【図１２】ＶＭを利用する際の端末装置における処理手順を示すフローチャートである。
【図１３】ＶＭを利用する際の端末装置における処理手順を示すフローチャートである。
【図１４Ａ】ＶＭの処理結果を表示した端末装置のモニタの一例を示す図である。
【図１４Ｂ】ＶＭの処理結果を表示した端末装置のモニタの一例を示す図である。
【図１５】サーバ装置が有する機能を示すブロック図である。
【図１６】端末装置が有する機能を示すブロック図である。
【図１７】サーバ装置が実行する端末装置利用処理における処理手順を示すフローチャートである。
【図１８】端末装置における処理手順を示すフローチャートである。
【図１９】端末装置における処理手順を示すフローチャートである。
【図２０】端末ＶＭの利用期限の設定画面の一例を示す図である。
【図２１】サーバ装置が有する機能を示すブロック図である。
【図２２】端末装置が有する機能を示すブロック図である。
【図２３】端末装置における処理手順を示すフローチャートである。
【図２４】サーバ装置における処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、本願に開示する情報処理装置、計算機システム及びプログラムについて、各実施形態を示す図面に基づいて詳述する。
【００１１】
（実施形態１）
図１は、本実施の形態に係る計算機システムを模式的に示す図である。
【００１２】
本実施の形態に係る計算機システムは、情報処理装置としてのサーバ装置１、及び複数の端末装置２，３，４を備えている。サーバ装置１と複数の端末装置２，３，４とは、ネットワークＮを介して、有線又は無線により接続している。ネットワークＮは、Local Area Network（ＬＡＮ）又はWide Area Network（ＷＡＮ）等である。
【００１３】
サーバ装置１では、仮想化プログラムとしてのVirtual Machine Monitor（ＶＭＭ）が実行しており、ＶＭＭ上では複数のＶＭが動作する。ＶＭＭは、例えばCentral Processing Unit（ＣＰＵ）及びRead Only Memory（ＲＯＭ）等、サーバ装置１のリソースを各ＶＭに割り当てて、各ＶＭがリソースの利用を可能にするプログラムである。ＶＭは、独自にＯＳ及びアプリケーションを物理コンピュータと同じように実行させる仮想的なコンピュータである。各ＶＭは、サーバ装置１に接続される端末装置２，３，４それぞれが割り当てられ、各端末装置２，３，４から、ネットワークＮを介して利用される。なおサーバ装置１は、キーボード及びモニタなどを備えたパーソナルコンピュータ（以下、ＰＣと言う）であってもよい。
【００１４】
端末装置２，３，４は、キーボード、マウス及びモニタ等を備えたノート型ＰＣである。端末装置２，３，４は、ネットワークＮを介してサーバ装置１へ接続し、サーバ装置１で動作するＶＭ（以下、サーバＶＭと言う）それぞれが割り当てられる。そして端末装置２，３，４は、その割り当てられたサーバＶＭをネットワークＮを経由して利用することができる。例えば、端末装置２，３，４は、キーボード及びマウスから入力された操作を、自身が割り当てられたサーバＶＭへ送信し、サーバＶＭから処理結果を受信してモニタに表示する。以下の説明では、端末装置２についてのみ説明し、端末装置３，４の構成等は、端末装置２と同様であるため説明は省略する。
【００１５】
端末装置２は、サーバ装置１と同様にＶＭＭを実行し、そのＶＭＭ上でＶＭを動作可能となっている。端末装置２では、サーバＶＭと同じＶＭが、ＶＭＭ上で動作するようになっている。具体的には、サーバ装置１が保持しているＶＭ情報と、端末装置２が保持しているＶＭ情報とを同期させ、それぞれが同じＶＭ情報を保持するようにしている。ＶＭ情報とは、ＶＭが動作するための動作環境などを実装するための情報、及び動作したＶＭにより生成され、記憶された情報（メモリ内容やＨＤＤ内容）等である。これにより、端末装置２では、サーバＶＭと同じＶＭがＶＭＭ上で動作するようになる。
【００１６】
なお、端末装置２は、デスクトップ型ＰＣ、モニタに接続するセットトップボックス（ＳＴＢ：Set Top Box）、Personal Digital Assistant（ＰＤＡ）又は携帯電話機等であってもよい。また、サーバ装置１へ接続する端末装置の数は、一台であってもよいし、三台以上であってもよい。
【００１７】
サーバ装置１は、シンクライアント端末５がネットワークＮを介して接続可能としてある。シンクライアント端末５は、ハードディスク等の大容量記憶媒体を備えないコンピュータである。シンクライアント端末５は、サーバ装置１で動作し、端末装置２，３，４の何れかが割り当てられたサーバＶＭが割り当てられている。以下では、シンクライアント端末５は、端末装置２が割り当てられたサーバＶＭが割り当てられ、それぞれが同じユーザにより使用されるものとして説明する。シンクライアント端末５は、端末装置２が割り当てられたサーバＶＭをネットワークＮを経由して利用することができる。すなわち、端末装置２及びシンクライアント端末５は、サーバ装置１で動作する同じサーバＶＭを利用できるようになっている。
【００１８】
なお、シンクライアント端末５は、ネットワークＮとは異なる他のネットワークを介してサーバ装置１に接続する構成であってもよいし、ネットワークを介さずに直接サーバ装置１へ接続する構成であってもよい。またシンクライアント端末５は、ハードディスク等を備えたノートＰＣ、デスクトップＰＣ、又はＰＤＡ等であってもよい。さらに、端末装置２と同じ複数のシンクライアント端末５がサーバ装置１へ接続していてもよい。シンクライアント端末５は、端末装置２と異なるユーザにより使用されてもよい。
【００１９】
以上のように構成される計算機システムにおいて、サーバ装置１のサーバＶＭは、端末装置２及びシンクライアント端末５の一方から利用されている場合、他方からは利用できないようになっている。これにより、端末装置２及びシンクライアント端末５が同時に同じサーバＶＭを利用することを回避できる。また、端末装置２は、サーバ装置１へ接続している場合には、サーバＶＭを利用し、サーバ装置１へ接続していない場合には、自身で動作しているＶＭ（以下、端末ＶＭと言う）を利用するようになっている。これにより、端末装置２がネットワークＮに接続できない状態であっても、ユーザは、サーバＶＭと同じ端末ＶＭの利用が可能となる。
【００２０】
また、端末装置２がネットワークＮに接続していない状態（以下、オフライン状態と言う）の場合、サーバＶＭは、シンクライアント端末５から利用できないようになっている。端末装置２がオフライン状態の場合、端末装置２では端末ＶＭが利用されている可能性がある。この場合、サーバＶＭがシンクライアント端末５から利用されることで、同じＶＭ（サーバＶＭ及び端末ＶＭ）が、サーバ装置１と端末装置２とで独立して利用されるおそれがある。このため、端末装置２がオフライン状態の場合には、シンクライアント端末５からサーバＶＭを利用できなくすることで、同じＶＭが別々に利用されることを回避できる。
【００２１】
以下、計算機システムの具体的な構成、機能及び動作等について詳述する。
【００２２】
図２及び図３は、計算機システムに係るハードウェア構成を示すブロック図である。以下の説明では、端末装置２，３，４は、何れも同じ構成であるため、端末装置２についてのみ説明し、端末装置３，４の説明は省略する。
【００２３】
サーバ装置１は、ＣＰＵ１０、ＲＯＭ１１、Random Access Memory（ＲＡＭ）１２、ハードディスクドライブ（以下、ＨＤＤという）１３、及び通信部１４等のハードウェア各部を備える。これらのハードウェア各部はバスを介して相互に接続されている。ＣＰＵ１０は、ＲＯＭ１１に格納されているプログラム１１ａを適宜ＲＡＭ１２に読み出して実行すると共に、上述したハードウェア各部の動作を制御する。ＲＯＭ１１は、プログラム１１ａを格納している。ＲＡＭ１２は、例えばStatic ＲＡＭ（ＳＲＡＭ）、Dynamic ＲＡＭ（ＤＲＡＭ）、フラッシュメモリ等である。ＲＡＭ１２は、ＣＰＵ１０によるプログラム１１ａの実行時に発生する種々のデータを一時的に記憶する。
【００２４】
ＨＤＤ１３は大容量の記憶装置である。ＨＤＤ１３は、ＶＭＭプログラム、管理ＯＳプログラム、ゲストＯＳプログラム、アプリケーションプログラム及び各処理に必要なデータテーブル等を格納している。各プログラムは、ＣＰＵ１０によりＲＡＭ１２に読み出しされて実行される。なお、プログラム１１ａは、ＣＤ−ＲＯＭ６ａ等の外部メディアよりＨＤＤ１３にインストールして、又はネットワークからダウンロードして使用する形態でもよい。
【００２５】
ＶＭＭプログラムは、サーバ装置１でＶＭの動作を可能にする仮想化技術を実現するためのソフトウェアプログラムである。ＣＰＵ１０は、サーバ装置１の起動後にＶＭＭプログラムを実行することによりＶＭＭとしての動作を開始する。ＣＰＵ１０がＶＭＭとして動作することにより、サーバ装置１には、ＶＭが独立して動作可能な仮想環境が提供される。
【００２６】
管理ＯＳプログラムは、ＶＭＭ上でＶＭを起動及び停止する機能、及びＶＭに対してＣＰＵ１０等のリソースを割り当てて、また割り当てを解放する機能を実現するためのソフトウェアプログラムである。ＣＰＵ１０は、サーバ装置１の起動後に管理ＯＳプログラムを実行することにより管理ＯＳとしての動作を開始する。
【００２７】
ゲストＯＳプログラムは、ＶＭ上でＯＳを実行させるためのソフトウェアプログラムである。ＣＰＵ１０は、ＶＭが起動した後、ゲストＯＳプログラムを実行することによりＯＳ（以下、ゲストＯＳと言う）としての動作を開始する。ゲストＯＳは、例えばWindows（登録商標）又はLinux（登録商標）等である。ゲストＯＳは、実行した処理に応じて表示すべきCommand User Interface（ＣＵＩ）、Graphic User Interface（ＧＵＩ）等を含む表示画面を生成し、生成した表示画面は、端末装置２（又はシンクライアント端末５）に送られ、端末装置２（又はシンクライアント端末５）のモニタに表示される。また、ゲストＯＳは、端末装置２（又はシンクライアント端末５）のキーボード及びマウスからの制御信号を受け付ける。そして、ゲストＯＳは、受け付けた制御信号に応じて各種処理を実行する実行手段として機能する。
【００２８】
アプリケーションプログラムは、ゲストＯＳのそれぞれによって実行されるアプリケーションのソフトウェアプログラムである。サーバ装置１は、アプリケーションプログラムが記録された外部メモリからアプリケーションプログラムを読み取ってＨＤＤ１３に格納してもよい。また、サーバ装置１は、ネットワークを介してアプリケーションプログラムをダウンロードしてＨＤＤ１３に格納させてもよい。
【００２９】
端末装置２は、ＣＰＵ２０、ＲＯＭ２１、ＲＡＭ２２、ＨＤＤ２３、入出力装置２４、通信部２５及び電源回路２６等のハードウェア各部を備える。これらのハードウェア各部はバスを介して相互に接続されている。入出力装置２４は、キーボード、マウス及びモニタ等である。通信部２５は、ネットワークＮへの接続を可能にする。
【００３０】
ＣＰＵ２０は、ＲＯＭ２１に予め格納されているプログラム２１ａを適宜ＲＡＭ２２に読み出して実行すると共に、上述したハードウェア各部の動作を制御する。ＲＯＭ２１は、プログラム２１ａ、及び各種データ等を予め格納している。ＲＡＭ２２は、例えばＳＲＡＭ、ＤＲＡＭ、フラッシュメモリ等であり、ＣＰＵ２０による制御プログラム２１ａの実行時に発生する種々のデータを一時的に記憶する。
【００３１】
ＨＤＤ２３には、サーバ装置１と同様に、ＶＭＭプログラム、管理ＯＳプログラム、ゲストＯＳプログラム、アプリケーションプログラム、及び各種のデータ等を格納している。なお、プログラム２１ａは、ＣＤ−ＲＯＭ６ｂ等の外部メディアよりＨＤＤ２３にインストールして、又はネットワークからダウンロードして使用する形態でもよい。
【００３２】
電源回路２６は、端末装置２の電源制御を行う回路である。電源回路２６は、端末装置２の電源がオンオフされることで、ＣＰＵ２０等へ電力供給し、又は供給を停止する。電源回路２６は、電源がオフの場合であっても、電力供給されており、自身と通信部２５とを動作可能な状態としている。従って、通信部２５は、電源がオフの場合でも、サーバ装置１との間で信号の送受信が可能である。この通信部２５が、電源がオフの場合にサーバ装置１から電源投入信号を受信したとき、電源回路２６は、電源をオンに切り替える。また、電源がオンの場合に、通信部２５がサーバ装置１から電源停止信号を受信したとき、電源回路２６は電源をオフに切り替える。電源がオンの場合にサーバ装置１から電源投入信号を受信したとき、又は電源がオフの場合にサーバ装置１から電源停止信号を受信したときは、何も行わない。電源をオフに切り換えるとき、ゲストＯＳと連携し、ゲストＯＳを正常にシャットダウンさせた後、電源をオフにしてもよい。
【００３３】
シンクライアント端末５は、ＣＰＵ５０、ＲＯＭ５１、ＲＡＭ５２、キーボード、マウス及びモニタ等の入出力装置５３、及びネットワークＮに接続するための通信部５４等のハードウェア各部を備える。これらのハードウェア各部はバスを介して相互に接続されている。ＣＰＵ５０は、ＲＯＭ５１に予め格納されている制御プログラムを適宜ＲＡＭ５２に読み出して実行すると共に、上述したハードウェア各部の動作を制御する。ＲＯＭ５１は、制御プログラム及び各種データ等を予め格納している。ＲＡＭ５２は、例えばＳＲＡＭ、ＤＲＡＭ、フラッシュメモリ等であり、ＣＰＵ５０による制御プログラムの実行時に発生する種々のデータを一時的に記憶する。
【００３４】
以下に、計算機システムのサーバ装置１及び端末装置２で実現される機能について説明する。
【００３５】
図４は、サーバ装置１が有する機能を示すブロック図である。ＣＰＵ１０が各プログラムを実行することにより、サーバ装置１では、ＶＭＭ１００が実行され、ＶＭＭ１００上では管理ＯＳ１０１が動作する。ＶＭＭ１００は、ＶＭ起動部１１０の機能を有する。ＶＭ起動部１１０は、管理ＯＳ１０１からの要求により、ＶＭＭ１００上でサーバＶＭ１０２の起動及び停止を行う。なお、ＶＭＭ１００上では、複数のサーバＶＭが動作し、それぞれに端末装置２，３，４が割り当てられるが、図４では、端末装置２に割り当てられたサーバＶＭ１０２のみ示している。
【００３６】
管理ＯＳ１０１は、端末情報記憶部１２０、接続監視部１２１、接続要求受信部１２２、ＶＭ利用可否判定部１２３、ＶＭ起動要求部１２４、接続要求応答部１２５、ＶＭ情報同期部１２６、端末電源制御部１２７及びＶＭ利用通知部１２８等の機能を有している。
【００３７】
端末情報記憶部１２０は、サーバＶＭを管理するためのＶＭ管理テーブルを記憶している。図５は、ＶＭ管理テーブルを模式的に示す図である。
【００３８】
ＶＭ管理テーブルは、ユーザＩＤ、パスワード、ＶＭ＿ＩＤ、ＶＭ情報、及びサーバ装置１のゲストＯＳアドレスを対応付けて格納している。端末装置２又はシンクライアント端末５からユーザＩＤ及びパスワードが送信された場合、ＣＰＵ１０は、対応するＶＭ＿ＩＤを取得して、起動すべきサーバＶＭ１０２を特定する。そして、ＣＰＵ１０は、特定したサーバＶＭ１０２を起動するためのＶＭ情報を取得する。なお、ＶＭ管理テーブルに格納されるＶＭ情報は、ＶＭ情報の記憶先及びファイル名等を含んでいる。ＣＰＵ１０は、起動したサーバＶＭ１０２で動作するゲストＯＳにアクセスするためのアドレスを取得して、取得したアドレスを、ユーザＩＤ等を送信した端末装置２又はシンクライアント端末５へ送信する。これにより、端末装置２及びシンクライアント端末５の何れが使用した場合であっても、サーバ装置１では、常にサーバＶＭ１０２が起動するようになる。
【００３９】
またＶＭ管理テーブルは、接続監視先アドレス、及び端末装置２のゲストＯＳアドレスを、ユーザＩＤ等に対応付けて格納している。接続監視先アドレスは、対応するユーザＩＤを持つユーザが利用している、端末装置２の通信部２５に割り当てられたアドレスである。上述のように通信部２５は、端末装置２の電源がオフであっても機能しており、ＣＰＵ１０は、電源監視先アドレスへ信号を送信し、それに応答する信号を受信するか否かで、端末装置２がネットワークＮへ接続しているか否かを監視する。ゲストＯＳアドレスは、端末装置２の端末ＶＭ２０２で動作するゲストＯＳのアドレスである。
【００４０】
さらにＶＭ管理テーブルは、サーバＶＭの利用の可否を、ユーザＩＤ等に対応付けて格納している。端末装置２又はシンクライアント端末５からユーザＩＤ等が送信された場合、ＣＰＵ１０は、ＶＭ管理テーブルに基づいて、対応するサーバＶＭ１０２の利用の可否を判定する。
【００４１】
接続監視部１２１は、端末装置２の接続状態を監視する。具体的には、接続監視部１２１は、端末管理テーブルの接続監視先アドレスに従って確認信号を定期的に送信し、その確認信号に応答する応答信号を受信した場合、端末装置２はネットワークＮに接続している状態（以下、オンライン状態と言う）であるとし、受信しない場合、オフライン状態であると判定する。接続監視部１２１は、監視結果をＶＭ利用可否判定部１２３へ通知する。
【００４２】
接続要求受信部１２２は、端末装置２又はシンクライアント端末５から接続要求（利用開始要求）を受信する。接続要求は、サーバＶＭの利用が開始される際に、端末装置２又はシンクライアント端末５から送信される。この接続要求は、端末装置２又はシンクライアント端末５で入力されたユーザＩＤ及びパスワード等を含んでいる。接続要求を受信した接続要求受信部１２２は、ＶＭ利用可否判定部１２３へ通知する。
【００４３】
ＶＭ利用可否判定部１２３は、ＶＭ情報テーブルに基づいて、受信した接続要求に含まれるユーザＩＤに対応するサーバＶＭの利用の可否を判定する。またＶＭ利用可否判定部１２３は、端末装置２がオンライン状態の場合、サーバＶＭ１０２が利用可能となり、オフライン状態の場合、サーバＶＭ１０２の利用不可能となるよう、ＶＭ情報テーブルを更新する。
【００４４】
ＶＭ起動要求部１２４は、サーバＶＭ１０２が利用可能である場合、サーバＶＭ１０２のＶＭ情報と共に、ＶＭＭ１００のＶＭ起動部１１０へ通知する。これにより、ＶＭ起動部１１０がサーバＶＭ１０２を起動し、起動したサーバＶＭ１０２には、サーバ装置１のリソースが割り当てられる。リソースが割り当てられた後、サーバＶＭ１０２ではゲストＯＳの動作が開始される。
【００４５】
接続要求応答部１２５は、ＶＭ利用可否判定部１２３による判定結果に従って、接続要求を送信した端末装置２又はシンクライアント端末５へ応答信号を送信する。サーバＶＭ１０２が利用可能である場合、接続要求応答部１２５は、起動したサーバＶＭ１０２上で動作するゲストＯＳのアドレスを応答信号に含めて送信する。これにより、端末装置２又はシンクライアント端末５は、サーバＶＭ１０２で動作するゲストＯＳへの接続（以下、リモート接続と言う）が可能となる。また、サーバＶＭ１０２が利用不可能である場合、接続要求応答部１２５は、エラーとして応答信号を送信する。
【００４６】
ＶＭ情報同期部１２６は、所定のタイミングで端末装置２との間でＶＭ情報の同期を行う。例えば、ＶＭ情報同期部１２６は、サーバ装置１が保持するＶＭ情報、及び端末装置２が保持するＶＭ情報それぞれが更新された時間を比較し、古いＶＭ情報を新しいＶＭ情報へ書き換える。サーバ装置１が保持するＶＭ情報が古い場合、ＶＭ情報同期部１２６は、端末装置２からＶＭ情報を受信する。端末装置２が保持するＶＭ情報が古い場合、ＶＭ情報同期部１２６は、端末装置２へＶＭ情報を送信する。なお、ＶＭ情報は、同期する度にすべてコピーしてもよいし、前回同期してからの変更点を差分データとして保持しておき、差分データのみを同期して、同期する情報量を少なくするようにしてもよい。
【００４７】
端末電源制御部１２７は、ＶＭ管理テーブルの接続監視先アドレスに従って、電源投入信号又は電源停止信号を送信する。電源投入信号又は電源停止信号を受信した端末装置２では、電源回路２６が電源をオン又はオフする。
【００４８】
ＶＭ利用通知部１２８は、シンクライアント端末５がサーバＶＭ１０２を利用している場合、端末装置２へサーバＶＭ１０２が利用されていることを通知する。通知された端末装置２では、端末ＶＭが利用不可能となる。また、ＶＭ利用通知部１２８は、シンクライアント端末５による利用が終了した場合にも、端末装置２へ通知する。これにより、端末装置２では端末ＶＭが利用可能となる。
【００４９】
ＶＭＭ１００上で起動したサーバＶＭ１０２では、ゲストＯＳの動作が開始される。ゲストＯＳ上ではネットワーク経由で操作を可能にするリモート操作サーバが動作する。リモート操作サーバは、端末装置２またはシンクライアント端末５からのリモート接続を可能にする。ゲストＯＳは、このリモート接続を監視するリモート接続監視部１３０の機能を有している。リモート接続終了監視部１３０は、リモート接続が終了されるか否かを監視する。リモート操作サーバ、及び、リモート接続監視部１３０は、管理ＯＳ１０１上にあってもよい。また、管理ＯＳ１０１とＶＭＭ１００を分けているが、ＶＭＭ１００内に管理ＯＳ１０１の機能を含んでいてもよい。また、管理ＯＳ１０１の機能がＶＭＭ１００とは別マシンに存在し、ネットワーク経由でＶＭＭ１００を管理してもよい。この場合１つの管理ＯＳが複数のＶＭＭを管理してもよい。
【００５０】
図６は、端末装置２が有する機能を示すブロック図である。
【００５１】
端末装置２は、電源がオンオフに関係なく機能する、監視応答部２０５、及び電源制御部２０６等の機能を有している。監視応答部２０５は、サーバ装置１の接続監視部１２１から送信された確認信号を受信し、確認信号に応答する応答信号を接続監視部１２１へ送信する。電源制御部２０６は、ユーザによる操作、又はサーバ装置１の端末電源制御部１２７からの信号に従って、端末装置２の電源をオン又はオフにする。例えば電源制御部２０６は、サーバ装置１から電源投入信号を受信した場合、端末装置２の電源をオンにし、電源停止信号を受信した場合、端末装置２の電源をオフにする。
【００５２】
ＣＰＵ２０が各プログラムを実行することにより、端末装置２では、ＶＭＭ２００が実行され、ＶＭＭ２００上では管理ＯＳ２０１が動作する。ＶＭＭ２００は、ＶＭ起動部２１０の機能を有する。ＶＭ起動部２１０は、管理ＯＳ２０１からの要求により、ＶＭＭ２００上で端末ＶＭ２０２の起動及び停止を行う。
【００５３】
管理ＯＳ２０１は、接続要求送受信部２２０、ＶＭ利用可否設定部２２１、ＶＭ情報同期部２２３、及びリモート操作クライアント２２４の機能を有している。
【００５４】
接続要求送受信部２２０は、ユーザＩＤの入力等、ユーザによる操作を受け付け、オンライン時は、接続要求をサーバ装置１へ送信する。また接続要求送受信部２２０は、サーバ装置１から応答信号を受信する。応答信号に含まれるサーバＶＭ１０２へリモート接続するようにリモート操作クライアント２２４を起動する。オフライン時は、ＶＭ起動要求部２２２へ通知する。接続要求受信部２２０は、ＶＭ起動要求部２２２から応答信号を受信する。応答信号に含まれる端末ＶＭ２０２へリモート接続するようにリモート操作クライアント２２４を起動する。
【００５５】
ＶＭ利用可否設定部２２１は、サーバ装置１からの通知に従って、端末ＶＭの利用の可否を設定する。例えば、シンクライアント端末５によるサーバＶＭ１０２の利用が通知された場合、ＶＭ利用可否設定部２２１は、端末ＶＭを利用不可能にする。またサーバＶＭ１０２の利用終了が通知された場合、ＶＭ利用可否設定部２２１は、端末ＶＭを利用可能にする。
【００５６】
ＶＭ起動要求部２２２は、端末ＶＭが利用可能である場合、ＶＭＭ２００のＶＭ起動部２１０へ端末ＶＭの起動を要求する。これにより、ＶＭ起動部２１０が端末ＶＭ２０２を起動し、起動した端末ＶＭ２０２には、端末装置２のリソースが割り当てられる。リソースが割り当てられた後、端末ＶＭ２０２ではゲストＯＳの動作が開始される。
【００５７】
ＶＭ情報同期部２２３は、所定のタイミングでサーバ装置１との間でＶＭ情報の同期を行う。リモート操作クライアント２２４は、サーバ装置１から受信した応答信号に含まれるゲストＯＳアドレスに基づいて、サーバＶＭ１０２のゲストＯＳへリモート接続する。これにより、端末装置２からサーバ装置１で動作するサーバＶＭ１０２の利用が可能となる。
【００５８】
次に、上述のサーバ装置１及び端末装置２を備える計算機システムで実行される処理について説明する。
【００５９】
図７は、端末装置２の接続状態を監視する処理の手順を示すフローチャートである。図７では、サーバ装置１及び端末装置２における処理を並列に示しており、それぞれ定期的に実行される。
【００６０】
サーバ装置１ではＶＭＭ１００が実行し、ＶＭＭ１００上で管理ＯＳ１０１の動作が開始される。管理ＯＳ１０１は、端末装置２の接続状態を監視するために、確認信号を端末装置２へ送信する（Ｓ１）。
【００６１】
端末装置２では、電源のオンオフに関係なく機能する監視応答部２０５が、サーバ装置１から確認信号を受信したか否かを判定する（Ｓ５）。端末装置２がネットワークＮへ接続されていない場合、端末装置２は確認信号を受信できない。従って、確認信号を受信していない場合（Ｓ５：ＮＯ）、端末装置２での処理は終了する。確認信号を受信した場合（Ｓ５：ＹＥＳ）、監視応答部２０５は、応答信号をサーバ装置１へ送信し（Ｓ６）、端末装置２での処理は終了する。
【００６２】
サーバ装置１では、管理ＯＳ１０１が、端末装置２から応答信号を受信したか否かを判定する（Ｓ２）。端末装置２がオフライン状態である場合には、端末装置２は、サーバ装置１からの確認信号を受信できないため、サーバ装置１は、端末装置２から応答信号を受信することはない。従って、応答信号を受信していない場合（Ｓ２：ＮＯ）、管理ＯＳ１０１は、端末装置２がオフライン状態であると判定し、サーバＶＭ１０２を利用不可能に設定する（Ｓ３）。具体的には、管理ＯＳ１０１は、ＶＭ管理テーブルのＶＭ利用可否欄を更新する。これにより、サーバ装置１のサーバＶＭ１０２は、シンクライアント端末５から利用されることがなくなる。その後、サーバ装置１での処理は終了する。なお、サーバＶＭ１０２が既に利用不可能となっている場合、Ｓ３の処理を省略するようにしてもよい。
【００６３】
応答信号を受信した場合（Ｓ２：ＹＥＳ）、管理ＯＳ１０１は、端末装置２がオンライン状態であると判定し、サーバＶＭ１０２を利用可能に設定する（Ｓ４）。その後、サーバ装置１での処理は終了する。なお、サーバＶＭ１０２が既に利用可能となっている場合、Ｓ５の処理を省略するようにしてもよい。
【００６４】
端末装置２がオフライン状態の場合、端末装置２上で端末ＶＭ２０１が利用されている可能性がある。このため、シンクライアント端末５からサーバＶＭが利用できるとした場合、同じＶＭ（サーバＶＭ及び端末ＶＭ）が別々に利用される可能性がある。そこで、端末装置２がオフライン状態の場合には、サーバ装置１のサーバＶＭの利用を不可にすることで、ＶＭの同時利用を回避することができる。また、端末装置２がオンライン状態となった場合には、サーバＶＭを利用可能とすることで、シンクライアント端末５から、サーバＶＭ１０２の利用を可能とすることができる。
【００６５】
図８は、接続要求を受信する際のサーバ装置１における処理手順を示すフローチャートである。
【００６６】
管理ＯＳ１０１は、接続要求を受信したか否かを判定する（Ｓ２０）。受信していない場合（Ｓ２０：ＮＯ）、管理ＯＳ１０１は、本処理を終了する。受信した場合（Ｓ２０：ＹＥＳ）、管理ＯＳ１０１は、端末装置２から接続要求を受信したか否かを判定する（Ｓ２１）。例えば、サーバ装置１に、端末装置２及びシンクライアント端末５のInternet Protocol（ＩＰ）アドレスを予め記憶しておき、管理ＯＳ１０１は、接続要求を送信した装置を特定する。端末装置２から受信した場合（Ｓ２１：ＹＥＳ）、管理ＯＳ１０１は、端末装置利用処理を実行する（Ｓ２２）。
【００６７】
図９は、サーバ装置１が実行する端末装置利用処理における処理手順を示すフローチャートである。
【００６８】
管理ＯＳ１０１は、端末装置２から受信した接続要求に含まれるユーザＩＤ等からユーザ認証を行う（Ｓ３０）。このとき、ユーザ認証できない場合には、管理ＯＳ１０１は、エラーを端末装置２へ送信するようにしてもよい。次に、管理ＯＳ１０１は、端末装置２とＶＭ情報の同期を行うか否かを判定する（Ｓ３１）。ＶＭ情報の同期を行う場合（Ｓ３１：ＹＥＳ）、管理ＯＳ１０１は、ＶＭ情報の同期を行う（Ｓ３２）。同期終了後、又は、ＶＭ情報の同期を行わない場合（Ｓ３１：ＮＯ）、管理ＯＳ１０１は、サーバＶＭ１０２を起動し（Ｓ３３）、受信した接続要求に対応する応答信号としてサーバＶＭ１０２のアドレスを端末装置２へ送信する（Ｓ３４）。これにより、サーバ装置１のサーバＶＭ１０２は端末装置２からアクセスされ、リモート接続が開始される。
【００６９】
管理ＯＳ１０１は、端末装置２からリモート接続の終了が通知されたか否かを判定する（Ｓ３５）。終了が通知されていない場合（Ｓ３５：ＮＯ）、管理ＯＳ１０１は、終了が通知されるまでリモート接続を続行する。終了が通知された場合（Ｓ３５：ＹＥＳ）、管理ＯＳ１０１は、リモート接続を終了し、端末装置２とＶＭ情報の同期を行う（Ｓ３６）。そして、管理ＯＳ１０１は、本処理を終了する。
【００７０】
一方、図８の処理のＳ２１において、接続要求を端末装置２から受信していない場合（Ｓ２１：ＮＯ）、管理ＯＳ１０１は、シンクライアント端末利用処理を実行する（Ｓ２３）。
【００７１】
図１０及び図１１は、シンクライアント端末５が実行するシンクライアント端末利用処理における処理手順を示すフローチャートである。図１０及び図１１では、端末装置２の処理を並列に示している。
【００７２】
サーバ装置１では、管理ＯＳ１０１がＶＭ管理テーブルを参照し、受信した接続要求に含まれるユーザＩＤ及びパスワードに基づいてユーザ認証を行う（Ｓ４０）。このとき、ユーザ認証できない場合には、管理ＯＳ１０１は、エラーをシンクライアント端末５へ送信するようにしてもよい。次に、管理ＯＳ１０１は、対応するサーバＶＭ１０２が利用可能であるか否かを判定する（Ｓ４１）。例えば端末装置２がオフライン状態である場合であるため、サーバＶＭ１０２が利用可能でない場合（Ｓ４１：ＮＯ）、サーバ装置１での処理は終了する。このとき、管理ＯＳ１０１は、利用できない旨をシンクライアント端末５へ送信する。
【００７３】
サーバＶＭが利用可能である場合（Ｓ４１：ＹＥＳ）、管理ＯＳ１０１は、電源投入信号を端末装置２へ送信する（Ｓ４２）。端末装置２では、電源制御部２０６が電源投入信号を受信し、電源をオンにする（Ｓ４３）。これにより、端末装置２ではＶＭＭ２００及び管理ＯＳ２０１が動作するようになる。サーバ装置１は、サーバＶＭがシンクライアント端末５により利用されていることを端末装置２へ通知する（Ｓ４４）。通知された端末装置２のＶＭ利用可否設定部２２１は、端末ＶＭ２０２を利用不可能に設定する（Ｓ４５）。これにより、ユーザによる端末ＶＭ２０２の利用が禁止され、サーバＶＭ１０２と同じ端末ＶＭ２０２が利用されることを防止できる。
【００７４】
サーバ装置１では、管理ＯＳ１０１が電源停止信号を端末装置２へ送信し（Ｓ４６）、端末装置２では、電源制御部２０６が電源停止信号を受信し、電源をオフにする（Ｓ４７）。なお、端末装置２の電源が既にオンである場合には、Ｓ４２からＳ４７の電源制御処理を省略してもよい。
【００７５】
サーバ装置１では、管理ＯＳ１０１がサーバＶＭ１０２を起動する（Ｓ４８）。起動したサーバＶＭ１０２ではゲストＯＳが動作し、サーバＶＭ１０２はゲストＯＳへの接続先を新クライアント端末へ通知することで、シンクライアント端末５からのリモート接続が開始される。リモート接続が開始されることで、サーバ装置１のサーバＶＭ１０２は、キーボード及びマウスから入力された操作をシンクライアント端末５から受信し、処理結果をシンクライアント端末５へ送信する。
【００７６】
管理ＯＳ１０１は、シンクライアント端末５からリモート接続の終了が通知されたか否かを判定する（Ｓ４９）。シンクライアント端末５は、例えば電源ボタンがオフされる等、ユーザによる操作を受け付けることで、リモート接続の終了をサーバ装置１へ通知する。リモート接続の終了が通知されていない場合（Ｓ４９：ＮＯ）、管理ＯＳ１０１は、リモート接続の終了が通知されるまでリモート接続を続行する。終了が通知された場合（Ｓ４９：ＹＥＳ）、管理ＯＳ１０１は、サーバＶＭ１０２を停止する（Ｓ５０）。
【００７７】
次に管理ＯＳ１０１は、電源投入信号を端末装置２へ送信する（Ｓ５１）。端末装置２では、電源制御部２０６が電源投入信号を受信し、電源をオンにする（Ｓ５２）。これにより、端末装置２ではＶＭＭ２００及び管理ＯＳ２０１が動作するようになる。サーバ装置１は、シンクライアント端末５によるサーバＶＭの利用が終了したことを端末装置２へ通知し（Ｓ５３）、端末装置２では、ＶＭ利用可否設定部２２１が端末ＶＭ２０２を利用可能に設定する（Ｓ５４）。サーバ装置１及び端末装置２は、ＶＭ情報の同期を行う（Ｓ５５、Ｓ５６）。サーバ装置１では、管理ＯＳ１０１が電源停止信号を端末装置２へ送信し（Ｓ５７）、サーバ装置１での処理は終了する。端末装置２では、電源制御部２０６が電源停止信号を受信し、電源をオフにする（Ｓ５８）。これにより、端末装置２での処理は終了する。なお、端末装置２の電源が既にオンである場合には、Ｓ５１からＳ５８の電源制御処理を省略してもよい。
【００７８】
サーバＶＭ１０２がシンクライアント端末５により利用された場合、サーバ装置１が保持するＶＭ情報は変更される。このため、シンクライアント端末５による利用が終了したときに、端末装置２へＶＭ情報の変更を反映させることで、端末装置２は、常にサーバ装置１と同じＶＭ情報を保持することができる。
【００７９】
図１２及び図１３は、ＶＭを利用する際の端末装置２における処理手順を示すフローチャートである。
【００８０】
管理ＯＳ２０１は、ＶＭの利用を開始するか否かを判定する（Ｓ６０）。管理ＯＳ２０１は、例えばユーザによる操作を受け付けることでＶＭ利用を開始すると判定する。ＶＭ利用を開始しない場合（Ｓ６０：ＮＯ）、管理ＯＳ２０１は本処理を終了する。ＶＭ利用を開始する場合（Ｓ６０：ＹＥＳ）、管理ＯＳ２０１は、端末ＶＭ２０２が利用可能であるか否かを判定する（Ｓ６１）。
【００８１】
端末ＶＭ２０２が利用可能でない場合（Ｓ６１：ＮＯ）、すなわちサーバ装置１で動作し、端末ＶＭ２０２と同じサーバＶＭ１０２がシンクライアント端末５により利用されているため、管理ＯＳ２０１は、端末装置２ではＶＭの利用ができないと判定し、本処理を終了する。端末ＶＭ２０２が利用可能である場合（Ｓ６１：ＹＥＳ）、管理ＯＳ２０１は、端末装置２がオンライン状態であるか否かを判定する（Ｓ６２）。
【００８２】
オンライン状態である場合（Ｓ６２：ＹＥＳ）、端末装置２ではサーバＶＭ１０２を利用するため、管理ＯＳ２０１は、接続要求をサーバ装置１へ送信する（Ｓ６３）。このとき、管理ＯＳ２０１は、ユーザにより入力されたユーザＩＤ及びパスワードを接続要求に含めて送信する。管理ＯＳ２０１は、送信した接続要求に対応する応答信号を受信したか否かを判定する（Ｓ６４）。応答信号を受信していない場合（Ｓ６４：ＮＯ）、管理ＯＳ２０１は、受信するまで待機する。このとき、管理ＯＳ２０１は、一定時間受信しない場合には、エラーとして処理するようにしてもよい。
【００８３】
応答信号を受信した場合（Ｓ６４：ＹＥＳ）、管理ＯＳ２０１は、サーバ装置１からＶＭ情報の同期が必要であるか否かを判定する（Ｓ６５）。ＶＭ情報の同期が必要である場合（Ｓ６５：ＹＥＳ）、管理ＯＳ２０１は、サーバ装置１との間で、ＶＭ情報の同期を行う（Ｓ６６）。これにより、端末装置２がオフライン状態で端末ＶＭ２０２が利用され、ＶＭ情報が変更された場合、サーバ装置１にＶＭ情報の変更を反映させることで、サーバ装置１と端末装置２とで同じＶＭを動作させることができる。
【００８４】
管理ＯＳ２０１は、受信した応答信号に従って、サーバ装置１のサーバＶＭ上で動作するゲストＯＳへリモート接続を行う（Ｓ６７）。具体的に、受信した応答信号には、サーバＶＭ１０２上で起動するゲストＯＳへの接続先アドレスが含まれている。管理ＯＳ２０１は、リモート操作クライアント２２４を起動し、リモート操作クライアント２２４がゲストＯＳへ接続する。リモート操作クライアント２２４はユーザからの操作情報を受け付け、サーバＶＭ１０２のゲストＯＳへ送信し、その結果として表示される画面情報を受信し、モニタに表示する。
【００８５】
管理ＯＳ２０１は、リモート接続の終了を受け付けたか否かを判定する（Ｓ６８）。管理ＯＳ２０１は、例えば電源ボタンがオフされる等、ユーザによる操作を受け付けることで、リモート接続を終了する。リモート接続の終了を受け付けない場合（Ｓ６８：ＮＯ）、管理ＯＳ２０１は、リモート接続の終了を受け付けるまでリモート接続を続行する。終了を受付けた場合（Ｓ６８：ＹＥＳ）、管理ＯＳ２０１は、サーバ装置１へ終了を通知する（Ｓ６９）。その後、管理ＯＳ２０１は、サーバ装置１との間でＶＭ情報の同期を行い（Ｓ７０）、本処理を終了する。すなわち、ＶＭの利用が終了する際に、サーバ装置１と端末装置２とのＶＭ情報の同期を行うことで、次回ユーザがＶＭを利用する場合には、サーバ装置１及び端末装置２では、同じＶＭ情報に従ってＶＭが起動するようになる。リモート接続終了判断は、通知の受信だけでなく、リモート接続監視部１３０が判断してもよい。
【００８６】
Ｓ６２において、端末装置２がオンライン状態でないと判定した場合（Ｓ６２：ＮＯ）、管理ＯＳ２０１は、端末ＶＭ２０２を起動する（Ｓ７１）。これにより、ユーザは、端末装置２で動作する端末ＶＭ２０２を操作することができるようになる。具体的には、起動した端末ＶＭ２０２上では、ゲストＯＳが起動する。管理ＯＳ２０１は、リモート操作クライアント２２４を起動し、リモート操作クライアント２２４が端末ＶＭ２０２上のゲストＯＳへ接続する。リモート操作クライアント２２４はユーザからの操作情報を受け付け、サーバＶＭ１０２のゲストＯＳへ送信し、その結果として表示される画面情報を受信し、モニタに表示する。
【００８７】
管理ＯＳ２０１は、端末ＶＭ２０２の利用の終了を受け付けたか否かを判定する（Ｓ７２）。終了を受け付けない場合（Ｓ７２：ＮＯ）、管理ＯＳ２０１は、終了を受け付けるまで、端末ＶＭ２０２の利用を続行する。終了を受付けた場合（Ｓ７２：ＹＥＳ）、管理ＯＳ２０１は、端末ＶＭ２０２を停止し（Ｓ７３）、管理ＯＳ２０１は、端末装置２がオンライン状態へと切り替わったかを判定する（Ｓ７４）。オンライン状態へと切り替わった場合（Ｓ７４：ＹＥＳ）、管理ＯＳ２０１は、Ｓ７０の処理へ移り、サーバ装置１との間でＶＭ情報の同期を行う。オンライン状態へと切り替わっていない場合（Ｓ７４：ＮＯ）、管理ＯＳ２０１は、切り替わるまで待機する。このように、オフラインでの利用後にＶＭ同期を行うことで、次のオンラインでの利用を行う際に効率よくサーバＶＭ１０２を利用することができる。
【００８８】
以上のように、端末装置２は、オンライン状態ではサーバＶＭを利用し、オフライン状態では端末ＶＭを利用する。これにより、ユーザは、ネットワークＮに接続できない環境で端末装置２を使用する場合であっても、ＶＭを利用することができる。また、端末装置２は、サーバＶＭの利用開始時及び終了時に、サーバ装置１とＶＭ情報の同期を行うため、常に最新のＶＭ情報を保持することができる。
【００８９】
以上のように、本実施の形態では、サーバ装置１と端末装置２とで動作するサーバＶＭ１０２及び端末ＶＭ２０２は、一方が利用される場合には、他方は利用不可能となる。これにより、同じＶＭであるサーバＶＭ１０２及び端末ＶＭ２０２が同時に利用されることを回避することができる。
【００９０】
（実施形態２）
以下に、実施の形態２について説明する。本実施の形態では、端末装置２がサーバＶＭ又は端末ＶＭの何れを利用しているかを、ユーザに報知する点で実施の形態１と相違している。以下、その相違点について説明する。
【００９１】
図１４Ａ及び図１４Ｂは、ＶＭの処理結果を表示した端末装置２のモニタの一例を示す図である。端末装置２がサーバＶＭを利用している場合、管理ＯＳ１０１からサーバＶＭ１０２のゲストＯＳの稼動場所が通知され、ゲストＯＳのモニタの画面右上に、利用しているＶＭがサーバＶＭ１０２であることを報知する画像が表示される（図１４Ａ参照）。これにより、端末装置２のモニタの画面右上には、図１４Ａの画面が表示される。また端末装置２が端末ＶＭ２０２を利用している場合、管理ＯＳ２０１から端末ＶＭ２０２のゲストＯＳの稼動場所が通知され、ゲストＯＳのモニタの画面右上に、利用しているＶＭが端末ＶＭ２０２であることを報知する画像が表示される（図１４Ｂ参照）。これにより、端末装置２のモニタの画面右上には、図１４Ｂの画面が表示される。図１４Ａ又は図１４Ｂの画面を表示することにより、ユーザは、何れのＶＭを利用しているかを把握することができる。また、これによって、ユーザは、表示された画像を視認することで、端末装置２がオンライン状態又はオフライン状態であるかを把握することができる。
【００９２】
図１５は、サーバ装置１が有する機能を示すブロック図である。
【００９３】
本実施の形態に係るサーバ装置１の管理ＯＳ１０１は、実施の形態１で説明した機能に加え、ＶＭ稼動場所通知部１２９の機能をさらに有している。ＶＭ稼動場所通知部１２９は、サーバＶＭ１０２の起動を検知し、サーバＶＭ１０２上で起動するゲストＯＳ内のＶＭ稼働場所表示部１３１に対し、ＶＭが稼働している場所がサーバ装置１であることを通知する。ＶＭ稼働場所表示部１３１は、通知された場所をゲストＯＳの画面に表示する。
【００９４】
図１６は、端末装置２が有する機能を示すブロック図である。
【００９５】
本実施の形態に係る端末装置２の管理ＯＳ２０１は、実施の形態１で説明した機能に加え、ＶＭ稼動場所通知部２２５の機能をさらに有している。ＶＭ稼動場所通知部２２５は、端末ＶＭ２０２の起動を検知し、端末ＶＭ２０２上で起動するゲストＯＳ内のＶＭ稼働場所表示部２３０に対し、ＶＭが稼働している場所が端末装置２であることを通知する。ＶＭ稼働場所表示部２３０は、通知された場所をゲストＯＳの画面に表示する。
【００９６】
図１７は、サーバ装置１が実行する端末装置利用処理における処理手順を示すフローチャートである。端末装置２から接続要求を受信した場合、管理ＯＳ１０１は、図１７に示す処理を実行する。
【００９７】
管理ＯＳ１０１は、端末装置２から受信した接続要求に含まれるユーザＩＤ等からユーザ認証を行う（Ｓ８０）。次に、管理ＯＳ１０１は、端末装置２とＶＭ情報の同期を行うか否かを判定する（Ｓ８１）。ＶＭ情報の同期を行う場合（Ｓ８１：ＹＥＳ）、管理ＯＳ１０１は、ＶＭ情報の同期を行う（Ｓ８２）。同期終了後、又は、ＶＭ情報の同期を行わない場合（Ｓ８１：ＮＯ）、管理ＯＳ１０１は、サーバＶＭを起動し（Ｓ８３）、受信した接続要求に対応する応答信号を端末装置２へ送信する（Ｓ８４）。サーバＶＭ１０２は、ゲストＯＳの画面に利用中のＶＭが稼動している場所を表示する（Ｓ８５）。すなわち、端末装置２のモニタには、図１４Ａに示すように「サーバＶＭ」が表示される。これにより、ユーザは、サーバＶＭを利用していることが把握できる。
【００９８】
管理ＯＳ１０１は、端末装置２からリモート接続の終了が通知されたか否かを判定する（Ｓ８６）。終了が通知されていない場合（Ｓ８６：ＮＯ）、管理ＯＳ１０１は、終了が通知されるまでリモート接続を続行する。終了が通知された場合（Ｓ８６：ＹＥＳ）、管理ＯＳ１０１は、リモート接続を終了し、サーバＶＭ１０２を停止する（Ｓ８７）。その後、管理ＯＳ１０１は、端末装置２とＶＭ情報の同期を行い（Ｓ８８）、本処理を終了する。
【００９９】
図１８及び図１９は、端末装置２における処理手順を示すフローチャートである。
【０１００】
管理ＯＳ２０１は、ＶＭ利用を開始するか否かを判定する（Ｓ９０）。ＶＭ利用を開始しない場合（Ｓ９０：ＮＯ）、管理ＯＳ２０１は本処理を終了する。ＶＭ利用を開始する場合（Ｓ９０：ＹＥＳ）、管理ＯＳ２０１は、端末ＶＭ２０２が利用可能であるか否かを判定する（Ｓ９１）。
【０１０１】
端末ＶＭ２０２が利用可能でない場合（Ｓ９１：ＮＯ）、管理ＯＳ２０１は、本処理を終了する。端末ＶＭ２０２が利用可能である場合（Ｓ９１：ＹＥＳ）、管理ＯＳ２０１は、端末装置２がオンライン状態であるか否かを判定する（Ｓ９２）。オンライン状態である場合（Ｓ９２：ＹＥＳ）、管理ＯＳ２０１は、接続要求をサーバ装置１へ送信する（Ｓ９３）。管理ＯＳ２０１は、送信した接続要求に対応する応答信号を受信したか否かを判定する（Ｓ９４）。応答信号を受信していない場合（Ｓ９４：ＮＯ）、管理ＯＳ２０１は、受信するまで待機する。
【０１０２】
応答信号を受信した場合（Ｓ９４：ＹＥＳ）、管理ＯＳ２０１は、サーバ装置１からＶＭ情報の同期が要求されたか否かを判定する（Ｓ９５）。ＶＭ情報の同期が要求されていない場合（Ｓ９５：ＮＯ）、管理ＯＳ２０１は、Ｓ９７の処理に移る。ＶＭ情報の同期が要求された場合（Ｓ９５：ＹＥＳ）、管理ＯＳ２０１は、サーバ装置１との間で、ＶＭ情報の同期を行う（Ｓ９６）。管理ＯＳ２０１は、受信した応答信号に従って、サーバ装置１のサーバＶＭ上で動作するゲストＯＳへリモート接続を行う（Ｓ９７）。これにより、端末装置２からサーバＶＭを利用できるようになる。
【０１０３】
管理ＯＳ２０１は、リモート接続の終了を受け付けたか否かを判定する（Ｓ９８）。リモート接続の終了を受け付けない場合（Ｓ９８：ＮＯ）、管理ＯＳ２０１は、リモート接続の終了を受け付けるまでリモート接続を続行する。終了を受付けた場合（Ｓ９８：ＹＥＳ）、管理ＯＳ２０１は、サーバ装置１へ終了を通知する（Ｓ９９）。その後、管理ＯＳ２０１は、サーバ装置１との間でＶＭ情報の同期を行い（Ｓ１００）、本処理を終了する。
【０１０４】
Ｓ９２において、端末装置２がオンライン状態でないと判定した場合（Ｓ９２：ＮＯ）、管理ＯＳ２０１は、端末ＶＭ２０２を起動する（Ｓ１０１）。端末ＶＭ２０２は、ゲストＯＳの画面に利用中のＶＭが稼動している場所を表示する（Ｓ１０２）。すなわち、端末装置２のモニタには、図１４Ｂに示すように「端末ＶＭ」が表示される。これにより、ユーザは、端末ＶＭを利用していることが把握できる。
【０１０５】
次に、管理ＯＳ２０１は、端末ＶＭ２０２の利用の終了を受け付けたか否かを判定する（Ｓ１０３）。終了を受け付けない場合（Ｓ１０３：ＮＯ）、管理ＯＳ２０１は、終了を受け付けるまで、端末ＶＭ２０２の利用を続行する。終了を受付けた場合（Ｓ１０３：ＹＥＳ）、管理ＯＳ２０１は、端末ＶＭ２０２を停止し（Ｓ１０４）、本処理を終了する。
【０１０６】
以上のように、本実施の形態では、端末装置２がＶＭを利用する場合に、サーバＶＭ１０２又は端末ＶＭ２０２の何れを利用しているかを表示している。これにより、ユーザは、表示内容を視認することで、利用中のＶＭを把握でき、それによって、端末装置２がオンライン状態又はオフライン状態であるかを把握することができる。
【０１０７】
（実施形態３）
以下に、実施の形態３について説明する。本実施の形態では、端末装置２がオフライン状態の場合に、端末装置２の端末ＶＭ２０２を利用できる期間を制限している点で、実施の形態１と相違している。以下、その相違点について説明する。
【０１０８】
図２０は、端末ＶＭ２０２の利用期限の設定画面の一例を示す図である。
【０１０９】
端末ＶＭ２０２の利用期限は、例えば、サーバ装置１の管理者によって設定される。図２０に示す画面は、管理ＯＳ１０１によりモニタの画面上に表示される。この画面は、サーバ装置１がモニタを有する場合、そのモニタに表示してもよいし、端末装置２又はシンクライアント端末５からサーバ装置１に接続して、端末装置２又はシンクライアント端末５のモニタに表示してもよい。設定画面では、利用期限を決定し、どのユーザに対して利用期限を設定するかを選択する。なお、全ユーザに対して利用期限を設定してもよい。また、利用期限は、端末ＶＭが起動してからの時間であってもよいし、端末装置がオフライン状態となってからの時間でもよい。
【０１１０】
図２１は、サーバ装置１が有する機能を示すブロック図である。
【０１１１】
本実施の形態に係るサーバ装置１の管理ＯＳ１０１は、実施の形態１で説明した機能に加え、利用期限設定部１４０、利用期限通知部１４１、及び利用期限監視部１４２の機能をさらに備えている。利用期限設定部１４０は、図２０に示す画面をモニタに表示して、端末装置２がオフライン状態となったときに端末ＶＭ２０２の利用期限を設定する。設定した利用期限は、例えばＶＭ管理テーブルに、ユーザＩＤに対応付けて格納される。利用期限通知部１４１は、利用期限設定部１４０が設定した期限を、端末装置２へ通知する。なお端末装置２への通知は、ＶＭ情報同期部１２６がＶＭ情報を同期する際に通知するようにしてもよい。利用期限監視部１４２は、設定された期限以内に端末装置２がオンライン状態になったかを監視する。期限以降も端末装置２がオンライン状態にならなかった場合は、ＶＭ利用可否判定部１２３は、サーバＶＭ１０２を利用可能にする。
【０１１２】
図２２は、端末装置２が有する機能を示すブロック図である。
【０１１３】
本実施の形態に係る端末装置２の管理ＯＳ２０１は、実施の形態１で説明した機能に加え、利用期限受付部２２６及び利用期限監視部２２７の機能をさらに有している。利用期限受付部２２６は、サーバ装置１から通知された、端末ＶＭ２０２の利用期限を受け付ける。利用期限監視部２２７は、端末装置２がオフライン状態になった場合、利用期限受付部２２６が受け付けた利用期限を超えていないか監視する。超えていた場合は、ＶＭ利用可否設定部２２１は、端末ＶＭ２０２を使用不可にする。また、超えていた場合は、利用期限監視部２２７は、端末ＶＭ２０２が利用されて発生し、例えばＨＤＤ２３又はＲＡＭ２２などに記憶された情報を消去する。
【０１１４】
図２３は、端末装置２における処理手順を示すフローチャートである。
【０１１５】
管理ＯＳ２０１は、サーバ装置１より利用期限を受信し（Ｓ１１０）、端末装置２がオフライン状態であるか否かを判定する（Ｓ１１１）。オフライン状態でない場合（Ｓ１１１：ＮＯ）、管理ＯＳ２０１は、本処理を終了する。なお、管理ＯＳ２０１は、本処理を定期的に実行する。オフライン状態である場合（Ｓ１１１：ＹＥＳ）、管理ＯＳ２０１は、利用期限が経過したか否かを判定する（Ｓ１１２）。経過していない場合（Ｓ１１２：ＮＯ）、管理ＯＳ２０１は、本処理を終了する。利用期限が経過した場合（Ｓ１１２：ＹＥＳ）、管理ＯＳ２０１は、変更されたＶＭ情報を削除し（Ｓ１１３）、本処理を終了する。変更されたＶＭ情報とは、端末ＶＭ２０２が行った処理の結果で、ＨＤＤ２３又はＲＡＭ２２などに記憶された情報である。すなわち、変更されたＶＭ情報を削除することで、ＶＭ情報は、端末ＶＭ２０２が利用される前の状態に戻るようになる。その後、管理ＯＳ２０１は、本処理を終了する。なお、端末ＶＭ２０２の使用回数、ユーザ認証を行ったときの失敗回数が設定値を超えた場合に、端末装置２で端末ＶＭ２０２を利用できなくしてもよい。
【０１１６】
図２４は、サーバ装置１における処理手順を示すフローチャートである。
【０１１７】
管理ＯＳ１０１は、端末ＶＭ２０２の利用期限を設定する（Ｓ１２０）。その後、管理ＯＳ１０１は、設定された利用期限を端末装置２に通知する（Ｓ１２１）。次に、管理ＯＳ１０１は、端末装置２がオフライン状態であるか否かを判定する（Ｓ１２２）。オフライン状態でない場合（Ｓ１２２：ＮＯ）、管理ＯＳ１０１は、Ｓ１２２の処理を繰り返す。端末装置２がオフライン状態の場合（Ｓ１２２：ＹＥＳ）、管理ＯＳ１０１は、端末装置２のユーザに設定された利用期限を取得し、その利用期限が経過したか否かを判定する（Ｓ１２３）。
【０１１８】
利用期限が経過していない場合（Ｓ１２３：ＮＯ）、管理ＯＳ１０１は、Ｓ１２２の処理を実行する。利用期限が経過した場合（Ｓ１２３：ＹＥＳ）、管理ＯＳ１０１は、利用不可能となっているサーバＶＭ１０２を利用可能に設定し（Ｓ１２４）、本処理を終了する。
【０１１９】
以上説明したように、本実施の形態では、オフライン状態の端末装置２がオンライン状態に戻る事ができなくても、一定時間後にサーバＶＭ１０２を使用可能にする。これにより、以上により、端末装置２が紛失等でオンライン状態に戻る事ができない場合、サーバＶＭ１０２を利用できない状態が続いて、シンクライアント端末５から利用できなくなる問題を回避することができる。
【０１２０】
以上、本発明の実施形態について、具体的に説明したが、各構成及び動作等は適宜変更可能であって、上述の実施形態に限定されることはない。
【０１２１】
以下に、上述の実施形態を含む実施形態に関し、更に付記を開示する。
【０１２２】
（付記１）
仮想計算機を動作させる手段と、
前記仮想計算機を、何れか一つが前記仮想計算機と同じ仮想計算機が動作する複数の外部装置から利用できるようにする手段と、
仮想計算機が動作する外部装置が自装置に接続されているか否かを判定する接続判定手段と、
該接続判定手段が接続されていないと判定した場合、自装置で動作する仮想計算機を利用不可にする手段と、
自装置で動作する仮想計算機の利用開始要求を外部装置から受け付ける手段と、
前記利用開始要求を行った外部装置が、仮想計算機が動作する外部装置であるか否かを判定する装置判定手段と、
該装置判定手段が仮想計算機が動作する外部装置でないと判定し、かつ、前記接続判定手段が仮想計算機が動作する外部装置が接続されていると判定した場合、外部装置で動作する仮想計算機を利用不可にする手段と
を備える情報処理装置。
【０１２３】
（付記２）
前記装置判定手段が仮想計算機が動作する外部装置であると判定した場合、自装置及び前記外部装置それぞれで動作する仮想計算機の動作状態に関する情報を同期する手段
をさらに備える付記１に記載の情報処理装置。
【０１２４】
（付記３）
外部装置で動作する仮想計算機を利用不可にした場合、前記利用開始要求を行った外部装置から、仮想計算機の利用終了要求を受け付ける手段と、
前記利用終了要求を受け付けた場合、自装置及び外部装置それぞれで動作する仮想計算機の動作状態に関する情報を同期する手段と
をさらに備える付記１又は２に記載の情報処理装置。
【０１２５】
（付記４）
前記接続判定手段が接続されていないと判定した場合、仮想計算機が動作する外部装置が自装置へ接続されたか否かを判定する手段と、
接続されたと判定した場合、自装置及び前記外部装置それぞれで動作する仮想計算機の動作状態に関する情報を同期する手段と
をさらに備える付記１から３の何れか一つに記載の情報処理装置。
【０１２６】
（付記５）
前記外部装置で動作する仮想計算機の利用期限を設定する手段と、
前記接続判定手段が接続されていないと判定した場合、設定した利用期限を経過したか否かを判定する手段と、
前記利用期限を経過した場合、仮想計算機が動作する外部装置が自装置へ接続したか否かを判定する手段と、
接続していないと判定した場合、自装置で動作する仮想計算機を利用可にする手段と
をさらに備える付記１から４の何れか一つに記載の情報処理装置。
【０１２７】
（付記６）
自装置で動作する仮想計算機が、仮想計算機が動作する外部装置で利用される場合、前記外部装置へ、仮想計算機の稼動場所を通知する手段
をさらに備える付記１から５の何れか一つに記載の情報処理装置。
【０１２８】
（付記７）
外部装置で動作し、自装置が利用可能としてある仮想計算機と同じ仮想計算機を動作させる手段と、
前記外部装置から信号を受信する手段と、
前記信号を受信した場合、自装置で動作する仮想計算機を利用不可にする手段と
を備える情報処理装置。
【０１２９】
（付記８）
前記外部装置と接続している場合、自装置及び前記外部装置それぞれで動作する仮想計算機の動作状態に関する情報を同期する手段
をさらに備える付記７に記載の情報処理装置。
【０１３０】
（付記９）
自装置で動作する仮想計算機が行った処理により生成された情報を記憶する記憶手段と、
前記外部装置に接続しているか否かを判定する手段と、
接続していないと判定した場合、自装置で動作する仮想計算機の利用期限が経過したか否かを判定する手段と、
前記利用期限を経過した場合、前記記憶手段に記憶した情報を消去する手段と
をさらに備える付記７又は８に記載の情報処理装置。
【０１３１】
（付記１０）
仮想計算機が動作するサーバ装置と、
該サーバ装置に接続し、前記仮想計算機を利用可能としてあり、かつ、何れか一つが前記仮想計算機と同じ仮想計算機が動作する複数の端末装置と
を備えており、
前記サーバ装置は、
仮想計算機が動作する端末装置が接続されているか否かを判定する接続判定手段と、
該接続判定手段が接続されていないと判定した場合、自装置で動作する仮想計算機を利用不可にする手段と、
自装置で動作する仮想計算機の利用開始要求を、端末装置から受け付ける手段と、
前記利用開始要求を行った端末装置が、仮想計算機が動作する端末装置であるか否かを判定する装置判定手段と、
該装置判定手段が仮想計算機が動作する端末装置でないと判定し、かつ、前記接続判定手段が仮想計算機が動作する端末装置が接続されていると判定した場合、端末装置で動作する仮想計算機を利用不可にする利用制限手段と
を有している
計算機システム。
【０１３２】
（付記１１）
前記利用制限手段は、
仮想計算機が動作する端末装置に、前記利用開始要求の受付を通知するようにしてあり、
仮想計算機が動作する端末装置は、
前記利用制限手段から通知された場合、自装置で動作する仮想計算機を利用不可にする手段
を有している
付記１０に記載の計算機システム。
【０１３３】
（付記１２）
複数の外部装置により利用可能としてある仮想計算機が動作するコンピュータで実行させるプログラムにおいて、
コンピュータを、
前記仮想計算機と同じ仮想計算機が動作する外部装置が自身に接続されているか否かを判定する接続判定手段、
該接続判定手段が接続されていないと判定した場合、自身で動作する仮想計算機を利用不可にする手段、
自身で動作する仮想計算機の利用開始要求を受け付けた場合に、前記利用開始要求を行った外部装置が、仮想計算機が動作する外部装置であるか否かを判定する装置判定手段、及び、
該装置判定手段が仮想計算機が動作する外部装置でないと判定し、かつ、前記接続判定手段が仮想計算機が動作する外部装置が接続されていると判定した場合、前記外部装置で動作する仮想計算機を利用不可にする手段
として機能させるプログラム。
【０１３４】
（付記１３）
外部装置で動作する仮想計算機が割り当てられたコンピュータで実行されるプログラムにおいて、
コンピュータを、
割り当てられた、外部装置で動作する仮想計算機と同じ仮想計算機を動作する手段、
前記外部装置で動作する仮想計算機が利用を開始されたか否かを判定する手段、及び、
利用を開始されたと判定した場合、自装置で動作する仮想計算機を利用不可にする手段
として機能させるプログラム。
【０１３５】
（付記１４）
付記１２又は１３に記載のプログラムが記録されており、コンピュータでの読取り可能な記録媒体。
【０１３６】
（付記１５）
仮想計算機が動作するサーバ装置と、該サーバ装置に接続し、前記仮想計算機が割り当てられ、かつ、何れか一つが前記仮想計算機と同じ仮想計算機が動作する複数の端末装置とを備える計算機システムで実行する仮想計算機利用制限方法において、
仮想計算機が動作する端末装置が、前記サーバ装置に接続されているか否かを判定し、
接続されていないと判定した場合、前記サーバ装置で動作する仮想計算機を利用不可にし、
前記サーバ装置が、動作する仮想計算機の利用開始要求を受け付けた場合、前記利用開始要求を行った端末装置が、仮想計算機が動作する端末装置であるか否かを判定し、
前記利用開始要求を行った端末装置が、仮想計算機が動作する端末装置でないと判定し、かつ、仮想計算機が動作する端末装置が前記サーバ装置に接続されていると判定した場合、前記端末装置で動作する仮想計算機を利用不可にする
仮想計算機利用制限方法。
【符号の説明】
【０１３７】
１  サーバ装置（情報処理装置）
２，３，４  端末装置（情報処理装置）
５  シンクライアント端末（外部装置）
１０１  管理ＯＳ
１０２  サーバＶＭ
２０１  管理ＯＳ
２０２  端末ＶＭ
【図１】
0005493976.tif 000002
【図２】
0005493976.tif 000003
【図３】
0005493976.tif 000004
【図４】
0005493976.tif 000005
【図５】
0005493976.tif 000006
【図６】
0005493976.tif 000007
【図７】
0005493976.tif 000008
【図８】
0005493976.tif 000009
【図９】
0005493976.tif 000010
【図１０】
0005493976.tif 000011
【図１１】
0005493976.tif 000012
【図１２】
0005493976.tif 000013
【図１３】
0005493976.tif 000014
【図１４Ａ】
0005493976.tif 000015
【図１４Ｂ】
0005493976.tif 000016
【図１５】
0005493976.tif 000017
【図１６】
0005493976.tif 000018
【図１７】
0005493976.tif 000019
【図１８】
0005493976.tif 000020
【図１９】
0005493976.tif 000021
【図２０】
0005493976.tif 000022
【図２１】
0005493976.tif 000023
【図２２】
0005493976.tif 000024
【図２３】
0005493976.tif 000025
【図２４】
0005493976.tif 000026