(57)【要約】【課題】利用形態に応じた適切な負荷分散を行うことが難しい。【解決手段】ユーザが操作するデバイスと、仮想マシンと、の間の接続を管理するセッション管理装置が行うセッション管理方法であって、前記ユーザと前記デバイスの組み合わせごとにネットワークの使用量を示すネットワーク使用量を収集し、収集した前記ネットワーク使用量に基づいて、前記デバイスと前記仮想マシンとの間の接続を管理する。【選択図】図１
2020144750.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが操作するデバイスと、仮想マシンと、の間の接続を管理するセッション管理装置が行うセッション管理方法であって、
前記ユーザと前記デバイスの組み合わせごとにネットワークの使用量を示すネットワーク使用量を収集し、
収集した前記ネットワーク使用量に基づいて、前記デバイスと前記仮想マシンとの間の接続を管理する
セッション管理方法。
【請求項２】
請求項１に記載のセッション管理方法であって、
前記ユーザと前記デバイスの組み合わせごとの前記ネットワーク使用量に基づいて、ネットワークの負荷を示す負荷ランクを前記ユーザと前記デバイスの組み合わせごとに算出し、
算出した前記負荷ランクに基づいて、前記デバイスと前記仮想マシンとの間の接続を管理する
セッション管理方法。
【請求項３】
請求項２に記載のセッション管理方法であって、
前記ネットワーク使用量に基づいて所定期間における前記ネットワーク使用量の平均値を算出し、算出した平均値に基づいて前記負荷ランクを算出する
セッション管理方法。
【請求項４】
請求項２または請求項３に記載のセッション管理方法であって、
前記仮想マシンと接続を確立させた前記デバイスと当該デバイスを操作する前記ユーザの組み合わせに対応する前記負荷ランクに基づいて、前記仮想マシンを有するサーバの負荷を示す割り当て負荷量を算出し、
算出した前記割り当て負荷量に基づいて、前記デバイスと前記仮想マシンとの間の接続を管理する
セッション管理方法。
【請求項５】
請求項４に記載のセッション管理方法であって、
前記割り当て負荷量が最も少ない前記サーバ上の前記仮想マシンと前記デバイスとの間で接続を確立させる
セッション管理方法。
【請求項６】
請求項４または請求項５に記載のセッション管理方法であって、
前記仮想マシンと前記デバイスとの間の接続を確立させた際、前記デバイスと当該デバイスを操作する前記ユーザの組み合わせに対応する前記負荷ランクを加算することで前記割り当て負荷量を算出する
セッション管理方法。
【請求項７】
請求項４から請求項６までのいずれか１項に記載のセッション管理方法であって、
前記仮想マシンと前記デバイスとの間の接続が切断すると、前記デバイスと当該デバイスを操作する前記ユーザの組み合わせに対応する前記負荷ランクを減算することで前記割り当て負荷量を算出する
セッション管理方法。
【請求項８】
ユーザが操作するデバイスと、仮想マシンと、の間の接続を管理するセッション管理装置であって、
前記ユーザと前記デバイスの組み合わせごとにネットワークの使用量を示すネットワーク使用量を収集するネットワーク使用量収集手段と、
前記ネットワーク使用量収集手段が収集した前記ネットワーク使用量に基づいて、前記デバイスと前記仮想マシンとの間の接続を管理する管理手段と、
を有する
セッション管理装置。
【請求項９】
請求項８に記載のセッション管理装置であって、
前記ユーザと前記デバイスの組み合わせごとの前記ネットワーク使用量に基づいて、ネットワークの負荷を示す負荷ランクを前記ユーザと前記デバイスの組み合わせごとに算出するネットワーク負荷ランク算出手段を有し、
前記管理手段は、前記ネットワーク負荷ランク算出手段が算出した前記負荷ランクに基づいて、前記デバイスと前記仮想マシンとの間の接続を管理する
セッション管理装置。
【請求項１０】
ユーザが操作するデバイスと、仮想マシンと、の間の接続を管理するセッション管理装置に、
前記ユーザと前記デバイスの組み合わせごとにネットワークの使用量を示すネットワーク使用量を収集するネットワーク使用量収集手段と、
前記ネットワーク使用量収集手段が収集した前記ネットワーク使用量に基づいて、前記デバイスと前記仮想マシンとの間の接続を管理する管理手段と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セッション管理方法、セッション管理装置、プログラムに関する。
【背景技術】
【０００２】
遠隔地のサーバ上に仮想的な装置を構築し、手元の端末装置から接続する仮想化システムが知られている。
【０００３】
このような仮想化システムでは、セッションブローカーなどのセッション管理装置を用いてセッションの振り分けを行うことで、適切な負荷分散を行うことがある。ここで、仮想化システムにおける負荷分散を行う際に用いられる技術の一例として、例えば、特許文献１がある。特許文献１には、ユーザの特性情報などに基づいてリソースの使用予定量を測定し、測定した結果に基づいてサーバの配置、ディスク領域の割り当てを最適化する負荷分散方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１１０２４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術の場合、ユーザの特性情報などに基づいて測定するリソースの使用予定量に基づいて負荷分散を行っている。ここで、端末装置には、スマートフォンやタブレット端末、デスクトップパソコンなど、様々な種類がある。また、使用する端末装置の種類によっては、もっぱらメールチェックのみを行うなどネットワーク通信量の少ない処理を行うこともあれば、ＣＡＤを利用するなど帯域を広く利用することもある。このように、どの端末装置を使用するかなどユーザの利用形態によって通信量に差が出るおそれがあるものの、特許文献１に記載されているようなユーザの特性情報に基づく測定では端末装置の違いを考慮していない。そのため、特許文献１に記載されているような技術では、適切な負荷分散を行うことが出来ないおそれがあった。
【０００６】
そこで、本発明の目的は、利用形態に応じた適切な負荷分散を行うことが難しい、という課題を解決するセッション管理方法、セッション管理装置、プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
かかる目的を達成するため本発明の一形態であるセッション管理方法は、
ユーザが操作するデバイスと、仮想マシンと、の間の接続を管理するセッション管理装置が行うセッション管理方法であって、
前記ユーザと前記デバイスの組み合わせごとにネットワークの使用量を示すネットワーク使用量を収集し、
収集した前記ネットワーク使用量に基づいて、前記デバイスと前記仮想マシンとの間の接続を管理する
という構成をとる。
【０００８】
また、本発明の他の形態であるセッション管理装置は、
ユーザが操作するデバイスと、仮想マシンと、の間の接続を管理するセッション管理装置が、
前記ユーザと前記デバイスの組み合わせごとにネットワークの使用量を示すネットワーク使用量を収集するネットワーク使用量収集手段と、
前記ネットワーク使用量収集手段が収集した前記ネットワーク使用量に基づいて、前記デバイスと前記仮想マシンとの間の接続を管理する管理手段と、
を有する
という構成をとる。
【０００９】
また、本発明の他の形態であるプログラムは、
ユーザが操作するデバイスと、仮想マシンと、の間の接続を管理するセッション管理装置に、
前記ユーザと前記デバイスの組み合わせごとにネットワークの使用量を示すネットワーク使用量を収集するネットワーク使用量収集手段と、
前記ネットワーク使用量収集手段が収集した前記ネットワーク使用量に基づいて、前記デバイスと前記仮想マシンとの間の接続を管理する管理手段と、
を実現させるためのプログラムである。
【発明の効果】
【００１０】
本発明は、以上のように構成されることにより、利用形態に応じた適切な負荷分散を行うことが難しい、という課題を解決するセッション管理方法、セッション管理装置、プログラムを提供することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態におけるシステムの全体の構成の一例を示すブロック図である。
【図２】図１で示すクライアントマシンの一例を示す図である。
【図３】図１で示すデータベースに格納されるテーブルの一例を示す図である。
【図４】図３で示すクライアント情報管理テーブルの一例を示す図である。
【図５】図３で示すネットワーク負荷実績管理テーブルの一例を示す図である。
【図６】図３で示すセッション情報管理テーブルの一例を示す図である。
【図７】本発明の第１の実施形態においてネットワーク使用量を収集する際の処理の一例を示すフローチャートである。
【図８】本発明の第１の実施形態において負荷ランクを算出する際の処理の一例を示すフローチャートである。
【図９】本発明の第１の実施形態においてセッション割り当てを行う際の処理の一例を示すフローチャートである。
【図１０】システムの他の構成例を示すブロック図である。
【図１１】図１０で示すデータベースに格納されるテーブルの一例を示す図である。
【図１２】図１１で示すネットワーク環境管理テーブルの一例を示す図である。
【図１３】本発明の第２の実施形態において説明するセッション管理装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１２】
［第１の実施形態］
本発明の第１の実施形態を図１から図１１までを参照して説明する。図１は、第１の実施形態におけるシステムの全体の構成の一例を示すブロック図である。図２は、クライアントマシン１００の一例を示す図である。図３は、データベース２１０に格納されるテーブルの一例を示す図である。図４は、クライアント情報管理テーブル２１１の一例を示す図である。図５は、ネットワーク負荷実績管理テーブル２１２の一例を示す図である。図６は、セッション情報管理テーブル２１３の一例を示す図である。図７は、ネットワーク使用量を収集する際の処理の一例を示すフローチャートである。図８は、負荷ランクを算出する際の処理の一例を示すフローチャートである。図９は、セッション割り当てを行う際の処理の一例を示すフローチャートである。図１０は、システムの他の構成例を示すブロック図である。図１１は、データベース４１０に格納されるテーブルの一例を示す図である。図１２は、ネットワーク環境管理テーブル４１４の一例を示す図である。
【００１３】
本発明の第１の実施形態においては、クライアントマシン１００から仮想デスクトップマシン３２０への接続要求に対して、セッションブローカー２２０がセッションの振り分けを行うシステムについて説明する。本実施形態においては、クライアントマシン１００と仮想デスクトップマシン３２０との間のセッション紐づけは流動的であり、接続要求のたびにセッションブローカー２２０によりセッションの振り分けが行われる。また、仮想デスクトップマシン３２０は、複数台の仮想デスクトップマシン格納用サーバ３００に分散配置されている。本実施形態の場合、後述するように、セッションブローカー２２０は、ユーザ×デバイス単位で、データの転送量などを示すネットワーク使用量を収集する。そして、セッションブローカー２２０は、収集したユーザ×デバイス単位のネットワーク使用量に基づいて負荷ランクを算出し、算出した結果に基づいて仮想デスクトップマシン３２０を有する仮想デスクトップマシン格納用サーバ３００の負荷を管理する。また、セッションブローカー２２０は、ユーザ×デバイス単位のネットワーク使用量に基づいて算出される負荷ランクに応じた管理の結果に基づいて、セッションの振り分けを行う。
【００１４】
図１は、システム全体の構成の一例を示している。図１を参照すると、システムは、クライアントマシン１００と管理サーバ２００と仮想デスクトップマシン格納用サーバ３００とを有している。図１で示すように、クライアントマシン１００と管理サーバ２００とは、互いに通信可能なよう接続されている。また、管理サーバ２００と仮想デスクトップマシン格納用サーバ３００とは、互いに通信可能なよう接続されている。また、クライアントマシン１００と仮想デスクトップマシン格納用サーバ３００とは、互いに通信可能なよう接続することが出来る。
【００１５】
なお、図１では、システム全体の構成の一例を示している。従って、システム全体の構成は、図１で示す場合に限定されない。例えば、システムは、２以上の複数の仮想デスクトップマシン格納用サーバ３００を有することが出来る。また、管理サーバ２００の構成は、１台の情報処理装置により実現されても構わないし、複数台の情報処理装置により実現されても構わない。
【００１６】
クライアントマシン１００は、仮想デスクトップマシン３２０との接続を要求する接続要求を管理サーバ２００に対して送信する情報処理装置、端末装置である。
【００１７】
図２は、クライアントマシン１００の一例を示している。図２で示すように、クライアントマシン１００は、ユーザ×デバイス（ユーザとデバイス）の組み合わせをシステムの利用単位と定義して構成される。従って、本実施形態の場合、例えば、同一のデバイスであったとしてもデバイスを使用するユーザが異なる場合、異なるクライアントマシン１００であるものとする。同様に、同一のユーザであったとしても操作するデバイスが異なる場合、異なるクライアントマシン１００であるものとする。つまり、図２で示すように、ユーザＡがデバイス１を使用している状態であるユーザＡ×デバイス１とユーザＢがデバイス１を使用している状態であるユーザＢ×デバイス１とでは、異なるクライアントマシン１００であるものとする。同様に、ユーザＡ×デバイス１とユーザＡ×デバイス２も異なるクライアントマシン１００であるものとする。
【００１８】
このように、本実施形態の場合、ユーザは１台以上の複数種類のデバイスを用いて仮想デスクトップマシン３２０にアクセスする。なお、デバイスには、スマートフォン、タブレット端末、デスクトップパソコン、その他の情報処理装置など既存の情報処理装置が含まれる。デバイスには、上記例示した以外のものを含んでも構わない。
【００１９】
管理サーバ２００は、クライアントマシン１００と仮想デスクトップマシン格納用サーバ３００との間の接続を管理するセッション管理装置である。図１を参照すると、管理サーバ２００は、セッション振り分けに利用する情報を管理するデータベース２１０と、クライアントマシン１００から仮想デスクトップマシン３２０への接続要求に対してセッション振り分けを行うセッションブローカー２２０と、から構成される。
【００２０】
データベース２１０は、管理サーバ２００が有する記憶装置に構築されている。データベース２１０には、セッション振り分けに利用する情報が格納される。図３は、データベース２１０に格納される情報の一例を示している。図３を参照すると、データベース２１０には、例えば、クライアント情報管理テーブル２１１と、ネットワーク負荷実績管理テーブル２１２と、セッション情報管理テーブル２１３と、が含まれている。
【００２１】
クライアント情報管理テーブル２１１は、ユーザ×デバイスの組み合わせごとにネットワークに与える負荷を示す負荷ランクを管理するテーブルである。クライアント情報管理テーブル２１１は、ネットワーク負荷ランク算出手段２２２が負荷ランクを算出した際などに更新される。
【００２２】
図４は、クライアント情報管理テーブル２１１の一例を示している。図４を参照すると、クライアント情報管理テーブル２１１では、例えば、識別情報であるＩＤと、ユーザ×デバイスの組み合わせを示す情報と、ネットワーク使用量の平均値を示す情報と、負荷ランクを示す情報と、が対応づけられている。具体的には、図４の１行目では、ＩＤ「１」、組み合わせ「ユーザＡ×デバイス１」、ネットワーク使用量の平均値「３０ｋｂｐｓ」、負荷ランク「３」、が対応づけられている。これは、組み合わせ「ユーザＡ×デバイス１」のある週のネットワーク使用量の平均値が「３０ｋｂｐｓ」であり、負荷ランクが「３」であることを示している。
【００２３】
ネットワーク負荷実績管理テーブル２１２は、ユーザ×デバイスの組み合わせごとに、クライアントマシン１００と仮想デスクトップマシン３２０との間のネットワーク負荷の実績値を管理するテーブルである。ネットワーク負荷実績管理テーブル２１２は、ネットワーク使用量収集手段２２１がネットワーク使用量を収集した際などに更新される。
【００２４】
図５は、ネットワーク負荷実績管理テーブル２１２の一例を示している。図５を参照すると、ネットワーク負荷実績管理テーブル２１２では、例えば、識別情報であるＩＤと、ユーザ×デバイスの組み合わせを示す情報と、ネットワーク使用量を収集した日時を示す情報と、ネットワーク使用量を示す情報と、が対応づけられている。具体的には、図５の１行目では、ＩＤ「１」、組み合わせ「ユーザＡ×デバイス１」、日時「2018/10/1 9:00」、ネットワーク使用量「３０ｋｂｐｓ」、が対応づけられている。これは、組み合わせ「ユーザＡ×デバイス１」の日時「2018/10/1 9:00」におけるネットワーク使用量が「３０ｋｂｐｓ」であったことを示している。
【００２５】
セッション情報管理テーブル２１３は、仮想デスクトップマシン格納用サーバ３００にかかっている負荷を示す割り当て負荷量を管理するテーブルである。セッション情報管理テーブル２１３は、セッション振り分け手段２２３がセッションを振り分けた際や、セッションが切断された際などに更新される。
【００２６】
図６は、セッション情報管理テーブル２１３の一例を示している。図６を参照すると、セッション情報管理テーブル２１３では、例えば、仮想デスクトップマシン格納用サーバ３００を示す情報と、対応する仮想デスクトップマシン格納用サーバ３００に割り当てられている負荷量を示す割り当て負荷量と、が対応づけられている。具体的には、図６の１行目では、サーバ「１」、割り当て負荷量「１０」、が対応づけられている。これは、「１」の仮想デスクトップマシン格納用サーバ３００にかかっている負荷が「１０」であることを示している。
【００２７】
セッションブローカー２２０は、クライアントマシン１００と仮想デスクトップマシン３２０との間の接続を管理する。例えば、セッションブローカー２２０は、クライアントマシン１００からの接続要求に応じて、ユーザ×デバイス単位のネットワーク使用量に基づいて算出される負荷ランクに応じた管理の結果に基づいて、セッションの振り分けを行う。つまり、セッションブローカー２２０は、接続要求に応じてクライアントマシン１００と接続する仮想デスクトップマシン３２０を選択して、クライアントマシン１００と仮想デスクトップマシン３２０との間の接続を確立させる。図１を参照すると、セッションブローカー２２０は、ネットワーク使用量収集手段２２１と、ネットワーク負荷ランク算出手段２２２と、セッション振り分け手段２２３と、を有している。
【００２８】
例えば、管理サーバ２００は、ＣＰＵ（Central Processing Unit）などの演算装置と記憶装置とを有している。例えば、管理サーバ２００は、記憶装置が記憶するプログラムを演算装置が実行することで、セッションブローカー２２０が有する各機能を実現する。
【００２９】
ネットワーク使用量収集手段２２１は、クライアントマシン１００、仮想デスクトップマシン３２０間のネットワーク使用量を収集する。そして、ネットワーク使用量収集手段２２１は、収集したネットワーク使用量をネットワーク負荷実績管理テーブル２１２に格納する。例えば、ネットワーク使用量収集手段２２１は、ネットワーク使用量を収集すると、ネットワーク使用量を収集したユーザ×デバイスの組み合わせを示す情報と、ネットワーク使用量を収集した日時を示す情報と、収集したネットワーク使用量を示す情報と、を対応づけて、ネットワーク負荷実績管理テーブル２１２に格納する。
【００３０】
本実施形態の場合、ネットワーク使用量収集手段２２１は、ユーザ×デバイスのセッション単位でネットワーク使用量を収集する。例えば、ネットワーク使用量収集手段２２１は、クライアントマシン１００がユーザＡ×デバイス１、ユーザＡ×デバイス２、ユーザＢ×デバイス１、…、それぞれの場合におけるネットワーク使用量を区別して収集する。
【００３１】
なお、本実施形態においては、ネットワーク使用量収集手段２２１がネットワーク使用量を収集するタイミングは特に限定しない。例えば、ネットワーク使用量収集手段２２１は、ユーザがログインしてからログアウトするまで常にネットワーク使用量を収集し続けるよう構成しても構わない。また、ネットワーク使用量収集手段２２１は、例えば、ピーク時間帯など予め定められた時間帯のみネットワーク使用量を収集するよう構成しても構わない。このように、ネットワーク使用量収集手段２２１は、任意のタイミングでネットワーク使用量を収集するよう構成することが出来る。
【００３２】
ネットワーク負荷ランク算出手段２２２は、ネットワーク使用量収集手段２２１が収取したネットワーク使用量に基づいて、ユーザ×デバイスの組み合わせごとに負荷ランクを算出する。例えば、ネットワーク負荷ランク算出手段２２２は、ネットワーク使用量収集手段２２１が収取したネットワーク使用量に基づいてネットワーク使用量の平均値を算出するとともに、算出した平均値に基づいて負荷ランクを算出する。そして、ネットワーク負荷ランク算出手段２２２は、収集した負荷ランクをクライアント情報管理テーブル２１１に格納する。例えば、ネットワーク負荷ランク算出手段２２２は、負荷ランクを算出したユーザ×デバイスの組み合わせを示す情報と、算出したネットワーク使用量の平均値を示す情報と、算出した負荷ランクを示す情報と、を対応づけて、クライアント情報管理テーブル２１１に格納する。
【００３３】
例えば、ネットワーク負荷ランク算出手段２２２は、ネットワーク負荷実績管理テーブル２１２を参照して、所定期間（例えば、１週間など。任意の期間で構わない）のネットワーク使用量をユーザ×デバイスの組み合わせごとに取得する。そして、ネットワーク負荷ランク算出手段２２２は、任意の評価式を用いて負荷ランクを算出する。例えば、ネットワーク負荷ランク算出手段２２２は、所定期間のネットワーク使用量に基づいて、所定期間におけるネットワーク使用量の平均値を算出する。そして、ネットワーク負荷ランク算出手段２２２は、算出したネットワーク使用量の平均値に基づいて負荷ランクを算出する。例えば、ネットワーク負荷ランク算出手段２２２は、ネットワーク使用量の平均値の範囲と、範囲に対応する負荷ランクと、を対応づけた情報を有している。そして、ネットワーク負荷ランク算出手段２２２は、当該情報を参照して、算出したネットワーク使用量の平均値が属する範囲を特定するとともに、特定した範囲と対応付けられた負荷ランクを特定する。例えば、このような方法により、ネットワーク負荷ランク算出手段２２２は、ネットワーク使用量に基づいて負荷ランクを算出する。
【００３４】
具体的には、例えば、ネットワーク使用量の平均値が「１０ｋｂｐｓ以上「０ｋｂｐｓ未満」で負荷ランク「１」、「２０ｋｂｐｓ以上３０ｋｂｐｓ未満」で負荷ランク「２」、「３０ｋｂｐｓ以上」で負荷ランク「３」が対応づけられているとする。また、ネットワーク負荷ランク算出手段２２２は、例えば、「ユーザＡ×デバイス１」の組み合わせのネットワーク使用量の平均値として、「３０ｋｂｐｓ」を算出したとする。この場合、ネットワーク負荷ランク算出手段２２２は、算出した平均値が「３０ｋｂｐｓ以上」の範囲に属するため、負荷ランク「３」を特定する。
【００３５】
なお、ネットワーク負荷ランク算出手段２２２の処理は、上記例示した場合に限定されない。例えば、ネットワーク負荷ランク算出手段２２２は、最頻値や中央値などの平均値以外の値を算出して負荷ランクを算出するよう構成しても構わない。また、ネットワーク負荷ランク算出手段２２２は、例えば、ネットワーク負荷実績管理テーブル２１２に含まれる情報のうち、ユーザがログインしてからログアウトするまでの全ての情報に基づいて平均値などを算出するよう構成しても構わないし、ピーク時間帯内の情報のみを抽出するなどネットワーク負荷実績管理テーブル２１２に含まれる情報の一部を抽出して平均値などを算出するよう構成しても構わない。また、ネットワーク負荷実績管理テーブル２１２は、例えば、予め定められた時間帯ごとの平均値などを算出し、時間帯ごとの負荷ランクを算出するよう構成しても構わない。また、ネットワーク負荷ランク算出手段２２２は、算出した平均値などをそのまま負荷ランクにするなど、例示した以外の方法により負荷ランクを算出するよう構成しても構わない。
【００３６】
また、ネットワーク負荷ランク算出手段２２２は、任意のタイミングで負荷ランクを算出するよう構成して構わない。例えば、ネットワーク負荷ランク算出手段２２２は、予め定められた期間ごとに定期的に負荷ランクを算出するよう構成することが出来る。
【００３７】
セッション振り分け手段２２３は、ネットワーク負荷状況を管理する管理手段として機能するとともに、ネットワーク負荷を考慮してセッションの振り分けを行う。例えば、セッション振り分け手段２２３は、ネットワーク負荷ランク算出手段２２２が算出した負荷ランクを用いて管理するネットワーク負荷を考慮してセッションの振り分けを行う。
【００３８】
例えば、クライアントマシン１００から接続要求を受信すると、セッション振り分け手段２２３は、セッション情報管理テーブル２１３を参照する。そして、セッション振り分け手段２２３は、セッション情報管理テーブル２１３に基づいて、割り当て負荷量が最も少ない仮想デスクトップマシン格納用サーバ３００上の仮想デスクトップマシン３２０へセッションを割り当てることを決定する。これにより、クライアントマシン１００と、セッション振り分け手段２２３が決定した仮想デスクトップマシン格納用サーバ３００上の仮想デスクトップマシン３２０との間でセッションが確立する。
【００３９】
また、セッション振り分け手段２２３は、クライアント情報管理テーブル２１１を参照して、接続要求送信元のクライアントマシン１００（ユーザ×デバイス）に対応する負荷ランクを取得する。そして、セッション振り分け手段２２３は、セッション情報管理テーブル２１３にて、割り当てを決定した仮想デスクトップマシン格納用サーバ３００に対応する割り当て負荷量に取得した負荷ランクを加算する。例えば、このように、セッション振り分け手段２２３は、クライアントマシン１００（ユーザ×デバイス）に対応する負荷ランクに応じた値を加算することで、仮想デスクトップマシン格納用サーバ３００の負荷を管理する。
【００４０】
また、クライアントマシン１００と仮想デスクトップマシン３２０との間のセッション断後、セッション振り分け手段２２３は、ユーザ×デバイスに対応する負荷ランクを、セッション情報管理テーブル２１３にて割り当てた仮想デスクトップマシン格納用サーバ３００の割り当て負荷量から減算する。例えば、このように、セッション振り分け手段２２３は、セッションの切断に応じて加算した値を減算することで、セッションの状態に応じた管理を行う。
【００４１】
なお、新たなユーザ×デバイスの組み合わせで接続要求があった場合などにおいて、クライアント情報管理テーブル２１１に対応する負荷ランクが格納されていない場合がある。この場合、セッション振り分け手段２２３は、任意の値を仮想デスクトップマシン格納用サーバ３００に対応する割り当て負荷量に加算するよう構成して構わない。例えば、セッション振り分け手段２２３は、中間の負荷ランクの値を加算するよう構成することが出来る。または、セッション振り分け手段２２３は、同一のユーザでデバイスが異なる場合の負荷ランクや同一のデバイスでユーザが異なる場合の負荷ランクに基づいて（例えば、負荷ランクの平均値など）、加算処理を行うよう構成しても構わない。または、セッション振り分け手段２２３は、その他予め与えられた値などを加算するよう構成しても構わない。
【００４２】
また、セッション振り分け手段２２３は、セッション情報管理テーブル２１３が示す情報とその他の情報とを組み合わせて、割り当てる仮想デスクトップマシン格納用サーバ３００を決定するよう構成しても構わない。例えば、セッション振り分け手段２２３は、仮想デスクトップマシン格納用サーバ３００のＣＰＵの負荷を示す情報などその他負荷を情報と組み合わせて、割り当てる仮想デスクトップマシン格納用サーバ３００を決定するよう構成しても構わない。
【００４３】
また、セッション振り分け手段２２３は、負荷ランクそのものを加算するのではなく、負荷ランクの半分の値を加算するなど、負荷ランクに応じた値を加算するよう構成しても構わない。また、セッション振り分け手段２２３は、加算以外の方法により、負荷ランクに応じた負荷の状況を管理するよう構成しても構わない。
【００４４】
仮想デスクトップマシン格納用サーバ３００上には、ハイパーバイザー３１０を基盤として、複数の仮想デスクトップマシン３２０が構築される。本実施形態においては、仮想デスクトップマシン格納用サーバ３００上に構築する仮想デスクトップマシン３２０の構築方法については特に限定しない。例えば、仮想デスクトップマシン３２０は、仮想デスクトップマシン格納用サーバ３００上で動作するホストＯＳ上に構築されても構わない。
【００４５】
以上が、システムの構成の一例である。続いて、図７から図９までを参照して、管理サーバ２００の動作の一例について説明する。
【００４６】
まず、図７を参照して、ネットワーク使用量収集手段２２１がネットワーク使用量を収集する際の動作の一例について説明する。なお、ネットワーク使用量収集手段２２１は、下記の動作をユーザ×デバイスのセッション単位で実施する。
【００４７】
図７を参照すると、ネットワーク使用量収集手段２２１は、クライアントマシン１００と仮想デスクトップマシン３２０の間のネットワーク使用量を収集する（ステップＳ１０１）。
【００４８】
ネットワーク使用量収集手段２２１は、収集したデータをユーザ×デバイスと収集日時、ネットワーク使用量で関連付けして、ネットワーク負荷実績管理テーブル２１２に格納する（ステップＳ１０２）。
【００４９】
所定時間の経過後、ステップＳ１０１の処理に戻る（ステップＳ１０３）。このように、ネットワーク使用量収集手段２２１は、上記の処理を所定時間（任意の時間で構わない）ごとに繰り返し行う。
【００５０】
続いて、図８を参照して、ネットワーク負荷ランク算出手段２２２が負荷ランクを算出する際の動作の一例について説明する。なお、ネットワーク負荷ランク算出手段２２２は、下記の動作をユーザ×デバイス単位で実施する。
【００５１】
図８を参照すると、ネットワーク負荷ランク算出手段２２２は、データベース２１０のネットワーク負荷実績管理テーブル２１２から所定期間のユーザ×デバイスのネットワーク使用量を抽出する（ステップＳ２０１）。
【００５２】
ネットワーク負荷ランク算出手段２２２は、任意の評価式を用いて抽出したネットワーク使用量からユーザ×デバイスの負荷ランクを計算する（ステップＳ２０２）。例えば、ネットワーク負荷ランク算出手段２２２は、ネットワーク使用量の平均値を算出するとともに、算出した平均値の属する範囲に基づいて負荷ランクを算出する。
【００５３】
ネットワーク負荷ランク算出手段２２２は、算出した負荷ランクをユーザ×デバイスと関連付けしてデータベース２１０のクライアント情報管理テーブル２１１に格納する（ステップＳ２０３）。
【００５４】
所定時間の経過後、ステップＳ２０１の処理に戻る（ステップＳ２０４）。このように、ネットワーク負荷ランク算出手段２２２は、上記の処理を所定時間（任意の時間で構わない）ごとに繰り返し行う。
【００５５】
続いて、図９を参照して、セッション振り分け手段２２３が接続要求を受信した際の動作の一例について説明する。
【００５６】
図９を参照すると、セッション振り分け手段２２３は、クライアントマシン１００から接続要求を受信する（ステップＳ３０１）。
【００５７】
セッション振り分け手段２２３は、クライアント情報管理テーブル２１１から利用ユーザ×デバイスに対応する負荷ランクを取得する。また、セッション振り分け手段２２３は、セッション情報管理テーブル２１３から仮想デスクトップマシン格納用サーバ３００の割り当て負荷量を示す情報を取得する（ステップＳ３０２）。
【００５８】
セッション振り分け手段２２３は、最も割り当て負荷量が少ない仮想デスクトップマシン格納用サーバ３００上の仮想デスクトップマシン３２０へセッションを割り当てる（ステップＳ３０３）。
【００５９】
セッション振り分け手段２２３は、ユーザ×デバイスに対応する負荷ランクを、セッション情報管理テーブル２１３にて割り当てた仮想デスクトップマシン格納用サーバ３００の割り当て負荷量に加算する（ステップＳ３０４）。
【００６０】
その後、クライアントマシン１００と仮想デスクトップマシン３２０との間のセッションが切断される。セッション切断後、セッション振り分け手段２２３は、ユーザ×デバイスに対応する負荷ランクを、セッション情報管理テーブル２１３にて割り当てた仮想デスクトップマシン格納用サーバ３００の割り当て負荷量から減算する（ステップＳ３０５）。
【００６１】
このように、セッションブローカー２２０は、ネットワーク使用量収集手段２２１とネットワーク負荷ランク算出手段２２２とセッション振り分け手段２２３とを有している。また、ネットワーク使用量収集手段２２１は、ユーザ×デバイスのセッション単位でネットワーク使用量を収集するよう構成されている。このような構成により、ネットワーク負荷ランク算出手段２２２は、ネットワーク使用量収集手段２２１が収集したユーザ×デバイス単位で負荷ランクを算出することが出来る。その結果、セッション振り分け手段２２３は、ネットワーク負荷ランク算出手段２２２が算出したユーザ×デバイス単位での負荷ランクを用いて管理するネットワーク負荷を考慮してセッションの振り分けを行うことが出来る。これにより、ユーザとデバイスの組み合わせの違いを考慮したセッション振り分けを行うことが可能となり、利用形態に応じた適切な負荷分散を行うことが可能となる。
【００６２】
ここで、本実施形態で説明したシステムの他の構成例について説明する。図１０は、仮想デスクトップマシン格納用サーバ３００がサーバごとに異なるネットワーク強度で構成されている場合の例を示している。図１０を参照すると、上記のような構成の場合、システムは、図１を参照して説明した管理サーバ２００の代わりに管理サーバ４００を有している。
【００６３】
管理サーバ４００の構成は、概ね管理サーバ２００と同等の構成を有しているが、データベース２１０の代わりにデータベース４１０を有している。図１１を参照すると、データベース４１０には、例えば、クライアント情報管理テーブル２１１と、ネットワーク負荷実績管理テーブル２１２と、セッション情報管理テーブル２１３と、ネットワーク環境管理テーブル４１４と、が含まれている。
【００６４】
クライアント情報管理テーブル２１１と、ネットワーク負荷実績管理テーブル２１２と、セッション情報管理テーブル２１３と、は、既に説明したものと同一のテーブルである。ネットワーク環境管理テーブル４１４は、仮想デスクトップマシン格納用サーバ３００ごとのネットワークの強度を示すネットワーク強度を格納するテーブルである。ネットワーク強度は、ネットワークの安定性、輻輳のしやすさ、速度、などに応じて予め算出されている。ネットワーク強度の具体的な算出方法は、本実施形態においては特に限定しない。
【００６５】
図１２は、ネットワーク環境管理テーブル４１４の一例を示している。図１２を参照すると、ネットワーク環境管理テーブル４１４では、例えば、仮想デスクトップマシン格納用サーバ３００を示すサーバと、ネットワーク強度と、が対応づけられている。
【００６６】
上記のような構成により、セッション振り分け手段２２３は、セッション割り当て後に負荷ランクを割り当て負荷量に加算する際、ネットワーク環境管理テーブル４１４に格納された対応するサーバのネットワーク強度を考慮することが出来る。例えば、セッション振り分け手段２２３は、負荷ランクとともにネットワーク強度を割り当て負荷量に応じた値を加算するよう構成しても構わないし、ネットワーク強度に基づいて調整した負荷ランクを割り当て負荷量に加算するよう構成しても構わない。このように、ネットワーク環境管理テーブル４１４を有することで、セッション振り分け手段２２３は、負荷ランクとネットワーク強度とに基づいて、ネットワーク負荷を管理してネットワーク負荷を分散せることが可能となる。
【００６７】
［第２の実施形態］
次に、図１３を参照して、本発明の第２の実施形態について説明する。第２の実施形態では、セッション管理装置５０の構成について説明する。
【００６８】
セッション管理装置５０は、ユーザが操作するデバイスと、仮想マシンと、の間の接続を管理する。図１３は、セッション管理装置５０の構成の一例を示している。図１３を参照すると、セッション管理装置５０は、例えば、ネットワーク使用量収集手段５１と、管理手段５２と、を有している。
【００６９】
例えば、セッション管理装置５０は、ＣＰＵなどの演算装置と記憶装置とを有している。例えば、セッション管理装置５０は、記憶装置が記憶するプログラムを演算装置が実行することで、上述した各手段を実現する。
【００７０】
ネットワーク使用量収集手段５１は、ユーザとデバイスの組み合わせごとにネットワークの使用量を示すネットワーク使用量を収集する。つまり、ネットワーク使用量収集手段５１は、同一のユーザでも使用するデバイスが異なる場合や同一のデバイスでも使用するユーザが異なる場合をそれぞれ区別して、ネットワーク使用量を収集する。
【００７１】
管理手段５２は、ネットワーク使用量収集手段５１が収集したネットワーク使用量に基づいて、デバイスと仮想マシンとの間の接続を管理する。
【００７２】
このように、セッション管理装置５０は、ネットワーク使用量収集手段５１と管理手段５２とを有している。このような構成により、管理手段５２は、ネットワーク使用量収集手段５１がユーザとデバイスの組み合わせごとに収集したネットワーク使用量に基づいて、デバイスと仮想マシンとの間の接続を管理することが出来る。これにより、ユーザとデバイスの組み合わせの違いを考慮した接続の管理を行うことが可能となり、利用形態に応じた適切な負荷分散を行うことが可能となる。
【００７３】
また、上述したセッション管理装置５０は、当該セッション管理装置５０に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、ユーザが操作するデバイスと、仮想マシンと、の間の接続を管理するセッション管理装置５０に、ユーザとデバイスの組み合わせごとにネットワークの使用量を示すネットワーク使用量を収集するネットワーク使用量収集手段５１と、ネットワーク使用量収集手段５１が収集したネットワーク使用量に基づいて、デバイスと仮想マシンとの間の接続を管理する管理手段５２とを実現させるためのプログラムである。
【００７４】
また、上述したセッション管理装置５０により実行されるセッション管理方法は、ユーザが操作するデバイスと、仮想マシンと、の間の接続を管理するセッション管理装置が行うセッション管理方法であって、ユーザとデバイスの組み合わせごとにネットワークの使用量を示すネットワーク使用量を収集し、収集したネットワーク使用量に基づいて、デバイスと仮想マシンとの間の接続を管理する、という方法である。
【００７５】
上述した構成を有する、プログラム、又は、セッション管理方法、の発明であっても、上述したセッション管理装置５０と同様の作用・効果を有するために、上述した本発明の目的を達成することが出来る。
【００７６】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるセッション管理方法などの概略を説明する。但し、本発明は、以下の構成に限定されない。
【００７７】
（付記１）
ユーザが操作するデバイスと、仮想マシンと、の間の接続を管理するセッション管理装置が行うセッション管理方法であって、
前記ユーザと前記デバイスの組み合わせごとにネットワークの使用量を示すネットワーク使用量を収集し、
収集した前記ネットワーク使用量に基づいて、前記デバイスと前記仮想マシンとの間の接続を管理する
セッション管理方法。
（付記２）
付記１に記載のセッション管理方法であって、
前記ユーザと前記デバイスの組み合わせごとの前記ネットワーク使用量に基づいて、ネットワークの負荷を示す負荷ランクを前記ユーザと前記デバイスの組み合わせごとに算出し、
算出した前記負荷ランクに基づいて、前記デバイスと前記仮想マシンとの間の接続を管理する
セッション管理方法。
（付記３）
付記２に記載のセッション管理方法であって、
前記ネットワーク使用量に基づいて所定期間における前記ネットワーク使用量の平均値を算出し、算出した平均値に基づいて前記負荷ランクを算出する
セッション管理方法。
（付記４）
付記２または付記３に記載のセッション管理方法であって、
前記仮想マシンと接続を確立させた前記デバイスと当該デバイスを操作する前記ユーザの組み合わせに対応する前記負荷ランクに基づいて、前記仮想マシンを有するサーバの負荷を示す割り当て負荷量を算出し、
算出した前記割り当て負荷量に基づいて、前記デバイスと前記仮想マシンとの間の接続を管理する
セッション管理方法。
（付記５）
付記４に記載のセッション管理方法であって、
前記割り当て負荷量が最も少ない前記サーバ上の前記仮想マシンと前記デバイスとの間で接続を確立させる
セッション管理方法。
（付記６）
付記４または付記５に記載のセッション管理方法であって、
前記仮想マシンと前記デバイスとの間の接続を確立させた際、前記デバイスと当該デバイスを操作する前記ユーザの組み合わせに対応する前記負荷ランクを加算することで前記割り当て負荷量を算出する
セッション管理方法。
（付記７）
付記４から付記６までのいずれか１項に記載のセッション管理方法であって、
前記仮想マシンと前記デバイスとの間の接続が切断すると、前記デバイスと当該デバイスを操作する前記ユーザの組み合わせに対応する前記負荷ランクを減算することで前記割り当て負荷量を算出する
セッション管理方法。
（付記８）
ユーザが操作するデバイスと、仮想マシンと、の間の接続を管理するセッション管理装置であって、
前記ユーザと前記デバイスの組み合わせごとにネットワークの使用量を示すネットワーク使用量を収集するネットワーク使用量収集手段と、
前記ネットワーク使用量収集手段が収集した前記ネットワーク使用量に基づいて、前記デバイスと前記仮想マシンとの間の接続を管理する管理手段と、
を有する
セッション管理装置。
（付記９）
付記８に記載のセッション管理装置であって、
前記ユーザと前記デバイスの組み合わせごとの前記ネットワーク使用量に基づいて、ネットワークの負荷を示す負荷ランクを前記ユーザと前記デバイスの組み合わせごとに算出するネットワーク負荷ランク算出手段を有し、
前記管理手段は、前記ネットワーク負荷ランク算出手段が算出した前記負荷ランクに基づいて、前記デバイスと前記仮想マシンとの間の接続を管理する
セッション管理装置。
（付記１０）
ユーザが操作するデバイスと、仮想マシンと、の間の接続を管理するセッション管理装置に、
前記ユーザと前記デバイスの組み合わせごとにネットワークの使用量を示すネットワーク使用量を収集するネットワーク使用量収集手段と、
前記ネットワーク使用量収集手段が収集した前記ネットワーク使用量に基づいて、前記デバイスと前記仮想マシンとの間の接続を管理する管理手段と、
を実現させるためのプログラム。
【００７８】
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【００７９】
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。
【符号の説明】
【００８０】
１００  クライアントマシン
２００  管理サーバ
２１０  データベース
２１１  クライアント情報管理テーブル
２１２  ネットワーク負荷実績管理テーブル
２１３  セッション情報管理テーブル
２２０  セッションブローカー
２２１  ネットワーク使用量収集手段
２２２  ネットワーク負荷ランク算出手段
２２３  セッション振り分け手段
３００  仮想デスクトップマシン格納用サーバ
３１０  ハイパーバイザー
３２０  仮想デスクトップマシン
４００  管理サーバ
４１０  データベース
４１４  ネットワーク環境管理テーブル
５０  セッション管理装置
５１  ネットワーク使用量収集手段
５２  管理手段
【図１】
2020144750.tif 000003
【図２】
2020144750.tif 000004
【図３】
2020144750.tif 000005
【図４】
2020144750.tif 000006
【図５】
2020144750.tif 000007
【図６】
2020144750.tif 000008
【図７】
2020144750.tif 000009
【図８】
2020144750.tif 000010
【図９】
2020144750.tif 000011
【図１０】
2020144750.tif 000012
【図１１】
2020144750.tif 000013
【図１２】
2020144750.tif 000014
【図１３】
2020144750.tif 000015