以下、本発明の実施の形態について、図面を参照して詳細に説明する。
(第1の実施の形態)
本発明の第1の実施の形態としてのシンクライアントシステム1の構成を図1に示す。図1において、シンクライアントシステム1は、1つ以上のシンクライアント端末110と、接続管理装置10と、仮想マシン稼働装置20と、ユーザプロファイル格納装置210とを備える。また、仮想マシン稼働装置20上では、1つ以上の仮想マシン21が動作する。各装置は、ネットワークを介して通信可能に接続されている。なお、図1には、4つのシンクライアント端末110を示したが、本発明のシンクライアントシステムが含むシンクライアント端末の数を限定するものではない。また、図1には、仮想マシン稼働装置20および仮想マシン21を2つずつ示したが、本発明のシンクライアントシステムが含む仮想マシン稼働装置数、1つの仮想マシン稼働装置上で動作する仮想マシン数、および、仮想マシンの合計数を限定するものではない。
ここで、シンクライアントシステム1のハードウェア構成の一例を図2に示す。図2において、シンクライアント端末110は、CPU(Central Processing Unit)1001、メモリ1002、出力装置1003、入力装置1004、および、ネットワークインタフェース1005を含むコンピュータ装置によって構成可能である。メモリ1002は、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置(ハードディスク等)等によって構成される。出力装置1003は、ディスプレイ装置やプリンタ等のように、情報を出力する装置によって構成される。入力装置1004は、キーボードやマウス等のように、ユーザ操作の入力を受け付ける装置によって構成される。ネットワークインタフェース1005は、ネットワークに接続するインタフェースである。メモリ1002には、シンクライアント端末110の各機能を実現するコンピュータ・プログラムが格納される。CPU1001は、メモリ1002に格納されるコンピュータ・プログラムを読み込んで実行するとともに各部を制御することにより、シンクライアント端末110の機能を実現する。
また、図2において、接続管理装置10は、CPU2001、メモリ2002、および、ネットワークインタフェース2005を含むコンピュータ装置によって構成可能である。メモリ2002は、RAM、ROM、補助記憶装置等によって構成される。ネットワークインタフェース2005は、ネットワークに接続するインタフェースである。メモリ2002には、接続管理装置10の各機能を実現するコンピュータ・プログラムが格納される。CPU2001は、メモリ2002に格納されるコンピュータ・プログラムを読み込んで実行するとともに各部を制御することにより、接続管理装置10の機能を実現する。
また、図2において、仮想マシン稼働装置20は、CPU3001、メモリ3002、および、ネットワークインタフェース3005を含むコンピュータ装置によって構成可能である。メモリ3002は、RAM、ROM、補助記憶装置等によって構成される。ネットワークインタフェース3005は、ネットワークに接続するインタフェースである。メモリ3002には、1つ以上の仮想マシン21を動作させる仮想化ソフトウェアが格納される。CPU3001は、メモリ3002に格納されるコンピュータ・プログラムを読み込んで実行するとともに各部を制御することにより、仮想マシン稼働装置20上で仮想マシン21を動作させ、仮想マシン21の機能を実現する。
また、図2において、ユーザプロファイル格納装置210は、CPU4001、メモリ4002、および、ネットワークインタフェース4005を含むコンピュータ装置によって構成可能である。メモリ4002は、RAM、ROM、補助記憶装置等によって構成される。ネットワークインタフェース4005は、ネットワークに接続するインタフェースである。メモリ4002には、ユーザプロファイル格納装置210をファイルサーバとして機能させるコンピュータ・プログラムが格納される。CPU4001は、メモリ4002に格納されるコンピュータ・プログラムを読み込んで実行するとともに各部を制御することにより、ユーザプロファイル格納装置210をファイルサーバとして動作させる。
なお、シンクライアントシステム1を構成する各装置のハードウェア構成は、上述の構成に限定されない。
次に、シンクライアントシステム1の機能ブロック構成について説明する。
シンクライアント端末110は、シンクライアントシステム1にログオンを要求するユーザを表す情報を取得する。ユーザを表す情報は、例えば、入力装置1004から入力される。また、シンクライアント端末110は、取得したユーザを表す情報を、接続管理装置10に送信する。
また、シンクライアント端末110は、接続管理装置10から仮想マシン21を表す情報を受信する。また、シンクライアント端末110は、受信した情報の示す仮想マシン21に自装置を接続してユーザをログオンさせる。
ユーザプロファイル格納装置210は、シンクライアントシステム1のユーザ毎にユーザプロファイルを格納する。ユーザプロファイルは、仮想マシン21を利用する際のユーザ毎の設定情報を表す情報である。
また、図1に示したように、接続管理装置10は、仮想マシン選択部11と、ユーザセッション管理部12とを有する。また、接続管理装置10は、これらの各機能ブロックによって利用される情報として、利用状況情報および有効プロファイル所在情報を保持している。
利用状況情報は、各仮想マシン21が利用中であるか否かを表す情報である。利用状況情報は、仮想マシン21毎の情報として保持される。具体的には、ある仮想マシン21についての利用状況情報が「利用中」であれば、その仮想マシン21がいずれかのシンクライアント端末110に接続され、シンクライアントシステム1のいずれかのユーザによってログオン中であることを表す。また、ある仮想マシン21についての利用状況情報が「利用可能(利用中ではない)」であれば、その仮想マシン21がいずれのシンクライアント端末110にも接続されず、シンクライアントシステム1のいずれのユーザもログオンしていないことを表す。
有効プロファイル所在情報は、シンクライアントシステム1の各ユーザについて有効なユーザプロファイルを保持している仮想マシン21を表す情報である。有効なユーザプロファイルとは、例えば、そのユーザが直近に利用したユーザプロファイルである。そのような有効なユーザプロファイルは、そのユーザが直近に使用した仮想マシン21に保持されている。有効プロファイル所在情報は、ユーザ毎の情報として保持される。
仮想マシン選択部11は、利用状況情報および有効プロファイル所在情報を参照することにより、シンクライアントシステム1にログオンを要求するユーザに割り当てる仮想マシン21を選択する。例えば、仮想マシン選択部11は、利用状況情報を参照することにより、利用可能な仮想マシン21を抽出する。そして、仮想マシン選択部11は、有効プロファイル所在情報を参照し、抽出した利用可能な仮想マシン21の中に、ログオンを要求するユーザの有効なユーザプロファイルを保持する仮想マシン21があれば、その仮想マシン21を選択すればよい。また、仮想マシン選択部11は、そのような仮想マシン21がない場合、利用可能な仮想マシン21の中からいずれか1つを選択すればよい。
ユーザセッション管理部12は、シンクライアントシステム1にログオンを要求するユーザを表す情報をシンクライアント端末110から取得する。また、ユーザセッション管理部12は、取得したユーザを表す情報に対して割り当てる仮想マシン21を、仮想マシン選択部11を用いて決定する。また、ユーザセッション管理部12は、決定した仮想マシン21を表す情報を、シンクライアント端末110に通知する。
また、ユーザセッション管理部12は、ユーザの仮想マシン21に対する接続状態に応じて、利用状況情報および有効プロファイル所在情報を更新する。ユーザの接続状態は、仮想マシン21から通知される。
具体的には、ユーザセッション管理部12は、ユーザのログオンに応じて、ログオン先の仮想マシン21の利用状況情報を、利用中であることを示す情報に更新する。また、ユーザセッション管理部12は、ユーザのログオフに応じて、それまでのログオン先であった仮想マシン21の利用状況情報を、利用中でない(すなわち、利用可能である)ことを示す情報に更新する。
また、ユーザセッション管理部12は、ユーザのログオンに応じて、そのユーザについての有効プロファイル所在情報を、今回ログオン先の仮想マシン21を表す情報に更新する。また、ユーザセッション管理部12は、ユーザのログオフに応じて、そのユーザについての有効プロファイル所在情報を、それまでログオン先であった仮想マシン21を表す情報に更新する。なお、同一のユーザが同時にログオンできる仮想マシン21が1つに限定されている場合がある。この場合、ログオフ時の有効プロファイル所在情報はログオン時の有効プロファイル所在情報と同一である。したがって、この場合、ユーザセッション管理部12は、ログオフ時の有効プロファイル所在情報の更新処理を省略することも可能である。ただし、有効プロファイル所在情報が更新時刻等の付随情報を含む場合がある。そのような場合、ユーザセッション管理部12は、ログオフ時の有効プロファイル所在情報の更新処理を省略できない。また、同一のユーザが同時に複数の仮想マシン21にログオンできる場合がある。この場合、ログオフ時の有効プロファイル所在情報はログオン時の有効プロファイル所在情報と同一とは限らない。したがって、この場合、ユーザセッション管理部12は、ログオフ時の有効プロファイル所在情報の更新処理を省略することはできない。
また、図1において、仮想マシン21は、ユーザプロファイル管理部22と、ユーザ接続監視部23とを有する。
ユーザプロファイル管理部22は、自装置にログオンしたユーザの有効なユーザプロファイルを、自装置上またはユーザプロファイル格納装置210から取得する。具体的には、ユーザプロファイル管理部22は、自装置にログオンするユーザの有効なユーザプロファイルを自装置上に保持している場合、その有効なユーザプロファイルを再利用する。また、ユーザプロファイル管理部22は、自装置にログオンするユーザの有効なユーザプロファイルを自装置上に保持していない場合、ユーザプロファイル格納装置210から該当するユーザのユーザプロファイルを取得する。なお、自装置上に該当するユーザの有効なプロファイルがあるか否かは、自装置上のそのユーザのユーザプロファイルと、ユーザプロファイル格納装置210上のそのユーザのユーザプロファイルとの間で、タイムスタンプを比較することにより判断可能である。もし、前者のタイムスタンプが後者のタイムスタンプに対して同一か新しい場合、自装置上にそのユーザの有効なユーザプロファイルがあると判断される。
また、ユーザプロファイル管理部22は、自装置からのユーザのログオフ時に、自装置上で利用されていたそのユーザのユーザプロファイルを保持しておく。さらに、ユーザプロファイル管理部22は、そのユーザによって利用されていたユーザプロファイルを、ユーザプロファイル格納装置210に格納する。
ユーザ接続監視部23は、自装置に対するユーザの接続状態を監視する。そして、ユーザ接続監視部23は、接続状態の変化を検出すると、接続管理装置10に通知する。具体的には、ユーザ接続監視部23は、ユーザのログオン、ログオフを検出して接続管理装置10に通知すればよい。通知する情報は、ログオンまたはログオフのいずれを検出したかを表す情報と、ログオンまたはログオフしたユーザを表す情報とを含む。
以上のように構成されたシンクライアントシステム1の動作について、図面を参照して説明する。
まず、シンクライアントシステム1の接続制御動作を図3に示す。
図3では、まず、シンクライアント端末110は、ログオンを要求するユーザを表す情報を取得し、接続管理装置10に送信する(ステップA1)。
次に、接続管理装置10のユーザセッション管理部12は、受信した情報の示すユーザに割り当てる仮想マシン21を、仮想マシン選択部11を用いて選択する(ステップB1)。前述のように、仮想マシン選択部11は、利用状況情報および有効プロファイル所在情報を参照することにより、該当するユーザに割り当てる仮想マシン21を選択する。
次に、ユーザセッション管理部12は、ステップB2で選択された仮想マシン21を表す情報を、シンクライアント端末110に通知する(ステップB2)。
次に、シンクライアント端末110は、通知された情報の示す仮想マシン21に対して、ステップA1で取得したユーザによる接続を要求する(ステップA2)。
次に、仮想マシン21のユーザプロファイル管理部22は、ステップA2で自装置に接続を要求しているユーザの有効なユーザプロファイルが自装置上にあるか否かを判断する(ステップC1)。
ここで、該当するユーザの有効なユーザプロファイルが自装置上にあると判断した場合、ユーザプロファイル管理部22は、その有効なユーザプロファイルを再利用して、ユーザをログオンさせる(ステップC2)。
一方、該当するユーザの有効なユーザプロファイルが自装置上にないと判断した場合、ユーザプロファイル管理部22は、該当するユーザの有効なユーザプロファイルを、ユーザプロファイル格納装置210から取得して、ユーザをログオンさせる(ステップC3)。
また、その後、シンクライアント端末110は、ログオフを表す情報を取得すると、仮想マシン21に切断を要求する(ステップA3)。
仮想マシン21は、ユーザをログオフさせてシンクライアント端末110を切断する。そして、ユーザプロファイル管理部22は、このユーザが利用していたユーザプロファイルを保持しておくとともに、ユーザプロファイル格納装置210にコピーする(ステップC4)。
以上で、シンクライアントシステム1は、接続制御動作を終了する。
次に、シンクライアントシステム1が、利用状況情報および有効プロファイル所在情報を更新する動作を図4に示す。
図4では、まず、仮想マシン21のユーザ接続監視部23は、自装置に対するユーザの接続状態の変化を監視する(ステップC5)。
次に、ユーザ接続監視部23は、接続状態が変化したか否かを判断する(ステップC6)。
ここで、接続状態に変化がない場合、ユーザ接続監視部23は、ステップC5からの動作を繰り返す。
一方、接続状態が変化した場合、ユーザ接続監視部23は、変化後の接続状態を接続管理装置10に通知する(ステップC7)。前述のように、ユーザ接続監視部23は、ユーザの接続状態として、ログオンまたはログオフを検出すればよい。また、ユーザ接続監視部23は、検出したログオンまたはログオフを表す情報と、ログオンまたはログオフしたユーザを表す情報とを通知すればよい。
次に、接続管理装置10において、ユーザセッション管理部12は、通知された接続状態に基づいて、通知元の仮想マシン21の利用状況情報を更新する(ステップB3)。
具体的には、もし、ログオンを通知されたのであれば、ユーザセッション管理部12は、該当する仮想マシン21の利用状況情報を、利用中であることを表す情報に更新する。一方、ログオフを通知されたのであれば、ユーザセッション管理部12は、該当する仮想マシン21の利用状況情報を、利用可能であることを表す情報に更新する。
また、ユーザセッション管理部12は、通知された接続状態に基づいて、通知されたユーザについての有効プロファイル所在情報を、通知元の仮想マシン21を表す情報に更新する(ステップB4)。
以上で、シンクライアントシステム1は、更新動作を終了する。
次に、本発明の第1の実施の形態の効果について述べる。
本発明の第1の実施の形態は、仮想マシンを利用したシンクライアントシステムにおいて、ログオンストームの発生をより充分に抑制することができる。
その理由について述べる。本実施の形態では、接続管理装置が、各仮想マシンが利用中であるか否かを表す利用状況情報と、シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保持する仮想マシンを表す有効プロファイル所在情報とを保持する。そして、接続管理装置の仮想マシン選択部が、利用状況情報および有効プロファイル所在情報に基づいて、シンクライアント端末からログオンを要求するユーザに割り当てる仮想マシンを選択する。そして、接続管理装置のユーザセッション管理部が、シンクライアント端末に対して仮想マシン選択部によって選択されたマシンを通知することにより、シンクライアント端末から該当するユーザを該当する仮想マシンにログオンさせるからである。さらに、接続管理装置のユーザセッション管理部が、ユーザの仮想マシンへの接続状態に応じて、利用状況情報および有効プロファイル所在情報を更新するからである。そして、仮想マシンは、ログオンするユーザの有効なユーザプロファイルが自装置にあれば再利用し、なければユーザプロファイル格納装置から取得するからである。
このように、本実施の形態は、シンクライアントシステムにログオンを要求するユーザに対して、そのユーザの最新のユーザプロファイルが残っている仮想マシンを優先的にユーザに割り当てることができる。したがって、本実施の形態は、ユーザがログオンした仮想マシンにおいて、そのユーザの有効なユーザプロファイルを再利用できる可能性を高くする。その結果、本実施の形態は、ユーザのログオン時に、そのユーザのユーザプロファイルをユーザプロファイル格納装置から仮想マシンにコピーする処理の発生を少なくすることができ、ログオンストームの発生を抑制することができる。
(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
まず、本発明の第2の実施の形態としてのシンクライアントシステム2の構成を図5に示す。図5において、シンクライアントシステム2は、本発明の第1の実施の形態としてのシンクライアントシステム1に対して、シンクライアント端末110に替えてシンクライアント端末120を備える。また、シンクライアントシステム2は、接続管理装置10に替えて接続管理装置30と、仮想マシン稼働装置20に替えて仮想マシン稼働装置40とを備える。仮想マシン稼働装置40上では、1つ以上の仮想マシン41が動作する。さらに、シンクライアントシステム2は、ユーザ情報管理装置320を備える。各装置は、ネットワークを介して通信可能に接続される。
なお、シンクライアント端末120、接続管理装置30および仮想マシン稼働装置40は、図2を参照して説明した本発明の第1の実施の形態と同一のハードウェア要素を含むコンピュータ装置によって構成可能である。また、ユーザ情報管理装置320は、CPU、メモリ、および、ネットワークインタフェースを含むコンピュータ装置によって構成可能である。この場合、CPUは、メモリに格納されるコンピュータ・プログラムを読み込んで実行するとともに各部を制御することにより、ユーザ情報管理装置320の機能を実現する。なお、シンクライアントシステム2のハードウェア構成は、上述の構成に限定されない。
シンクライアント端末120は、シンクライアントシステム2にログオンを要求するユーザの認証情報を取得する。認証情報は、例えば、ユーザIDおよびパスワードを含む。ユーザの認証情報は、例えば、入力装置1004から入力される。また、シンクライアント端末120は、取得した認証情報を、接続管理装置30に送信する。
また、シンクライアント端末120は、接続管理装置30から仮想マシン41を表す情報を受信する。また、シンクライアント端末120は、受信した情報の示す仮想マシン41に認証情報を送信する。仮想マシン41による認証が成功すると、シンクライアント端末120は仮想マシン41に接続され、ユーザがログオンした状態となる。
ユーザ情報管理装置320は、ユーザ情報を格納している。ユーザ情報は、シンクライアントシステム2の各ユーザについて、ユーザプロファイル格納装置210上でのユーザプロファイルの格納位置を表す情報を含む。また、ユーザ情報は、各ユーザがシンクライアントシステム2を利用する際の認証情報(ユーザ名およびパスワード等)を含んでいてもよい。また、シンクライアントシステム2を利用するユーザがグループに分けられて管理される場合、ユーザ情報は、各ユーザの所属するグループを表す情報を含んでいてもよい。
ユーザ情報管理装置320に格納されるユーザ情報の一例を図6に示す。図6において、ユーザ情報は、ユーザ名、ユーザプロファイルの格納位置、パスワード、および、ユーザグループ名をそれぞれ表す情報を含んでいる。例えば、1行目は、ユーザ「User10」は、ユーザグループ「UserGroup1」に属し、パスワードが「pwuser10」であり、ユーザプロファイルが「\\FileSrv\Profiles\User10」に格納されていることを示している。なお、ユーザ「User10」とは、ユーザ名として「User10」を利用するユーザをいうものとする。
また、ユーザ情報管理装置320は、接続管理装置30または仮想マシン41から認証情報を用いた問い合わせを受信する。また、ユーザ情報管理装置320は、受信した認証情報と一致するユーザ情報を検索し、検索結果のユーザ情報に含まれる情報を返信する。例えば、ユーザ情報管理装置320は、接続管理装置30から、ユーザの認証情報に対応するユーザグループの問い合わせを受信する。この場合、ユーザ情報管理装置320は、受信した認証情報と一致するユーザ情報を検索し、検索結果のユーザ情報に含まれるユーザグループを返信する。また、例えば、ユーザ情報管理装置320は、仮想マシン41から、ユーザの認証情報に対応するユーザプロファイルの格納位置の問い合わせを受信する。この場合、ユーザ情報管理装置320は、受信した認証情報と一致するユーザ情報を検索し、検索結果のユーザ情報に含まれるユーザプロファイルの格納位置を返信する。
また、図5に示すように、接続管理装置30は、仮想マシン選択部31と、ユーザセッション管理部32とを有する。
仮想マシン選択部31は、利用状況情報、有効プロファイル所在情報、および、グループ設定情報を参照することにより、ログオンを要求するユーザに割り当てる仮想マシン41を選択する。
利用状況情報は、本発明の第1の実施の形態における利用状況情報と同一の情報に加えて、仮想マシングループを表す情報を含む。本実施の形態では、仮想マシン41は、グループに分けられて管理されることを想定する。利用状況情報の一例を図7に示す。図7において、利用状況情報は、仮想マシン名、仮想マシングループ名、および、利用中であるか否かを表す情報を含んでいる。例えば、1行目は、仮想マシン41「Vpc10」は、仮想マシングループ「VpcGroup1」に属し、いずれかのユーザによって「利用中」であること示している。なお、仮想マシン41「Vpc10」とは、仮想マシン名として「Vpc10」を有する仮想マシン41をいうものとする。また、2行目は、仮想マシン41「Vpc11」は、仮想マシングループ「VpcGroup1」に属し、いずれのユーザによっても利用中ではなく「利用可能」であること示している。なお、利用状況情報には、5行目に示すように、仮想マシン41について「利用不可」であることを示す情報が含まれていてもよい。このように、いずれかのユーザによって利用中であるか否かとは異なる外部の要因により利用できない仮想マシン41についての利用状況情報は、外部の機能ブロックにより「利用不可」に設定されていてもよい。
有効プロファイル所在情報は、本発明の第1の実施の形態における有効プロファイル所在情報と同一の情報に加えて、使用時刻を表す情報を含む。使用時刻は、そのユーザが、そのユーザの有効なユーザプロファイルを保持する仮想マシン41において、その有効なユーザプロファイルを使用したことが確認された最新の時刻を表す。実際には、使用時刻としては、ログイン時刻やログオフ時刻に準ずる時刻が記録される。有効プロファイル所在情報の一例を図8に示す。図8において、有効プロファイル所在情報は、ユーザ名、有効なユーザプロファイルのある仮想マシン名、および、使用時刻をそれぞれ表す情報を含んでいる。例えば、1行目は、ユーザ「User10」の有効なユーザプロファイルがある仮想マシン41は「Vpc10」であり、その使用時刻は「2014/05/30 18:30:00.000」であることを示している。
グループ設定情報は、ユーザグループと、そのユーザグループに属するユーザによって使用可能な仮想マシングループとの対応関係を表す情報を含む。グループ設定情報の一例を図9に示す。図9において、グループ設定情報は、ユーザグループ名および仮想マシングループ名を含む。例えば、1行目は、ユーザグループ「UserGroup1」に所属するユーザは、仮想マシングループ「VpcGroup1」に属する仮想マシン41を利用できることを示している。ここで、ユーザグループ「UserGroup1」とは、ユーザグループ名が「UserGroup1」のユーザグループをいうものとする。また、仮想マシングループ「VpcGroup1」とは、仮想マシングループ名が「VpcGroup1」の仮想マシングループをいうものとする。なお、本実施の形態では、前述したように、ユーザおよび仮想マシン41がグループ管理されることを想定している。ただし、グループ設定情報は、ユーザおよび仮想マシン41がグループ管理されない場合は省略可能な設定情報である。
仮想マシン選択部31は、グループ設定情報を参照することにより、ログオンを要求するユーザのユーザグループに対応する仮想マシングループを特定する。そして、仮想マシン選択部31は、利用状況情報を参照することにより、特定した仮想マシングループに属する仮想マシン41のうち、利用可能な仮想マシン41を抽出する。そして、仮想マシン選択部31は、有効プロファイル所在情報を参照することにより、抽出した利用可能な仮想マシン41の中に、ログオンを要求するユーザについての有効なユーザプロファイルを保持する仮想マシン41があれば、その仮想マシン41を選択する。
また、仮想マシン選択部31は、そのような有効なユーザプロファイルを保持する仮想マシン41がない場合、抽出した利用可能な仮想マシン41の中から、いずれのユーザについても有効なユーザプロファイルを保持していない仮想マシン41を選択する。そのような仮想マシン41は、有効プロファイル所在情報を参照することにより特定可能である。つまり、仮想マシン選択部31は、抽出した利用可能な仮想マシン41のうち、図8に一例を示した有効プロファイル所在情報において「有効なユーザプロファイルのある仮想マシン」の列に含まれていない仮想マシン41を選択すればよい。
ここで、該当する複数の仮想マシン41、すなわち、いずれのユーザについても有効なユーザプロファイルを保持していない複数の仮想マシン41があるとする。このような場合、仮想マシン選択部31は、該当する複数の仮想マシン41のうち、最初に、「いずれのユーザについても有効なユーザプロファイルを保持していない」ことを確認した仮想マシン41を選択してもよい。
あるいは、仮想マシン選択部31は、該当する複数の仮想マシン41のうち、直近の使用時刻に基づく条件を用いて、仮想マシン41を選択してもよい。この場合、直近の使用時刻は、有効プロファイル所在情報の記録を参照することにより特定可能である。具体的には、仮想マシン選択部31は、該当する複数の仮想マシン41のそれぞれについて、図8に示した有効プロファイル所在情報の「有効なユーザプロファイルがある仮想マシン」に記録のある行を検索し、対応する「使用時刻」を求めればよい。もし、「有効なユーザプロファイルがある仮想マシン」に複数の記録がある仮想マシン41の場合、対応する「使用時刻」のうち最も新しい使用時刻を、その仮想マシン41の直近の使用時刻とすればよい。
また、この場合、仮想マシン選択部31は、直近の使用時刻に基づく複数の選択条件を設定してもよい。具体的には、以下のように段階的な条件を設定してもよい。
・条件1:直近の使用時刻より現在までの経過時間がt1以上の仮想マシンのうち、直近の使用時刻が最も古い仮想マシンを選択(ただし、t1は正数)
・条件2:直近の使用時刻より現在までの経過時間がt1より少なくt2以上の仮想マシンのうち、直近の使用時刻が最も新しい仮想マシンを選択(ただし、t2は正数かつt1>t2)
・条件3:直近の使用時刻より現在までの経過時間がt2以上の仮想マシンが無い場合、直近の使用時刻が最も古い仮想マシンを選択
この例の場合、仮想マシン選択部31は、条件1で選択を行い、条件1に当てはまる仮想マシンが無かった場合に条件2で選択を行い、条件2に当てはまる仮想マシンが無かった場合に条件3で選択を行う。このように、直近の使用時刻から現在までの経過時間によって、選択条件を変化させることで、運用の実情に合わせた多様な選択条件を設定することができる。
あるいは、仮想マシン選択部31は、該当する複数の仮想マシン41のうち、その仮想マシン41が動作している仮想マシン稼働装置40の負荷に基づく条件で仮想マシン41を選択してもよい。あるいは、仮想マシン選択部31は、該当する複数の仮想マシン41のうち、その仮想マシン41が用いているストレージの負荷に基づく条件で仮想マシン41を選択してもよい。あるいは、仮想マシン選択部31は、該当する複数の仮想マシン41からランダムに1つを選択してもよい。あるいは、仮想マシン選択部31は、上述した選択条件を組み合わせて1つの仮想マシン41を選択してもよい。
なお、抽出された利用可能な仮想マシン41中に、該当するユーザの有効なユーザプロファイルを保持する仮想マシン41がない場合で、さらに、いずれのユーザについても有効なユーザプロファイルを保持していない仮想マシン41がない場合も想定される。すなわち、抽出された利用可能な仮想マシン41はいずれも、該当するユーザ以外のいずれかのユーザについて有効なユーザプロファイルを保持している場合である。このような場合、仮想マシン選択部31は、抽出した利用可能な仮想マシン41の中からいずれか1つを選択すればよい。
なお、この場合、仮想マシン選択部31は、抽出した利用可能な仮想マシン41の中から、上述した直近の使用時刻に基づく条件を用いて、仮想マシン41を選択してもよい。あるいは、上述したように、仮想マシン選択部31は、仮想マシン稼働装置40の負荷に基づき選択、ストレージの負荷に基づき選択、ランダムに選択、または、複数の選択条件を組合せて選択等の手法により、いずれか1つの仮想マシン41を選択すればよい。
ユーザセッション管理部32は、シンクライアントシステム2にログオンを要求するユーザの認証情報を、シンクライアント端末120から取得する。また、ユーザセッション管理部32は、取得した認証情報を用いてユーザ情報管理装置320に問い合わせることにより、該当するユーザのユーザグループを取得する。また、ユーザセッション管理部32は、該当するユーザに対して割り当てる仮想マシン41を、仮想マシン選択部31を用いて決定する。
また、ユーザセッション管理部32は、本発明の第1の実施の形態におけるユーザセッション管理部12と同様に、決定した仮想マシン41を表す情報を、シンクライアント端末120に通知する。
また、ユーザセッション管理部32は、不要なユーザプロファイルの削除要求対象となる仮想マシン41に対して、不要なユーザプロファイルの削除を要求する。具体的には、ユーザセッション管理部32は、削除要求対象の仮想マシン41上に保持されている有効なユーザプロファイルのユーザを、有効プロファイル所在情報を参照することにより特定する。そして、ユーザセッション管理部32は、削除要求対象の仮想マシン41に対して、特定したユーザを、ユーザプロファイルの削除対象から除外する除外ユーザとして通知する。また、ユーザセッション管理部32は、削除要求対象の仮想マシン41に対して、不要なユーザプロファイルの削除処理を要求する。例えば、ユーザセッション管理部32は、削除要求対象の仮想マシン41に対して、削除要求を表す情報と共に、除外ユーザを表す情報を送信すればよい。
なお、本実施の形態では、ログオンを要求するユーザに仮想マシン41を割り当てるタイミングで、割り当てた仮想マシン41に対して削除処理を要求するものとする。つまり、本実施の形態では、仮想マシン選択部31によって選択された仮想マシン41を、削除要求対象とする。この場合、ユーザセッション管理部32は、除外ユーザとして、ログオンを要求するユーザを加える。そして、ユーザセッション管理部32は、選択された仮想マシン41に対して、削除要求対象の仮想マシン41上に保持されている有効なユーザプロファイルのユーザと、ログオンを要求するユーザとを除外ユーザとして、削除処理を要求すればよい。
ここで、もし、ログオンを要求するユーザの有効なユーザプロファイルを保持する仮想マシン41が選択されていたとする。この場合、「選択した仮想マシン41上に保持されている有効なユーザプロファイルのユーザ」は、ログオンを要求するユーザと同一である。したがって、この場合、ユーザセッション管理部32は、除外ユーザを特定する処理を省略することも可能である。一方、もし、ログオンを要求するユーザの有効なユーザプロファイルを保持する仮想マシン41が利用可能な仮想マシン41中になく、他の仮想マシン41が選択されていたとする。この場合、選択した仮想マシン41上に保持されている有効なユーザプロファイルのユーザは、ログオンを要求するユーザと同一ではない。したがって、この場合、除外ユーザを特定する処理が必要となる。あるいは、もし、ログオンを要求するユーザの有効なユーザプロファイルを保持する仮想マシン41が利用可能な仮想マシン41中になく、いずれのユーザの有効なユーザプロファイルも保持しない仮想マシン41が選択されていたとする。この場合、選択した仮想マシン41上には有効なユーザプロファイルが保持されていないことがわかっている。したがって、この場合、ユーザセッション管理部32は、除外ユーザを特定する処理を省略することも可能である。
また、図5に示すように、仮想マシン41は、ユーザプロファイル管理部42と、ユーザ接続監視部23とを有する。
ユーザプロファイル管理部42は、シンクライアント端末120からユーザの認証情報を取得する。また、ユーザプロファイル管理部42は、取得した認証情報を用いてユーザ情報管理装置320に問い合わせることにより、該当するユーザのユーザプロファイルの格納位置を取得する。そして、ユーザプロファイル管理部42は、ユーザプロファイル格納装置210または自装置上から、該当するユーザのユーザプロファイルを取得する。
具体的には、ユーザプロファイル管理部42は、ユーザプロファイル格納装置210上の該当する格納位置にあるユーザプロファイルのタイムスタンプを取得する。また、ユーザプロファイル管理部42は、自装置上に保持されている該当するユーザのユーザプロファイルのタイムスタンプを取得する。そして、ユーザプロファイル管理部42は、より新しいほうのユーザプロファイルを取得すればよい。なお、タイムスタンプが同一であれば、ユーザプロファイル管理部42は、自装置上のユーザプロファイルを再利用する。
また、ユーザプロファイル管理部42は、接続管理装置30から、不要なユーザプロファイルの削除要求を受信する。そして、ユーザプロファイル管理部42は、自装置にログオン中のユーザ、ログオン要求中のユーザ、および、通知された除外ユーザ以外について、保持している不要なユーザプロファイルを削除する。なお、シンクライアントシステム2にシンクライアント端末120からログオンするよう設定されたユーザ以外のユーザのユーザプロファイルは、削除対象から除外される。
以上のように構成されたシンクライアントシステム2の動作について、図面を参照して説明する。
まず、シンクライアントシステム2の接続制御動作の概略を図10に示す。
図10では、まず、シンクライアント端末120は、ログオンを要求するユーザの認証情報を取得し、接続管理装置30に送信する(ステップA11)。
次に、接続管理装置30のユーザセッション管理部32は、受信した認証情報に対応するユーザグループ名を、ユーザ情報管理装置320から取得する(ステップB11)。
次に、仮想マシン選択部31は、認証情報の示すユーザに割り当てる仮想マシン41を、利用状況情報、有効プロファイル所在情報およびグループ設定情報を参照することにより選択する(ステップB12)。このステップの詳細については後述する。
次に、ユーザセッション管理部32は、ステップB12で選択された仮想マシン41に対して、不要なユーザプロファイルの削除を要求する(ステップB13)。このステップの詳細については後述する。
次に、削除の要求を受けた仮想マシン41では、ユーザプロファイル管理部42は、不要なユーザプロファイルの削除を行う(ステップC11)。このステップの詳細については後述する。
次に、ユーザセッション管理部32は、ステップB12で選択された仮想マシン41を表す情報を、シンクライアント端末120に通知する(ステップB14)。
次に、シンクライアント端末120は、通知された情報の示す仮想マシン41に対して、ステップA11で取得した認証情報による接続を要求する(ステップA12)。
次に、仮想マシン41のユーザプロファイル管理部42は、自装置に接続を要求しているユーザの認証情報に対応するユーザプロファイルの格納位置を、ユーザ情報管理装置320から取得する(ステップC12)。
次に、ユーザプロファイル管理部42は、ステップC12で取得した格納位置にあるユーザプロファイル格納装置210上のユーザプロファイルのタイムスタンプと、自装置上の該当するユーザのユーザプロファイルのタイムスタンプとを比較する(ステップC13)。
ここで、自装置上のユーザプロファイルのタイムスタンプが、ユーザプロファイル格納装置210上のユーザプロファイルのタイムスタンプと同一であるか、または、より新しかった場合について説明する。この場合、ユーザプロファイル管理部42は、自装置上のユーザプロファイルを再利用して、ユーザをログオンさせる(ステップC14)。
一方、ユーザプロファイル格納装置210上のユーザプロファイルのタイムスタンプのほうが新しい場合について説明する。なお、自装置上に該当するユーザのユーザプロファイルがなければ、ユーザプロファイル管理部42は、ユーザプロファイル格納装置210上のユーザプロファイルのタイムスタンプのほうが新しいと判断するものとする。この場合、ユーザプロファイル管理部42は、ステップC12で取得したユーザプロファイル格納装置210上の格納位置から、ユーザプロファイルを取得して、ユーザをログオンさせる(ステップC15)。
また、その後、ユーザがログオフする場合、シンクライアントシステム2は、ステップA3、C4を、本発明の第1の実施の形態と同様に実行する。これにより、このユーザが仮想マシン41上で利用していたユーザプロファイルは、仮想マシン41上に保持されるとともに、ユーザプロファイル格納装置210にコピーされる。
以上で、シンクライアントシステム2は、接続制御動作を終了する。
次に、シンクライアントシステム2が、利用状況情報および有効プロファイル所在情報を更新する動作について説明する。シンクライアントシステム2による利用状況情報および有効プロファイル所在情報の更新動作は、図4を参照して説明した本発明の第1の実施の形態における更新動作と略同様である。ただし、ステップB4における有効プロファイル所在情報の更新動作の詳細が異なる。
ステップB4において、ユーザセッション管理部32は、接続状態を通知されたユーザの有効プロファイル所在情報において、「有効なユーザプロファイルのある仮想マシン」の情報を、通知元の仮想マシン41を表す情報に更新する。さらに、ユーザセッション管理部32は、接続状態を通知されたユーザの有効プロファイル所在情報において、「使用時刻」の情報を更新する。ここで、更新する使用時刻は、この処理の実行時点での現在時刻であってもよい。あるいは、更新する使用時刻は、仮想マシン41において接続状態の変化が検出された時刻であってもよい。その場合、ステップC7において、仮想マシン41のユーザ接続監視部23は、接続状態およびユーザを表す情報に加えて検出時刻を、接続管理装置30に対して通知すればよい。
次に、図10のステップB12における仮想マシン選択動作の詳細について、図11を参照して説明する。
図11では、まず、接続管理装置30の仮想マシン選択部31は、グループ設定情報を参照することにより、ステップB11で特定されたユーザグループに対応する仮想マシングループを特定する(ステップB21)。
次に、仮想マシン選択部31は、利用状況情報を参照することにより、ステップB21で特定した仮想マシングループに属する仮想マシン41のうち利用可能であるものを抽出する(ステップB22)。
次に、仮想マシン選択部31は、有効プロファイル所在情報を参照することにより、ステップB22で抽出した仮想マシン41の中に、認証情報の示すユーザについて有効なユーザプロファイルを保持するものがあるか否かを判断する(ステップB23)。
ここで、該当ユーザについて有効なユーザプロファイルを保持する仮想マシン41があると判断した場合について説明する。この場合、仮想マシン選択部31は、その仮想マシン41を選択する(ステップB24)。
一方、該当ユーザについて有効なユーザプロファイルを保持する仮想マシン41がないと判断した場合について説明する。この場合、仮想マシン選択部31は、ステップB22で抽出した仮想マシン41の中に、いずれのユーザについても有効なユーザプロファイルを保持していないものがあるか否かを判断する(ステップB25)。
ここで、いずれのユーザについても有効なユーザプロファイルを保持していないものがあると判断した場合について説明する。この場合、仮想マシン選択部31は、その仮想マシン41を選択する(ステップB26)。もし、該当する複数の仮想マシン41がある場合、仮想マシン選択部31は、そのうち1つを選択すればよい。選択の際には、前述のように、各仮想マシン41の直近の使用時刻に基づく条件、または、仮想マシン稼働装置40の負荷やストレージの負荷などに基づく条件が用いられてもよい。あるいは、前述のように、仮想マシン選択部31は、該当する複数の仮想マシン41からランダムに1つ選択してもよい。
一方、いずれのユーザについても有効なユーザプロファイルを保持していないものが無いと判断した場合について説明する。つまり、ステップB22で抽出された仮想マシン41がいずれも、該当するユーザ以外のユーザの有効なユーザプロファイルを保持している場合である。この場合、仮想マシン選択部31は、ステップB22で抽出した仮想マシン41の中から1つを選択する(ステップB27)。もし、該当する複数の仮想マシン41がある場合、仮想マシン選択部31は、ステップS22で抽出した仮想マシン41の中から1つを選択すればよい。選択の際には、前述のように、各仮想マシン41の直近の使用時刻に基づく条件、または、仮想マシン稼働装置40の負荷やストレージの負荷などに基づく条件が用いられてもよい。あるいは、前述のように、仮想マシン選択部31は、該当する複数の仮想マシン41からランダムに1つ選択してもよい。
以上で、ステップB12における仮想マシン選択動作の詳細な説明を終了する。
次に、図10のステップB13における不要なユーザプロファイルの削除要求動作の詳細について、図12を参照して説明する。
図12では、まず、接続管理装置30のユーザセッション管理部32は、有効プロファイル所在情報を参照することにより、削除要求対象の仮想マシン41に保持される有効なユーザプロファイルのユーザを特定する(ステップB31)。ここでは、削除要求対象の仮想マシン41には、ステップB12で選択された仮想マシン41が適用される。
次に、ユーザセッション管理部32は、受信した認証情報の示すユーザと、ステップB31で特定したユーザとを除外ユーザとする。そして、ユーザセッション管理部32は、削除要求対象の仮想マシン41に対して、除外ユーザの情報を通知するとともに、不要なユーザプロファイルの削除を要求する(ステップB32)。
以上で、ステップB13における不要なユーザプロファイルの削除要求動作の詳細な説明を終了する。
次に、図10のステップC11における不要なユーザプロファイルの削除動作の詳細について、図13を参照して説明する。
図13では、まず、仮想マシン41のユーザプロファイル管理部42は、接続管理装置30から通知された除外ユーザの情報を取得する(ステップC31)。
次に、ユーザプロファイル管理部42は、自装置にログオン中のユーザ一覧を取得する(ステップC32)。
次に、ユーザプロファイル管理部42は、自装置に保持されているユーザプロファイルのうち、未処理のものがあるか否かを判断する(ステップC33)。
ここで、未処理のユーザプロファイルがなければ、ユーザプロファイル管理部42は、削除動作を終了する。
一方、未処理のユーザプロファイルがある場合について説明する。この場合、ユーザプロファイル管理部42は、そのうち1つのユーザプロファイルについて、移動ユーザプロファイルであるか否かを判断する(ステップC34)。
なお、移動ユーザプロファイルであるとは、ユーザプロファイル管理装置40との間で送受信されるユーザプロファイルであることをいう。仮想マシン41は、例外的なユーザ(ゲストユーザ、テストユーザや管理ユーザ等)のユーザプロファイルについては、移動ユーザプロファイルでなく、自装置に保持している場合もある。
ここで、移動ユーザプロファイルでない場合、ユーザプロファイル管理部42は、残りの未処理のユーザプロファイルについて、ステップC33からの処理を繰り返す。
一方、移動ユーザプロファイルである場合、ユーザプロファイル管理部42は、このユーザプロファイルのユーザが、ステップC31で取得された除外ユーザまたはステップC32で取得されたログオン中のユーザであるか否かを判断する(ステップC35)。
ここで、除外ユーザまたはログオン中のユーザのユーザプロファイルであれば、ユーザプロファイル管理部42は、残りの未処理のユーザプロファイルについて、ステップC33からの処理を繰り返す。
一方、除外ユーザまたはログオン中のユーザのユーザプロファイルでなければ、ユーザプロファイル管理部42は、このユーザプロファイルを削除する(ステップC36)。
そして、ユーザプロファイル管理部42は、残りの未処理のユーザプロファイルについて、ステップC33からの処理を繰り返す。
以上で、ステップC11における不要なユーザプロファイルの削除動作の詳細な説明を終了する。
次に、シンクライアントシステム2の動作の具体例について説明する。
<具体例1>
まず、ユーザ「User10」が仮想マシン41への接続を行う場合について、図10〜図13、図4を参照して説明する。ここでは、ユーザ情報管理装置320は、図6に示したユーザ情報を格納しているものとする。また、接続管理装置30は、図7に示した利用状況情報と、図8に示した有効プロファイル所在情報と、図9に示したグループ設定情報とを保持しているものとする。
まず、シンクライアント端末120は、認証情報として、ユーザ名「User10」およびパスワード「pwuser10」を、入力装置1004から取得する。
そして、シンクライアント端末120は、取得した認証情報を、接続管理装置30に送信する(図10、ステップA11)。
次に、接続管理装置30のユーザセッション管理部32は、シンクライアント端末120から認証情報として、ユーザ名「User10」およびパスワード「pwuser10」を取得する。
そして、ユーザセッション管理部32は、この認証情報をユーザ情報管理装置320に送信し、図6において対応するユーザ情報として、ユーザグループ名「UserGroup1」を取得する(ステップB11)。
次に、仮想マシン選択部31は、利用状況情報、有効プロファイル所在情報およびグループ設定情報を用いて、ユーザ「User10」に割り当てる仮想マシン41を選択する(ステップB12)。
具体的には、仮想マシン選択部31は、図9に示すグループ設定情報を参照して、ユーザグループ「UserGroup1」に対応する仮想マシングループ「VpcGroup1」を特定する(図11、ステップB21)。
次に、仮想マシン選択部31は、図7に示す利用状況情報を参照して、仮想マシングループ「VpcGroup1」に所属する仮想マシン41のうち、利用可能な仮想マシン41として、「Vpc11」、「Vpc12」、「Vpc13」を抽出する(ステップB22)。
次に、仮想マシン選択部31は、図8に示す有効プロファイル所在情報を参照して、ユーザ「User10」の有効なユーザプロファイルを保持する仮想マシン41として「Vpc10」を取得する。そして、仮想マシン選択部31は、そのような仮想マシン41「Vpc10」が、利用可能な仮想マシン41「Vpc11」、「Vpc12」、「Vpc13」の中にないと判断する(ステップB23でNo)。
そこで、仮想マシン選択部31は、利用可能な仮想マシン41「Vpc11」、「Vpc12」、「Vpc13」のうち、いずれのユーザの有効なユーザプロファイルも保持していない仮想マシン41があるか否かを判断する(ステップB25)。
ここでは、図8の有効プロファイル所在情報の「有効なユーザプロファイルのある仮想マシン」の列に、「Vpc11」および「Vpc12」については記載があるが、「Vpc13」については記載がない。そこで、仮想マシン選択部31は、利用可能な仮想マシン41「Vpc11」、「Vpc12」、「Vpc13」のうち、有効なユーザプロファイルを保持していない仮想マシン41として「Vpc13」があると判断する(ステップB25でYes)。
そこで、仮想マシン選択部31は、そのような仮想マシン41から1つ選択する。ここでは、有効なユーザプロファイルを保持していない仮想マシン41が「Vpc13」の1つであったため、仮想マシン選択部31は、その「Vpc13」を選択すればよい(ステップB26)。
このようにして、図10のステップB12において、仮想マシン41「Vpc13」が選択された。
次に、ユーザセッション管理部32は、選択された仮想マシン41「Vpc13」に対して、不要なユーザプロファイルの削除を要求する(ステップB13)。
具体的には、ユーザセッション管理部32は、図8の有効プロファイル所在情報を参照して、選択された仮想マシン41「Vpc13」に有効なユーザプロファイルが保持されるユーザを取得する(図12、ステップB31)。
ここでは、仮想マシン41「Vpc13」は、いずれのユーザについても有効なユーザプロファイルを保持していない。そこで、ユーザセッション管理部32は、このステップではユーザを表す情報を取得しない。
次に、ユーザセッション管理部32は、ステップB31で特定されたユーザが無いので、ログインを要求するユーザ「User10」を除外ユーザとする。そして、ユーザセッション管理部32は、選択された仮想マシン41「Vpc13」に対して、除外ユーザ「User10」の情報を通知するとともに、不要なユーザプロファイルの削除を要求する(ステップB32)。
次に、仮想マシン41「Vpc13」のユーザプロファイル管理部42は、不要なユーザプロファイルを削除する(図10、ステップC11)。
具体的には、ユーザプロファイル管理部42は、除外ユーザとして「User10」の情報を取得する(図13、ステップC31)。
次に、ユーザプロファイル管理部42は、自装置「Vpc13」にログオン中のユーザ一覧を取得する(ステップC32)。
ここでは、ログオン中のユーザはいなかったものとする。
次に、ユーザプロファイル管理部42は、自装置「Vpc13」に保持されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「Administrator」のユーザプロファイルがあるとする(ステップC33でYes)
次に、ユーザプロファイル管理部42は、「Administrator」のユーザプロファイルが移動ユーザプロファイルでないと判断する(ステップC34でNo)。
そこで、ユーザプロファイル管理部42は、「Administrator」のユーザプロファイルを削除せず、ステップC33に戻る。
次に、ユーザプロファイル管理部42は、自装置「Vpc13」に保持されている未処理のユーザプロファイルがないと判断する(ステップC33でNo)
このようにして、図10のステップC11において、選択された仮想マシン41「Vpc13」では、不要なユーザプロファイルが無いため削除は行われなかった。
次に、接続管理装置30のユーザセッション管理部32は、選択された仮想マシン41「Vpc13」を、シンクライアント端末120に通知する(図10、ステップB14)。
次に、シンクライアント端末120は、通知された仮想マシン41「Vpc13」に対して、認証情報としてユーザ名「User10」およびパスワード「pwuser10」を送信して、接続を要求する(ステップA12)。
次に、仮想マシン41「Vpc13」のユーザプロファイル管理部42は、シンクライアント端末120から認証情報を取得する。そして、ユーザプロファイル管理部42は、ユーザ情報管理装置320から、図6においてユーザ「User10」の認証情報に対応するユーザプロファイルの格納位置として、「\\FileSrv\Profiles\User10」を取得する(ステップC12)。
次に、ユーザプロファイル管理部42は、自装置上にこのユーザ「User10」のユーザプロファイルが無いので、ユーザプロファイル格納装置210上のユーザプロファイルが新しいと判断する(ステップC13で「ユーザプロファイル格納装置」)。
そこで、ユーザプロファイル管理部42は、ユーザプロファイル格納装置210上の「\\FileSrv\Profiles\User10」からユーザプロファイルをコピーして、「User10」をログオンさせる(ステップC15)。
次に、仮想マシン41「Vpc13」のユーザ接続監視部23は、自装置にユーザ「User10」がログオンしたという接続状態の変化を検出する(図4のステップC5、C6でYes)。
そこで、ユーザ接続監視部23は、接続状態として、仮想マシン41「Vpc13」にユーザ「User10」がログオンしたことを、接続管理装置30に通知する(ステップC7)。
次に、接続管理装置30のユーザセッション管理部32は、接続状態の通知を受信する。そして、ユーザセッション管理部32は、該当する仮想マシン41「Vpc13」についての利用状況情報を更新する。具体的には、ユーザセッション管理部32は、図7の4行目において、「利用状況」を「利用中」に更新する(ステップB3)。
これにより、利用状況情報は、図7に示す内容から図14に示す内容に更新される。
また、ユーザセッション管理部32は、該当するユーザ「User10」についての有効プロファイル所在情報を更新する。具体的には、ユーザセッション管理部32は、図8の1行目において、「有効なユーザプロファイルのある仮想マシン」を「Vpc13」に更新する。また、ユーザセッション管理部32は、図8の1行目において、「使用時刻」をこの時点での現在時刻である「2014/06/01 08:30:00.000」に更新する。
これにより、有効プロファイル所在情報は、図8に示す内容から図15に示す内容に更新される。
<具体例2>
次に、ユーザ「User11」が仮想マシン41への接続を行う場合について、図10〜図13、図4を参照して説明する。ここでは、ユーザ情報管理装置320は、図6に示したユーザ情報を格納しているものとする。また、接続管理装置30は、図14に示した利用状況情報と、図15に示した有効プロファイル所在情報と、図9に示したグループ設定情報とを保持しているものとする。
まず、シンクライアント端末120は、認証情報として、ユーザ名「User11」およびパスワード「pwuser11」を、入力装置1004から取得する。
そして、シンクライアント端末120は、取得した認証情報を、接続管理装置30に送信する(図10、ステップA11)。
次に、接続管理装置30のユーザセッション管理部32は、シンクライアント端末120から認証情報として、ユーザ名「User11」およびパスワード「pwuser11」を取得する。
そして、ユーザセッション管理部32は、この認証情報をユーザ情報管理装置320に送信し、図6において対応するユーザ情報としてユーザグループ名「UserGroup1」を取得する(ステップB11)。
次に、仮想マシン選択部31は、利用状況情報、有効プロファイル所在情報およびグループ設定情報を用いて、ユーザ「User11」に割り当てる仮想マシン41を選択する(ステップB12)。
具体的には、仮想マシン選択部31は、図9に示すグループ設定情報を参照して、ユーザグループ「UserGroup1」に対応する仮想マシングループ「VpcGroup1」を特定する(図11、ステップB21)。
次に、仮想マシン選択部31は、図14に示す利用状況情報を参照して、仮想マシングループ「VpcGroup1」に所属する仮想マシン41のうち、利用可能な仮想マシン41として、「Vpc11」、「Vpc12」を抽出する(ステップB22)。
次に、仮想マシン選択部31は、図15に示す有効プロファイル所在情報を参照して、ユーザ「User11」の有効なユーザプロファイルを保持する仮想マシン41として「Vpc12」を取得する。そして、仮想マシン選択部31は、そのような仮想マシン41「Vpc12」が、利用可能な仮想マシン41「Vpc11」、「Vpc12」の中にあると判断する(ステップB23でYes)。
そこで、仮想マシン選択部31は、その「Vpc12」を選択する(ステップB24)。
このようにして、図10のステップB12において、仮想マシン41「Vpc12」が選択された。
次に、ユーザセッション管理部32は、選択された仮想マシン41「Vpc12」に対して、不要なユーザプロファイルの削除を要求する(ステップB13)。
具体的には、ユーザセッション管理部32は、図15の有効プロファイル所在情報を参照して、選択された仮想マシン41「Vpc12」に有効なユーザプロファイルが保持されるユーザ「User11」を取得する(図12、ステップB31)。なお、ここでは、取得されたユーザ「User11」は、ログインを要求するユーザ「User11」と同一である。
そこで、ユーザセッション管理部32は、ステップB31で特定されたユーザ「User11」であり、ログインを要求するユーザである「User11」を、除外ユーザとする。そして、ユーザセッション管理部32は、選択された仮想マシン41「Vpc12」に対して、除外ユーザ「User11」の情報を通知するとともに、不要なユーザプロファイルの削除を要求する(ステップB32)。
次に、仮想マシン41「Vpc12」のユーザプロファイル管理部42は、不要なユーザプロファイルを削除する(図10、ステップC11)。
具体的には、ユーザプロファイル管理部42は、除外ユーザとして「User11」の情報を取得する(図13、ステップC31)。
次に、ユーザプロファイル管理部42は、自装置「Vpc12」にログオン中のユーザ一覧を取得する(ステップC32)。
ここでは、ログオン中のユーザはいなかったものとする。
次に、ユーザプロファイル管理部42は、自装置「Vpc12」に保持されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「TestUser1」のユーザプロファイルが見つかったとする(ステップC33でYes)
次に、ユーザプロファイル管理部42は、「TestUser1」のユーザプロファイルが移動ユーザプロファイルであると判断する(ステップC34でYes)。
次に、ユーザプロファイル管理部42は、「TestUser1」が、除外ユーザ「User11」でなく、ログオン中のユーザでないと判断する(ステップC35でNo)。
そこで、ユーザプロファイル管理部42は、「TestUser1」のユーザプロファイルを削除する(ステップC36)。
ステップC33に戻り、ユーザプロファイル管理部42は、自装置「Vpc12」に保持されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「User11」のユーザプロファイルが見つかったとする(ステップC33でYes)
次に、ユーザプロファイル管理部42は、「User11」のユーザプロファイルが移動ユーザプロファイルであると判断する(ステップC34でYes)。
次に、ユーザプロファイル管理部42は、「User11」が、除外ユーザ「User11」であると判断する(ステップC35でYes)。
そこで、ユーザプロファイル管理部42は、このユーザプロファイルを削除せず、ステップC33に戻る。
次に、ユーザプロファイル管理部42は、自装置「Vpc12」に保持されている未処理のユーザプロファイルがないと判断する(ステップC33でNo)
このようにして、図10のステップC11において、選択された仮想マシン41「Vpc12」では、不要な「TestUser1」のユーザプロファイルが削除された。
次に、接続管理装置30のユーザセッション管理部32は、選択された仮想マシン41「Vpc12」を、シンクライアント端末120に通知する(ステップB14)。
次に、シンクライアント端末120は、通知された仮想マシン41「Vpc12」に対して、認証情報として、ユーザ名「User11」およびパスワード「pwuser11」を送信して接続を要求する(ステップA12)。
次に、仮想マシン41「Vpc12」のユーザプロファイル管理部42は、シンクライアント端末120から認証情報を取得する。そして、ユーザプロファイル管理部42は、ユーザ情報管理装置320から、図6においてユーザ「User11」の認証情報に対応するユーザプロファイルの格納位置として、「\\FileSrv\Profiles\User11」を取得する(ステップC12)。
次に、ユーザプロファイル管理部42は、ユーザ「User11」について、自装置上に保持されているユーザプロファイルのタイムスタンプと、ユーザプロファイル格納装置210上のユーザプロファイルのタイムスタンプとを比較する。そして、ユーザプロファイル管理部42は、自装置上のタイムスタンプが、ユーザプロファイル格納装置210上のタイムスタンプと同一であるかまたは新しいと判断する(ステップC13で「自装置」)。
そこで、ユーザプロファイル管理部42は、自装置上の「User11」のユーザプロファイルを再利用して、「User11」をログオンさせる(ステップC14)。
次に、仮想マシン41「Vpc12」のユーザ接続監視部23は、自装置にユーザ「User11」がログオンしたという接続状態の変化を検出する(図4のステップC5、C6でYes)。
そこで、ユーザ接続監視部23は、接続状態として、仮想マシン41「Vpc12」にユーザ「User11」がログオンしたことを、接続管理装置30に通知する(ステップC7)。
次に、接続管理装置30のユーザセッション管理部32は、接続状態の通知を受信する。そして、ユーザセッション管理部32は、該当する仮想マシン41「Vpc12」の利用状況情報を更新する。具体的には、ユーザセッション管理部32は、図14の3行目において、「利用状況」を「利用中」に更新する(ステップB3)。
これにより、利用状況情報は、図14に示す内容から図16に示す内容に更新される。
また、ユーザセッション管理部32は、該当するユーザ「User11」の有効プロファイル所在情報を更新する。具体的には、ユーザセッション管理部32は、図15の2行目において、「有効なユーザプロファイルのある仮想マシン」を「Vpc12」に更新する。また、ユーザセッション管理部32は、図15の2行目において、「使用時刻」をこの時点での現在時刻である「2014/06/01 19:30:00.000」に更新する。
これにより、有効プロファイル所在情報は、図15に示す内容から図17に示す内容に更新される。
<具体例3>
次に、ユーザ「User10」が仮想マシン41「Vpc13」からログオフする場合について、図4を参照して説明する。ここでは、ユーザ情報管理装置320は、図6に示したユーザ情報を格納しているものとする。また、接続管理装置30は、図16に示した利用状況情報と、図17に示した有効プロファイル所在情報と、図9に示したグループ設定情報とを保持しているものとする。
まず、シンクライアント端末120は、ユーザ「User10」のログオフを表す情報を取得し、仮想マシン41「Vpc13」に対して切断を要求する(図10のステップA3)。
次に、仮想マシン41「Vpc13」のユーザプロファイル管理部42は、自装置からのログオフに伴い、ユーザ「User10」のユーザプロファイルを保持しておく。そして、ユーザプロファイル管理部42は、ユーザ「User10」のユーザプロファイルを、ユーザプロファイル格納装置210の「\\FileSrv\Profiles\User10」の格納位置にコピーする(ステップC4)。
また、仮想マシン41「Vpc13」のユーザ接続監視部23は、自装置からユーザ「User10」がログオフしたという接続状態の変化を検出する(図4のステップC5、C6でYes)。
そこで、ユーザ接続監視部23は、接続状態として、仮想マシン41「Vpc13」からユーザ「User10」がログオフしたことを、接続管理装置30に通知する(ステップC7)。
次に、接続管理装置30のユーザセッション管理部32は、接続状態の通知を受信する。そして、ユーザセッション管理部32は、該当する仮想マシン41「Vpc13」についての利用状況情報を更新する。具体的には、ユーザセッション管理部32は、図16の4行目において、「利用状況」を「利用可能」に更新する(ステップB3)。
これにより、利用状況情報は、図16に示す内容から図18に示す内容に更新される。
また、ユーザセッション管理部32は、該当するユーザ「User10」についての有効プロファイル所在情報を更新する。具体的には、ユーザセッション管理部32は、図17の1行目において、「有効なユーザプロファイルのある仮想マシン」については、既に「Vpc13」となっているので、そのままとする。また、ユーザセッション管理部32は、図17の1行目において、「使用時刻」をこの時点での現在時刻である「2014/06/01 20:00:00.000」に更新する。
これにより、有効プロファイル所在情報は、図17に示す内容から図19に示す内容に更新される。
<具体例4>
次に、ユーザ「User14」が仮想マシン41への接続を行う場合について、図10〜図13、図4を参照して説明する。ここでは、ユーザ情報管理装置320は、図6に示したユーザ情報を格納しているものとする。また、接続管理装置30は、図18に示した利用状況情報と、図19に示した有効プロファイル所在情報と、図9に示したグループ設定情報とを保持しているものとする。
まず、シンクライアント端末120は、認証情報として、ユーザ名「User14」およびパスワード「pwuser14」を、入力装置1004から取得する。
そして、シンクライアント端末120は、取得した認証情報を、接続管理装置30に送信する(図10、ステップA11)。
次に、接続管理装置30のユーザセッション管理部32は、シンクライアント端末120から認証情報として、ユーザ名「User14」およびパスワード「pwuser14」を取得する。
そして、ユーザセッション管理部32は、この認証情報をユーザ情報管理装置320に送信し、図6において対応するユーザ情報としてユーザグループ名「UserGroup1」を取得する(ステップB11)。
次に、仮想マシン選択部31は、利用状況情報、有効プロファイル所在情報およびグループ設定情報を用いて、ユーザ「User14」に割り当てる仮想マシン41を選択する(ステップB12)。
具体的には、仮想マシン選択部31は、図9に示すグループ設定情報を参照して、ユーザグループ「UserGroup1」に対応する仮想マシングループ「VpcGroup1」を特定する(図11、ステップB21)。
次に、仮想マシン選択部31は、図18に示す利用状況情報を参照して、仮想マシングループ「VpcGroup1」に所属する仮想マシン41のうち、利用可能な仮想マシン41として、「Vpc11」、「Vpc13」を抽出する(ステップB22)。
次に、仮想マシン選択部31は、図19に示す有効プロファイル所在情報を参照して、ユーザ「User14」の有効なユーザプロファイルを保持する仮想マシン41が無いと判断する。したがって、仮想マシン選択部31は、そのような仮想マシン41が、利用可能な仮想マシン41「Vpc11」、「Vpc13」の中にないと判断する(ステップB23でNo)。
そこで、仮想マシン選択部31は、図19の有効プロファイル所在情報を参照して、利用可能な仮想マシン41「Vpc11」、「Vpc13」のうち、有効なユーザプロファイルを保持していない仮想マシン41があるか否かを判断する(ステップB25)。
ここでは、図19の有効プロファイル所在情報の「有効なユーザプロファイルのある仮想マシン」の列に、「Vpc11」および「Vpc13」について共に記載がある。そこで、仮想マシン選択部31は、利用可能な仮想マシン41「Vpc11」、「Vpc13」のうち、有効なユーザプロファイルを保持していない仮想マシン41が無いと判断する(ステップB25でNo)。
そこで、仮想マシン選択部31は、利用可能な仮想マシン41「Vpc11」、「Vpc13」の中から1つ選択する。
ここでは、選択可能な複数の仮想マシン41がある場合の選択条件として、「直近の使用時刻が最も古い仮想マシン」という条件が設定されているものとする。そこで、仮想マシン選択部31は、図19の有効プロファイル所在情報を参照し、「Vpc11」の直近の使用時刻は「2014/06/01 07:30:00.000」であり、「Vpc13」の直近の使用時刻は、「2014/06/01 20:00:00.000」であることを求める。そこで、仮想マシン選択部31は、仮想マシン41「Vpc11」、「Vpc13」のうち直近の使用時刻が最も古い「Vpc11」を選択する(ステップB26)。
このようにして、図10のステップB12において、仮想マシン41「Vpc11」が選択された。
次に、ユーザセッション管理部32は、選択された仮想マシン41「Vpc11」に対して、不要なユーザプロファイルの削除を要求する(ステップB13)。
具体的には、ユーザセッション管理部32は、図19の有効プロファイル所在情報を参照して、選択された仮想マシン41「Vpc11」に有効なユーザプロファイルが保持されるユーザ「User12」を取得する(図12、ステップB31)。
そこで、ユーザセッション管理部32は、ステップB31で特定されたユーザ「User12」と、ログインを要求するユーザである「User14」とを、除外ユーザとする。そして、ユーザセッション管理部32は、選択された仮想マシン41「Vpc11」に対して、除外ユーザ「User12」、「User14」の情報を通知するとともに、不要なユーザプロファイルの削除を要求する(ステップB32)。
次に、仮想マシン41「Vpc11」のユーザプロファイル管理部42は、不要なユーザプロファイルを削除する(図10、ステップC11)。
具体的には、ユーザプロファイル管理部42は、除外ユーザとして「User12」、「User14」の情報を取得する(図13、ステップC31)。
次に、ユーザプロファイル管理部42は、自装置「Vpc11」にログオン中のユーザ一覧を取得する(ステップC32)。
ここでは、ログオン中のユーザはいなかったものとする。
次に、ユーザプロファイル管理部42は、自装置「Vpc11」に保持されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「User12」のユーザプロファイルが見つかったとする(ステップC33でYes)
次に、ユーザプロファイル管理部42は、「User12」のユーザプロファイルが移動ユーザプロファイルであると判断する(ステップC34でYes)。
次に、ユーザプロファイル管理部42は、「User12」が、除外ユーザであると判断する(ステップC35でYes)。
そこで、ユーザプロファイル管理部42は、「User12」のユーザプロファイルを削除せず、ステップC33に戻る。
次に、ユーザプロファイル管理部42は、自装置「Vpc11」に保持されている未処理のユーザプロファイルがないと判断する(ステップC33でNo)
このようにして、図10のステップC11において、選択された仮想マシン41「Vpc11」では、不要なユーザプロファイルが無いため削除は行われなかった。
次に、接続管理装置30のユーザセッション管理部32は、選択された仮想マシン41「Vpc11」を、シンクライアント端末120に通知する(ステップB14)。
次に、シンクライアント端末120は、通知された仮想マシン41「Vpc11」に対して、認証情報としてユーザ名「User14」およびパスワード「pwuser14」を送信して、接続を要求する(ステップA12)。
次に、仮想マシン41「Vpc11」のユーザプロファイル管理部42は、シンクライアント端末120から認証情報を取得する。そして、ユーザプロファイル管理部42は、ユーザ情報管理装置320から、図6においてユーザ「User14」の認証情報に対応するユーザプロファイルの格納位置として、「\\FileSrv\Profiles\User14」を取得する(ステップC12)。
次に、ユーザプロファイル管理部42は、自装置上にこのユーザ「User14」のユーザプロファイルが無いので、ユーザプロファイル格納装置210上のユーザプロファイルが新しいと判断する(ステップC13で「ユーザプロファイル格納装置」)。
そこで、ユーザプロファイル管理部42は、ユーザプロファイル格納装置210上の「\\FileSrv\Profiles\User14」からユーザプロファイルをコピーして、「User14」をログオンさせる(ステップC15)。
次に、仮想マシン41「Vpc11」のユーザ接続監視部23は、自装置にユーザ「User14」がログオンしたという接続状態の変化を検出する(図4のステップC5、C6でYes)。
そこで、ユーザ接続監視部23は、接続状態として、仮想マシン「Vpc11」にユーザ「User14」がログオンしたことを、接続管理装置30に通知する(ステップC7)。
次に、接続管理装置30のユーザセッション管理部32は、接続状態の通知を受信する。そして、ユーザセッション管理部32は、該当する仮想マシン41「Vpc11」の利用状況情報を更新する。具体的には、ユーザセッション管理部32は、図18の2行目において、「利用状況」を「利用中」に更新する(ステップB3)。
これにより、利用状況情報は、図18に示す内容から図20に示す内容に更新される。
また、ユーザセッション管理部32は、該当するユーザ「User14」の有効プロファイル所在情報を更新する。具体的には、ユーザセッション管理部32は、図19の5行目において、「有効なユーザプロファイルのある仮想マシン」を「Vpc11」に更新する。また、ユーザセッション管理部32は、図19の5行目において、「使用時刻」をこの時点での現在時刻である「2014/06/01 20:30:01.000」に更新する。
これにより、有効プロファイル所在情報は、図19に示す内容から図21に示す内容に更新される。
以上で、シンクライアントシステム2の具体的な動作例の説明を終了する。
次に、本発明の第2の実施の形態の効果について述べる。
本発明の第2の実施の形態は、仮想マシンを利用したシンクライアントシステムにおいて、ログオンストームの発生をさらに効果的に抑制することができる。
その理由について述べる。本実施の形態では、本発明の第1の実施の形態と同様の構成に加え、接続管理装置の仮想マシン選択部が、利用可能な仮想マシンの中にログオンを要求するユーザの有効なユーザプロファイルを保持する仮想マシンがない場合、次のように構成されるからである。すなわち、この場合、仮想マシン選択部は、利用可能な仮想マシンの中でいずれのユーザの有効なユーザプロファイルも保持していない仮想マシンから1つを選択するからである。
このように、本実施の形態は、あるユーザの有効なユーザプロファイルを保持する仮想マシンに他のユーザをログオンさせる可能性をより低くする。これにより、本実施の形態は、ログオンを要求するユーザの有効なユーザプロファイルを保持する仮想マシンが他のユーザにより利用中である可能性をより低くする。これにより、有効なユーザプロファイルが再利用される可能性がより高くなる。その結果、本実施の形態は、ログオンストームの発生をさらに効果的に抑制することができる。
また、本発明の第2の実施の形態の形態は、ユーザのユーザプロファイルを再利用できない場合にも、ユーザプロファイル格納装置からのコピーによるシステムの負荷の増大を抑制することができる。
その理由は、接続管理装置の仮想マシン選択部が、選択可能な複数の仮想マシンがある場合、直近の使用時刻に基づく条件、仮想マシン稼働装置やストレージの負荷に基づく条件、または、それらの選択条件の組合せに基づき仮想マシンを1つ選択するからである。
また、本発明の第2の実施の形態は、ログオンストームの発生を抑制するために各仮想マシンに保持させるユーザプロファイルについて、必要となる記憶容量の増大を抑制することができる。
その理由について述べる。本実施の形態では、ユーザセッション管理部は、ユーザのログオン先として選択された仮想マシンに対して、不要なユーザプロファイルの削除を要求するからである。このとき、ユーザセッション管理部が、削除要求先の仮想マシン上に保持されている有効なユーザプロファイルを、有効プロファイル所在情報を参照することにより特定する。そして、ユーザセッション管理部が、特定したユーザプロファイルを削除対象から除外するよう通知しながら、ログオン先として選択された仮想マシンに対して不要なユーザプロファイルの削除を要求するからである。そして、仮想マシンのユーザプロファイル管理部が、自装置にログオン中またはログオン要求中のユーザのユーザプロファイル、および、除外するよう通知されたユーザプロファイル以外で、不要なユーザプロファイルを削除するからである。
これにより、本実施の形態は、仮想マシンに残っているユーザプロファイルのうち、最新でない(有効でない)ユーザプロファイルを削除する。そのため、本実施の形態は、保持するユーザプロファイルが増加して記憶装置の使用量が増大することを防ぐことができる。
(第3の実施の形態)
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第2の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
まず、本発明の第3の実施の形態としてのシンクライアントシステム3の構成を図22に示す。図22において、シンクライアントシステム3は、本発明の第2の実施の形態としてのシンクライアントシステム2に対して、接続管理装置30に替えて接続管理装置50を備える点が異なる。
なお、接続管理装置50は、図2を参照して説明した本発明の第1の実施の形態と同一のハードウェア要素を含むコンピュータ装置によって構成可能である。ただし、シンクライアントシステム3のハードウェア構成は、上述の構成に限定されない。
接続管理装置50は、本発明の第2の実施の形態における接続管理装置30に対して、ユーザセッション管理部32に替えてユーザセッション管理部52を備える点が異なる。
ユーザセッション管理部52は、本発明の第2の実施の形態におけるユーザセッション管理部32と略同様に構成される。ただし、不要なユーザプロファイルの削除要求を行うタイミングが異なる。本発明の第2の実施の形態では、ユーザセッション管理部32は、不要なユーザプロファイルの削除要求を、ユーザからのログイン要求時に行っていた。本実施の形態では、ユーザセッション管理部52は、不要なユーザプロファイルの削除要求を、ユーザのログオフ時に行う。
これにより、仮想マシン41のユーザプロファイル管理部42は、ユーザのログオフ時に、不要なユーザプロファイルの削除処理を行うことになる。ただし、ユーザプロファイル管理部42は、接続管理装置50からの削除要求に応じて削除処理を行えばよいので、本発明の第2の実施の形態と同一の構成を適用すればよい。
以上のように構成されたシンクライアントシステム3の接続制御動作を図23に示す。
図23において、シンクライアントシステム3は、本発明の第2の実施の形態と略同様に接続制御動作を行う。ただし、接続管理装置50は、ステップB12で仮想マシン41を選択した後、ステップB13の不要なユーザプロファイルの削除要求を行うことなく、ステップB14の仮想マシン通知動作を実行する。また、仮想マシン41は、ユーザのログイン時には、ステップC11の不要なユーザプロファイルの削除処理を実行しない。
次に、シンクライアントシステム3の利用状況情報および有効プロファイル所在情報の更新動作ならびに不要なユーザプロファイル削除動作を図24に示す。
図24において、仮想マシン41は、ステップC5〜C7まで、図4を参照して説明した本発明の第2の実施の形態における仮想マシン41と同様に動作する。これにより、ユーザの接続状態が接続管理装置50に通知される。
次に、接続状態の通知を受けた接続管理装置50では、ユーザセッション管理部52は、ステップB3〜B4まで、本発明の第2の実施の形態における接続管理装置30と同様に動作する。これにより、ユーザの接続状態の変化に応じて、利用状況情報および有効プロファイル所在情報が更新される。
次に、ユーザセッション管理部52は、仮想マシン41から通知されたユーザの接続状態が、ログオフであったか否かを判断する(ステップB41)。
ここで、ログオフであった場合、ユーザセッション管理部52は、本発明の第2の実施の形態と略同様に、ステップB13(図12のステップB31〜B32)を実行する。
ただし、本実施の形態では、ユーザセッション管理部52は、削除要求対象の仮想マシン41として、ログオフの通知元の仮想マシン41を適用する。そして、ユーザセッション管理部52は、ログオフの通知元の仮想マシン41に有効なユーザプロファイルが保持されるユーザを、有効プロファイル所在情報を参照することにより特定する(ステップB31)。
次に、ユーザセッション管理部52は、ステップB31で特定したユーザを、除外ユーザとする。なお、本発明の第2の実施の形態におけるステップB32では、ユーザセッション管理部52は、除外ユーザとして、ステップB31で特定したユーザに「ログオンを要求するユーザ」を加えていた。本実施の形態では、ログオフ時の動作であるため、「ログオンを要求するユーザ」は無い。したがって、ユーザセッション管理部52は、ログオフの通知元の仮想マシン41に対して、ステップB31で特定したユーザを除外ユーザとして通知しながら、不要なユーザプロファイルの削除を要求する(ステップB32)。
次に、仮想マシン41のユーザプロファイル管理部42は、本発明の第2の実施の形態と同様にステップC11(図13のステップC31〜C36)を実行する。
これにより、ログオン先の不要なユーザプロファイルが削除される。
以上で、シンクライアントシステム3は、不要なユーザプロファイル削除動作を終了する。
次に、シンクライアントシステム3の動作の具体例を示す。
<具体例5>
この例では、ユーザ「User10」が仮想マシン41「Vpc13」からログオフする場合について説明する。ここでは、ユーザ情報管理装置320は、図6に示したユーザ情報を格納しているものとする。また、接続管理装置50は、図16に示した利用状況情報と、図17に示した有効プロファイル所在情報と、図9に示したグループ設定情報とを保持しているものとする。
まず、シンクライアントシステム3は、本発明の第2の実施の形態における具体例3と同様に、図23のステップA3〜C4、図24のステップC5〜C7、B3〜B4まで動作する。これにより、ユーザ「User10」が仮想マシン41「Vpc13」からログオフする。そして、利用状況情報は、図16に示す内容から図18に示す内容に更新される。また、有効プロファイル所在情報は、図17に示す内容から図19に示す内容に更新される。
次に、接続管理装置50のユーザセッション管理部52は、仮想マシン41「Vpc13」から通知されたユーザの接続状態が、ログオフであったと判断する(図24、ステップB41でYes)。
そこで、ユーザセッション管理部52は、ログオフの通知元の仮想マシン41「Vpc13」に対して、不要なユーザプロファイルの削除を要求する(図24、ステップB13)。
具体的には、まず、ユーザセッション管理部52は、削除要求対象の仮想マシン41として、ログオフの通知元の仮想マシン41「Vpc13」を適用する。そして、ユーザセッション管理部52は、図19の有効プロファイル所在情報を参照することにより、仮想マシン41「Vpc13」に有効なユーザプロファイルが保持されるユーザ「User10」を特定する(図12、ステップB31)。
次に、ユーザセッション管理部52は、「User10」を除外ユーザとして通知しながら、仮想マシン41「Vpc13」に対して、不要なユーザプロファイルの削除を要求する(ステップB32)。
次に、仮想マシン41「Vpc13」のユーザプロファイル管理部42は、不要なユーザプロファイルを削除する(図24、ステップC11)。
具体的には、ユーザプロファイル管理部42は、除外ユーザとして「User10」の情報を取得する(図13、ステップC31)。
次に、ユーザプロファイル管理部42は、自装置「Vpc13」にログオン中のユーザ一覧を取得する(ステップC32)。
ここでは、ログオン中のユーザはいなかったものとする。
次に、ユーザプロファイル管理部42は、自装置「Vpc13」に保持されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「TestUser1」のユーザプロファイルが見つかったとする(ステップC33でYes)
次に、ユーザプロファイル管理部42は、「TestUser1」のユーザプロファイルが移動ユーザプロファイルであると判断する(ステップC34でYes)。
次に、ユーザプロファイル管理部42は、「TestUser1」が、除外ユーザ「User10」でなく、ログオン中でないと判断する(ステップC35でNo)。
そこで、ユーザプロファイル管理部42は、「TestUser1」のユーザプロファイルを削除する(ステップC36)。
ステップC33に戻り、ユーザプロファイル管理部42は、自装置「Vpc13」に保持されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「User10」のユーザプロファイルが見つかったとする(ステップC33でYes)
次に、ユーザプロファイル管理部42は、「User10」のユーザプロファイルが移動ユーザプロファイルであると判断する(ステップC34でYes)。
次に、ユーザプロファイル管理部42は、「User10」が、除外ユーザ「User10」であると判断する(ステップC35でYes)。
そこで、ユーザプロファイル管理部42は、このユーザプロファイルを削除せず、ステップC33に戻る。
次に、ユーザプロファイル管理部42は、自装置「Vpc13」に保持されている未処理のユーザプロファイルがないと判断する(ステップC33でNo)
このようにして、図24のステップC11において、仮想マシン41「Vpc13」では、ユーザ「User10」のログオフ直後に、不要な「TestUser1」のユーザプロファイルが削除された。
以上で、シンクライアントシステム3の具体的な動作例の説明を終了する。
次に、本発明の第3の実施の形態の効果について述べる。
本発明の第3の実施の形態は、不要なユーザプロファイルの削除処理に起因して、ログオン時の仮想マシンの負荷が増大することを防止できる。
その理由について説明する。本実施の形態では、接続管理装置のユーザセッション管理部が、ユーザのログオフ時に、それまでユーザがログオンしていた仮想マシンに対して、不要なユーザプロファイルの削除を要求するからである。
これにより、本実施の形態では、仮想マシンが、不要なユーザプロファイルの削除処理をユーザのログイン時に実行することがない。そのため、本実施の形態は、ログイン時の仮想マシンの負荷が増大することを防止できる。
(第4の実施の形態)
次に、本発明の第4の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第3の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
まず、本発明の第4の実施の形態としてのシンクライアントシステム4の構成を図25に示す。図25において、シンクライアントシステム4は、本発明の第3の実施の形態としてのシンクライアントシステム3に対して、接続管理装置50に替えて接続管理装置60と、仮想マシン稼働装置40に替えて仮想マシン稼働装置70とを備える点が異なる。仮想マシン稼働装置70上では、1つ以上の仮想マシン71が動作する。各装置は、ネットワークを介して通信可能に接続される。
なお、接続管理装置60および仮想マシン稼働装置70は、図2を参照して説明した本発明の第1の実施の形態と同一のハードウェア要素を含むコンピュータ装置によって構成可能である。ただし、シンクライアントシステム4のハードウェア構成は、上述の構成に限定されない。
接続管理装置60は、本発明の第3の実施の形態における接続管理装置50に対して、ユーザセッション管理部52に替えてユーザセッション管理部62を備える点が異なる。
ユーザセッション管理部62は、本発明の第3の実施の形態におけるユーザセッション管理部52と略同様に構成される。ただし、不要なユーザプロファイルの削除要求を行うタイミングおよび削除要求処理の詳細が異なる。
本発明の第3の実施の形態では、ユーザセッション管理部52は、不要なユーザプロファイルの削除要求を、ユーザのログオフ時に行っていた。本実施の形態では、ユーザセッション管理部62は、不要なユーザプロファイルの削除要求を、任意のタイミングで行う。また、ユーザセッション管理部62は、削除を要求する時点で利用可能な各仮想マシン71に対して、削除要求を行う。その時点で利用可能な仮想マシン71は、利用状況情報を参照することにより特定可能である。
例えば、ユーザセッション管理部62は、あらかじめ定められたスケジュールにしたがったタイミングで、削除要求を行ってもよい。具体的には、例えば、シンクライアントシステム4の負荷が低くなることがわかっている時間帯に削除要求が実行されるよう、スケジュールが定められていてもよい。また、ユーザセッション管理部62は、所定間隔毎に、削除要求を行ってもよい。また、ユーザセッション管理部62は、シンクライアントシステム4の状態が所定条件を満たしたことを検出したタイミングで、削除要求を行ってもよい。所定条件とは、例えば、シンクライアントシステム4の負荷が所定の低負荷条件を満たすことであってもよい。
また、ユーザセッション管理部62は、不要なユーザプロファイルの削除要求を行う際に、削除対象から除外する除外ユーザを、次のように特定する。まず、ユーザセッション管理部62は、削除要求対象の仮想マシン71上に保持されている有効なユーザプロファイルのユーザを、有効プロファイル所在情報を参照することにより特定する。そして、ユーザセッション管理部62は、特定したユーザのうち、直近の使用時刻に基づく条件に当てはまるユーザを抽出する。例えば、ユーザセッション管理部62は、直近の使用時刻からの経過時間が所定時間以内のユーザを抽出してもよい。そして、ユーザセッション管理部62は、このようにして抽出したユーザを、削除対象から除外する除外ユーザとする。そして、ユーザセッション管理部62は、削除要求対象の仮想マシン71に対して、除外ユーザを通知しつつ、不要なユーザプロファイルの削除処理を要求する。
また、ユーザセッション管理部62は、不要なユーザプロファイルの削除要求先の仮想マシン71から、ユーザプロファイルを削除したユーザを表す情報を受信する。そして、ユーザセッション管理部62は、受信した情報の示す各ユーザについて、有効プロファイル所在情報を更新する。具体的には、ユーザセッション管理部62は、該当するユーザについて有効なユーザプロファイルを保持している仮想マシン71が、ユーザプロファイルの削除を実行した仮想マシン71である場合、そのユーザについての有効プロファイル所在情報を消去する。この有効プロファイル所在情報の消去処理は、あるユーザの有効なユーザプロファイルであっても、その使用時刻が直近の使用時刻に基づく条件に当てはまらない場合、削除要求先の仮想マシン71から削除される可能性があるために行われる。
仮想マシン71は、本発明の第3の実施の形態における仮想マシン41に対して、ユーザプロファイル管理部42に替えてユーザプロファイル管理部72を備える点が異なる。
ユーザプロファイル管理部72は、接続管理装置60からの要求により、本発明の第3の実施の形態と略同様に不要なユーザプロファイルの削除処理を実行する。加えて、ユーザプロファイル管理部72は、ユーザプロファイルを削除したユーザを表す情報を、接続管理装置60に対して通知する。
以上のように構成されたシンクライアントシステム4の動作について、図面を参照して説明する。
なお、シンクライアントシステム4の接続制御動作は、図23を参照して説明した本発明の第3の実施の形態の動作と同様であるため、本実施の形態における説明を省略する。
次に、シンクライアントシステム4の不要なユーザプロファイルの削除動作の概略を図26に示す。なお、図26に示す動作は、上述したような任意のタイミングで実行されるものとする。
図26において、まず、接続管理装置60のユーザセッション管理部62は、利用状況情報を参照することにより、利用可能な仮想マシン71を抽出する(ステップB51)。
ここで、利用可能な仮想マシン71が抽出されなかった場合(ステップB52でNo)、ユーザセッション管理部62は、動作を終了する。
一方、利用可能な仮想マシン71が抽出された場合(ステップB52でYes)、ユーザセッション管理部62は、抽出された各仮想マシン71に対して、不要なユーザプロファイルの削除を要求する(ステップB53)。このステップの詳細については後述する。
また、不要なユーザプロファイルの削除を要求された各仮想マシン71では、ユーザプロファイル管理部72は、不要なユーザプロファイルを削除する(ステップC51)。このステップの詳細については後述する。
次に、ステップB53における不要なユーザプロファイルの削除要求動作の詳細を図27に示す。
図27において、接続管理装置60のユーザセッション管理部62は、該当する仮想マシン71上に保持される有効なユーザプロファイルのうち、使用時刻が所定時間以内のユーザを抽出する(ステップB61)。
次に、ユーザセッション管理部62は、抽出したユーザを除外ユーザとして通知しながら、該当する仮想マシン71に対して、不要なユーザプロファイルの削除を要求する(ステップB62)。
次に、ユーザセッション管理部62は、削除を要求した仮想マシン71から、削除したユーザプロファイルのユーザを表す情報を受信する(ステップB63)。
次に、ユーザセッション管理部62は、受信した情報の示す各ユーザについて、ステップB64〜B65の処理を実行する。
具体的には、ユーザセッション管理部62は、該当するユーザについて、ユーザプロファイル所在情報を参照する。そして、ユーザセッション管理部62は、該当するユーザについて有効なユーザプロファイルを保持する仮想マシン71が、削除処理を実行した仮想マシン71であるか否かを判断する(ステップB64)。
ここで、該当するユーザについて有効なユーザプロファイルを保持する仮想マシン71が、削除処理を実行した仮想マシン71である場合、ユーザセッション管理部62は、該当するユーザについての有効プロファイル所在情報を消去する(ステップB65)。
一方、該当するユーザにいて、有効なユーザプロファイルを保持する仮想マシン71が、削除処理を実行した仮想マシン71でない場合、ユーザセッション管理部62は、該当するユーザについての有効プロファイル所在情報をそのままにする。
ユーザセッション管理部62は、ステップB63で受信した情報の示す全てのユーザについてステップB64〜B65の処理を完了すると、不要なユーザプロファイルの削除要求動作を終了する。
次に、ステップC51における不要なユーザプロファイルの削除動作の詳細を図28に示す。
図28において、仮想マシン71のユーザプロファイル管理部72は、ステップC31〜C36まで本発明の第3の実施の形態と同様に動作して、不要なユーザプロファイルを削除する。ただし、ステップC31において除外ユーザとして通知されるユーザは、この仮想マシン71上にある有効なユーザプロファイルのうち、直近の使用時刻からの経過時間が所定条件を満たすユーザプロファイルのユーザである。
次に、ユーザプロファイル管理部72は、接続管理装置60に対して、ステップC36で削除したユーザプロファイルのユーザを表す情報を通知する(ステップC67)。
ここで通知されるユーザには、この仮想マシン71上に有効なユーザプロファイルがあったユーザであっても、直近の使用時刻からの経過時間が所定条件を満たさないユーザプロファイルのユーザが含まれうることになる。
以上で、仮想マシン71は、不要なユーザプロファイルの削除動作を終了する。
次に、シンクライアントシステム4の動作を具体例で示す。
<具体例6>
ここでは、ユーザ情報管理装置320は、図6に示したユーザ情報を格納しているものとする。また、接続管理装置60は、図29に示す利用状況情報と、図30に示す有効プロファイル所在情報と、図9に示したグループ設定情報とを保持しているものとする。また、除外ユーザの抽出条件となる直近の使用時刻からの経過時間は、7日以内と定められているものとする。また、現在時刻は、「2014/07/09 20:00:00.000」であるとする。
まず、接続管理装置60のユーザセッション管理部62は、図29の利用状況情報を参照し、利用可能な仮想マシン71として「Vpc13」を取得する(ステップB51、B52でYes)。
そこで、ユーザセッション管理部62は、仮想マシン71「Vpc13」に対して、不要なユーザプロファイルの削除を要求する(ステップB53)
具体的には、ユーザセッション管理部62は、図30の有効プロファイル所在情報を参照し、利用可能な仮想マシン71「Vpc13」に有効なユーザプロファイルが保持されるユーザとして、「User10」、「User12」を取得する。
そして、ユーザセッション管理部62は、「User10」、「User12」のうち、直近の使用時刻からの経過時間が7日以内のユーザを抽出する。ここでは、「User10」の直近の使用時刻「2014/07/09 20:00:00.000」から現在時刻「2014/07/10 20:35:00.000」までの経過時間は、7日以内である。一方、「User12」の直近の使用時刻「2014/07/02 07:30:00.000」から現在時刻「2014/07/10 20:35:00.000」までの経過時間は、7日を超えている。したがって、ユーザセッション管理部62は、条件に当てはまる除外ユーザとして、「User10」を抽出する(ステップB61)。
次に、ユーザセッション管理部62は、仮想マシン71「Vpc13」に対して、除外ユーザとして「User10」を通知しつつ、不要なユーザプロファイルの削除を要求する(ステップB62)。
次に、仮想マシン71「Vpc13」のユーザプロファイル管理部72は、除外ユーザとして「User10」の情報を取得する(ステップC31)。
次に、ユーザプロファイル管理部72は、自装置にログオン中のユーザ一覧を取得する(ステップC32)。
ここでは、ログオン中のユーザはいなかったものとする。
次に、ユーザプロファイル管理部72は、自装置「Vpc13」に保持されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「User10」のユーザプロファイルが見つかったとする(ステップC33でYes)
次に、ユーザプロファイル管理部72は、「user10」のユーザプロファイルが移動ユーザプロファイルであると判断する(ステップC34でYes)。
次に、ユーザプロファイル管理部72は、「User10」が、除外ユーザ「User10」であると判断する(ステップC35でYes)。
そこで、ユーザプロファイル管理部72は、「User10」のユーザプロファイルを削除せずに、ステップC33に戻る。
次に、ユーザプロファイル管理部72は、自装置「Vpc13」に保持されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理の「User12」のユーザプロファイルが見つかったとする(ステップC33でYes)
次に、ユーザプロファイル管理部72は、「User12」のユーザプロファイルが移動ユーザプロファイルであると判断する(ステップC34でYes)。
次に、ユーザプロファイル管理部72は、「User12」が、除外ユーザ「User10」でなく、ログオン中でないと判断する(ステップC35でNo)。
そこで、ユーザプロファイル管理部72は、「User12」のユーザプロファイルを削除する(ステップC36)。
ステップC33に戻り、ユーザプロファイル管理部72は、自装置「Vpc13」に保持されている未処理のユーザプロファイルがあるか否かを判断する。ここでは、未処理のユーザプロファイルがないと判断する(ステップC33でNo)。
次に、ユーザプロファイル管理部72は、ユーザプロファイルを削除したユーザとして「User12」を、接続管理装置60に通知する(ステップC67)。
次に、ユーザセッション管理部62は、仮想マシン71から、削除したユーザプロファイルのユーザとして「User12」の情報を取得する(ステップB63)。
ここで、図30の有効プロファイル所在情報において、削除を通知されたユーザ「User12」の有効なユーザプロファイルを保持する仮想マシン71は、「Vpc13」である。また、ステップB63での削除ユーザの通知元の仮想マシン71は、「Vpc13」である。したがって、ユーザセッション管理部62は、削除を通知されたユーザ「User12」の有効なユーザプロファイルを保持する仮想マシン71が、削除ユーザの通知元の仮想マシン71であると判断する(ステップB64でYes)。
そこで、ユーザセッション管理部62は、削除を通知されたユーザ「User12」の有効プロファイル所在情報を消去する(ステップB65)。
これにより、有効プロファイル所在情報は、図30に示す内容から図31に示す内容に更新される。
以上で、シンクライアントシステム4の具体的な動作例の説明を終了する。
次に、本発明の第4の実施の形態の効果について述べる。
本発明の第4の実施の形態は、ログオンストームの発生を抑制するために各仮想マシンに保持させるユーザプロファイルについて、必要となる記憶容量の増大をさらに抑制することができる。
その理由について述べる。本実施の形態では、接続管理装置のユーザセッション管理部が、ログオン先として選択された仮想マシンに対して不要なユーザプロファイルの削除を要求する際に、除外ユーザとして、次のユーザを通知するからである。そのユーザとは、削除要求先の仮想マシンに有効なユーザプロファイルがあるユーザのうち、直近の使用時刻が所定条件を満たすユーザである。例えば、所定条件としては、直近の使用時刻からの経過時間が所定期間以内であることが適用される。
このように、仮想マシンのユーザプロファイル管理部は、自装置上に有効なユーザプロファイルが保持されるユーザであっても、所定期間使用されていないユーザプロファイルを削除する。これにより、本実施の形態は、ユーザの有効なユーザプロファイルであっても、再利用の可能性が低い古いユーザプロファイルを削除するので、ユーザプロファイルの保持に必要な記憶容量をより削減することができる。
また、本発明の第4の実施の形態は、不要なユーザプロファイルの削除処理に起因して、仮想マシンの負荷が増大することの影響を少なくすることができる。
その理由について説明する。本実施の形態では、接続管理装置のユーザセッション管理部が、任意のタイミングで、その時点で利用可能な(利用中でない)仮想マシンに対して、不要なユーザプロファイルの削除を要求するからである。
これにより、本実施の形態では、仮想マシンが、不要なユーザプロファイルの削除処理を、例えばシンクライアントシステムを利用するユーザが少ない時間帯等、仮想マシンの負荷が増大しても影響の少ない時間帯に実行することができる。
なお、上述した本発明の各実施の形態において、利用状況情報および有効プロファイル所在情報の具体例を表形式でいくつか示したが、本発明の利用状況情報および有効プロファイル所在情報のデータ構造や含まれる情報の種類を限定するものではない。利用状況情報は、少なくとも各仮想マシンが利用中であるか否かを表す情報を含んでいればよい。また、有効プロファイル所在情報は、各ユーザについて有効なユーザプロファイルがある仮想マシンを表す情報を含んでいればよい。
また、上述した本発明の各実施の形態において、同一のユーザが複数の仮想マシンに同時にログオンする運用も可能である。各実施の形態において、接続管理装置のユーザセッション管理部は、ログオフ時にも、ログオフしたユーザの有効なユーザプロファイルを保持する仮想マシンを記録する。これにより、本実施の形態は、あるユーザが同時に複数の仮想マシンにログオンしている期間があったとしても、最後にログオフした仮想マシンで利用されていた(最後に更新された)ユーザプロファイルを、次回のログオン時に再利用できる可能性を高くする。
また、上述した本発明の第2〜第4の実施の形態において、ユーザプロファイル格納装置およびユーザ情報管理装置が異なる装置である例を示したが、これらの装置は同一のコンピュータ装置上に実現されていてもよい。また、ユーザプロファイル格納装置は、複数のコンピュータ装置によって構成されていてもよい。また、ユーザ情報管理装置は、複数のコンピュータ装置によって構成されていてもよい。
また、上述した本発明の第2〜第3の実施の形態において、接続管理装置のユーザセッション管理部は、不要なプロファイル削除要求動作として、本発明の第4の実施の形態に示した不要なプロファイル削除要求動作を実行するよう構成されてもよい。その場合、本発明の第2〜第3の実施の形態において、仮想マシンのユーザプロファイル管理部は、不要なプロファイル削除動作として、本発明の第4の実施の形態に示した不要なプロファイル削除動作を実行するよう構成されればよい。
また、上述した本発明の各実施の形態において、シンクライアントシステムを構成する各装置の各機能ブロックが、記憶装置またはROMに記憶されたコンピュータ・プログラムを実行するCPUによって実現される例を中心に説明した。これに限らず、各機能ブロックの一部、全部、または、それらの組み合わせが専用のハードウェアにより実現されていてもよい。
また、上述した本発明の各実施の形態において、シンクライアントシステムを構成する各装置の機能ブロックは、複数の装置に分散されて実現されてもよい。
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明したシンクライアントシステムの各装置の動作を、本発明のコンピュータ・プログラムとしてコンピュータ装置の記憶装置(記憶媒体)に格納しておく。そして、係るコンピュータ・プログラムを当該CPUが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
また、上述した各実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
シンクライアント端末と、接続管理装置と、1つ以上の仮想マシンが動作する仮想マシン稼働装置と、ユーザプロファイル格納装置とを備えたシンクライアントシステムであって、
前記シンクライアント端末は、前記シンクライアントシステムにログオンを要求するユーザを表す情報を取得すると前記接続管理装置に送信し、前記接続管理装置から通知される情報の示す仮想マシンに自装置を接続して前記ユーザをログオンさせ、
前記ユーザプロファイル格納装置は、前記シンクライアントシステムのユーザ毎にユーザプロファイルを格納し、
前記接続管理装置は、
前記各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記各ユーザについて有効なユーザプロファイルを保持している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択する仮想マシン選択部と、
前記シンクライアントシステムにログオンを要求するユーザを表す情報を前記シンクライアント端末から取得すると、前記仮想マシン選択部によって選択される仮想マシンを表す情報を前記シンクライアント端末に通知するとともに、前記ユーザの前記仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新するユーザセッション管理部と、
を有し、
前記仮想マシンは、
自装置にログオンしたユーザの有効なユーザプロファイルを、自装置上または前記ユーザプロファイル格納装置から取得し、前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保持しておくとともに前記ユーザプロファイル格納装置に格納するユーザプロファイル管理部と、
自装置に対するユーザの接続状態を監視して前記接続管理装置に通知するユーザ接続監視部と、
を有するシンクライアントシステム。
(付記2)
前記接続管理装置において、
前記ユーザセッション管理部は、不要なユーザプロファイルの削除要求対象となる仮想マシンについて、該仮想マシン上に保持されている有効なユーザプロファイルのユーザを前記有効プロファイル所在情報を参照することにより特定し、特定したユーザを、ユーザプロファイルの削除対象から除外する除外ユーザとして通知しながら、前記削除要求対象の仮想マシンに対して不要なユーザプロファイルの削除を要求し、
前記削除要求対象の仮想マシンにおいて、
前記ユーザプロファイル管理部は、自装置にログオン中のユーザ、ログオン要求中のユーザおよび前記除外ユーザのユーザプロファイル以外の不要なユーザプロファイルを削除することを特徴とする付記1に記載のシンクライアントシステム。
(付記3)
前記接続管理装置において、
前記ユーザセッション管理部は、前記ユーザによるログオンの要求に基づくタイミングで、前記仮想マシン選択部によって選択された仮想マシンを前記削除要求対象として、該仮想マシンに対して前記除外ユーザを通知しながら不要なユーザプロファイルの削除を要求することを特徴とする付記2に記載のシンクライアントシステム。
(付記4)
前記接続管理装置において、
前記ユーザセッション管理部は、前記ユーザによるログオフに基づくタイミングで、該ユーザがログオンしていた仮想マシンを前記削除要求対象として、該仮想マシンに対して前記除外ユーザを通知しながら不要なユーザプロファイルの削除を要求することを特徴とする付記2または付記3に記載のシンクライアントシステム。
(付記5)
前記接続管理装置において、
前記ユーザセッション管理部は、任意のタイミングで、その時点で利用可能な仮想マシンを前記削除要求対象として、該仮想マシンに対して前記除外ユーザを通知しながら不要なユーザプロファイルの削除を要求することを特徴とする付記2から付記4のいずれか1つに記載のシンクライアントシステム。
(付記6)
前記接続管理装置において、
前記仮想マシン選択部は、前記利用状況情報を参照することにより利用可能な仮想マシンを抽出し、抽出した利用可能な仮想マシンのうち、ログオンを要求するユーザについて有効なユーザプロファイルを保持する仮想マシンを、前記有効プロファイル所在情報を参照することにより選択することを特徴とする付記1から付記5のいずれか1つに記載のシンクライアントシステム。
(付記7)
前記接続管理装置において、
前記仮想マシン選択部は、抽出した利用可能な仮想マシンのうちログオンを要求するユーザについて有効なユーザプロファイルを保持する仮想マシンがない場合、抽出した利用可能な仮想マシンのうちいずれか1つを選択することを特徴とする付記6に記載のシンクライアントシステム。
(付記8)
前記接続管理装置において、
前記仮想マシン選択部は、抽出した利用可能な仮想マシンのうちログオンを要求するユーザについて有効なユーザプロファイルを保持する仮想マシンがない場合、抽出した利用可能な仮想マシンのうちいずれのユーザについても有効なユーザプロファイルを保持していない仮想マシンの1つを選択することを特徴とする付記7に記載のシンクライアントシステム。
(付記9)
前記接続管理装置において、
前記仮想マシン選択部は、抽出した利用可能な仮想マシンのうち、ログオンを要求するユーザについて有効なユーザプロファイルを保持する仮想マシンがなく、かつ、いずれのユーザについても有効なユーザプロファイルを保持していない仮想マシンがない場合、抽出した利用可能な仮想マシンのうち直近の使用時刻に基づく条件を用いて1つを選択することを特徴とする付記8に記載のシンクライアントシステム。
(付記10)
付記1から付記9のいずれか1つに記載のシンクライアントシステムにおける接続管理装置。
(付記11)
付記1から付記9のいずれか1つに記載のシンクライアントシステムにおける仮想マシンが稼働する仮想マシン稼働装置。
(付記12)
シンクライアント端末が、シンクライアントシステムにログオンを要求するユーザを表す情報を取得すると接続管理装置に送信し、
前記接続管理装置が、前記シンクライアントシステムにログオンを要求するユーザを表す情報を前記シンクライアント端末から取得すると、仮想マシン稼働装置上で動作する各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保持している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択し、選択した仮想マシンを表す情報を前記シンクライアント端末に通知し、
前記シンクライアント端末が、前記接続管理装置から通知される情報の示す仮想マシンに自装置を接続して前記ユーザをログオンさせ、
前記仮想マシンが、自装置にログオンしたユーザの有効なユーザプロファイルを、自装置上またはユーザプロファイル格納装置から取得し、前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保持しておくとともに前記ユーザプロファイル格納装置に格納し、
前記仮想マシンが、自装置にログオンするユーザの接続状態を監視して前記接続管理装置に通知し、
前記接続管理装置が、前記ユーザの前記仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新する方法。
(付記13)
シンクライアントシステムにログオンを要求するユーザを表す情報を前記シンクライアント端末から取得すると、
仮想マシン稼働装置上で動作する各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保持している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択し、選択した仮想マシンを表す情報を前記シンクライアント端末に通知することにより前記シンクライアント端末を該仮想マシンに接続して前記ユーザをログオンさせ、
前記ユーザの該仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新する方法。
(付記14)
仮想マシン稼働装置上で動作する仮想マシンが、シンクライアント端末からの接続によりログオンさせたユーザの有効なユーザプロファイルを、自装置上または前記ユーザプロファイル格納装置から取得し、
前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保持しておくとともに前記ユーザプロファイル格納装置に格納し、
自装置に対するユーザの接続状態を監視して付記13に記載の方法を実行する装置に通知する方法。
(付記15)
シンクライアント端末および仮想マシン稼働装置上で動作する仮想マシンの接続を管理する接続管理装置に、
シンクライアントシステムにログオンを要求するユーザを表す情報を前記シンクライアント端末から取得するユーザ情報取得ステップと、
前記各仮想マシンが利用中であるか否かを表す利用状況情報、および、前記シンクライアントシステムの各ユーザについて有効なユーザプロファイルを保持している仮想マシンを表す有効プロファイル所在情報を参照することにより、前記シンクライアントシステムにログオンを要求するユーザに割り当てる仮想マシンを選択する仮想マシン選択ステップと、
前記仮想マシン選択ステップで選択された仮想マシンを表す情報を前記シンクライアント端末に通知することにより前記シンクライアント端末を該仮想マシンに接続して前記ユーザをログオンさせる接続制御ステップと、
前記ユーザの該仮想マシンに対する接続状態に応じて、前記利用状況情報および前記有効プロファイル所在情報を更新する更新ステップと、
を実行させるプログラム。
(付記16)
仮想マシン稼働装置上で動作する仮想マシンに、
シンクライアント端末からの接続によりログオンさせたユーザの有効なユーザプロファイルを、自装置上または前記ユーザプロファイル格納装置から取得するユーザプロファイル取得ステップと、
前記ユーザのログオフ時に、自装置上で利用されていた前記ユーザのユーザプロファイルを保持しておくとともに前記ユーザプロファイル格納装置に格納するユーザプロファイル格納ステップと、
自装置に対するユーザの接続状態を監視して付記15に記載のプログラムを実行する装置に通知する接続監視ステップと、を実行させるプログラム。