(57)【特許請求の範囲】
【請求項１】
シンクライアント端末と、接続管理装置と、１つ以上の仮想マシンが動作する仮想マシン稼働装置と、ユーザプロファイル格納装置とを備えたシンクライアントシステムであって、
前記シンクライアント端末は、前記シンクライアントシステムにログオンを要求するユーザを表す情報を取得すると前記接続管理装置に送信し、前記接続管理装置から通知される情報の示す仮想マシンに自装置を接続して前記ユーザをログオンさせ、
前記ユーザプロファイル格納装置は、前記シンクライアントシステムのユーザ毎にユーザプロファイルを格納し、
前記接続管理装置は、
前記各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記各ユーザについて有効なユーザプロファイルを保持している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択する仮想マシン選択部と、
前記シンクライアントシステムにログオンを要求するユーザを表す情報を前記シンクライアント端末から取得すると、前記仮想マシン選択部によって選択される仮想マシンを表す情報を前記シンクライアント端末に通知するとともに、前記ユーザの前記仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新するユーザセッション管理部と、
を有し、
前記仮想マシンは、
自装置にログオンしたユーザの有効なユーザプロファイルを、自装置上または前記ユーザプロファイル格納装置から取得し、前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保持しておくとともに前記ユーザプロファイル格納装置に格納するユーザプロファイル管理部と、
自装置に対するユーザの接続状態を監視して前記接続管理装置に通知するユーザ接続監視部と、
を有するシンクライアントシステム。
【請求項２】
前記接続管理装置において、
前記ユーザセッション管理部は、不要なユーザプロファイルの削除要求対象となる仮想マシンについて、該仮想マシン上に保持されている有効なユーザプロファイルのユーザを前記有効プロファイル所在情報を参照することにより特定し、特定したユーザを、ユーザプロファイルの削除対象から除外する除外ユーザとして通知しながら、前記削除要求対象の仮想マシンに対して不要なユーザプロファイルの削除を要求し、
前記削除要求対象の仮想マシンにおいて、
前記ユーザプロファイル管理部は、自装置にログオン中のユーザ、ログオン要求中のユーザおよび前記除外ユーザのユーザプロファイル以外の不要なユーザプロファイルを削除することを特徴とする請求項１に記載のシンクライアントシステム。
【請求項３】
前記接続管理装置において、
前記ユーザセッション管理部は、前記ユーザによるログオンの要求に基づくタイミングで、前記仮想マシン選択部によって選択された仮想マシンを前記削除要求対象として、該仮想マシンに対して前記除外ユーザを通知しながら不要なユーザプロファイルの削除を要求することを特徴とする請求項２に記載のシンクライアントシステム。
【請求項４】
前記接続管理装置において、
前記ユーザセッション管理部は、前記ユーザによるログオフに基づくタイミングで、該ユーザがログオンしていた仮想マシンを前記削除要求対象として、該仮想マシンに対して前記除外ユーザを通知しながら不要なユーザプロファイルの削除を要求することを特徴とする請求項２または請求項３に記載のシンクライアントシステム。
【請求項５】
前記接続管理装置において、
前記ユーザセッション管理部は、任意のタイミングで、その時点で利用可能な仮想マシンを前記削除要求対象として、該仮想マシンに対して前記除外ユーザを通知しながら不要なユーザプロファイルの削除を要求することを特徴とする請求項２から請求項４のいずれか１つに記載のシンクライアントシステム。
【請求項６】
前記接続管理装置において、
前記仮想マシン選択部は、前記利用状況情報を参照することにより利用可能な仮想マシンを抽出し、抽出した利用可能な仮想マシンのうち、ログオンを要求するユーザについて有効なユーザプロファイルを保持する仮想マシンを、前記有効プロファイル所在情報を参照することにより選択することを特徴とする請求項１から請求項５のいずれか１つに記載のシンクライアントシステム。
【請求項７】
シンクライアントシステムにログオンを要求するユーザを表す情報をシンクライアント端末から取得するユーザセッション管理部と、
前記ユーザを表す情報を取得すると、仮想マシン稼働装置上で動作する各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保持している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択する仮想マシン選択部と、
を備え、
前記ユーザセッション管理部は、選択した仮想マシンを表す情報を前記シンクライアント端末に通知することにより前記シンクライアント端末を該仮想マシンに接続して前記ユーザをログオンさせ、前記ユーザの該仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新する
接続管理装置。
【請求項８】
シンクライアント端末が、シンクライアントシステムにログオンを要求するユーザを表す情報を取得すると接続管理装置に送信し、
前記接続管理装置が、前記シンクライアントシステムにログオンを要求するユーザを表す情報を前記シンクライアント端末から取得すると、仮想マシン稼働装置上で動作する各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保持している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択し、選択した仮想マシンを表す情報を前記シンクライアント端末に通知し、
前記シンクライアント端末が、前記接続管理装置から通知される情報の示す仮想マシンに自装置を接続して前記ユーザをログオンさせ、
前記仮想マシンが、自装置にログオンしたユーザの有効なユーザプロファイルを、自装置上またはユーザプロファイル格納装置から取得し、前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保持しておくとともに前記ユーザプロファイル格納装置に格納し、
前記仮想マシンが、自装置にログオンするユーザの接続状態を監視して前記接続管理装置に通知し、
前記接続管理装置が、前記ユーザの前記仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新する方法。
【請求項９】
シンクライアントシステムにログオンを要求するユーザを表す情報をシンクライアント端末から取得すると、
仮想マシン稼働装置上で動作する各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保持している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択し、選択した仮想マシンを表す情報を前記シンクライアント端末に通知することにより前記シンクライアント端末を該仮想マシンに接続して前記ユーザをログオンさせ、
前記ユーザの該仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新する方法。
【請求項１０】
シンクライアント端末および仮想マシン稼働装置上で動作する仮想マシンの接続を管理する接続管理装置に、
シンクライアントシステムにログオンを要求するユーザを表す情報を前記シンクライアント端末から取得するユーザ情報取得ステップと、
前記各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保持している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択する仮想マシン選択ステップと、
前記仮想マシン選択ステップで選択された仮想マシンを表す情報を前記シンクライアント端末に通知することにより前記シンクライアント端末を該仮想マシンに接続して前記ユーザをログオンさせる接続制御ステップと、
前記ユーザの該仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新する更新ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンを利用したシンクライアントシステムに関する。
【背景技術】
【０００２】
近年、仮想マシンを利用したシンクライアントシステムが普及しつつある。このようなシンクライアントシステムは、ユーザ数より少ない仮想マシンを複数のユーザが共有する形で運用されることが多い。この場合、ユーザプロファイルは、移動ユーザプロファイルとして管理される。移動ユーザプロファイルは、ファイルサーバに格納され、ユーザのログオン時に、ファイルサーバからログオン先の仮想マシンにコピーされる。そして、移動ユーザプロファイルは、ユーザのログオフ時に、ログオン先の仮想マシンからファイルサーバにコピーされ、仮想マシン上からは削除される。このため、大規模なシンクライアントシステムでは、ログオン時の仮想マシンへのユーザプロファイルのコピー処理が多発するログオンストームが発生するという問題がある。
【０００３】
このような問題に関連する技術の一例が、特許文献１に記載されている。この関連技術は、各仮想マシンについて、直前の使用ユーザ名を示す情報を記録する。そして、この関連技術は、シンクライアント端末からユーザがログオンする際に、ログオンするユーザ名に対して直前の使用ユーザ名が一致する仮想マシンがあれば、その仮想マシンを選択してシンクライアント端末に配分する。このように、この関連技術は、各ユーザに対して、できるだけ前回使用した仮想マシンと同じ仮想マシンを配分する。各仮想マシンは、ユーザログオン時にコピーされたユーザプロファイルをログオフ時に削除しないでおけば、再度同一のユーザがログオンするときに、仮想マシン上のユーザプロファイルを再利用できる。
【０００４】
また、このような問題に関連する技術の他の一例が、特許文献２に記載されている。この関連技術は、移動ユーザプロファイルをレイヤで管理する。より上位のレイヤが、より最近アクサスされたデータを含むよう構成される。そして、この関連技術は、ユーザのログオン時に、ファイルサーバから仮想マシンへ、最上位レイヤから順に移動ユーザプロファイルを転送する。ここで、移動ユーザプロファイルのうちログオン時に必要となるデータは、最近アクセスされたデータであり、最上位レイヤに存在する。そこで、仮想マシンは、最上位レイヤを受け取った時点で、ログオン手続を完了する。これにより、この関連技術は、ログオン時に転送される移動ユーザプロファイルのうち、ログオン手続完了までに転送が必要となるデータの容量を削減する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１７４９４５号公報
【特許文献２】特開２０１３−１６１８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１〜２に記載された関連技術には、以下の課題がある。
【０００７】
特許文献１に記載された関連技術は、ログオンするユーザ名に対して直前の使用ユーザ名が一致する仮想マシンが無い場合、他の基準により直前の使用ユーザ名が一致しない仮想マシンを選択してそのユーザに配分する。このため、あるユーザに直近に配分された仮想マシンが、そのユーザが次回ログオンするより前に他のユーザに配分されることもあり得る。その場合、この関連技術は、その仮想マシンの直前の使用ユーザ名を、あるユーザから他のユーザに書き換える。すると、この関連技術は、あるユーザが次回ログオンする際に、そのユーザに直近に配分された仮想マシンを特定することができない。その結果、この関連技術では、そのようなユーザについて移動ユーザプロファイルをファイルサーバから転送する必要が生じる。
【０００８】
また、特許文献２に記載された関連技術は、ログオン手続完了時までにファイルサーバから仮想マシンへ転送が必要となるデータ量を減らすことができるものの、ログオン手続完了後に残りのレイヤを転送する必要がある。そのため、この関連技術は、ユーザのログオンに伴い、最終的には移動ユーザプロファイルを全て転送する必要がある。
【０００９】
このように、これらの関連技術は、ログオンストームの発生を充分に抑制できない。
【００１０】
本発明は、上述の課題を解決するためになされたものである。すなわち、本発明は、仮想マシンを利用したシンクライアントシステムにおいて、ログオンストームの発生をより充分に抑制する技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明のシンクライアントシステムは、シンクライアント端末と、接続管理装置と、１つ以上の仮想マシンが動作する仮想マシン稼働装置と、ユーザプロファイル格納装置とを備えたシンクライアントシステムであって、前記シンクライアント端末は、前記シンクライアントシステムにログオンを要求するユーザを表す情報を取得すると前記接続管理装置に送信し、前記接続管理装置から通知される情報の示す仮想マシンに自装置を接続して前記ユーザをログオンさせ、前記ユーザプロファイル格納装置は、前記シンクライアントシステムのユーザ毎にユーザプロファイルを格納し、前記接続管理装置は、前記各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記各ユーザについて有効なユーザプロファイルを保持している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択する仮想マシン選択部と、前記シンクライアントシステムにログオンを要求するユーザを表す情報を前記シンクライアント端末から取得すると、前記仮想マシン選択部によって選択される仮想マシンを表す情報を前記シンクライアント端末に通知するとともに、前記ユーザの前記仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新するユーザセッション管理部と、を有し、前記仮想マシンは、自装置にログオンしたユーザの有効なユーザプロファイルを、自装置上または前記ユーザプロファイル格納装置から取得し、前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保持しておくとともに前記ユーザプロファイル格納装置に格納するユーザプロファイル管理部と、自装置に対するユーザの接続状態を監視して前記接続管理装置に通知するユーザ接続監視部と、を有する。
【００１２】
また、本発明の接続管理装置は、上述のシンクライアントシステムにおける接続管理装置によって構成される。
【００１３】
また、本発明の仮想マシン稼働装置は、上述のシンクライアントシステムにおける仮想マシンが稼働する仮想マシン稼働装置によって構成される。
【００１４】
また、本発明の方法は、シンクライアント端末が、シンクライアントシステムにログオンを要求するユーザを表す情報を取得すると接続管理装置に送信し、前記接続管理装置が、前記シンクライアントシステムにログオンを要求するユーザを表す情報を前記シンクライアント端末から取得すると、仮想マシン稼働装置上で動作する各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保持している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択し、選択した仮想マシンを表す情報を前記シンクライアント端末に通知し、前記シンクライアント端末が、前記接続管理装置から通知される情報の示す仮想マシンに自装置を接続して前記ユーザをログオンさせ、前記仮想マシンが、自装置にログオンしたユーザの有効なユーザプロファイルを、自装置上またはユーザプロファイル格納装置から取得し、前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保持しておくとともに前記ユーザプロファイル格納装置に格納し、前記仮想マシンが、自装置にログオンするユーザの接続状態を監視して前記接続管理装置に通知し、前記接続管理装置が、前記ユーザの前記仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新する。
【００１５】
また、本発明の他の方法は、シンクライアントシステムにログオンを要求するユーザを表す情報を前記シンクライアント端末から取得すると、仮想マシン稼働装置上で動作する各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保持している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択し、選択した仮想マシンを表す情報を前記シンクライアント端末に通知することにより前記シンクライアント端末を該仮想マシンに接続して前記ユーザをログオンさせ、前記ユーザの該仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新する。
【００１６】
また、本発明のさらに他の方法は、仮想マシン稼働装置上で動作する仮想マシンが、シンクライアント端末からの接続によりログオンさせたユーザの有効なユーザプロファイルを、自装置上または前記ユーザプロファイル格納装置から取得し、前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保持しておくとともに前記ユーザプロファイル格納装置に格納し、自装置に対するユーザの接続状態を監視して上述の方法を実行する装置に通知する。
【００１７】
また、本発明のプログラムは、シンクライアント端末および仮想マシン稼働装置上で動作する仮想マシンの接続を管理する接続管理装置に、シンクライアントシステムにログオンを要求するユーザを表す情報を前記シンクライアント端末から取得するユーザ情報取得ステップと、前記各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保持している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択する仮想マシン選択ステップと、前記仮想マシン選択ステップで選択された仮想マシンを表す情報を前記シンクライアント端末に通知することにより前記シンクライアント端末を該仮想マシンに接続して前記ユーザをログオンさせる接続制御ステップと、前記ユーザの該仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新する更新ステップと、を実行させる。
【００１８】
また、本発明の他のプログラムは、仮想マシン稼働装置上で動作する仮想マシンに、シンクライアント端末からの接続によりログオンさせたユーザの有効なユーザプロファイルを、自装置上または前記ユーザプロファイル格納装置から取得するユーザプロファイル取得ステップと、前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保持しておくとともに前記ユーザプロファイル格納装置に格納するユーザプロファイル格納ステップと、自装置に対するユーザの接続状態を監視して上述のプログラムを実行する装置に通知する接続監視ステップと、を実行させる。
【発明の効果】
【００１９】
本発明は、仮想マシンを利用したシンクライアントシステムにおいて、ログオンストームの発生をより充分に抑制する技術を提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施の形態としてのシンクライアントシステムの構成を示すブロック図である。
【図２】本発明の第１の実施の形態としてのシンクライアントシステムのハードウェア構成の一例を示す図である。
【図３】本発明の第１の実施の形態としてのシンクライアントシステムの接続制御動作を説明するフローチャートである。
【図４】本発明の第１の実施の形態としてのシンクライアントシステムの利用状況情報および有効プロファイル所在情報の更新動作を説明するフローチャートである。
【図５】本発明の第２の実施の形態としてのシンクライアントシステムの構成を示すブロック図である。
【図６】本発明の第２の実施の形態におけるユーザ情報の一例を説明する図である。
【図７】本発明の第２の実施の形態における利用状況情報の一例を説明する図である。
【図８】本発明の第２の実施の形態における有効プロファイル所在情報の一例を説明する図である。
【図９】本発明の第２の実施の形態におけるグループ設定情報の一例を説明する図である。
【図１０】本発明の第２の実施の形態としてのシンクライアントシステムの接続制御動作を説明するフローチャートである。
【図１１】本発明の第２の実施の形態としてのシンクライアントシステムの仮想マシン選択動作の詳細を説明するフローチャートである。
【図１２】本発明の第２の実施の形態としてのシンクライアントシステムの不要なユーザプロファイルの削除要求動作の詳細を説明するフローチャートである。
【図１３】本発明の第２の実施の形態としてのシンクライアントシステムの不要なユーザプロファイルの削除動作の詳細を説明するフローチャートである。
【図１４】本発明の第２の実施の形態の具体例における利用状況情報を説明する図である。
【図１５】本発明の第２の実施の形態の具体例における有効プロファイル所在情報を説明する図である。
【図１６】本発明の第２の実施の形態の具体例において更新された利用状況情報を説明する図である。
【図１７】本発明の第２の実施の形態の具体例において更新された有効プロファイル所在情報を説明する図である。
【図１８】本発明の第２の実施の形態の具体例においてさらに更新された利用状況情報を説明する図である。
【図１９】本発明の第２の実施の形態の具体例においてさらに更新された有効プロファイル所在情報を説明する図である。
【図２０】本発明の第２の実施の形態の具体例においてさらに更新された利用状況情報を説明する図である。
【図２１】本発明の第２の実施の形態の具体例においてさらに更新された有効プロファイル所在情報を説明する図である。
【図２２】本発明の第３の実施の形態としてのシンクライアントシステムの構成を示すブロック図である。
【図２３】本発明の第３の実施の形態としてのシンクライアントシステムの接続制御動作を説明するフローチャートである。
【図２４】本発明の第３の実施の形態としてのシンクライアントシステムの利用状況情報および有効プロファイル所在情報の更新動作ならびに不要なユーザプロファイルの削除要求動作を説明するフローチャートである。
【図２５】本発明の第４の実施の形態としてのシンクライアントシステムの構成を示すブロック図である。
【図２６】本発明の第４の実施の形態としてのシンクライアントシステムの不要なユーザプロファイル削除動作の概略を説明するフローチャートである。
【図２７】本発明の第４の実施の形態としてのシンクライアントシステムの不要なユーザプロファイルの削除要求動作の詳細を説明するフローチャートである。
【図２８】本発明の第４の実施の形態としてのシンクライアントシステムの不要なユーザプロファイルの削除動作の詳細を説明するフローチャートである。
【図２９】本発明の第４の実施の形態の具体例における利用状況情報を説明する図である。
【図３０】本発明の第４の実施の形態の具体例における有効プロファイル所在情報を説明する図である。
【図３１】本発明の第４の実施の形態の具体例において更新された有効プロファイル所在情報を説明する図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００２２】
（第１の実施の形態）
本発明の第１の実施の形態としてのシンクライアントシステム１の構成を図１に示す。図１において、シンクライアントシステム１は、１つ以上のシンクライアント端末１１０と、接続管理装置１０と、仮想マシン稼働装置２０と、ユーザプロファイル格納装置２１０とを備える。また、仮想マシン稼働装置２０上では、１つ以上の仮想マシン２１が動作する。各装置は、ネットワークを介して通信可能に接続されている。なお、図１には、４つのシンクライアント端末１１０を示したが、本発明のシンクライアントシステムが含むシンクライアント端末の数を限定するものではない。また、図１には、仮想マシン稼働装置２０および仮想マシン２１を２つずつ示したが、本発明のシンクライアントシステムが含む仮想マシン稼働装置数、１つの仮想マシン稼働装置上で動作する仮想マシン数、および、仮想マシンの合計数を限定するものではない。
【００２３】
ここで、シンクライアントシステム１のハードウェア構成の一例を図２に示す。図２において、シンクライアント端末１１０は、ＣＰＵ（Central Processing Unit）１００１、メモリ１００２、出力装置１００３、入力装置１００４、および、ネットワークインタフェース１００５を含むコンピュータ装置によって構成可能である。メモリ１００２は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、補助記憶装置（ハードディスク等）等によって構成される。出力装置１００３は、ディスプレイ装置やプリンタ等のように、情報を出力する装置によって構成される。入力装置１００４は、キーボードやマウス等のように、ユーザ操作の入力を受け付ける装置によって構成される。ネットワークインタフェース１００５は、ネットワークに接続するインタフェースである。メモリ１００２には、シンクライアント端末１１０の各機能を実現するコンピュータ・プログラムが格納される。ＣＰＵ１００１は、メモリ１００２に格納されるコンピュータ・プログラムを読み込んで実行するとともに各部を制御することにより、シンクライアント端末１１０の機能を実現する。
【００２４】
また、図２において、接続管理装置１０は、ＣＰＵ２００１、メモリ２００２、および、ネットワークインタフェース２００５を含むコンピュータ装置によって構成可能である。メモリ２００２は、ＲＡＭ、ＲＯＭ、補助記憶装置等によって構成される。ネットワークインタフェース２００５は、ネットワークに接続するインタフェースである。メモリ２００２には、接続管理装置１０の各機能を実現するコンピュータ・プログラムが格納される。ＣＰＵ２００１は、メモリ２００２に格納されるコンピュータ・プログラムを読み込んで実行するとともに各部を制御することにより、接続管理装置１０の機能を実現する。
【００２５】
また、図２において、仮想マシン稼働装置２０は、ＣＰＵ３００１、メモリ３００２、および、ネットワークインタフェース３００５を含むコンピュータ装置によって構成可能である。メモリ３００２は、ＲＡＭ、ＲＯＭ、補助記憶装置等によって構成される。ネットワークインタフェース３００５は、ネットワークに接続するインタフェースである。メモリ３００２には、１つ以上の仮想マシン２１を動作させる仮想化ソフトウェアが格納される。ＣＰＵ３００１は、メモリ３００２に格納されるコンピュータ・プログラムを読み込んで実行するとともに各部を制御することにより、仮想マシン稼働装置２０上で仮想マシン２１を動作させ、仮想マシン２１の機能を実現する。
【００２６】
また、図２において、ユーザプロファイル格納装置２１０は、ＣＰＵ４００１、メモリ４００２、および、ネットワークインタフェース４００５を含むコンピュータ装置によって構成可能である。メモリ４００２は、ＲＡＭ、ＲＯＭ、補助記憶装置等によって構成される。ネットワークインタフェース４００５は、ネットワークに接続するインタフェースである。メモリ４００２には、ユーザプロファイル格納装置２１０をファイルサーバとして機能させるコンピュータ・プログラムが格納される。ＣＰＵ４００１は、メモリ４００２に格納されるコンピュータ・プログラムを読み込んで実行するとともに各部を制御することにより、ユーザプロファイル格納装置２１０をファイルサーバとして動作させる。
【００２７】
なお、シンクライアントシステム１を構成する各装置のハードウェア構成は、上述の構成に限定されない。
【００２８】
次に、シンクライアントシステム１の機能ブロック構成について説明する。
【００２９】
シンクライアント端末１１０は、シンクライアントシステム１にログオンを要求するユーザを表す情報を取得する。ユーザを表す情報は、例えば、入力装置１００４から入力される。また、シンクライアント端末１１０は、取得したユーザを表す情報を、接続管理装置１０に送信する。
【００３０】
また、シンクライアント端末１１０は、接続管理装置１０から仮想マシン２１を表す情報を受信する。また、シンクライアント端末１１０は、受信した情報の示す仮想マシン２１に自装置を接続してユーザをログオンさせる。
【００３１】
ユーザプロファイル格納装置２１０は、シンクライアントシステム１のユーザ毎にユーザプロファイルを格納する。ユーザプロファイルは、仮想マシン２１を利用する際のユーザ毎の設定情報を表す情報である。
【００３２】
また、図１に示したように、接続管理装置１０は、仮想マシン選択部１１と、ユーザセッション管理部１２とを有する。また、接続管理装置１０は、これらの各機能ブロックによって利用される情報として、利用状況情報および有効プロファイル所在情報を保持している。
【００３３】
利用状況情報は、各仮想マシン２１が利用中であるか否かを表す情報である。利用状況情報は、仮想マシン２１毎の情報として保持される。具体的には、ある仮想マシン２１についての利用状況情報が「利用中」であれば、その仮想マシン２１がいずれかのシンクライアント端末１１０に接続され、シンクライアントシステム１のいずれかのユーザによってログオン中であることを表す。また、ある仮想マシン２１についての利用状況情報が「利用可能（利用中ではない）」であれば、その仮想マシン２１がいずれのシンクライアント端末１１０にも接続されず、シンクライアントシステム１のいずれのユーザもログオンしていないことを表す。
【００３４】
有効プロファイル所在情報は、シンクライアントシステム１の各ユーザについて有効なユーザプロファイルを保持している仮想マシン２１を表す情報である。有効なユーザプロファイルとは、例えば、そのユーザが直近に利用したユーザプロファイルである。そのような有効なユーザプロファイルは、そのユーザが直近に使用した仮想マシン２１に保持されている。有効プロファイル所在情報は、ユーザ毎の情報として保持される。
【００３５】
仮想マシン選択部１１は、利用状況情報および有効プロファイル所在情報を参照することにより、シンクライアントシステム１にログオンを要求するユーザに割り当てる仮想マシン２１を選択する。例えば、仮想マシン選択部１１は、利用状況情報を参照することにより、利用可能な仮想マシン２１を抽出する。そして、仮想マシン選択部１１は、有効プロファイル所在情報を参照し、抽出した利用可能な仮想マシン２１の中に、ログオンを要求するユーザの有効なユーザプロファイルを保持する仮想マシン２１があれば、その仮想マシン２１を選択すればよい。また、仮想マシン選択部１１は、そのような仮想マシン２１がない場合、利用可能な仮想マシン２１の中からいずれか１つを選択すればよい。
【００３６】
ユーザセッション管理部１２は、シンクライアントシステム１にログオンを要求するユーザを表す情報をシンクライアント端末１１０から取得する。また、ユーザセッション管理部１２は、取得したユーザを表す情報に対して割り当てる仮想マシン２１を、仮想マシン選択部１１を用いて決定する。また、ユーザセッション管理部１２は、決定した仮想マシン２１を表す情報を、シンクライアント端末１１０に通知する。
【００３７】
また、ユーザセッション管理部１２は、ユーザの仮想マシン２１に対する接続状態に応じて、利用状況情報および有効プロファイル所在情報を更新する。ユーザの接続状態は、仮想マシン２１から通知される。
【００３８】
具体的には、ユーザセッション管理部１２は、ユーザのログオンに応じて、ログオン先の仮想マシン２１の利用状況情報を、利用中であることを示す情報に更新する。また、ユーザセッション管理部１２は、ユーザのログオフに応じて、それまでのログオン先であった仮想マシン２１の利用状況情報を、利用中でない（すなわち、利用可能である）ことを示す情報に更新する。
【００３９】
また、ユーザセッション管理部１２は、ユーザのログオンに応じて、そのユーザについての有効プロファイル所在情報を、今回ログオン先の仮想マシン２１を表す情報に更新する。また、ユーザセッション管理部１２は、ユーザのログオフに応じて、そのユーザについての有効プロファイル所在情報を、それまでログオン先であった仮想マシン２１を表す情報に更新する。なお、同一のユーザが同時にログオンできる仮想マシン２１が１つに限定されている場合がある。この場合、ログオフ時の有効プロファイル所在情報はログオン時の有効プロファイル所在情報と同一である。したがって、この場合、ユーザセッション管理部１２は、ログオフ時の有効プロファイル所在情報の更新処理を省略することも可能である。ただし、有効プロファイル所在情報が更新時刻等の付随情報を含む場合がある。そのような場合、ユーザセッション管理部１２は、ログオフ時の有効プロファイル所在情報の更新処理を省略できない。また、同一のユーザが同時に複数の仮想マシン２１にログオンできる場合がある。この場合、ログオフ時の有効プロファイル所在情報はログオン時の有効プロファイル所在情報と同一とは限らない。したがって、この場合、ユーザセッション管理部１２は、ログオフ時の有効プロファイル所在情報の更新処理を省略することはできない。
【００４０】
また、図１において、仮想マシン２１は、ユーザプロファイル管理部２２と、ユーザ接続監視部２３とを有する。
【００４１】
ユーザプロファイル管理部２２は、自装置にログオンしたユーザの有効なユーザプロファイルを、自装置上またはユーザプロファイル格納装置２１０から取得する。具体的には、ユーザプロファイル管理部２２は、自装置にログオンするユーザの有効なユーザプロファイルを自装置上に保持している場合、その有効なユーザプロファイルを再利用する。また、ユーザプロファイル管理部２２は、自装置にログオンするユーザの有効なユーザプロファイルを自装置上に保持していない場合、ユーザプロファイル格納装置２１０から該当するユーザのユーザプロファイルを取得する。なお、自装置上に該当するユーザの有効なプロファイルがあるか否かは、自装置上のそのユーザのユーザプロファイルと、ユーザプロファイル格納装置２１０上のそのユーザのユーザプロファイルとの間で、タイムスタンプを比較することにより判断可能である。もし、前者のタイムスタンプが後者のタイムスタンプに対して同一か新しい場合、自装置上にそのユーザの有効なユーザプロファイルがあると判断される。
【００４２】
また、ユーザプロファイル管理部２２は、自装置からのユーザのログオフ時に、自装置上で利用されていたそのユーザのユーザプロファイルを保持しておく。さらに、ユーザプロファイル管理部２２は、そのユーザによって利用されていたユーザプロファイルを、ユーザプロファイル格納装置２１０に格納する。
【００４３】
ユーザ接続監視部２３は、自装置に対するユーザの接続状態を監視する。そして、ユーザ接続監視部２３は、接続状態の変化を検出すると、接続管理装置１０に通知する。具体的には、ユーザ接続監視部２３は、ユーザのログオン、ログオフを検出して接続管理装置１０に通知すればよい。通知する情報は、ログオンまたはログオフのいずれを検出したかを表す情報と、ログオンまたはログオフしたユーザを表す情報とを含む。
【００４４】
以上のように構成されたシンクライアントシステム１の動作について、図面を参照して説明する。
【００４５】
まず、シンクライアントシステム１の接続制御動作を図３に示す。
【００４６】
図３では、まず、シンクライアント端末１１０は、ログオンを要求するユーザを表す情報を取得し、接続管理装置１０に送信する（ステップＡ１）。
【００４７】
次に、接続管理装置１０のユーザセッション管理部１２は、受信した情報の示すユーザに割り当てる仮想マシン２１を、仮想マシン選択部１１を用いて選択する（ステップＢ１）。前述のように、仮想マシン選択部１１は、利用状況情報および有効プロファイル所在情報を参照することにより、該当するユーザに割り当てる仮想マシン２１を選択する。
【００４８】
次に、ユーザセッション管理部１２は、ステップＢ２で選択された仮想マシン２１を表す情報を、シンクライアント端末１１０に通知する（ステップＢ２）。
【００４９】
次に、シンクライアント端末１１０は、通知された情報の示す仮想マシン２１に対して、ステップＡ１で取得したユーザによる接続を要求する（ステップＡ２）。
【００５０】
次に、仮想マシン２１のユーザプロファイル管理部２２は、ステップＡ２で自装置に接続を要求しているユーザの有効なユーザプロファイルが自装置上にあるか否かを判断する（ステップＣ１）。
【００５１】
ここで、該当するユーザの有効なユーザプロファイルが自装置上にあると判断した場合、ユーザプロファイル管理部２２は、その有効なユーザプロファイルを再利用して、ユーザをログオンさせる（ステップＣ２）。
【００５２】
一方、該当するユーザの有効なユーザプロファイルが自装置上にないと判断した場合、ユーザプロファイル管理部２２は、該当するユーザの有効なユーザプロファイルを、ユーザプロファイル格納装置２１０から取得して、ユーザをログオンさせる（ステップＣ３）。
【００５３】
また、その後、シンクライアント端末１１０は、ログオフを表す情報を取得すると、仮想マシン２１に切断を要求する（ステップＡ３）。
【００５４】
仮想マシン２１は、ユーザをログオフさせてシンクライアント端末１１０を切断する。そして、ユーザプロファイル管理部２２は、このユーザが利用していたユーザプロファイルを保持しておくとともに、ユーザプロファイル格納装置２１０にコピーする（ステップＣ４）。
【００５５】
以上で、シンクライアントシステム１は、接続制御動作を終了する。
【００５６】
次に、シンクライアントシステム１が、利用状況情報および有効プロファイル所在情報を更新する動作を図４に示す。
【００５７】
図４では、まず、仮想マシン２１のユーザ接続監視部２３は、自装置に対するユーザの接続状態の変化を監視する(ステップＣ５)。
【００５８】
次に、ユーザ接続監視部２３は、接続状態が変化したか否かを判断する（ステップＣ６）。
【００５９】
ここで、接続状態に変化がない場合、ユーザ接続監視部２３は、ステップＣ５からの動作を繰り返す。
【００６０】
一方、接続状態が変化した場合、ユーザ接続監視部２３は、変化後の接続状態を接続管理装置１０に通知する（ステップＣ７）。前述のように、ユーザ接続監視部２３は、ユーザの接続状態として、ログオンまたはログオフを検出すればよい。また、ユーザ接続監視部２３は、検出したログオンまたはログオフを表す情報と、ログオンまたはログオフしたユーザを表す情報とを通知すればよい。
【００６１】
次に、接続管理装置１０において、ユーザセッション管理部１２は、通知された接続状態に基づいて、通知元の仮想マシン２１の利用状況情報を更新する（ステップＢ３）。
【００６２】
具体的には、もし、ログオンを通知されたのであれば、ユーザセッション管理部１２は、該当する仮想マシン２１の利用状況情報を、利用中であることを表す情報に更新する。一方、ログオフを通知されたのであれば、ユーザセッション管理部１２は、該当する仮想マシン２１の利用状況情報を、利用可能であることを表す情報に更新する。
【００６３】
また、ユーザセッション管理部１２は、通知された接続状態に基づいて、通知されたユーザについての有効プロファイル所在情報を、通知元の仮想マシン２１を表す情報に更新する（ステップＢ４）。
【００６４】
以上で、シンクライアントシステム１は、更新動作を終了する。
【００６５】
次に、本発明の第１の実施の形態の効果について述べる。
【００６６】
本発明の第１の実施の形態は、仮想マシンを利用したシンクライアントシステムにおいて、ログオンストームの発生をより充分に抑制することができる。
【００６７】
その理由について述べる。本実施の形態では、接続管理装置が、各仮想マシンが利用中であるか否かを表す利用状況情報と、シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保持する仮想マシンを表す有効プロファイル所在情報とを保持する。そして、接続管理装置の仮想マシン選択部が、利用状況情報および有効プロファイル所在情報に基づいて、シンクライアント端末からログオンを要求するユーザに割り当てる仮想マシンを選択する。そして、接続管理装置のユーザセッション管理部が、シンクライアント端末に対して仮想マシン選択部によって選択されたマシンを通知することにより、シンクライアント端末から該当するユーザを該当する仮想マシンにログオンさせるからである。さらに、接続管理装置のユーザセッション管理部が、ユーザの仮想マシンへの接続状態に応じて、利用状況情報および有効プロファイル所在情報を更新するからである。そして、仮想マシンは、ログオンするユーザの有効なユーザプロファイルが自装置にあれば再利用し、なければユーザプロファイル格納装置から取得するからである。
【００６８】
このように、本実施の形態は、シンクライアントシステムにログオンを要求するユーザに対して、そのユーザの最新のユーザプロファイルが残っている仮想マシンを優先的にユーザに割り当てることができる。したがって、本実施の形態は、ユーザがログオンした仮想マシンにおいて、そのユーザの有効なユーザプロファイルを再利用できる可能性を高くする。その結果、本実施の形態は、ユーザのログオン時に、そのユーザのユーザプロファイルをユーザプロファイル格納装置から仮想マシンにコピーする処理の発生を少なくすることができ、ログオンストームの発生を抑制することができる。
【００６９】
（第２の実施の形態）
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第１の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
【００７０】
まず、本発明の第２の実施の形態としてのシンクライアントシステム２の構成を図５に示す。図５において、シンクライアントシステム２は、本発明の第１の実施の形態としてのシンクライアントシステム１に対して、シンクライアント端末１１０に替えてシンクライアント端末１２０を備える。また、シンクライアントシステム２は、接続管理装置１０に替えて接続管理装置３０と、仮想マシン稼働装置２０に替えて仮想マシン稼働装置４０とを備える。仮想マシン稼働装置４０上では、１つ以上の仮想マシン４１が動作する。さらに、シンクライアントシステム２は、ユーザ情報管理装置３２０を備える。各装置は、ネットワークを介して通信可能に接続される。
【００７１】
なお、シンクライアント端末１２０、接続管理装置３０および仮想マシン稼働装置４０は、図２を参照して説明した本発明の第１の実施の形態と同一のハードウェア要素を含むコンピュータ装置によって構成可能である。また、ユーザ情報管理装置３２０は、ＣＰＵ、メモリ、および、ネットワークインタフェースを含むコンピュータ装置によって構成可能である。この場合、ＣＰＵは、メモリに格納されるコンピュータ・プログラムを読み込んで実行するとともに各部を制御することにより、ユーザ情報管理装置３２０の機能を実現する。なお、シンクライアントシステム２のハードウェア構成は、上述の構成に限定されない。
【００７２】
シンクライアント端末１２０は、シンクライアントシステム２にログオンを要求するユーザの認証情報を取得する。認証情報は、例えば、ユーザＩＤおよびパスワードを含む。ユーザの認証情報は、例えば、入力装置１００４から入力される。また、シンクライアント端末１２０は、取得した認証情報を、接続管理装置３０に送信する。
【００７３】
また、シンクライアント端末１２０は、接続管理装置３０から仮想マシン４１を表す情報を受信する。また、シンクライアント端末１２０は、受信した情報の示す仮想マシン４１に認証情報を送信する。仮想マシン４１による認証が成功すると、シンクライアント端末１２０は仮想マシン４１に接続され、ユーザがログオンした状態となる。
【００７４】
ユーザ情報管理装置３２０は、ユーザ情報を格納している。ユーザ情報は、シンクライアントシステム２の各ユーザについて、ユーザプロファイル格納装置２１０上でのユーザプロファイルの格納位置を表す情報を含む。また、ユーザ情報は、各ユーザがシンクライアントシステム２を利用する際の認証情報（ユーザ名およびパスワード等）を含んでいてもよい。また、シンクライアントシステム２を利用するユーザがグループに分けられて管理される場合、ユーザ情報は、各ユーザの所属するグループを表す情報を含んでいてもよい。
【００７５】
ユーザ情報管理装置３２０に格納されるユーザ情報の一例を図６に示す。図６において、ユーザ情報は、ユーザ名、ユーザプロファイルの格納位置、パスワード、および、ユーザグループ名をそれぞれ表す情報を含んでいる。例えば、１行目は、ユーザ「User10」は、ユーザグループ「UserGroup1」に属し、パスワードが「pwuser10」であり、ユーザプロファイルが「\\FileSrv\Profiles\User10」に格納されていることを示している。なお、ユーザ「User10」とは、ユーザ名として「User10」を利用するユーザをいうものとする。
【００７６】
また、ユーザ情報管理装置３２０は、接続管理装置３０または仮想マシン４１から認証情報を用いた問い合わせを受信する。また、ユーザ情報管理装置３２０は、受信した認証情報と一致するユーザ情報を検索し、検索結果のユーザ情報に含まれる情報を返信する。例えば、ユーザ情報管理装置３２０は、接続管理装置３０から、ユーザの認証情報に対応するユーザグループの問い合わせを受信する。この場合、ユーザ情報管理装置３２０は、受信した認証情報と一致するユーザ情報を検索し、検索結果のユーザ情報に含まれるユーザグループを返信する。また、例えば、ユーザ情報管理装置３２０は、仮想マシン４１から、ユーザの認証情報に対応するユーザプロファイルの格納位置の問い合わせを受信する。この場合、ユーザ情報管理装置３２０は、受信した認証情報と一致するユーザ情報を検索し、検索結果のユーザ情報に含まれるユーザプロファイルの格納位置を返信する。
【００７７】
また、図５に示すように、接続管理装置３０は、仮想マシン選択部３１と、ユーザセッション管理部３２とを有する。
【００７８】
仮想マシン選択部３１は、利用状況情報、有効プロファイル所在情報、および、グループ設定情報を参照することにより、ログオンを要求するユーザに割り当てる仮想マシン４１を選択する。
【００７９】
利用状況情報は、本発明の第１の実施の形態における利用状況情報と同一の情報に加えて、仮想マシングループを表す情報を含む。本実施の形態では、仮想マシン４１は、グループに分けられて管理されることを想定する。利用状況情報の一例を図７に示す。図７において、利用状況情報は、仮想マシン名、仮想マシングループ名、および、利用中であるか否かを表す情報を含んでいる。例えば、1行目は、仮想マシン４１「Vpc10」は、仮想マシングループ「VpcGroup1」に属し、いずれかのユーザによって「利用中」であること示している。なお、仮想マシン４１「Vpc10」とは、仮想マシン名として「Vpc10」を有する仮想マシン４１をいうものとする。また、２行目は、仮想マシン４１「Vpc11」は、仮想マシングループ「VpcGroup1」に属し、いずれのユーザによっても利用中ではなく「利用可能」であること示している。なお、利用状況情報には、５行目に示すように、仮想マシン４１について「利用不可」であることを示す情報が含まれていてもよい。このように、いずれかのユーザによって利用中であるか否かとは異なる外部の要因により利用できない仮想マシン４１についての利用状況情報は、外部の機能ブロックにより「利用不可」に設定されていてもよい。
【００８０】
有効プロファイル所在情報は、本発明の第１の実施の形態における有効プロファイル所在情報と同一の情報に加えて、使用時刻を表す情報を含む。使用時刻は、そのユーザが、そのユーザの有効なユーザプロファイルを保持する仮想マシン４１において、その有効なユーザプロファイルを使用したことが確認された最新の時刻を表す。実際には、使用時刻としては、ログイン時刻やログオフ時刻に準ずる時刻が記録される。有効プロファイル所在情報の一例を図８に示す。図８において、有効プロファイル所在情報は、ユーザ名、有効なユーザプロファイルのある仮想マシン名、および、使用時刻をそれぞれ表す情報を含んでいる。例えば、1行目は、ユーザ「User10」の有効なユーザプロファイルがある仮想マシン４１は「Vpc10」であり、その使用時刻は「2014/05/30 18:30:00.000」であることを示している。
【００８１】
グループ設定情報は、ユーザグループと、そのユーザグループに属するユーザによって使用可能な仮想マシングループとの対応関係を表す情報を含む。グループ設定情報の一例を図９に示す。図９において、グループ設定情報は、ユーザグループ名および仮想マシングループ名を含む。例えば、1行目は、ユーザグループ「UserGroup1」に所属するユーザは、仮想マシングループ「VpcGroup1」に属する仮想マシン４１を利用できることを示している。ここで、ユーザグループ「UserGroup1」とは、ユーザグループ名が「UserGroup1」のユーザグループをいうものとする。また、仮想マシングループ「VpcGroup1」とは、仮想マシングループ名が「VpcGroup1」の仮想マシングループをいうものとする。なお、本実施の形態では、前述したように、ユーザおよび仮想マシン４１がグループ管理されることを想定している。ただし、グループ設定情報は、ユーザおよび仮想マシン４１がグループ管理されない場合は省略可能な設定情報である。
【００８２】
仮想マシン選択部３１は、グループ設定情報を参照することにより、ログオンを要求するユーザのユーザグループに対応する仮想マシングループを特定する。そして、仮想マシン選択部３１は、利用状況情報を参照することにより、特定した仮想マシングループに属する仮想マシン４１のうち、利用可能な仮想マシン４１を抽出する。そして、仮想マシン選択部３１は、有効プロファイル所在情報を参照することにより、抽出した利用可能な仮想マシン４１の中に、ログオンを要求するユーザについての有効なユーザプロファイルを保持する仮想マシン４１があれば、その仮想マシン４１を選択する。
【００８３】
また、仮想マシン選択部３１は、そのような有効なユーザプロファイルを保持する仮想マシン４１がない場合、抽出した利用可能な仮想マシン４１の中から、いずれのユーザについても有効なユーザプロファイルを保持していない仮想マシン４１を選択する。そのような仮想マシン４１は、有効プロファイル所在情報を参照することにより特定可能である。つまり、仮想マシン選択部３１は、抽出した利用可能な仮想マシン４１のうち、図８に一例を示した有効プロファイル所在情報において「有効なユーザプロファイルのある仮想マシン」の列に含まれていない仮想マシン４１を選択すればよい。
【００８４】
ここで、該当する複数の仮想マシン４１、すなわち、いずれのユーザについても有効なユーザプロファイルを保持していない複数の仮想マシン４１があるとする。このような場合、仮想マシン選択部３１は、該当する複数の仮想マシン４１のうち、最初に、「いずれのユーザについても有効なユーザプロファイルを保持していない」ことを確認した仮想マシン４１を選択してもよい。
【００８５】
あるいは、仮想マシン選択部３１は、該当する複数の仮想マシン４１のうち、直近の使用時刻に基づく条件を用いて、仮想マシン４１を選択してもよい。この場合、直近の使用時刻は、有効プロファイル所在情報の記録を参照することにより特定可能である。具体的には、仮想マシン選択部３１は、該当する複数の仮想マシン４１のそれぞれについて、図８に示した有効プロファイル所在情報の「有効なユーザプロファイルがある仮想マシン」に記録のある行を検索し、対応する「使用時刻」を求めればよい。もし、「有効なユーザプロファイルがある仮想マシン」に複数の記録がある仮想マシン４１の場合、対応する「使用時刻」のうち最も新しい使用時刻を、その仮想マシン４１の直近の使用時刻とすればよい。
【００８６】
また、この場合、仮想マシン選択部３１は、直近の使用時刻に基づく複数の選択条件を設定してもよい。具体的には、以下のように段階的な条件を設定してもよい。
・条件１：直近の使用時刻より現在までの経過時間がｔ１以上の仮想マシンのうち、直近の使用時刻が最も古い仮想マシンを選択（ただし、ｔ１は正数）
・条件２：直近の使用時刻より現在までの経過時間がｔ１より少なくｔ２以上の仮想マシンのうち、直近の使用時刻が最も新しい仮想マシンを選択（ただし、ｔ２は正数かつｔ１＞ｔ２）
・条件３：直近の使用時刻より現在までの経過時間がｔ２以上の仮想マシンが無い場合、直近の使用時刻が最も古い仮想マシンを選択
この例の場合、仮想マシン選択部３１は、条件１で選択を行い、条件１に当てはまる仮想マシンが無かった場合に条件２で選択を行い、条件２に当てはまる仮想マシンが無かった場合に条件３で選択を行う。このように、直近の使用時刻から現在までの経過時間によって、選択条件を変化させることで、運用の実情に合わせた多様な選択条件を設定することができる。
【００８７】
あるいは、仮想マシン選択部３１は、該当する複数の仮想マシン４１のうち、その仮想マシン４１が動作している仮想マシン稼働装置４０の負荷に基づく条件で仮想マシン４１を選択してもよい。あるいは、仮想マシン選択部３１は、該当する複数の仮想マシン４１のうち、その仮想マシン４１が用いているストレージの負荷に基づく条件で仮想マシン４１を選択してもよい。あるいは、仮想マシン選択部３１は、該当する複数の仮想マシン４１からランダムに１つを選択してもよい。あるいは、仮想マシン選択部３１は、上述した選択条件を組み合わせて１つの仮想マシン４１を選択してもよい。
【００８８】
なお、抽出された利用可能な仮想マシン４１中に、該当するユーザの有効なユーザプロファイルを保持する仮想マシン４１がない場合で、さらに、いずれのユーザについても有効なユーザプロファイルを保持していない仮想マシン４１がない場合も想定される。すなわち、抽出された利用可能な仮想マシン４１はいずれも、該当するユーザ以外のいずれかのユーザについて有効なユーザプロファイルを保持している場合である。このような場合、仮想マシン選択部３１は、抽出した利用可能な仮想マシン４１の中からいずれか１つを選択すればよい。
【００８９】
なお、この場合、仮想マシン選択部３１は、抽出した利用可能な仮想マシン４１の中から、上述した直近の使用時刻に基づく条件を用いて、仮想マシン４１を選択してもよい。あるいは、上述したように、仮想マシン選択部３１は、仮想マシン稼働装置４０の負荷に基づき選択、ストレージの負荷に基づき選択、ランダムに選択、または、複数の選択条件を組合せて選択等の手法により、いずれか１つの仮想マシン４１を選択すればよい。
【００９０】
ユーザセッション管理部３２は、シンクライアントシステム２にログオンを要求するユーザの認証情報を、シンクライアント端末１２０から取得する。また、ユーザセッション管理部３２は、取得した認証情報を用いてユーザ情報管理装置３２０に問い合わせることにより、該当するユーザのユーザグループを取得する。また、ユーザセッション管理部３２は、該当するユーザに対して割り当てる仮想マシン４１を、仮想マシン選択部３１を用いて決定する。
【００９１】
また、ユーザセッション管理部３２は、本発明の第１の実施の形態におけるユーザセッション管理部１２と同様に、決定した仮想マシン４１を表す情報を、シンクライアント端末１２０に通知する。
【００９２】
また、ユーザセッション管理部３２は、不要なユーザプロファイルの削除要求対象となる仮想マシン４１に対して、不要なユーザプロファイルの削除を要求する。具体的には、ユーザセッション管理部３２は、削除要求対象の仮想マシン４１上に保持されている有効なユーザプロファイルのユーザを、有効プロファイル所在情報を参照することにより特定する。そして、ユーザセッション管理部３２は、削除要求対象の仮想マシン４１に対して、特定したユーザを、ユーザプロファイルの削除対象から除外する除外ユーザとして通知する。また、ユーザセッション管理部３２は、削除要求対象の仮想マシン４１に対して、不要なユーザプロファイルの削除処理を要求する。例えば、ユーザセッション管理部３２は、削除要求対象の仮想マシン４１に対して、削除要求を表す情報と共に、除外ユーザを表す情報を送信すればよい。
【００９３】
なお、本実施の形態では、ログオンを要求するユーザに仮想マシン４１を割り当てるタイミングで、割り当てた仮想マシン４１に対して削除処理を要求するものとする。つまり、本実施の形態では、仮想マシン選択部３１によって選択された仮想マシン４１を、削除要求対象とする。この場合、ユーザセッション管理部３２は、除外ユーザとして、ログオンを要求するユーザを加える。そして、ユーザセッション管理部３２は、選択された仮想マシン４１に対して、削除要求対象の仮想マシン４１上に保持されている有効なユーザプロファイルのユーザと、ログオンを要求するユーザとを除外ユーザとして、削除処理を要求すればよい。
【００９４】
ここで、もし、ログオンを要求するユーザの有効なユーザプロファイルを保持する仮想マシン４１が選択されていたとする。この場合、「選択した仮想マシン４１上に保持されている有効なユーザプロファイルのユーザ」は、ログオンを要求するユーザと同一である。したがって、この場合、ユーザセッション管理部３２は、除外ユーザを特定する処理を省略することも可能である。一方、もし、ログオンを要求するユーザの有効なユーザプロファイルを保持する仮想マシン４１が利用可能な仮想マシン４１中になく、他の仮想マシン４１が選択されていたとする。この場合、選択した仮想マシン４１上に保持されている有効なユーザプロファイルのユーザは、ログオンを要求するユーザと同一ではない。したがって、この場合、除外ユーザを特定する処理が必要となる。あるいは、もし、ログオンを要求するユーザの有効なユーザプロファイルを保持する仮想マシン４１が利用可能な仮想マシン４１中になく、いずれのユーザの有効なユーザプロファイルも保持しない仮想マシン４１が選択されていたとする。この場合、選択した仮想マシン４１上には有効なユーザプロファイルが保持されていないことがわかっている。したがって、この場合、ユーザセッション管理部３２は、除外ユーザを特定する処理を省略することも可能である。
【００９５】
また、図５に示すように、仮想マシン４１は、ユーザプロファイル管理部４２と、ユーザ接続監視部２３とを有する。
【００９６】
ユーザプロファイル管理部４２は、シンクライアント端末１２０からユーザの認証情報を取得する。また、ユーザプロファイル管理部４２は、取得した認証情報を用いてユーザ情報管理装置３２０に問い合わせることにより、該当するユーザのユーザプロファイルの格納位置を取得する。そして、ユーザプロファイル管理部４２は、ユーザプロファイル格納装置２１０または自装置上から、該当するユーザのユーザプロファイルを取得する。
【００９７】
具体的には、ユーザプロファイル管理部４２は、ユーザプロファイル格納装置２１０上の該当する格納位置にあるユーザプロファイルのタイムスタンプを取得する。また、ユーザプロファイル管理部４２は、自装置上に保持されている該当するユーザのユーザプロファイルのタイムスタンプを取得する。そして、ユーザプロファイル管理部４２は、より新しいほうのユーザプロファイルを取得すればよい。なお、タイムスタンプが同一であれば、ユーザプロファイル管理部４２は、自装置上のユーザプロファイルを再利用する。
【００９８】
また、ユーザプロファイル管理部４２は、接続管理装置３０から、不要なユーザプロファイルの削除要求を受信する。そして、ユーザプロファイル管理部４２は、自装置にログオン中のユーザ、ログオン要求中のユーザ、および、通知された除外ユーザ以外について、保持している不要なユーザプロファイルを削除する。なお、シンクライアントシステム２にシンクライアント端末１２０からログオンするよう設定されたユーザ以外のユーザのユーザプロファイルは、削除対象から除外される。
【００９９】
以上のように構成されたシンクライアントシステム２の動作について、図面を参照して説明する。
【０１００】
まず、シンクライアントシステム２の接続制御動作の概略を図１０に示す。
【０１０１】
図１０では、まず、シンクライアント端末１２０は、ログオンを要求するユーザの認証情報を取得し、接続管理装置３０に送信する（ステップＡ１１）。
【０１０２】
次に、接続管理装置３０のユーザセッション管理部３２は、受信した認証情報に対応するユーザグループ名を、ユーザ情報管理装置３２０から取得する（ステップＢ１１）。
【０１０３】
次に、仮想マシン選択部３１は、認証情報の示すユーザに割り当てる仮想マシン４１を、利用状況情報、有効プロファイル所在情報およびグループ設定情報を参照することにより選択する（ステップＢ１２）。このステップの詳細については後述する。
【０１０４】
次に、ユーザセッション管理部３２は、ステップＢ１２で選択された仮想マシン４１に対して、不要なユーザプロファイルの削除を要求する（ステップＢ１３）。このステップの詳細については後述する。
【０１０５】
次に、削除の要求を受けた仮想マシン４１では、ユーザプロファイル管理部４２は、不要なユーザプロファイルの削除を行う（ステップＣ１１）。このステップの詳細については後述する。
【０１０６】
次に、ユーザセッション管理部３２は、ステップＢ１２で選択された仮想マシン４１を表す情報を、シンクライアント端末１２０に通知する（ステップＢ１４）。
【０１０７】
次に、シンクライアント端末１２０は、通知された情報の示す仮想マシン４１に対して、ステップＡ１１で取得した認証情報による接続を要求する（ステップＡ１２）。
【０１０８】
次に、仮想マシン４１のユーザプロファイル管理部４２は、自装置に接続を要求しているユーザの認証情報に対応するユーザプロファイルの格納位置を、ユーザ情報管理装置３２０から取得する（ステップＣ１２）。
【０１０９】
次に、ユーザプロファイル管理部４２は、ステップＣ１２で取得した格納位置にあるユーザプロファイル格納装置２１０上のユーザプロファイルのタイムスタンプと、自装置上の該当するユーザのユーザプロファイルのタイムスタンプとを比較する（ステップＣ１３）。
【０１１０】
ここで、自装置上のユーザプロファイルのタイムスタンプが、ユーザプロファイル格納装置２１０上のユーザプロファイルのタイムスタンプと同一であるか、または、より新しかった場合について説明する。この場合、ユーザプロファイル管理部４２は、自装置上のユーザプロファイルを再利用して、ユーザをログオンさせる（ステップＣ１４）。
【０１１１】
一方、ユーザプロファイル格納装置２１０上のユーザプロファイルのタイムスタンプのほうが新しい場合について説明する。なお、自装置上に該当するユーザのユーザプロファイルがなければ、ユーザプロファイル管理部４２は、ユーザプロファイル格納装置２１０上のユーザプロファイルのタイムスタンプのほうが新しいと判断するものとする。この場合、ユーザプロファイル管理部４２は、ステップＣ１２で取得したユーザプロファイル格納装置２１０上の格納位置から、ユーザプロファイルを取得して、ユーザをログオンさせる（ステップＣ１５）。
【０１１２】
また、その後、ユーザがログオフする場合、シンクライアントシステム２は、ステップＡ３、Ｃ４を、本発明の第１の実施の形態と同様に実行する。これにより、このユーザが仮想マシン４１上で利用していたユーザプロファイルは、仮想マシン４１上に保持されるとともに、ユーザプロファイル格納装置２１０にコピーされる。
【０１１３】
以上で、シンクライアントシステム２は、接続制御動作を終了する。
【０１１４】
次に、シンクライアントシステム２が、利用状況情報および有効プロファイル所在情報を更新する動作について説明する。シンクライアントシステム２による利用状況情報および有効プロファイル所在情報の更新動作は、図４を参照して説明した本発明の第１の実施の形態における更新動作と略同様である。ただし、ステップＢ４における有効プロファイル所在情報の更新動作の詳細が異なる。
【０１１５】
ステップＢ４において、ユーザセッション管理部３２は、接続状態を通知されたユーザの有効プロファイル所在情報において、「有効なユーザプロファイルのある仮想マシン」の情報を、通知元の仮想マシン４１を表す情報に更新する。さらに、ユーザセッション管理部３２は、接続状態を通知されたユーザの有効プロファイル所在情報において、「使用時刻」の情報を更新する。ここで、更新する使用時刻は、この処理の実行時点での現在時刻であってもよい。あるいは、更新する使用時刻は、仮想マシン４１において接続状態の変化が検出された時刻であってもよい。その場合、ステップＣ７において、仮想マシン４１のユーザ接続監視部２３は、接続状態およびユーザを表す情報に加えて検出時刻を、接続管理装置３０に対して通知すればよい。
【０１１６】
次に、図１０のステップＢ１２における仮想マシン選択動作の詳細について、図１１を参照して説明する。
【０１１７】
図１１では、まず、接続管理装置３０の仮想マシン選択部３１は、グループ設定情報を参照することにより、ステップＢ１１で特定されたユーザグループに対応する仮想マシングループを特定する（ステップＢ２１）。
【０１１８】
次に、仮想マシン選択部３１は、利用状況情報を参照することにより、ステップＢ２１で特定した仮想マシングループに属する仮想マシン４１のうち利用可能であるものを抽出する（ステップＢ２２）。
【０１１９】
次に、仮想マシン選択部３１は、有効プロファイル所在情報を参照することにより、ステップＢ２２で抽出した仮想マシン４１の中に、認証情報の示すユーザについて有効なユーザプロファイルを保持するものがあるか否かを判断する（ステップＢ２３）。
【０１２０】
ここで、該当ユーザについて有効なユーザプロファイルを保持する仮想マシン４１があると判断した場合について説明する。この場合、仮想マシン選択部３１は、その仮想マシン４１を選択する（ステップＢ２４）。
【０１２１】
一方、該当ユーザについて有効なユーザプロファイルを保持する仮想マシン４１がないと判断した場合について説明する。この場合、仮想マシン選択部３１は、ステップＢ２２で抽出した仮想マシン４１の中に、いずれのユーザについても有効なユーザプロファイルを保持していないものがあるか否かを判断する（ステップＢ２５）。
【０１２２】
ここで、いずれのユーザについても有効なユーザプロファイルを保持していないものがあると判断した場合について説明する。この場合、仮想マシン選択部３１は、その仮想マシン４１を選択する（ステップＢ２６）。もし、該当する複数の仮想マシン４１がある場合、仮想マシン選択部３１は、そのうち１つを選択すればよい。選択の際には、前述のように、各仮想マシン４１の直近の使用時刻に基づく条件、または、仮想マシン稼働装置４０の負荷やストレージの負荷などに基づく条件が用いられてもよい。あるいは、前述のように、仮想マシン選択部３１は、該当する複数の仮想マシン４１からランダムに１つ選択してもよい。
【０１２３】
一方、いずれのユーザについても有効なユーザプロファイルを保持していないものが無いと判断した場合について説明する。つまり、ステップＢ２２で抽出された仮想マシン４１がいずれも、該当するユーザ以外のユーザの有効なユーザプロファイルを保持している場合である。この場合、仮想マシン選択部３１は、ステップＢ２２で抽出した仮想マシン４１の中から１つを選択する（ステップＢ２７）。もし、該当する複数の仮想マシン４１がある場合、仮想マシン選択部３１は、ステップＳ２２で抽出した仮想マシン４１の中から１つを選択すればよい。選択の際には、前述のように、各仮想マシン４１の直近の使用時刻に基づく条件、または、仮想マシン稼働装置４０の負荷やストレージの負荷などに基づく条件が用いられてもよい。あるいは、前述のように、仮想マシン選択部３１は、該当する複数の仮想マシン４１からランダムに１つ選択してもよい。
【０１２４】
以上で、ステップＢ１２における仮想マシン選択動作の詳細な説明を終了する。
【０１２５】
次に、図１０のステップＢ１３における不要なユーザプロファイルの削除要求動作の詳細について、図１２を参照して説明する。
【０１２６】
図１２では、まず、接続管理装置３０のユーザセッション管理部３２は、有効プロファイル所在情報を参照することにより、削除要求対象の仮想マシン４１に保持される有効なユーザプロファイルのユーザを特定する（ステップＢ３１）。ここでは、削除要求対象の仮想マシン４１には、ステップＢ１２で選択された仮想マシン４１が適用される。
【０１２７】
次に、ユーザセッション管理部３２は、受信した認証情報の示すユーザと、ステップＢ３１で特定したユーザとを除外ユーザとする。そして、ユーザセッション管理部３２は、削除要求対象の仮想マシン４１に対して、除外ユーザの情報を通知するとともに、不要なユーザプロファイルの削除を要求する（ステップＢ３２）。
【０１２８】
以上で、ステップＢ１３における不要なユーザプロファイルの削除要求動作の詳細な説明を終了する。
【０１２９】
次に、図１０のステップＣ１１における不要なユーザプロファイルの削除動作の詳細について、図１３を参照して説明する。
【０１３０】
図１３では、まず、仮想マシン４１のユーザプロファイル管理部４２は、接続管理装置３０から通知された除外ユーザの情報を取得する（ステップＣ３１）。
【０１３１】
次に、ユーザプロファイル管理部４２は、自装置にログオン中のユーザ一覧を取得する（ステップＣ３２）。
【０１３２】
次に、ユーザプロファイル管理部４２は、自装置に保持されているユーザプロファイルのうち、未処理のものがあるか否かを判断する（ステップＣ３３）。
【０１３３】
ここで、未処理のユーザプロファイルがなければ、ユーザプロファイル管理部４２は、削除動作を終了する。
【０１３４】
一方、未処理のユーザプロファイルがある場合について説明する。この場合、ユーザプロファイル管理部４２は、そのうち１つのユーザプロファイルについて、移動ユーザプロファイルであるか否かを判断する（ステップＣ３４）。
【０１３５】
なお、移動ユーザプロファイルであるとは、ユーザプロファイル管理装置４０との間で送受信されるユーザプロファイルであることをいう。仮想マシン４１は、例外的なユーザ（ゲストユーザ、テストユーザや管理ユーザ等）のユーザプロファイルについては、移動ユーザプロファイルでなく、自装置に保持している場合もある。
【０１３６】
ここで、移動ユーザプロファイルでない場合、ユーザプロファイル管理部４２は、残りの未処理のユーザプロファイルについて、ステップＣ３３からの処理を繰り返す。
【０１３７】
一方、移動ユーザプロファイルである場合、ユーザプロファイル管理部４２は、このユーザプロファイルのユーザが、ステップＣ３１で取得された除外ユーザまたはステップＣ３２で取得されたログオン中のユーザであるか否かを判断する（ステップＣ３５）。
【０１３８】
ここで、除外ユーザまたはログオン中のユーザのユーザプロファイルであれば、ユーザプロファイル管理部４２は、残りの未処理のユーザプロファイルについて、ステップＣ３３からの処理を繰り返す。
【０１３９】
一方、除外ユーザまたはログオン中のユーザのユーザプロファイルでなければ、ユーザプロファイル管理部４２は、このユーザプロファイルを削除する（ステップＣ３６）。
【０１４０】
そして、ユーザプロファイル管理部４２は、残りの未処理のユーザプロファイルについて、ステップＣ３３からの処理を繰り返す。
【０１４１】
以上で、ステップＣ１１における不要なユーザプロファイルの削除動作の詳細な説明を終了する。
【０１４２】
次に、シンクライアントシステム２の動作の具体例について説明する。
【０１４３】
＜具体例１＞
まず、ユーザ「User10」が仮想マシン４１への接続を行う場合について、図１０〜図１３、図４を参照して説明する。ここでは、ユーザ情報管理装置３２０は、図６に示したユーザ情報を格納しているものとする。また、接続管理装置３０は、図７に示した利用状況情報と、図８に示した有効プロファイル所在情報と、図９に示したグループ設定情報とを保持しているものとする。
【０１４４】
まず、シンクライアント端末１２０は、認証情報として、ユーザ名「User10」およびパスワード「pwuser10」を、入力装置１００４から取得する。
【０１４５】
そして、シンクライアント端末１２０は、取得した認証情報を、接続管理装置３０に送信する（図１０、ステップＡ１１）。
【０１４６】
次に、接続管理装置３０のユーザセッション管理部３２は、シンクライアント端末１２０から認証情報として、ユーザ名「User10」およびパスワード「pwuser10」を取得する。
【０１４７】
そして、ユーザセッション管理部３２は、この認証情報をユーザ情報管理装置３２０に送信し、図６において対応するユーザ情報として、ユーザグループ名「UserGroup1」を取得する（ステップＢ１１）。
【０１４８】
次に、仮想マシン選択部３１は、利用状況情報、有効プロファイル所在情報およびグループ設定情報を用いて、ユーザ「User10」に割り当てる仮想マシン４１を選択する（ステップＢ１２）。
【０１４９】
具体的には、仮想マシン選択部３１は、図９に示すグループ設定情報を参照して、ユーザグループ「UserGroup1」に対応する仮想マシングループ「VpcGroup1」を特定する（図１１、ステップＢ２１）。
【０１５０】
次に、仮想マシン選択部３１は、図７に示す利用状況情報を参照して、仮想マシングループ「VpcGroup1」に所属する仮想マシン４１のうち、利用可能な仮想マシン４１として、「Vpc11」、「Vpc12」、「Vpc13」を抽出する（ステップＢ２２）。
【０１５１】
次に、仮想マシン選択部３１は、図８に示す有効プロファイル所在情報を参照して、ユーザ「User10」の有効なユーザプロファイルを保持する仮想マシン４１として「Vpc10」を取得する。そして、仮想マシン選択部３１は、そのような仮想マシン４１「Vpc10」が、利用可能な仮想マシン４１「Vpc11」、「Vpc12」、「Vpc13」の中にないと判断する（ステップＢ２３でＮｏ）。
【０１５２】
そこで、仮想マシン選択部３１は、利用可能な仮想マシン４１「Vpc11」、「Vpc12」、「Vpc13」のうち、いずれのユーザの有効なユーザプロファイルも保持していない仮想マシン４１があるか否かを判断する（ステップＢ２５）。
【０１５３】
ここでは、図８の有効プロファイル所在情報の「有効なユーザプロファイルのある仮想マシン」の列に、「Vpc11」および「Vpc12」については記載があるが、「Vpc13」については記載がない。そこで、仮想マシン選択部３１は、利用可能な仮想マシン４１「Vpc11」、「Vpc12」、「Vpc13」のうち、有効なユーザプロファイルを保持していない仮想マシン４１として「Vpc13」があると判断する（ステップＢ２５でＹｅｓ）。
【０１５４】
そこで、仮想マシン選択部３１は、そのような仮想マシン４１から１つ選択する。ここでは、有効なユーザプロファイルを保持していない仮想マシン４１が「Vpc13」の１つであったため、仮想マシン選択部３１は、その「Vpc13」を選択すればよい（ステップＢ２６）。
【０１５５】
このようにして、図１０のステップＢ１２において、仮想マシン４１「Vpc13」が選択された。
【０１５６】
次に、ユーザセッション管理部３２は、選択された仮想マシン４１「Vpc13」に対して、不要なユーザプロファイルの削除を要求する（ステップＢ１３）。
【０１５７】
具体的には、ユーザセッション管理部３２は、図８の有効プロファイル所在情報を参照して、選択された仮想マシン４１「Vpc13」に有効なユーザプロファイルが保持されるユーザを取得する（図１２、ステップＢ３１）。
【０１５８】
ここでは、仮想マシン４１「Vpc13」は、いずれのユーザについても有効なユーザプロファイルを保持していない。そこで、ユーザセッション管理部３２は、このステップではユーザを表す情報を取得しない。
【０１５９】
次に、ユーザセッション管理部３２は、ステップＢ３１で特定されたユーザが無いので、ログインを要求するユーザ「User10」を除外ユーザとする。そして、ユーザセッション管理部３２は、選択された仮想マシン４１「Vpc13」に対して、除外ユーザ「User10」の情報を通知するとともに、不要なユーザプロファイルの削除を要求する（ステップＢ３２）。
【０１６０】
次に、仮想マシン４１「Vpc13」のユーザプロファイル管理部４２は、不要なユーザプロファイルを削除する（図１０、ステップＣ１１）。
【０１６１】
具体的には、ユーザプロファイル管理部４２は、除外ユーザとして「User10」の情報を取得する（図１３、ステップＣ３１）。
【０１６２】
次に、ユーザプロファイル管理部４２は、自装置「Vpc13」にログオン中のユーザ一覧を取得する（ステップＣ３２）。
【０１６３】
ここでは、ログオン中のユーザはいなかったものとする。
【０１６４】
次に、ユーザプロファイル管理部４２は、自装置「Vpc13」に保持されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「Administrator」のユーザプロファイルがあるとする（ステップＣ３３でＹｅｓ）
次に、ユーザプロファイル管理部４２は、「Administrator」のユーザプロファイルが移動ユーザプロファイルでないと判断する（ステップＣ３４でＮｏ）。
【０１６５】
そこで、ユーザプロファイル管理部４２は、「Administrator」のユーザプロファイルを削除せず、ステップＣ３３に戻る。
【０１６６】
次に、ユーザプロファイル管理部４２は、自装置「Vpc13」に保持されている未処理のユーザプロファイルがないと判断する（ステップＣ３３でＮｏ）
このようにして、図１０のステップＣ１１において、選択された仮想マシン４１「Vpc13」では、不要なユーザプロファイルが無いため削除は行われなかった。
【０１６７】
次に、接続管理装置３０のユーザセッション管理部３２は、選択された仮想マシン４１「Vpc13」を、シンクライアント端末１２０に通知する（図１０、ステップＢ１４）。
【０１６８】
次に、シンクライアント端末１２０は、通知された仮想マシン４１「Vpc13」に対して、認証情報としてユーザ名「User10」およびパスワード「pwuser10」を送信して、接続を要求する（ステップＡ１２）。
【０１６９】
次に、仮想マシン４１「Vpc13」のユーザプロファイル管理部４２は、シンクライアント端末１２０から認証情報を取得する。そして、ユーザプロファイル管理部４２は、ユーザ情報管理装置３２０から、図６においてユーザ「User10」の認証情報に対応するユーザプロファイルの格納位置として、「\\FileSrv\Profiles\User10」を取得する（ステップＣ１２）。
【０１７０】
次に、ユーザプロファイル管理部４２は、自装置上にこのユーザ「User10」のユーザプロファイルが無いので、ユーザプロファイル格納装置２１０上のユーザプロファイルが新しいと判断する（ステップＣ１３で「ユーザプロファイル格納装置」）。
【０１７１】
そこで、ユーザプロファイル管理部４２は、ユーザプロファイル格納装置２１０上の「\\FileSrv\Profiles\User10」からユーザプロファイルをコピーして、「User10」をログオンさせる（ステップＣ１５）。
【０１７２】
次に、仮想マシン４１「Vpc13」のユーザ接続監視部２３は、自装置にユーザ「User10」がログオンしたという接続状態の変化を検出する（図４のステップＣ５、Ｃ６でＹｅｓ）。
【０１７３】
そこで、ユーザ接続監視部２３は、接続状態として、仮想マシン４１「Vpc13」にユーザ「User10」がログオンしたことを、接続管理装置３０に通知する（ステップＣ７）。
【０１７４】
次に、接続管理装置３０のユーザセッション管理部３２は、接続状態の通知を受信する。そして、ユーザセッション管理部３２は、該当する仮想マシン４１「Vpc13」についての利用状況情報を更新する。具体的には、ユーザセッション管理部３２は、図７の４行目において、「利用状況」を「利用中」に更新する（ステップＢ３）。
【０１７５】
これにより、利用状況情報は、図７に示す内容から図１４に示す内容に更新される。
【０１７６】
また、ユーザセッション管理部３２は、該当するユーザ「User10」についての有効プロファイル所在情報を更新する。具体的には、ユーザセッション管理部３２は、図８の１行目において、「有効なユーザプロファイルのある仮想マシン」を「Vpc13」に更新する。また、ユーザセッション管理部３２は、図８の１行目において、「使用時刻」をこの時点での現在時刻である「2014/06/01 08:30:00.000」に更新する。
【０１７７】
これにより、有効プロファイル所在情報は、図８に示す内容から図１５に示す内容に更新される。
【０１７８】
＜具体例２＞
次に、ユーザ「User11」が仮想マシン４１への接続を行う場合について、図１０〜図１３、図４を参照して説明する。ここでは、ユーザ情報管理装置３２０は、図６に示したユーザ情報を格納しているものとする。また、接続管理装置３０は、図１４に示した利用状況情報と、図１５に示した有効プロファイル所在情報と、図９に示したグループ設定情報とを保持しているものとする。
【０１７９】
まず、シンクライアント端末１２０は、認証情報として、ユーザ名「User11」およびパスワード「pwuser11」を、入力装置１００４から取得する。
【０１８０】
そして、シンクライアント端末１２０は、取得した認証情報を、接続管理装置３０に送信する（図１０、ステップＡ１１）。
【０１８１】
次に、接続管理装置３０のユーザセッション管理部３２は、シンクライアント端末１２０から認証情報として、ユーザ名「User11」およびパスワード「pwuser11」を取得する。
【０１８２】
そして、ユーザセッション管理部３２は、この認証情報をユーザ情報管理装置３２０に送信し、図６において対応するユーザ情報としてユーザグループ名「UserGroup1」を取得する（ステップＢ１１）。
【０１８３】
次に、仮想マシン選択部３１は、利用状況情報、有効プロファイル所在情報およびグループ設定情報を用いて、ユーザ「User11」に割り当てる仮想マシン４１を選択する（ステップＢ１２）。
【０１８４】
具体的には、仮想マシン選択部３１は、図９に示すグループ設定情報を参照して、ユーザグループ「UserGroup1」に対応する仮想マシングループ「VpcGroup1」を特定する（図１１、ステップＢ２１）。
【０１８５】
次に、仮想マシン選択部３１は、図１４に示す利用状況情報を参照して、仮想マシングループ「VpcGroup1」に所属する仮想マシン４１のうち、利用可能な仮想マシン４１として、「Vpc11」、「Vpc12」を抽出する（ステップＢ２２）。
【０１８６】
次に、仮想マシン選択部３１は、図１５に示す有効プロファイル所在情報を参照して、ユーザ「User11」の有効なユーザプロファイルを保持する仮想マシン４１として「Vpc12」を取得する。そして、仮想マシン選択部３１は、そのような仮想マシン４１「Vpc12」が、利用可能な仮想マシン４１「Vpc11」、「Vpc12」の中にあると判断する（ステップＢ２３でＹｅｓ）。
【０１８７】
そこで、仮想マシン選択部３１は、その「Vpc12」を選択する（ステップＢ２４）。
【０１８８】
このようにして、図１０のステップＢ１２において、仮想マシン４１「Vpc12」が選択された。
【０１８９】
次に、ユーザセッション管理部３２は、選択された仮想マシン４１「Vpc12」に対して、不要なユーザプロファイルの削除を要求する（ステップＢ１３）。
【０１９０】
具体的には、ユーザセッション管理部３２は、図１５の有効プロファイル所在情報を参照して、選択された仮想マシン４１「Vpc12」に有効なユーザプロファイルが保持されるユーザ「User11」を取得する（図１２、ステップＢ３１）。なお、ここでは、取得されたユーザ「User11」は、ログインを要求するユーザ「User11」と同一である。
【０１９１】
そこで、ユーザセッション管理部３２は、ステップＢ３１で特定されたユーザ「User11」であり、ログインを要求するユーザである「User11」を、除外ユーザとする。そして、ユーザセッション管理部３２は、選択された仮想マシン４１「Vpc12」に対して、除外ユーザ「User11」の情報を通知するとともに、不要なユーザプロファイルの削除を要求する（ステップＢ３２）。
【０１９２】
次に、仮想マシン４１「Vpc12」のユーザプロファイル管理部４２は、不要なユーザプロファイルを削除する（図１０、ステップＣ１１）。
【０１９３】
具体的には、ユーザプロファイル管理部４２は、除外ユーザとして「User11」の情報を取得する（図１３、ステップＣ３１）。
【０１９４】
次に、ユーザプロファイル管理部４２は、自装置「Vpc12」にログオン中のユーザ一覧を取得する（ステップＣ３２）。
【０１９５】
ここでは、ログオン中のユーザはいなかったものとする。
【０１９６】
次に、ユーザプロファイル管理部４２は、自装置「Vpc12」に保持されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「TestUser1」のユーザプロファイルが見つかったとする（ステップＣ３３でＹｅｓ）
次に、ユーザプロファイル管理部４２は、「TestUser1」のユーザプロファイルが移動ユーザプロファイルであると判断する（ステップＣ３４でＹｅｓ）。
【０１９７】
次に、ユーザプロファイル管理部４２は、「TestUser1」が、除外ユーザ「User11」でなく、ログオン中のユーザでないと判断する（ステップＣ３５でＮｏ）。
【０１９８】
そこで、ユーザプロファイル管理部４２は、「TestUser1」のユーザプロファイルを削除する（ステップＣ３６）。
【０１９９】
ステップＣ３３に戻り、ユーザプロファイル管理部４２は、自装置「Vpc12」に保持されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「User11」のユーザプロファイルが見つかったとする（ステップＣ３３でＹｅｓ）
次に、ユーザプロファイル管理部４２は、「User11」のユーザプロファイルが移動ユーザプロファイルであると判断する（ステップＣ３４でＹｅｓ）。
【０２００】
次に、ユーザプロファイル管理部４２は、「User11」が、除外ユーザ「User11」であると判断する（ステップＣ３５でＹｅｓ）。
【０２０１】
そこで、ユーザプロファイル管理部４２は、このユーザプロファイルを削除せず、ステップＣ３３に戻る。
【０２０２】
次に、ユーザプロファイル管理部４２は、自装置「Vpc12」に保持されている未処理のユーザプロファイルがないと判断する（ステップＣ３３でＮｏ）
このようにして、図１０のステップＣ１１において、選択された仮想マシン４１「Vpc12」では、不要な「TestUser1」のユーザプロファイルが削除された。
【０２０３】
次に、接続管理装置３０のユーザセッション管理部３２は、選択された仮想マシン４１「Vpc12」を、シンクライアント端末１２０に通知する（ステップＢ１４）。
【０２０４】
次に、シンクライアント端末１２０は、通知された仮想マシン４１「Vpc12」に対して、認証情報として、ユーザ名「User11」およびパスワード「pwuser11」を送信して接続を要求する（ステップＡ１２）。
【０２０５】
次に、仮想マシン４１「Vpc12」のユーザプロファイル管理部４２は、シンクライアント端末１２０から認証情報を取得する。そして、ユーザプロファイル管理部４２は、ユーザ情報管理装置３２０から、図６においてユーザ「User11」の認証情報に対応するユーザプロファイルの格納位置として、「\\FileSrv\Profiles\User11」を取得する（ステップＣ１２）。
【０２０６】
次に、ユーザプロファイル管理部４２は、ユーザ「User11」について、自装置上に保持されているユーザプロファイルのタイムスタンプと、ユーザプロファイル格納装置２１０上のユーザプロファイルのタイムスタンプとを比較する。そして、ユーザプロファイル管理部４２は、自装置上のタイムスタンプが、ユーザプロファイル格納装置２１０上のタイムスタンプと同一であるかまたは新しいと判断する（ステップＣ１３で「自装置」）。
【０２０７】
そこで、ユーザプロファイル管理部４２は、自装置上の「User11」のユーザプロファイルを再利用して、「User11」をログオンさせる（ステップＣ１４）。
【０２０８】
次に、仮想マシン４１「Vpc12」のユーザ接続監視部２３は、自装置にユーザ「User11」がログオンしたという接続状態の変化を検出する（図４のステップＣ５、Ｃ６でＹｅｓ）。
【０２０９】
そこで、ユーザ接続監視部２３は、接続状態として、仮想マシン４１「Vpc12」にユーザ「User11」がログオンしたことを、接続管理装置３０に通知する（ステップＣ７）。
【０２１０】
次に、接続管理装置３０のユーザセッション管理部３２は、接続状態の通知を受信する。そして、ユーザセッション管理部３２は、該当する仮想マシン４１「Vpc12」の利用状況情報を更新する。具体的には、ユーザセッション管理部３２は、図１４の３行目において、「利用状況」を「利用中」に更新する（ステップＢ３）。
【０２１１】
これにより、利用状況情報は、図１４に示す内容から図１６に示す内容に更新される。
【０２１２】
また、ユーザセッション管理部３２は、該当するユーザ「User11」の有効プロファイル所在情報を更新する。具体的には、ユーザセッション管理部３２は、図１５の２行目において、「有効なユーザプロファイルのある仮想マシン」を「Vpc12」に更新する。また、ユーザセッション管理部３２は、図１５の２行目において、「使用時刻」をこの時点での現在時刻である「2014/06/01 19:30:00.000」に更新する。
【０２１３】
これにより、有効プロファイル所在情報は、図１５に示す内容から図１７に示す内容に更新される。
【０２１４】
＜具体例３＞
次に、ユーザ「User10」が仮想マシン４１「Vpc13」からログオフする場合について、図４を参照して説明する。ここでは、ユーザ情報管理装置３２０は、図６に示したユーザ情報を格納しているものとする。また、接続管理装置３０は、図１６に示した利用状況情報と、図１７に示した有効プロファイル所在情報と、図９に示したグループ設定情報とを保持しているものとする。
【０２１５】
まず、シンクライアント端末１２０は、ユーザ「User10」のログオフを表す情報を取得し、仮想マシン４１「Vpc13」に対して切断を要求する（図１０のステップＡ３）。
【０２１６】
次に、仮想マシン４１「Vpc13」のユーザプロファイル管理部４２は、自装置からのログオフに伴い、ユーザ「User10」のユーザプロファイルを保持しておく。そして、ユーザプロファイル管理部４２は、ユーザ「User10」のユーザプロファイルを、ユーザプロファイル格納装置２１０の「\\FileSrv\Profiles\User10」の格納位置にコピーする（ステップＣ４）。
【０２１７】
また、仮想マシン４１「Vpc13」のユーザ接続監視部２３は、自装置からユーザ「User10」がログオフしたという接続状態の変化を検出する（図４のステップＣ５、Ｃ６でＹｅｓ）。
【０２１８】
そこで、ユーザ接続監視部２３は、接続状態として、仮想マシン４１「Vpc13」からユーザ「User10」がログオフしたことを、接続管理装置３０に通知する（ステップＣ７）。
【０２１９】
次に、接続管理装置３０のユーザセッション管理部３２は、接続状態の通知を受信する。そして、ユーザセッション管理部３２は、該当する仮想マシン４１「Vpc13」についての利用状況情報を更新する。具体的には、ユーザセッション管理部３２は、図１６の４行目において、「利用状況」を「利用可能」に更新する（ステップＢ３）。
【０２２０】
これにより、利用状況情報は、図１６に示す内容から図１８に示す内容に更新される。
【０２２１】
また、ユーザセッション管理部３２は、該当するユーザ「User10」についての有効プロファイル所在情報を更新する。具体的には、ユーザセッション管理部３２は、図１７の１行目において、「有効なユーザプロファイルのある仮想マシン」については、既に「Vpc13」となっているので、そのままとする。また、ユーザセッション管理部３２は、図１７の１行目において、「使用時刻」をこの時点での現在時刻である「2014/06/01 20:00:00.000」に更新する。
【０２２２】
これにより、有効プロファイル所在情報は、図１７に示す内容から図１９に示す内容に更新される。
【０２２３】
＜具体例４＞
次に、ユーザ「User14」が仮想マシン４１への接続を行う場合について、図１０〜図１３、図４を参照して説明する。ここでは、ユーザ情報管理装置３２０は、図６に示したユーザ情報を格納しているものとする。また、接続管理装置３０は、図１８に示した利用状況情報と、図１９に示した有効プロファイル所在情報と、図９に示したグループ設定情報とを保持しているものとする。
【０２２４】
まず、シンクライアント端末１２０は、認証情報として、ユーザ名「User14」およびパスワード「pwuser14」を、入力装置１００４から取得する。
【０２２５】
そして、シンクライアント端末１２０は、取得した認証情報を、接続管理装置３０に送信する（図１０、ステップＡ１１）。
【０２２６】
次に、接続管理装置３０のユーザセッション管理部３２は、シンクライアント端末１２０から認証情報として、ユーザ名「User14」およびパスワード「pwuser14」を取得する。
【０２２７】
そして、ユーザセッション管理部３２は、この認証情報をユーザ情報管理装置３２０に送信し、図６において対応するユーザ情報としてユーザグループ名「UserGroup1」を取得する（ステップＢ１１）。
【０２２８】
次に、仮想マシン選択部３１は、利用状況情報、有効プロファイル所在情報およびグループ設定情報を用いて、ユーザ「User14」に割り当てる仮想マシン４１を選択する（ステップＢ１２）。
【０２２９】
具体的には、仮想マシン選択部３１は、図９に示すグループ設定情報を参照して、ユーザグループ「UserGroup1」に対応する仮想マシングループ「VpcGroup1」を特定する（図１１、ステップＢ２１）。
【０２３０】
次に、仮想マシン選択部３１は、図１８に示す利用状況情報を参照して、仮想マシングループ「VpcGroup1」に所属する仮想マシン４１のうち、利用可能な仮想マシン４１として、「Vpc11」、「Vpc13」を抽出する（ステップＢ２２）。
【０２３１】
次に、仮想マシン選択部３１は、図１９に示す有効プロファイル所在情報を参照して、ユーザ「User14」の有効なユーザプロファイルを保持する仮想マシン４１が無いと判断する。したがって、仮想マシン選択部３１は、そのような仮想マシン４１が、利用可能な仮想マシン４１「Vpc11」、「Vpc13」の中にないと判断する（ステップＢ２３でＮｏ）。
【０２３２】
そこで、仮想マシン選択部３１は、図１９の有効プロファイル所在情報を参照して、利用可能な仮想マシン４１「Vpc11」、「Vpc13」のうち、有効なユーザプロファイルを保持していない仮想マシン４１があるか否かを判断する（ステップＢ２５）。
【０２３３】
ここでは、図１９の有効プロファイル所在情報の「有効なユーザプロファイルのある仮想マシン」の列に、「Vpc11」および「Vpc13」について共に記載がある。そこで、仮想マシン選択部３１は、利用可能な仮想マシン４１「Vpc11」、「Vpc13」のうち、有効なユーザプロファイルを保持していない仮想マシン４１が無いと判断する（ステップＢ２５でＮｏ）。
【０２３４】
そこで、仮想マシン選択部３１は、利用可能な仮想マシン４１「Vpc11」、「Vpc13」の中から１つ選択する。
【０２３５】
ここでは、選択可能な複数の仮想マシン４１がある場合の選択条件として、「直近の使用時刻が最も古い仮想マシン」という条件が設定されているものとする。そこで、仮想マシン選択部３１は、図１９の有効プロファイル所在情報を参照し、「Vpc11」の直近の使用時刻は「2014/06/01 07:30:00.000」であり、「Vpc13」の直近の使用時刻は、「2014/06/01 20:00:00.000」であることを求める。そこで、仮想マシン選択部３１は、仮想マシン４１「Vpc11」、「Vpc13」のうち直近の使用時刻が最も古い「Vpc11」を選択する（ステップＢ２６）。
【０２３６】
このようにして、図１０のステップＢ１２において、仮想マシン４１「Vpc11」が選択された。
【０２３７】
次に、ユーザセッション管理部３２は、選択された仮想マシン４１「Vpc11」に対して、不要なユーザプロファイルの削除を要求する（ステップＢ１３）。
【０２３８】
具体的には、ユーザセッション管理部３２は、図１９の有効プロファイル所在情報を参照して、選択された仮想マシン４１「Vpc11」に有効なユーザプロファイルが保持されるユーザ「Ｕser12」を取得する（図１２、ステップＢ３１）。
【０２３９】
そこで、ユーザセッション管理部３２は、ステップＢ３１で特定されたユーザ「User12」と、ログインを要求するユーザである「User14」とを、除外ユーザとする。そして、ユーザセッション管理部３２は、選択された仮想マシン４１「Vpc11」に対して、除外ユーザ「User12」、「User14」の情報を通知するとともに、不要なユーザプロファイルの削除を要求する（ステップＢ３２）。
【０２４０】
次に、仮想マシン４１「Vpc11」のユーザプロファイル管理部４２は、不要なユーザプロファイルを削除する（図１０、ステップＣ１１）。
【０２４１】
具体的には、ユーザプロファイル管理部４２は、除外ユーザとして「User12」、「User14」の情報を取得する（図１３、ステップＣ３１）。
【０２４２】
次に、ユーザプロファイル管理部４２は、自装置「Vpc11」にログオン中のユーザ一覧を取得する（ステップＣ３２）。
【０２４３】
ここでは、ログオン中のユーザはいなかったものとする。
【０２４４】
次に、ユーザプロファイル管理部４２は、自装置「Vpc11」に保持されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「User12」のユーザプロファイルが見つかったとする（ステップＣ３３でＹｅｓ）
次に、ユーザプロファイル管理部４２は、「User12」のユーザプロファイルが移動ユーザプロファイルであると判断する（ステップＣ３４でＹｅｓ）。
【０２４５】
次に、ユーザプロファイル管理部４２は、「User12」が、除外ユーザであると判断する（ステップＣ３５でＹｅｓ）。
【０２４６】
そこで、ユーザプロファイル管理部４２は、「User12」のユーザプロファイルを削除せず、ステップＣ３３に戻る。
【０２４７】
次に、ユーザプロファイル管理部４２は、自装置「Vpc11」に保持されている未処理のユーザプロファイルがないと判断する（ステップＣ３３でＮｏ）
このようにして、図１０のステップＣ１１において、選択された仮想マシン４１「Vpc11」では、不要なユーザプロファイルが無いため削除は行われなかった。
【０２４８】
次に、接続管理装置３０のユーザセッション管理部３２は、選択された仮想マシン４１「Vpc11」を、シンクライアント端末１２０に通知する（ステップＢ１４）。
【０２４９】
次に、シンクライアント端末１２０は、通知された仮想マシン４１「Vpc11」に対して、認証情報としてユーザ名「User14」およびパスワード「pwuser14」を送信して、接続を要求する（ステップＡ１２）。
【０２５０】
次に、仮想マシン４１「Vpc11」のユーザプロファイル管理部４２は、シンクライアント端末１２０から認証情報を取得する。そして、ユーザプロファイル管理部４２は、ユーザ情報管理装置３２０から、図６においてユーザ「User14」の認証情報に対応するユーザプロファイルの格納位置として、「\\FileSrv\Profiles\User14」を取得する（ステップＣ１２）。
【０２５１】
次に、ユーザプロファイル管理部４２は、自装置上にこのユーザ「User14」のユーザプロファイルが無いので、ユーザプロファイル格納装置２１０上のユーザプロファイルが新しいと判断する（ステップＣ１３で「ユーザプロファイル格納装置」）。
【０２５２】
そこで、ユーザプロファイル管理部４２は、ユーザプロファイル格納装置２１０上の「\\FileSrv\Profiles\User14」からユーザプロファイルをコピーして、「User14」をログオンさせる（ステップＣ１５）。
【０２５３】
次に、仮想マシン４１「Vpc11」のユーザ接続監視部２３は、自装置にユーザ「User14」がログオンしたという接続状態の変化を検出する（図４のステップＣ５、Ｃ６でＹｅｓ）。
【０２５４】
そこで、ユーザ接続監視部２３は、接続状態として、仮想マシン「Vpc11」にユーザ「User14」がログオンしたことを、接続管理装置３０に通知する（ステップＣ７）。
【０２５５】
次に、接続管理装置３０のユーザセッション管理部３２は、接続状態の通知を受信する。そして、ユーザセッション管理部３２は、該当する仮想マシン４１「Vpc11」の利用状況情報を更新する。具体的には、ユーザセッション管理部３２は、図１８の２行目において、「利用状況」を「利用中」に更新する（ステップＢ３）。
【０２５６】
これにより、利用状況情報は、図１８に示す内容から図２０に示す内容に更新される。
【０２５７】
また、ユーザセッション管理部３２は、該当するユーザ「User14」の有効プロファイル所在情報を更新する。具体的には、ユーザセッション管理部３２は、図１９の５行目において、「有効なユーザプロファイルのある仮想マシン」を「Vpc11」に更新する。また、ユーザセッション管理部３２は、図１９の５行目において、「使用時刻」をこの時点での現在時刻である「2014/06/01 20:30:01.000」に更新する。
【０２５８】
これにより、有効プロファイル所在情報は、図１９に示す内容から図２１に示す内容に更新される。
【０２５９】
以上で、シンクライアントシステム２の具体的な動作例の説明を終了する。
【０２６０】
次に、本発明の第２の実施の形態の効果について述べる。
【０２６１】
本発明の第２の実施の形態は、仮想マシンを利用したシンクライアントシステムにおいて、ログオンストームの発生をさらに効果的に抑制することができる。
【０２６２】
その理由について述べる。本実施の形態では、本発明の第１の実施の形態と同様の構成に加え、接続管理装置の仮想マシン選択部が、利用可能な仮想マシンの中にログオンを要求するユーザの有効なユーザプロファイルを保持する仮想マシンがない場合、次のように構成されるからである。すなわち、この場合、仮想マシン選択部は、利用可能な仮想マシンの中でいずれのユーザの有効なユーザプロファイルも保持していない仮想マシンから１つを選択するからである。
【０２６３】
このように、本実施の形態は、あるユーザの有効なユーザプロファイルを保持する仮想マシンに他のユーザをログオンさせる可能性をより低くする。これにより、本実施の形態は、ログオンを要求するユーザの有効なユーザプロファイルを保持する仮想マシンが他のユーザにより利用中である可能性をより低くする。これにより、有効なユーザプロファイルが再利用される可能性がより高くなる。その結果、本実施の形態は、ログオンストームの発生をさらに効果的に抑制することができる。
【０２６４】
また、本発明の第２の実施の形態の形態は、ユーザのユーザプロファイルを再利用できない場合にも、ユーザプロファイル格納装置からのコピーによるシステムの負荷の増大を抑制することができる。
【０２６５】
その理由は、接続管理装置の仮想マシン選択部が、選択可能な複数の仮想マシンがある場合、直近の使用時刻に基づく条件、仮想マシン稼働装置やストレージの負荷に基づく条件、または、それらの選択条件の組合せに基づき仮想マシンを１つ選択するからである。
【０２６６】
また、本発明の第２の実施の形態は、ログオンストームの発生を抑制するために各仮想マシンに保持させるユーザプロファイルについて、必要となる記憶容量の増大を抑制することができる。
【０２６７】
その理由について述べる。本実施の形態では、ユーザセッション管理部は、ユーザのログオン先として選択された仮想マシンに対して、不要なユーザプロファイルの削除を要求するからである。このとき、ユーザセッション管理部が、削除要求先の仮想マシン上に保持されている有効なユーザプロファイルを、有効プロファイル所在情報を参照することにより特定する。そして、ユーザセッション管理部が、特定したユーザプロファイルを削除対象から除外するよう通知しながら、ログオン先として選択された仮想マシンに対して不要なユーザプロファイルの削除を要求するからである。そして、仮想マシンのユーザプロファイル管理部が、自装置にログオン中またはログオン要求中のユーザのユーザプロファイル、および、除外するよう通知されたユーザプロファイル以外で、不要なユーザプロファイルを削除するからである。
【０２６８】
これにより、本実施の形態は、仮想マシンに残っているユーザプロファイルのうち、最新でない（有効でない）ユーザプロファイルを削除する。そのため、本実施の形態は、保持するユーザプロファイルが増加して記憶装置の使用量が増大することを防ぐことができる。
【０２６９】
（第３の実施の形態）
次に、本発明の第３の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第２の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
【０２７０】
まず、本発明の第３の実施の形態としてのシンクライアントシステム３の構成を図２２に示す。図２２において、シンクライアントシステム３は、本発明の第２の実施の形態としてのシンクライアントシステム２に対して、接続管理装置３０に替えて接続管理装置５０を備える点が異なる。
【０２７１】
なお、接続管理装置５０は、図２を参照して説明した本発明の第１の実施の形態と同一のハードウェア要素を含むコンピュータ装置によって構成可能である。ただし、シンクライアントシステム３のハードウェア構成は、上述の構成に限定されない。
【０２７２】
接続管理装置５０は、本発明の第２の実施の形態における接続管理装置３０に対して、ユーザセッション管理部３２に替えてユーザセッション管理部５２を備える点が異なる。
【０２７３】
ユーザセッション管理部５２は、本発明の第２の実施の形態におけるユーザセッション管理部３２と略同様に構成される。ただし、不要なユーザプロファイルの削除要求を行うタイミングが異なる。本発明の第２の実施の形態では、ユーザセッション管理部３２は、不要なユーザプロファイルの削除要求を、ユーザからのログイン要求時に行っていた。本実施の形態では、ユーザセッション管理部５２は、不要なユーザプロファイルの削除要求を、ユーザのログオフ時に行う。
【０２７４】
これにより、仮想マシン４１のユーザプロファイル管理部４２は、ユーザのログオフ時に、不要なユーザプロファイルの削除処理を行うことになる。ただし、ユーザプロファイル管理部４２は、接続管理装置５０からの削除要求に応じて削除処理を行えばよいので、本発明の第２の実施の形態と同一の構成を適用すればよい。
【０２７５】
以上のように構成されたシンクライアントシステム３の接続制御動作を図２３に示す。
【０２７６】
図２３において、シンクライアントシステム３は、本発明の第２の実施の形態と略同様に接続制御動作を行う。ただし、接続管理装置５０は、ステップＢ１２で仮想マシン４１を選択した後、ステップＢ１３の不要なユーザプロファイルの削除要求を行うことなく、ステップＢ１４の仮想マシン通知動作を実行する。また、仮想マシン４１は、ユーザのログイン時には、ステップＣ１１の不要なユーザプロファイルの削除処理を実行しない。
【０２７７】
次に、シンクライアントシステム３の利用状況情報および有効プロファイル所在情報の更新動作ならびに不要なユーザプロファイル削除動作を図２４に示す。
【０２７８】
図２４において、仮想マシン４１は、ステップＣ５〜Ｃ７まで、図４を参照して説明した本発明の第２の実施の形態における仮想マシン４１と同様に動作する。これにより、ユーザの接続状態が接続管理装置５０に通知される。
【０２７９】
次に、接続状態の通知を受けた接続管理装置５０では、ユーザセッション管理部５２は、ステップＢ３〜Ｂ４まで、本発明の第２の実施の形態における接続管理装置３０と同様に動作する。これにより、ユーザの接続状態の変化に応じて、利用状況情報および有効プロファイル所在情報が更新される。
【０２８０】
次に、ユーザセッション管理部５２は、仮想マシン４１から通知されたユーザの接続状態が、ログオフであったか否かを判断する（ステップＢ４１）。
【０２８１】
ここで、ログオフであった場合、ユーザセッション管理部５２は、本発明の第２の実施の形態と略同様に、ステップＢ１３（図１２のステップＢ３１〜Ｂ３２）を実行する。
【０２８２】
ただし、本実施の形態では、ユーザセッション管理部５２は、削除要求対象の仮想マシン４１として、ログオフの通知元の仮想マシン４１を適用する。そして、ユーザセッション管理部５２は、ログオフの通知元の仮想マシン４１に有効なユーザプロファイルが保持されるユーザを、有効プロファイル所在情報を参照することにより特定する（ステップＢ３１）。
【０２８３】
次に、ユーザセッション管理部５２は、ステップＢ３１で特定したユーザを、除外ユーザとする。なお、本発明の第２の実施の形態におけるステップＢ３２では、ユーザセッション管理部５２は、除外ユーザとして、ステップＢ３１で特定したユーザに「ログオンを要求するユーザ」を加えていた。本実施の形態では、ログオフ時の動作であるため、「ログオンを要求するユーザ」は無い。したがって、ユーザセッション管理部５２は、ログオフの通知元の仮想マシン４１に対して、ステップＢ３１で特定したユーザを除外ユーザとして通知しながら、不要なユーザプロファイルの削除を要求する（ステップＢ３２）。
【０２８４】
次に、仮想マシン４１のユーザプロファイル管理部４２は、本発明の第２の実施の形態と同様にステップＣ１１（図１３のステップＣ３１〜Ｃ３６）を実行する。
【０２８５】
これにより、ログオン先の不要なユーザプロファイルが削除される。
【０２８６】
以上で、シンクライアントシステム３は、不要なユーザプロファイル削除動作を終了する。
【０２８７】
次に、シンクライアントシステム３の動作の具体例を示す。
【０２８８】
＜具体例５＞
この例では、ユーザ「User10」が仮想マシン４１「Vpc13」からログオフする場合について説明する。ここでは、ユーザ情報管理装置３２０は、図６に示したユーザ情報を格納しているものとする。また、接続管理装置５０は、図１６に示した利用状況情報と、図１７に示した有効プロファイル所在情報と、図９に示したグループ設定情報とを保持しているものとする。
【０２８９】
まず、シンクライアントシステム３は、本発明の第２の実施の形態における具体例３と同様に、図２３のステップＡ３〜Ｃ４、図２４のステップＣ５〜Ｃ７、Ｂ３〜Ｂ４まで動作する。これにより、ユーザ「User10」が仮想マシン４１「Vpc13」からログオフする。そして、利用状況情報は、図１６に示す内容から図１８に示す内容に更新される。また、有効プロファイル所在情報は、図１７に示す内容から図１９に示す内容に更新される。
【０２９０】
次に、接続管理装置５０のユーザセッション管理部５２は、仮想マシン４１「Vpc13」から通知されたユーザの接続状態が、ログオフであったと判断する（図２４、ステップＢ４１でＹｅｓ）。
【０２９１】
そこで、ユーザセッション管理部５２は、ログオフの通知元の仮想マシン４１「Vpc13」に対して、不要なユーザプロファイルの削除を要求する（図２４、ステップＢ１３）。
【０２９２】
具体的には、まず、ユーザセッション管理部５２は、削除要求対象の仮想マシン４１として、ログオフの通知元の仮想マシン４１「Vpc13」を適用する。そして、ユーザセッション管理部５２は、図１９の有効プロファイル所在情報を参照することにより、仮想マシン４１「Vpc13」に有効なユーザプロファイルが保持されるユーザ「User10」を特定する（図１２、ステップＢ３１）。
【０２９３】
次に、ユーザセッション管理部５２は、「User10」を除外ユーザとして通知しながら、仮想マシン４１「Vpc13」に対して、不要なユーザプロファイルの削除を要求する（ステップＢ３２）。
【０２９４】
次に、仮想マシン４１「Vpc13」のユーザプロファイル管理部４２は、不要なユーザプロファイルを削除する（図２４、ステップＣ１１）。
【０２９５】
具体的には、ユーザプロファイル管理部４２は、除外ユーザとして「User10」の情報を取得する（図１３、ステップＣ３１）。
【０２９６】
次に、ユーザプロファイル管理部４２は、自装置「Vpc13」にログオン中のユーザ一覧を取得する（ステップＣ３２）。
【０２９７】
ここでは、ログオン中のユーザはいなかったものとする。
【０２９８】
次に、ユーザプロファイル管理部４２は、自装置「Vpc13」に保持されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「TestUser1」のユーザプロファイルが見つかったとする（ステップＣ３３でＹｅｓ）
次に、ユーザプロファイル管理部４２は、「TestUser1」のユーザプロファイルが移動ユーザプロファイルであると判断する（ステップＣ３４でＹｅｓ）。
【０２９９】
次に、ユーザプロファイル管理部４２は、「TestUser1」が、除外ユーザ「User10」でなく、ログオン中でないと判断する（ステップＣ３５でＮｏ）。
【０３００】
そこで、ユーザプロファイル管理部４２は、「TestUser1」のユーザプロファイルを削除する（ステップＣ３６）。
【０３０１】
ステップＣ３３に戻り、ユーザプロファイル管理部４２は、自装置「Vpc13」に保持されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「User10」のユーザプロファイルが見つかったとする（ステップＣ３３でＹｅｓ）
次に、ユーザプロファイル管理部４２は、「User10」のユーザプロファイルが移動ユーザプロファイルであると判断する（ステップＣ３４でＹｅｓ）。
【０３０２】
次に、ユーザプロファイル管理部４２は、「User10」が、除外ユーザ「User10」であると判断する（ステップＣ３５でＹｅｓ）。
【０３０３】
そこで、ユーザプロファイル管理部４２は、このユーザプロファイルを削除せず、ステップＣ３３に戻る。
【０３０４】
次に、ユーザプロファイル管理部４２は、自装置「Vpc13」に保持されている未処理のユーザプロファイルがないと判断する（ステップＣ３３でＮｏ）
このようにして、図２４のステップＣ１１において、仮想マシン４１「Vpc13」では、ユーザ「User10」のログオフ直後に、不要な「TestUser1」のユーザプロファイルが削除された。
【０３０５】
以上で、シンクライアントシステム３の具体的な動作例の説明を終了する。
【０３０６】
次に、本発明の第３の実施の形態の効果について述べる。
【０３０７】
本発明の第３の実施の形態は、不要なユーザプロファイルの削除処理に起因して、ログオン時の仮想マシンの負荷が増大することを防止できる。
【０３０８】
その理由について説明する。本実施の形態では、接続管理装置のユーザセッション管理部が、ユーザのログオフ時に、それまでユーザがログオンしていた仮想マシンに対して、不要なユーザプロファイルの削除を要求するからである。
【０３０９】
これにより、本実施の形態では、仮想マシンが、不要なユーザプロファイルの削除処理をユーザのログイン時に実行することがない。そのため、本実施の形態は、ログイン時の仮想マシンの負荷が増大することを防止できる。
【０３１０】
（第４の実施の形態）
次に、本発明の第４の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第３の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
【０３１１】
まず、本発明の第４の実施の形態としてのシンクライアントシステム４の構成を図２５に示す。図２５において、シンクライアントシステム４は、本発明の第３の実施の形態としてのシンクライアントシステム３に対して、接続管理装置５０に替えて接続管理装置６０と、仮想マシン稼働装置４０に替えて仮想マシン稼働装置７０とを備える点が異なる。仮想マシン稼働装置７０上では、１つ以上の仮想マシン７１が動作する。各装置は、ネットワークを介して通信可能に接続される。
【０３１２】
なお、接続管理装置６０および仮想マシン稼働装置７０は、図２を参照して説明した本発明の第１の実施の形態と同一のハードウェア要素を含むコンピュータ装置によって構成可能である。ただし、シンクライアントシステム４のハードウェア構成は、上述の構成に限定されない。
【０３１３】
接続管理装置６０は、本発明の第３の実施の形態における接続管理装置５０に対して、ユーザセッション管理部５２に替えてユーザセッション管理部６２を備える点が異なる。
【０３１４】
ユーザセッション管理部６２は、本発明の第３の実施の形態におけるユーザセッション管理部５２と略同様に構成される。ただし、不要なユーザプロファイルの削除要求を行うタイミングおよび削除要求処理の詳細が異なる。
【０３１５】
本発明の第３の実施の形態では、ユーザセッション管理部５２は、不要なユーザプロファイルの削除要求を、ユーザのログオフ時に行っていた。本実施の形態では、ユーザセッション管理部６２は、不要なユーザプロファイルの削除要求を、任意のタイミングで行う。また、ユーザセッション管理部６２は、削除を要求する時点で利用可能な各仮想マシン７１に対して、削除要求を行う。その時点で利用可能な仮想マシン７１は、利用状況情報を参照することにより特定可能である。
【０３１６】
例えば、ユーザセッション管理部６２は、あらかじめ定められたスケジュールにしたがったタイミングで、削除要求を行ってもよい。具体的には、例えば、シンクライアントシステム４の負荷が低くなることがわかっている時間帯に削除要求が実行されるよう、スケジュールが定められていてもよい。また、ユーザセッション管理部６２は、所定間隔毎に、削除要求を行ってもよい。また、ユーザセッション管理部６２は、シンクライアントシステム４の状態が所定条件を満たしたことを検出したタイミングで、削除要求を行ってもよい。所定条件とは、例えば、シンクライアントシステム４の負荷が所定の低負荷条件を満たすことであってもよい。
【０３１７】
また、ユーザセッション管理部６２は、不要なユーザプロファイルの削除要求を行う際に、削除対象から除外する除外ユーザを、次のように特定する。まず、ユーザセッション管理部６２は、削除要求対象の仮想マシン７１上に保持されている有効なユーザプロファイルのユーザを、有効プロファイル所在情報を参照することにより特定する。そして、ユーザセッション管理部６２は、特定したユーザのうち、直近の使用時刻に基づく条件に当てはまるユーザを抽出する。例えば、ユーザセッション管理部６２は、直近の使用時刻からの経過時間が所定時間以内のユーザを抽出してもよい。そして、ユーザセッション管理部６２は、このようにして抽出したユーザを、削除対象から除外する除外ユーザとする。そして、ユーザセッション管理部６２は、削除要求対象の仮想マシン７１に対して、除外ユーザを通知しつつ、不要なユーザプロファイルの削除処理を要求する。
【０３１８】
また、ユーザセッション管理部６２は、不要なユーザプロファイルの削除要求先の仮想マシン７１から、ユーザプロファイルを削除したユーザを表す情報を受信する。そして、ユーザセッション管理部６２は、受信した情報の示す各ユーザについて、有効プロファイル所在情報を更新する。具体的には、ユーザセッション管理部６２は、該当するユーザについて有効なユーザプロファイルを保持している仮想マシン７１が、ユーザプロファイルの削除を実行した仮想マシン７１である場合、そのユーザについての有効プロファイル所在情報を消去する。この有効プロファイル所在情報の消去処理は、あるユーザの有効なユーザプロファイルであっても、その使用時刻が直近の使用時刻に基づく条件に当てはまらない場合、削除要求先の仮想マシン７１から削除される可能性があるために行われる。
【０３１９】
仮想マシン７１は、本発明の第３の実施の形態における仮想マシン４１に対して、ユーザプロファイル管理部４２に替えてユーザプロファイル管理部７２を備える点が異なる。
【０３２０】
ユーザプロファイル管理部７２は、接続管理装置６０からの要求により、本発明の第３の実施の形態と略同様に不要なユーザプロファイルの削除処理を実行する。加えて、ユーザプロファイル管理部７２は、ユーザプロファイルを削除したユーザを表す情報を、接続管理装置６０に対して通知する。
【０３２１】
以上のように構成されたシンクライアントシステム４の動作について、図面を参照して説明する。
なお、シンクライアントシステム４の接続制御動作は、図２３を参照して説明した本発明の第３の実施の形態の動作と同様であるため、本実施の形態における説明を省略する。
【０３２２】
次に、シンクライアントシステム４の不要なユーザプロファイルの削除動作の概略を図２６に示す。なお、図２６に示す動作は、上述したような任意のタイミングで実行されるものとする。
【０３２３】
図２６において、まず、接続管理装置６０のユーザセッション管理部６２は、利用状況情報を参照することにより、利用可能な仮想マシン７１を抽出する（ステップＢ５１）。
【０３２４】
ここで、利用可能な仮想マシン７１が抽出されなかった場合（ステップＢ５２でＮｏ）、ユーザセッション管理部６２は、動作を終了する。
【０３２５】
一方、利用可能な仮想マシン７１が抽出された場合（ステップＢ５２でＹｅｓ）、ユーザセッション管理部６２は、抽出された各仮想マシン７１に対して、不要なユーザプロファイルの削除を要求する（ステップＢ５３）。このステップの詳細については後述する。
【０３２６】
また、不要なユーザプロファイルの削除を要求された各仮想マシン７１では、ユーザプロファイル管理部７２は、不要なユーザプロファイルを削除する（ステップＣ５１）。このステップの詳細については後述する。
【０３２７】
次に、ステップＢ５３における不要なユーザプロファイルの削除要求動作の詳細を図２７に示す。
【０３２８】
図２７において、接続管理装置６０のユーザセッション管理部６２は、該当する仮想マシン７１上に保持される有効なユーザプロファイルのうち、使用時刻が所定時間以内のユーザを抽出する（ステップＢ６１）。
【０３２９】
次に、ユーザセッション管理部６２は、抽出したユーザを除外ユーザとして通知しながら、該当する仮想マシン７１に対して、不要なユーザプロファイルの削除を要求する（ステップＢ６２）。
【０３３０】
次に、ユーザセッション管理部６２は、削除を要求した仮想マシン７１から、削除したユーザプロファイルのユーザを表す情報を受信する（ステップＢ６３）。
【０３３１】
次に、ユーザセッション管理部６２は、受信した情報の示す各ユーザについて、ステップＢ６４〜Ｂ６５の処理を実行する。
【０３３２】
具体的には、ユーザセッション管理部６２は、該当するユーザについて、ユーザプロファイル所在情報を参照する。そして、ユーザセッション管理部６２は、該当するユーザについて有効なユーザプロファイルを保持する仮想マシン７１が、削除処理を実行した仮想マシン７１であるか否かを判断する（ステップＢ６４）。
【０３３３】
ここで、該当するユーザについて有効なユーザプロファイルを保持する仮想マシン７１が、削除処理を実行した仮想マシン７１である場合、ユーザセッション管理部６２は、該当するユーザについての有効プロファイル所在情報を消去する（ステップＢ６５）。
【０３３４】
一方、該当するユーザにいて、有効なユーザプロファイルを保持する仮想マシン７１が、削除処理を実行した仮想マシン７１でない場合、ユーザセッション管理部６２は、該当するユーザについての有効プロファイル所在情報をそのままにする。
【０３３５】
ユーザセッション管理部６２は、ステップＢ６３で受信した情報の示す全てのユーザについてステップＢ６４〜Ｂ６５の処理を完了すると、不要なユーザプロファイルの削除要求動作を終了する。
【０３３６】
次に、ステップＣ５１における不要なユーザプロファイルの削除動作の詳細を図２８に示す。
【０３３７】
図２８において、仮想マシン７１のユーザプロファイル管理部７２は、ステップＣ３１〜Ｃ３６まで本発明の第３の実施の形態と同様に動作して、不要なユーザプロファイルを削除する。ただし、ステップＣ３１において除外ユーザとして通知されるユーザは、この仮想マシン７１上にある有効なユーザプロファイルのうち、直近の使用時刻からの経過時間が所定条件を満たすユーザプロファイルのユーザである。
【０３３８】
次に、ユーザプロファイル管理部７２は、接続管理装置６０に対して、ステップＣ３６で削除したユーザプロファイルのユーザを表す情報を通知する（ステップＣ６７）。
【０３３９】
ここで通知されるユーザには、この仮想マシン７１上に有効なユーザプロファイルがあったユーザであっても、直近の使用時刻からの経過時間が所定条件を満たさないユーザプロファイルのユーザが含まれうることになる。
【０３４０】
以上で、仮想マシン７１は、不要なユーザプロファイルの削除動作を終了する。
【０３４１】
次に、シンクライアントシステム４の動作を具体例で示す。
【０３４２】
＜具体例６＞
ここでは、ユーザ情報管理装置３２０は、図６に示したユーザ情報を格納しているものとする。また、接続管理装置６０は、図２９に示す利用状況情報と、図３０に示す有効プロファイル所在情報と、図９に示したグループ設定情報とを保持しているものとする。また、除外ユーザの抽出条件となる直近の使用時刻からの経過時間は、７日以内と定められているものとする。また、現在時刻は、「2014/07/09 20:00:00.000」であるとする。
【０３４３】
まず、接続管理装置６０のユーザセッション管理部６２は、図２９の利用状況情報を参照し、利用可能な仮想マシン７１として「Vpc13」を取得する（ステップＢ５１、Ｂ５２でＹｅｓ）。
【０３４４】
そこで、ユーザセッション管理部６２は、仮想マシン７１「Vpc13」に対して、不要なユーザプロファイルの削除を要求する（ステップＢ５３）
具体的には、ユーザセッション管理部６２は、図３０の有効プロファイル所在情報を参照し、利用可能な仮想マシン７１「Vpc13」に有効なユーザプロファイルが保持されるユーザとして、「User10」、「User12」を取得する。
【０３４５】
そして、ユーザセッション管理部６２は、「User10」、「User12」のうち、直近の使用時刻からの経過時間が７日以内のユーザを抽出する。ここでは、「User10」の直近の使用時刻「2014/07/09 20:00:00.000」から現在時刻「2014/07/10 20:35:00.000」までの経過時間は、７日以内である。一方、「User12」の直近の使用時刻「2014/07/02 07:30:00.000」から現在時刻「2014/07/10 20:35:00.000」までの経過時間は、７日を超えている。したがって、ユーザセッション管理部６２は、条件に当てはまる除外ユーザとして、「User10」を抽出する（ステップＢ６１）。
【０３４６】
次に、ユーザセッション管理部６２は、仮想マシン７１「Vpc13」に対して、除外ユーザとして「User10」を通知しつつ、不要なユーザプロファイルの削除を要求する（ステップＢ６２）。
【０３４７】
次に、仮想マシン７１「Vpc13」のユーザプロファイル管理部７２は、除外ユーザとして「User10」の情報を取得する（ステップＣ３１）。
【０３４８】
次に、ユーザプロファイル管理部７２は、自装置にログオン中のユーザ一覧を取得する（ステップＣ３２）。
【０３４９】
ここでは、ログオン中のユーザはいなかったものとする。
【０３５０】
次に、ユーザプロファイル管理部７２は、自装置「Vpc13」に保持されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「User10」のユーザプロファイルが見つかったとする（ステップＣ３３でＹｅｓ）
次に、ユーザプロファイル管理部７２は、「user10」のユーザプロファイルが移動ユーザプロファイルであると判断する（ステップＣ３４でＹｅｓ）。
【０３５１】
次に、ユーザプロファイル管理部７２は、「User10」が、除外ユーザ「User10」であると判断する（ステップＣ３５でＹｅｓ）。
【０３５２】
そこで、ユーザプロファイル管理部７２は、「User10」のユーザプロファイルを削除せずに、ステップＣ３３に戻る。
【０３５３】
次に、ユーザプロファイル管理部７２は、自装置「Vpc13」に保持されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「User12」のユーザプロファイルが見つかったとする（ステップＣ３３でＹｅｓ）
次に、ユーザプロファイル管理部７２は、「User12」のユーザプロファイルが移動ユーザプロファイルであると判断する（ステップＣ３４でＹｅｓ）。
【０３５４】
次に、ユーザプロファイル管理部７２は、「User12」が、除外ユーザ「User10」でなく、ログオン中でないと判断する（ステップＣ３５でＮｏ）。
【０３５５】
そこで、ユーザプロファイル管理部７２は、「User12」のユーザプロファイルを削除する（ステップＣ３６）。
【０３５６】
ステップＣ３３に戻り、ユーザプロファイル管理部７２は、自装置「Vpc13」に保持されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理のユーザプロファイルがないと判断する（ステップＣ３３でＮｏ）。
【０３５７】
次に、ユーザプロファイル管理部７２は、ユーザプロファイルを削除したユーザとして「User12」を、接続管理装置６０に通知する（ステップＣ６７）。
【０３５８】
次に、ユーザセッション管理部６２は、仮想マシン７１から、削除したユーザプロファイルのユーザとして「User12」の情報を取得する（ステップＢ６３）。
【０３５９】
ここで、図３０の有効プロファイル所在情報において、削除を通知されたユーザ「User12」の有効なユーザプロファイルを保持する仮想マシン７１は、「Vpc13」である。また、ステップＢ６３での削除ユーザの通知元の仮想マシン７１は、「Vpc13」である。したがって、ユーザセッション管理部６２は、削除を通知されたユーザ「User12」の有効なユーザプロファイルを保持する仮想マシン７１が、削除ユーザの通知元の仮想マシン７１であると判断する（ステップＢ６４でＹｅｓ）。
【０３６０】
そこで、ユーザセッション管理部６２は、削除を通知されたユーザ「User12」の有効プロファイル所在情報を消去する（ステップＢ６５）。
【０３６１】
これにより、有効プロファイル所在情報は、図３０に示す内容から図３１に示す内容に更新される。
【０３６２】
以上で、シンクライアントシステム４の具体的な動作例の説明を終了する。
【０３６３】
次に、本発明の第４の実施の形態の効果について述べる。
【０３６４】
本発明の第４の実施の形態は、ログオンストームの発生を抑制するために各仮想マシンに保持させるユーザプロファイルについて、必要となる記憶容量の増大をさらに抑制することができる。
【０３６５】
その理由について述べる。本実施の形態では、接続管理装置のユーザセッション管理部が、ログオン先として選択された仮想マシンに対して不要なユーザプロファイルの削除を要求する際に、除外ユーザとして、次のユーザを通知するからである。そのユーザとは、削除要求先の仮想マシンに有効なユーザプロファイルがあるユーザのうち、直近の使用時刻が所定条件を満たすユーザである。例えば、所定条件としては、直近の使用時刻からの経過時間が所定期間以内であることが適用される。
【０３６６】
このように、仮想マシンのユーザプロファイル管理部は、自装置上に有効なユーザプロファイルが保持されるユーザであっても、所定期間使用されていないユーザプロファイルを削除する。これにより、本実施の形態は、ユーザの有効なユーザプロファイルであっても、再利用の可能性が低い古いユーザプロファイルを削除するので、ユーザプロファイルの保持に必要な記憶容量をより削減することができる。
【０３６７】
また、本発明の第４の実施の形態は、不要なユーザプロファイルの削除処理に起因して、仮想マシンの負荷が増大することの影響を少なくすることができる。
【０３６８】
その理由について説明する。本実施の形態では、接続管理装置のユーザセッション管理部が、任意のタイミングで、その時点で利用可能な（利用中でない）仮想マシンに対して、不要なユーザプロファイルの削除を要求するからである。
【０３６９】
これにより、本実施の形態では、仮想マシンが、不要なユーザプロファイルの削除処理を、例えばシンクライアントシステムを利用するユーザが少ない時間帯等、仮想マシンの負荷が増大しても影響の少ない時間帯に実行することができる。
【０３７０】
なお、上述した本発明の各実施の形態において、利用状況情報および有効プロファイル所在情報の具体例を表形式でいくつか示したが、本発明の利用状況情報および有効プロファイル所在情報のデータ構造や含まれる情報の種類を限定するものではない。利用状況情報は、少なくとも各仮想マシンが利用中であるか否かを表す情報を含んでいればよい。また、有効プロファイル所在情報は、各ユーザについて有効なユーザプロファイルがある仮想マシンを表す情報を含んでいればよい。
【０３７１】
また、上述した本発明の各実施の形態において、同一のユーザが複数の仮想マシンに同時にログオンする運用も可能である。各実施の形態において、接続管理装置のユーザセッション管理部は、ログオフ時にも、ログオフしたユーザの有効なユーザプロファイルを保持する仮想マシンを記録する。これにより、本実施の形態は、あるユーザが同時に複数の仮想マシンにログオンしている期間があったとしても、最後にログオフした仮想マシンで利用されていた（最後に更新された）ユーザプロファイルを、次回のログオン時に再利用できる可能性を高くする。
【０３７２】
また、上述した本発明の第２〜第４の実施の形態において、ユーザプロファイル格納装置およびユーザ情報管理装置が異なる装置である例を示したが、これらの装置は同一のコンピュータ装置上に実現されていてもよい。また、ユーザプロファイル格納装置は、複数のコンピュータ装置によって構成されていてもよい。また、ユーザ情報管理装置は、複数のコンピュータ装置によって構成されていてもよい。
【０３７３】
また、上述した本発明の第２〜第３の実施の形態において、接続管理装置のユーザセッション管理部は、不要なプロファイル削除要求動作として、本発明の第４の実施の形態に示した不要なプロファイル削除要求動作を実行するよう構成されてもよい。その場合、本発明の第２〜第３の実施の形態において、仮想マシンのユーザプロファイル管理部は、不要なプロファイル削除動作として、本発明の第４の実施の形態に示した不要なプロファイル削除動作を実行するよう構成されればよい。
【０３７４】
また、上述した本発明の各実施の形態において、シンクライアントシステムを構成する各装置の各機能ブロックが、記憶装置またはＲＯＭに記憶されたコンピュータ・プログラムを実行するＣＰＵによって実現される例を中心に説明した。これに限らず、各機能ブロックの一部、全部、または、それらの組み合わせが専用のハードウェアにより実現されていてもよい。
【０３７５】
また、上述した本発明の各実施の形態において、シンクライアントシステムを構成する各装置の機能ブロックは、複数の装置に分散されて実現されてもよい。
【０３７６】
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明したシンクライアントシステムの各装置の動作を、本発明のコンピュータ・プログラムとしてコンピュータ装置の記憶装置（記憶媒体）に格納しておく。そして、係るコンピュータ・プログラムを当該ＣＰＵが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
【０３７７】
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
【０３７８】
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
【０３７９】
また、上述した各実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
シンクライアント端末と、接続管理装置と、１つ以上の仮想マシンが動作する仮想マシン稼働装置と、ユーザプロファイル格納装置とを備えたシンクライアントシステムであって、
前記シンクライアント端末は、前記シンクライアントシステムにログオンを要求するユーザを表す情報を取得すると前記接続管理装置に送信し、前記接続管理装置から通知される情報の示す仮想マシンに自装置を接続して前記ユーザをログオンさせ、
前記ユーザプロファイル格納装置は、前記シンクライアントシステムのユーザ毎にユーザプロファイルを格納し、
前記接続管理装置は、
前記各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記各ユーザについて有効なユーザプロファイルを保持している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択する仮想マシン選択部と、
前記シンクライアントシステムにログオンを要求するユーザを表す情報を前記シンクライアント端末から取得すると、前記仮想マシン選択部によって選択される仮想マシンを表す情報を前記シンクライアント端末に通知するとともに、前記ユーザの前記仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新するユーザセッション管理部と、
を有し、
前記仮想マシンは、
自装置にログオンしたユーザの有効なユーザプロファイルを、自装置上または前記ユーザプロファイル格納装置から取得し、前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保持しておくとともに前記ユーザプロファイル格納装置に格納するユーザプロファイル管理部と、
自装置に対するユーザの接続状態を監視して前記接続管理装置に通知するユーザ接続監視部と、
を有するシンクライアントシステム。
（付記２）
前記接続管理装置において、
前記ユーザセッション管理部は、不要なユーザプロファイルの削除要求対象となる仮想マシンについて、該仮想マシン上に保持されている有効なユーザプロファイルのユーザを前記有効プロファイル所在情報を参照することにより特定し、特定したユーザを、ユーザプロファイルの削除対象から除外する除外ユーザとして通知しながら、前記削除要求対象の仮想マシンに対して不要なユーザプロファイルの削除を要求し、
前記削除要求対象の仮想マシンにおいて、
前記ユーザプロファイル管理部は、自装置にログオン中のユーザ、ログオン要求中のユーザおよび前記除外ユーザのユーザプロファイル以外の不要なユーザプロファイルを削除することを特徴とする付記１に記載のシンクライアントシステム。
（付記３）
前記接続管理装置において、
前記ユーザセッション管理部は、前記ユーザによるログオンの要求に基づくタイミングで、前記仮想マシン選択部によって選択された仮想マシンを前記削除要求対象として、該仮想マシンに対して前記除外ユーザを通知しながら不要なユーザプロファイルの削除を要求することを特徴とする付記２に記載のシンクライアントシステム。
（付記４）
前記接続管理装置において、
前記ユーザセッション管理部は、前記ユーザによるログオフに基づくタイミングで、該ユーザがログオンしていた仮想マシンを前記削除要求対象として、該仮想マシンに対して前記除外ユーザを通知しながら不要なユーザプロファイルの削除を要求することを特徴とする付記２または付記３に記載のシンクライアントシステム。
（付記５）
前記接続管理装置において、
前記ユーザセッション管理部は、任意のタイミングで、その時点で利用可能な仮想マシンを前記削除要求対象として、該仮想マシンに対して前記除外ユーザを通知しながら不要なユーザプロファイルの削除を要求することを特徴とする付記２から付記４のいずれか１つに記載のシンクライアントシステム。
（付記６）
前記接続管理装置において、
前記仮想マシン選択部は、前記利用状況情報を参照することにより利用可能な仮想マシンを抽出し、抽出した利用可能な仮想マシンのうち、ログオンを要求するユーザについて有効なユーザプロファイルを保持する仮想マシンを、前記有効プロファイル所在情報を参照することにより選択することを特徴とする付記１から付記５のいずれか１つに記載のシンクライアントシステム。
（付記７）
前記接続管理装置において、
前記仮想マシン選択部は、抽出した利用可能な仮想マシンのうちログオンを要求するユーザについて有効なユーザプロファイルを保持する仮想マシンがない場合、抽出した利用可能な仮想マシンのうちいずれか１つを選択することを特徴とする付記６に記載のシンクライアントシステム。
（付記８）
前記接続管理装置において、
前記仮想マシン選択部は、抽出した利用可能な仮想マシンのうちログオンを要求するユーザについて有効なユーザプロファイルを保持する仮想マシンがない場合、抽出した利用可能な仮想マシンのうちいずれのユーザについても有効なユーザプロファイルを保持していない仮想マシンの１つを選択することを特徴とする付記７に記載のシンクライアントシステム。
（付記９）
前記接続管理装置において、
前記仮想マシン選択部は、抽出した利用可能な仮想マシンのうち、ログオンを要求するユーザについて有効なユーザプロファイルを保持する仮想マシンがなく、かつ、いずれのユーザについても有効なユーザプロファイルを保持していない仮想マシンがない場合、抽出した利用可能な仮想マシンのうち直近の使用時刻に基づく条件を用いて１つを選択することを特徴とする付記８に記載のシンクライアントシステム。
（付記１０）
付記１から付記９のいずれか１つに記載のシンクライアントシステムにおける接続管理装置。
（付記１１）
付記１から付記９のいずれか１つに記載のシンクライアントシステムにおける仮想マシンが稼働する仮想マシン稼働装置。
（付記１２）
シンクライアント端末が、シンクライアントシステムにログオンを要求するユーザを表す情報を取得すると接続管理装置に送信し、
前記接続管理装置が、前記シンクライアントシステムにログオンを要求するユーザを表す情報を前記シンクライアント端末から取得すると、仮想マシン稼働装置上で動作する各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保持している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択し、選択した仮想マシンを表す情報を前記シンクライアント端末に通知し、
前記シンクライアント端末が、前記接続管理装置から通知される情報の示す仮想マシンに自装置を接続して前記ユーザをログオンさせ、
前記仮想マシンが、自装置にログオンしたユーザの有効なユーザプロファイルを、自装置上またはユーザプロファイル格納装置から取得し、前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保持しておくとともに前記ユーザプロファイル格納装置に格納し、
前記仮想マシンが、自装置にログオンするユーザの接続状態を監視して前記接続管理装置に通知し、
前記接続管理装置が、前記ユーザの前記仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新する方法。
（付記１３）
シンクライアントシステムにログオンを要求するユーザを表す情報を前記シンクライアント端末から取得すると、
仮想マシン稼働装置上で動作する各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保持している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択し、選択した仮想マシンを表す情報を前記シンクライアント端末に通知することにより前記シンクライアント端末を該仮想マシンに接続して前記ユーザをログオンさせ、
前記ユーザの該仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新する方法。
（付記１４）
仮想マシン稼働装置上で動作する仮想マシンが、シンクライアント端末からの接続によりログオンさせたユーザの有効なユーザプロファイルを、自装置上または前記ユーザプロファイル格納装置から取得し、
前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保持しておくとともに前記ユーザプロファイル格納装置に格納し、
自装置に対するユーザの接続状態を監視して付記１３に記載の方法を実行する装置に通知する方法。
（付記１５）
シンクライアント端末および仮想マシン稼働装置上で動作する仮想マシンの接続を管理する接続管理装置に、
シンクライアントシステムにログオンを要求するユーザを表す情報を前記シンクライアント端末から取得するユーザ情報取得ステップと、
前記各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保持している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択する仮想マシン選択ステップと、
前記仮想マシン選択ステップで選択された仮想マシンを表す情報を前記シンクライアント端末に通知することにより前記シンクライアント端末を該仮想マシンに接続して前記ユーザをログオンさせる接続制御ステップと、
前記ユーザの該仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新する更新ステップと、
を実行させるプログラム。
（付記１６）
仮想マシン稼働装置上で動作する仮想マシンに、
シンクライアント端末からの接続によりログオンさせたユーザの有効なユーザプロファイルを、自装置上または前記ユーザプロファイル格納装置から取得するユーザプロファイル取得ステップと、
前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保持しておくとともに前記ユーザプロファイル格納装置に格納するユーザプロファイル格納ステップと、
自装置に対するユーザの接続状態を監視して付記１５に記載のプログラムを実行する装置に通知する接続監視ステップと、を実行させるプログラム。
【符号の説明】
【０３８０】
１、２、３、４    シンクライアントシステム
１０、３０、５０、６０    接続管理装置
１１、３１    仮想マシン選択部
１２、３２、５２、６２    ユーザセッション管理部
２０、４０、７０    仮想マシン稼働装置
２１、４１、７１    仮想マシン
２２、４２、７２    ユーザプロファイル管理部
２３    ユーザ接続監視部
１１０、１２０    シンクライアント端末
２１０    ユーザプロファイル格納装置
３２０    ユーザ情報管理装置
１００１、２００１、３００１、４００１    ＣＰＵ
１００２、２００２、３００２、４００２    メモリ
１００３    出力装置
１００４    入力装置
１００５、２００５、３００５、４００５    ネットワークインタフェース
【図１】
0006582445.tif 000002
【図２】
0006582445.tif 000003
【図３】
0006582445.tif 000004
【図４】
0006582445.tif 000005
【図５】
0006582445.tif 000006
【図６】
0006582445.tif 000007
【図７】
0006582445.tif 000008
【図８】
0006582445.tif 000009
【図９】
0006582445.tif 000010
【図１０】
0006582445.tif 000011
【図１１】
0006582445.tif 000012
【図１２】
0006582445.tif 000013
【図１３】
0006582445.tif 000014
【図１４】
0006582445.tif 000015
【図１５】
0006582445.tif 000016
【図１６】
0006582445.tif 000017
【図１７】
0006582445.tif 000018
【図１８】
0006582445.tif 000019
【図１９】
0006582445.tif 000020
【図２０】
0006582445.tif 000021
【図２１】
0006582445.tif 000022
【図２２】
0006582445.tif 000023
【図２３】
0006582445.tif 000024
【図２４】
0006582445.tif 000025
【図２５】
0006582445.tif 000026
【図２６】
0006582445.tif 000027
【図２７】
0006582445.tif 000028
【図２８】
0006582445.tif 000029
【図２９】
0006582445.tif 000030
【図３０】
0006582445.tif 000031
【図３１】
0006582445.tif 000032