(57)【要約】      （修正有）【課題】管理者の負担を減らしながら、ログオンストームの発生を検知できる計算機システムを提供する。【解決手段】計算機システムではクライアント端末２２が監視プログラム３１を実行し、管理サーバ２３が管理プログラム３２を実行する。クライアント端末が管理サーバを介して仮想マシンにログインを要求すると、仮想マシンが生成した画像データが管理サーバを介してクライアント端末に送信され、ログインの進行状況に応じた複数の画面３３〜３６が表示部２２ａに順に表示される。ログインが遅いという利用者の感覚に近い基準でログオンストームの発生を検出するため、各画面３３〜３６の遷移時間に閾値を設けておく。監視プログラムは、各画面の実際の遷移時間を算出し、その遷移時間が各閾値を超えたかを判断し、判断結果rsltを管理プログラムに送信する。【選択図】図３
2020126457.tif 000002
【特許請求の範囲】
【請求項１】
第１の計算機、第２の計算機、第３の計算機、及び記憶装置を備えた計算機システムであって、
前記第１の計算機は、
仮想マシンを作成する仮想マシン作成部と、
前記仮想マシンのログを取得するログ取得部とを有し、
前記第２の計算機は、
前記第３の計算機を介して前記仮想マシンにログインを要求したときの画面の遷移時間が閾値を超えているかを判断する判断部を有し、
前記第３の計算機は、
前記遷移時間が前記閾値を超えたと判断された場合には前記ログ取得部から前記記憶装置に前記ログを転送する処理をし、前記遷移時間が前記閾値を超えていないと判断された場合には前記ログを前記記憶装置に転送しない処理をする転送処理部を有する、
ことを特徴とする計算機システム。
【請求項２】
前記閾値は、前記ログインを要求した時間帯によって異なることを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記第３の計算機は、
前記時間帯ごとの前記閾値を示す閾値情報を記憶する記憶部と、
前記時間帯において前記閾値を超えなかった前記遷移時間の平均時間を算出し、前記閾値情報における次の前記時間帯の前記閾値を前記平均時間に更新する閾値制御部とを有することを特徴とする請求項２に記載の計算機システム。
【請求項４】
前記仮想マシン作成部は、前記仮想マシンを複数作成し、
前記閾値は、前記ログインを要求したときに複数の前記仮想マシンの各々を利用している利用者の人数によって異なることを特徴とする請求項１に記載の計算機システム。
【請求項５】
前記画面が複数回遷移すると共に、前記閾値が複数回の前記遷移ごとに設定され、
前記判断部は、複数回の前記遷移の各々について、前記遷移時間が前記閾値を超えたかどうかを判断することを特徴とする請求項１に記載の計算機システム。
【請求項６】
第１の計算機で作成された仮想マシンに、第２の計算機が第３の計算機を介してログインを要求したときの画面の遷移時間が閾値を超えた場合には前記仮想マシンのログを記憶装置に転送し、前記遷移時間が前記閾値を超えていない場合には前記ログを前記記憶装置に転送しない処理を前記第３の計算機に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システム及びプログラムに関する。
【背景技術】
【０００２】
プログラムの実行やデータの保存をクライアント端末から切り離してサーバに集約するシステムとしてVDI(Virtual Desktop Infrastructure)がある。VDIにおいては、ネットワークを介してクライアント端末が物理サーバに接続し、その物理サーバで起動している複数の仮想マシンのいずれかにクライアント端末が接続する。クライアント端末においては仮想マシンの画面が表示され、利用者はその画面を見ながら仮想マシンを操作する。
【０００３】
このようなVDIによれば、仮想マシンが起動している物理サーバから離れた場所に利用者がいても、利用者はクライアント端末を介して仮想マシンを操作することができるため、利用者の様々な利用方法に対応できる。しかも、プログラムの実行に必要なデータはクライアント端末には転送されずに仮想マシンに留まるため、データが外部に流出する危険性を低減できる。
【０００４】
但し、このVDIには、管理者の負担を減らすという点で改善の余地がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−０３１７２０号公報
【特許文献２】特開２０１８−１７３８３６号公報
【特許文献３】特表２０１６−５３５８９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一側面によれば、本発明は、管理者の負担を減らすことを目的とする。
【課題を解決するための手段】
【０００７】
一側面によれば、第１の計算機、第２の計算機、第３の計算機、及び記憶装置を備えた計算機システムであって、前記第１の計算機は、仮想マシンを作成する仮想マシン作成部と、前記仮想マシンのログを取得するログ取得部とを有し、前記第２の計算機は、前記第３の計算機を介して前記仮想マシンにログインを要求したときの画面の遷移時間が閾値を超えているかを判断する判断部を有し、前記第３の計算機は、前記遷移時間が前記閾値を超えたと判断された場合には前記ログ取得部から前記記憶装置に前記ログを転送する処理をし、前記遷移時間が前記閾値を超えていないと判断された場合には前記ログを前記記憶装置に転送しない処理をする転送処理部を有する計算機システムが提供される。
【発明の効果】
【０００８】
一側面によれば、管理者の負担を減らすことができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、検討に使用した計算機システムのシステム構成図である。
【図２】図２は、本実施形態に係る計算機システムのシステム構成図である。
【図３】図３は、本実施形態に係る計算機システムの処理の概略について示す模式図（その１）である。
【図４】図４は、本実施形態に係る計算機システムの処理の概略について示す模式図（その２）である。
【図５】図５は、本実施形態に係るクライアント端末の機能構成図である。
【図６】図６は、本実施形態に係る管理サーバの機能構成図である。
【図７】図７は、本実施形態に係る閾値情報を模式的に示す図である。
【図８】図８は、本実施形態に係る物理サーバの機能構成図である。
【図９】図９は、本実施形態に係るログの転送方法のシーケンス図である。
【図１０】図１０は、本実施形態において、実際の遷移時間と閾値とを模式的に示す図である。
【図１１】図１１は、本実施形態における異常の判断処理を示すフローチャートである。
【図１２】図１２は、本実施形態で得られる判断結果を模式的に示す図である。
【図１３】図１３（ａ）は、本実施形態におけるログ転送処理を管理サーバが行うときのフローチャートであり、図１３（ｂ）は、ログ転送処理で仮想マシンが行う処理について示すフローチャートである。
【図１４】図１４は、本実施形態の第１変形例で使用する閾値情報を模式的に示す図である。
【図１５】図１５は、本実施形態の第１変形例に係る閾値情報を利用する場合に閾値を取得する処理を示すフローチャートである。
【図１６】図１６は、本実施形態の第２変形例に係るログ転送処理を示すフローチャートである。
【図１７】図１７は、本実施形態の第２変形例で使用する閾値情報を模式的に示す図である。
【図１８】図１８は、本実施形態の第２変形例に係る閾値情報を利用する場合に閾値を取得する処理を示すフローチャートである。
【図１９】図１９は、本実施形態に係る物理サーバのハードウェア構成図である。
【図２０】図２０は、本実施形態に係るクライアント端末のハードウェア構成図である。
【図２１】図２１は、本実施形態に係る管理サーバのハードウェア構成図である。
【発明を実施するための形態】
【００１０】
本実施形態の説明に先立ち、本願発明者が検討した事項について説明する。
【００１１】
図１は、検討に使用した計算機システムのシステム構成図である。
【００１２】
この計算機システム１は、VDIを実現するためのシステムであって、複数のクライアント端末２、第１の物理サーバ４、第２の物理サーバ５、及び管理サーバ６を有する。
【００１３】
このうち、クライアント端末２は、利用者が操作するパーソナルコンピュータであり、液晶ディスプレイ等の表示部２ａを備える。そのクライアント端末２は、インターネット等のネットワーク３を介して管理サーバ６に接続される。
【００１４】
管理サーバ６は、クライアント端末２の要求に応じて後述の仮想マシンVM1、VM2を起動する物理サーバである。
【００１５】
また、第１の物理サーバ４、第２の物理サーバ５、及び管理サーバ６はデータセンタ１１に収容されており、LAN１０を介して相互に接続される。
【００１６】
第１の物理サーバ４は、ハイパーバイザー等のプログラムを実行することにより、複数の仮想マシンVM1、VM2を生成するサーバである。これらの仮想マシンVM1、VM2を起動すると、ログイン画面等の様々な画面データが各仮想マシンVM1、VM2において生成される。その画面データは管理サーバ６とネットワーク３を介してクライアント端末２に転送され、ログイン画面等のように仮想マシンVM1、VM2を操作するための画面が表示部２ａに表示されることになる。
【００１７】
また、これらの仮想マシンVM1、VM2においては利用者ごとに様々なアプリケーションプログラムが実行されるが、そのアプリケーションプログラムの実行に必要な定義ファイル５ａは第２の物理サーバ５に格納される。その定義ファイル５ａには、例えば各仮想マシンVM1、VM2のディレクトリのどこにアプリケーションプログラムがあるのかを示す情報が格納される。
【００１８】
更に、データセンタ１１には、複数のスイッチ７と、第１及び第２の記憶装置８、９とが収容される。
【００１９】
スイッチ７は、各記憶装置８、９をLAN１０に接続するためのネットワークスイッチである。また、第１の記憶装置８は、ユーザプロファイル８ａを記憶するストレージデバイスである。ユーザプロファイル８ａは、例えばレジストリの設定情報が格納されたファイルである。
【００２０】
そして、第２の記憶装置９は、利用者が仮想マシンVM1、VM2で扱うデータ９ａを記憶するストレージデバイスである。
【００２１】
このような計算機システム１においては、利用者がクライアント端末２を操作することにより仮想マシンVM1、VM2のいずれか一にログインを行う。以下では仮想マシンVM1にログインを行うものとする。ログインは、仮想マシンVM1のゲストOS(Operating System)が実行する認証処理であり、表示部２ａに表示された認証画面にユーザ名とパスワードを入力することで実行される。
【００２２】
ログインに成功すると、ユーザプロファイル８ａやデータ９ａが仮想マシンVM1に読み込まれ、これにより利用者が仮想マシンVM1を利用する環境が整うことになる。
【００２３】
ここで、利用者の利便性を向上させるには、認証画面に利用者がユーザ名とパスワードを入力した後に、なるべく時間をおかずに仮想マシンVM1を利用できるようになるのが好ましい。
【００２４】
しかしながら、実際には、ユーザ名とパスワードの入力を終えても画面遷移が遅滞するログオンストームと呼ばれる現象が起きることがある。ログオンストームが発生すると、例えば表示部２ａが黒い画面を表示し続けてしまい、利用者にストレスを感じさせてしまう。
【００２５】
ログオンストームは様々な原因で発生し得る。例えば、仮想マシンVM1がユーザプロファイル８ａやデータ９ａを読み出すのに長時間を要した場合にログオンストームが発生し得る。特に、VDIでは、第１の物理サーバ４、第２の物理サーバ５、及び各記憶装置８、９の各々を複数の利用者が共有しており、これらのリソース間の通信の遅延によってログオンストームが発生し易い。
【００２６】
ログオンストームは、黒い画面のまましばらく待つか、あるいは再びログインを行うことで解消する。そのため、利用者によっては、ログオンストームが発生しても、発生の事実をVDIの管理者に問い合わせないことが多い。これにより、管理者は、ログオンストームが発生したことに気付くことができず、ログオンストームを解消させるための措置を講ずる機会を逸してしまう。
【００２７】
これを解決するために、全ての仮想マシンVM1、VM2のログをVDIの管理者が収集し、これらのログの全てを管理者が精査してログオンストームの原因を特定することが考えられる。しかし、ログの数が膨大であるため、この方法ではVDIの管理者の負担が増えると共に、全てのログを保管するのに十分な容量のストレージデバイスも必要となる。
【００２８】
この方法に代えて、ログイン時の異常を検知するための異常検知プログラムを仮想マシンVM1、VM2の各々で実行し、ログオンストームの発生を異常検知プログラムが検知することも考えられる。この場合、例えばログイン処理の実行時間を異常検知プログラムが計測し、その実行時間が閾値を超えた場合にログオンストームが発生したと推定すればよい。
【００２９】
しかし、仮想マシンVM1、VM2とクライアント端末２とはインターネット等のネットワーク３を介して接続されており、そのネットワーク３における遅延を異常検知プログラムは検知できない。よって、この方法では、ログイン処理が遅いという利用者の感覚を契機としてログオンストームの発生を検知することができない可能性がある。
【００３０】
以下、管理者の負担を減らしながら、ログオンストームの発生を検知できる本実施形態について説明する。
【００３１】
（第１実施形態）
＜システム構成＞
図２は、本実施形態に係る計算機システムのシステム構成図である。
【００３２】
この計算機システム２０は、利用者にVDIを提供するためのシステムであって、物理サーバ２１、クライアント端末２２、管理サーバ２３、及び記憶装置２４を備える。
【００３３】
このうち、物理サーバ２１は第１の計算機の一例であり、ハイパーバイザー等のプログラムを実行することにより複数の仮想マシンVM1〜VM3を作成する。なお、この例では仮想マシンVM1〜VM3の台数を３台としているが、仮想マシンの台数はこれに限定されず、数十〜数千台の仮想マシンを物理サーバ２１が作成してもよい。
【００３４】
各仮想マシンVM1〜VM3は、クライアント端末２２の利用者に対し、利用者が選択したゲストOSで種々のアプリケーションプログラムを実行する環境を提供する。なお、以下ではアプリケーションプログラムのことをアプリとも呼ぶ。
【００３５】
また、クライアント端末２２は、第２の計算機の一例であり、複数の利用者に対応して複数設けられる。この例では、液晶パネル等の表示部２２ａを備えたパーソナルコンピュータをクライアント端末２２として使用する。なお、タブレット端末やスマートフォン等をクライアント端末２２として使用してもよい。
【００３６】
各々のクライアント端末２２は、管理サーバ２３を介して複数の仮想マシンVM1〜VM3のいずれか一にログインを行い、その仮想マシンが生成した画像が表示部２２ａに表示される。
【００３７】
なお、この例では一台のクライアント端末２２がログイン可能な仮想マシンは一つのみとする。これにより、クライアント端末２２を利用している利用者と仮想マシンVM1〜VM3とは一対一に対応することになる。
【００３８】
一方、管理サーバ２３は、第３の計算機の一例であり、クライアント端末２２と各仮想マシンVM1〜VM3との対応関係や、これらの仮想マシンを利用している利用者の人数等を管理する物理サーバである。
【００３９】
この例では、物理サーバ２１と管理サーバ２３とを同一のデータセンタ２７に収容し、物理サーバ２１と管理サーバ２３とをLAN等の第１のネットワーク２５で接続する。
【００４０】
また、記憶装置２４は、管理サーバ２３の配下にあるHDD(Hard Disk Drive)やSSD(Solid State Drive)等のストレージデバイスである。なお、管理サーバ２３が記憶装置２４にアクセス可能である限り、ネットワーク上における記憶装置２４の位置は特に限定されない。例えば、管理サーバ２３のディレクトリに記憶装置２４をマウントしてもよいし、第１のネットワーク２５に記憶装置２４を設けてもよい。
【００４１】
更に、記憶装置２４とは別に、ユーザプロファイルや利用者が仮想マシンVM1、VM2で扱うデータを記憶する記憶装置を第１のネットワーク２５に接続してもよい。
【００４２】
一方、各クライアント端末２２は、データセンタ２７から離れた遠隔地にあり、インターネット等の第２のネットワーク２６により管理サーバ２３と接続される。
【００４３】
次に、この計算機システム２０における処理の概略について説明する。
【００４４】
図３〜図４は、本実施形態に係る計算機システムの処理の概略について示す模式図である。
【００４５】
図３に示すように、本実施形態ではクライアント端末２２が監視プログラム３１を実行し、かつ管理サーバ２３が管理プログラム３２を実行する。
【００４６】
また、この例ではクライアント端末２２が管理サーバ２３を介して仮想マシンVM1〜VM3のいずれかにログインを要求する。このようにログインを要求すると、仮想マシンVM1〜VM3が生成した画像データが管理サーバ２３を介してクライアント端末２２に送信され、ログインの進行状況に応じた複数の画面３３〜３６が表示部２２ａに順に表示される。
【００４７】
この例では、パスワード認証によってログインを行うものとし、ログイン認証画面３３、「ようこそ」画面３４、黒画面３５、及びデスクトップ画面３６がこの順に表示部２２ａに表示されるものとする。
【００４８】
このうち、ログイン認証画面３３は、ユーザ名とパスワードの入力を利用者に促す画面である。また、「ようこそ」画面３４は、認証に成功したときに表示される画面である。
【００４９】
黒画面３５は、「ようこそ」画面３４が表示された後に表示部２２ａに一時的に表示される黒い画面である。そして、デスクトップ画面３６は、仮想マシン内においてアプリを実行可能となった場合に表示される画面であり、例えば背景画像の前景にアプリのアイコンが表示された画面である。
【００５０】
このようにログインを行う場合には前述のようにログオンストームが発生することがある。本実施形態では、ログインが遅いという利用者の感覚に近い基準でログオンストームの発生を検出するため、各画面３３〜３６の遷移時間に予め閾値を設けておく。閾値は、遷移時間がその値を超えたときにログオンストームが発生しているとみなせる値である。なお、遷移時間が閾値を超えていない場合には、ログオンストームが発生していない正常状態とみなされる。
【００５１】
図３の例では、ログイン認証画面３３から「ようこそ」画面３４への遷移時間の閾値を２秒とし、「ようこそ」画面３４から黒画面３５への遷移時間の閾値を５秒とする。また、黒画面３５からデスクトップ画面３６への遷移時間の閾値を３秒とする。
【００５２】
監視プログラム３１は、各画面の実際の遷移時間を算出し、その遷移時間が上記の各閾値を超えたかを判断する。図３の例では、黒画面３５からデスクトップ画面３６への実際の遷移時間が５分となっており、閾値（３秒）を超えている。よって、この例ではログオンストームが発生している可能性が高いということになる。
【００５３】
監視プログラム３１は、このように各画面の遷移時間が閾値を超えているかどうかを判断し、その判断結果rsltを管理サーバ２３で実行されている管理プログラム３２に送信する。
【００５４】
その判断結果rsltを受けた管理プログラム３２の処理の概要について図４を参照して説明する。
【００５５】
図４に示すように、管理プログラム３２は、複数の仮想マシンVM1〜VM3のうちで画面の遷移時間が閾値を超えている仮想マシンVM1に対してログ３８を記憶装置２４に転送するように要求する。
【００５６】
この要求は、前述のように画面の遷移時間が閾値を超えており、ログオンストームが発生している可能性が高い場合に行われる。よって、この場合は、管理プログラム３２が仮想マシンVM1にログ３８の転送を依頼するのと同時に、管理プログラム３２が管理サーバ２３の液晶ディスプレイ等にアラート画面２９を表示し、管理者に注意を促す。
【００５７】
一方、各仮想マシンVM1〜VM3は、ゲストOSとアプリの他にログ取得プログラム３９を実行する。ログ取得プログラム３９は、各仮想マシンVM1〜VM3の各々が個別に実行するプログラムであり、ゲストOSやアプリのログ３８を取得して記憶装置２４に転送する。
【００５８】
ログ３８は、イベントとその発生日時とが時系列順に書き込まれたファイルである。ゲストOSがLinux（登録商標）である場合には、例えばsyslogで出力されたファイルがゲストOSのログ３８となる。また、アプリのログ３８は、仮想マシンへのログイン時に自動的に起動するアプリのログが書き込まれたファイルである。
【００５９】
ログ３８は、ある程度の時間が経過すると各仮想マシンVM1〜VM3から自動的に削除される。ログ３８を削除するタイミングはゲストOSの設定による。例えば、ログ３８を含むディレクトリの容量が規定値を超えたり、ログ３８の生成日時から所定の日数が経過したりしたときに、ゲストOSの制御下でログ３８は削除される。
【００６０】
本実施形態では、このように削除する前にログ３８を記憶装置２４に転送しておくため、ログオンストームが発生した原因の調査にログ３８を役立てることができる。
【００６１】
しかも、全ての仮想マシンVM1〜VM3から記憶装置２４にログ３８を転送するのではなく、ログオンストームの発生が推定される仮想マシンのみからログ３８を記憶装置２４に転送する。よって、記憶容量の大きな記憶装置２４を用意する必要がなく、更に管理者が精査するログ３８の数も減るため、管理者の負担増を抑制することができる。
【００６２】
更に、図３に示したように、画面の遷移時間に基づいてログオンストームの発生を推定するため、画面を見ている利用者の感覚に近い基準でログオンストームが発生しているかどうかを判断することができる。
【００６３】
以下に、この計算機システム２０の詳細な機能構成について説明する。
【００６４】
＜機能構成＞
図５は、クライアント端末２２の機能構成図である。
【００６５】
図５に示すように、クライアント端末２２は、前述の表示部２２ａの他に、接続部４１と監視部４２とを備える。
【００６６】
接続部４１は、各仮想マシンVM1〜VM3のいずれか一にクライアント端末２２を接続するための接続プログラムを実行することにより実現され、接続要求部４３と送受信部４４とを有する。
【００６７】
このうち、接続要求部４３は、管理サーバ２３に対し、各仮想マシンVM1〜VM3のいずれか一の起動を要求する機能ユニットである。
【００６８】
また、送受信部４４は、利用者の入力操作により生じたイベント信号を各仮想マシンVM1〜VM3のいずれか一に送信する。このようにイベント信号を発生させる入力デバイスとしては、例えばマウスやキーボード等がある。更に、送受信部４４は、各仮想マシンVM1〜VM3から送信される画像データを受信する。
【００６９】
その画像データに基づいて、各仮想マシンVM1〜VM3が生成した画像が表示部２２ａに表示される。そのような画像としては、例えば図３に示したようなログイン認証画面３３、「ようこそ」画面３４、黒画面３５、及びデスクトップ画面３６がある。
【００７０】
一方、監視部４２は、ログオンストームの発生を監視する機能ユニットであり、クライアント端末２２が前述の監視プログラム３１を実行することにより実現される。一例として、監視部４２は、閾値要求部４６、画面取得部４７、算出部４８、判断部４９、及び送信部５０を備える。
【００７１】
このうち、閾値要求部４６は、画面の遷移時間の閾値を管理サーバ２３に要求し、その閾値を管理サーバ２３から取得する。また、画面取得部４７は、表示部２２ａに表示される画面を一定の時間間隔で取得する。例えば、画面取得部４７は、画面をキャプチャするためのアプリを一定の時間間隔をおいて実行することにより画面を取得する。そのようなアプリとしては、例えばSnipping Toolがある。
【００７２】
また、算出部４８は、表示部２２ａに表示された画面が遷移する遷移時間を算出する。先の図３の例では、ログイン認証画面３３から「ようこそ」画面３４に遷移するときの遷移時間（２秒）と、「ようこそ」画面３４から黒画面３５に遷移するときの遷移時間（３秒）が算出部４８により算出される。また、「黒画面３５」からデスクトップ画面３６に遷移するときの遷移時間（５分）も算出部４８により算出される。
【００７３】
判断部４９は、算出部４８が算出した遷移時間が、閾値要求部４６が取得した閾値を超えているかを判断する。その判断は、複数の遷移時間のそれぞれについて行われる。例えば、図３の場合には、ログイン認証画面３３から「ようこそ」画面３４に遷移するときの遷移時間（２秒）がこれに対応する閾値（２秒）を超えているかが判断される。他の遷移時間についても同様である。
【００７４】
送信部５０は、判断部４９の判断結果rsltを管理サーバ２３に送信する。
【００７５】
次に、管理サーバ２３の機能について説明する。
【００７６】
図６は、管理サーバ２３の機能構成図である。
【００７７】
図６に示すように、管理サーバ２３は、記憶部５５、管理部５６、及び表示部５７を備える。
【００７８】
このうち、記憶部５５は、閾値情報６１、利用者人数情報６２、及び対応情報６３を記憶するハードウェアである。そのハードウェアは特に限定されず、HDDやSSD等の二次記憶装置でもよいし、これらの二次記憶装置のデータが書き込まれたDRAM(Dynamic Random Access Memory)等のメモリでもよい。
【００７９】
閾値情報６１は、画像の遷移時間の閾値を示す情報である。前述のように、本実施形態では、その閾値を基準にしてログオンストームの発生を推定する。
【００８０】
図７は、閾値情報６１を模式的に示す図である。
【００８１】
図７に示すように、この例では、ログイン認証画面３３が表示されてから「ようこそ」画面３４が表示されるまでの期間をフェーズ１と呼ぶ。また、「ようこそ」画面３４が表示されてから黒画面３５が表示されるまでの期間をフェーズ２と呼び、黒画面３５が表示されてからデスクトップ画面３６が表示されるまでの期間をフェーズ３と呼ぶ。そして、これらのフェーズ１〜３の各々に閾値Tth1〜Tth3を設定する。なお、フェーズの個数は３個に限定されず、任意個数のフェーズを採用し得る。
【００８２】
本実施形態では、前述のようにこれらの閾値と実際の画面の遷移時間と比較することによりログオンストームの発生を推定する。なお、全てのフェーズ１〜３に閾値を設けずに、これらのフェーズのいずれか一のみに閾値を設け、そのフェーズに対応する閾値と遷移時間とを比較してログオンストームの発生を推定してもよい。更に、フェーズ１〜３を合計した遷移時間に閾値を設け、その閾値とフェーズ１〜３の合計の遷移時間とを比較してログオンストームの発生を推定してもよい。
【００８３】
再び図６を参照する。
利用者人数情報６２は、仮想マシンVM1〜VM3を現に利用している利用者の人数を示す情報である。本実施形態では、一つの仮想マシンを一人の利用者のみが利用すると想定している。よって、仮想マシンVM1〜VM3を利用している利用者の人数は、物理サーバ２１で起動している仮想マシンVM1〜VM3の台数に等しい。
【００８４】
その利用者人数情報６２の生成方法も特に限定されない。例えば、各仮想マシンVM1〜VM3のいずれか一に現にログインをしているクライアント端末２２の台数を管理部５６が利用者の人数として利用者人数情報６２に書き込めばよい。
【００８５】
一方、対応情報６３は、クライアント端末２２とそれがログインしている仮想マシンVM1〜VM3との対応関係を示す情報である。クライアント端末２２は、接続先の仮想マシンVM1〜VM3を特定することなく、管理サーバ２３にこれらの仮想マシンVM1〜VM3のいずれか一へのログインを要求する。管理サーバ２３は、その要求があったときに、クライアント端末２２を識別する識別子と、仮想マシンVM1〜VM3を識別する識別子とを対応付けて対応情報６３に格納する。なお、クライアント端末２２を識別する識別子としては、例えばそのクライアント端末２２を利用している利用者のIDがある。また、仮想マシンVM1〜VM3を識別する識別子としては、これらの仮想マシンを一意に識別するIDがある。
【００８６】
一方、管理部５６は、閾値制御部７１、接続部７２、仮想マシン特定部７３、及び転送処理部７４を備える。
【００８７】
このうち、閾値制御部７１は、前述の閾値情報６１（図７参照）を参照することにより各フェーズ１〜３のそれぞれの閾値Tth1〜Tth3を取得したり、これらの閾値Tth1〜Tth3を更新したりする機能ユニットである。
【００８８】
接続部７２は、クライアント端末２２が仮想マシンVM1〜VM3の起動を要求したときにその要求を受け付け、物理サーバ２１に仮想マシンVM1〜VM3のいずれかを起動するように要求する。
【００８９】
更に、接続部７２は、クライアント端末２２が仮想マシンVM1〜VM3へのログインを要求したときに、その要求を仮想マシンVM1〜VM3に転送する。
【００９０】
また、仮想マシン特定部７３は、前述の対応情報６３を参照することにより、複数の仮想マシンVM1〜VM3のうち、判断結果rslt（図３参照）を送信してきたクライアント端末２２がログインしている仮想マシンを特定する。
【００９１】
転送処理部７４は、判断結果rsltの内容に応じて、各仮想マシンVM1〜VM3のログ３８を記憶装置２４に転送する処理を行う。この処理は、画面の遷移時間が閾値を超えているとの判断結果rsltをクライアント端末２２から受けたときに、そのクライアント端末２２が接続している仮想マシンに対して行う。なお、画面の遷移時間が閾値を超えていない仮想マシンに対しては、転送処理部７４は、ログ３８を記憶装置２４に転送する処理を行わない。
【００９２】
また、表示部５７は、例えば液晶ディスプレイであって、図４に示したアラート画面２９を表示する。
【００９３】
次に、物理サーバ２１の機能構成について説明する。
【００９４】
図８は、物理サーバ２１の機能構成図である。
【００９５】
図８に示すように、物理サーバ２１は仮想マシン作成部７７を有する。
【００９６】
仮想マシン作成部７７は、複数の仮想マシンVM1〜VM3を作成するための機能ユニットであり、ハイパーバイザー等の仮想マシン作成プログラムを物理サーバ２１が実行することにより実現される。
【００９７】
これらの仮想マシンVM1〜VM3は、仮想マシン作成部７７によってメモリやプロセッサ等のハードウェア資源が仮想的に割り当てられる。また、利用者は、仮想マシンVM1〜VM3のゲストOSをWindows（登録商標）やLinux（登録商標）等の中から選択することができ、選択したゲストOSの上で様々なアプリが実行される。
【００９８】
更に、各々の仮想マシンVM1〜VM3はログ取得部７８を有する。そのログ取得部７８は、各仮想マシンVM1〜VM3においてログ取得プログラム３９（図４参照）を実行することで実現される機能ユニットであり、ゲストOSやアプリのログ３８を取得してそれを記憶装置２４に転送する。
【００９９】
＜ログの転送方法＞
次に、本実施形態に係る計算機システムにおけるログの転送方法について説明する。
【０１００】
図９は、本実施形態に係るログの転送方法のシーケンス図である。
【０１０１】
まず、ステップＳ１において、利用者がクライアント端末２２の入力デバイスを操作することにより、表示部２２ａに表示されている起動ボタン（不図示）をクリックする。
【０１０２】
これを契機にして、クライアント端末２２の接続要求部４３が、管理サーバ２３の接続部７２に対し、複数の仮想マシンVM1〜VM3のいずれか一の起動を要求する。
【０１０３】
次に、ステップＳ２に移り、管理サーバ２３の接続部７２が、物理サーバ２１の仮想マシン作成部７７に対し、各仮想マシンVM1〜VM3のいずれかを起動するように要求する。この例では仮想マシンVM1の起動を要求するものとする。
【０１０４】
その要求を受けて、ステップＳ３において仮想マシンVM1が起動すると共に、仮想マシンVM1が各種の画面を表す画面データの生成を開始する。
【０１０５】
そして、ステップＳ４に移り、管理サーバ２３の接続部７２が、その画面データのクライアント端末２２への転送を開始する。
【０１０６】
次いで、ステップＳ５に移り、クライアント端末２２の閾値要求部４６が管理サーバ２３に対して閾値を要求する。なお、ステップＳ５を実行するタイミングは、ステップＳ１の後であれば特に限定されず、ステップＳ４で画面の転送が開始する前にステップＳ５を実行してもよい。
【０１０７】
次に、ステップＳ６に移り、管理サーバ２３の閾値制御部７１が閾値を取得する。この例では、閾値制御部７１が記憶部５５の閾値情報６１（図７参照）を参照することにより、各フェーズ１〜３のそれぞれの閾値Tth1〜Tth3を取得する。
【０１０８】
その後に、ステップＳ７に移り、閾値制御部７１がクライアント端末２２に閾値Tth1〜Tth3を送信する。
【０１０９】
この時点では、前述のようにステップＳ３で仮想マシンVM1が画面データの生成を開始しており、クライアント端末２２の表示部２２ａには図３に示したログイン認証画面３３が表示されている。
【０１１０】
そこで、次のステップＳ８では、ログイン認証画面３３にログイン情報としてユーザ名とパスワードを入力する。この入力が完了すると、クライアント端末２２の接続要求部４３が、管理サーバ２３を介して仮想マシンVM1にログインを要求する。その要求には、利用者が入力したログイン情報も含まれる。
【０１１１】
そして、ステップＳ９に移り、管理サーバ２３の接続部７２が、その要求を仮想マシンVM1に転送する。
【０１１２】
次に、ステップＳ１０に移り、要求を受けた仮想マシンVM1がログイン処理を開始する。ログイン処理は、ログイン情報に含まれるユーザ名とパスワードとを照合する処理であり、ログインが完了するとクライアント端末２２が仮想マシンVM1に接続されることになる。
【０１１３】
また、仮想マシンVM1は、そのログイン処理の各フェーズに応じた画面を生成する。そのような画面としては、図３に示した「ようこそ」画面３４、黒画面３５、及びデスクトップ画面３６がある。これらの画面を表す画面データは、管理サーバ２３を介してクライアント端末２２に転送され、これらの画面が表示部２２ａに表示されることになる。また、これらの画面のうち、デスクトップ画面３６は、ステップＳ１０でログイン処理を実行した後であって、ログインに成功したときにステップＳ１６において生成される。
【０１１４】
次に、ステップＳ１１に移り、クライアント端末２２の画面取得部４７が、表示部２２ａに表示される画面を一定の時間間隔で取得する。なお、ステップＳ１１は、ステップＳ４の直後からステップＳ１６の実行が終了するまでの期間にわたって行われる。また、画面を取得する時間間隔は特に限定されず、適当な時間間隔で画面取得部４７が画面を取得する。
【０１１５】
次いで、ステップＳ１２に移り、クライアント端末２２の算出部４８が、表示部２２ａに表示された画面の実際の遷移時間を算出する。
【０１１６】
図１０は、このように算出した実際の遷移時間T1〜T3と、前述の閾値Tth1〜Tth3とを模式的に示す図である。
【０１１７】
図１０に示すように、閾値Tth1〜Tth3に対応して、フェーズ１〜３の各々の遷移時間T1〜T3がステップＳ１２で算出される。
再び図９を参照する。
【０１１８】
次に、ステップＳ１３に移り、実際の遷移時間T1〜T3と閾値Tth1〜Tth3とを用いて、クライアント端末２２の判断部４９が異常の判断処理を行う。
【０１１９】
この判断処理について図１１を参照しながら説明する。
【０１２０】
図１１は、ステップＳ１３における異常の判断処理を示すフローチャートである。
【０１２１】
なお、特に断らない限り、図１１の各ステップを実行する主体は判断部４９である。
【０１２２】
まず、ステップＳ２０において、フェーズ１における遷移時間T1が閾値Tth1を超えたか否かを判断する。ここで、超えた（ＹＥＳ）と判断された場合には、ステップＳ２１に移り、フラグ１をセットする。フラグ１は、フェーズ１において遷移時間T1が閾値Tth1を超えたことを示すフラグである。
【０１２３】
次に、ステップＳ２２に移り、フェーズ２における遷移時間T2が閾値Tth2を超えたか否かを判断する。この判断で超えた（ＹＥＳ）とされた場合には、ステップＳ２３に移り、フラグ２をセットする。そのフラグ２は、フェーズ２において遷移時間T2が閾値Tth2を超えたことを示すフラグである。
【０１２４】
次いで、ステップＳ２４に移り、フェーズ３における遷移時間T3が閾値Tth3を超えたか否かを判断する。ここで、超えた（ＹＥＳ）と判断された場合には、ステップＳ２５に移り、フラグ３をセットする。フラグ３は、フェーズ３において遷移時間T3が閾値Tth3を超えたことを示すフラグである。
【０１２５】
以上により、判断部４９による異常の判断処理を終える。
【０１２６】
その判断処理においては、ステップＳ２０、Ｓ２２、Ｓ２４を実行することにより、クライアント端末２２が仮想マシンVM1にログインを要求したときの画面の遷移時間が閾値を超えているかが判断部４９によって判断される。
【０１２７】
図１２は、この判断処理で得られた判断結果rsltを模式的に示す図である。
【０１２８】
判断結果rsltは、実際の遷移時間T1〜T3を格納するフィールドと、前述のフラグ１〜３をセットするフィールドとを備えたデータ構造である。これらのうち、遷移時間T1〜T3は、ステップＳ１２の実行時に算出部４８によって格納される。また、フラグ１〜３は、ステップＳ２１、Ｓ２３、Ｓ２５の各実行時に判断部４９によってセットされる。
【０１２９】
図１２においては、フェーズ２とフェーズ３の各々において遷移時間が閾値を超えた場合を例示しており、フラグ２とフラグ３の両方がセットされている。
【０１３０】
本実施形態では、図１１の処理において３回の画面遷移の各々について遷移時間が閾値を超えたかどうかを判断する。そのため、図１２の判断結果rsltにおける各フラグ１〜３を参照することにより、ログイン処理のどの段階で異常が発生したのかを管理者が特定することができる。
再び図９を参照する。
【０１３１】
ステップＳ１３において異常の判断処理を行った後は、ステップＳ１４に移り、クライアント端末２２の送信部５０が判断結果rslt（図１２参照）を管理サーバ２３に送信する。
【０１３２】
次に、ステップＳ１５に移り、管理サーバ２３がログ転送処理を行う。
【０１３３】
このログ転送処理について図１３（ａ）を参照しながら説明する。
【０１３４】
図１３（ａ）は、ステップＳ１５のログ転送処理を管理サーバ２３が行うときのフローチャートである。
【０１３５】
まず、ステップＳ３０において、転送処理部７４が、判断結果rslt（図１２参照）にセットされているフラグの数が１以上か否かを判断する。
【０１３６】
ここで、フラグの数は１以上ではない（ＮＯ）と判断された場合には、複数の画面遷移の全ての遷移時間が閾値以下であるということになり、ログオンストームは発生していないと推定される。よって、この場合にはログ３８の転送を行わずに処理を終える。
【０１３７】
一方、フラグの数は１以上である（ＹＥＳ）と判断された場合には、仮想マシンVM1においてログオンストームが発生していた可能性が高い。そこで、この場合には、以下のようにして転送処理部７４が仮想マシンVM1のログ３８を記憶装置２４に転送する。
【０１３８】
まず、ステップＳ３１において、仮想マシン特定部７３が、判断結果rslt（図１２参照）を送信してきたクライアント端末２２がログインしている仮想マシンVM1を特定する。仮想マシンVM1を特定するに際し、仮想マシン特定部７３は、対応情報６３を参照する。前述のように、対応情報６３は、クライアント端末２２とそれがログインしている仮想マシンVM1〜VM3との対応関係を示す情報である。また、判断結果rsltの送信時にクライアント端末２２は自装置を識別するIDを送信する。よって、対応情報６３を参照することにより、仮想マシン特定部７３は、判断結果rsltを送信したクライアント端末２２がログインしている仮想マシンVM1を特定することができる。
【０１３９】
次に、ステップＳ３２に移り、転送処理部７４が仮想マシンVM1にログの転送を要求する。
【０１４０】
その要求を受けたときに仮想マシンVM1が行う処理について図１３（ｂ）を参照しながら説明する。
【０１４１】
図１３（ｂ）は、ステップＳ３２の要求を受けた仮想マシンVM1が行う処理について示すフローチャートである。
【０１４２】
まず、ステップＳ３３において、仮想マシンVM1のログ取得部７８がゲストOSやアプリのログ３８（図４参照）を取得する。
【０１４３】
そして、ステップＳ３４に移り、ログ取得部７８がログ３８を記憶装置２４に転送する。
【０１４４】
記憶装置２４はVDIの管理者の管理下にあり、管理者が明示的にログ３８の削除を記憶装置２４に指示しない限り、記憶装置２４はログ３８を保管し続ける。よって、管理者がログオンストームの発生原因を調査しようとしたときにログ３８が削除されているという事態を回避でき、ログオンストームの発生原因の調査にログ３８を役立てることができる。
【０１４５】
以上により、本実施形態に係るログの転送方法の基本ステップを終了する。
【０１４６】
以上説明した本実施形態によれば、ステップＳ１５においてログ３８を記憶装置２４に転送する。そのため、各仮想マシンVM1〜VM3がログ３８を消去する前に記憶装置２４にログ３８を保管することができ、ログ３８を用いてログオンストームが発生した原因を調査することができる。
【０１４７】
更に、全仮想マシンVM1〜VM3のログ３８を記憶装置２４に転送せずに、フラグ１〜３（図１２参照）いずれかがセットされた判断結果rsltを送信した仮想マシンのログ３８のみを記憶装置２４に転送する。
【０１４８】
これにより、多量のログ３８によって記憶装置２４の容量が消費されたり、転送時に第１のネットワーク２５（図２参照）のトラフィックが混雑したりするのを防止できるという技術的効果が得られる。
【０１４９】
しかも、ステップＳ１３においては、画面の遷移時間の閾値Tth1〜Tth3（図７参照）を基準にしてログオンストームの発生を推定する。そのため、クライアント端末２２の表示部２２ａを見ている利用者の感覚に近い基準でログオンストームが発生しているかどうかを判断することができる。
【０１５０】
以上、本実施形態について詳細に説明したが、本実施形態は上記に限定されない。
【０１５１】
例えば、上記では遷移時間の閾値Tth1〜Tth3を固定値としたが、以下の各変形例のように時間帯や利用者の人数によって閾値Tth1〜Tth3を変更し、VDIの利用状況を加味して柔軟にログオンストームの発生を推定してもよい。
【０１５２】
・第１変形例
図１４は、第１変形例で使用する閾値情報６１を模式的に示す図である。
【０１５３】
図１４に示すように、その閾値情報６１は、時間帯ごとの閾値を示す情報である。そして、本変形例では、この閾値情報６１を参照することにより、ステップＳ８のログイン要求が発生した時間帯に応じて異なる値の閾値Tth1〜Tth3を利用する。
【０１５４】
クライアント端末２２が仮想マシンVM1〜VM3にログインするのに要する時間は、ログイン要求が発生した時刻によって変動する。例えば、複数のクライアント端末２２からのアクセスが物理サーバ２１に集中している時間帯ではログインに要する時間が長くなり、逆にアクセスが少ない時間帯では短くなる傾向がある。
【０１５５】
よって、アクセスの集中によってそもそもログインが遅延する可能性がある時間帯では閾値Tth1〜Tth3を長めに設定することにより、ログオンストームが発生していると誤って判断してしまうのを防止できる。
【０１５６】
図１４の例では、会社の始業時でログイン要求が集中する午前の時間帯（８：００〜１０：００）における閾値Tth1〜Tth3を他の時間帯よりも長くし、ログオンストームが発生していると誤認してしまうのを防止している。
【０１５７】
一方、アクセスが集中しておらず速やかなログインが期待できる時間帯では閾値Tth1〜Tth3を短めに設定することで、ログオンストームがない速やかなログインとログオンストームの発生とを切り分けることができる。これを考慮して、図１４の例では、仮想マシンVM1〜VM3を利用する利用者が少ない深夜から早朝の時間帯（２２：００〜７：００）では他の時間帯よりも閾値Tth1〜Tth3を短くしている。
【０１５８】
図１５は、本変形例に係る閾値情報６１を利用する場合に、図９のステップＳ６で閾値を取得する処理を示すフローチャートである。
【０１５９】
まず、ステップＳ３６において、管理サーバ２３の閾値制御部７１が、仮想マシンVM1にログインを要求した時刻として現在時刻T0を取得する。
【０１６０】
次に、ステップＳ３７に移り、閾値制御部７１が、現在時刻T0が属する時間帯における閾値Tth1〜Tth3を閾値情報６１から取得する。
【０１６１】
以上により、時間帯に応じて異なる値の閾値Tth1〜Tth3を閾値制御部７１が取得できる。
【０１６２】
なお、図１４の例では各時間帯における閾値Tth1〜Tth3を固定値としているが、これを更に動的に変更してもよい。この場合は、図９のステップＳ１５におけるログ転送処理を以下のように行えばよい。
【０１６３】
図１６は、本変形例に係るログ転送処理を示すフローチャートである。
【０１６４】
なお、図１６において、図１３で説明したのと同じステップには同じ符号を付し、以下ではその説明を省略する。
【０１６５】
まず、ステップＳ３０において、管理サーバ２３の転送処理部７４が、判断結果rslt（図１２参照）にセットされているフラグの数が１以上か否かを判断する。
【０１６６】
ここで、フラグの数は１以上である（ＹＥＳ）と判断された場合の各ステップは図１２（ａ）におけるのと同じであるためその説明は省略する。
【０１６７】
一方、フラグの数は１以上ではない（ＮＯ）と判断された場合にはステップＳ４０に移る。
【０１６８】
ステップＳ４０では、管理サーバ２３の閾値制御部７１が閾値Tth1〜Tth3を時間帯ごとに再計算する。
【０１６９】
例えば、８：００〜１０：００の時間帯において１００台のクライアント端末２２からログイン要求があり、そのうちの８０台でログオンストームの発生がなく、残りの２０台でログオンストームが発生したとする。このような状況では、８０台のクライアント端末２２の各々において実際の画面の遷移時間T1〜T3が閾値Tth1〜Tth3を超えておらず、これらのクライアント端末２２は仮想マシンに正常にログインできていることになる。
【０１７０】
この場合は、閾値制御部７１が、ログオンストームの発生がない８０台の実際の遷移時間T1〜T3の各々の平均時間TAVE_1〜TAVE_3を求める。
【０１７１】
なお、ログオンストームの発生の有無や遷移時間T1〜T3は、図１２の判断結果rsltから閾値制御部７１が取得することができる。
【０１７２】
そして、ステップＳ４１に移り、閾値制御部７１が、閾値情報６１を書き換えることにより、次の時間帯（１０：００〜１６：００）の閾値Tth1〜Tth3を上記の平均時間TAVE_1〜TAVE_3に更新する。
【０１７３】
以上により、本変形例に係るログ転送処理を終える。
【０１７４】
このように前の時間帯で正常にログインしたクライアント端末２２の遷移時間T1〜T3の平均時間TAVE_1〜TAVE_3を次の時間帯の閾値Tth1〜Tth3とすることで、アクセスの混雑度を反映した閾値Tth1〜Tth3を設定することができる。
【０１７５】
・第２変形例
第１変形例では時間帯により閾値Tth1〜Tth3を変えたが、本変形例では利用者の人数により閾値Tth1〜Tth3を変える。
【０１７６】
図１７は、第２変形例で使用する閾値情報６１を模式的に示す図である。
【０１７７】
この閾値情報６１における「人数」は、ある時点で複数の仮想マシンの各々を現に利用している利用者の人数である。VDIではストレージデバイスやファイルを各々の利用者が共有しているため、利用者の人数が多いほどログインに要する時間が長くなる傾向がある。
【０１７８】
よって、図１７のように人数が多いほど閾値Tth1〜Tth3を長くすることで、利用者の集中によってそもそもログインが遅延する可能性がある場合にログオンストームが発生していると誤って判断してしまうのを防止できる。
【０１７９】
図１８は、本変形例に係る閾値情報６１を利用する場合に、図９のステップＳ６で閾値を取得する処理を示すフローチャートである。
【０１８０】
まず、ステップＳ４５において、管理サーバ２３の閾値制御部７１が、クライアント端末２２が仮想マシンVM1にログインを要求したときに各仮想マシンVM1〜VM3を利用している人数Nを特定する。人数Nは、閾値制御部７１が利用者人数情報６２を参照することで特定し得る。
【０１８１】
次に、ステップＳ４６に移り、閾値制御部７１が閾値情報６１を参照し、人数Nに対応した閾値Tth1〜Tth3を取得する。
【０１８２】
以上により、利用者の人数に応じて異なる値の閾値Tth1〜Tth3を閾値制御部７１が取得できる。
【０１８３】
＜ハードウェア構成＞
次に、物理サーバ２１、クライアント端末２２、及び管理サーバ２３のそれぞれのハードウェア構成について説明する。
【０１８４】
図１９は、物理サーバ２１のハードウェア構成図である。
【０１８５】
図１９に示すように、物理サーバ２１は、記憶部８０、メモリ８１、プロセッサ８２、及びネットワークインターフェース８３を有する。これらの各部は、バス８７により相互に接続される。
【０１８６】
このうち、記憶部８０は、HDDやSSDの不揮発性のストレージデバイスであり、仮想マシンVM1〜VM3を作成するための仮想マシン作成プログラム８８と、前述のログ取得プログラム３９とを記憶する。
【０１８７】
なお、ログ取得プログラム３９と仮想マシン作成プログラム８８とをコンピュータが読み取り可能な記録媒体８６に記録させておき、プロセッサ８２に記録媒体８６の各プログラムを読み取らせるようにしてもよい。
【０１８８】
そのような記録媒体８６としては、例えばCD-ROM(Compact Disc - Read Only Memory)、DVD(Digital Versatile Disc)、及びUSB(Universal Serial Bus)メモリ等の物理的な可搬型記録媒体がある。また、フラッシュメモリ等の半導体メモリやハードディスクドライブを記録媒体８６として使用してもよい。これらの記録媒体８６は、物理的な形態を持たない搬送波のような一時的な媒体ではない。
【０１８９】
更に、公衆回線、インターネット、及びLAN等に接続された装置にログ取得プログラム３９と仮想マシン作成プログラム８８とを記憶させておき、プロセッサ８２がこれらのプログラムを読み出して実行するようにしてもよい。
【０１９０】
一方、メモリ８１は、DRAM等のようにデータを一時的に記憶するハードウェアであって、その上に前述のログ取得プログラム３９と仮想マシン作成プログラム８８が展開される。
【０１９１】
プロセッサ８２は、物理サーバ２１の各部を制御したり、メモリ８１と協働してログ取得プログラム３９と仮想マシン作成プログラム８８を実行したりするCPU(Central Processing Unit)等のハードウェアである。
【０１９２】
このようにメモリ８１とプロセッサ８２とが協同してログ取得プログラム３９を実行することにより、前述のログ取得部７８（図８参照）の機能が実現される。また、メモリ８１とプロセッサ８２とが協同して仮想マシン作成プログラム８８を実行することにより、前述の仮想マシン作成部７７の機能が実現される。
【０１９３】
また、ネットワークインターフェース８３は、物理サーバ２１を第１のネットワーク２５（図２参照）に接続するためのインターフェースである。
【０１９４】
次に、クライアント端末２２のハードウェア構成について説明する。
【０１９５】
図２０は、クライアント端末２２のハードウェア構成図である。
【０１９６】
図２０に示すように、クライアント端末２２は、表示部２２ａ、記憶部９０、メモリ９１、プロセッサ９２、入力部９３、及びネットワークインターフェース９４を有する。これらの各部は、バス９６により相互に接続される。
【０１９７】
このうち、表示部２２ａは、前述のように液晶ディスプレイであり、仮想マシンVM1〜VM3が生成した画面を表示する。
【０１９８】
また、記憶部９０は、HDDやSSDの不揮発性のストレージデバイスである。その記憶部９０には、前述の監視プログラム３１の他に、クライアント端末２２を各仮想マシンVM1〜VM3に接続するための接続プログラム９７が記憶される。
【０１９９】
なお、これらの監視プログラム３１と接続プログラム９７をコンピュータが読み取り可能な記録媒体９５に記録させておき、プロセッサ９２に記録媒体９５の各プログラムを読み取らせるようにしてもよい。
【０２００】
そのような記録媒体９５としては、例えばCD-ROM、DVD、及びUSBメモリ等の物理的な可搬型記録媒体がある。また、フラッシュメモリ等の半導体メモリやハードディスクドライブを記録媒体９５として使用してもよい。これらの記録媒体９５は、物理的な形態を持たない搬送波のような一時的な媒体ではない。
【０２０１】
更に、公衆回線、インターネット、及びLAN等に接続された装置に監視プログラム３１と接続プログラム９７を記憶させておき、プロセッサ９２がこれらのプログラムを読み出して実行するようにしてもよい。
【０２０２】
一方、メモリ９１は、DRAM等のようにデータを一時的に記憶するハードウェアであって、その上に前述の監視プログラム３１と接続プログラム９７が展開される。
【０２０３】
プロセッサ９２は、クライアント端末２２の各部を制御したり、メモリ９１と協働して監視プログラム３１と接続プログラム９７を実行したりするCPU等のハードウェアである。
【０２０４】
このようにメモリ９１とプロセッサ９２とが協同して監視プログラム３１を実行することにより、前述の監視部４２（図５参照）の機能が実現される。また、メモリ９１とプロセッサ９２とが協同して接続プログラム９７を実行することにより、前述の接続部４１（図５参照）の機能が実現される。
【０２０５】
入力部９３は、クライアント端末２２の利用者が使用するキーボードやマウス等の入力デバイスである。
【０２０６】
そして、ネットワークインターフェース９４は、クライアント端末２２を第２のネットワーク２６（図２参照）に接続するためのインターフェースである。
【０２０７】
次に、管理サーバ２３のハードウェア構成について説明する。
【０２０８】
図２１は、管理サーバ２３のハードウェア構成図である。
【０２０９】
図２１に示すように、管理サーバ２３は、表示部７５、記憶部１００、メモリ１０１、プロセッサ１０２、入力部１０３、及びネットワークインターフェース１０４を有する。これらの各部は、バス１０６により相互に接続される。
【０２１０】
このうち、表示部７５は液晶ディスプレイであり、前述のアラート画面２９（図４参照）を表示する。
【０２１１】
また、記憶部１００は、HDDやSSDの不揮発性のストレージデバイスである。その記憶部１００には、前述の管理プログラム３２が記憶される。
【０２１２】
なお、その管理プログラム３２をコンピュータが読み取り可能な記録媒体１０５に記録させておき、プロセッサ１０２に記録媒体１０５の管理プログラム３２を読み取らせるようにしてもよい。
【０２１３】
そのような記録媒体１０５としては、例えばCD-ROM、DVD、及びUSBメモリ等の物理的な可搬型記録媒体がある。また、フラッシュメモリ等の半導体メモリやハードディスクドライブを記録媒体１０５として使用してもよい。これらの記録媒体１０５は、物理的な形態を持たない搬送波のような一時的な媒体ではない。
【０２１４】
更に、公衆回線、インターネット、及びLAN等に接続された装置に管理プログラム３２を記憶させておき、プロセッサ１０２が管理プログラム３２を読み出して実行するようにしてもよい。
【０２１５】
一方、メモリ１０１は、DRAM等のようにデータを一時的に記憶するハードウェアであって、その上に前述の管理プログラム３２が展開される。
【０２１６】
なお、メモリ１０１や記憶部１００により、図６のように閾値情報６１、利用者人数情報６２、及び対応情報６３の各情報を記憶する記憶部５５の機能が実現される。
【０２１７】
プロセッサ１０２は、管理サーバ２３の各部を制御したり、メモリ１０１と協働して管理プログラム３２を実行したりするCPU等のハードウェアである。
【０２１８】
このようにメモリ１０１とプロセッサ１０２とが協同して管理プログラム３２を実行することにより、前述の管理部５６（図６参照）の機能が実現される。
【０２１９】
また、入力部１０３は、VDIの管理者が使用するキーボードやマウス等の入力デバイスである。
【０２２０】
そして、ネットワークインターフェース１０４は、管理サーバ２３を第１のネットワーク２５（図２参照）と第２のネットワーク２６の各々に接続するためのインターフェースである。
【０２２１】
以上説明した各実施形態に関し、更に以下の付記を開示する。
（付記１）  第１の計算機、第２の計算機、第３の計算機、及び記憶装置を備えた計算機システムであって、
前記第１の計算機は、
仮想マシンを作成する仮想マシン作成部と、
前記仮想マシンのログを取得するログ取得部とを有し、
前記第２の計算機は、
前記第３の計算機を介して前記仮想マシンにログインを要求したときの画面の遷移時間が閾値を超えているかを判断する判断部を有し、
前記第３の計算機は、
前記遷移時間が前記閾値を超えたと判断された場合には前記ログ取得部から前記記憶装置に前記ログを転送する処理をし、前記遷移時間が前記閾値を超えていないと判断された場合には前記ログを前記記憶装置に転送しない処理をする転送処理部を有する、
ことを特徴とする計算機システム。
（付記２）  前記閾値は、前記ログインを要求した時間帯によって異なることを特徴とする付記１に記載の計算機システム。
（付記３）  前記第３の計算機は、
前記時間帯ごとの前記閾値を示す閾値情報を記憶する記憶部と、
前記時間帯において前記閾値を超えなかった前記遷移時間の平均時間を算出し、前記閾値情報における次の前記時間帯の前記閾値を前記平均時間に更新する閾値制御部とを有することを特徴とする付記２に記載の計算機システム。
（付記４）  前記仮想マシン作成部は、前記仮想マシンを複数作成し、
前記閾値は、前記ログインを要求したときに複数の前記仮想マシンの各々を利用している利用者の人数によって異なることを特徴とする付記１に記載の計算機システム。
（付記５）  前記画面が複数回遷移すると共に、前記閾値が複数回の前記遷移ごとに設定され、
前記判断部は、複数回の前記遷移の各々について、前記遷移時間が前記閾値を超えたかどうかを判断することを特徴とする付記１に記載の計算機システム。
（付記６）  第１の計算機で作成された仮想マシンに、第２の計算機が第３の計算機を介してログインを要求したときの画面の遷移時間が閾値を超えた場合には前記仮想マシンのログを記憶装置に転送する処理をし、前記遷移時間が前記閾値を超えていない場合には前記ログを前記記憶装置に転送しない処理を前記第３の計算機に実行させるためのプログラム。
（付記７）  前記ログインを要求した時間帯によって異なる閾値を使用する処理を前記第３の計算機に実行させるための付記６に記載のプログラム。
（付記８）  前記時間帯において閾値を超えなかった前記遷移時間の平均時間を算出し、前記平均時間を次の前記時間帯の前記閾値とする処理を前記第３の計算機に実行させるための付記７に記載のプログラム。
（付記９）  前記第１の計算機に前記仮想マシンが複数作成され、前記ログインを要求したときに複数の前記仮想マシンの各々を利用している利用者の人数に応じて異なる閾値を使用する処理を前記第３の計算機に実行させるための付記６に記載のプログラム。
【符号の説明】
【０２２２】
１…計算機システム、２…クライアント端末、２ａ…表示部、３…ネットワーク、４…第１の物理サーバ、５…第２の物理サーバ、５ａ…定義ファイル、６…管理サーバ、７…スイッチ、８…第１の記憶装置、８ａ…ユーザプロファイル、９…第２の記憶装置、９ａ…データ、１１…データセンタ、２０…計算機システム、２１…物理サーバ、２２…クライアント端末、２２ａ…表示部、２３…管理サーバ、２４…記憶装置、２５…第１のネットワーク、２６…第２のネットワーク、２７…データセンタ、２９…アラート画面、３１…監視プログラム、３２…管理プログラム、３９…ログ取得プログラム、３３…ログイン認証画面、３８…ログ、３６…デスクトップ画面、４１…接続部、４２…監視部、４３…接続要求部、４４…送受信部、４６…閾値要求部、４７…画面取得部、４８…算出部、４９…判断部、５０…送信部、５５…記憶部、５６…管理部、５７…表示部、６１…閾値情報、６２…利用者人数情報、６３…対応情報、７１…閾値制御部、７２…接続部、７３…仮想マシン特定部、７４…転送処理部、７５…表示部、７７…仮想マシン作成部、７８…ログ取得部、８０、９０、１００…記憶部、８１、９１、１０１…メモリ、８２、９２、１０２…プロセッサ、８３、９４、１０４…ネットワークインターフェース、８６、９５、１０５…記録媒体、８７、９６、１０６…バス、８８…仮想マシン作成プログラム、９３、１０３…入力部、９７…接続プログラム。
【図１】
2020126457.tif 000003
【図２】
2020126457.tif 000004
【図３】
2020126457.tif 000005
【図４】
2020126457.tif 000006
【図５】
2020126457.tif 000007
【図６】
2020126457.tif 000008
【図７】
2020126457.tif 000009
【図８】
2020126457.tif 000010
【図９】
2020126457.tif 000011
【図１０】
2020126457.tif 000012
【図１１】
2020126457.tif 000013
【図１２】
2020126457.tif 000014
【図１３】
2020126457.tif 000015
【図１４】
2020126457.tif 000016
【図１５】
2020126457.tif 000017
【図１６】
2020126457.tif 000018
【図１７】
2020126457.tif 000019
【図１８】
2020126457.tif 000020
【図１９】
2020126457.tif 000021
【図２０】
2020126457.tif 000022
【図２１】
2020126457.tif 000023