(57)【特許請求の範囲】
【請求項１】
ユーザが操作する複数台のシンクライアント端末と、複数台の仮想コンピュータを内部に生成する仮想ＰＣサーバと、前記シンクライアント端末からの接続要求に応じて当該シンクライアント端末が接続する前記仮想コンピュータを決定すると共に当該仮想コンピュータのＩＰアドレスを前記シンクライアント端末に返信する主演算制御手段を備えるマネージャサーバとが相互に接続されて構成されるシンクライアントシステムであって、
前記マネージャサーバが、
前記シンクライアント端末からの接続要求を受信する接続待受部と、
前記接続要求に反応して前記シンクライアント端末が接続する前記仮想コンピュータを決定して当該仮想コンピュータのＩＰアドレスを前記シンクライアント端末に返信する仮想コンピュータ割当処理を行う仮想コンピュータ割当処理部と、
前記接続要求に反応して前記主演算制御手段にかかっている負荷を示す負荷率を取得してこれを予め与えられた上限値と比較する負荷判定部と、
取得した前記負荷率が前記上限値を上回る場合に、前記仮想コンピュータの中で予め決められた割り当て候補を前記仮想コンピュータ割当処理と同等の処理を行う代理マネージャとして機能させる代理マネージャ作成部と
を有することを特徴とするシンクライアントシステム。
【請求項２】
前記マネージャサーバの前記負荷判定部が、前記代理マネージャが機能している間に当該代理マネージャにかかっている負荷を示す負荷率を取得してこれを前記主演算制御手段の前記負荷率と比較し、前記代理マネージャおよび前記主演算制御手段のうち前記負荷率の低い方に前記仮想コンピュータ割当処理を行わせる機能を有することを特徴とする、請求項１に記載のシンクライアントシステム。
【請求項３】
前記マネージャサーバの前記負荷判定部が、前記負荷率を予め与えられた下限値と比較する機能を有すると共に、
前記マネージャサーバが、前記代理マネージャが機能していてかつ前記負荷率が前記下限値を下回る場合に前記代理マネージャにおける前記仮想コンピュータ割当処理を停止させる代理マネージャ格納部を有することを特徴とする、請求項２に記載のシンクライアントシステム。
【請求項４】
前記マネージャサーバの前記代理マネージャ作成部が、前記仮想コンピュータの中で予め決められた複数台の前記割り当て候補を複数台の前記代理マネージャとして機能させる機能を有すると共に、
前記代理マネージャが、他の前記代理マネージャと自らとの間で前記負荷率を比較して前記負荷率の低い方に前記仮想コンピュータ割当処理を行わせる機能を有することを特徴とする、請求項２に記載のシンクライアントシステム。
【請求項５】
前記マネージャサーバの前記負荷判定部が、前記代理マネージャと前記主演算制御手段との間で前記負荷率を比較する際、前記代理マネージャの前記負荷率にあらかじめ与えられた係数を乗算して前記主演算制御手段の前記負荷率と比較することを特徴とする、請求項２に記載のシンクライアントシステム。
【請求項６】
ユーザが操作する複数台のシンクライアント端末および複数台の仮想コンピュータを内部に生成する仮想ＰＣサーバとそれぞれ相互に接続され、前記シンクライアント端末からの接続要求に応じて当該シンクライアント端末が接続する前記仮想コンピュータを決定すると共に当該仮想コンピュータのＩＰアドレスを前記シンクライアント端末に返信する主演算制御手段を備えるマネージャサーバであって、
前記シンクライアント端末からの接続要求を受信する接続待受部と、
前記接続要求に反応して前記シンクライアント端末が接続する前記仮想コンピュータを決定して当該仮想コンピュータのＩＰアドレスを前記シンクライアント端末に返信する仮想コンピュータ割当処理を行う仮想コンピュータ割当処理部と、
前記接続要求に反応して前記主演算制御手段にかかっている負荷を示す負荷率を取得してこれを予め与えられた上限値と比較する負荷判定部と、
取得した前記負荷率が前記上限値を上回る場合に、前記仮想コンピュータの中で予め決められた割り当て候補を前記仮想コンピュータ割当処理と同等の処理を行う代理マネージャとして機能させる代理マネージャ作成部と
を有することを特徴とするマネージャサーバ。
【請求項７】
ユーザが操作する複数台のシンクライアント端末と、複数台の仮想コンピュータを内部に生成する仮想ＰＣサーバと、前記シンクライアント端末からの接続要求に応じて当該シンクライアント端末が接続する前記仮想コンピュータを決定すると共に当該仮想コンピュータのＩＰアドレスを前記シンクライアント端末に返信する主演算制御手段を備えるマネージャサーバとが相互に接続されて構成されるシンクライアントシステムにあって、
前記シンクライアント端末からの接続要求を前記マネージャサーバの接続待受部が受信し、
前記接続要求に反応して前記マネージャサーバの負荷判定部が前記主演算制御手段にかかっている負荷を示す負荷率を取得してこれを予め与えられた上限値と比較し、
前記接続要求に反応して前記シンクライアント端末が接続する前記仮想コンピュータを決定して当該仮想コンピュータのＩＰアドレスを前記シンクライアント端末に返信する仮想コンピュータ割当処理を前記マネージャサーバの仮想コンピュータ割当処理部が行い、
取得した前記負荷率が前記上限値を上回る場合に、前記マネージャサーバの代理マネージャ作成部が前記仮想コンピュータの中で予め決められた割り当て候補を前記仮想コンピュータ割当処理と同等の処理を行う代理マネージャとして機能させる
ことを特徴とするセッション管理方法。
【請求項８】
ユーザが操作する複数台のシンクライアント端末と、複数台の仮想コンピュータを内部に生成する仮想ＰＣサーバと、前記シンクライアント端末からの接続要求に応じて当該シンクライアント端末が接続する前記仮想コンピュータを決定すると共に当該仮想コンピュータのＩＰアドレスを前記シンクライアント端末に返信する主演算制御手段を備えるマネージャサーバとが相互に接続されて構成されるシンクライアントシステムにあって、
前記マネージャサーバが備えるコンピュータに、
前記シンクライアント端末からの接続要求を受信する手順、
前記接続要求に反応して前記主演算制御手段にかかっている負荷を示す負荷率を取得してこれを予め与えられた上限値と比較する手順、
前記接続要求に反応して前記シンクライアント端末が接続する前記仮想コンピュータを決定して当該仮想コンピュータのＩＰアドレスを前記シンクライアント端末に返信する仮想コンピュータ割当処理を行う手順、
および取得した前記負荷率が前記上限値を上回る場合に、前記仮想コンピュータの中で予め決められた割り当て候補を前記仮想コンピュータ割当処理と同等の処理を行う代理マネージャとして機能させる手順
を実行させることを特徴とするセッション管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシンクライアントシステム、セッション管理装置、セッション管理方法およびプログラムに関し、特に複数の仮想コンピュータのセッションを管理する際にかかる負荷を軽減することを可能とするシンクライアントシステム等に関する。
【背景技術】
【０００２】
企業や公的機関などの組織内部におけるコンピュータネットワークの安全な運用のための技術として、シンクライアントシステムと呼ばれる技術がある。これは、データの入出力だけが可能で保存ができないシンクライアント（Thin Client）と呼ばれる端末からサーバにリモートアクセスし、アプリケーションソフトによるデータの処理およびデータファイルの保存を全てサーバの側で行うというものである。
【０００３】
シンクライアントによる組織内ネットワークについては、サーバベース方式、ブレードＰＣ方式、仮想ＰＣ方式などのような複数の方式が存在する。その中でも仮想ＰＣ（Personal Computer）は、サーバ内に各構成員の操作するＰＣを仮想的に生成して、各構成員はシンクライアント端末から各自の仮想ＰＣにリモートアクセスして操作するという方式である。各構成員にとっては、組織内のどこからでも同一の操作環境を得ることができるというメリットがある。組織にとっては、データの一切をサーバ内で一元管理して情報漏洩のリスクを大きく減らすことができるというメリットがある。
【０００４】
図１４は、一般的なシンクライアントシステム９０１の構成について示す説明図である。シンクライアントシステム９０１は、ユーザが操作する多数のシンクライアント端末９２０ａ、９２０ｂ、９２０ｃ、…と、いずれもコンピュータ装置であるマネージャサーバ９１０および仮想ＰＣサーバ９２０が、ネットワーク９４０を介して相互に接続されて構成される。
【０００５】
仮想ＰＣサーバ９２０は、内部に多数の仮想ＰＣ９５０ａ、９５０ｂ、９５０ｃ、…を生成して動作させることができる仮想ＰＣ管理基盤９２１を備える。シンクライアント端末９２０ａ、９２０ｂ、９２０ｃ、…は、ネットワーク９４０を介して仮想ＰＣサーバ９２０に接続して、これらの仮想ＰＣ９５０ａ、９５０ｂ、９５０ｃ、…を操作することができる。
【０００６】
シンクライアント端末９２０ａ、９２０ｂ、９２０ｃ、…は、ユーザが操作入力を行う入力手段と、操作入力の結果をユーザに提示する出力手段と、ネットワーク９４０に接続してデータの送受信を行う通信手段だけを持つコンピュータ端末であり、操作入力に対応する処理とデータの記憶は、仮想ＰＣサーバ９２０内の仮想ＰＣ９５０ａ、９５０ｂ、９５０ｃ、…で行われる。
【０００７】
マネージャサーバ９１０は、シンクライアント端末９２０ａ、９２０ｂ、９２０ｃ、…からの接続要求を受け付けて、いずれのシンクライアント端末がいずれの仮想ＰＣ９５０ａ、９５０ｂ、９５０ｃ、…に接続するかを決定して、接続要求元のシンクライアント端末に決定した先の仮想ＰＣのＩＰアドレスを返却し、これによって両者を接続させる。以後、本明細書では、この動作をセッション管理という。
【０００８】
このような仮想ＰＣ方式のシンクライアントシステムなどに関連して、次の技術文献が存在する。その中でも特許文献１には、ＮＡＳヘッドシステム等で処理要求が集中する負荷分散装置について、同一の装置を（仮想コンピュータなどによって）複製してそこに処理を配分するという技術が記載されている。
【０００９】
特許文献２には、複数の仮想マシンの間の起動時間のばらつきを抑制するため、当該仮想マシンを分散させて配置するという技術が記載されている。特許文献３には、利用者と端末をキーとして管理して、シンクライアントシステムでも従来のクライアント−サーバシステムと同等の操作を可能とするというセッション管理システムについて記載されている。特許文献４には、画像処理用のサーバで、負荷状態に応じて処理を行うサーバを切り替えるという技術が記載されている。
【００１０】
特許文献５には、負荷の高いゲストＯＳを他のサーバに移行させるという技術が記載されている。特許文献６には、特許文献３と同様に、利用者と端末をキーとして管理して、シンクライアントシステムでも従来のクライアント−サーバシステムと同等の操作を可能とするというセッション管理システムについて記載されている。特許文献７には、アプリケーションの提供状況に応じて各サーバの負荷を分散するという技術が記載されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００６−２５２１１１号公報
【特許文献２】再特ＷＯ２００８１４６６７７号公報
【特許文献３】特開２００７−３３４６８８号公報
【特許文献４】特開２００８−２６２３５７号公報
【特許文献５】特開２００９−２２３５１７号公報
【特許文献６】特開２００９−３０１５５６号公報
【特許文献７】特開２０１０−１４６２６１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
図１４に示したシンクライアントシステム９０１では、シンクライアント端末９２０ａ、９２０ｂ、９２０ｃ、…が仮想ＰＣ９５０ａ、９５０ｂ、９５０ｃ、…に接続する際、必ずマネージャサーバ９１０による処理を経由する。そのため、たとえば朝の始業時など、多くのユーザからの接続要求が集中した場合、マネージャサーバ９１０に過大な負荷がかかり、シンクライアントシステム９０１全体の性能を低下させることとなる。また、これに伴うシステム管理者の業務にかかる負担を増加させることにもなる。
【００１３】
この問題に対して、特許文献１では、負荷分散装置について同一の装置を（仮想コンピュータなどによって）複製することによって処理を解決している。しかしながら、その対象となる技術が仮想ＰＣ方式のシンクライアントシステムではないので、この技術を適用するために別の仮想コンピュータシステムなどを構築することとなり、そのためのコストがかかることとなる。特許文献２〜７に記載の技術は、そもそも接続要求にかかるマネージャサーバの負荷を軽減することを目的とはせず、またそのために適用可能な構成が記載されてもいない。
【００１４】
本発明の目的は、新たなコンピュータもしくは仮想コンピュータを用意することなく、仮想ＰＣに対する接続要求にかかる負荷を軽減して性能の低下を防止することを可能とするシンクライアントシステム、セッション管理装置、セッション管理方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１５】
上記目的を達成するため、本発明に係るシンクライアントシステムは、ユーザが操作する複数台のシンクライアント端末と、複数台の仮想コンピュータを内部に生成する仮想ＰＣサーバと、シンクライアント端末からの接続要求に応じて当該シンクライアント端末が接続する仮想コンピュータを決定すると共に当該仮想コンピュータのＩＰアドレスをシンクライアント端末に返信する主演算制御手段を備えるマネージャサーバとが相互に接続されて構成されるシンクライアントシステムであって、マネージャサーバが、シンクライアント端末からの接続要求を受信する接続待受部と、接続要求に反応してシンクライアント端末が接続する仮想コンピュータを決定して当該仮想コンピュータのＩＰアドレスをシンクライアント端末に返信する仮想コンピュータ割当処理を行う仮想コンピュータ割当処理部と、接続要求に反応して主演算制御手段にかかっている負荷を示す負荷率を取得してこれを予め与えられた上限値と比較する負荷判定部と、取得した負荷率が上限値を上回る場合に、仮想コンピュータの中で予め決められた割り当て候補を仮想コンピュータ割当処理と同等の処理を行う代理マネージャとして機能させる代理マネージャ作成部とを有することを特徴とする。
【００１６】
上記目的を達成するため、本発明に係るセッション管理装置は、ユーザが操作する複数台のシンクライアント端末および複数台の仮想コンピュータを内部に生成する仮想ＰＣサーバとそれぞれ相互に接続され、シンクライアント端末からの接続要求に応じて当該シンクライアント端末が接続する仮想コンピュータを決定すると共に当該仮想コンピュータのＩＰアドレスをシンクライアント端末に返信する主演算制御手段を備えるマネージャサーバであって、シンクライアント端末からの接続要求を受信する接続待受部と、接続要求に反応してシンクライアント端末が接続する仮想コンピュータを決定して当該仮想コンピュータのＩＰアドレスをシンクライアント端末に返信する仮想コンピュータ割当処理を行う仮想コンピュータ割当処理部と、接続要求に反応して主演算制御手段にかかっている負荷を示す負荷率を取得してこれを予め与えられた上限値と比較する負荷判定部と、取得した負荷率が上限値を上回る場合に、仮想コンピュータの中で予め決められた割り当て候補を仮想コンピュータ割当処理と同等の処理を行う代理マネージャとして機能させる代理マネージャ作成部とを有することを特徴とする。
【００１７】
上記目的を達成するため、本発明に係るセッション管理方法は、ユーザが操作する複数台のシンクライアント端末と、複数台の仮想コンピュータを内部に生成する仮想ＰＣサーバと、シンクライアント端末からの接続要求に応じて当該シンクライアント端末が接続する仮想コンピュータを決定すると共に当該仮想コンピュータのＩＰアドレスをシンクライアント端末に返信する主演算制御手段を備えるマネージャサーバとが相互に接続されて構成されるシンクライアントシステムにあって、シンクライアント端末からの接続要求をマネージャサーバの接続待受部が受信し、接続要求に反応してマネージャサーバの負荷判定部が主演算制御手段にかかっている負荷を示す負荷率を取得してこれを予め与えられた上限値と比較し、接続要求に反応してシンクライアント端末が接続する仮想コンピュータを決定して当該仮想コンピュータのＩＰアドレスをシンクライアント端末に返信する仮想コンピュータ割当処理をマネージャサーバの仮想コンピュータ割当処理部が行い、取得した負荷率が上限値を上回る場合に、マネージャサーバの代理マネージャ作成部が仮想コンピュータの中で予め決められた割り当て候補を仮想コンピュータ割当処理と同等の処理を行う代理マネージャとして機能させることを特徴とする。
【００１８】
上記目的を達成するため、本発明に係るセッション管理プログラムは、ユーザが操作する複数台のシンクライアント端末と、複数台の仮想コンピュータを内部に生成する仮想ＰＣサーバと、シンクライアント端末からの接続要求に応じて当該シンクライアント端末が接続する仮想コンピュータを決定すると共に当該仮想コンピュータのＩＰアドレスをシンクライアント端末に返信する主演算制御手段を備えるマネージャサーバとが相互に接続されて構成されるシンクライアントシステムにあって、マネージャサーバが備えるコンピュータに、シンクライアント端末からの接続要求を受信する手順、接続要求に反応して主演算制御手段にかかっている負荷を示す負荷率を取得してこれを予め与えられた上限値と比較する手順、接続要求に反応してシンクライアント端末が接続する仮想コンピュータを決定して当該仮想コンピュータのＩＰアドレスをシンクライアント端末に返信する仮想コンピュータ割当処理を行う手順、および取得した負荷率が上限値を上回る場合に、仮想コンピュータの中で予め決められた割り当て候補を仮想コンピュータ割当処理と同等の処理を行う代理マネージャとして機能させる手順を実行させることを特徴とする。
【発明の効果】
【００１９】
本発明は、上述したように、マネージャサーバの負荷率を検出して、この負荷率が高い場合に仮想ＰＣを代理マネージャとして動作させて仮想コンピュータ割当処理を代行させるように構成したので、これによって、新たなコンピュータもしくは仮想コンピュータを用意することなく、仮想ＰＣに対する接続要求にかかる負荷を軽減して性能の低下を防止することが可能であるという優れた特徴を持つシンクライアントシステム、セッション管理装置、セッション管理方法およびプログラムを提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施形態に係るシンクライアントシステムの構成を示す説明図である。
【図２】図１に示したマネージャサーバのより詳しい構成を示す説明図である。
【図３】図１に示したデータベースサーバのより詳しい構成を示す説明図である。
【図４】図３に示した紐付けテーブル、代理マネージャ候補テーブル、および負荷判定条件テーブルの各々の記憶内容の例について示す説明図である。
【図５】図１〜２に示したマネージャサーバの動作について示すフローチャートである。
【図６】図５の続きである。
【図７】図１に示したシンクライアントシステムの動作状態（動作開始時点の状態）について示す説明図である。
【図８】図１に示したシンクライアントシステムの動作状態（過大な負荷がかかるようになった状態）について示す説明図である。
【図９】図８の続きである。
【図１０】図１に示したシンクライアントシステムの動作状態（負荷が低下した状態）について示す説明図である。
【図１１】本発明の第２の実施形態に係るシンクライアントシステムの構成を示す説明図である。
【図１２】図１１で示したマネージャサーバのより詳しい構成を示す説明図である。
【図１３】図１１で示したデータベースサーバのより詳しい構成を示す説明図である。
【図１４】一般的なシンクライアントシステムの構成について示す説明図である。
【発明を実施するための形態】
【００２１】
（第１の実施形態）
以下、本発明の実施形態の構成について添付図１〜３に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係るシンクライアントシステム１は、ユーザが操作する複数台のシンクライアント端末４０ａ、４０ｂ、４０ｃ、…と、複数台の仮想コンピュータ（仮想ＰＣ６０ａ、６０ｂ、６０ｃ、…）を内部に生成する仮想ＰＣサーバ３０と、シンクライアント端末からの接続要求に応じて当該シンクライアント端末が接続する仮想コンピュータを決定すると共に当該仮想コンピュータのＩＰアドレスをシンクライアント端末に返信する主演算制御手段１１を備えるマネージャサーバ１０とが相互に接続されて構成されるシンクライアントシステムである。マネージャサーバ１０は、シンクライアント端末からの接続要求を受信する接続待受部１０２と、接続要求に反応してシンクライアント端末が接続する仮想コンピュータを決定して当該仮想コンピュータのＩＰアドレスをシンクライアント端末に返信する仮想コンピュータ割当処理を行う仮想コンピュータ割当処理部（仮想ＰＣ割当処理部１０４）と、接続要求に反応して主演算制御手段にかかっている負荷を示す負荷率を取得してこれを予め与えられた上限値と比較する負荷判定部１０３と、取得した負荷率が上限値を上回る場合に、仮想コンピュータの中で予め決められた割り当て候補７０を仮想コンピュータ割当処理と同等の処理を行う代理マネージャ７１として機能させる代理マネージャ作成部１０５とを有する。
【００２２】
また、マネージャサーバ１０の負荷判定部１０３が、代理マネージャ７１が機能している間に当該代理マネージャにかかっている負荷を示す負荷率を取得してこれを主演算制御手段１１の負荷率と比較し、代理マネージャ７１および主演算制御手段１１のうち負荷率の低い方に仮想コンピュータ割当処理を行わせる機能を有する。
【００２３】
そして、マネージャサーバ１０の負荷判定部１０３が、負荷率を予め与えられた下限値と比較する機能を有すると共に、マネージャサーバが、代理マネージャが機能していてかつ負荷率が下限値を下回る場合に代理マネージャにおける仮想コンピュータ割当処理を停止させる代理マネージャ格納部１０６を有する。
【００２４】
ここで、マネージャサーバ１０の負荷判定部１０３は、代理マネージャと主演算制御手段の負荷率を比較する際、代理マネージャの負荷率にあらかじめ与えられた係数を乗算して主演算制御手段の負荷率と比較する。
【００２５】
以上の構成を備えることにより、本実施形態のシンクライアントシステム１は、新たなコンピュータもしくは仮想コンピュータを用意することなく、仮想ＰＣに対する接続要求にかかる負荷を軽減して性能の低下を防止することが可能となる。
以下、これをより詳細に説明する。
【００２６】
図１は、本発明の第１の実施形態に係るシンクライアントシステム１の構成を示す説明図である。シンクライアントシステム１は、ユーザが操作する多数のシンクライアント端末４０ａ、４０ｂ、４０ｃ、…と、いずれもコンピュータ装置であるマネージャサーバ１０、データベースサーバ２０、および仮想ＰＣサーバ３０が、ネットワーク５０を介して相互に接続されて構成される。マネージャサーバ１０、データベースサーバ２０、および仮想ＰＣサーバ３０の物理的な区分はこの例に従う必要はなく、このうちの２台以上を１台のコンピュータに統合してもよい。
【００２７】
仮想ＰＣサーバ３０は、内部に多数の仮想ＰＣ６０ａ、６０ｂ、６０ｃ、…を生成して動作させる仮想ＰＣ管理基盤３１を備える。シンクライアント端末４０ａ、４０ｂ、４０ｃ、…はネットワーク５０を介して仮想ＰＣサーバ３０に接続して、これらの仮想ＰＣ６０ａ、６０ｂ、６０ｃ、…を操作することができる。図１には例として５台の仮想ＰＣ６０ａ〜ｅを示しているが、もちろんこの台数には特に制限はない。
【００２８】
シンクライアント端末４０ａ、４０ｂ、４０ｃ、…は、ユーザが操作入力を行う入力手段と、処理の結果をユーザに提示する出力手段と、ネットワーク５０に接続してデータの送受信を行う通信手段だけを持つコンピュータ端末であり、操作入力に対応する処理とデータの記憶は、仮想ＰＣサーバ３０内の仮想ＰＣ６０ａ、６０ｂ、６０ｃ、…で行われる。
【００２９】
マネージャサーバ１０は、シンクライアント端末４０ａ、４０ｂ、４０ｃ、…からの接続要求を受け付けて、いずれのシンクライアント端末がいずれの仮想ＰＣ６０ａ、６０ｂ、６０ｃ、…に接続するかを決定して、決定した先の仮想ＰＣのＩＰアドレスをシンクライアント端末に返して、要求元のシンクライアント端末をその仮想ＰＣに接続させる。データベースサーバ２０は、マネージャサーバ１０がシンクライアント端末を仮想ＰＣに接続する際に使用するデータを格納する。
【００３０】
図２は、図１に示したマネージャサーバ１０のより詳しい構成を示す説明図である。マネージャサーバ１０は、一般的なコンピュータとしての構成を備えている。即ち、マネージャサーバ１０は、コンピュータプログラムとして記述された各種処理を実行する主体である主演算制御手段（ＣＰＵ: Central Processing Unit）１１と、主演算制御手段１１によって処理されるデータを記憶する記憶手段１２と、ネットワーク５０に接続して他のコンピュータとの間でデータ通信を行う通信手段１３とを備える。
【００３１】
主演算制御手段１１は、セッション管理プログラムが動作することにより、設定情報読込部１０１、接続待受部１０２、負荷判定部１０３、仮想ＰＣ割当処理部１０４、代理マネージャ作成部１０５、代理マネージャ格納部１０６の各々として動作する。
【００３２】
設定情報読込部１０１は、起動時に初期設定としてデータベースサーバ２０から代理マネージャ候補テーブル２１２、および負荷判定条件テーブル２１３の内容を読み込んでコピーし、これらを各々代理マネージャ候補データ１１２および負荷判定条件データ１１３として記憶手段１２に記憶する。接続待受部１０２は、シンクライアント端末４０ａ、４０ｂ、４０ｃ、…からの接続要求を受信する。
【００３３】
負荷判定部１０３は、主演算制御手段１１にかかっている負荷を示す数値であるＣＰＵ使用率を取得して、これを負荷判定条件データ１１３（後述の負荷判定条件テーブル２１３）に記憶されている上限値２１３ａおよび下限値２１３ｂと比較する。ここで、負荷判定部１０３は、コマンドやＡＰＩによってＣＰＵ使用率を取得する。仮想ＰＣ割当処理部１０４は、接続待受部１０２が受信した接続要求に対して、割り当て可能な仮想ＰＣ６０ａ、６０ｂ、６０ｃ、…を決定し、その仮想ＰＣのＩＰアドレスを依頼元のシンクライアント端末４０ａ、４０ｂ、４０ｃ、…に返す。
【００３４】
代理マネージャ作成部１０５は、仮想ＰＣ６０ａ、６０ｂ、６０ｃ、…の中で代理マネージャ割り当てが可能なものとして指定されている割り当て候補７０に対して、仮想ＰＣ割当処理部１０４に相当する処理を割り当てて代理マネージャ７１として動作させる処理を行う。代理マネージャ格納部１０６は、代理マネージャ７１として動作していた割り当て候補７０に割り当てられていたマネージャサーバ１０の処理を、元のマネージャサーバ１０に戻す処理を行う。
【００３５】
ここでいう「割り当て候補７０にマネージャサーバ１０の処理を割り当てて代理マネージャ７１として動作させる処理」とは、具体的には仮想ＰＣ６０ａ、６０ｂ、６０ｃ、…のうちの１台である割り当て候補７０上で、仮想ＰＣ割当処理部１０４と同一の動作をさせるソフトウェアであるマネージャサービスを実行するということである。また、割り当て候補７０が代理マネージャ７１として動作している間、負荷判定部１０３はその代理マネージャ７１にかかっているＣＰＵ使用率を取得する機能も持つ。
【００３６】
図３は、図１に示したデータベースサーバ２０のより詳しい構成を示す説明図である。データベースサーバ２０もまた、一般的なコンピュータとしての構成を備えている。即ち、データベースサーバ２０は、マネージャサーバ１０と同様の主演算制御手段２１と、記憶手段２２と、通信手段２３とを備える。これらの各手段の役割は、マネージャサーバ１０における同名の各手段と同一である。
【００３７】
主演算制御手段２１は、データベース管理プログラムが動作することにより、マネージャサーバ１０からの指示によってデータの参照および更新などの処理を行うデータ管理部２０１として機能する。また記憶手段２２には、データ管理部２０１の管理対象であるデータとして、紐付けテーブル２１１、代理マネージャ候補テーブル２１２、および負荷判定条件テーブル２１３が記憶されている。
【００３８】
図４は、図３に示した紐付けテーブル２１１、代理マネージャ候補テーブル２１２、および負荷判定条件テーブル２１３の各々の記憶内容の例について示す説明図である。
【００３９】
紐付けテーブル２１１は、仮想ＰＣ割当処理部１０４が処理の際に使用するデータであり、各ユーザのユーザ名２１１ａと、当該ユーザが使用できる仮想ＰＣの識別子を示す使用仮想ＰＣ名２１１ｂと、当該ユーザ（仮想ＰＣ）の現在の使用状況を「使用中」「未使用」の２値のいずれかで示す状態２１１ｃとが、各々紐付けされて記憶される。
【００４０】
ここで、ユーザ名２１１ａと使用仮想ＰＣ名２１１ｂは必ずしも一対一で対応する必要はないが、１人のユーザは同時に２台以上の仮想ＰＣに接続することはできない。図４に示した例では、ユーザ名２１１ａ＝「Ａ」は使用仮想ＰＣ名２１１ｂ＝「１」および「２」に対応し、ユーザ名２１１ａ＝「Ｂ」は使用仮想ＰＣ名２１１ｂ＝「２」と「５」に対応している。この場合、該当するユーザは対応するいずれの仮想ＰＣを使用できるが、たとえばユーザ名２１１ａ＝「Ｂ」が使用仮想ＰＣ名２１１ｂ＝「２」を使用している間は、ユーザ名２１１ａ＝「Ａ」がこの仮想ＰＣに接続することはできない。
【００４１】
また、各々の仮想ＰＣには一意のＩＰアドレスが割り振られており、各々のシンクライアント端末４０ａ、４０ｂ、４０ｃ、…は、マネージャサーバ１０からＩＰアドレスの返却を受けて、このＩＰアドレスに接続することにより、割り当てられた仮想ＰＣ６０ａ、６０ｂ、６０ｃ、…を使用することができる。
【００４２】
代理マネージャ候補テーブル２１２は、代理マネージャ作成部１０５および代理マネージャ格納部１０６が処理の際に使用するデータであり、マネージャの処理の一部を委譲する候補となる仮想ＰＣ（割り当て候補７０）の識別子を示す仮想ＰＣ名２１２ｂと、各代理マネージャ候補を一意に識別するＩＤ２１２ａと、当該仮想ＰＣの現在の代理マネージャとしての状況を「配分可」「配分不可」の２値のいずれかで示す配分状態２１２ｃとが、各々紐付けされて記憶される。本実施形態では、仮想ＰＣのうちの１台が割り当て候補７０となる。
【００４３】
ＩＤ２１２ａは、紐付けテーブル２１１の使用仮想ＰＣ名２１１ｂと同一の識別子で示される。配分状態２１２ｃは、当該仮想ＰＣが現在代理マネージャ７１として動作していれば「配分不可」、代理マネージャ７１として動作していなければ「配分可」の値になる。
【００４４】
負荷判定条件テーブル２１３は、負荷判定部１０３が負荷の状態を判定する基準となる閾値が記憶されている。より具体的には、主演算制御手段１１の「ＣＰＵ利用率」を負荷状態とし、負荷判定部１０３がこの負荷状態について判断する基準となる上限値２１３ａと下限値２１３ｂとが記憶されている。負荷状態が上限値を越えた場合には、代理マネージャ作成部１０５がマネージャの処理の一部を仮想ＰＣに委譲する動作を行う。負荷状態が下限値を越えた場合には、代理マネージャ格納部１０６が仮想ＰＣに委譲していたマネージャの処理を仮想ＰＣにマネージャサーバ１０に戻す動作を行う。
【００４５】
図１および図４に示された例では、ユーザとしてＡ〜Ｄの４人がいて、これに対して仮想ＰＣサーバ３０内に５台の仮想ＰＣ６０ａ〜ｅが生成されている。図１でいう仮想ＰＣ６０ａを図４では「１」という識別子でいい、仮想ＰＣ６０ｂ〜ｅも同様に各々「２」〜「５」の識別子でいう。初期状態では、いずれのユーザ（仮想ＰＣ）も、状態２１１ｃは「未使用」である。
【００４６】
また、それらの仮想ＰＣの中で識別子「５」の仮想ＰＣ６０ｅが割り当て候補７０として仮想ＰＣ名２１２ｂで示されており、その配分状態２１２ｃの初期値は「配分可」である。そして上限値２１３ａおよび下限値２１３ｂは、各々「５０％」と「１０％」である。
【００４７】
図５〜６は、図１〜２に示したマネージャサーバ１０の動作について示すフローチャートである（紙面の都合により２ページに分ける）。まず、マネージャサーバ１０が動作を開始すると、設定情報読込部１０１がデータベースサーバ２０から代理マネージャ候補テーブル２１２、および負荷判定条件テーブル２１３の内容を読み込んでコピーし、これらを各々代理マネージャ候補データ２１２ａおよび負荷判定条件データ２１３ａとして記憶手段１２に記憶する（ステップＳ３０１）。そして、接続待受部１０２が、シンクライアント端末４０ａ、４０ｂ、４０ｃ、…からの接続要求を待ち受ける状態となる（ステップＳ３０２）。
【００４８】
接続待受部１０２が、シンクライアント端末４０ａ、４０ｂ、４０ｃ、…からの接続要求を受信すると（ステップＳ３０２がイエス）、負荷判定部１０３が主演算制御手段１１のＣＰＵ使用率を取得して、このＣＰＵ使用率が上限値２１３ａ以上であるか否かを判断する（ステップＳ３０３）。
【００４９】
ＣＰＵ使用率が上限値２１３ａ以上でない場合は（ステップＳ３０３がノー）、代理マネージャ作成部１０５が、代理マネージャ候補テーブル２１２で示されている割り当て候補７０の配分状態２１２ｃが「配分可」であるか否かを確認する（ステップＳ３０４）。
【００５０】
割り当て候補７０が代理マネージャ７１として動作している状態でない、即ち「配分可」であれば（ステップＳ３０４がノー）、そのまま仮想ＰＣ割当処理部１０４による仮想ＰＣ割り当ての処理に入る。即ち、仮想ＰＣ割当処理部１０４は、紐付けテーブル２１１を参照して、接続要求を行ったユーザをユーザ名２１１ａの中から検索し、このユーザに割り当て可能な使用仮想ＰＣ名２１１ｂを検索し、この仮想ＰＣの状態２１１ｃが「未使用」であることを確認する（ステップＳ３０５）。
【００５１】
その上で、仮想ＰＣ割当処理部１０４は、このユーザに割り当て可能でかつ「未使用」である仮想ＰＣが複数台存在する場合はそれらの中から任意の方法で１台を選択し、該仮想ＰＣの状態２１１ｃを「使用中」に変更して、該仮想ＰＣのＩＰアドレス２１１ｄを接続要求元のシンクライアント端末に返却して（ステップＳ３０６）、ステップＳ３０２からの処理に戻る。
【００５２】
ＣＰＵ使用率が上限値２１３ａ以上であった場合（ステップＳ３０３がイエス）、即ち接続要求多重度が高くなってマネージャサーバ１０の主演算制御手段１１が高負荷状態となった場合には、これに引き続いて代理マネージャ作成部１０５が、代理マネージャ候補テーブル２１２で示されている割り当て候補７０の配分状態２１２ｃが「配分不可」である、即ち代理マネージャ７１として既に動作している割り当て候補７０が存在する否かを確認する（ステップＳ３０７）。
【００５３】
ここで、代理マネージャ７１が既に動作している場合（ステップＳ３０７がノー）、代理マネージャ作成部１０５による代理マネージャ割り当ての処理に入る。即ち、代理マネージャ作成部１０５は代理マネージャ候補テーブル２１２で示されている割り当て候補７０の中からいずれか１つを決定し（ステップＳ３０８）、この割り当て候補７０の配分状態２１２ｃを「配分不可」として、その上でこの割り当て候補７０でマネージャサービスを起動して、これを代理マネージャ７１として機能させて（ステップＳ３０９）、ステップＳ３１０からの処理に進む。
【００５４】
代理マネージャ７１が動作している場合（ステップＳ３０７がイエス）、負荷判定部１０３は主演算制御手段１１とその代理マネージャ７１の各々のＣＰＵ使用率を取得し、いずれのＣＰＵ使用率が高いかについて判断する（ステップＳ３１０）。図５では「主演算制御手段１１側が高い」状態をイエスとする。
【００５５】
主演算制御手段１１のＣＰＵ使用率は、負荷判定部１０３がＯＳ（Operating System）の機能、たとえば米国マイクロソフトコーポレーションのウィンドウズシリーズ（ウィンドウズは登録商標）の標準的機能として用意されているＡＰＩ（Application Programming Interface）を利用して取得することができる。代理マネージャ７１のＣＰＵ使用率は、負荷判定部１０３が仮想ＰＣ管理基盤３１に照会して取得することができる。また、代理マネージャ７１の側にＣＰＵ使用率を計算するエージェントプログラムを配置し、負荷判定部１０３からこのエージェントにＣＰＵ使用率を照会してもよい。
【００５６】
ここで主演算制御手段１１は物理的なコンピュータのＣＰＵであり、代理マネージャ７１は仮想ＰＣである。即ち、動作主体が異なるので、この両者でＣＰＵ使用率を単純に比較することは本来なら不可能である。この場合は、両者の差分を解消するために、代理マネージャ７１のＣＰＵ使用率にあらかじめ与えられた係数を乗算して、これを主演算制御手段１１のＣＰＵ使用率と比較する。この係数は、たとえば両者のハードウェア処理能力の比率から算出されたものであってもよい。あるいは、システム管理者がシンクライアントシステム１を設計する際に、負荷を適切に分散させることができるように任意に設定した係数であってもよい。
【００５７】
主演算制御手段１１の方がＣＰＵ使用率が高ければ（ステップＳ３１０がイエス）、そのままマネージャサーバ１０の仮想ＰＣ割当処理部１０４による仮想ＰＣ割り当ての処理に入る。即ち、仮想ＰＣ割当処理部１０４は、紐付けテーブル２１１を参照して、接続要求を行ったユーザをユーザ名２１１ａの中から検索し、このユーザに割り当て可能な使用仮想ＰＣ名２１１ｂを検索し、この仮想ＰＣの状態２１１ｃが「未使用」であることを確認する（ステップＳ３１１）。
【００５８】
その上で、仮想ＰＣ割当処理部１０４は、このユーザに割り当て可能でかつ「未使用」である仮想ＰＣが複数台存在する場合はそれらの中から任意の方法で１台を選択し、該仮想ＰＣの状態２１１ｃを「使用中」に変更して、該仮想ＰＣのＩＰアドレス２１１ｄを接続要求元のシンクライアント端末に返却して（ステップＳ３１２）、ステップＳ３０２からの処理に戻る。
【００５９】
代理マネージャ７１の方がＣＰＵ使用率が高ければ（ステップＳ３１０がノー）、代理マネージャ７１が上記ステップＳ３１１〜３１２と（仮想ＰＣ割当処理部１０４と）同一の仮想ＰＣ割り当ての処理を行う。即ち、代理マネージャ７１は、紐付けテーブル２１１を参照して、接続要求を行ったユーザをユーザ名２１１ａの中から検索し、このユーザに割り当て可能な使用仮想ＰＣ名２１１ｂを検索し、この仮想ＰＣの状態２１１ｃが「未使用」であることを確認する（ステップＳ３１３）。
【００６０】
その上で、代理マネージャ７１は、このユーザに割り当て可能でかつ「未使用」である仮想ＰＣが複数台存在する場合はそれらの中から任意の方法で１台を選択し、該仮想ＰＣの状態２１１ｃを「使用中」に変更して、該仮想ＰＣのＩＰアドレス２１１ｄを接続要求元のシンクライアント端末に返却して（ステップＳ３１４）、ステップＳ３０２からの処理に戻る。
【００６１】
ステップＳ３０３で、主演算制御手段１１のＣＰＵ使用率が下限値２１３ｂを下回る低負荷状態であり、かつ代理マネージャ７１が動作している状態であれば（ステップＳ３０３がノー、かつステップＳ３０４がイエス）、代理マネージャ格納部１０６による代理マネージャ格納の処理に入る。即ち、代理マネージャ格納部１０６は、現在代理マネージャ７１で動作しているマネージャサービスの動作を停止して、配分状態２１２ｃを「配分可」に戻す（ステップＳ３１５）。その上で、前述のステップＳ３０５からの仮想ＰＣ割当処理部１０４による仮想ＰＣ割り当ての処理に入る。
【００６２】
図７〜１０は、図１に示したシンクライアントシステム１の動作状態について示す説明図である。図７〜１０は、図１〜３に示したシンクライアントシステム１の構成の中で、動作のメインとなる部分のみを観念的に示している。特にデータベースサーバ２０に記憶されている紐付けテーブル２１１および代理マネージャ候補テーブル２１２の記憶内容の変化を示している。なお、負荷判定条件テーブル２１３の記憶内容は動作中に変化することはない。
【００６３】
図７は、図１に示したシンクライアントシステム１の動作開始時点の状態を示す。より具体的には、ユーザ名２１１ａ＝「Ａ」のユーザ（以後ユーザＡという、他のユーザも同様）が、シンクライアント端末４０ａを操作して、マネージャサーバ１０に接続要求をした（ステップＡ１）という状態である。この状態では、他のユーザはまだシンクライアントシステム１を操作していない。
【００６４】
この場合、この状態ではＣＰＵ使用率が上限値２１３ａを上回らず、また代理マネージャ７１が動作していないので、マネージャサーバ１０はデータベースサーバ２０を検索して（ステップＡ２）、図５〜６のステップＳ３０５〜３０６に示した処理によって、使用仮想ＰＣ名２１１ｂ＝「１」（以後仮想ＰＣ１という、他の仮想ＰＣも同様）をこのユーザに使用させるよう決定し、これに対応するＩＰアドレス２１１ｄをシンクライアント端末４０ａに返却する（ステップＡ３）。シンクライアント端末４０ａは、このＩＰアドレス２１１ｄによって仮想ＰＣサーバ３０にアクセスして、仮想ＰＣ１に接続してこれを使用する（ステップＡ４）。
【００６５】
図８および図９は、図７の動作の後、ユーザＢ、ユーザＣ…が図７の例と同様の動作で次々とシンクライアント端末４０ｂ、４０ｃ、…からマネージャサーバ１０に接続要求して、マネージャサーバ１０に過大な負荷がかかるようになった状態の例を示している（ステップＢ１）。この例では、シンクライアント端末４０ｃを操作するユーザＣが接続要求をしたものとする。
【００６６】
この場合、ＣＰＵ使用率が上限値２１３ａを上回ったことが負荷判定部１０３によって検出され（ステップＢ２）、かつこの時点では代理マネージャ７１が動作していないので、マネージャサーバ１０はデータベースサーバ２０を検索および更新して（ステップＢ３）、図５〜６のステップＳ３０８〜３０９に示した処理によって、割り当て候補７０として指定されている仮想ＰＣ５の配分状態２１２ｃを「配分不可」として、この仮想ＰＣ５を代理マネージャ７１として動作させる（ステップＢ４）。
【００６７】
その上で、マネージャサーバ１０は代理マネージャ７１にシンクライアント端末４０ｃを操作するユーザＣからの接続要求（ステップＣ１）を転送する（ステップＣ２）。代理マネージャ７１はデータベースサーバ２０を検索して（ステップＣ３）、図５〜６のステップＳ３１３〜３１４に示した処理によって、ユーザＣに対応する仮想ＰＣ３を使用させるよう決定し、これに対応するＩＰアドレス２１１ｄをシンクライアント端末４０ｃに返却する（ステップＣ４）。
【００６８】
シンクライアント端末４０ｃは、このＩＰアドレス２１１ｄによって仮想ＰＣサーバ３０にアクセスして、仮想ＰＣ３に接続してこれを使用する（ステップＣ５）。仮想ＰＣ５が代理マネージャ７１として動作している間、この仮想ＰＣ５はユーザからの接続要求に対して配分される対象からは除外される。
【００６９】
図１０は、その後シンクライアントシステム１を操作するユーザの数が減少して、マネージャサーバ１０および代理マネージャ７１に対する負荷が低下した状態の例を示している。
【００７０】
ここで、シンクライアント端末４０ａがマネージャサーバ１０に接続要求をした（ステップＤ１）場合、ＣＰＵ使用率が下限値２１３ｂを下回ったことが負荷判定部１０３によって検出され（ステップＤ２）、データベースサーバ２０から代理マネージャ７１を検索して（ステップＤ３）、図５〜６のステップＳ３１５に示した処理によって、仮想ＰＣ５の代理マネージャ７１としての動作が停止され（ステップＤ４）、配分状態２１２ｃは「配分可」に戻る（ステップＤ５）。
【００７１】
その上で、マネージャサーバ１０は図５〜６のステップＳ３０５〜３０６に示した処理によって、データベースサーバ２０を検索して使用させる仮想ＰＣを決定し（ステップＤ６）、これに対応するＩＰアドレス２１１ｄをシンクライアント端末４０ａに返却する（ステップＤ７）。シンクライアント端末は、このＩＰアドレス２１１ｄによって仮想ＰＣサーバ３０にアクセスして、決定された仮想ＰＣに接続してこれを使用する（ステップＤ８）。
【００７２】
（第１の実施形態の全体的な動作）
次に、上記の実施形態の全体的な動作について説明する。本実施形態に係るセッション管理方法は、ユーザが操作する複数台のシンクライアント端末４０ａ、４０ｂ、４０ｃ、…と、複数台の仮想コンピュータ（仮想ＰＣ６０ａ、６０ｂ、６０ｃ、…）を内部に生成する仮想ＰＣサーバ３０と、シンクライアント端末からの接続要求に応じて当該シンクライアント端末が接続する仮想コンピュータを決定すると共に当該仮想コンピュータのＩＰアドレスをシンクライアント端末に返信する主演算制御手段１１を備えるマネージャサーバ１０とが相互に接続されて構成されるシンクライアントシステム１にあって、シンクライアント端末からの接続要求をマネージャサーバの接続待受部が受信し（図５〜６・ステップＳ３０２）、接続要求に反応してマネージャサーバの負荷判定部が主演算制御手段にかかっている負荷を示す負荷率を取得してこれを予め与えられた上限値と比較し（図５〜６・ステップＳ３０３）、接続要求に反応してシンクライアント端末が接続する仮想コンピュータを決定して当該仮想コンピュータのＩＰアドレスをシンクライアント端末に返信する仮想コンピュータ割当処理をマネージャサーバの仮想コンピュータ割当処理部が行い（図５〜６・ステップＳ３０５〜３０６）、取得した負荷率が上限値を上回る場合に、マネージャサーバの代理マネージャ作成部が仮想コンピュータの中で予め決められた割り当て候補を仮想コンピュータ割当処理と同等の処理を行う代理マネージャとして機能させる（図５〜６・ステップＳ３０８〜３０９）。
【００７３】
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するコンピュータであるマネージャサーバ１０に実行させるようにしてもよい。本プログラムは、非一時的な記録媒体、例えば、ＤＶＤ、ＣＤ、フラッシュメモリ等に記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。
この動作により、本実施形態は以下のような効果を奏する。
【００７４】
本実施形態によれば、複数の仮想ＰＣを管理しているシンクライアントシステムで、複数のユーザからの接続要求が多発してマネージャの負荷が上昇しても、負荷を分散することができ処理性能の低下を防止することができる。このために、仮想ＰＣサーバ内に構築された仮想ＰＣを代理マネージャとして動作させるので、新たなコンピュータもしくは仮想コンピュータを用意する必要はない。
【００７５】
（第２の実施形態）
本発明の第２の実施形態は、前述した第１の実施形態の構成に加えて、マネージャサーバ４１０の代理マネージャ作成部５０６が、仮想コンピュータの中で予め決められた複数台の割り当て候補を複数台の代理マネージャ４７１として機能させる機能を有すると共に、代理マネージャ４７１が、他の代理マネージャと自らとの間で負荷率を比較して負荷率の低い方に仮想コンピュータ割当処理を行わせる機能を有するものとした。
【００７６】
これによって、本実施形態のシンクライアントシステム４０１は、前述した第１の実施形態の効果に加えて、さらに急激な仮想ＰＣの利用台数の増減が生じた場合にも柔軟に対応できるようになる。
以下、これをより詳細に説明する。
【００７７】
図１１は、本発明の第２の実施形態に係るシンクライアントシステム４０１の構成を示す説明図である。シンクライアントシステム４０１は、図１で示した第１の実施形態に係るシンクライアントシステム１の、マネージャサーバ１０およびデータベースサーバ２０が、各々別のマネージャサーバ４１０およびデータベースサーバ４２０に置換されている。その他の要素は、シンクライアントシステム１と同一である。
【００７８】
図１２は、図１１で示したマネージャサーバ４１０のより詳しい構成を示す説明図である。マネージャサーバ４１０は、図２で示した第１の実施形態に係るマネージャサーバ１０と比べて、代理マネージャ作成部１０５および代理マネージャ格納部１０６が、各々別の代理マネージャ作成部５０５および代理マネージャ格納部５０６に置換されている。その他の要素は、マネージャサーバ１０と同一である。
【００７９】
図１３は、図１１で示したデータベースサーバ４２０のより詳しい構成を示す説明図である。データベースサーバ４２０は、図３で示した第１の実施形態に係るデータベースサーバ２０と比べて、代理マネージャ候補テーブル２１２が別の代理マネージャ候補テーブル６１２に置換されている。その他の要素は、データベースサーバ２０と同一である。
【００８０】
第１の実施形態では仮想ＰＣのうちの１台が割り当て候補７０とされていたが、本実施形態では複数台の仮想ＰＣが割り当て候補７０となる。そのため、代理マネージャ候補テーブル６１２で記憶されるデータの項目は、代理マネージャ候補テーブル２１２のデータ項目である仮想ＰＣ名２１２ｂ、ＩＤ２１２ａ、配分状態２１２ｃに加えて、さらに複数台の仮想ＰＣが代理マネージャ４７１として動作する際の優先順位を示す順位６１２ｄが追加されている。
【００８１】
代理マネージャ４７１は、仮想ＰＣ割当処理部１０４と同等の動作を行う機能の他に、順位６１２が自らより下位の代理マネージャ４７１に対して負荷判定部１０３と同等にＣＰＵ利用率を取得する機能を有する。
【００８２】
代理マネージャ作成部５０５は、マネージャサーバ１０のＣＰＵ利用率が高い場合、まず代理マネージャ４７１を１台作成する（この場合は最も順位６１２ｄの高い仮想ＰＣ５が代理マネージャ４７１となる）が、それでもまだ代理マネージャ４７１が自らのＣＰＵ利用率が高いと判定した場合、さらにもう１台代理マネージャ４７１を作成する（この場合は順位６１２ｄが２番目に高い仮想ＰＣ４が代理マネージャ４７１となる）。
【００８３】
そして、代理マネージャ４７１である仮想ＰＣ５は、仮想ＰＣ４と自らのＣＰＵ利用率を取得してこれらを比較して、自らと仮想ＰＣ４との間で仮想ＰＣの割当て処理を配分する。
【００８４】
即ち、本実施例のシンクライアントシステム４０１は、複数台の代理マネージャを作成して、シンクライアント端末から接続を受付けるマネージャから複数の代理マネージャをネストしながら仮想ＰＣの割当てに係る負荷を分散することができる。これによって、多くの仮想ＰＣを有する環境で急激な仮想ＰＣの利用台数の増減が生じた場合にも、柔軟に対応することができる。
【００８５】
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
【００８６】
上述した実施形態について、その新規な技術内容の要点をまとめると、以下のようになる。なお、上記実施形態の一部または全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。
【００８７】
（付記１）  ユーザが操作する複数台のシンクライアント端末と、複数台の仮想コンピュータを内部に生成する仮想ＰＣサーバと、前記シンクライアント端末からの接続要求に応じて当該シンクライアント端末が接続する前記仮想コンピュータを決定すると共に当該仮想コンピュータのＩＰアドレスを前記シンクライアント端末に返信する主演算制御手段を備えるマネージャサーバとが相互に接続されて構成されるシンクライアントシステムであって、
前記マネージャサーバが、
前記シンクライアント端末からの接続要求を受信する接続待受部と、
前記接続要求に反応して前記シンクライアント端末が接続する前記仮想コンピュータを決定して当該仮想コンピュータのＩＰアドレスを前記シンクライアント端末に返信する仮想コンピュータ割当処理を行う仮想コンピュータ割当処理部と、
前記接続要求に反応して前記主演算制御手段にかかっている負荷を示す負荷率を取得してこれを予め与えられた上限値と比較する負荷判定部と、
取得した前記負荷率が前記上限値を上回る場合に、前記仮想コンピュータの中で予め決められた割り当て候補を前記仮想コンピュータ割当処理と同等の処理を行う代理マネージャとして機能させる代理マネージャ作成部と
を有することを特徴とするシンクライアントシステム。
【００８８】
（付記２）  前記マネージャサーバの前記負荷判定部が、前記代理マネージャが機能している間に当該代理マネージャにかかっている負荷を示す負荷率を取得してこれを前記主演算制御手段の前記負荷率と比較し、前記代理マネージャおよび前記主演算制御手段のうち前記負荷率の低い方に前記仮想コンピュータ割当処理を行わせる機能を有することを特徴とする、付記１に記載のシンクライアントシステム。
【００８９】
（付記３）  前記マネージャサーバの前記負荷判定部が、前記負荷率を予め与えられた下限値と比較する機能を有すると共に、
前記マネージャサーバが、前記代理マネージャが機能していてかつ前記負荷率が前記下限値を下回る場合に前記代理マネージャにおける前記仮想コンピュータ割当処理を停止させる代理マネージャ格納部を有することを特徴とする、付記２に記載のシンクライアントシステム。
【００９０】
（付記４）  前記マネージャサーバの前記代理マネージャ作成部が、前記仮想コンピュータの中で予め決められた複数台の前記割り当て候補を複数台の前記代理マネージャとして機能させる機能を有すると共に、
前記代理マネージャが、他の前記代理マネージャと自らとの間で前記負荷率を比較して前記負荷率の低い方に前記仮想コンピュータ割当処理を行わせる機能を有することを特徴とする、付記２に記載のシンクライアントシステム。
【００９１】
（付記５）  前記マネージャサーバの前記負荷判定部が、前記代理マネージャと前記主演算制御手段との間で前記負荷率を比較する際、前記代理マネージャの前記負荷率にあらかじめ与えられた係数を乗算して前記主演算制御手段の前記負荷率と比較することを特徴とする、付記２に記載のシンクライアントシステム。
【００９２】
（付記６）  ユーザが操作する複数台のシンクライアント端末および複数台の仮想コンピュータを内部に生成する仮想ＰＣサーバとそれぞれ相互に接続され、前記シンクライアント端末からの接続要求に応じて当該シンクライアント端末が接続する前記仮想コンピュータを決定すると共に当該仮想コンピュータのＩＰアドレスを前記シンクライアント端末に返信する主演算制御手段を備えるマネージャサーバであって、
前記シンクライアント端末からの接続要求を受信する接続待受部と、
前記接続要求に反応して前記シンクライアント端末が接続する前記仮想コンピュータを決定して当該仮想コンピュータのＩＰアドレスを前記シンクライアント端末に返信する仮想コンピュータ割当処理を行う仮想コンピュータ割当処理部と、
前記接続要求に反応して前記主演算制御手段にかかっている負荷を示す負荷率を取得してこれを予め与えられた上限値と比較する負荷判定部と、
取得した前記負荷率が前記上限値を上回る場合に、前記仮想コンピュータの中で予め決められた割り当て候補を前記仮想コンピュータ割当処理と同等の処理を行う代理マネージャとして機能させる代理マネージャ作成部と
を有することを特徴とするマネージャサーバ。
【００９３】
（付記７）  ユーザが操作する複数台のシンクライアント端末と、複数台の仮想コンピュータを内部に生成する仮想ＰＣサーバと、前記シンクライアント端末からの接続要求に応じて当該シンクライアント端末が接続する前記仮想コンピュータを決定すると共に当該仮想コンピュータのＩＰアドレスを前記シンクライアント端末に返信する主演算制御手段を備えるマネージャサーバとが相互に接続されて構成されるシンクライアントシステムにあって、
前記シンクライアント端末からの接続要求を前記マネージャサーバの接続待受部が受信し、
前記接続要求に反応して前記マネージャサーバの負荷判定部が前記主演算制御手段にかかっている負荷を示す負荷率を取得してこれを予め与えられた上限値と比較し、
前記接続要求に反応して前記シンクライアント端末が接続する前記仮想コンピュータを決定して当該仮想コンピュータのＩＰアドレスを前記シンクライアント端末に返信する仮想コンピュータ割当処理を前記マネージャサーバの仮想コンピュータ割当処理部が行い、
取得した前記負荷率が前記上限値を上回る場合に、前記マネージャサーバの代理マネージャ作成部が前記仮想コンピュータの中で予め決められた割り当て候補を前記仮想コンピュータ割当処理と同等の処理を行う代理マネージャとして機能させる
ことを特徴とするセッション管理方法。
【００９４】
（付記８）  ユーザが操作する複数台のシンクライアント端末と、複数台の仮想コンピュータを内部に生成する仮想ＰＣサーバと、前記シンクライアント端末からの接続要求に応じて当該シンクライアント端末が接続する前記仮想コンピュータを決定すると共に当該仮想コンピュータのＩＰアドレスを前記シンクライアント端末に返信する主演算制御手段を備えるマネージャサーバとが相互に接続されて構成されるシンクライアントシステムにあって、
前記マネージャサーバが備えるコンピュータに、
前記シンクライアント端末からの接続要求を受信する手順、
前記接続要求に反応して前記主演算制御手段にかかっている負荷を示す負荷率を取得してこれを予め与えられた上限値と比較する手順、
前記接続要求に反応して前記シンクライアント端末が接続する前記仮想コンピュータを決定して当該仮想コンピュータのＩＰアドレスを前記シンクライアント端末に返信する仮想コンピュータ割当処理を行う手順、
および取得した前記負荷率が前記上限値を上回る場合に、前記仮想コンピュータの中で予め決められた割り当て候補を前記仮想コンピュータ割当処理と同等の処理を行う代理マネージャとして機能させる手順
を実行させることを特徴とするセッション管理プログラム。
【産業上の利用可能性】
【００９５】
本発明は、仮想ＰＣ方式のシンクライアントシステムに適用できる。特に、数百〜数千台に及ぶ仮想ＰＣが構築される大規模なシンクライアントシステムに適している。
【符号の説明】
【００９６】
１、４０１  シンクライアントシステム
１０、４１０  マネージャサーバ
１１、２１  主演算制御手段
１２、２２  記憶手段
１３、２３  通信手段
２０、４２０  データベースサーバ
３０  仮想ＰＣサーバ
３１  仮想ＰＣ管理基盤
４０ａ、４０ｂ、４０ｃ  シンクライアント端末
５０  ネットワーク
６０ａ、６０ｂ、６０ｃ  仮想ＰＣ
７０  割り当て候補
７１、４７１  代理マネージャ
１０１  設定情報読込部
１０２  接続待受部
１０３  負荷判定部
１０４  仮想ＰＣ割当処理部
１０５、５０５  代理マネージャ作成部
１０６、５０６  代理マネージャ格納部
１１２  代理マネージャ候補データ
１１３  負荷判定条件データ
２０１  データ管理部
２１１  紐付けテーブル
２１２、６１２  代理マネージャ候補テーブル
２１３  負荷判定条件テーブル
【図１】
0005294352.tif 000002
【図２】
0005294352.tif 000003
【図３】
0005294352.tif 000004
【図４】
0005294352.tif 000005
【図５】
0005294352.tif 000006
【図６】
0005294352.tif 000007
【図７】
0005294352.tif 000008
【図８】
0005294352.tif 000009
【図９】
0005294352.tif 000010
【図１０】
0005294352.tif 000011
【図１１】
0005294352.tif 000012
【図１２】
0005294352.tif 000013
【図１３】
0005294352.tif 000014
【図１４】
0005294352.tif 000015