(57)【要約】【課題】スクリーンセーバの実行中の負荷を低減することができるスクリーンセーバ制御システム、画像処理装置、画像表示装置、スクリーンセーバ制御方法、及びコンピュータプログラムを提供する。【解決手段】スクリーンセーバ制御システムは、端末装置２ａ，２ｂ，２ｃに表示すべき画像に係る画像データをリモートマシン１で生成する。リモートマシン１は、端末装置２ａ，２ｂ，２ｃにスクリーンセーバを起動させるか否かを判定し、起動させると判定した場合、端末装置２ａ，２ｂ，２ｃへ起動を通知すると共に、画像データの生成を停止する。端末装置２ａ，２ｂ，２ｃは、リモートマシン１から起動が通知された場合に、スクリーンセーバを起動する。【選択図】図１
2011028582.tif 000002
【特許請求の範囲】
【請求項１】
画像を表示する表示部を有し、スクリーンセーバを実行する画像表示装置を有する第１の情報処理装置と、
該画像表示装置で表示すべき画像に係る画像データを生成し、前記画像表示装置へ前記画像データを送信する画像処理装置を有する第２の情報処理装置と
を備えており、
前記画像処理装置は、
前記画像表示装置にスクリーンセーバを起動させるか否かを判定する手段と、
スクリーンセーバを起動させると判定した場合、前記画像表示装置へ起動を通知する通知手段と、
スクリーンセーバを起動させると判定した場合、画像データの生成を停止させる停止手段と
を有しており、
前記画像表示装置は、
前記画像処理装置から起動が通知された場合に、スクリーンセーバを起動する起動手段
を有しているスクリーンセーバ制御システム。
【請求項２】
画像を表示する表示部を有し、スクリーンセーバを実行する画像表示装置と、
該画像表示装置で表示すべき画像に係る画像データを生成し、前記画像表示装置へ前記画像データを送信する画像処理装置と
を備えており、
前記画像表示装置は、
スクリーンセーバを起動させるか否かを判定する手段と、
スクリーンセーバを起動させると判定した場合、前記画像処理装置へ起動を通知する手段と、
を有しており、
前記画像処理装置は、
前記画像表示装置から起動が通知された場合に、画像データの生成を停止させる手段
を有しているスクリーンセーバ制御システム。
【請求項３】
スクリーンセーバを実行する外部表示部に表示すべき画像に係る画像データを生成する手段と、
生成した画像データを前記外部表示部に送信する手段と、
前記外部表示部にスクリーンセーバを起動させるか否かを判定する起動判定手段と、
スクリーンセーバを起動させると判定した場合、前記外部表示部へ起動を通知する通知手段と、
スクリーンセーバを起動させると判定した場合、画像データの生成を停止させる停止手段と
を備える画像処理装置。
【請求項４】
スクリーンセーバを実行する外部表示部に表示すべき画像に係る画像データを生成する手段と、
生成した画像データを前記外部表示部に送信する手段と、
前記外部表示部でスクリーンセーバが起動したか否かを判定する手段と、
スクリーンセーバが起動したと判定した場合、画像データの生成を停止させる手段
を備える画像処理装置。
【請求項５】
画像を表示する表示手段と、
スクリーンセーバを実行する実行手段と、
前記表示手段に表示すべき画像に係る画像データを生成し、前記実行手段にスクリーンセーバの実行を開始させるか否かを判定する外部装置から、前記画像データを受信する手段と、
前記外部装置が開始させると判定したか否かを判定する手段と、
開始させると判定した場合、前記実行手段にスクリーンセーバの実行を開始させる手段と
を備える画像表示装置。
【請求項６】
前記表示手段を複数備えており、
受信した画像データに基づく画像を、前記表示手段の何れか一つに表示する表示制御手段と、
該表示制御手段が画像を表示した表示手段を特定する特定手段と
をさらに備えており、
前記実行手段は、
前記特定手段が特定した表示手段でスクリーンセーバを実行するようにしてある
請求項５に記載の画像表示装置。
【請求項７】
画像を表示する表示部を有し、スクリーンセーバを実行する画像表示装置を有する第１の情報処理装置と、
該画像表示装置で表示すべき画像に係る画像データを生成し、前記画像表示装置へ前記画像データを送信する画像処理装置を有する第２の情報処理装置と
を備えたシステムにおけるスクリーンセーバ制御方法において、
前記画像表示装置にスクリーンセーバを起動させるか否かを前記画像処理装置で判定し、
スクリーンセーバを起動させると判定した場合、前記画像処理装置から前記画像表示装置へ起動を通知し、かつ、前記画像処理装置での画像データの生成を停止し、
前記画像処理装置から前記画像表示装置へ起動が通知された場合に、前記画像表示装置でスクリーンセーバを起動する
スクリーンセーバ制御方法。
【請求項８】
スクリーンセーバを実行する外部表示部に表示すべき画像に係る画像データを生成し、生成した画像データを前記外部表示部に送信するコンピュータを、
前記外部表示部にスクリーンセーバを起動させるか否かを判定する手段、
スクリーンセーバを起動させると判定した場合、前記外部表示部へ起動を通知する手段、及び、
スクリーンセーバを起動させると判定した場合、画像データの生成を停止させる手段
として機能させるコンピュータプログラム。
【請求項９】
スクリーンセーバを実行する外部表示部に表示すべき画像に係る画像データを生成し、生成した画像データを前記外部表示部に送信するコンピュータを、
前記外部表示部でスクリーンセーバが起動したか否かを判定する手段、及び、
スクリーンセーバが起動したと判定した場合、画像データの生成を停止させる手段
として機能させるコンピュータプログラム。
【請求項１０】
画像を表示する表示手段、及びスクリーンセーバ実行する実行手段を備えており、前記表示手段に表示すべき画像に係る画像データを生成し、前記実行手段にスクリーンセーバの実行を開始させるか否かを判定する外部装置から、前記画像データを受信するコンピュータを、
前記外部装置が開始させると判定したか否かを判定する手段、及び、
開始させると判定した場合、前記実行手段にスクリーンセーバの実行を開始させる手段
として機能させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スクリーンセーバの起動に係るスクリーンセーバ制御システム、画像処理装置、画像表示装置、スクリーンセーバ制御方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、コンピュータ内のハードウェア資源、例えばCentral Processing Unit（ＣＰＵ）又はメモリ等は高性能化が進んでおり、複雑な処理を短時間で実行できるようになっている。しかし、コンピュータが文書作成などの簡単な作業に用いられる場合、ハードウェア資源の性能は十分に利用されていないため、ハードウェア資源の余剰性能を効率よく利用することが望まれている。そこで、ハードウェア資源を仮想的に複数に分割する仮想化技術が提案されている。この仮想化技術では、ハードウェア資源を仮想的に複数のパーティションに分割し、各パーティションで擬似的にコンピュータが稼働しているようにコンピュータを構築する。即ち、１つのコンピュータ上で仮想的に複数のコンピュータ（以下、仮想マシン（ＶＭ：Virtual Machine）と言う）を動作させることができる。
【０００３】
各ＶＭ上では、Operating System（ＯＳ）を稼働させることが可能となる。従って、１台のコンピュータに複数のＯＳが稼働する。これにより、各ユーザが所有するコンピュータを１台に集約することで、コンピュータの設置スペース、又は消費電力等の削減が可能となる。また、ユーザのコンピュータ環境を集約することにより、集中管理によるメンテナンスコストを削減することができる。
【０００４】
上述の仮想化技術は、シンクライアントの情報処理システムに用いることができる。仮想化技術が用いられた情報処理システムは、各ユーザが操作する端末装置と、その端末装置とネットワークを介して接続されたサーバ装置とを備えている。サーバ装置では、複数のＶＭが動作し、それぞれのＶＭ毎にＯＳを稼働させることができる。各ユーザは、手元にある端末装置から、ネットワークを介してサーバ装置で動作するＶＭを操作することができる。
【０００５】
ＶＭを操作する各端末装置は、利用可能とする最低限の機能で実現されるシンクライアント端末、又は、一般的なパーソナルコンピュータ上のアプリケーションを使うことで実現することができ、独自にＯＳの稼働が可能となっている。そして、端末装置及びＶＭで稼働する一般的なＯＳは、スクリーンセーバを起動させる機能を備えている。スクリーンセーバを起動することで、一定時間操作をしない場合に同一画面が長時間モニタに表示されることで発生する画面焼けの防止、又は第三者からの覗きの防止が可能となる。
【０００６】
このスクリーンセーバの起動に関して、上述のようにネットワークを介して接続される装置の一方から、他方でスクリーンセーバが起動するよう駆動制御する方法がある。例えば、スキャナで読み取った画像データをコンピュータに転送する際に、コンピュータ上でスクリーンセーバが起動するようスキャナから駆動制御する方法がある（特許文献１参照）。この場合、画像データの転送時に、転送された画像データがコンピュータの画面に表示され、他人に見られるおそれを防止することが可能となる。
【０００７】
また、ネットワークを介して端末装置から他の装置（リモートマシン）を操作する環境において、端末装置からリモートマシンにスクリーンセーバを起動させるよう指示する方法がある（例えば、特許文献２参照）。この方法では、リモートマシンの出力する画面を端末装置に転送し、ユーザに画面を出力し、リモートマシンと端末装置とには同じ画面が出力される。このため、リモートマシンのみスクリーンセーバを実行することで、リモートマシンを介して、端末装置でのユーザの操作画面が他人に見られるおそれを防止することが可能となる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−２８２０５２号公報
【特許文献２】特開２００３−８５１３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述したコンピュータで動作する複数のＶＭの一つを、特許文献１及び特許文献２のように、端末装置からスクリーンセーバを起動させた場合、一般的に処理の為に必要となるマシンリソースを削減することが可能である。１ＶＭで使用するマシンリソースが余れば、他のＶＭへ提供する事が可能となり、マシンリソースを効率的に利用することができる。ところが、スクリーンセーバ自体が少なからずＣＰＵ資源を消費するため、立体（３Ｄ）画像を表示するなど処理負荷が高いスクリーンセーバの場合、コンピュータ自身の処理動作が遅くなり、他のＶＭに影響が及ぶおそれがある。
【００１０】
また、特許文献２では、リモートマシンは、端末装置からユーザによる操作によりスクリーンセーバが起動するため、リモートマシンではスクリーンセーバが実行しているにも拘わらず、端末装置ではスクリーンセーバが実行しない状況となる。従って、端末装置でスクリーンセーバを起動させた場合、リモートマシン及び端末装置毎に別々にスクリーンセーバが動作することになり、ＣＰＵ等のリソースが無駄に消費される。さらに、スクリーンセーバ稼働中もネットワーク経由でＶＭ画面を端末へ送信し続ける為、ネットワークリソースも無駄に消費される。
【００１１】
本発明はかかる事情に鑑みてなされたものであり、その目的とするところは、スクリーンセーバの実行中の負荷を低減することができるスクリーンセーバ制御システム、画像処理装置、画像表示装置、スクリーンセーバ制御方法、及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本願に開示するスクリーンセーバ制御システムは、第１の情報処理装置が有する画像表示装置に表示すべき画像に係る画像データを第２の情報処理装置が有する画像処理装置で生成する。画像処理装置は、画像表示装置にスクリーンセーバを起動させるか否かを判定し、起動させると判定した場合、画像表示装置へ起動を通知すると共に、画像データの生成を停止する。画像表示装置は、画像処理装置から起動が通知された場合に、スクリーンセーバを起動する。
【発明の効果】
【００１３】
本願に開示するスクリーンセーバ制御システムの一観点によれば、第２の情報処理装置が有する画像処理装置は、第１の情報処理装置が有する画像表示装置にスクリーンセーバの起動を通知するため、自身がスクリーンセーバを起動していなくても、第１の情報処理装置が有する画像表示装置でスクリーンセーバが起動していることが把握できる。このため、画像処理装置でスクリーンセーバを起動させる必要がなくなり、画像処理装置での画像データの生成を停止することができる。その結果、スクリーンセーバの動作中の画像処理装置におけるリソース消費を軽減することができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態１に係る情報処理システムを模式的に示す図である。
【図２】実施形態１の情報処理システムの構成を示すブロック図である。
【図３】実施形態１の情報処理システムの機能を示す機能ブロック図である。
【図４】端末装置のモニタに表示する設定画面の一例を示す図である。
【図５】リモート操作の開始及び停止時に端末装置が実行する処理手順を示すフローチャートである。
【図６】リモート操作の開始及び停止時にリモートマシンが実行する処理手順を示すフローチャートである。
【図７】設定情報の設定時に、端末装置が実行する処理手順を示すフローチャートである。
【図８】設定情報の設定時に、リモートマシンのＶＭが実行する処理手順を示すフローチャートである。
【図９】スクリーンセーバの起動及び停止時に、リモートマシンのＶＭが実行する処理手順を示すフローチャートである。
【図１０】スクリーンセーバの起動及び停止時に、端末装置が実行する処理手順を示すフローチャートである。
【図１１】実施形態２の情報処理システムの機能を示す機能ブロック図である。
【図１２】スクリーンセーバの起動及び停止時に、端末装置が実行する処理手順を示すフローチャートである。
【図１３】スクリーンセーバの起動及び停止時に、リモートマシンが実行する処理手順を示すフローチャートである。
【図１４】実施形態３の情報処理システムに係るリモートマシンの機能を示す機能ブロック図である。
【図１５】端末装置のモニタに表示する設定画面の一例を示す図である。
【図１６】リモート操作の開始及び停止時に端末装置が実行する処理手順を示すフローチャートである。
【図１７】リモート操作の開始及び停止時にリモートマシンが実行する処理手順を示すフローチャートである。
【図１８】設定情報の設定時に、リモートマシンのＶＭが実行する処理手順を示すフローチャートである。
【図１９】スクリーンセーバの起動及び停止時に、リモートマシンのＶＭが実行する処理手順を示すフローチャートである。
【図２０】実施形態４の情報処理システムの機能を示す機能ブロック図である。
【図２１】アプリケーション監視時に端末装置が実行する処理手順を示すフローチャートである。
【図２２】アプリケーション監視時にリモートマシンのＶＭが実行する処理手順を示すフローチャートである。
【図２３】実施形態５に係る情報処理システムの端末装置の構成を示すブロック図である。
【図２４】実施形態５に係る情報処理システムの端末装置の機能を示す機能ブロック図である。
【図２５】リモート用ウィンドウを表示しているモニタの特定時に端末装置が実行する処理手順を示すフローチャートである。
【図２６】スクリーンセーバの起動及び停止時に、端末装置が実行する処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明に係るスクリーンセーバ制御システムの好適な実施の形態について図面を参照して説明する。
【００１６】
（実施形態１）
図１は、本実施形態１に係る情報処理システムを模式的に示す図である。本実施形態１に係る情報処理システム（スクリーンセーバ制御システム）は、１つのリモートマシン（第２の情報処理装置、画像処理装置）１と、複数の端末装置（第１の情報処理装置、画像表示装置）２ａ，２ｂ，２ｃとを備えている。リモートマシン１と端末装置２ａ，２ｂ，２ｃとは、Local Area Network（ＬＡＮ）又はWide Area Network（ＷＡＮ）等のネットワークを介して接続している。なお、端末装置２ａ，２ｂ，２ｃの数、リモートマシン１と端末装置２ａ，２ｂ，２ｃとの接続方式等は適宜変更可能である。また、リモートマシン１と端末装置２ａ，２ｂ，２ｃとは、有線又は無線の何れにより接続されていてもよい。
【００１７】
リモートマシン１は、例えば通信機能を備えたサーバ装置又はパーソナルコンピュータ等であって、仮想化技術により複数のＶＭ（本実施形態では、３つ）が動作する。ＶＭは、独自にＯＳ及びアプリケーションを物理コンピュータと同じように実行させる仮想的なコンピュータである。従って、リモートマシン１は、複数のコンピュータを仮想的に動作させている。各ＶＭには、接続された端末装置２ａ，２ｂ，２ｃが割り当てられ、端末装置２ａ，２ｂ，２ｃにより操作される。
【００１８】
端末装置２ａ，２ｂ，２ｃは、モニタ、キーボード及びマウス等を備えたコンピュータであり、独自にＯＳ及びアプリケーション等を実行する。また端末装置２ａ，２ｂ，２ｃは、ネットワークを介してリモートマシン１とデータ通信する。端末装置２ａ，２ｂ，２ｃは、操作対象とするＶＭへネットワーク経由で接続することで、各ＶＭを操作可能となる。その後、端末装置２ａ，２ｂ，２ｃは、ＶＭに対する操作をキーボード及びマウスから受け付ける。端末装置２ａ，２ｂ，２ｃは、受け付けた操作をリモートマシン１の各ＶＭへ送信し、操作に対する処理結果を受信する。端末装置２ａ，２ｂ，２ｃは、受信した処理結果、又はＶＭの動作状態等をモニタに表示する。
【００１９】
本実施形態１では、端末装置２ａ，２ｂ，２ｃは、自身が実行するＯＳの基本的な操作画面（所謂デスクトップ）をモニタ全体に表示する。そして、端末装置２ａ，２ｂ，２ｃは、画面一部にサイズが調整可能なウィンドウ（以下、リモート用ウィンドウと言う）を表示して、リモート用ウィンドウ内に上述したＶＭの処理結果等を表示する。
【００２０】
端末装置２ａ，２ｂ，２ｃは、スクリーンセーバの実行が可能となっている。スクリーンセーバが起動した場合、端末装置２ａ，２ｂ，２ｃは、画面全体にスクリーンセーバ画面を表示する。端末装置２ａ，２ｂ，２ｃでスクリーンセーバを実行させるか否かの判定は、リモートマシン１の各ＶＭにおいて行われる。リモートマシン１の各ＶＭは、端末装置２ａ，２ｂ，２ｃからリモートマシン１の各ＶＭに対する操作が一定時間入力されない場合に、端末装置２ａ，２ｂ，２ｃにスクリーンセーバを起動させる。スクリーンセーバが起動することで、端末装置２ａ，２ｂ，２ｃのユーザが席を離れるなどした場合であっても、第三者からの覗き見を防止することができる。
【００２１】
図２は、本実施形態１の情報処理システムの構成を示すブロック図である。
【００２２】
リモートマシン１は、ＣＰＵ１０、Read Only Memory（ＲＯＭ）１１、Random Access Memory（ＲＡＭ）１２、大容量記憶装置１３、及びネットワークに接続するための通信部１４等のハードウェア各部を備える。これらのハードウェア各部はバスを介して相互に接続されている。
【００２３】
ＣＰＵ１０は、ＲＯＭ１１又は大容量記憶装置１３等に予め格納されている制御プログラムを適宜ＲＡＭ１２に読み出して実行すると共に、上述したハードウェア各部の動作を制御する。ＲＯＭ１１は、リモートマシン１を本願に開示する画像処理装置として動作させるために必要な制御プログラム１１ａを予め格納している。ＲＡＭ１２は、例えばStatic ＲＡＭ（ＳＲＡＭ）、Dynamic ＲＡＭ（ＤＲＡＭ）、フラッシュメモリ等である。ＲＡＭ１２は、ＣＰＵ１０による制御プログラムの実行時に発生する種々のデータを一時的に記憶する。
【００２４】
大容量記憶装置１３は、例えばハードディスクドライブ（以下、ＨＤＤと言う）である。大容量記憶装置１３は、Virtual Machine Monitor（ＶＭＭ）プログラム、管理ＯＳプログラム、ゲストＯＳプログラム、アプリケーションプログラム、及び各種のデータ等を格納している。各プログラムは、ＣＰＵ１０が読み出して実行する制御プログラムであって、ＣＰＵ１０によりＲＡＭ１２に読み出しされて実行される。なお各プログラムは、ＲＯＭ１１に格納されていてもよい。また、ＣＤ−ＲＯＭ等の外部メディアより、本願に開示する画像処理装置として動作させるために必要な制御プログラム１１ａを大容量記憶装置１３にインストールし、使用する形態でもよい。
【００２５】
ＶＭＭプログラムは、リモートマシン１でＶＭの動作を可能にする仮想化技術を実現するためのソフトウェアプログラムである。ＣＰＵ１０は、リモートマシン１の起動後にＶＭＭプログラムを実行することにより仮想マシンモニタ（以下、ＶＭＭと言う）としての動作を開始する。ＣＰＵ１０がＶＭＭとして動作することにより、リモートマシン１には、複数のＶＭが独立して動作可能な仮想環境が提供される。
【００２６】
管理ＯＳプログラムは、仮想環境上でＶＭを起動及び停止する機能、及びＶＭに対してリソースを割り当て及び割り当てを解放する機能を実現するためのソフトウェアプログラムである。ＣＰＵ１０は、リモートマシン１の起動後に管理ＯＳプログラムを実行することにより管理ＯＳとしての動作を開始する。ＶＭに割り当てるリソースは、ＣＰＵ１０、ＲＡＭ１２、及び大容量記憶装置１３等である。
【００２７】
ゲストＯＳプログラムは、ＶＭ上でＯＳを実行させるためのソフトウェアプログラムである。ＣＰＵ１０は、各ＶＭが起動した後、ゲストＯＳプログラムを実行することによりＯＳ（以下、ゲストＯＳと言う）としての動作を開始する。ゲストＯＳは、例えばWindows（登録商標）又はLinux（登録商標）等である。ゲストＯＳは、実行した処理に応じて表示すべきCommand User Interface（ＣＵＩ）、Graphic User Interface（ＧＵＩ）等を含む表示画面を生成し、ＶＭＭが提供する仮想的な表示装置へ表示させる。また、ゲストＯＳは、ＶＭＭが提供する仮想的な入力装置から制御信号を受け付ける。そして、ゲストＯＳは、受け付けた制御信号に応じて各種処理を実行する実行手段として機能する。端末装置２ａ，２ｂ，２ｃが各ＶＭに接続すると、ＶＭが生成した表示画面は、端末装置２ａ，２ｂ，２ｃに送られ、端末装置２ａ，２ｂ，２ｃのモニタに表示させる。また、ゲストＯＳは、接続されたキーボード及びマウスからの制御信号を受け付ける。そして、ゲストＯＳは、受け付けた制御信号に応じて各種処理を実行する実行手段として機能する。
【００２８】
アプリケーションプログラムは、ゲストＯＳのそれぞれによって実行されるソフトウェアプログラムである。リモートマシン１は、アプリケーションプログラムが記録された外部メモリからアプリケーションプログラムを読み取って大容量記憶装置１３に格納してもよい。また、リモートマシン１は、ネットワークを介してアプリケーションプログラムをダウンロードして大容量記憶装置１３に格納させてもよい。
【００２９】
端末装置２ａ，２ｂ，２ｃは、ＣＰＵ２０、ＲＯＭ２１、ＲＡＭ２２、ＨＤＤ２３、入出力部２４、及びネットワークに接続するための通信部２５等のハードウェア各部を備える。これらのハードウェア各部はバスを介して相互に接続されている。
【００３０】
ＣＰＵ２０は、ＲＯＭ２１又はＨＤＤ２３等に予め格納されている制御プログラムを適宜ＲＡＭ２２に読み出して実行すると共に、上述したハードウェア各部の動作を制御する。ＲＯＭ２１は、端末装置２ａ，２ｂ，２ｃを本願に開示する画像表示装置として動作させるために必要な制御プログラム２１ａ、及び各種データ等を予め格納している。ＲＡＭ２２は、例えばＳＲＡＭ、ＤＲＡＭ、フラッシュメモリ等であり、ＣＰＵ２０による制御プログラムの実行時に発生する種々のデータを一時的に記憶する。また、端末装置２ａ，２ｂ，２ｃは、ＨＤＤ２３のような記憶装置を持たず、電源オフ時にデータの保持を不可能にするシンクライアント端末でもよい。
【００３１】
入出力部２４は、キーボード２４ａ、マウス２４ｂ及びモニタ２４ｃ等の入出力装置が接続されている。入出力部２４は、例えばUniversal Serial Bus（ＵＳＢ）ポート及びモニタ接続ポートを有している。そして、入出力部２４は、ＵＳＢケーブル及びモニタ接続用ケーブルを介して接続されたキーボード２４ａ、マウス２４ｂ及びモニタ２４ｃとの間でデータの送受信を行なう。
【００３２】
キーボード２４ａ及びマウス２４ｂは、ユーザが端末装置２ａ，２ｂ，２ｃ及びリモートマシン１で動作するＶＭを操作するために必要な各種の操作検知装置を備えている。ユーザにより各操作キーが操作された場合、キーボード２４ａ及びマウス２４ｂは、操作された操作キーに対応した制御信号を出力する。
【００３３】
モニタ２４ｃは、液晶モニタ又はCathode Ray Tube（ＣＲＴ）モニタ等である。モニタ２４ｃは、端末装置２ａ，２ｂ，２ｃの動作状態、ユーザによって入力された情報、及びユーザに対して通知すべき情報等を表示する。またモニタ２４ｃは、接続されたリモートマシン１で動作し、自身の端末装置２ａ，２ｂ，２ｃと対応するＶＭから送出されるデータに従って各種情報を表示する。
【００３４】
以下に、上述の情報処理システムにおいて、リモートマシン１及び端末装置２ａ，２ｂ，２ｃで実現される機能について説明する。図３は、本実施形態１の情報処理システムの機能を示す機能ブロック図である。
【００３５】
リモートマシン１に電源が投入され、リモートマシン１のハードウェア各部の起動が完了した場合、ＣＰＵ１０は、ＶＭＭプログラムを実行することによりＶＭＭ１００の機能を備える。次にＣＰＵ１０は、管理ＯＳプログラムを実行することにより管理ＯＳとしての動作を開始し、ＶＭ１ａ，１ｂ，１ｃを起動する。また、ＶＭ１ａ，１ｂ，１ｃは、端末装置からの要求に応じて起動されてもよい。
【００３６】
管理ＯＳとして動作するＣＰＵ１０は、起動したＶＭ１ａ，１ｂ，１ｃに、例えばＣＰＵ１０、ＲＡＭ１２、大容量記憶装置１３、及び端末装置２ａ，２ｂ，２ｃ等のリソースの割り当てを開始する。ＶＭ１ａ，１ｂ，１ｃが起動し、リソースが割り当てられた後、管理ＯＳとして動作するＣＰＵ１０は、ゲストＯＳプログラムを実行する。これにより、起動したＶＭ１ａ，１ｂ，１ｃ上では、ゲストＯＳの動作が開始される。なお図３では、ＶＭ１ａの機能のみ示しているが、他のＶＭ１ｂ，１ｃについても同様である。また以下では、ＶＭ１ａと端末装置２ａとを接続し、端末装置２ａからＶＭ１ａを操作する場合について説明する。
【００３７】
ゲストＯＳが動作したＶＭ１ａは、ＶＭ１ａに割り当てられたＣＰＵ１０がＲＯＭ１１に格納された制御プログラム１１ａを実行することで、リモート側操作部１０１、スクリーンセーバ（以下、ＳＳと言う）設定情報受付部１０２、ＳＳ設定情報送信部１０３、ＳＳ起動・停止判定部１０４、ＳＳ制御情報送信部１０５、リソース解放部１０６、描画停止ＳＳ制御部１０７、ＳＳ実行部１０８、及びＳＳ情報保存部１０９等の機能を備える。
【００３８】
端末装置２ａは、ＲＯＭ２１に格納された制御プログラム２１ａを実行することで、端末側操作部２０１、ＳＳ設定情報受信部２０２、ＳＳ制御情報受信部２０３、ＳＳ制御部２０４、ＳＳ実行部２０５、及びＳＳ情報保存部２０６等の機能を備える。
【００３９】
端末装置２ａの端末側操作部２０１は、リモートマシン１で動作するＶＭ１ａの操作を可能にする。端末側操作部２０１は、入出力デバイス２０７との間でデータの送受信を行う。入出力デバイス２０７は、端末装置２ａが有するキーボード２４ａ、マウス２４ｂ及びモニタ２４ｃである。端末側操作部２０１は、リモート用ウィンドウへのキーボード２４ａ及びマウス２４ｂ等からの操作を受け付け、操作情報としてリモートマシン１のＶＭ１ａへ送信する。また端末側操作部２０１は、リモートマシン１のＶＭ１ａから画像データを含む表示情報を受信し、モニタ２４ｃのリモート用ウィンドウに表示する。
【００４０】
リモートマシン１のＶＭ１ａのリモート側操作部１０１は、端末側操作部２０１から操作情報を受信し、操作情報に対する結果に係る表示情報を端末側操作部２０１へ送信する。ＶＭ１ａは、仮想的な画面（以下、仮想モニタと言う）を設け、この仮想モニタに表示する画像データの描画を行う。リモート側操作部１０１は、この描画された画像データを表示情報として端末側操作部２０１へ送信する。これにより、ＶＭ１ａの仮想モニタと、端末装置２ａのモニタ２４ｃとは同期し、それぞれのモニタには同じ画像が表示される。また、端末側操作部２０１へ送信するデータは、仮想モニタに描画するコマンドデータでもよい。端末側操作部２０１では受信したコマンドデータを元に描画を行う。
【００４１】
リモートマシン１のＳＳ設定情報受付部１０２は、スクリーンセーバに関する設定情報を受け付ける。設定情報は、例えば端末装置２ａのモニタ２４ｃのリモート用ウィンドウ内に表示した設定画面に従って入力される。図４は、端末装置２ａのモニタ２４ｃに表示する設定画面の一例を示す図である。設定画面では、起動するスクリーンセーバの種類、及びスクリーンセーバを起動するまでの待ち時間が設定される。待ち時間とは、リモートマシン１のＶＭ１ａが端末装置２ａから操作情報を受信してから次に受信するまでの時間である。リモートマシン１のＶＭ１ａは、設定された時間以上端末装置２ａから操作情報を受信しない場合に、スクリーンセーバを起動する。ＳＳ設定情報受付部１０２は、図４に示す設定画面に従って入力された設定情報をリモート側操作部１０１を介して端末装置２ａから受信する。ＳＳ設定情報受付部１０２は、受け付けた設定情報をＳＳ情報保存部１０９へ保存すると共に、設定情報をＳＳ設定情報送信部１０３へ出力する。なお、同期の設定は、リモートマシン１側で行えるようにしてもよい。
【００４２】
ＳＳ設定情報送信部１０３は、ＳＳ設定情報受付部１０２から出力された設定情報を端末装置２ａのＳＳ設定情報受信部２０２へ送信する。ＳＳ設定情報受信部２０２は、ＳＳ設定情報送信部１０３から送信された設定情報を受信し、ＳＳ情報保存部２０６へ保存する。この結果、ＳＳ情報保存部１０９とＳＳ情報保存部２０６とに、同じ設定情報を保存することができる。この設定情報には、リモートマシン１のＶＭ１ａに新しくインストールされたスクリーンセーバプログラムが含まれてもよい。
【００４３】
リモートマシン１のＶＭ１ａのＳＳ起動・停止判定部１０４は、ＳＳ情報保存部１０９に保存されている設定情報に基づき、スクリーンセーバの起動又は停止を判定する。例えば、一定時間以上、端末装置２ａから操作情報を受信しない場合、ＳＳ起動・停止判定部１０４は、スクリーンセーバを起動する。また、端末装置２ａから操作情報を受信した場合、ＳＳ起動・停止判定部１０４は、起動中のスクリーンセーバを停止する。ＳＳ起動・停止判定部１０４は、ＳＳ制御情報送信部１０５、リソース解放部１０６及び描画停止ＳＳ制御部１０７へ、判定結果を出力する。
【００４４】
ＳＳ制御情報送信部１０５は、ＳＳ起動・停止判定部１０４から出力された判定結果に基づいて、制御情報を端末装置２ａのＳＳ制御情報受信部２０３へ送信する。制御情報は、スクリーンセーバを起動させるための情報（以下、起動情報と言う）又は停止させるための情報（以下、停止情報と言う）である。ＳＳ制御情報受信部２０３は、ＳＳ制御情報送信部１０５から受信した制御情報を、ＳＳ制御部２０４へ出力する。
【００４５】
ＳＳ制御部２０４は、ＳＳ制御情報受信部２０３から出力された制御情報に従って、ＳＳ実行部２０５を駆動制御する。制御情報が起動情報である場合、ＳＳ制御部２０４は、ＳＳ実行部２０５に、指定されたスクリーンセーバの設定情報をＳＳ情報保存部２０６から取得させ、スクリーンセーバを起動させる。これにより、端末装置２ａ，２ｂ，２ｃのモニタには、スクリーンセーバ画像が表示される。制御情報が停止情報である場合、ＳＳ制御部２０４は、ＳＳ実行部２０５に、起動したスクリーンセーバを停止させる。
【００４６】
描画停止ＳＳ制御部１０７は、ＳＳ起動・停止判定部１０４から出力された制御情報に従って、ＳＳ実行部１０８を駆動制御する。制御情報が起動情報である場合、描画停止ＳＳ制御部１０７は、仮想モニタに表示する画像データの描画を停止し、ブランク状態のスクリーンセーバ画像を仮想モニタに表示させるようにＳＳ実行部１０８を制御する。また制御情報が停止情報である場合、描画停止ＳＳ制御部１０７は、スクリーンセーバ画像の表示を停止させるようにＳＳ実行部１０８を制御し、仮想モニタに表示する画像データの描画を開始する。
【００４７】
リソース解放部１０６は、ＳＳ起動・停止判定部１０４から出力された制御情報に従って、ＶＭＭ１００に対してリソースの割り当ての変更を依頼する。具体的には、リソース解放部１０６は、ＣＰＵ１０のｗｅｉｇｈｔ値の変更をＶＭＭ１００に依頼する。ｗｅｉｇｈｔ値は、各ＶＭ１ａ，１ｂ，１ｃが専有するＣＰＵ１０の使用時間を示す値であって、ＶＭ１ａ，１ｂ，１ｃの起動時に設定される。各値の比率により、ＣＰＵ１０の使用時間が変化する。例えば、ＶＭ１ａ，１ｂ，１ｃの起動時に、２５６、１２８、６４のｗｅｉｇｈｔ値が設定された場合、ＣＰＵ１０の使用時間比は、４：２：１となる。即ち、ＶＭ１ａに割り当てられたＣＰＵ１０の使用時間は、全体の４／７となる。このｗｅｉｇｈｔ値の変更を、リソース解放部１０６はＶＭＭ１００へ依頼する。
【００４８】
スクリーンセーバが起動したＶＭ１ａは他の処理を実行しないため、ＣＰＵ１０の処理負荷は軽減する。また、描画停止ＳＳ制御部１０７によりブランク状態のスクリーンセーバ画像を仮想モニタに表示させることで、スクリーンセーバ画像を立体画像とした場合との対比において、必要なＣＰＵ１０の処理負荷を抑制できる。このため、スクリーンセーバの起動時には、ＶＭ１ａが占有するＣＰＵ１０の使用時間を小さくすることができる。
【００４９】
従って、リソース解放部１０６は、制御情報が起動情報である場合、ＣＰＵ１０のｗｅｉｇｈｔ値を小さくするようＶＭＭ１００へ依頼する。また、制御情報が停止情報である場合、リソース解放部１０６は、ＣＰＵ１０のｗｅｉｇｈｔ値を元の値に戻すようＶＭＭ１００へ依頼する。これにより、スクリーンセーバの起動中に、不要なリソースを解放することができ、リソースの有効活用が可能となる。この例ではＣＰＵ割り当て率の変更を行ったが、その他メモリ量や入出力デバイス等、他の解放可能なマシンリソースでもよい。
【００５０】
次に、本実施形態１に係る情報処理システムの動作について、フローチャートに基づいて説明する。以下に説明する動作は、リモートマシン１及び端末装置２ａ（又は２ｂ，２ｃ）のＣＰＵ１０及びＣＰＵ２０が、ＲＯＭ１１及びＲＯＭ２１に等に格納してある制御プログラムを実行することにより実行される。なお、以下では、ＶＭ１ａに端末装置２ａが接続するものとして説明する。
【００５１】
まず、リモート操作の開始及び停止時の処理について説明する。リモート操作とは、端末装置２ａをリモートマシン１のＶＭ１ａに接続し、リモートマシン１で動作するＶＭ１ａを端末装置２ａから操作することを言う。図５は、リモート操作の開始及び停止時に端末装置２ａが実行する処理手順を示すフローチャートである。
【００５２】
ＣＰＵ２０は、リモート操作を開始する（Ｓ１）。リモート操作は、例えばリモート操作用のアプリケーションを実行することで開始される。ＣＰＵ２０は、この専用のアプリケーションを、端末装置２ａの電源がオンされたときに実行を開始してもよいし、ユーザの操作により実行を開始してもよい。ＣＰＵ２０は、リモート操作を開始することにより、図３で説明した各機能を有するようになり、以下の処理を実行する。
【００５３】
端末側操作部２０１は、リモートマシン１のＶＭ１ａとの通信接続を確立する（Ｓ２）。端末側操作部２０１は、リモート操作の開始と同時にリモートマシン１のＶＭ１ａと接続するようにしてもよいし、例えばユーザ認証を行い、認証結果に応じてリモートマシン１のＶＭ１ａと接続するようにしてもよい。リモートマシン１のＶＭ１ａとの通信接続が確立することで、リモートマシン１のＶＭ１ａと端末装置２ａとの間で、操作情報及び表示情報等の送受信が可能となる。
【００５４】
リモートマシン１のＶＭ１ａとの接続が確立した後、端末側操作部２０１は、リモート用ウィンドウへキーボード２４ａ又はマウス２４ｂからユーザの操作が入力されたか否かを判定する（Ｓ３）。操作が入力された場合（Ｓ３：ＹＥＳ）、端末側操作部２０１は、操作情報をリモートマシン１へ送信する（Ｓ４）。操作情報の送信後、又は、Ｓ３で操作が入力されていない場合（Ｓ３：ＮＯ）、端末側操作部２０１は、表示情報をリモートマシン１から受信したか否かを判定する（Ｓ５）。
【００５５】
表示情報を受信した場合（Ｓ５：ＹＥＳ）、端末側操作部２０１は、表示情報に基づいて、モニタ２４ｃに画像を表示する（Ｓ６）。例えば、端末側操作部２０１は、リモート操作を開始したときに、モニタ２４ｃの画面の一部にリモート用ウィンドウを表示し、リモート用ウィンドウ内に、表示情報に基づく画像を表示する。画像を表示した後、又は、Ｓ５で表示情報を受信していない場合（Ｓ５：ＮＯ）、端末側操作部２０１は、リモート操作を終了するか否かを判定する（Ｓ７）。リモート操作は、例えばリモート操作用のアプリケーションの実行を終了することで終了される。
【００５６】
リモート操作を終了しない場合（Ｓ７：ＮＯ）、端末側操作部２０１は、Ｓ３以降の処理を実行する。リモート操作を終了する場合（Ｓ７：ＹＥＳ）、端末側操作部２０１は、リモート操作の終了をリモートマシン１へ通知する（Ｓ８）。そして、端末側操作部２０１は、リモートマシン１との接続を切断し（Ｓ９）、ＣＰＵ２０は本処理を終了する。
【００５７】
図６は、リモート操作の開始及び停止時にリモートマシン１が実行する処理手順を示すフローチャートである。
【００５８】
リモートマシン１に電源が投入され、リモートマシン１のハードウェア各部の起動が完了した後、ＣＰＵ１０は、ＶＭＭプログラム及び管理ＯＳプログラムを順に実行し、ＶＭ１ａ，１ｂ，１ｃを起動する（Ｓ２０）。また、ＶＭ１ａ，１ｂ，１ｃは、端末装置からの要求に応じて起動されてもよい。起動後、ＣＰＵ１０は、ゲストＯＳプログラムを実行することで、ＶＭ１ａ，１ｂ，１ｃ上にＯＳが動作する。そして、ＶＭ１ａ，１ｂ，１ｃは、図３で説明した各機能を有するようになり、以下の処理を実行する。
【００５９】
リモート側操作部１０１は、端末装置２ａからの接続要求を受信したか否かを判定する（Ｓ２１）。接続要求を受信していない場合（Ｓ２１：ＮＯ）、リモート側操作部１０１は、受信するまで待機する。接続要求を受信した場合（Ｓ２１：ＹＥＳ）、リモート側操作部１０１は、通信接続を要求してきた端末装置２ａとの接続を確立する（Ｓ２２）リモート側操作部１０１は、端末装置２ａから操作情報を受信したか否かを判定する（Ｓ２３）。操作情報を受信した場合（Ｓ２３：ＹＥＳ）、リモート側操作部１０１は、操作情報に基づく処理を実行することで、リモート操作を実行する（Ｓ２４）。リモート操作後、又はＳ２２で操作情報を受信しない場合（Ｓ２３：ＮＯ）、リモート側操作部１０１は、表示すべき画像があるか否かを判定する（Ｓ２５）。
【００６０】
表示すべき画像は、例えばリモート操作に対する処理結果を示す画像、端末装置２ａとの接続状態、又はＶＭ１ａの動作状態を示す画像等である。表示すべき画像がある場合（Ｓ２５：ＹＥＳ）、リモート側操作部１０１は、画像データを生成し、生成した画像データを表示情報として端末装置２ａに送信する（Ｓ２６）。なおこのとき、仮想モニタには、生成した画像データに係る画像が表示される。
【００６１】
表示情報の送信後、又は、Ｓ２５で表示すべき画像がない場合（Ｓ２５：ＮＯ）、リモート側操作部１０１は、端末装置２ａからリモート操作の終了通知を受信したか否かを判定する（Ｓ２７）。終了通知を受信していない場合（Ｓ２７：ＮＯ）、リモート側操作部１０１は、Ｓ２３以降の処理を実行する。終了通知を受信した場合（Ｓ２７：ＹＥＳ）、リモート側操作部１０１は、端末装置２ａとの接続を切断し（Ｓ２８）、ＣＰＵ１０は本処理を終了する。
【００６２】
次に、スクリーンセーバの設定情報の設定時の処理について説明する。設定情報は、例えば端末装置２ａのモニタ２４ｃに表示した設定画面（図４参照）に従って入力され、端末装置２ａからリモートマシン１のＶＭ１ａへ送信される。図７は、設定情報の設定時に、端末装置２ａが実行する処理手順を示すフローチャートである。
【００６３】
端末側操作部２０１は、図４に示す設定画面をモニタ２４ｃに表示し（Ｓ３１）、画面に従って入力されたか否かを判定する（Ｓ３２）。リモート用ウィンドウへ入力がなければ（Ｓ３２：ＮＯ）、端末側操作部２０１は、リモート用ウィンドウへ入力されるまで待機する。リモート用ウィンドウへ入力された場合（Ｓ３２：ＹＥＳ）、端末側操作部２０１は、入力された内容を設定情報としてリモートマシン１へ送信する（Ｓ３３）。
【００６４】
その後、ＳＳ設定情報受信部２０２は、リモートマシン１のＶＭ１ａから設定情報を受信したか否かを判定する（Ｓ３４）。設定情報を受信していない場合（Ｓ３４：ＮＯ）、ＳＳ設定情報受信部２０２は、受信するまで待機する。設定情報を受信した場合（Ｓ３４：ＹＥＳ）、ＳＳ設定情報受信部２０２は、受信した設定情報をＳＳ情報保存部２０６へ保存し（Ｓ３５）、ＣＰＵ２０は本処理を終了する。なお端末装置２ａは、リモートマシン１から受信した設定情報を保存しているが、設定画面に従って入力された設定情報をそのまま保存するようにしてもよい。
【００６５】
図８は、設定情報の設定時に、リモートマシン１のＶＭ１ａが実行する処理手順を示すフローチャートである。
【００６６】
ＳＳ設定情報受付部１０２は、リモート側操作部１０１を介して、端末装置２ａから設定情報を受信したか否かを判定する（Ｓ４１）。受信していない場合（Ｓ４１：ＮＯ）、ＣＰＵ１０は本処理を終了する。受信した場合（Ｓ４１：ＹＥＳ）、ＳＳ設定情報受付部１０２は、設定情報をＳＳ情報保存部１０９に保存し（Ｓ４２）、設定情報を端末装置２ａへ送信する（Ｓ４３）。これにより、リモートマシン１と端末装置２ａとには、同じ設定情報が保存される。そして、ＣＰＵ１０は本処理を終了する。なお、ＣＰＵ１０は、図８に示す処理を繰り返し実行する。
【００６７】
次に、スクリーンセーバの起動及び停止時の処理について説明する。図９は、スクリーンセーバの起動及び停止時に、リモートマシン１のＶＭ１ａが実行する処理手順を示すフローチャートである。
【００６８】
ＳＳ起動・停止判定部１０４は、タイマを初期化（リセット）及び開始し（Ｓ５１）、リモート側操作部１０１が端末装置２ａから操作情報を受信したか否かを判定する（Ｓ５２）。操作情報を受信した場合（Ｓ５２：ＹＥＳ）、ＳＳ起動・停止判定部１０４は、リモート側操作部１０１が操作情報を受信しなくなるまでＳ５１を繰り返す。操作情報を受信しない場合（Ｓ５２：ＮＯ）、ＳＳ起動・停止判定部１０４は、操作情報を受信しなくなってから所定時間経過したか否かを判定する（Ｓ５３）。所定時間経過していない場合（Ｓ５３：ＮＯ）、ＳＳ起動・停止判定部１０４は、Ｓ５２の処理を実行する。
【００６９】
所定時間経過した場合（Ｓ５３：ＹＥＳ）、描画停止ＳＳ制御部１０７は、端末装置２ａが表示する画像の描画を停止し、ＶＭ１ａでのスクリーンセーバを起動する（Ｓ５４）。具体的には、描画停止ＳＳ制御部１０７は、ＳＳ実行部１０８を駆動制御してブランク状態のスクリーンセーバ画像を仮想モニタに表示する。スクリーンセーバ画像がブランク画像であるため、ＶＭ１ａにおける画像生成を生成する処理負荷が軽減される。
【００７０】
次にリソース解放部１０６は、リソースの割り当て変更をＶＭＭ１００へ依頼する（Ｓ５５）。具体的には、上述のように、リソース解放部１０６は、ＣＰＵ１０のｗｅｉｇｈｔ値の変更をＶＭＭ１００に依頼し、ＶＭ１ａが占有するＣＰＵ１０の使用時間を小さくする。これにより、スクリーンセーバの動作中に不要なリソースが解放される。その後、ＳＳ制御情報送信部１０５は、スクリーンセーバを起動させるための起動情報を端末装置２ａへ送信する（Ｓ５６）。
【００７１】
ＳＳ起動・停止判定部１０４は、リモート側操作部１０１が端末装置２ａから操作情報を受信したか否かを判定する（Ｓ５７）。受信しない場合（Ｓ５７：ＮＯ）、ＳＳ起動・停止判定部１０４は、操作情報を受信するまで待機する。操作情報を受信した場合（Ｓ５７：ＹＥＳ）、ＳＳ起動・停止判定部１０４は、端末装置２ａにおいて操作が入力されたと判定し、表示する画像の描画を開始し、ＶＭ１で実行しているスクリーンセーバを停止する（Ｓ５８）。即ち、仮想モニタには、描画された画像が表示される。
【００７２】
ＳＳ制御情報送信部１０５は、スクリーンセーバを停止させるための停止情報を端末装置２ａへ送信する（Ｓ５９）。その後、リソース解放部１０６は、変更したリソースの割り当てを元に戻すことをＶＭ１００へ依頼する（Ｓ６０）。そしてＣＰＵ１０は本処理を終了する。このように、スクリーンセーバの起動時には、リモートマシン１での描画を停止することで、ＣＰＵ１０の処理負荷を軽減することができる。なお、ＣＰＵ１０は、図９に示す処理を繰り返し実行する。
【００７３】
図１０は、スクリーンセーバの起動及び停止時に、端末装置２ａが実行する処理手順を示すフローチャートである。
【００７４】
ＳＳ制御情報受信部２０３は、リモートマシン１のＶＭ１ａから起動情報を受信したか否かを判定する（Ｓ６１）。起動情報を受信していない場合（Ｓ６１：ＮＯ）、ＣＰＵ２０は本処理を終了する。起動情報を受信した場合（Ｓ６１：ＹＥＳ）、ＳＳ制御部２０４は、スクリーンセーバを起動する（Ｓ６２）。即ちＳＳ実行部２０５は、ＳＳ情報保存部２０６に保存されている設定情報に基づいて、モニタ２４ｃにスクリーンセーバ画像を表示する。
【００７５】
次に、端末側操作部２０１は、リモート用ウィンドウへキーボード２４ａ又はマウス２４ｂから操作が入力されたか否かを判定する（Ｓ６３）。操作が入力されていない場合（Ｓ６３：ＮＯ）、端末側操作部２０１は、入力するまで待機する。操作が入力された場合（Ｓ６３：ＹＥＳ）、端末側操作部２０１は、操作情報をリモートマシン１のＶＭ１ａへ送信する（Ｓ６４）。
【００７６】
ＳＳ制御情報受信部２０３は、リモートマシン１のＶＭ１ａから停止情報を受信したか否かを判定する（Ｓ６５）。停止情報を受信していない場合（Ｓ６５：ＮＯ）、ＳＳ制御情報受信部２０３は、受信するまで待機する。停止情報を受信した場合（Ｓ６５：ＹＥＳ）、ＳＳ制御情報受信部２０３は、起動したスクリーンセーバを停止し（Ｓ６６）、ＣＰＵ２０は本処理を終了する。キーボード２４ａ又はマウス２４ｂから操作が入力された時点で、リモートマシン１のＶＭ１ａからの停止情報受信を待たずに、スクリーンセーバを停止してもよい。なお、ＣＰＵ２０は、図１０に示す処理を繰り返し実行する。
【００７７】
以上説明したように、本実施形態１では、リモートマシン１と端末装置２ａ，２ｂ，２ｃとは、スクリーンセーバに係る設定情報を同期して保存している。そして、端末装置２ａ，２ｂ，２ｃにスクリーンセーバを起動させるかをリモートマシン１のＶＭ１ａが判定している。これにより、リモートマシン１のＶＭ１ａと端末装置２ａ，２ｂ，２ｃとにおけるスクリーンセーバの起動を同期させることができる。そして、スクリーンセーバを起動する場合には、リモートマシン１のＶＭ１ａでは、画像描画を停止し、画面がブランク状態のスクリーンセーバを起動させることで、リモートマシン１のＶＭ１ａでのリソース消費を抑制することができる。その結果、スクリーンセーバ起動中におけるリソースの有効活用が可能となる。
【００７８】
（実施形態２）
以下に、実施形態２に係る情報処理システムについて説明する。実施形態１では、スクリーンセーバの起動及び停止の判定をリモートマシン１のＶＭ１ａにおいて行っているが、本実施形態２では、端末装置２ａ，２ｂ，２ｃにおいて行う。なお、上述した実施形態１の情報処理システムと同様の構成によって実現することができる構成については同一の符号を付して説明を省略する。
【００７９】
図１１は、本実施形態２の情報処理システムの機能を示す機能ブロック図である。
【００８０】
リモートマシン１で動作するＶＭ１ａは、リモート側操作部１０１、リソース解放部１０６、描画停止ＳＳ制御部１０７、ＳＳ実行部１０８、ＳＳ情報保存部１０９及びＳＳ制御情報受信部１１０等の機能を備える。また端末装置２ａは、端末側操作部２０１、ＳＳ制御部２０４、ＳＳ実行部２０５、ＳＳ情報保存部２０６、ＳＳ起動・停止判定部２０８及びＳＳ制御情報送信部２０９等の機能を備える。なお、図１１では、実施形態１で説明したＳＳ設定情報受付部１０２、ＳＳ設定情報送信部１０３及び端末側操作部２０１等は図示していないが、実施形態１と同様である。
【００８１】
ＳＳ起動・停止判定部２０８は、実施形態１で説明したＳＳ起動・停止判定部１０４と同じ機能である。即ち、ＳＳ起動・停止判定部２０８は、ＳＳ情報保存部２０６に保存されている設定情報に基づき、スクリーンセーバの起動又は停止を判定する。例えば、一定時間以上、端末側操作部２０１が入出力デバイス２０７から操作を受け付けない場合、ＳＳ起動・停止判定部２０８は、スクリーンセーバを起動する。また、端末側操作部２０１が操作を受け付けた場合、ＳＳ起動・停止判定部２０８は、起動中のスクリーンセーバを停止する。ＳＳ起動・停止判定部２０８は、ＳＳ制御情報送信部２０９及びＳＳ制御部２０４へ、判定結果を出力する。
【００８２】
ＳＳ制御情報送信部２０９は、ＳＳ起動・停止判定部２０８から出力された判定結果に基づいて、制御情報をリモートマシン１のＳＳ制御情報受信部１１０へ送信する。リモートマシン１のＳＳ制御情報受信部１１０は、ＳＳ制御情報送信部２０９から受信した制御情報を、リソース解放部１０６及び描画停止ＳＳ制御部１０７へ出力する。リソース解放部１０６は、ＳＳ制御情報受信部１１０から出力された制御情報に基づいて、ＶＭＭ１００に対してリソースの割り当ての変更を依頼する。描画停止ＳＳ制御部１０７は、ＳＳ制御情報受信部１１０から出力された制御情報に従って、ＳＳ実行部１０８を駆動制御する。
【００８３】
次に、本実施形態２に係る情報処理システムの動作について、フローチャートに基づいて説明する。以下、実施形態１との相違点であるスクリーンセーバの起動及び停止時の処理についてのみ説明する。
【００８４】
図１２は、スクリーンセーバの起動及び停止時に、端末装置２ａが実行する処理手順を示すフローチャートである。
【００８５】
ＳＳ起動・停止判定部２０８は、タイマを初期化及び開始し（Ｓ７１）、リモート側操作部１０１が入出力デバイス２０７から操作が入力されたか否かを判定する（Ｓ７２）。操作が入力された場合（Ｓ７２：ＹＥＳ）、ＳＳ起動・停止判定部２０８は、操作が入力されなくなるまでＳ７１を繰り返す。操作が入力されない場合（Ｓ７２：ＮＯ）、ＳＳ起動・停止判定部２０８は、操作が入力されなくなってから所定時間経過したか否かを判定する（Ｓ７３）。所定時間経過していない場合（Ｓ７３：ＮＯ）、ＳＳ起動・停止判定部２０８は、Ｓ７２の処理を実行する。
【００８６】
所定時間経過した場合（Ｓ７３：ＹＥＳ）、ＳＳ起動・停止判定部２０８は、スクリーンセーバを起動する（Ｓ７４）。具体的には、ＳＳ制御部２０４は、ＳＳ実行部２０５を駆動制御し、ＳＳ情報保存部２０６に保存されている設定情報に基づいて、モニタ２４ｃにスクリーンセーバ画像を表示する。ＳＳ制御情報送信部２０９は、起動情報をリモートマシン１へ送信する（Ｓ７５）。
【００８７】
ＳＳ起動・停止判定部２０８は、リモート側操作部１０１が入出力デバイス２０７から操作が入力されたか否かを判定する（Ｓ７６）。操作が入力されない場合（Ｓ７６：ＮＯ）、ＳＳ起動・停止判定部２０８は、入力されるまでＳ７６を繰り返す。操作が入力された場合（Ｓ７６：ＹＥＳ）、ＳＳ起動・停止判定部２０８は、スクリーンセーバを停止する（Ｓ７７）。ＳＳ制御情報送信部２０９は、停止情報をリモートマシン１へ送信し（Ｓ７８）、ＣＰＵ２０は本処理を終了する。なお、ＣＰＵ２０は、図１２の処理を繰り返し実行する。
【００８８】
図１３は、スクリーンセーバの起動及び停止時に、リモートマシン１が実行する処理手順を示すフローチャートである。
【００８９】
ＳＳ制御情報受信部１１０は、端末装置２ａから起動情報を受信したか否かを判定する（Ｓ８１）。起動情報を受信していない場合（Ｓ８１：ＮＯ）、ＣＰＵ１０は本処理を終了する。起動情報を受信した場合（Ｓ８１：ＹＥＳ）、描画停止ＳＳ制御部１０７は、端末装置２ａが表示する画像の描画を停止し、ＶＭ１ａでのスクリーンセーバを起動する（Ｓ８２）。そして、リソース解放部１０６は、リソースの割り当て変更をＶＭＭ１００へ依頼する（Ｓ８３）。
【００９０】
次に、ＳＳ制御情報受信部１１０は、端末装置２ａから停止情報を受信したか否かを判定する（Ｓ８４）。停止情報を受信していない場合（Ｓ８４：ＮＯ）、ＳＳ制御情報受信部１１０は、受信するまで待機する。停止情報を受信した場合（Ｓ８４：ＹＥＳ）、ＳＳ実行部１０８は、起動したスクリーンセーバを停止する（Ｓ８５）。リソース解放部１０６は、変更したリソースの割り当てを元に戻すことをＶＭ１００へ依頼する（Ｓ８６）。そして、ＣＰＵ１０は本処理を終了する。なお、ＣＰＵ１０は、図１３の処理を繰り返し実行する。
【００９１】
以上説明したように、本実施形態２では、端末装置２ａ，２ｂ，２ｃでスクリーンセーバを起動するかを端末装置２ａ，２ｂ，２ｃが判定し、リモートマシン１のＶＭ１ａへ起動を通知している。これにより、リモートマシン１のＶＭ１ａと端末装置２ａ，２ｂ，２ｃとにおけるスクリーンセーバの起動を同期させることができる。そして、スクリーンセーバを起動する場合には、リモートマシン１のＶＭ１ａでは、画像描画を停止し、画面がブランク状態のスクリーンセーバを起動させることで、リモートマシン１のＶＭ１ａでのリソース消費を抑制することができる。その結果、スクリーンセーバ起動中におけるリソースの有効活用が可能となる。
【００９２】
（実施形態３）
以下に、実施形態３に係る情報処理システムについて説明する。実施形態１では、リモートマシン１と端末装置２ａ，２ｂ，２ｃとが同期して、スクリーンセーバが起動するようになっている。これに対し、本実施形態３では、斯かる同期を有効にするか無効にするかを設定することができる。以下、相違点について説明する。
【００９３】
図１４は、本実施形態３の情報処理システムに係るリモートマシン１の機能を示す機能ブロック図である。図１４では、端末装置２ａ，２ｂ，２ｃの機能は図３と同様であるため省略している。リモートマシン１で動作するＶＭ１ａは、図３で説明した機能に加え、ＳＳ制御部１１１及び同期フラグ保存部１１２等の機能をさらに備える。
【００９４】
リモート側操作部１０１は、実施形態１と同様に端末装置２ａとの間で操作情報及び表示情報の送受信を行う。さらにリモート側操作部１０１は、同期フラグを端末装置２ａから受信し、同期フラグ保存部１１２に保存する。同期フラグは、端末装置２ａとリモートマシン１のＶＭ１ａとでスクリーンセーバの起動の同期を有効又は無効にするかを判定するためのフラグである。同期フラグは、例えば端末装置２ａのモニタ２４ｃに表示した設定画面に従って設定される。図１５は、端末装置２ａのモニタ２４ｃに表示する設定画面の一例を示す図である。図１５の設定画面では、同期を有効にする場合にチェックするチェックボックスが表示される。チェックボックスがチェックされ、ＯＫボタンが選択された場合、同期が有効となる。またチェックされずにＯＫボタンが選択された場合、同期が無効となる。
【００９５】
ＳＳ設定情報受付部１０２は、リモート側操作部１０１を介してスクリーンセーバに関する設定情報を受け付け、ＳＳ情報保存部１０９へ保存する。また、ＳＳ設定情報受付部１０２は、同期フラグ保存部１１２に保存された同期フラグに基づいて同期が有効であると判定した場合、設定情報をＳＳ設定情報送信部１０３へ出力する。ＳＳ設定情報送信部１０３は、ＳＳ設定情報受付部１０２から出力された設定情報を端末装置２ａへ送信する。
【００９６】
ＳＳ起動・停止判定部１０４は、スクリーンセーバ起動・停止を判定する。ＳＳ起動・停止判定部１０４は、同期フラグ保存部１１２に保存された同期フラグに応じて、判定結果の出力先を切り替える。同期が有効である場合、ＳＳ起動・停止判定部１０４は、ＳＳ制御情報送信部１０５、リソース解放部１０６、及び描画停止ＳＳ制御部１０７へ判定結果を出力する。一方、同期が無効である場合、ＳＳ起動・停止判定部１０４は、ＳＳ制御部１１１のみに判定結果を出力する。
【００９７】
即ち、同期が有効である場合は、描画停止ＳＳ制御部１０７が描画を停止し、ブランク状態のスクリーンセーバを起動又は停止し、リソース解放部１０６がリソースの開放を行う。またＳＳ制御情報送信部１０５が端末装置２ａへ起動を通知し、端末装置２ａは、スクリーンセーバを起動する。一方、同期が無効である場合は、ＳＳ制御部１１１が、ＳＳ情報保存部１０９に保存されている設定情報に従ったスクリーンセーバを起動又は停止し、端末装置２ａには起動を通知しない。即ち、端末装置２ａは、スクリーンセーバを起動しない。端末装置２ａではＶＭ１ａの操作以外に独自に実行するアプリケーションの操作が可能である。従って、ＶＭ１ａに対する操作が入力されていないときに他の操作を行っている場合があるため、リモートマシン１と同期させないことで、操作中にスクリーンセーバが起動することを防止できる。また、同期が無効である場合でも、スクリーンセーバ起動時にリソース解放部１０６がリソースの開放を行ってもよい。普通、スクリーンセーバ起動中は使用可能なリソースが少なくても問題ない。リソースを解放することにより、スクリーンセーバ起動中には他のＶＭがリソースを利用することができ、リソースの効率的利用が可能となる。
【００９８】
次に、本実施形態３に係る情報処理システムの動作について、フローチャートに基づいて説明する。
【００９９】
まず、リモート操作の開始及び停止時の処理について説明する。図１６は、リモート操作の開始及び停止時に端末装置２ａが実行する処理手順を示すフローチャートである。
【０１００】
ＣＰＵ２０は、リモート操作を開始する（Ｓ９１）。リモート操作を開始したＣＰＵ２０は、図３で説明した各機能を有するようになり、以下の処理を実行する。端末側操作部２０１は、リモートマシン１との通信接続を確立する（Ｓ９２）。リモートマシン１のＶＭ１ａとの接続が確立した後、端末側操作部２０１は、例えばユーザの操作により、図１５に示す設定画面を表示するか否かを判定する（Ｓ９３）。設定画面を表示する場合（Ｓ９３：ＹＥＳ）、端末側操作部２０１は、図１５に示す設定画面を表示し、画面に従って入力された同期フラグをリモートマシン１のＶＭ１ａへ送信する（Ｓ９４）。
【０１０１】
同期フラグの送信後、又はＳ９３で設定画面を表示しない場合（Ｓ９３：ＮＯ）、端末側操作部２０１は、リモート用ウィンドウへキーボード２４ａ又はマウス２４ｂからユーザの操作が入力されたか否かを判定する（Ｓ９５）。操作が入力された場合（Ｓ９５：ＹＥＳ）、端末側操作部２０１は、操作情報をリモートマシン１のＶＭ１ａへ送信する（Ｓ９６）。操作情報の送信後、又は、Ｓ９５で操作が入力されていない場合（Ｓ９５：ＮＯ）、端末側操作部２０１は、表示情報をリモートマシン１のＶＭ１ａから受信したか否かを判定する（Ｓ９７）。
【０１０２】
表示情報を受信した場合（Ｓ９７：ＹＥＳ）、端末側操作部２０１は、表示情報に基づいて、モニタ２４ｃに画像を表示する（Ｓ９８）。画像を表示した後、又は、Ｓ９７で表示情報を受信していない場合（Ｓ９７：ＮＯ）、端末側操作部２０１は、リモート操作を終了するか否かを判定する（Ｓ９９）。
【０１０３】
リモート操作を終了しない場合（Ｓ９９：ＮＯ）、端末側操作部２０１は、Ｓ９３以降の処理を実行する。リモート操作を終了する場合（Ｓ９９：ＹＥＳ）、端末側操作部２０１は、リモート操作の終了をリモートマシン１へ通知する（Ｓ１００）。そして、端末側操作部２０１は、リモートマシン１との接続を切断し（Ｓ１０１）、ＣＰＵ２０は本処理を終了する。
【０１０４】
図１７は、リモート操作の開始及び停止時にリモートマシン１が実行する処理手順を示すフローチャートである。
【０１０５】
リモートマシン１に電源が投入され、リモートマシン１のハードウェア各部の起動が完了した後、ＣＰＵ１０は、ＶＭＭプログラム及び管理ＯＳプログラムを順に実行し、ＶＭ１ａ，１ｂ，１ｃを起動する（Ｓ１１０）。また、ＶＭ１ａ，１ｂ，１ｃは、端末装置からの要求に応じて起動されてもよい。起動後、ＣＰＵ１０は、ゲストＯＳプログラムを実行することで、ＶＭ１ａ上にＯＳが動作する。そして、ＶＭ１ａは、図１４で説明した各機能を有するようになり、以下の処理を実行する。
【０１０６】
リモート側操作部１０１は、端末装置２ａからの接続要求を受信したか否かを判定する（Ｓ１１１）。接続要求を受信していない場合（Ｓ１１１：ＮＯ）、リモート側操作部１０１は、受信するまで待機する。接続要求を受信した場合（Ｓ１１１：ＹＥＳ）リモート側操作部１０１は、通信接続を要求してきた端末装置２ａとの接続を確立する（Ｓ１１２）。リモート側操作部１０１は、端末装置２ａから同期フラグを受信したか否かを判定する（Ｓ１１３）。受信した場合（Ｓ１１３：ＹＥＳ）、リモート側操作部１０１は、同期フラグを同期フラグ保存部１１２に保存する（Ｓ１１４）。保存後、又は、同期フラグを受信していない場合（Ｓ１１３：ＮＯ）、リモート側操作部１０１は、端末装置２ａから操作情報を受信したか否かを判定する（Ｓ１１５）。操作情報を受信した場合（Ｓ１１５：ＹＥＳ）、リモート側操作部１０１は、操作情報に基づく処理を実行することで、リモート操作を実行する（Ｓ１１６）。
【０１０７】
リモート操作の実行後、又はＳ１１５で操作情報を受信しない場合（Ｓ１１５：ＮＯ）、リモート側操作部１０１は、表示すべき画像があるか否かを判定する（Ｓ１１７）。表示すべき画像がある場合（Ｓ１１７：ＹＥＳ）、リモート側操作部１０１は、表示情報を端末装置２ａに送信する（Ｓ１１８）。表示情報の送信後、又はＳ１１７で表示すべき画像がない場合（Ｓ１１７：ＮＯ）、リモート側操作部１０１は、端末装置２ａからリモート操作の終了通知を受信したか否かを判定する（Ｓ１１９）。受信していない場合（Ｓ１１９：ＮＯ）、リモート側操作部１０１は、Ｓ１１３以降の処理を実行する。リモート操作の終了通知を受信した場合（Ｓ１１９：ＹＥＳ）、リモート側操作部１０１は、端末装置２ａとの接続を切断し（Ｓ１２０）、ＣＰＵ１０は本処理を終了する。
【０１０８】
次に、スクリーンセーバの設定情報の設定時の処理について説明する。図１８は、設定情報の設定時に、リモートマシン１のＶＭ１ａが実行する処理手順を示すフローチャートである。なお端末装置２ａ，２ｂ，２ｃが実行する処理手順は、図７と同様であるため省略する。
【０１０９】
ＳＳ設定情報受付部１０２は、リモート側操作部１０１を介して、端末装置２ａから設定情報を受信したか否かを判定する（Ｓ１２１）。受信していない場合（Ｓ１２１：ＮＯ）、ＣＰＵ１０は本処理を終了する。受信した場合（Ｓ１２１：ＹＥＳ）、ＳＳ設定情報受付部１０２は、設定情報をＳＳ情報保存部１０９に保存する（Ｓ１２２）。ＳＳ設定情報受付部１０２は、同期フラグ保存部１１２に保存された同期フラグに基づいて、端末装置２ａとの同期が有効であるか否かを判定する（Ｓ１２３）。有効でない場合（Ｓ１２３：ＮＯ）、端末装置２ａと同期する必要がないため、設定情報を端末装置２ａへ送信することなく、ＣＰＵ１０は本処理を終了する。同期が有効である場合（Ｓ１２３：ＹＥＳ）、ＳＳ設定情報送信部１０３は、設定情報を端末装置２ａへ送信する（Ｓ１２４）。そしてＣＰＵ１０は、本処理を終了する。なお、ＣＰＵ１０は、図１８の処理を繰り返し実行する。
【０１１０】
次に、スクリーンセーバの起動及び停止時の処理について説明する。図１９は、スクリーンセーバの起動及び停止時に、リモートマシン１のＶＭ１ａが実行する処理手順を示すフローチャートである。なお端末装置２ａが実行する処理手順は、図１０と同様であるため省略する。
【０１１１】
ＳＳ起動・停止判定部１０４は、タイマを初期化及び開始し（Ｓ１３１）、リモート側操作部１０１が端末装置２ａから操作情報を受信したか否かを判定する（Ｓ１３２）。操作情報を受信した場合（Ｓ１３２：ＹＥＳ）、ＳＳ起動・停止判定部１０４は、受信しなくなるまでＳ１３１を繰り返す。操作情報を受信しない場合（Ｓ１３２：ＮＯ）、ＳＳ起動・停止判定部１０４は、操作情報を受信しなくなってから所定時間経過したか否かを判定する（Ｓ１３３）。所定時間経過していない場合（Ｓ１３３：ＮＯ）、ＳＳ起動・停止判定部１０４は、Ｓ１３２を実行する。
【０１１２】
所定時間経過した場合（Ｓ１３３：ＹＥＳ）、ＳＳ起動・停止判定部１０４は、同期フラグ保存部１１２に保存された同期フラグに基づいて、端末装置２ａとの同期が有効であるか否かを判定する（Ｓ１３４）。同期が有効である場合（Ｓ１３４：ＹＥＳ）、描画停止ＳＳ制御部１０７は、端末装置２ａが表示する画像の描画を停止し、ＶＭ１ａでブランク状態のスクリーンセーバを起動する（Ｓ１３５）。
【０１１３】
次にリソース解放部１０６は、リソースの割り当て変更をＶＭＭ１００へ依頼する（Ｓ１３６）。その後、ＳＳ制御情報送信部１０５は、起動情報を端末装置２ａへ送信する（Ｓ１３７）。ＳＳ起動・停止判定部１０４は、リモート側操作部１０１が端末装置２ａから操作情報を受信したか否かを判定する（Ｓ１３８）。受信しない場合（Ｓ１３８：ＮＯ）、ＳＳ起動・停止判定部１０４は、操作情報を受信するまで待機する。操作情報を受信した場合（Ｓ１３８：ＹＥＳ）、ＳＳ起動・停止判定部１０４は、端末装置２ａにおいて操作が入力されたと判定し、ＶＭ１ａで実行しているスクリーンセーバを停止する（Ｓ１３９）。
【０１１４】
ＳＳ制御情報送信部１０５は、停止情報を端末装置２ａへ送信し（Ｓ１４０）、リソース解放部１０６は、変更したリソースの割り当てを元に戻すことをＶＭ１００へ依頼する（Ｓ１４１）。そして、ＣＰＵ１０は本処理を終了する。
【０１１５】
一方、Ｓ１３４において、同期が有効でない場合（Ｓ１３４：ＮＯ）、ＳＳ制御部１１１は、ＳＳ実行部１０８を駆動制御して、ＳＳ情報保存部１０９に保存されている設定情報に基づいて、スクリーンセーバを起動する（Ｓ１４２）。ＳＳ起動・停止判定部１０４は、リモート側操作部１０１が端末装置２ａから操作情報を受信したか否かを判定する（Ｓ１４３）。受信しない場合（Ｓ１４３：ＮＯ）、ＳＳ起動・停止判定部１０４は、操作情報を受信するまで待機する。操作情報を受信した場合（Ｓ１４３：ＹＥＳ）、ＳＳ起動・停止判定部１０４は、端末装置２ａにおいて操作が入力されたと判定し、スクリーンセーバを停止する（Ｓ１４４）。そして、ＣＰＵ１０は本処理を終了する。なお、ＣＰＵ１０は、図１９の処理を繰り返し実行する。
【０１１６】
以上説明したように、本実施形態３では、リモートマシン１のＶＭ１ａと端末装置２ａ，２ｂ，２ｃとでスクリーンセーバの起動を同期させるか否かを設定することができる。同期させない場合は、リモートマシン１のＶＭ１ａが端末装置２ａ，２ｂ，２ｃから操作情報を一定時間受信せず、スクリーンセーバを起動する場合であっても、端末装置２ａ，２ｂ，２ｃではスクリーンセーバを起動しない。端末装置２ａ，２ｂ，２ｃではＶＭ１ａ，１ｂ，１ｃの操作以外に独自に実行するアプリケーションの操作が可能である。従って、ＶＭ１ａ，１ｂ，１ｃに対する操作が入力されていないときに他の操作を行っている場合があるため、リモートマシン１のＶＭ１ａと同期させないことで、操作中にスクリーンセーバが起動することを防止できる。
【０１１７】
（実施形態４）
以下に、実施形態４に係る情報処理システムについて説明する。本実施形態４では、実施形態３で説明した同期の有効又は無効の設定を、端末装置２ａ，２ｂ，２ｃでアプリケーションが実行しているか否かに応じて行う。以下、実施形態３との相違点について説明する。
【０１１８】
図２０は、本実施形態４の情報処理システムの機能を示す機能ブロック図である。図２０では、リモートマシン１のＶＭ１ａの機能のみを示しており、他のＶＭ１ｂ，１ｃ及びＶＭＭ１００は省略している。
【０１１９】
リモートマシン１で動作するＶＭ１ａは、実施形態３で説明した機能に加え、アプリ監視受信部１１３の機能をさらに備える。端末装置２ａは、実施形態１で説明した機能に加え、アプリ監視部２１０及びアプリ監視送信部２１１等の機能をさらに備える。
【０１２０】
端末装置２ａのアプリ監視部２１０は、一定時間毎にアプリケーション情報を取得する。アプリケーション情報とは、端末装置２ａがＶＭ１ａとは関係のないアプリケーションを実行しているか否かを把握するための情報である。アプリ監視送信部２１１は、アプリ監視部２１０が取得したアプリケーション情報に基づいて、同期フラグをリモートマシン１へ送信する。具体的には、アプリ監視送信部２１１は、アプリケーションが起動されていると判定した場合、同期を無効とする同期フラグを送信する。またアプリ監視送信部２１１は、アプリケーションが起動していない場合、同期を有効とする同期フラグを送信する。アプリ監視受信部１１３は、端末装置２ａから送信された同期フラグを同期フラグ保存部１１２へ保存する。
【０１２１】
なお、端末装置２ａが実行するＶＭ１ａとは関係のないアプリケーションとしては、例えば映像再生ソフト等がある。映像再生ソフトの場合、映像の再生中の端末装置２ａ，２ｂ，２ｃでは、キーボード２４ａ及びマウス２４ｂが操作される可能性は低い。このため、リモートマシン１は、端末装置２ａ，２ｂ，２ｃから操作情報が受信されず、端末装置２ａ，２ｂ，２ｃにスクリーンセーバを起動させる場合がある。このため、端末装置２ａが映像再生ソフトを実行している場合は、同期を無効とすることで、映像再生中に端末装置２ａ，２ｂ，２ｃでスクリーンセーバが起動することを防止できる。
【０１２２】
次に、本実施形態４に係る情報処理システムの動作について、フローチャートに基づいて説明する。図２１は、アプリケーション監視時に端末装置２ａが実行する処理手順を示すフローチャートである。
【０１２３】
ＣＰＵ２０は、アプリ監視部２１０が前回アプリケーション情報を取得してから所定時間（例えば、５秒）経過したか否かを判定する（Ｓ１５１）。所定時間経過していない場合（Ｓ１５１：ＮＯ）、ＣＰＵ２０は本処理を終了する。所定時間経過した場合（Ｓ１５１：ＹＥＳ）、アプリ監視部２１０は、アプリケーション情報を取得する（Ｓ１５２）。取得したアプリケーション情報は、ＲＡＭ２２等に適宜保存される。次に、アプリ監視部２１０は、Ｓ１５２で取得したアプリケーション情報が、前回取得した情報と同じであるか否かを判定する（Ｓ１５３）。
【０１２４】
同じである場合（Ｓ１５３：ＹＥＳ）、アプリケーションの起動状況に変化はないと判定し、ＣＰＵ２０は、本処理を終了する。同じでない場合（Ｓ１５３：ＮＯ）、アプリ監視部２１０は、取得したアプリケーション情報に基づいて、アプリケーションが起動中であるか否かを判定する（Ｓ１５４）。起動中である場合（Ｓ１５４：ＹＥＳ）、アプリ監視送信部２１１は、同期を無効とする同期フラグをリモートマシン１のＶＭ１ａへ送信する（Ｓ１５５）。起動中でない場合（Ｓ１５４：ＮＯ）、アプリ監視送信部２１１は、同期を有効とする同期フラグを送信する（Ｓ１５６）。同期フラグの送信後、ＣＰＵ２０は、本処理を終了する。なお、ＣＰＵ２０は、図２１の処理を繰り返し実行する。
【０１２５】
図２２は、アプリケーション監視時にリモートマシン１のＶＭ１ａが実行する処理手順を示すフローチャートである。
【０１２６】
アプリ監視受信部１１３は、端末装置２ａから同期フラグを受信したか否かを判定する（Ｓ１６１）。受信しない場合（Ｓ１６１：ＮＯ）、ＣＰＵ１０は、本処理を終了する。受信した場合（Ｓ１６１：ＹＥＳ）、アプリ監視受信部１１３は、同期フラグ保存部１１２へ同期フラグを保存する（Ｓ１６２）。そして、ＣＰＵ１０は本処理を終了する。なお、ＣＰＵ１０は、図２２の処理を繰り返し実行する。
【０１２７】
以上説明したように、本実施形態４では、端末装置２ａ，２ｂ，２ｃでのアプリケーションの起動状況に応じて、リモートマシン１のＶＭ１ａと端末装置２ａ，２ｂ，２ｃと同期するかしないかの判定を行う。これにより、例えば端末装置２ａが映像再生ソフトを実行中である場合、同期を無効とすることで、映像の再生中に端末装置２ａ，２ｂ，２ｃでスクリーンセーバが起動することを防止できる。
【０１２８】
（実施形態５）
以下に、実施形態５に係る情報処理システムについて説明する。本実施形態５では、端末装置２ａ，２ｂ，２ｃが複数のモニタを備えている。
【０１２９】
図２３は、実施形態５に係る情報処理システムの端末装置２ａ，２ｂ，２ｃの構成を示すブロック図である。図２３に示すように、端末装置２ａ，２ｂ，２ｃは、実施形態１で説明した構成に加え、モニタ２４ｄをさらに備えている。端末装置２ａ，２ｂ，２ｃは、モニタ２４ｃ，２４ｄの両方に、自身が実行するＯＳの基本的な操作画面を表示する。そして、端末装置２ａ，２ｂ，２ｃは、モニタ２４ｃ，２４ｄの何れか一方にリモート用ウィンドウを表示して、リモート用ウィンドウ内にＶＭ１ａ，１ｂ，１ｃの処理結果等を表示する。そして、本実施形態５では、スクリーンセーバを起動する場合、端末装置２ａ，２ｂ，２ｃは、リモート用ウィンドウが表示されているモニタに対してスクリーンセーバを実行する。
【０１３０】
図２４は、実施形態５に係る情報処理システムの端末装置２ａ，２ｂ，２ｃの機能を示す機能ブロック図である。なお、リモートマシン１の機能は、実施形態１と同様であるため省略する。
【０１３１】
端末装置２ａ，２ｂ，２ｃは、実施形態１で説明した機能に加え、表示画面情報保存部２１２の機能をさらに備える。端末側操作部２０１は、モニタ２４ｃ，２４ｄのうち、リモート用ウィンドウを表示しているモニタを識別し、表示画面情報保存部２１２に対象画面情報を保存する。対象画面情報は、リモート用ウィンドウが表示されているモニタを特定するための情報である。ＳＳ実行部２０５は、表示画面情報保存部２１２に保存されている対象画面情報に基づいて、リモート用ウィンドウが表示されているモニタにスクリーンセーバを実行する。
【０１３２】
次に、本実施形態５に係る情報処理システムの動作について、フローチャートに基づいて説明する。図２５は、リモート用ウィンドウを表示しているモニタの特定時に端末装置２ａが実行する処理手順を示すフローチャートである。
【０１３３】
端末側操作部２０１は、リモート用ウィンドウを表示しているモニタを特定する（Ｓ１７１）。端末側操作部２０１は、前回特定したモニタから変更しているか否かを判定する（Ｓ１７２）。変更している場合（Ｓ１７２：ＹＥＳ）、端末側操作部２０１は、対象画面情報を新たに表示画面情報保存部２１２に保存する（Ｓ１７３）。そして、ＣＰＵ２０は本処理を終了する。一方、変更していない場合（Ｓ１７２：ＮＯ）、対象画面情報を保存する必要がないため、ＣＰＵ２０は本処理を終了する。なお、ＣＰＵ２０は、図２５の処理を繰り返し実行する。
【０１３４】
図２６は、スクリーンセーバの起動及び停止時に、端末装置２ａが実行する処理手順を示すフローチャートである。
【０１３５】
ＳＳ制御情報受信部２０３は、リモートマシン１のＶＭ１ａから起動情報を受信したか否かを判定する（Ｓ１８１）。起動情報を受信していない場合（Ｓ１８１：ＮＯ）、ＣＰＵ２０は本処理を終了する。起動情報を受信した場合（Ｓ１８１：ＹＥＳ）、ＳＳ実行部２０５は、表示画面情報保存部２１２から対象画面情報を取得し、リモート用ウィンドウが表示されているモニタ２４ｃ，２４ｄを特定する（Ｓ１８２）。
【０１３６】
ＳＳ制御部２０４は、ＳＳ実行部２０５を駆動制御して、ＳＳ実行部２０５が特定したモニタ２４ｃ（又は２４ｄ）に対してスクリーンセーバを起動する（Ｓ１８３）。即ちＳＳ実行部２０５は、ＳＳ情報保存部２０６に保存されている設定情報に基づいて、モニタ２４ｃ（又は２４ｄ）にスクリーンセーバ画像を表示する。
【０１３７】
次に、端末側操作部２０１は、リモート用ウィンドウへキーボード２４ａ又はマウス２４ｂから操作が入力されたか否かを判定する（Ｓ１８４）。操作が入力されていない場合（Ｓ１８４：ＮＯ）、端末側操作部２０１は、入力するまで待機する。操作が入力された場合（Ｓ１８４：ＹＥＳ）、端末側操作部２０１は、操作情報をリモートマシン１のＶＭ１ａへ送信する（Ｓ１８５）。
【０１３８】
ＳＳ制御情報受信部２０３は、リモートマシン１のＶＭ１ａから停止情報を受信したか否かを判定する（Ｓ１８６）。停止情報を受信していない場合（Ｓ１８６：ＮＯ）、ＳＳ制御情報受信部２０３は、受信するまで待機する。停止情報を受信した場合（Ｓ１８６：ＹＥＳ）、ＳＳ制御情報受信部２０３は、起動したスクリーンセーバを停止し（Ｓ１８７）、ＣＰＵ２０は本処理を終了する。なお、ＣＰＵ２０は、図２６の処理を繰り返し実行する。
【０１３９】
以上説明したように、本実施形態５では、２つのモニタ２４ｃ，２４ｄを備える端末装置２ａ，２ｂ，２ｃは、リモート用ウィンドウが表示してあるモニタ２４ｃ（又は２４ｄ）に対してスクリーンセーバを実行する。これにより、一方のモニタ２４ｄ（又は２４ｃ）で、ＶＭ１ａ，１ｂ，１ｃとは無関係の操作を行っている場合に、スクリーンセーバが実行されることを防止することができる。この例では、２つのモニタで説明したが、さらに多くのモニタが接続されていてもよい。また、その複数のモニタのうちの複数の画面にリモート用ウィンドウが表示されていてもよい。
【０１４０】
以上、本発明の好適な実施形態について、具体的に説明したが、各構成及び動作等は適宜変更可能であって、上述の実施の形態に限定されることはない。例えば、上述の実施形態では、モニタの画面全体にスクリーンセーバ画像を表示する場合について説明したが、リモート用ウィンドウにのみスクリーンセーバ画像を表示するようにしてもよい。この場合、ＶＭ１ａ，１ｂ，１ｃを操作せず、スクリーンセーバが起動した場合であっても、他の処理の操作は可能となる。
【０１４１】
また、上述の実施形態では、リモートマシン１は、キーボード、マウス又はモニタなどの入出力手段を備えていないが、備えていてもよい。そして、その入出力手段から、図４又は図１５の設定画面に従った入力を行うようにしてもよい。上述の実施形態では、リモートマシン１に複数のＶＭが動作した場合について説明したが、本発明は、ＶＭが動作しないリモートマシン１を端末装置２ａ，２ｂ，２ｃから操作するものであってもよい。
【０１４２】
以下に、上述の実施形態を含む実施形態に関し、更に付記を開示する。
【０１４３】
（付記１）
画像を表示する表示部を有し、スクリーンセーバを実行する画像表示装置を有する第１の情報処理装置と、
該画像表示装置で表示すべき画像に係る画像データを生成し、前記画像表示装置へ前記画像データを送信する画像処理装置を有する第２の情報処理装置と
を備えており、
前記画像処理装置は、
前記画像表示装置にスクリーンセーバを起動させるか否かを判定する手段と、
スクリーンセーバを起動させると判定した場合、前記画像表示装置へ起動を通知する通知手段と、
スクリーンセーバを起動させると判定した場合、画像データの生成を停止させる停止手段と
を有しており、
前記画像表示装置は、
前記画像処理装置から起動が通知された場合に、スクリーンセーバを起動する起動手段
を有しているスクリーンセーバ制御システム。
【０１４４】
（付記２）
前記画像表示装置は、
前記表示部を複数有し、
前記画像処理装置から送信された画像データに基づく画像を、前記表示部の何れか一つに表示する表示制御手段と、
該表示制御手段が画像を表示した表示部を特定する特定手段と
をさらに有しており、
前記特定手段が特定した表示部に対してスクリーンセーバを実行するようにしてある
付記１に記載のスクリーンセーバ制御システム。
【０１４５】
（付記３）
前記画像表示装置でのスクリーンセーバの起動を、前記画像表示装置による判定結果に同期させるか否かを判定する同期判定手段
をさらに備え、
前記通知手段及び停止手段は、
前記同期判定手段が同期させると判定した場合に、起動の通知、及び画像データの生成の停止を行うようにしてある
付記１又は２に記載のスクリーンセーバ制御システム。
【０１４６】
（付記４）
前記画像表示装置は、
アプリケーションプログラムを実行する手段と、
前記アプリケーションプログラムが実行中であるか否かを判定する手段と
をさらに有し、
前記同期判定手段は、
前記アプリケーションプログラムが実行中でない場合に、同期させると判定するようにしてある
付記３に記載のスクリーンセーバ制御システム。
【０１４７】
（付記５）
画像を表示する表示部を有し、スクリーンセーバを実行する画像表示装置と、
該画像表示装置で表示すべき画像に係る画像データを生成し、前記画像表示装置へ前記画像データを送信する画像処理装置と
を備えており、
前記画像表示装置は、
スクリーンセーバを起動させるか否かを判定する手段と、
スクリーンセーバを起動させると判定した場合、前記画像処理装置へ起動を通知する手段と、
を有しており、
前記画像処理装置は、
前記画像表示装置から起動が通知された場合に、画像データの生成を停止させる手段
を有しているスクリーンセーバ制御システム。
【０１４８】
（付記６）
スクリーンセーバを実行する外部表示部に表示すべき画像に係る画像データを生成する手段と、
生成した画像データを前記外部表示部に送信する手段と、
前記外部表示部にスクリーンセーバを起動させるか否かを判定する起動判定手段と、
スクリーンセーバを起動させると判定した場合、前記外部表示部へ起動を通知する通知手段と、
スクリーンセーバを起動させると判定した場合、画像データの生成を停止させる停止手段と
を備える画像処理装置。
【０１４９】
（付記７）
前記外部表示部でのスクリーンセーバの起動を、前記起動判定手段による判定結果に同期させるか否かを判定する同期判定手段
をさらに備えており、
前記通知手段及び停止手段は、
同期させると判定した場合に、起動の通知、及び画像データの生成の停止を行うようにしてある
付記６に記載の画像処理装置。
【０１５０】
（付記８）
スクリーンセーバを実行する外部表示部に表示すべき画像に係る画像データを生成する手段と、
生成した画像データを前記外部表示部に送信する手段と、
前記外部表示部でスクリーンセーバが起動したか否かを判定する手段と、
スクリーンセーバが起動したと判定した場合、画像データの生成を停止させる手段
を備える画像処理装置。
【０１５１】
（付記９）
物理資源を論理的に分割して複数の仮想計算機として動作させる手段と、
前記外部表示部を、動作している仮想計算機の何れかに割り当てる手段と
をさらに備えており、
割り当てられた仮想計算機で画像データを生成するようにしてある
付記６から８の何れか一つに記載の画像処理装置。
【０１５２】
（付記１０）
画像データの生成を停止させた場合、前記仮想計算機に対応する物理資源の一部を解放する手段
をさらに備える付記９に記載の画像処理装置。
【０１５３】
（付記１１）
画像を表示する表示手段と、
スクリーンセーバを実行する実行手段と、
前記表示手段に表示すべき画像に係る画像データを生成し、前記実行手段にスクリーンセーバの実行を開始させるか否かを判定する外部装置から、前記画像データを受信する手段と、
前記外部装置が開始させると判定したか否かを判定する手段と、
開始させると判定した場合、前記実行手段にスクリーンセーバの実行を開始させる手段と
を備える画像表示装置。
【０１５４】
（付記１２）
前記表示手段を複数備えており、
受信した画像データに基づく画像を、前記表示手段の何れか一つに表示する表示制御手段と、
該表示制御手段が画像を表示した表示手段を特定する特定手段と
をさらに備えており、
前記実行手段は、
前記特定手段が特定した表示手段でスクリーンセーバを実行するようにしてある
付記１１に記載の画像表示装置。
【０１５５】
（付記１３）
前記実行手段によるスクリーンセーバの実行の開始を、前記外部装置による判定結果に同期させるか否かを判定する同期判定手段と、
同期させないと判定した場合、前記外部装置におけるスクリーンセーバの実行を開始させるか否かの判定を停止するよう要求する手段と
をさらに備える付記１１又は１２に記載の画像表示装置。
【０１５６】
（付記１４）
アプリケーションプログラムを実行する手段と、
前記アプリケーションプログラムが実行中であるか否かを判定する手段と
をさらに備え、
前記同期判定手段は、
前記アプリケーションプログラムが実行中の場合、同期させないと判定するようにしてある
付記１３に記載の画像表示装置。
【０１５７】
（付記１５）
画像を表示する表示部を有し、スクリーンセーバを実行する画像表示装置を有する第１の情報処理装置と、
該画像表示装置で表示すべき画像に係る画像データを生成し、前記画像表示装置へ前記画像データを送信する画像処理装置を有する第２の情報処理装置と
を備えたシステムにおけるスクリーンセーバ制御方法において、
前記画像表示装置にスクリーンセーバを起動させるか否かを前記画像処理装置で判定し、
スクリーンセーバを起動させると判定した場合、前記画像処理装置から前記画像表示装置へ起動を通知し、かつ、前記画像処理装置での画像データの生成を停止し、
前記画像処理装置から前記画像表示装置へ起動が通知された場合に、前記画像表示装置でスクリーンセーバを起動する
スクリーンセーバ制御方法。
【０１５８】
（付記１６）
画像を表示する表示部を有し、スクリーンセーバを実行する画像表示装置を有する第１の情報処理装置と、
該画像表示装置で表示すべき画像に係る画像データを生成し、前記画像表示装置へ前記画像データを送信する画像処理装置を有する第２の情報処理装置と
を備えたシステムにおけるスクリーンセーバ制御方法において、
スクリーンセーバを起動させるか否かを前記画像表示装置で判定し、
スクリーンセーバを起動させると判定した場合、前記画像表示装置前記画像処理装置へ起動を通知し、
前記画像表示装置から前記画像処理装置へ起動が通知された場合に、前記画像処理装置での画像データの生成を停止する
スクリーンセーバ制御方法。
【０１５９】
（付記１７）
スクリーンセーバを実行する外部表示部に表示すべき画像に係る画像データを生成し、生成した画像データを前記外部表示部に送信するコンピュータを、
前記外部表示部にスクリーンセーバを起動させるか否かを判定する手段、
スクリーンセーバを起動させると判定した場合、前記外部表示部へ起動を通知する手段、及び、
スクリーンセーバを起動させると判定した場合、画像データの生成を停止させる手段
として機能させるコンピュータプログラム。
【０１６０】
（付記１８）
スクリーンセーバを実行する外部表示部に表示すべき画像に係る画像データを生成し、生成した画像データを前記外部表示部に送信するコンピュータを、
前記外部表示部でスクリーンセーバが起動したか否かを判定する手段、及び、
スクリーンセーバが起動したと判定した場合、画像データの生成を停止させる手段
として機能させるコンピュータプログラム。
【０１６１】
（付記１９）
画像を表示する表示手段、及びスクリーンセーバ実行する実行手段を備えており、前記表示手段に表示すべき画像に係る画像データを生成し、前記実行手段にスクリーンセーバの実行を開始させるか否かを判定する外部装置から、前記画像データを受信するコンピュータを、
前記外部装置が開始させると判定したか否かを判定する手段、及び、
開始させると判定した場合、前記実行手段にスクリーンセーバの実行を開始させる手段
として機能させるコンピュータプログラム。
【符号の説明】
【０１６２】
１  リモートマシン（第２の情報処理装置、画像処理装置）
２ａ，２ｂ，２ｃ  端末装置（第１の情報処理装置、画像表示装置）
１０４  ＳＳ起動・停止判断部
１０５  ＳＳ制御情報送信部
１０７  描画停止ＳＳ制御部
１０８  ＳＳ実行部
２０４  ＳＳ制御部
２０５  ＳＳ実行部
【図１】
2011028582.tif 000003
【図２】
2011028582.tif 000004
【図３】
2011028582.tif 000005
【図４】
2011028582.tif 000006
【図５】
2011028582.tif 000007
【図６】
2011028582.tif 000008
【図７】
2011028582.tif 000009
【図８】
2011028582.tif 000010
【図９】
2011028582.tif 000011
【図１０】
2011028582.tif 000012
【図１１】
2011028582.tif 000013
【図１２】
2011028582.tif 000014
【図１３】
2011028582.tif 000015
【図１４】
2011028582.tif 000016
【図１５】
2011028582.tif 000017
【図１６】
2011028582.tif 000018
【図１７】
2011028582.tif 000019
【図１８】
2011028582.tif 000020
【図１９】
2011028582.tif 000021
【図２０】
2011028582.tif 000022
【図２１】
2011028582.tif 000023
【図２２】
2011028582.tif 000024
【図２３】
2011028582.tif 000025
【図２４】
2011028582.tif 000026
【図２５】
2011028582.tif 000027
【図２６】
2011028582.tif 000028