(57)【要約】【課題】ユーザと仮想マシンとの対応付けに柔軟性を持たせた上で、ログインの集中に伴う負荷を低減すること。【解決手段】複数の仮想マシンＩＤのそれぞれに、複数のユーザＩＤの組み合わせを割り当てた仮想マシン管理情報を記憶する記憶装置と、複数の仮想マシンを管理する仮想マシン管理装置と、を備え、仮想マシン管理装置は、複数の仮想マシンの接続状況に応じて、当該複数の仮想マシンのそれぞれについて、仮想マシン管理情報において割り当てられた各ユーザＩＤに基づくログイン処理である事前ログイン処理を実行する事前ログイン処理部と、外部の端末から、複数のユーザＩＤのうち一つを含む接続要求を受け付け、当該接続要求に含まれるユーザＩＤに基づく事前ログイン処理が実行済みの仮想マシンのうち一つを選択し、端末に対して当該選択した仮想マシンを当該ユーザＩＤによりアクセス可能に接続する接続要求処理部と、を備える。【選択図】図１
2015153080.tif 000002
【特許請求の範囲】
【請求項１】
複数の仮想マシンの識別情報のそれぞれに、複数のユーザ識別情報の組み合わせを割り当てた仮想マシン管理情報を記憶する記憶装置と、
前記複数の仮想マシンを管理する仮想マシン管理装置と、を備え、
前記仮想マシン管理装置は、
前記複数の仮想マシンの接続状況に応じて、当該複数の仮想マシンのそれぞれについて、前記仮想マシン管理情報において割り当てられた各ユーザ識別情報に基づくログイン処理である事前ログイン処理を実行する事前ログイン処理部と、
外部の端末から、前記複数のユーザ識別情報のうち一つを含む接続要求を受け付け、当該接続要求に含まれるユーザ識別情報に基づく前記事前ログイン処理が実行済みの仮想マシンのうち一つを選択し、前記端末に対して当該選択した仮想マシンを当該ユーザ識別情報によりアクセス可能に接続する接続要求処理部と、
を備える仮想マシン管理システム。
【請求項２】
前記接続要求処理部は、
前記選択した仮想マシンに前記事前ログイン処理が実行済みのユーザ識別情報のうち、前記接続要求に含まれるユーザ識別情報以外のユーザ識別情報についてログアウト処理を行う
請求項１に記載の仮想マシン管理システム。
【請求項３】
前記接続要求処理部は、
前記接続要求に含まれるユーザ識別情報に基づく前記事前ログイン処理が実行済みの仮想マシンが存在しない場合、他の仮想マシンのうち一つを選択し、前記端末に対して当該選択した仮想マシンを当該ユーザ識別情報によりアクセス可能に接続すると共に、当該接続要求に含まれるユーザ識別情報以外のユーザ識別情報についてログアウト処理を行う
請求項１又は２に記載の仮想マシン管理システム。
【請求項４】
前記事前ログイン処理部は、
前記複数の仮想マシンのそれぞれについて、前記仮想マシン管理情報において割り当てられた各ユーザ識別情報に対応する情報を該当する仮想マシンに読み込み、
前記接続要求は、当該接続要求に含まれるユーザ識別情報に対応するパスワードをさらに含み、
前記接続要求処理部は、
前記接続要求に含まれるユーザ識別情報及びパスワードによる認証処理を行い、認証された場合に、前記端末に対して当該選択した仮想マシンを当該ユーザ識別情報によりアクセス可能に接続する
請求項１乃至３のいずれか１項に記載の仮想マシン管理システム。
【請求項５】
前記複数の仮想マシンに対応する複数のディスクデータを記憶する記憶部を有し、当該記憶部から前記複数のディスクデータのそれぞれを読み出して前記複数の仮想マシンとして実行する仮想マシン実行サーバをさらに備え、
前記記憶装置は、前記複数のディスクデータの基準となるマスタデータをさらに記憶し、
前記仮想マシン管理装置は、
前記複数の仮想マシンのそれぞれからの各ユーザのログアウト後に、前記記憶部から前記複数のディスクデータに含まれる各ユーザに関する複数のプロファイル情報を抽出し、
前記抽出した複数のプロファイル情報を前記記憶装置へ保存し、
前記記憶装置に記憶されたマスタデータに前記保存された複数のプロファイル情報を追加して当該マスタデータを更新し、
前記更新後のマスタデータを、前記記憶部に記憶された前記複数のディスクデータのそれぞれに上書きする、更新処理部をさらに備える
請求項１乃至４のいずれか１項に記載の仮想マシン管理システム。
【請求項６】
前記更新処理部は、
前記マスタデータに、前記保存された複数のプロファイル情報のうち一部を追加して第１のマスタデータを生成し、
前記第１のマスタデータを、前記記憶部に記憶された前記複数のディスクデータの一部に上書きし、
前記第１のマスタデータに対応する仮想マシンの識別情報に、前記一部のプロファイル情報に対応するユーザ識別情報を割り当てて、前記記憶装置に記憶された前記仮想マシン管理情報を更新する
請求項５に記載の仮想マシン管理システム。
【請求項７】
前記仮想マシン管理情報は、各仮想マシンにおけるログインの状態を示すログイン状態情報を含み、
前記事前ログイン処理部は、
前記事前ログイン処理を実行した仮想マシンについての前記ログイン状態情報を当該事前ログイン処理が実行済みとして前記仮想マシン管理情報を更新し、
前記接続要求処理部は、
前記仮想マシン管理情報の前記ログイン状態情報を参照することで、前記事前ログイン処理が実行済みの仮想マシンであるか否かを判定し、
前記アクセス可能に接続した仮想マシンについての前記ログイン状態情報を接続済みとして前記仮想マシン管理情報を更新する
請求項１乃至６のいずれか１項に記載の仮想マシン管理システム。
【請求項８】
複数の仮想マシンの識別情報のそれぞれに、複数のユーザ識別情報の組み合わせを割り当てた仮想マシン管理情報を記憶する記憶部と、
前記複数の仮想マシンの接続状況に応じて、当該複数の仮想マシンのそれぞれについて、前記仮想マシン管理情報において割り当てられた各ユーザ識別情報に基づくログイン処理である事前ログイン処理を実行する事前ログイン処理部と、
外部の端末から、前記複数のユーザ識別情報のうち一つを含む接続要求を受け付け、当該接続要求に含まれるユーザ識別情報に基づく前記事前ログイン処理が実行済みの仮想マシンのうち一つを選択し、前記端末に対して当該選択した仮想マシンを当該ユーザ識別情報によりアクセス可能に接続する接続要求処理部と、
を備える仮想マシン管理装置。
【請求項９】
複数の仮想マシンの接続状況に応じて、当該複数の仮想マシンのそれぞれについて、予め割り当てられた複数のユーザ識別情報の組み合わせに基づくログイン処理である事前ログイン処理を実行し、
外部の端末から、前記複数のユーザ識別情報のうち一つを含む接続要求を受け付け、
前記受け付けた接続要求に含まれるユーザ識別情報に基づく前記事前ログイン処理が実行済みの仮想マシンのうち一つを選択し、
前記端末に対して、前記選択した仮想マシンを当該ユーザ識別情報によりアクセス可能に接続する
仮想マシン管理方法。
【請求項１０】
複数の仮想マシンの接続状況に応じて、当該複数の仮想マシンのそれぞれについて、予め割り当てられた複数のユーザ識別情報の組み合わせに基づくログイン処理である事前ログイン処理を実行する処理と、
外部の端末から、前記複数のユーザ識別情報のうち一つを含む接続要求を受け付ける処理と、
前記受け付けた接続要求に含まれるユーザ識別情報に基づく前記事前ログイン処理が実行済みの仮想マシンのうち一つを選択する処理と、
前記端末に対して、前記選択した仮想マシンを当該ユーザ識別情報によりアクセス可能に接続する処理と、
をコンピュータに実行させる仮想マシン管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシン管理システム、仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理プログラムに関し、特に、仮想ＰＣ型の仮想マシン管理システム、仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理プログラムに関する。
【背景技術】
【０００２】
シンクライアントシステムは、企業を中心に、セキュリティ、モビリティ及びマシンの管理の観点から普及が進んでいる。シンクライアントシステムの実現方法としては、例えば、仮想ＰＣ型と言われるものがある。仮想ＰＣ型は、サーバマシン上に仮想的なＰＣ（仮想ＰＣ、仮想マシン、ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）等と呼ばれる。以下、「仮想マシン」という。）を作成し、ネットワーク経由で利用する形態である。
【０００３】
シンクライアントシステムでは、接続管理ソフト（コネクションブローカと呼ばれる）が用いられることがある。接続管理ソフトは、ユーザが端末から仮想マシンに接続する際、どの仮想マシンに接続するかを決定することや、ユーザの利用情報を管理すること等に用いられる。ユーザは、端末から接続管理ソフトにアクセスし、自分が利用するべき仮想マシンを配分され、その仮想マシンにアクセスすることで仮想マシンを利用する。
【０００４】
シンクライアントシステムは多くの企業で利用されている。そして、多くの企業では、始業時間が決まっており、その始業時間前後にログインが集中することが多い。このような状況は、「ログインストーム」と呼ばれることがある。仮想ＰＣサーバやストレージにとって、このログインストームは、通常業務中等の負荷よりも大きくなることもある。そこで、ログインストームを解決する手段として、例えば特許文献１の技術がある。
【０００５】
特許文献１には、ネットワーク上又はクライアント装置内のストレージ装置に格納されたディスクイメージを用いてクライアント装置を起動する管理サーバを備えるネットブートシステムに関する技術が開示されている。特許文献１にかかる管理サーバは、クライアント装置の稼働状況等が所定の条件に当てはまる時に、利用者の認証用情報を用いて該当クライアント装置にアクセスし、動作指示を行うものである。所定の条件とは、クライアント装置が未稼働であり、利用者がほぼ退社している夜中や早朝時である等である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−０２０７４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１には、ユーザ端末とログイン対象のクライアント装置との対応付けの自由度が考慮されていないため、利用効率が不十分な場合があるという問題点がある。特許文献１にかかる技術は、ログイン要求を発すると想定されるユーザ端末に対応づいたクライアント装置の稼働状況が未稼働であり、所定の時間帯である場合に、ユーザ端末からのログイン要求なしに認証処理を行うものである。つまり、ユーザ端末とクライアント装置との対応付けが固定的といえる。
【０００８】
ここで、一台のサーバ又はストレージにおける仮想ＰＣの稼働台数を決定することをサイジングという。サイジングは、ハードウェアコストの面から重要である。しかし、業務中の負荷に合わせてサイジングすると、ログインストーム時に過負荷になる可能性がある。一方で、ログインストーム時の負荷に合わせてサイジングすると、業務中のリソース稼働率が小さく非効率になる可能性がある。
【０００９】
尚、一つの解決策として、仮想マシンの利用が終わったあと、ログアウトせずに切断のみを行う方法も考えられる。しかし、仮想マシンへのパッチ配布などの定期メンテナンスが行われるなど、ログイン状態を常に維持しておくことは困難である。
【００１０】
また、日々、ログインストームが起こる会社であっても、毎回、同じユーザがログインする保証はない。そのため、特許文献１のようにユーザ端末とクライアント装置の対応付けを固定的に扱うと、結果的にログインストームの時間帯にログインしなかったユーザに対して割り当てられたリソースが無駄になる恐れがある。そのため、特許文献１にかかる技術は、リソースの利用効率が悪くなる場合があり得る。
【００１１】
本発明は、このような問題点を解決するためになされたものであり、ユーザと仮想マシンとの対応付けに柔軟性を持たせた上で、ログインの集中に伴う負荷を低減するための
仮想マシン管理サーバ、仮想マシン管理システム、仮想マシン管理方法、及び仮想マシン管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の第１の態様にかかる仮想マシン管理システムは、
複数の仮想マシンの識別情報のそれぞれに、複数のユーザ識別情報の組み合わせを割り当てた仮想マシン管理情報を記憶する記憶装置と、
前記複数の仮想マシンを管理する仮想マシン管理装置と、を備え、
前記仮想マシン管理装置は、
前記複数の仮想マシンの接続状況に応じて、当該複数の仮想マシンのそれぞれについて、前記仮想マシン管理情報において割り当てられた各ユーザ識別情報に基づくログイン処理である事前ログイン処理を実行する事前ログイン処理部と、
外部の端末から、前記複数のユーザ識別情報のうち一つを含む接続要求を受け付け、当該接続要求に含まれるユーザ識別情報に基づく前記事前ログイン処理が実行済みの仮想マシンのうち一つを選択し、前記端末に対して当該選択した仮想マシンを当該ユーザ識別情報によりアクセス可能に接続する接続要求処理部と、
を備える。
【００１３】
本発明の第２の態様にかかる仮想マシン管理装置は、
複数の仮想マシンの識別情報のそれぞれに、複数のユーザ識別情報の組み合わせを割り当てた仮想マシン管理情報を記憶する記憶部と、
前記複数の仮想マシンの接続状況に応じて、当該複数の仮想マシンのそれぞれについて、前記仮想マシン管理情報において割り当てられた各ユーザ識別情報に基づくログイン処理である事前ログイン処理を実行する事前ログイン処理部と、
外部の端末から、前記複数のユーザ識別情報のうち一つを含む接続要求を受け付け、当該接続要求に含まれるユーザ識別情報に基づく前記事前ログイン処理が実行済みの仮想マシンのうち一つを選択し、前記端末に対して当該選択した仮想マシンを当該ユーザ識別情報によりアクセス可能に接続する接続要求処理部と、
を備える。
【００１４】
本発明の第３の態様にかかる仮想マシン管理方法は、
複数の仮想マシンの接続状況に応じて、当該複数の仮想マシンのそれぞれについて、予め割り当てられた複数のユーザ識別情報の組み合わせに基づくログイン処理である事前ログイン処理を実行し、
外部の端末から、前記複数のユーザ識別情報のうち一つを含む接続要求を受け付け、
前記受け付けた接続要求に含まれるユーザ識別情報に基づく前記事前ログイン処理が実行済みの仮想マシンのうち一つを選択し、
前記端末に対して、前記選択した仮想マシンを当該ユーザ識別情報によりアクセス可能に接続する。
【００１５】
本発明の第４の態様にかかる仮想マシン管理プログラムは、
複数の仮想マシンの接続状況に応じて、当該複数の仮想マシンのそれぞれについて、予め割り当てられた複数のユーザ識別情報の組み合わせに基づくログイン処理である事前ログイン処理を実行する処理と、
外部の端末から、前記複数のユーザ識別情報のうち一つを含む接続要求を受け付ける処理と、
前記受け付けた接続要求に含まれるユーザ識別情報に基づく前記事前ログイン処理が実行済みの仮想マシンのうち一つを選択する処理と、
前記端末に対して、前記選択した仮想マシンを当該ユーザ識別情報によりアクセス可能に接続する処理と、
をコンピュータに実行させる。
【発明の効果】
【００１６】
本発明により、ユーザと仮想マシンとの対応付けに柔軟性を持たせた上で、ログインの集中に伴う負荷を低減するための仮想マシン管理サーバ、仮想マシン管理システム、仮想マシン管理方法、及び仮想マシン管理プログラムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態１にかかる仮想マシン管理システムの全体構成を示すブロック図である。
【図２】本発明の実施の形態１にかかる仮想マシン管理処理の流れを示すフローチャートである。
【図３】本発明の実施の形態２にかかるシンクライアントシステムの構成を示すブロック図である。
【図４】本発明の実施の形態２にかかる接続管理テーブルの構成を示すブロック図である。
【図５】本発明の実施の形態２にかかる事前ログイン対象決定処理の流れを説明するためのフローチャートである。
【図６】本発明の実施の形態２にかかる事前ログイン処理の流れを示すシーケンス図である。
【図７】本発明の実施の形態２にかかる接続要求処理の流れを説明するためのフローチャートである。
【図８】本発明の実施の形態３にかかるシンクライアントシステムの構成を示すブロック図である。
【図９】本発明の実施の形態３にかかる仮想ディスクの更新及び配布の概念を説明するための図である。
【発明を実施するための形態】
【００１８】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。尚、以下の説明における「仮想マシン」とは、上述した仮想型ＰＣの方式において実現されるものとする。
【００１９】
＜発明の実施の形態１＞
図１は、本発明の実施の形態１にかかる仮想マシン管理システム１０００の全体構成を示すブロック図である。仮想マシン管理システム１０００は、記憶装置１０と、仮想マシン管理装置２０と、端末３０とを備える。尚、記憶装置１０は、仮想マシン管理装置２０に内蔵されていてもよい。または、記憶装置１０は、仮想マシン管理装置２０と直接又はネットワークを介して接続されていてもよい。また、端末３０は、複数存在するものであるが、図面上は省略している。
【００２０】
記憶装置１０は、仮想マシン管理情報１１を記憶する。仮想マシン管理情報１１は、複数の仮想マシンの識別情報のそれぞれに、複数のユーザ識別情報の組み合わせを割り当てたものである。仮想マシン管理情報１１は、組合せ１１１、１１２、・・・を含む。例えば、組合せ１１１は、仮想マシン識別情報１１１１に対して、ユーザ識別情報１１１２及び１１１３等が割り当てられている。また、組合せ１１２は、ユーザ識別情報１１２２及び１１２３等が割り当てられている。ここで、複数のユーザ識別情報の組み合わせには、仮想マシン管理システム１０００が管理するユーザ識別情報の全て又は一部を含むものとする。また、異なる仮想マシン識別情報の間で割り当てられる組み合わせはそれぞれ異なるものであっても良い。これにより、ユーザと仮想マシンとの対応付けに柔軟性を持たせることができる。
【００２１】
仮想マシン管理装置２０は、事前ログイン処理部２１と、接続要求処理部２２とを備える。事前ログイン処理部２１は、複数の仮想マシンの接続状況に応じて、複数の仮想マシンのそれぞれについて、仮想マシン管理情報１１において割り当てられた各ユーザ識別情報に基づくログイン処理である事前ログイン処理を実行する。ここで、接続状況とは、例えば、各仮想マシンがログインされているか、つまり、端末３０と接続されているか否かを示す。そして、例えば、複数の仮想マシンのほとんどが接続されていない状況に行うことが望ましい。複数の仮想マシンのほとんどが接続されていない状況とは、例えば、仮想マシンの定期メンテナンス後、かつ、ログインストームが発生する前等である。
【００２２】
また、ログイン処理とは、例えば、ユーザ識別情報及び所定のパスワードによる認証処理、当該ユーザ識別情報に対応する情報の仮想マシンへ読み込む処理、その他、ユーザが仮想マシンを利用するための各種設定処理が挙げられる。但し、本発明の実施の形態１にかかるログイン処理は、少なくとも、ユーザ識別情報に対応する情報を仮想マシンに割り当てられたメモリへの読み込む処理が含まれていればよい。
【００２３】
そして、事前ログイン処理部２１は、端末３０からの接続要求によらず、各仮想マシン識別情報に割り当てられたそれぞれのユーザ識別情報についてログイン処理を行う。このとき、パスワード認証は省略するか、事前ログ新処理用の固定パスワードを用いても良い。
【００２４】
接続要求処理部２２は、外部の端末３０から、複数のユーザ識別情報のうち一つを含む接続要求を受け付け、当該接続要求に含まれるユーザ識別情報に基づく事前ログイン処理が実行済みの仮想マシンのうち一つを選択し、端末３０に対して当該選択した仮想マシンを当該ユーザ識別情報によりアクセス可能に接続する。
【００２５】
端末３０は、当該ユーザからユーザ識別情報等の入力を受け付け、当該ユーザ識別情報等を含む接続要求を仮想マシン管理装置２０に対して送信する。また、端末３０は、仮想マシンとの接続後、ユーザによる操作に応じて、操作内容を仮想マシンに対して送信し、仮想マシンから応答を受信し、画面（不図示）に表示する。
【００２６】
図２は、本発明の実施の形態１にかかる仮想マシン管理処理の流れを示すフローチャートである。まず、事前ログイン処理部２１は、複数の仮想マシンの接続状況に応じて、事前ログイン処理を行う（Ｓ１１）。事前ログイン処理とは、当該複数の仮想マシンのそれぞれについて、予め割り当てられた複数のユーザ識別情報の組み合わせに基づく所定のログイン処理を実行することである。
【００２７】
次に、接続要求処理部２２は、外部の端末３０から、複数のユーザ識別情報のうち一つを含む接続要求を受け付ける（Ｓ１２）。そして、接続要求処理部２２は、受け付けた接続要求に含まれるユーザ識別情報に基づく事前ログイン処理が実行済みの仮想マシンのうち一つを選択する（Ｓ１３）。尚、このとき選択される仮想マシンは、他のユーザ、つまり、端末により未接続であるものとする。その後、接続要求処理部２２は、端末３０に対して、選択した仮想マシンを当該ユーザ識別情報によりアクセス可能に接続する（Ｓ１４）。
【００２８】
このように、本発明の実施の形態１では、仮想マシン当たりに複数のユーザ識別情報について予めログイン処理（事前ログイン処理）を行うことで、そして、各ユーザ識別情報は複数の仮想マシンに事前ログインされることで、端末からの接続要求が集中した際に、事前ログイン済みの仮想マシンを速やかに接続させることができる。また、仮想マシン管理情報１１により、仮想マシンとユーザ識別情報の対応付けに柔軟性を持たせることができるため、仮に、一部のユーザがログインの集中時にログインしなかったとしても、その仮想マシンに事前ログインされている他のユーザが即時に接続することができるため、結果的に仮想マシンの利用効率を向上させることができる。よって、ユーザと仮想マシンとの対応付けに柔軟性を持たせた上で、ログインの集中に伴う負荷を低減することができる。
【００２９】
＜発明の実施の形態２＞
図３は、本発明の実施の形態２にかかるシンクライアントシステム２０００の構成を示すブロック図である。シンクライアントシステム２０００は、接続管理サーバ１００と、仮想マシン実行サーバ２００と、端末４００とを備え、それぞれ、ネットワーク５００を介して接続されている。
【００３０】
仮想マシン実行サーバ２００は、複数の仮想マシン３００ａ、３００ｂ、・・・、３００ｎを実行するサーバ装置である。尚、仮想マシン実行サーバ２００は、仮想マシン３００ａ〜３００ｎの実行の開始及び停止等を制御する実行制御部（不図示）を備えるものとする。但し、実行制御部は公知もので実現可能である。
【００３１】
仮想マシン３００ａ〜３００ｎはそれぞれ同等の構成であるため、以下では代表して仮想マシン３００ａについて説明する。仮想マシン３００ａは、ログイン受付部３１０と、ログイン処理部３２０と、ログイン監視部３３０とを備える。ログイン受付部３１０は、事前ログイン指示部１１０から事前ログインの指示を受け付け、また、端末４００からログイン要求を受け付ける。ログイン処理部３２０は、ログイン受付部３１０で受け付けたログイン指示に応じてログイン処理を実行する。ログイン監視部３３０は、ログイン完了を監視して接続管理サーバ１００のテーブル管理部１３０にログイン完了を通知する。
【００３２】
接続管理サーバ１００は、上記仮想マシン管理装置２０の一例であり、事前ログイン指示部１１０と、接続受付部１２０と、テーブル管理部１３０と、接続管理テーブル１４０とを備える。事前ログイン指示部１１０は、上記事前ログイン処理部２１の一例であり、仮想マシン３００ａ〜３００ｎのそれぞれにどのユーザのログイン処理を実行するかを決定し、事前ログインを指示する。接続受付部１２０は、端末４００からの接続要求を受け付け、接続先の仮想マシンを示す接続先情報を端末４００に返信する。テーブル管理部１３０は、仮想マシン３００ａ〜３００ｎとのやり取りを行い、各仮想マシンの状態に応じて接続管理テーブル１４０を管理する。尚、接続受付部１２０及びテーブル管理部１３０は、上記接続要求処理部２２の一例といえる。また、テーブル管理部１３０は、事前ログイン指示部１１０と共に事前ログイン処理部２１の役割を担う。
【００３３】
接続管理テーブル１４０は、上記仮想マシン管理情報の一例であり、仮想マシンの接続状態を管理するためのテーブルである。図４は、本発明の実施の形態２にかかる接続管理テーブル１４０の構成の一例を示すブロック図である。接続管理テーブル１４０は、仮想マシンＩＤ１４１と、ログイン状態１４２と、割当ユーザＩＤ１４３と、ログインユーザＩＤ１４４と、事前ログインユーザＩＤ１４５とが対応付けて保存されている。
【００３４】
仮想マシンＩＤ１４１は、仮想マシン３００ａ〜３００ｎの識別情報である。ログイン状態１４２は、「ログイン中」、「事前ログイン中」、及び、「ログインなし」のいずれかの状態を示す。尚、各状態を示す名称及び種類はこれに限定さない。「ログイン中」状態は、仮想マシンが端末に接続され、特定のユーザＩＤによりログイン済みである状態を示す。「事前ログイン中」状態は、仮想マシンが端末とは接続されていないが、事前ログイン処理が実行済みである状態を示す。「ログインなし」状態は、仮想マシンが端末とは接続されておらず、事前ログイン処理もされていない状態を示す。
【００３５】
割当ユーザＩＤ１４３は、仮想マシンＩＤ１４１に割り当てられたユーザＩＤを示す。割当ユーザＩＤ１４３は、１つの仮想マシンＩＤ１４１当たりに複数、存在してもよい。また、１つのユーザＩＤは、複数の仮想マシンＩＤに割り当てられてもよい。
【００３６】
ログインユーザＩＤ１４４は、対応する仮想マシンにログインしたユーザＩＤを示す。尚、１台の仮想マシン当たりログインユーザＩＤ１４４は、１つとする。事前ログインユーザＩＤ１４５は、対応する仮想マシンに事前ログインしたユーザＩＤを示す。尚、上述のことから、事前ログインユーザＩＤ１４５は、１つの仮想マシンＩＤ１４１当たりに複数、存在し得る。同様に、１つのユーザＩＤは、複数の仮想マシンに事前ログイン可能である。
【００３７】
尚、仮想マシンの接続状態の管理の仕方は、接続管理テーブル１４０に限定されない。例えば、ユーザがどの仮想マシンに割り当てられているか及びログインしているか、また、事前ログインしているか及びログイン済みなのか等については、一般的なアカウント管理の仕組みでも実現可能である。
【００３８】
図３に戻り説明を続ける。端末４００は、いわゆるシンクライアントであり、接続要求部４１０と、ログイン要求部４２０とを備える。接続要求部４１０は、ログイン対象のユーザＩＤを含む接続要求を接続管理サーバ１００の接続受付部１２０へ送信し、接続先情報を受信する。ログイン要求部４２０は、受信した接続先情報が示す仮想マシン３００ａ〜３００ｎのいずれかに対してログイン要求を送信する。ログイン要求には、ユーザＩＤ及びパスワードを含む。
【００３９】
ネットワーク５００は、イントラネットやインターネット等のネットワークである。
【００４０】
ここで、接続受付部１２０は、端末４００から接続要求を受け付けた場合に、接続要求に含まれるユーザＩＤについて事前ログイン処理済みの仮想マシンであって、他のユーザが未ログインである仮想マシンを選択し、選択した仮想マシンを接続先情報として端末４００へ返信する。このとき、接続受付部１２０は、選択した仮想マシンに事前ログイン処理が実行済みのユーザＩＤのうち、接続要求に含まれるユーザＩＤ以外のユーザＩＤについてログアウト処理を行う。これにより、接続された仮想マシンの負荷を軽減することができる。尚、当該ログアウト処理は、ログインストームの時間帯を避けて実行するとよい。
【００４１】
また、接続受付部１２０は、端末４００から接続要求を受け付けた場合に、接続要求に含まれるユーザＩＤに基づく事前ログイン処理が実行済みの仮想マシンが存在しない場合、他の仮想マシンのうち一つを選択し、端末４００に対して当該選択した仮想マシンを当該ユーザＩＤによりアクセス可能に接続すると共に、当該接続要求に含まれるユーザＩＤ以外のユーザＩＤについてログアウト処理を行う。
【００４２】
さらに、事前ログイン指示部１１０は、複数の仮想マシンのそれぞれについて、仮想マシン管理情報において割り当てられた各ユーザ識別情報に対応する情報を該当する仮想マシンに読み込む。そして、接続受付部１２０は、端末４００から接続要求を受け付けた場合に、接続要求に含まれるユーザＩＤ及びパスワードによる認証処理を行い、認証された場合に、端末４００に対して当該選択した仮想マシンを当該ユーザＩＤによりアクセス可能に接続する。これにより、接続要求に応じた処理を最小限に抑えつつ、セキュリティレベルを維持することができる。
【００４３】
テーブル管理部１３０は、事前ログイン処理を実行した仮想マシンについてのログイン状態情報（例えば、ログイン状態１４２）を事前ログイン処理が実行済み（例えば、「事前ログイン中」）として接続管理テーブル１４０を更新する。また、テーブル管理部１３０は、接続管理テーブル１４０のログイン状態１４２を参照することで、事前ログイン処理が実行済みの仮想マシンであるか否かを判定する。そして、テーブル管理部１３０は、アクセス可能に接続した仮想マシンについてログイン状態１４２を接続済み（例えば、「ログイン中」）として接続管理テーブル１４０を更新する。
【００４４】
続いて、本発明の実施の形態２における動作を説明する。まず、事前ログインの処理について述べる。事前ログイン指示部１１０は、あるトリガーをきっかけとして、仮想マシン３００ａ〜３００ｎへの事前ログイン処理を実施するために、ログイン対象の仮想マシンとログインユーザの決定を行う。この場合のトリガーは、システムの管理者が手動で行っても良いし、タイマー等で既定の時間に処理を開始しても良いし、仮想マシン全台再起動の完了に合わせて実施しても良い。
【００４５】
図５は、本発明の実施の形態２にかかる事前ログイン対象決定処理、つまり、事前ログイン対象の仮想マシンとログインユーザの決定の流れを説明するためのフローチャートである。事前ログイン対象の仮想マシンとログインユーザの決定は、テーブル管理部１３０が接続管理テーブル１４０を参照し、どの仮想マシン３００にどのユーザの事前ログイン処理を実行させるかを決定するものである。この方法を下記に述べる。
【００４６】
まず、テーブル管理部１３０は、接続管理テーブル１４０から仮想マシンを１台、選択する（Ｓ１０１）。すなわち、テーブル管理部１３０は、接続管理テーブル１４０を参照し、複数の仮想マシンＩＤ１４１のうち一つを選択する。
【００４７】
次に、テーブル管理部１３０は、選択された仮想マシンのログイン状態１４２が「ログイン中」状態であるか否かを判定する（Ｓ１０２）。このとき、ログイン状態１４２が「ログインなし」又は「事前ログイン中」状態であれば、ステップＳ１０３へ進み、「ログイン中」状態であれば、ステップＳ１１０へ進む。
【００４８】
続いて、テーブル管理部１３０は、選択された仮想マシンに割当ユーザＩＤ１４３が設定されているか否かを判定する（Ｓ１０３）。このとき、割当ユーザＩＤ１４３が設定されていれば、ステップＳ１０４へ進み、割当ユーザＩＤ１４３が設定されていなければ、ステップＳ１１０へ進む。
【００４９】
そして、テーブル管理部１３０は、割当ユーザＩＤ１４３のうち一つを選択する（Ｓ１０４）。次に、テーブル管理部１３０は、選択されたユーザが他の仮想マシンにログイン済みであるか否かを判定する（Ｓ１０５）。具体的には、テーブル管理部１３０は、接続管理テーブル１４０を参照し、他の仮想マシンＩＤ１４１に対応付けられたログインユーザＩＤ１４４について、選択されたユーザＩＤが設定されているか否かを判定する。ステップＳ１０５において選択されたユーザが他の仮想マシンにログイン済みであると判定した場合ステップＳ１０８へ進む。一方、ログイン済みではないと判定した場合、ステップＳ１０６へ進み、事前ログイン指示部１１０は、事前ログイン処理を実行する（Ｓ１０６）。尚、事前ログイン処理について図６で詳述する。
【００５０】
そして、テーブル管理部１３０は、事前ログイン処理の開始後、待ち時間を入れる（Ｓ１０７）。接続管理サーバ１００全体の負荷を軽減するためである。
【００５１】
ステップＳ１０５でＹＥＳの場合又はステップＳ１０７の後、テーブル管理部１３０は、当該ユーザの他に割当ユーザが存在するか否かを判定する（Ｓ１０８）。すなわち、処理対象のユーザＩＤを除いて割当ユーザＩＤ１４３に未選択のユーザＩＤが割り当てられているか否かを判定する。他の割当ユーザが存在しない場合、ステップＳ１１０へ進み、他の割当ユーザが存在する場合、テーブル管理部１３０は、次のユーザＩＤを選択する（Ｓ１０９）。そして、ステップＳ１０５へ戻り、以降、未選択の割当ユーザが存在しなくなるまで繰り返す。
【００５２】
ステップＳ１０２でＹＥＳの場合、ステップＳ１０３でＮＯの場合、又は、ステップＳ１０８でＮＯの場合、テーブル管理部１３０は、次の仮想マシンが存在するか否かを判定する（Ｓ１１０）。具体的には、テーブル管理部１３０は、接続管理テーブル１４０を参照し、複数の仮想マシンＩＤ１４１のうち未選択のものが存在するか否かを判定する。未選択の仮想マシンが存在すると判定した場合、テーブル管理部１３０は、次の仮想マシンを選択し（Ｓ１１１）、ステップＳ１０２へ戻る。以降、未選択の仮想マシンが存在しなくなるまで繰り返す。また、ステップＳ１１０において未選択の仮想マシンが存在しないと判定した場合、テーブル管理部１３０は、当該処理を終了する。
【００５３】
図６は、本発明の実施の形態２にかかる事前ログイン処理の流れを示すシーケンス図である。つまり、図５のステップＳ１０５における処理について説明する。ここでは、事前ログイン対象として仮想マシン３００ａが選択されているものとする。
【００５４】
まず、事前ログイン指示部１１０は、事前ログイン対象の仮想マシン３００ａのログイン受付部３１０に対し、決定したユーザＩＤでのログイン処理を指示する（Ｓ２０１）。なお、通常、ログイン処理はユーザＩＤとパスワードを必要とするが、事前ログイン処理を行うだけであればパスワードは必ずしも必要ではない。また、セキュリティ面を考慮してパスワードを用いる場合でも、ユーザが端末で入力するパスワード（仮想マシンを利用するためのパスワード）とは異なり、ログイン処理のみ実行する権限のみの専用のパスワード（例えば、各ユーザで共通の簡易なもの）で十分である。
【００５５】
ログイン受付部３１０は、受け取ったユーザＩＤでのログインをログイン処理部３２０に指示する（Ｓ２０２）。ログイン処理部３２０は、指示されたユーザＩＤでのログイン処理を実行する（Ｓ２０３）。ここで、ログイン処理は、(1)ユーザＩＤとパスワードによる認証、(2)ファイルサーバ（不図示）から当該ユーザＩＤに対応するプロファイルを読み込み、仮想マシン実行サーバ２００内の記憶装置（不図示）へ保存、(3)プロファイルを仮想マシン実行サーバ２００内のメモリ（不図示）へのロード等である。但し、上述の通り(1)ではパスワードの認証を省略できる。また、事前にプロファイルを仮想マシン実行サーバ２００内に保存していれば(2)も省略できる。そのため、当該ユーザＩＤに対応するプロファイルを特定できれば、最低限(3)の処理で実現できる。これにより、事前ログイン処理自体の負荷を軽減できる。
【００５６】
続いて、ログイン監視部３３０は、ログインを検出する（Ｓ２０４）と、接続管理サーバ１００のテーブル管理部１３０へログイン完了通知を送信する（Ｓ２０５）。その後、テーブル管理部１３０は、接続管理テーブル１４０の事前ログインユーザＩＤ１４５に当該ユーザＩＤを追加し、ログイン状態１４２を「事前ログイン中」に設定する（Ｓ２０６）。
【００５７】
次に、ユーザが端末を操作して仮想マシンへアクセスできるようになるまでの処理について述べる。図７は、本発明の実施の形態２にかかる接続要求処理の流れを説明するためのフローチャートである。
【００５８】
まず、ユーザは端末４００にユーザＩＤを入力し、接続要求を指示する。端末４００の接続要求部４１０は、入力されたユーザＩＤを含めた接続要求を接続受付部１２０へ送信する。接続受付部１２０は、接続管理テーブル１４０を参照して、接続を要求してきたユーザに配分する接続先である仮想マシンＩＤを決定し、接続先情報として端末４００の接続要求部４１０に送信する。この手順を以下に述べる。
【００５９】
まず、接続受付部１２０は、そのユーザがログインしている仮想マシンが存在するかを判定する（Ｓ３０１）。存在している場合、その仮想マシンを配分する（Ｓ３０２）。具体的には、接続受付部１２０から依頼を受けたテーブル管理部１３０が接続管理テーブル１４０のログインユーザＩＤ１４４を検索する。検索にヒットした場合、当該ログインユーザＩＤ１４４に対応する仮想マシンＩＤ１４１を接続先情報として、接続受付部１２０は、端末４００へ送信する。
【００６０】
ステップＳ３０１において、そのユーザがログインしている仮想マシンが存在しないと判定した場合は、接続受付部１２０は、そのユーザが事前ログインしている仮想マシンが存在するかを判定する（Ｓ３０３）。存在する場合、その仮想マシンを配分する（Ｓ３０４）。具体的には、接続受付部１２０から依頼を受けたテーブル管理部１３０が接続管理テーブル１４０の事前ログインユーザＩＤ１４５を検索する。検索にヒットした場合、当該事前ログインユーザＩＤ１４５に対応する仮想マシンＩＤ１４１を接続先情報として、接続受付部１２０は、端末４００へ送信する。
【００６１】
ステップＳ３０３において、そのユーザが事前ログインしている仮想マシンも存在しないと判定した場合、接続受付部１２０は、「ログインなし」状態の仮想マシンが存在するかを判定する（Ｓ３０５）。存在する場合、その中の一台の仮想マシンを選択して配分する（Ｓ３０６）。具体的には、接続受付部１２０から依頼を受けたテーブル管理部１３０が接続管理テーブル１４０のログイン状態１４２が「ログインなし」状態である仮想マシンを検索する。検索にヒットした場合、対応する仮想マシンＩＤ１４１を接続先情報として、接続受付部１２０は、端末４００へ送信する。
【００６２】
ステップＳ３０５において、「ログインなし」状態の仮想マシンも存在しない場合、接続受付部１２０は、他のユーザが事前ログインしている仮想マシンが存在するかを判定する（Ｓ３０７）。存在する場合、その中の一台の仮想マシンを選択して配分する（Ｓ３０８）。具体的には、接続受付部１２０から依頼を受けたテーブル管理部１３０が接続管理テーブル１４０のログイン状態１４２が「事前ログイン中」状態である仮想マシンを検索する。検索にヒットした場合、対応する仮想マシンＩＤ１４１を接続先情報として、接続受付部１２０は、端末４００へ送信する。
【００６３】
ステップＳ３０７において、他のユーザが事前ログインしている仮想マシンも存在しない場合、つまり、すべての仮想マシンにそのユーザ以外のユーザがログインしている場合、そのユーザには配分する仮想マシンがないとして終了する（Ｓ３０９）。
【００６４】
以上が、接続受付部１２０が、接続管理テーブル１４０を参照して、接続を要求してきたユーザに配分する接続先を決定し、接続先情報として端末４００の接続要求部４１０に送信するまでの手順である。
【００６５】
その後、配分された接続先情報を受け取った接続要求部４１０は、接続先情報をログイン要求部４２０に渡す。ログイン要求部４２０は、受け取った接続先へ接続し、自分のアカウント（ユーザＩＤ）とパスワードでログインを実行する。このとき、既にログイン処理が実行済みであれば（Ｓ３０２のケース）、新たにログイン処理は実施されず、ログイン受付部３１０は、すぐに仮想マシンを利用させる。また、ログイン要求されたユーザＩＤにより事前ログイン済みであれば（Ｓ３０４のケース）、ログイン処理部３２０は、当該ユーザＩＤとパスワードによる認証処理を実行し、認証されれば、ログイン受付部３１０は、当該仮想マシンを利用させる。このとき、ログイン処理部３２０は、事前ログイン済みの他のユーザＩＤをログアウトさせてもよい。
【００６６】
さらに、ログイン要求されたユーザＩＤによりログイン処理及び事前ログイン処理がされていなければ（Ｓ３０６又はＳ３０８のケース）、ログイン処理部３２０は、この時点でログイン処理を実行する。また、他のユーザが事前ログインしていた場合は、ログイン処理部３２０は、そのユーザＩＤをログアウトする。
【００６７】
このように、本発明の実施の形態２にかかるシンクライアントシステム２０００では、ログインが集中することによる負荷（仮想マシン実行サーバのＣＰＵ負荷やストレージの負荷）を低減することができる。これにより、ログインに時間がかかるという問題を軽減できる。さらに、事前ログインを１仮想マシン当たり複数のユーザＩＤ、１ユーザＩＤ当たり複数の仮想マシンに行っておくことで、柔軟に仮想マシンを配分することができる。また、ある仮想マシンに正式にログインした後に、当該仮想マシンに事前ログイン済みの他のユーザＩＤをログアウトすることで、当該仮想マシンのリソースの利用効率を向上できる。また、ある仮想マシンに正式にログインした後に、他の仮想マシンへ事前ログイン済みの当該ユーザＩＤをログアウトすることで、他の仮想マシンのリソースの利用効率を向上できる。
【００６８】
＜発明の実施の形態３＞
本発明の実施の形態３では、予め複数のユーザプロファイルをマスタ仮想マシンに格納し、仮想マシンを展開する方法を提供する。この方法は、上述した実施の形態１又は２に追加することもでき、また、独立して実施することもできる。
【００６９】
図８は、本発明の実施の形態３にかかるシンクライアントシステム３０００の構成を示すブロック図である。シンクライアントシステム３０００は、仮想マシン管理装置２０ａと、ファイルサーバ４０と、仮想マシン実行サーバ５０と、端末３１及び３２とを備え、それぞれがネットワーク５００を介して接続されている。尚、図１又は図３と同等の構成については同一の符号を付し、適宜説明を省略する。
【００７０】
仮想マシン実行サーバ５０は、記憶部５１と、実行部５２とを備える。記憶部５１は、複数の仮想マシンに対応する複数のディスクデータを記憶する。尚、図８では、２つの仮想マシンに対応する２つのディスクデータ５１１及び５１２を示すが、本発明の実施の形態はこれに限定されない。実行部５２は、記憶部５１からディスクデータ５１１及び５１２のそれぞれを読み出して、２つの仮想マシンとして実行する。
【００７１】
ファイルサーバ４０は、ストレージ装置である記憶部４１を備える。記憶部４１は、マスタディスクデータ４１１と、プロファイル情報４１２及び４１３とを記憶する。マスタディスクデータ４１１は、ディスクデータ５１１及び５１２の基準となるものである。プロファイル情報４１２及び４１３は、各ユーザに関する情報、つまり、ユーザに固有のデータであり、例えば移動ユーザプロファイルである。尚、記憶部４１は、仮想マシン管理装置２０ａに内蔵されていても構わない。また、接続管理テーブル１４０を記憶していても構わない。
【００７２】
仮想マシン管理装置２０ａは、事前ログイン処理部２１と、接続要求処理部２２と、更新処理部２３とを備える。ここで、更新処理部２３は、複数の仮想マシンのそれぞれからの各ユーザのログアウト後に、記憶部５１から複数のディスクデータ５１１及び５１２に含まれる各ユーザに関する複数のプロファイル情報４１２及び４１３を抽出する。そして、更新処理部２３は、抽出した複数のプロファイル情報４１２及び４１３をファイルサーバ４０の記憶部４１へ保存する。そして、更新処理部２３は、ファイルサーバ４０の記憶部４１に記憶されたマスタデータ４１１に、保存された複数のプロファイル情報４１２及び４１３を追加してマスタデータ４１１を更新する。その後、更新処理部２３は、更新後のマスタデータ４１１を、仮想マシン実行サーバ５０の記憶部５１に記憶された複数のディスクデータ５１１及び５１２のそれぞれに上書きする。尚、更新処理部２３は、仮想マシン管理装置２０ａ以外に存在してもよく、例えば、仮想マシン実行サーバ５０内に存在してもよい。
【００７３】
図９は、本発明の実施の形態３にかかる仮想ディスクの更新及び配布の概念を説明するための図である。ここでは、マスタ仮想マシンＶＭｍに対応するディスクデータとして仮想ディスクＭが存在し、仮想ディスクＭを基に仮想マシン実行サーバ５０内のディスクデータ５１１及び５１２が、予め生成されているものとする。ディスクデータ５１１及び５１２は、仮想マシン名やＩＤ等の固有情報を除けば、仮想ディスクＭと同じ内容である。そして、実行部５２によりディスクデータ５１１及び５１２が実行され、仮想マシンＶＭａ及びＶＭｂとして稼動しているものとする。また、ファイルサーバ４０の記憶部４１内には、ユーザＡのプロファイル情報４１２として固有データａ、ユーザＢのプロファイル情報４１３として固有データｂが保存されているものとする。
【００７４】
ここで、ユーザＡが仮想マシンＶＭａにログイン（Ｓ４０１）したとする。このとき、仮想マシンＶＭａは、ファイルサーバ４０から固有データａを読み出し、内部（記憶部５１）に保存し（Ｓ４０２）、ユーザＡにアクセス可能とする。この時点で、仮想マシンＶＭａのディスクデータ５１１はＭ＋ａとなる。そして、ユーザＡのログイン中の各種処理により固有データａが更新され、その後、ユーザＡが仮想マシンＶＭａからログアウトする。これに伴い、更新処理部２３は、仮想マシンＶＭａのディスクデータ５１１から固有データａを抽出し、ファイルサーバ４０へ保存する（Ｓ４０３）。
【００７５】
同様に、ユーザＢが仮想マシンＶＭｂにログイン（Ｓ４１１）すると、仮想マシンＶＭｂのディスクデータ５１２はＭ＋ｂとなる（Ｓ４１２）。そして、ユーザＢが仮想マシンＶＭｂからログアウトすると、更新処理部２３は、仮想マシンＶＭｂのディスクデータ５１２から固有データｂを抽出し、ファイルサーバ４０へ保存する（Ｓ４１３）。
【００７６】
続いて、マスタディスクデータである仮想ディスクＭの更新の処理を説明する。例えば、夜間の仮想マシンの再起動後など、翌朝のログインストームが見込まれる場合は、マスタ仮想マシンＶＭｍのデータの更新を行う。そのために、まず全ての仮想マシンのログアウトを実行し、全てのユーザの最新の固有データをファイルサーバに書き戻す。
【００７７】
ここで、更新処理部２３は、ファイルサーバ４０から固有データａ及びｂを読み込み、仮想ディスクＭに追加して仮想ディスクＭを更新する（Ｓ４２１及びＳ４２２）。更新後のマスタ仮想マシンＶＭｍ２のマスタデータを仮想ディスクＭ‘とする。ここで、仮想ディスクＭ‘は、Ｍ＋ａ＋ｂ＋・・・  となる。その後、更新処理部２３は、仮想ディスクＭ‘を基に仮想マシン実行サーバ５０内のディスクデータ５１１及び５１２を更新する（Ｓ４２３及びＳ４２４）。これにより、以後、事前ログイン処理（Ｓ４３０）の対象には、予めプロファイル情報が含まれているため、事前ログイン処理においてファイルサーバ４０からの読み出し処理を省略できる。よって、事前ログイン処理を高速化でき、負荷を軽減できる。また、事前ログイン処理がされていない場合であっても、ログイン要求のユーザＩＤに対応するプロファイル情報が既にディスクデータ内に存在するため、通常のログイン処理についても高速化できる。よって、ログインの集中に伴う負荷を低減することができる。そして、事前ログイン処理に実施の形態１又は２を適用することで、ユーザと仮想マシンとの対応付けに柔軟性を持たせることも実現できる。
【００７８】
尚、ユーザ数が膨大である場合には、全ユーザがログインすることが現実的ではない。そこで、全ユーザではなく一部のユーザを指定して、仮想ディスクＭを更新する際に、指定された一部のユーザのプロファイル情報のみを取得して仮想ディスクＭ‘を生成するようにしてもよい。この場合は、例えば、接続管理テーブル１４０の割当ユーザＩＤ１４３として、上記の指定したユーザを設定しておくとよい。
【００７９】
すなわち、本発明の実施の形態３にかかる更新処理部は、マスタデータに、保存された複数のプロファイル情報のうち一部を追加して第１のマスタデータを生成し、第１のマスタデータを、記憶部に記憶された複数のディスクデータの一部に上書きし、第１のマスタデータに対応する仮想マシンＩＤに、一部のプロファイル情報に対応するユーザＩＤを割り当てて、記憶装置に記憶された仮想マシン管理情報を更新するようにしてもよい。
【００８０】
＜その他の発明の実施の形態＞
本発明の他の実施の形態は、次のように表現することができる。すなわち、仮想PC型のシンクライアントシステムにおいて仮想マシンへのログイン集中による負荷を軽減するため、予めログインしておくものである。また、他の形態として、ログイン時に必要となるユーザデータを予めマスタ仮想マシンへコピーし、各仮想マシンを展開しておくことにより、ログイン時の負荷を減らす方法である。
【００８１】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。
【００８２】
非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、ＤＶＤ（Digital Versatile Disc）、ＢＤ(Blu-ray(登録商標) Disc)、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、コンピュータプログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００８３】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。さらに、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００８４】
（付記１）
複数の仮想マシンの識別情報のそれぞれに、複数のユーザ識別情報の組み合わせを割り当てた仮想マシン管理情報を記憶する記憶装置と、
前記複数の仮想マシンを管理する仮想マシン管理装置と、を備え、
前記仮想マシン管理装置は、
前記複数の仮想マシンの接続状況に応じて、当該複数の仮想マシンのそれぞれについて、前記仮想マシン管理情報において割り当てられた各ユーザ識別情報に基づくログイン処理である事前ログイン処理を実行する事前ログイン処理部と、
外部の端末から、前記複数のユーザ識別情報のうち一つを含む接続要求を受け付け、当該接続要求に含まれるユーザ識別情報に基づく前記事前ログイン処理が実行済みの仮想マシンのうち一つを選択し、前記端末に対して当該選択した仮想マシンを当該ユーザ識別情報によりアクセス可能に接続する接続要求処理部と、
を備える仮想マシン管理システム。
（付記２）
前記接続要求処理部は、
前記選択した仮想マシンに前記事前ログイン処理が実行済みのユーザ識別情報のうち、前記接続要求に含まれるユーザ識別情報以外のユーザ識別情報についてログアウト処理を行う
付記１に記載の仮想マシン管理システム。
（付記３）
前記接続要求処理部は、
前記接続要求に含まれるユーザ識別情報に基づく前記事前ログイン処理が実行済みの仮想マシンが存在しない場合、他の仮想マシンのうち一つを選択し、前記端末に対して当該選択した仮想マシンを当該ユーザ識別情報によりアクセス可能に接続すると共に、当該接続要求に含まれるユーザ識別情報以外のユーザ識別情報についてログアウト処理を行う
付記１又は２に記載の仮想マシン管理システム。
（付記４）
前記事前ログイン処理部は、
前記複数の仮想マシンのそれぞれについて、前記仮想マシン管理情報において割り当てられた各ユーザ識別情報に対応する情報を該当する仮想マシンに読み込み、
前記接続要求は、当該接続要求に含まれるユーザ識別情報に対応するパスワードをさらに含み、
前記接続要求処理部は、
前記接続要求に含まれるユーザ識別情報及びパスワードによる認証処理を行い、認証された場合に、前記端末に対して当該選択した仮想マシンを当該ユーザ識別情報によりアクセス可能に接続する
付記１乃至３のいずれか１項に記載の仮想マシン管理システム。
（付記５）
前記複数の仮想マシンに対応する複数のディスクデータを記憶する記憶部を有し、当該記憶部から前記複数のディスクデータのそれぞれを読み出して前記複数の仮想マシンとして実行する仮想マシン実行サーバをさらに備え、
前記記憶装置は、前記複数のディスクデータの基準となるマスタデータをさらに記憶し、
前記仮想マシン管理装置は、
前記複数の仮想マシンのそれぞれからの各ユーザのログアウト後に、前記記憶部から前記複数のディスクデータに含まれる各ユーザに関する複数のプロファイル情報を抽出し、
前記抽出した複数のプロファイル情報を前記記憶装置へ保存し、
前記記憶装置に記憶されたマスタデータに前記保存された複数のプロファイル情報を追加して当該マスタデータを更新し、
前記更新後のマスタデータを、前記記憶部に記憶された前記複数のディスクデータのそれぞれに上書きする、更新処理部をさらに備える
付記１乃至４のいずれか１項に記載の仮想マシン管理システム。
（付記６）
前記更新処理部は、
前記マスタデータに、前記保存された複数のプロファイル情報のうち一部を追加して第１のマスタデータを生成し、
前記第１のマスタデータを、前記記憶部に記憶された前記複数のディスクデータの一部に上書きし、
前記第１のマスタデータに対応する仮想マシンの識別情報に、前記一部のプロファイル情報に対応するユーザ識別情報を割り当てて、前記記憶装置に記憶された前記仮想マシン管理情報を更新する
付記５に記載の仮想マシン管理システム。
（付記７）
前記仮想マシン管理情報は、各仮想マシンにおけるログインの状態を示すログイン状態情報を含み、
前記事前ログイン処理部は、
前記事前ログイン処理を実行した仮想マシンについての前記ログイン状態情報を当該事前ログイン処理が実行済みとして前記仮想マシン管理情報を更新し、
前記接続要求処理部は、
前記仮想マシン管理情報の前記ログイン状態情報を参照することで、前記事前ログイン処理が実行済みの仮想マシンであるか否かを判定し、
前記アクセス可能に接続した仮想マシンについての前記ログイン状態情報を接続済みとして前記仮想マシン管理情報を更新する
付記１乃至６のいずれか１項に記載の仮想マシン管理システム。
（付記８）
複数の仮想マシンの識別情報のそれぞれに、複数のユーザ識別情報の組み合わせを割り当てた仮想マシン管理情報を記憶する記憶部と、
前記複数の仮想マシンの接続状況に応じて、当該複数の仮想マシンのそれぞれについて、前記仮想マシン管理情報において割り当てられた各ユーザ識別情報に基づくログイン処理である事前ログイン処理を実行する事前ログイン処理部と、
外部の端末から、前記複数のユーザ識別情報のうち一つを含む接続要求を受け付け、当該接続要求に含まれるユーザ識別情報に基づく前記事前ログイン処理が実行済みの仮想マシンのうち一つを選択し、前記端末に対して当該選択した仮想マシンを当該ユーザ識別情報によりアクセス可能に接続する接続要求処理部と、
を備える仮想マシン管理装置。
（付記９）
複数の仮想マシンの接続状況に応じて、当該複数の仮想マシンのそれぞれについて、予め割り当てられた複数のユーザ識別情報の組み合わせに基づくログイン処理である事前ログイン処理を実行し、
外部の端末から、前記複数のユーザ識別情報のうち一つを含む接続要求を受け付け、
前記受け付けた接続要求に含まれるユーザ識別情報に基づく前記事前ログイン処理が実行済みの仮想マシンのうち一つを選択し、
前記端末に対して、前記選択した仮想マシンを当該ユーザ識別情報によりアクセス可能に接続する
仮想マシン管理方法。
（付記１０）
複数の仮想マシンの接続状況に応じて、当該複数の仮想マシンのそれぞれについて、予め割り当てられた複数のユーザ識別情報の組み合わせに基づくログイン処理である事前ログイン処理を実行する処理と、
外部の端末から、前記複数のユーザ識別情報のうち一つを含む接続要求を受け付ける処理と、
前記受け付けた接続要求に含まれるユーザ識別情報に基づく前記事前ログイン処理が実行済みの仮想マシンのうち一つを選択する処理と、
前記端末に対して、前記選択した仮想マシンを当該ユーザ識別情報によりアクセス可能に接続する処理と、
をコンピュータに実行させる仮想マシン管理プログラム。
（付記１１）
複数の仮想マシンに対応する複数のディスクデータを記憶する記憶部を有し、当該記憶部から前記複数のディスクデータのそれぞれを読み出して前記複数の仮想マシンとして実行する仮想マシン実行サーバと、
前記複数のディスクデータの基準となるマスタデータを記憶する記憶装置と、
前記マスタデータを更新する更新部と、を備え、
前記更新部は、
前記複数の仮想マシンのそれぞれからの各ユーザのログアウト後に、前記記憶部から前記複数のディスクデータに含まれる各ユーザに関する複数のプロファイル情報を抽出し、
前記抽出した複数のプロファイル情報を前記記憶装置へ保存し、
前記記憶装置に記憶されたマスタデータに前記保存された複数のプロファイル情報を追加して当該マスタデータを更新し、
前記更新後のマスタデータを、前記記憶部に記憶された前記複数のディスクデータのそれぞれに上書きする
仮想マシン管理システム。
【符号の説明】
【００８５】
１０００  仮想マシン管理システム
１０  記憶装置
１１  仮想マシン管理情報
１１１  組合せ
１１１１  仮想マシン識別情報
１１１２  ユーザ識別情報
１１１３  ユーザ識別情報
１１２  組合せ
１１２１  仮想マシン識別情報
１１２２  ユーザ識別情報
１１２３  ユーザ識別情報
２０  仮想マシン管理装置
２１  事前ログイン処理部
２２  接続要求処理部
３０  端末
３１  端末
３２  端末
２０００  シンクライアントシステム
１００  接続管理サーバ
１１０  事前ログイン指示部
１２０  接続受付部
１３０  テーブル管理部
１４０  接続管理テーブル
２００  仮想マシン実行サーバ
３００ａ  仮想マシン
３００ｂ  仮想マシン
３００ｎ  仮想マシン
３１０  ログイン受付部
３２０  ログイン処理部
３３０  ログイン監視部
４００  端末
４１０  接続要求部
４２０  ログイン要求部
５００  ネットワーク
１４１  仮想マシンＩＤ
１４２  ログイン状態
１４３  割当ユーザＩＤ
１４４  ログインユーザＩＤ
１４５  事前ログインユーザＩＤ
３０００  シンクライアントシステム
２０ａ  仮想マシン管理装置
２３  更新処理部
４０  ファイルサーバ
４１  記憶部
４１１  マスタディスクデータ
４１２  プロファイル情報
４１３  プロファイル情報
５０  仮想マシン実行サーバ
５１  記憶部
５１１  ディスクデータ
５１２  ディスクデータ
５２  実行部
ＶＭｍ  マスタ仮想マシン
ＶＭａ  仮想マシン
ＶＭｂ  仮想マシン
ＶＭｍ２  マスタ仮想マシン
ＶＭａ２  仮想マシン
ＶＭｂ２  仮想マシン
Ｍ  仮想ディスク
ａ  固有データ
ｂ  固有データ
Ｍ‘  仮想ディスク
【図１】
2015153080.tif 000003
【図２】
2015153080.tif 000004
【図３】
2015153080.tif 000005
【図４】
2015153080.tif 000006
【図５】
2015153080.tif 000007
【図６】
2015153080.tif 000008
【図７】
2015153080.tif 000009
【図８】
2015153080.tif 000010
【図９】
2015153080.tif 000011