(57)【要約】【課題】ライセンスの柔軟な使用を促進させる。【解決手段】情報処理装置１は、判定手段１ｂと検出手段１ｃとを有する。判定手段１ｂは、端末装置４ａがアクセス可能なネットワーク２ａ内のサーバのライセンスに基づいて、端末装置４ａからのサービス要求で指定されたサービスを提供できるサーバ３ａ，３ｂが、ネットワーク２ａ内にあるか否かを判定する。検出手段１ｃは、ネットワーク２ａ内にサービスを提供できるサーバがない場合、ネットワーク２ａ以外のネットワーク２ｂから、サービスを提供可能なライセンスを有するサーバ３ｃを検出する。移動手段１ｄは、検出したサーバ３ｃをネットワーク２ａに移動する。【選択図】図１
2014049057.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置が、
端末装置がアクセス可能な第１のネットワーク内のサーバのライセンスに基づいて、前記端末装置からのサービス要求で指定されたサービスを提供できるサーバが、前記第１のネットワーク内にあるか否かを判定し、
前記第１のネットワーク内に該サービスを提供できるサーバがない場合、前記第１のネットワーク以外の第２のネットワークから、該サービスを提供可能なライセンスを有するサーバを検出し、
検出したサーバを前記第１のネットワークに移動する、
サーバ管理方法。
【請求項２】
サーバの検出では、いずれのサービスも利用されておらず、前記端末装置から要求されたサービスを提供可能なライセンスを有するサーバを検出する、
ことを特徴とする請求項１記載のサーバ管理方法。
【請求項３】
サーバの検出では、サービスの提供用にコネクションが使用されていないサーバについて、いずれのサービスも利用されていないと判断する、
ことを特徴とする請求項１または２に記載のサーバ管理方法。
【請求項４】
サービスを提供できるサーバがあるか否かの判定では、サーバ単位でライセンスを管理する場合には、前記サービス要求で指定されたサービスを提供するソフトウェアが実装されており、該サービスのライセンスに定義された最大クライアント数よりも、該サービスの使用のために接続している端末装置数が少ないサーバを、前記サービス要求で指定されたサービスを提供できるサーバと判定する、
ことを特徴とする請求項１乃至３のいずれかに記載のサーバ管理方法。
【請求項５】
サービスを提供できるサーバがあるか否かの判定では、ネットワーク単位でライセンスを管理する場合には、前記第１のネットワーク内の、前記サービス要求で指定されたサービスを提供するソフトウェアが実装された１以上のサーバで、同時にサービスの提供を受けることができる最大クライアント数よりも、該１以上のサーバから該サービスの提供を受けている端末装置数が少ない場合、前記１以上のサーバのいずれかにおいて、前記サービス要求で指定されたサービスを提供できると判定する、
ことを特徴とする請求項１乃至４のいずれかに記載のサーバ管理方法。
【請求項６】
さらに、
前記第１のネットワーク内に該サービスを提供できるサーバがある場合、該サーバと前記端末装置との通信を接続し、前記第１のネットワーク内に該サービスを提供できるサーバがない場合、前記第１のネットワークに移動したサーバと、前記端末装置との通信を接続する、
ことを特徴とする請求項１乃至５のいずれかに記載のサーバ管理方法。
【請求項７】
前記端末装置との通信の接続では、前記第１のネットワーク内に該サービスを提供できるサーバが複数ある場合、該複数のサーバのうち負荷の少ないサーバと、前記端末装置との通信接続を行う、
ことを特徴とする請求項１乃至６のいずれかに記載のサーバ管理方法。
【請求項８】
前記端末装置との通信接続では、前記端末装置との間で接続されたコネクション数が少ないサーバほど、負荷が少ないと判定する、
ことを特徴とする請求項７記載のサーバ管理方法。
【請求項９】
端末装置がアクセス可能な第１のネットワーク内のサーバのライセンスに基づいて、前記端末装置からのサービス要求で指定されたサービスを提供できるサーバが、前記第１のネットワーク内にあるか否かを判定する判定手段と、
前記第１のネットワーク内に該サービスを提供できるサーバがない場合、前記第１のネットワーク以外の第２のネットワークから、該サービスを提供可能なライセンスを有するサーバを検出する検出手段と、
検出したサーバを前記第１のネットワークに移動する移動手段と、
を有する情報処理装置。
【請求項１０】
情報処理装置に、
端末装置がアクセス可能な第１のネットワーク内のサーバのライセンスに基づいて、前記端末装置からのサービス要求で指定されたサービスを提供できるサーバが、前記第１のネットワーク内にあるか否かを判定し、
前記第１のネットワーク内に該サービスを提供できるサーバがない場合、前記第１のネットワーク以外の第２のネットワークから、該サービスを提供可能なライセンスを有するサーバを検出し、
検出したサーバを前記第１のネットワークに移動する、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバのライセンスを管理するサーバ管理方法、情報処理装置、およびプログラムに関する。
【背景技術】
【０００２】
サーバには、サービスを利用するライセンスが設定される。そしてサーバは、ライセンスに定義された範囲内で、ユーザに対してそのサービスを提供する。ライセンスには、例えば同時にアクセスできるクライアント数の最大値が定義されている。
【０００３】
同時にアクセスできるクライアント数が制限される場合、サーバでは、サービスを利用しているクライアント数を管理する。そしてサーバは、同時に利用するクライアント数が、ライセンスで許容している最大クライアント数を超えない範囲で、アクセスしてきたクライアントに対してサービスの利用を許可する。
【０００４】
同時に利用しているクライアント数がライセンスで許容している最大クライアント数に達すると、以後、サーバは、端末装置からのサービスの利用要求（サービス要求）に対して、ライセンスに空きがないとしてエラーを応答する。このように端末装置からのサーバへの接続時にライセンスの空きの有無がチェックされ、ライセンスの空きがない場合はサービスの利用が拒否される。
【０００５】
なおクラウドコンピューティング環境などでは、同じサービスが複数のサーバで提供されている場合がある。同じサービスが複数のサーバで提供されているシステムでは、サーバごとにライセンスが設定される。このようなシステムにおいて、端末装置から任意のサーバにサービス要求を送信したとき、そのサーバのライセンスに空きがなければ、たとえ他のサーバのライセンスに余裕があったとしても、サービスを利用することができない。
【０００６】
そこで、例えばクライアントのアクセス要求をサーバへ振り分ける際に，各サーバに対応するライセンスとそのライセンスの使用状態をもとに、ライセンスの使用が可能なサーバを振り分け対象とする技術が提案されている。
【０００７】
なお、クラウドコンピューティングにおけるサーバは、仮想マシン（ＶＭ：Virtual Machine）上で実現することができる。ＶＭとは、ソフトウェアなどのエミュレートにより実現された仮想的なコンピュータである。例えば、１つの物理的なサーバで複数のＶＭを生成し、各ＶＭを個別のサーバとして機能させることができる。また、ＶＭは、マイグレーションと呼ばれる機能により、物理的なサーバ間を移動させることが可能である。そこで、ＶＭがそれぞれ動作するサーバを複数有するシステムにおいて、サーバへのＶＭの配置を適切に行うことにより、コスト削減を実現しつつ、ＶＭの処理性能を保障する技術も考えられている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−３９６６１号公報
【特許文献２】特開２０１１−１９８３３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、ネットワークを介してサービスを提供する場合、セキュリティなどの問題により、端末装置からアクセス可能なネットワークが制限されている場合がある。このような場合、ユーザが使用している端末装置からアクセス可能なネットワーク内のサーバで提供されているアプリケーションからしか、サービスの提供を受けることができない。そのため、ユーザが使用している端末装置からアクセス可能なサーバのライセンスに空きがなければ、システム内の他のサーバにおいてライセンスに空きがあっても、ユーザがサービスの提供を受けることができない。
【００１０】
このように、端末装置からのアクセス可能なネットワークの制限などにより、ライセンスの空きがあるサーバがシステム内に存在するにもかかわらず、ライセンスに空きがないと判断され、サービス提供が拒否される事態が発生する。
【００１１】
１つの側面では、本発明は、ライセンスの柔軟な使用を促進させるサーバ管理方法、情報処理装置、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
１つの案では、情報処理装置が、端末装置がアクセス可能な第１のネットワーク内のサーバのライセンスに基づいて、端末装置からのサービス要求で指定されたサービスを提供できるサーバが、第１のネットワーク内にあるか否かを判定し、第１のネットワーク内に該サービスを提供できるサーバがない場合、第１のネットワーク以外の第２のネットワークから、該サービスを提供可能なライセンスを有するサーバを検出し、検出したサーバを第１のネットワークに移動する、サーバ管理方法が提供される。
【発明の効果】
【００１３】
１態様によれば、ライセンスの柔軟な使用が促進される。
【図面の簡単な説明】
【００１４】
【図１】第１の実施の形態に係るシステムの一例を示す図である。
【図２】第２の実施の形態のシステム構成例を示す図である。
【図３】物理サーバのハードウェアの一構成例を示す図である。
【図４】仮想環境を含めたシステム構成の一例を示す図である。
【図５】サービス要求の振り分け機能を示すブロック図である。
【図６】資源・ネットワーク対応テーブルのデータ構造の一例を示す図である。
【図７】ユーザ・ネットワーク対応テーブルのデータ構造の一例を示す図である。
【図８】アプリケーションライセンス定義テーブルのデータ構造の一例を示す図である。
【図９】ネットワーク別ライセンス管理テーブルのデータ構造の一例を示す図である。
【図１０】サーバ別ライセンス管理テーブルのデータ構造の一例を示す図である。
【図１１】仮想サーバ単位でライセンスが管理されるアプリケーションへのサービス要求の振り分け例を示す図である。
【図１２】情報の更新状況の第１の例を示す図である。
【図１３】仮想ネットワーク単位でライセンスが管理されているアプリケーションへのサービス要求の振り分け例を示す図である。
【図１４】情報の更新状況の第２の例を示す図である。
【図１５】通信接続処理の手順の一例を示すシーケンス図である。
【図１６】接続チェック処理の手順の一例を示すフローチャートである。
【図１７】サービス要求受付処理の手順の一例を示すフローチャートである。
【図１８】サーバ接続処理の手順の一例を示すフローチャートである。
【図１９】接続先候補選定処理の手順の一例を示すフローチャートである。
【図２０】接続先選択処理の手順の一例を示すフローチャートである。
【図２１】仮想サーバ調達処理の手順の一例を示すフローチャートの前半である。
【図２２】仮想サーバ調達処理の手順の一例を示すフローチャートの後半である。
【図２３】調達候補選定処理の手順を示すフローチャートである。
【図２４】調達対象選択処理の手順の一例を示すフローチャートである。
【図２５】仮想サーバ移動処理の手順の一例を示すフローチャートである。
【図２６】アクセス制御処理の手順の一例を示すフローチャートの前半である。
【図２７】アクセス制御処理の手順の一例を示すフローチャートの後半である。
【図２８】シャットダウン処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
第１の実施の形態は、端末装置がアクセス可能なネットワーク内に、ライセンスの関係でサービスを提供できるサーバがない場合、別のネットワークから、サービスを提供可能なライセンスを有するサーバを調達するものである。
【００１６】
図１は、第１の実施の形態に係るシステムの一例を示す図である。情報処理装置１には、ネットワーク２ａ，２ｂを介して複数のサーバ３ａ，３ｂ，３ｃ，３ｄが接続されている。サーバ３ａ，３ｂ，３ｃ，３ｄは、情報処理装置１からの制御により、接続されるネットワークを変更可能である。例えばサーバ３ａ，３ｂ，３ｃ，３ｄが仮想マシン上で動作している場合、マイグレーション機能を利用して、仮想マシンごとサーバを移動させることができる。
【００１７】
また情報処理装置１には、端末装置４ａ，４ｂが接続されている。なお、端末装置４ａ，４ｂは、例えば一部のネットワークにのみアクセスできるように、アクセス制限が課されている。図１の例では、端末装置４ａは、ネットワーク２ａにのみアクセスできるものとする。
【００１８】
情報処理装置１は、端末装置４ａ，４ｂからのサービス要求の受け付け、そのサービス要求で指定されたサービスを提供するサーバと端末装置４ａ，４ｂとの通信接続を行う。そのために、情報処理装置１は、記憶手段１ａ、判定手段１ｂ、検出手段１ｃ、移動手段１ｄ、および接続手段１ｅを有している。
【００１９】
記憶手段１ａは、サーバ３ａ，３ｂ，３ｃ，３ｄのライセンスの使用状態に関する情報を記憶する。例えば記憶手段１ａには、サーバの識別情報に対応付けて、サーバが属するネットワークの識別情報、ライセンスの使用数、ライセンスの空き数が格納されている。ライセンス使用数は、サーバに設定されたライセンスを適用してサービスの提供を受けている端末装置の数である。ライセンス空き数は、サーバに設定されたライセンスにおいて定義された使用数の最大値から、ライセンスの使用数を減算した値である。ライセンスの空き数が１以上のサーバであれば、新たな端末装置にサービスを提供することができる。
【００２０】
判定手段１ｂは、端末装置４ａがアクセス可能なネットワーク２ａ内のサーバのライセンスに基づいて、端末装置４ａからのサービス要求で指定されたサービスを提供できるサーバが、ネットワーク２ａ内にあるか否かを判定する。サービスを提供できるサーバがあるか否かについて、例えば、ライセンスの管理単位に応じた判定を行うことができる。
【００２１】
例えば判定手段１ｂは、サーバ単位でライセンスを管理する場合には、まず、サービス要求で指定されたサービスを提供するソフトウェアが実装されているサーバを検出する。次に判定手段１ｂは、検出したサーバのうち、そのサービスのライセンスに定義された最大クライアント数よりも、そのサービスの使用のために接続している端末装置数が少ないサーバを抽出する。そして、判定手段１ｂは、抽出したサーバを、サービス要求で指定されたサービスを提供できるサーバと判定する。
【００２２】
またネットワーク単位でライセンスが管理される場合もある。ネットワーク単位でライセンスが管理される場合、ネットワーク内で同時にサービスを利用できるクライアント数の最大値が決められており、サーバごとの最大クライアント数は決められていない。ネットワーク単位で管理されるライセンスは、フローティングライセンスと呼ばれる。判定手段１ｂは、ネットワーク単位でライセンスを管理する場合には、サービス要求で指定されたサービスを提供するソフトウェアが実装された、ネットワーク内の１以上のサーバを検出する。次に判定手段１ｂは、ライセンスに定義された最大クライアント数よりも、検出した１以上のサーバにおいてそのサービスの使用のために接続している端末装置数が少ないかどうかを確認する。そして判定手段１ｂは、最大クライアント数の合計よりも、接続している端末装置数の合計の方が少ない場合、検出した１以上のサーバのいずれかにおいて、サービス要求で指定されたサービスを提供できると判定する。
【００２３】
検出手段１ｃは、ネットワーク２ａ内に、サービス要求で指定されたサービスを提供できるサーバがない場合、ネットワーク２ａ以外のネットワーク２ｂから、そのサービスを提供可能なライセンスを有するサーバを検出する。例えば検出手段１ｃは、いずれのサービスも利用されておらず、端末装置４ａから要求されたサービスを提供可能なライセンスを有するサーバを検出する。また検出手段１ｃは、例えば、サービスの提供用にコネクションが使用されていないサーバについて、いずれのサービスも利用されていないと判断することができる。
【００２４】
移動手段１ｄは、検出手段１ｃが検出したサーバを、端末装置４ａがアクセス可能なネットワークに移動する。
接続手段１ｅは、端末装置４ａがサービス要求を出力した時点で、ネットワーク２ａ内に、端末装置４ａにサービスを提供できるサーバがある場合、そのサーバと端末装置４ａとの通信を接続する。また接続手段１ｅは、端末装置４ａがサービス要求を出力した時点で、ネットワーク２ａ内にサービスを提供できるサーバがない場合、ネットワーク２ｂからネットワーク２ａに移動したサーバと端末装置４ａとの通信を接続する。例えば接続手段１ｅは、サービス要求を出力した端末装置がアクセス可能なネットワーク内に、サービス要求で指定されたサービスを提供できるサーバが複数ある場合、それらのサーバのうち負荷の少ないサーバと端末装置との通信を接続する。なお接続手段１ｅは、例えば端末装置との間で接続されたコネクション数が少ないサーバほど、負荷が少ないと判定する。
【００２５】
このようなシステムにおいて、端末装置４ａからサービス要求が出力された場合の処理について説明する。なお、端末装置４ａがサービス要求を出力する以前は、サーバ３ａ，３ｂはネットワーク２ａに接続されており、サーバ３ｃ，３ｄはネットワーク２ｂに接続されているものとする。
【００２６】
端末装置４ａからサービス要求が出力されると、判定手段１ｂにより、端末装置４ａからのサービス要求で指定されたサービスを提供できるサーバが、ネットワーク２ａ内にあるか否かが判定される。例えば判定手段１ｂは、記憶手段１ａを参照し、端末装置４ａがアクセス可能なネットワーク２ａ内のサーバのライセンスに関する使用状況を把握する。図１の例では、ネットワーク２ａ（ネットワークの識別情報「＃１」）に接続されたサーバ３ａ，３ｂは、いずれもライセンスの空き数が「０」である。そのため、ネットワーク２ａ内にサービスを提供できるサーバがないと判定される。
【００２７】
ネットワーク２ａ内にサービスを提供できるサーバがない場合、検出手段１ｃにより、ネットワーク２ａ以外のネットワーク２ｂから、サービスを提供可能なライセンスを有するサーバが検出される。例えば検出手段１ｃは、記憶手段１ａを参照し、ネットワーク２ｂ（ネットワークの識別情報「＃２」）内のサーバ３ｃ，３ｄのうち、ライセンスの空き数が「１」以上であり、ライセンスの使用数が「０」のサーバを検出する。すなわち、サーバのライセンスの使用数が「０」であれば、現時点で、そのサーバからサービスの提供を受けている端末装置はない。そのため、ライセンスの使用数が「０」のサーバがネットワーク２ｂから除外されても、提供中のサービスが止まることはない。図１の例では、サーバ３ｃ（サーバの識別情報「＃３」）のライセンスの使用数が「０」、空き数が「１０」であり、このサーバ３ｃが検出される。
【００２８】
検出されたサーバ３ｃは、移動手段１ｄにより、ネットワーク２ｂからネットワーク２ａに移動される。移動手段１ｄは、例えばマイグレーションの技術により、サーバ３ｃを、ネットワーク２ｂからネットワーク２ａに移動する。その後、接続手段１ｅにより、ネットワーク２ａに移動したサーバ３ｃと、端末装置４ａとの通信が接続される。
【００２９】
このようにして、端末装置４ａがアクセス可能なネットワーク２ａ内のサーバにライセンスの空きがなくても、他のネットワーク２ｂから、ライセンスの空きがあるサーバ３ｃを調達することができる。これにより、ライセンスの柔軟な使用が促進される。その結果、端末装置４ａによるサービス要求に対して、ライセンス枯渇によりサービス提供が拒否されるような事態の発生が抑止される。
【００３０】
なお、判定手段１ｂ、検出手段１ｃ、移動手段１ｄ、および接続手段１ｅは、例えば情報処理装置１が有するプロセッサにより実現することができる。また、記憶手段１ａは、例えば情報処理装置１が有するＲＡＭ（Random Access Memory）により実現することができる。
【００３１】
また、図１に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
〔第２の実施の形態〕
次に第２の実施の形態について説明する。第２の実施の形態は、仮想マシン（ＶＭ）上で動作するサーバアプリケーションソフトウェア（以下、単にアプリケーションと呼ぶ）によってサービスを提供するシステムにおいて、アプリケーションを利用するライセンスを管理するものである。以下、アプリケーションを実行する仮想マシンを、仮想サーバと呼ぶ。
【００３２】
図２は、第２の実施の形態のシステム構成例を示す図である。管理ネットワーク４１には、複数の物理サーバ１００，２００，３００が接続されている。
物理サーバ１００は、端末装置２１，２２，・・・から物理サーバ２００，３００へのアクセスを管理するコンピュータである。例えば物理サーバ１００は、物理サーバ２００，３００内の仮想サーバが提供するサービスについてのユーザのライセンスを管理する。ライセンスは、例えばクライアントアクセスライセンス（ＣＡＬ：Client Access License）と呼ばれるライセンスである。ＣＡＬでは、仮想サーバに同時にアクセスできる端末装置（クライアント）の最大数（最大クライアント数）が定義されている。そして物理サーバ１００は、端末装置からサービスの利用要求（サービス要求）があると、そのサービスについての空きライセンスを有する仮想サーバに、サービス要求を転送する。空きライセンスを有する仮想サーバが複数ある場合、物理サーバ１００は、負荷の少ない仮想サーバに、サービスのサービス要求を送信する。仮想サーバの負荷は、例えばサービス提供のために仮想サーバに接続されたコネクション数によって判断される。なお、物理サーバ１００には、ネットワーク機器３０を介して端末装置２１，２２，・・・が接続されている。
【００３３】
ネットワーク機器３０は、端末装置２１，２２，・・・と物理サーバ１００との通信を中継する。またネットワーク機器３０は、端末装置２１，２２，・・・のセキュリティチェックを行う。例えばネットワーク機器３０は、予め定義されたセキュリティポリシーに従って、端末装置２１，２２，・・・のセキュリティパッチやアンチウイルスパターンの対応状況をチェックする。そして、ネットワーク機器３０は、セキュリティパッチやアンチウイルスパターンに関する条件を満たした端末装置からの要求であれば、その要求を物理サーバに転送する。
【００３４】
端末装置２１，２２，・・・は、ユーザが使用するコンピュータである。ユーザは、端末装置２１，２２，・・・を使用して、物理サーバ２００，３００からサービスの提供を受けることができる。
【００３５】
物理サーバ２００，３００は、仮想サーバを実現するコンピュータである。例えば物理サーバ２００，３００では、ホストＯＳ（Operating System）と呼ばれるＯＳが実行される。ホストＯＳは、仮想マシンのプログラムを実行するＯＳである。なおホストＯＳは、ハイパーバイザと呼ばれることもある。ホストＯＳ上で、仮想マシンが構築される。仮想マシンは、ソフトウェアによって仮想的に構築されたコンピュータである。ホストＯＳは、複数の仮想マシンを構築することができる。ホストＯＳ上で構築された仮想マシンは、個別のＯＳ（ゲストＯＳ）を実行する。仮想マシンで実行されたＯＳ上で、アプリケーションを実行することで、その仮想マシンが仮想サーバとして機能する。
【００３６】
なお物理サーバ２００，３００には、ローカルの端末装置を接続することができる。図２の例では、物理サーバ３００に端末装置４２が接続されている。ユーザは、端末装置４２を用いて、ネットワーク機器３０や物理サーバ１００を経由せずに、物理サーバ３００で提供されるサービスを利用することもできる。
【００３７】
図３は、物理サーバのハードウェアの一構成例を示す図である。物理サーバ１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１０９を介してＲＡＭ１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ１０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００３８】
ＲＡＭ１０２は、物理サーバ１００の主記憶装置として使用される。ＲＡＭ１０２には、プロセッサ１０１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。
【００３９】
バス１０９に接続されている周辺機器としては、ＨＤＤ（Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７およびネットワークインタフェース１０８，１０８ａがある。
【００４０】
ＨＤＤ１０３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３は、物理サーバ１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【００４１】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。モニタ１１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００４２】
入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号をプロセッサ１０１に送信する。なお、マウス１３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００４３】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク１４に記録されたデータの読み取りを行う。光ディスク１４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク１４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００４４】
機器接続インタフェース１０７は、物理サーバ１００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース１０７には、メモリ装置１５やメモリリーダライタ１６を接続することができる。メモリ装置１５は、機器接続インタフェース１０７との通信機能を実装した記録媒体である。メモリリーダライタ１６は、メモリカード１７へのデータの書き込み、またはメモリカード１７からのデータの読み出しを行う装置である。メモリカード１７は、カード型の記録媒体である。
【００４５】
ネットワークインタフェース１０８は、管理ネットワーク４１に接続されている。ネットワークインタフェース１０８は、管理ネットワーク４１を介して、他の物理サーバ２００，３００との間でデータの送受信を行う。
【００４６】
ネットワークインタフェース１０８ａは、ネットワーク機器３０に接続されている。ネットワークインタフェース１０８ａは、ネットワーク機器３０を介して、端末装置２１，２２，・・・との間でデータの送受信を行う。
【００４７】
以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお、第１の実施の形態に示した情報処理装置１も、図３に示した物理サーバ１００と同様のハードウェアにより実現することができる。
【００４８】
物理サーバ１００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。物理サーバ１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、物理サーバ１００に実行させるプログラムをＨＤＤ１０３に格納しておくことができる。プロセッサ１０１は、ＨＤＤ１０３内のプログラムの少なくとも一部をＲＡＭ１０２にロードし、プログラムを実行する。また物理サーバ１００に実行させるプログラムを、光ディスク１４、メモリ装置１５、メモリカード１７などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ１０１からの制御により、ＨＤＤ１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００４９】
このようなシステムにおいて、物理サーバ２００，３００は、内部で仮想的なコンピュータネットワークを構築する。物理サーバ１００は、物理サーバ２００，３００内に構築された仮想的なコンピュータネットワークとの間で通信を行うこととなる。
【００５０】
図４は、仮想環境を含めたシステム構成の一例を示す図である。物理サーバ２００内には、仮想ネットワーク２１０と仮想サーバ２２０，２３０，・・・とが構築されている。仮想サーバ２２０，２３０，・・・は、仮想ネットワーク２１０を介して物理サーバ１００に接続される。物理サーバ３００内には、仮想ネットワーク３１０と仮想サーバ３２０，３３０，・・・とが構築されている。仮想サーバ３２０，３３０，・・・は、仮想ネットワーク３１０を介して、物理サーバ１００や端末装置４２に接続される。第２の実施の形態では、図４に示したシステムにおける仮想サーバ２２０，２３０，３２０，３３０，・・・がサービスを提供する。
【００５１】
次に物理サーバ１００と各仮想サーバ２２０，２３０，３２０，３３０，・・・とが連携して実現する、サービス要求の仮想サーバへの振り分け機能について説明する。
図５は、サービス要求の振り分け機能を示すブロック図である。物理サーバ１００は、記憶部１１０、サービス要求受付部１２０、サーバ接続部１３０、接続先候補選定部１３１、接続先選択部１３２、仮想サーバ調達部１４０、調達候補選定部１４１、調達対象選択部１４２、および仮想サーバ管理部１５０を有する。
【００５２】
記憶部１１０は、サービス要求の振り分けに用いる情報を記憶する。例えばＲＡＭ１０２またはＨＤＤ１０３の記憶領域の一部が、記憶部１１０として使用される。記憶部１１０には、資源・ネットワーク対応テーブル１１１、ユーザ・ネットワーク対応テーブル１１２、アプリケーションライセンス定義テーブル１１３、ネットワーク別ライセンス管理テーブル１１４、およびサーバ別ライセンス管理テーブル１１５が格納されている。
【００５３】
資源・ネットワーク対応テーブル１１１には、ユーザが使用するハードウェア資源と、その資源で使用可能な仮想ネットワークとの対応関係が登録されている。ユーザ・ネットワーク対応テーブル１１２には、ユーザの識別情報（ユーザＩＤ）と、そのユーザがアクセス可能な仮想ネットワークとの対応関係が登録されている。アプリケーションライセンス定義テーブル１１３は、サービスを提供するアプリケーションを利用するライセンスの管理単位を定義する情報が登録されている。ライセンスの管理単位は、例えば仮想サーバ単位、仮想ネットワーク単位などである。ネットワーク別ライセンス管理テーブル１１４は、仮想ネットワークごとに、ライセンスの使用状況を示す情報が登録されている。サーバ別ライセンス管理テーブル１１５には、仮想サーバごとに、その仮想サーバに実装されているアプリケーションのライセンスの使用状況を示す情報が登録されている。
【００５４】
サービス要求受付部１２０は、端末装置２１，２２，・・・から、仮想サーバ２２０，２３０，３２０，３３０，・・・で提供されているサービスの利用要求（サービス要求）を受け付ける。サービス要求受付部１２０は、受け付けたサービス要求を、サーバ接続部１３０に送信する。
【００５５】
サーバ接続部１３０は、サービス要求に応じて、指定されたサービスを提供している仮想サーバに、サービス要求を出力した端末装置を接続する。なおサーバ接続部１３０は、接続先候補選定部１３１と接続先選択部１３２との連携処理により選択された仮想サーバを、サービス要求を出力した端末装置の接続先とする。またサーバ接続部１３０は、サービス要求を出力した端末装置にサービスを提供できる仮想サーバがない場合、仮想サーバ調達部１４０に、サービスを提供できる仮想サーバの調達を依頼する。ここで仮想サーバの調達とは、他の仮想ネットワークで稼働している仮想サーバから、ユーザがアクセス可能な仮想ネットワーク内に移動する仮想サーバを特定することである。仮想サーバを調達後、サーバ接続部１３０は、仮想サーバ調達部１４０が調達した仮想サーバを、サービス要求を出力した端末装置の接続先とする。
【００５６】
接続先候補選定部１３１は、サーバ接続部１３０からの要求により、サービス要求を出力した端末装置の接続先の候補とする仮想サーバを選定する。例えば接続先候補選定部１３１は、サービス要求で指定されている種別のサービスを提供しており、そのサービスを利用している端末装置の数（クライアント数）が、ライセンスの定義における最大クライアント数未満である仮想サーバを、接続先候補に選定する。
【００５７】
接続先選択部１３２は、接続先候補選定部１３１で接続先に選定された仮想サーバのうち、負荷の少ない仮想サーバを接続先に選択する。例えば接続先選択部１３２は、サービスの提供に使用されているコネクション数が少ない仮想サーバほど、負荷が少ないと判断する。接続先選択部１３２は、選択した仮想サーバを、サーバ接続部１３０に通知する。
【００５８】
仮想サーバ調達部１４０は、サービス要求で要求されているサービスを提供できる仮想サーバを調達する。例えば仮想サーバ調達部１４０は、調達候補選定部１４１と調達対象選択部１４２との連携処理により選択された仮想サーバを調達する。そして仮想サーバ調達部１４０は、調達する仮想サーバの、サービス要求を出力した端末装置のユーザが使用可能な仮想ネットワークへの移動を、仮想サーバ管理部１５０に指示する。
【００５９】
調達候補選定部１４１は、仮想サーバ調達部１４０からの要求により、調達候補とする仮想サーバを選定する。例えば調達候補選定部１４１は、サービス要求で指定されている種別のサービスを提供しており、そのサービスを利用している端末装置の数が、ライセンスの定義における最大クライアント数未満である仮想サーバを、調達候補に選定する。
【００６０】
調達対象選択部１４２は、調達候補選定部１４１で調達候補に選定された仮想サーバのうち、負荷の少ない仮想サーバを接続先に選択する。例えば調達対象選択部１４２は、使用されているコネクション数が少ない仮想サーバほど、負荷が少ないと判断する。調達対象選択部１４２は、サービス要求を出力した端末装置のユーザがアクセス可能な仮想ネットワークへの、選択した仮想サーバの移動を、仮想サーバ管理部１５０に指示する。
【００６１】
仮想サーバ管理部１５０は、仮想サーバ２２０，２３０，３２０，３３０，・・・を管理する。例えば仮想サーバ管理部１５０は、仮想サーバ２２０，２３０，３２０，３３０，・・・からライセンスの使用数などの情報を取得し、取得した情報を記憶部１１０に格納する。また仮想サーバ管理部１５０は、仮想マシンにサーバアプリケーションをデプロイする。デプロイとは、アプリケーションなどを利用可能にすることである。また仮想サーバ管理部１５０は、仮想マシンからサーバアプリケーションをアンデプロイすることもできる。アンデプロイとは、アプリケーションなどを利用できない状態にすることである。仮想サーバ管理部１５０は、デプロイとアンデプロイとの機能を用い、仮想サーバのライブマイグレーションを行うこともできる。ライブマイグレーションは、動作中の仮想マシンで実行されているアプリケーションなどのソフトウェアを、停止させずに別の仮想マシンに移動させる技術である。例えば仮想サーバ管理部１５０は、仮想サーバ調達部１４０からの指示に従って、サービス要求を出力した端末装置のユーザがアクセス可能な仮想ネットワークへ、他の仮想ネットワーク内の仮想サーバを、ライブマイグレーションにより移動させる。
【００６２】
仮想サーバ２２０は、アクセス制御部２２１とシャットダウン部２２２とを有している。アクセス制御部２２１は、例えば、仮想サーバ２２０で提供しているサービスに関するライセンスを管理する。そしてアクセス制御部２２１は、物理サーバ１００の仮想サーバ管理部１５０に、仮想サーバ２２０で提供しているサービスに関するライセンスの使用数を通知する。ライセンスの使用数とは、そのライセンスに基づいて、サービス利用のためにコネクションを接続している端末装置数である。シャットダウン部２２２は、仮想サーバ２２０のシャットダウンを行う。シャットダウンとは、システムを所定の手順に従って停止させる処理である。なおアクセス制御部２２１とシャットダウン部２２２とは、仮想サーバ管理部１５０を介して、記憶部１１０内の情報を更新することができる。
【００６３】
仮想サーバ３２０も、仮想サーバ２２０と同様に、アクセス制御部３２１とシャットダウン部３２２とを有している。アクセス制御部３２１とシャットダウン部３２２とは、それぞれ仮想サーバ２２０の同名の要素と同じ機能を有する。なお図５では省略しているが、他の仮想サーバ２３０，３３０，・・・も、仮想サーバ２２０，３２０と同様の機能を有する。
【００６４】
なお、図５に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
次に、記憶部１１０に格納されている情報について詳細に説明する。
【００６５】
図６は、資源・ネットワーク対応テーブルのデータ構造の一例を示す図である。資源・ネットワーク対応テーブル１１１には、ＭＡＣ（Media Access Control）アドレス、所属、仮想ネットワーク名の欄が設けられている。
【００６６】
ＭＡＣアドレスの欄には、端末装置２１，２２，・・・それぞれのＭＡＣアドレスが設定される。ＭＡＣアドレスとは、ネットワーク上で端末装置を一意に識別するための識別情報である。所属の欄には、組織内での、端末装置を使用しているユーザが所属する部門の名称が設定される。仮想ネットワーク名の欄には、端末装置を使用しているユーザに対してアクセスが許容される仮想ネットワークの名称が設定される。
【００６７】
端末装置からサービス要求が出力されたとき、この資源・ネットワーク対応テーブル１１１を参照することで、その端末装置からアクセス可能な仮想ネットワークを確定することができる。
【００６８】
図７は、ユーザ・ネットワーク対応テーブルのデータ構造の一例を示す図である。ユーザ・ネットワーク対応テーブル１１２には、ユーザＩＤ、パスワード、所属、および仮想ネットワーク名の欄が設けられている。
【００６９】
ユーザＩＤの欄には、サービスを利用するユーザの識別情報（ユーザＩＤ）が設定される。パスワードの欄には、ユーザのパスワードが設定される。所属の欄には、ユーザが所属する部門の名称が設定される。仮想ネットワーク名の欄には、ユーザに対してアクセスが許容される仮想ネットワークの名称が設定される。
【００７０】
このユーザ・ネットワーク対応テーブル１１２を参照して、ユーザ認証を行うことができる。またユーザ認証に成功したときに、このユーザ・ネットワーク対応テーブル１１２を参照することで、そのユーザからアクセス可能な仮想ネットワークを確定することができる。
【００７１】
図８は、アプリケーションライセンス定義テーブルのデータ構造の一例を示す図である。アプリケーションライセンス定義テーブル１１３には、番号（Ｎｏ．）、アプリケーション名、およびライセンス管理単位の欄が設けられている。
【００７２】
番号の欄には、アプリケーションの識別番号が設定される。アプリケーション名の欄には、アプリケーションの名称が設定される。ライセンス管理単位の欄には、アプリケーションのライセンスの管理単位が設定される。ライセンスの管理単位は、例えば仮想サーバまたは仮想ネットワークである。仮想サーバ単位でライセンスを管理する場合、アプリケーションのライセンスには、そのアプリケーションが実行された仮想サーバを利用してサービスを提供可能な最大クライアント数が定義される。仮想ネットワーク単位でライセンスを管理する場合、アプリケーションのライセンスには、仮想ネットワークを経由してそのアプリケーションによるサービスを同時に提供可能な最大クライアント数が定義される。例えばライセンス管理単位が仮想ネットワークの場合、ライセンス管理単位の欄に「１」が設定される。またライセンス管理単位が仮想サーバの場合、ライセンス管理単位の欄に「２」が設定される。
【００７３】
図８に示すように、第２の実施の形態では、ＲＤＢ（Relational DataBase）のアプリケーションについては、仮想ネットワーク単位でライセンスが管理される。また業務やニュース配信のアプリケーションについては、仮想サーバ単位でライセンスが管理される。
【００７４】
図９は、ネットワーク別ライセンス管理テーブルのデータ構造の一例を示す図である。ネットワーク別ライセンス管理テーブル１１４では、行方向のラベルとして、仮想ネットワーク名が設定され、列方向のラベルとして、アプリケーション名と使用状況とが設定されている。使用状況には、使用数、空き数、および合計の項目がある。使用数は、アプリケーションからサービスの提供を受けている端末装置の数である。空き数は、アプリケーションのライセンスに定義された最大クライアント数から、使用数を減算した値である。合計は、使用数と空き数との合計である。合計は、ライセンスに定義された最大クライアント数と同じ値となる。ネットワーク別ライセンス管理テーブル１１４の、行と列との交差するフィールドに、行に対応する仮想ネットワークにおける、列に対応するアプリケーションの使用状況を示す値が設定される。
【００７５】
なおサーバ単位でライセンスが管理される場合、各仮想ネットワークのライセンスの合計は、その仮想ネットワークに属する仮想サーバそれぞれのライセンスに定義された最大クライアント数の合計である。またネットワーク単位でライセンスが管理される場合、アプリケーションのライセンスには、仮想ネットワークに属する仮想サーバで同時にサービスの提供を受けることができる端末装置の最大数（最大クライアント数）が定義されている。この最大クライアント数が、仮想ネットワークの該当アプリケーションのライセンスの合計である。
【００７６】
図１０は、サーバ別ライセンス管理テーブルのデータ構造の一例を示す図である。サーバ別ライセンス管理テーブル１１５には、ＩＤ、仮想ネットワーク名、実装アプリケーション名、およびライセンスの欄が設けられている。
【００７７】
ＩＤの欄には、仮想サーバを実現している仮想マシンの識別子（ＩＤ）が設定される。仮想ネットワーク名の欄には、仮想サーバが接続されている仮想ネットワークの名称が設定される。実装アプリケーションの欄には、仮想サーバに実装されているアプリケーションの名称が設定される。ライセンスの欄には、アプリケーションに設定されたライセンスの使用状況が設定される。ライセンスの使用状況には、使用数、空き数、合計が含まれる。
【００７８】
図１０に示すように、１つの仮想サーバには、１または複数のアプリケーションが実装される。例えばＩＤ「ＶＭ−０００４」、「ＶＭ−０００６」の仮想マシンで実現された仮想サーバには、「ＲＤＢ」と「ニュース配信」のアプリケーションが実装されている。
【００７９】
なお、「ＲＤＢ」アプリケーションのようにネットワーク単位で管理されるアプリケーションについては、仮想サーバ単位では使用数が管理されていればよい。換言すると、ネットワーク単位で管理されるアプリケーションについては、仮想サーバごとの空き数や合計を管理しなくてもよい。
【００８０】
以上のような構成のシステムにより、端末装置からのサービス要求が出力されると、ライセンスの空き状況やコネクションの使用状況に応じてサービスを提供する仮想サーバが決定される。そして、決定された仮想サーバと端末装置とのコネクションが確立される。
【００８１】
図１１は、仮想サーバ単位でライセンスが管理されるアプリケーションへのサービス要求の振り分け例を示す図である。ユーザは、端末装置２１を用いて、利用するサービスを提供しているアプリケーションを選択する（ステップＳ１１）。例えば、ユーザが端末装置２１を操作し、物理サーバ１００にアクセスすると、物理サーバ１００は端末装置２１に画面情報を送信し、メニュー４３を表示させる。メニュー４３には、システム内のいずれかの仮想サーバに実装されているアプリケーションのリストが表示されている。ユーザは、端末装置２１を操作し、メニュー４３内のアプリケーションの１つを選択する。すると、端末装置２１から物理サーバ１００に、選択されたアプリケーションを使用するためのサービス要求が送信される。
【００８２】
サービス要求を受信した物理サーバ１００は、端末装置２１がアクセス可能な仮想ネットワークで実行されている仮想サーバの中から、サービス要求で指定されたアプリケーションを実行している仮想サーバを抽出する（ステップＳ１２）。例えば、端末装置２１は、「業務ネットワークＡ」という名称の仮想ネットワーク３１０にアクセス可能であるものとする。そしてユーザによって「業務」アプリケーションが選択された場合、「業務」アプリケーションを実装している仮想サーバ３２０，３３０，３４０が抽出される。
【００８３】
アプリケーションライセンス定義テーブル１１３（図８参照）によれば、「業務」アプリケーションは、仮想サーバ単位でライセンスが管理される。そこで物理サーバ１００は、サーバ別ライセンス管理テーブル１１５を参照し、抽出した仮想サーバ３２０，３３０，３４０の中から、ライセンスの空きがある仮想サーバを、選択候補として選定する（ステップＳ１３）。例えば図１１の例では、仮想サーバ３２０の「業務」アプリケーションのライセンスの空き数は「５０」である。また仮想サーバ３３０の「業務」アプリケーションのライセンスの空き数は「１００」である。仮想サーバ３４０の「業務」アプリケーションのライセンスの空き数は「０」である。すると仮想サーバ３２０，３３０においてライセンスの空きがあるため、それらの仮想サーバ３２０，３３０が選択候補として選定される。
【００８４】
次に物理サーバ１００は、選択候補の仮想サーバ３２０，３３０の中で、コネクション数が最小の仮想サーバを選択する（ステップＳ１４）。図１１の例では、仮想サーバ３２０のコネクション数は「０」、仮想サーバ３３０のコネクション数は「２０」である。従って、コネクション数が少ない方の仮想サーバ３２０が選択される。
【００８５】
そして端末装置２１は、仮想サーバ３２０との間でコネクションが接続される。その後、端末装置２１から仮想サーバ３２０に対し、サービス利用のためのログインアクセスが行われる（ステップＳ１５）。ログインアクセスでは、例えばアプリケーション利用のための認証情報（例えばユーザＩＤとパスワード）などが、端末装置２１から仮想サーバ３２０に送信される。
【００８６】
端末装置２１と仮想サーバ３２０との間のコネクションが接続されると、記憶部１１０内の情報が更新される。
図１２は、情報の更新状況の第１の例を示す図である。端末装置２１と仮想サーバ３２０とのコネクションが接続され、端末装置２１が仮想サーバ３２０の「業務」アプリケーションのサービスの利用を開始すると、アクセス制御部３２１は、「業務」アプリケーションのライセンスの使用状況を更新する。例えばアクセス制御部３２１は、「業務」アプリケーションのライセンスの使用数を１だけカウントアップし、空き数を１だけカウントダウンする。アクセス制御部３２１は、更新後の使用状況を物理サーバ１００に送信する。
【００８７】
物理サーバ１００では、仮想サーバ管理部１５０が、更新された使用状況を受信し、ネットワーク別ライセンス管理テーブル１１４とサーバ別ライセンス管理テーブル１１５とを更新する。例えば仮想サーバ管理部１５０は、ネットワーク別ライセンス管理テーブル１１４の仮想サーバ３２０が属する仮想ネットワークにおける「業務」アプリケーションのライセンスの使用数を１だけカウントアップし、空き数を１だけカウントダウンする。また仮想サーバ管理部１５０は、サーバ別ライセンス管理テーブル１１５の仮想サーバ３２０における「業務」アプリケーションのライセンスの使用数を１だけカウントアップし、空き数を１だけカウントダウンする。
【００８８】
このようにして、端末装置がサービスの利用を開始するごとに、記憶部１１０内の情報が更新される。
次に仮想ネットワーク単位でライセンスが管理されているアプリケーションへのサービス要求の振り分け処理について説明する。
【００８９】
図１３は、仮想ネットワーク単位でライセンスが管理されているアプリケーションへのサービス要求の振り分け例を示す図である。ユーザは、端末装置２１を用いて、利用するサービスを提供しているアプリケーションを選択する（ステップＳ２１）。すると、例えば、端末装置２１に、アプリケーションのリストを含むメニュー４３が表示される。ユーザがメニュー４３からアプリケーションを選択すると、端末装置２１から物理サーバ１００に、選択されたアプリケーションを利用するためのサービス要求が送信される。
【００９０】
サービス要求を受信した物理サーバ１００は、端末装置２１がアクセス可能な仮想ネットワークで実行されている仮想サーバの中から、サービス要求で指定されたアプリケーションを実行している仮想サーバを抽出する（ステップＳ２２）。例えば、端末装置２１は、「業務ネットワークＡ」という名称の仮想ネットワーク３１０にアクセス可能であり、ユーザによって「業務」アプリケーションが選択されたものとする。
【００９１】
ここで、仮想ネットワーク３１０内の仮想サーバにおいて、「業務」アプリケーションを実装している仮想サーバがないものとする。すると物理サーバ１００は、仮想ネットワーク３１０からの仮想サーバの抽出に失敗し、別の仮想ネットワーク２１０からの仮想サーバの抽出を試みる（ステップＳ２３）。端末装置２１がアクセスできない仮想ネットワーク２１０から仮想サーバを抽出する場合、選択されたアプリケーションを実装しており、かつアクセスしているユーザがいない仮想サーバが抽出される。例えば、コネクション数が「０」であれば、アクセスしているユーザがいないと判断できる。図１３の例では、仮想サーバ２２０が抽出されている。抽出された仮想サーバ２２０は、調達対象として扱われる。
【００９２】
物理サーバ１００は、物理サーバ３００に対して、新たな仮想サーバの作成を指示する。すると物理サーバ３００が、端末装置２１がアクセス可能な仮想ネットワーク３１０内に、新たな仮想サーバ３５０を作成する（ステップＳ２４）。なお、作成される仮想サーバ３５０には、ユーザが指定したアプリケーションが実装される。
【００９３】
次に物理サーバ１００は、物理サーバ２００に対して、調達対象の仮想サーバ２２０のメモリページを、仮想サーバ３５０に転送させる（ステップＳ２５）。転送されるメモリページには、例えば、ライセンス情報も含まれる。そして物理サーバ１００は、物理サーバ３００に対して、仮想サーバ３５０のオンライン化を指示する。すると物理サーバ３００により、仮想サーバ３５０がオンライン化される（ステップＳ２６）。物理サーバ１００は、仮想サーバ３５０のオンライン化後、物理サーバ２００に、調達対象の仮想サーバ２２０の停止を指示する。すると物理サーバ２００の制御により仮想サーバ２２０が停止する（ステップＳ２７）。
【００９４】
そして、端末装置２１と仮想サーバ３５０との間でコネクションが接続される。その後、端末装置２１から仮想サーバ３５０に対し、サービス利用のためのログインアクセスが行われる（ステップＳ２８）。ログイン後、端末装置２１が仮想サーバ３５０から「業務」アプリケーションのサービスの提供を受けることができる。
【００９５】
端末装置２１と仮想サーバ３５０との間のコネクションが接続されると、記憶部１１０内の情報が更新される。
図１４は、情報の更新状況の第２の例を示す図である。端末装置２１と仮想サーバ３５０とのコネクションが接続され、端末装置２１が仮想サーバ３５０の「業務」アプリケーションのサービスの利用を開始する。すると、仮想サーバ３５０のアクセス制御部３５１は、「業務」アプリケーションのライセンスの使用状況を更新する。そしてアクセス制御部３５１は、更新後の使用状況を物理サーバ１００に送信する。
【００９６】
物理サーバ１００では、仮想サーバ管理部１５０が、更新された使用状況を受信し、ネットワーク別ライセンス管理テーブル１１４とサーバ別ライセンス管理テーブル１１５とを更新する。
【００９７】
例えば仮想サーバ管理部１５０は、ネットワーク別ライセンス管理テーブル１１４に対して以下の操作を行う。まず仮想サーバ管理部１５０は、調達対象の仮想サーバ２２０が属する仮想ネットワークにおける「業務」アプリケーションの空き数と合計とのそれぞれから、仮想サーバ２２０に実装された「業務」アプリケーションの最大クライアント数を減算する。次に仮想サーバ管理部１５０は、仮想サーバ３５０が属する仮想ネットワークにおける「業務」アプリケーションの空き数と合計とのそれぞれに、仮想サーバ３５０に実装された「業務」アプリケーションの最大クライアント数を加算する。また仮想サーバ管理部１５０は、仮想サーバ３５０が属する仮想ネットワークにおける「業務」アプリケーションのライセンスの使用数を１だけカウントアップし、空き数を１だけカウントダウンする。
【００９８】
また仮想サーバ管理部１５０は、サーバ別ライセンス管理テーブル１１５に対して以下の操作を行う。まず仮想サーバ管理部１５０は、調達対象の仮想サーバ２２０のエントリを削除する。次に仮想サーバ管理部１５０は、仮想サーバ３５０における「業務」アプリケーションのライセンスの使用数を１だけカウントアップし、空き数を１だけカウントダウンする。
【００９９】
このようにして、端末装置がサービスの利用を開始するごとに、記憶部１１０内の情報が更新される。
次に、仮想サーバで提供されるサービスの利用手順について詳細に説明する。
【０１００】
図１５は、通信接続処理の手順の一例を示すシーケンス図である。なお、図１５には、仮想サーバ３２０に実装されているアプリケーションにより、端末装置２１にサービスを提供する場合の例が示されている。
【０１０１】
［ステップＳ３１］端末装置２１は、ユーザからの入力に応じ、管理ネットワーク４１内に配置された物理サーバ１００への接続要求を出力する。出力された接続要求は、ネットワーク機器３０で受信される。
【０１０２】
［ステップＳ１００］ネットワーク機器３０は、接続要求に応じて接続チェック処理を行う。接続チェック処理とは、セキュリティなどの観点から端末装置を接続してよいかどうかを判断する処理である。接続チェック処理で接続が許可されると、接続要求が物理サーバ１００に転送され、端末装置２１と物理サーバとの間の通信が接続される。なお、接続チェック処理の詳細は後述する（図１６参照）。
【０１０３】
［ステップＳ３２］端末装置２１は、物理サーバ１００との通信が接続されると、物理サーバ１００に、利用するアプリケーションを指定したサービス要求を送信する。
［ステップＳ２００］物理サーバ１００は、サービス要求受付処理を行う。サービス要求受付処理は、端末装置からのサービス要求を取得し、そのサービス要求に応じてサービスを提供する仮想サーバを決定し、端末装置とその仮想サーバとの通信を接続する処理である。なお、サービス要求受付処理の詳細は後述する（図１７参照）。
【０１０４】
［ステップＳ３３］端末装置２１は、仮想サーバ３２０に対してログインし、サービスを利用する。そして端末装置２１は、サービスの利用が終了すると、仮想サーバ３２０からログアウトする。
【０１０５】
［ステップＳ３２０］仮想サーバ３２０は、端末装置２１からのアクセス制御処理を行う。アクセス制御処理では、端末装置２１からのログイン・ログアウトに応じたライセンスの使用状況の更新などの処理が行われる。なお、アクセス制御処理の詳細は後述する（図２６、図２７参照）。
【０１０６】
次に、接続チェック処理の詳細について説明する。
図１６は、接続チェック処理の手順の一例を示すフローチャートである。
［ステップＳ１１１］ネットワーク機器３０は、接続要求を出力した端末装置のセキュリティチェックを行う。セキュリティチェックでは、端末装置が所定のセキュリティポリシーに合致しているか否かが判断される。セキュリティポリシーでは、例えば、ソフトウェアに最新のパッチが適用されていること、所定期間内にウィルスチェックが行われていることなどの条件が定義されている。ネットワーク機器３０は、セキュリティポリシーに定義されている条件を、端末装置が満たした場合に、その端末装置のセキュリティチェックを合格とする。なおネットワーク機器３０は、セキュリティチェックに利用する各種情報は、例えばセキュリティチェックの際に端末装置から取得する。端末装置がセキュリティチェックに合格した場合、処理がステップＳ１１２に進められる。端末装置がセキュリティチェックに不合格の場合、処理がステップＳ１１５に進められる。
【０１０７】
［ステップＳ１１２］ネットワーク機器３０は、端末装置がセキュリティチェックに合格すると、ＩＴ資源チェックを行う。ＩＴ資源チェックは、端末装置について、いずれかの仮想ネットワークに接続することが許されているか否かを判断する処理である。例えばネットワーク機器３０は、物理サーバ１００の記憶部１１０にアクセスし、資源・ネットワーク対応テーブル１１１を参照する。そしてネットワーク機器３０は、接続要求を出力した端末装置のＭＡＣアドレスが、資源・ネットワーク対応テーブル１１１に登録されているか否かを判断する。資源・ネットワーク対応テーブル１１１に端末装置のＭＡＣアドレスが登録されている場合、ネットワーク機器３０は、ＩＴ資源チェックに合格したと判定する。端末装置がＩＴ資源チェックに合格した場合、処理がステップＳ１１３に進められる。端末装置がＩＴ資源チェックに不合格となった場合、処理がステップＳ１１４に進められる。
【０１０８】
［ステップＳ１１３］ＩＴ資源チェックに合格した場合、ネットワーク機器３０は、接続要求を出力した端末装置からの接続を許可する仮想ネットワークを、ＩＴ資源情報に基づいて確定する。例えばネットワーク機器３０は、資源・ネットワーク対応テーブル１１１を参照し、端末装置のＭＡＣアドレスに対応付けられている仮想ネットワークを、その端末装置からの接続を許可する仮想ネットワークに確定する。その後、処理がステップＳ１１７に進められる。
【０１０９】
［ステップＳ１１４］ネットワーク機器３０は、端末装置を使用しているユーザのユーザ認証を行う。例えばネットワーク機器３０は、端末装置に対して、認証情報（ユーザＩＤとパスワード）の入力を促すメッセージを送信する。端末装置からネットワーク機器３０へ認証情報が送られると、ネットワーク機器３０は、物理サーバ１００の記憶部１１０内のユーザ・ネットワーク対応テーブル１１２を参照する。そして、ネットワーク機器３０は、受信した認証情報に示されるユーザＩＤとパスワードとの組が、ユーザ・ネットワーク対応テーブル１１２に登録されていれば、ユーザ認証に合格したと判定する。ユーザ認証に合格した場合、処理がステップＳ１１６に進められる。またユーザ認証に不合格となった場合、処理がステップＳ１１５に進められる。
【０１１０】
［ステップＳ１１５］端末装置がセキュリティチェックで不合格になるか、またはＩＴ資源チェックとユーザ認証との両方に不合格となった場合、ネットワーク機器３０は、端末装置の物理サーバ１００への接続を拒否する。その後、接続チェック処理が終了する。
【０１１１】
［ステップＳ１１６］ユーザ認証に合格した場合、ネットワーク機器３０は、接続要求を出力した端末装置からの接続を許可する仮想ネットワークを、ユーザＩＤに基づいて確定する。例えばネットワーク機器３０は、ユーザ・ネットワーク対応テーブル１１２を参照し、端末装置から送られたユーザＩＤに対応付けられている仮想ネットワークを、その端末装置からの接続を許可する仮想ネットワークに確定する。
【０１１２】
［ステップＳ１１７］ネットワーク機器３０は、接続要求を出力した端末装置を物理サーバ１００に接続する。この際、ネットワーク機器３０から物理サーバ１００に、接続を許可する仮想ネットワークの識別情報（例えば、仮想ネットワーク名）が通知される。
【０１１３】
このようにして、所定の条件を満たした端末装置が、物理サーバ１００にアクセスすることができる。次に、サービス要求受付処理について詳細に説明する。
図１７は、サービス要求受付処理の手順の一例を示すフローチャートである。
【０１１４】
［ステップＳ２１１］サービス要求受付部１２０は、接続チェックをパスした端末装置に対してメニュー４３を表示させる。例えばサービス要求受付部１２０は、メニュー４３の画面情報を端末装置に送信する。このとき、サービス要求受付部１２０は、メニュー入力モードとなる。
【０１１５】
［ステップＳ２１２］サービス要求受付部１２０は、メニュー入力モードの終了条件が満たされたか否かを判断する。例えばサービス要求受付部１２０は、端末装置から、メニュー４３の操作終了を示す入力情報を受信すると、終了条件が満たされたと判断する。メニュー入力モードの終了条件が満たされた場合、サービス要求受付処理が終了する。メニュー入力モードの終了条件が満たされていなければ、処理がステップＳ２１３に進められる。
【０１１６】
［ステップＳ２１３］サービス要求受付部１２０は、端末装置から任意のサービスの指定があったか否かを判断する。例えばユーザが端末装置に表示されたメニューから、利用するアプリケーションを選択すると、端末装置から物理サーバ１００に、選択されたアプリケーションの識別情報を含むサービス要求が送信される。サービス要求受付部１２０は、サービス要求を受信すると、サービス要求に示されるアプリケーションで提供されるサービスの指定があったと判断する。サービスの指定があった場合、処理がステップＳ２１４に進められる。またサービスの指定がなければ、処理がステップＳ２１２に進められる。
【０１１７】
［ステップＳ２１４］サービス要求受付部１２０は、取得したサービス要求を、サーバ接続部１３０に送信する。
［ステップＳ２１５］サーバ接続部１３０が、他の要素と連携してサーバ接続処理を行う。
【０１１８】
図１８は、サーバ接続処理の手順の一例を示すフローチャートである。
［ステップＳ２２１］サーバ接続部１３０は、接続先候補選定部１３１に、端末装置の接続先候補の選定要求を送信する。すると接続先候補選定部１３１が、接続先候補選定処理を行う。接続先候補選定処理では、端末装置にサービスを提供可能な仮想サーバがリストアップされる。なお接続先候補選定処理の詳細は後述する（図１９参照）。
【０１１９】
［ステップＳ２２２］接続先候補の選定が終了すると、接続先選択部１３２が、接続先選択処理を行う。接続先選択処理では、接続先候補の仮想サーバの中から、接続先とする仮想サーバが選択される。なお、接続先選択処理の詳細は後述する（図２０参照）。
【０１２０】
［ステップＳ２２３］サーバ接続部１３０は、接続先選択部１３２により接続先が選択されたか否かを判断する。例えばサーバ接続部１３０は、接続先を示す変数に仮想サーバの識別子が設定されていれば、接続先が選択されたと判断する。またサーバ接続部１３０は、接続先を示す変数の内容が空の場合、接続が選択されていないと判断する。接続先が選択された場合、処理がステップＳ２２７に進められる。接続先が選択されなかった場合、処理がステップＳ２２４に進められる。
【０１２１】
［ステップＳ２２４］接続先選択部１３２により接続先が選択されなかった場合、仮想サーバ調達部１４０に仮想サーバの調達を要求する。この要求に応じて、仮想サーバ調達部１４０により仮想サーバ調達処理が行われる。仮想サーバ調達処理は、サービス要求を出力した端末装置からのアクセスが許されていない仮想ネットワーク内の仮想サーバを調達し、その端末装置からアクセス可能な仮想ネットワーク内に移動する処理である。仮想サーバが調達できた場合、移動後の仮想サーバが接続先となる。なお仮想サーバ調達処理の詳細は後述する（図２１参照）。
【０１２２】
［ステップＳ２２５］サーバ接続部１３０は、仮想サーバが調達され、調達された仮想サーバが接続先として設定されたか否かを判断する。接続先が選択された場合、処理がステップＳ２２７に進められる。接続先が選択されなかった場合、処理がステップＳ２２６に進められる。
【０１２３】
［ステップＳ２２６］仮想サーバ調達処理を行っても接続先が得られなかった場合、サーバ接続部１３０は、ライセンス枯渇を示すメッセージを、サービス要求を出力した端末装置に送信する。例えば、「ご希望のサービスのライセンスがネットワーク全体で枯渇しているため、サービスを提供することができません。」というメッセージが送信される。すると送信されたメッセージが端末装置の画面に表示される。その後、サーバ接続処理が終了する。
【０１２４】
［ステップＳ２２７］接続先が得られた場合、サーバ接続部１３０は、端末装置を接続先の仮想サーバ上のアプリケーションに誘導する。例えばサーバ接続部１３０は、端末装置からのサービス要求を、接続先の仮想サーバ上の、サービス要求で指定されたアプリケーションに転送する。すると、接続先の仮想サーバと端末装置との間でコネクションが接続される。そして、端末装置から仮想サーバ上のアプリケーションに、例えばログイン処理が行われる。以後、仮想サーバのアプリケーションは、端末装置からの要求に応じてサービスを提供する。
【０１２５】
次に、接続先候補選定処理の手順について詳細に説明する。
図１９は、接続先候補選定処理の手順の一例を示すフローチャートである。
［ステップＳ２３１］接続先候補選定部１３１は、アプリケーションライセンス定義テーブル１１３を参照し、ユーザが指定したアプリケーションのライセンスの管理単位を確認する。第２の実施の形態では、アプリケーションライセンス定義テーブル１１３において、ユーザが指定したアプリケーションのライセンス管理単位の欄に「１」が設定されていれば、ライセンス管理単位は、仮想ネットワークである。またライセンス管理単位の欄に「２」が設定されていれば、ライセンス管理単位は、仮想サーバである。
【０１２６】
［ステップＳ２３２］接続先候補選定部１３１は、ライセンスの管理単位が仮想ネットワークなのか、仮想サーバなのかを判断する。仮想ネットワーク単位のライセンス管理であれば、処理がステップＳ２３３に進められる。仮想サーバ単位のライセンス管理であれば、処理がステップＳ２３７に進められる。
【０１２７】
［ステップＳ２３３］接続先候補選定部１３１は、仮想ネットワーク単位でライセンスが管理される場合、ネットワーク別ライセンス管理テーブル１１４を参照する。そして接続先候補選定部１３１は、端末装置からのアクセスが許されている仮想ネットワークにおける、ユーザが指定したアプリケーションのライセンスの使用状況に関する情報を取得する。なお、アクセスが許されている仮想ネットワークは、ネットワーク機器３０による接続チェック処理によって確定されており、ネットワーク機器３０から物理サーバ１００に通知されている。
【０１２８】
［ステップＳ２３４］接続先候補選定部１３１は、ユーザが指定したアプリケーションのライセンスに空きがあるか否かを判断する。例えば、該当アプリケーションの空き数が「０」であれば空きなし、空き数が「１」以上であれば空きありと判断される。ライセンスに空きがあれば、処理がステップＳ２３５に進められる。ライセンスに空きがなければ、接続先候補なしのまま、接続先候補選定処理が終了する。
【０１２９】
［ステップＳ２３５］接続先候補選定部１３１は、サーバ別ライセンス管理テーブル１１５を参照する。そして接続先候補選定部１３１は、アクセスが許されている仮想ネットワークに属する仮想サーバに対し、１から順番に番号を振る。この番号は、接続先候補選定処理の間だけ有効な番号である。
【０１３０】
［ステップＳ２３６］接続先候補選定部１３１は、接続先候補の配列に、アクセスが許されている仮想ネットワーク内のすべての仮想サーバのＩＤを設定する。例えば各仮想サーバのＩＤが、その仮想サーバに割り振られた番号をインデックスとする、接続先候補の配列に設定される。仮想サーバのＩＤとしては、例えば、その仮想サーバを実行している仮想マシンのＩＤが使用される。このように、仮想ネットワーク単位でライセンスが管理される場合、アクセスが許されている仮想ネットワーク内のすべての仮想サーバが、接続先候補に選定される。その後、接続先候補選定処理が終了する。
【０１３１】
［ステップＳ２３７］接続先候補選定部１３１は、仮想サーバ単位でライセンスが管理される場合、サーバ別ライセンス管理テーブル１１５を参照する。そして接続先候補選定部１３１は、端末装置からのアクセスが許されている仮想ネットワークに属し、かつユーザが指定したアプリケーションを実装する仮想サーバにおける、そのアプリケーションのライセンスの使用状況に関する情報を取得する。
【０１３２】
［ステップＳ２３８］接続先候補選定部１３１は、アクセスが許されている仮想ネットワークに属する仮想サーバの中に、ユーザが指定したアプリケーションのライセンスの空き数が１以上の仮想サーバがあるか否かを判断する。ライセンスに空きがある仮想サーバがあれば、処理がステップＳ２３９に進められる。ライセンスに空きがある仮想サーバがなければ、接続先候補なしのまま、接続先候補選定処理が終了する。
【０１３３】
［ステップＳ２３９］接続先候補選定部１３１は、サーバ別ライセンス管理テーブル１１５を参照する。そして接続先候補選定部１３１は、アクセスが許されている仮想ネットワークに属し、ユーザが指定したアプリケーションのライセンスの空き数が１以上の仮想サーバに対し、１から順番に番号を振る。この番号は、接続先候補選定処理の間だけ有効な番号である。
【０１３４】
［ステップＳ２４０］接続先候補選定部１３１は、接続先候補の配列に、アクセスが許されている仮想ネットワークに属し、ユーザが指定したアプリケーションのライセンスの空き数が１以上の仮想サーバのＩＤを設定する。例えば各仮想サーバのＩＤが、その仮想サーバに割り振られた番号をインデックスとする、接続先候補の配列に設定される。このように、仮想サーバ単位でライセンスが管理される場合、アクセスが許されている仮想ネットワーク内の、ユーザが指定したアプリケーションのライセンスの空き数が１以上の仮想サーバが、接続先候補に選定される。その後、接続先候補選定処理が終了する。
【０１３５】
接続先候補選定処理が終了すると、接続先選択部１３２により、接続先候補の中から、接続先とする１つの仮想サーバが選択される。
図２０は、接続先選択処理の手順の一例を示すフローチャートである。
【０１３６】
［ステップＳ２４１］接続先選択部１３２は、変数ｋに「１」を設定する。
［ステップＳ２４２］接続先選択部１３２は、配列でｋ番目の接続先候補がnull（空）か否かを判断する。配列でｋ番目の接続先候補が空の場合とは、接続先候補の数が「ｋ−１」個の場合である。配列でｋ番目の接続先候補が空であれば、接続先選択処理が終了する。配列でｋ番目の接続先候補が空でなければ、処理がステップＳ２４３に進められる。
【０１３７】
［ステップＳ２４３］接続先選択部１３２は、配列でｋ番目の接続先候補である仮想サーバのコネクション数を、コネクション数の配列のｋ番目に設定する。仮想サーバのコネクション数は、例えば、その仮想サーバのすべてのアプリケーションのライセンスの使用数を合計することで算出できる。
【０１３８】
［ステップＳ２４４］接続先選択部１３２は、変数ｋが「２」以上か否かを判断する。２以上であれば、処理がステップＳ２４５に進められる。２未満であれば、処理がステップＳ２４７に進められる。
【０１３９】
［ステップＳ２４５］接続先選択部１３２は、配列でｋ番目のコネクション数が、現時点で接続先に設定されている仮想サーバのコネクション数よりも少ないか否かを判断する。配列でｋ番目のコネクション数の方が少なければ、処理がステップＳ２４７に進められる。配列でｋ番目のコネクション数が、現時点で接続先に設定されている仮想サーバのコネクション数以上であれば、処理がステップＳ２４６に進められる。
【０１４０】
［ステップＳ２４６］接続先選択部１３２は、変数ｋを１だけカウントアップする。その後、処理がステップＳ２４２に進められる。
［ステップＳ２４７］接続先選択部１３２は、配列でｋ番目の接続先候補の仮想サーバを、接続先とする。その後、処理がステップＳ２４２に進められる。
【０１４１】
このようにして、接続先候補の仮想サーバのうち、コネクション数が最小の仮想サーバが、接続先として選択される。接続先候補が１つもなく、接続先を選択できなかった場合、仮想サーバ調達処理が行われる。
【０１４２】
図２１は、仮想サーバ調達処理の手順の一例を示すフローチャートの前半である。
［ステップＳ２５１］仮想サーバ調達部１４０は、端末装置からのアクセスが許される仮想ネットワーク以外の仮想ネットワーク（他の仮想ネットワーク）に番号を振る。この番号は、仮想サーバ調達処理の間だけ有効な番号である。
【０１４３】
［ステップＳ２５２］仮想サーバ調達部１４０は、変数ｍに「１」を設定する。
［ステップＳ２５３］仮想サーバ調達部１４０は、変数ｍが、他の仮想ネットワークの数よりも大きいか否かを判断する。調達先が見つけられないまま、他の仮想ネットワークのすべてについてステップＳ２５４〜Ｓ２５８の処理が終了した場合に、変数ｍが、他の仮想ネットワークの数よりも大きくなる。変数ｍが、他の仮想ネットワークの数よりも大きい場合、仮想サーバ調達処理が終了する。変数ｍが、他の仮想ネットワークの数以下であれば、処理がステップＳ２５４に進められる。
【０１４４】
［ステップＳ２５４］仮想サーバ調達部１４０は、ｍ番目の他の仮想ネットワークを選択する。
［ステップＳ２５５］調達候補選定部１４１は、選択された仮想ネットワークから、調達候補選定処理を行う。なお、調達候補選定処理の詳細は後述する（図２３参照）。
【０１４５】
［ステップＳ２５６］調達対象選択部１４２は、調達対象選択処理を行う。調達対象選択処理は、調達候補に選定された仮想サーバの中から、調達対象とする仮想サーバを選択する処理である。なお、調達対象選択処理の詳細は後述する（図２４参照）。
【０１４６】
［ステップＳ２５７］仮想サーバ調達部１４０は、調達対象の仮想サーバを設定する変数の値がnull（空）か否かを判断する。調達対象が空であれば、処理がステップＳ２５８に進められる。調達対象として仮想サーバが設定されていれば、処理がステップＳ２５９に進められる。
【０１４７】
［ステップＳ２５８］仮想サーバ調達部１４０は、変数ｍを１だけカウントアップする。その後、処理がステップＳ２５３に進められる。
［ステップＳ２５９］調達対象となる仮想サーバが設定された場合、仮想サーバ管理部１５０が、仮想サーバ移動処理を行う。仮想サーバ移動処理は、調達対象の仮想サーバを、端末装置からのアクセスが許される仮想ネットワーク上に移動する処理である。仮想サーバ移動処理の詳細は後述する（図２５参照）。
【０１４８】
［ステップＳ２６０］仮想サーバ管理部１５０は、調達対象として設定された仮想サーバの移動後のＩＤを、接続先に設定する。その後、処理がステップＳ２６１（図２２参照）に進められる。
【０１４９】
図２２は、仮想サーバ調達処理の手順の一例を示すフローチャートの後半である。
［ステップＳ２６１］仮想サーバ管理部１５０は、サーバ別ライセンス管理テーブル１１５を参照する。
【０１５０】
［ステップＳ２６２］仮想サーバ管理部１５０は、仮想サーバ移動処理によって停止された仮想サーバに実装されていたアプリケーションのうち、情報の追加・削除を行っていないアプリケーションを１つ選択する。
【０１５１】
［ステップＳ２６３］仮想サーバ管理部１５０は、停止された仮想サーバの選択されたアプリケーションに関する情報を、サーバ別ライセンス管理テーブル１１５から削除する。
【０１５２】
［ステップＳ２６４］仮想サーバ管理部１５０は、仮想サーバ移動処理により作成された仮想サーバの、ステップＳ２６２で選択したアプリケーションに関する情報を、サーバ別ライセンス管理テーブル１１５に新規追加する。
【０１５３】
［ステップＳ２６５］仮想サーバ管理部１５０は、仮想サーバ移動処理によって停止された仮想サーバに実装されていたアプリケーションのうち、情報の追加・削除を行っていないアプリケーションが残っているか否かを判断する。該当するアプリケーションがあれば、処理がステップＳ２６２に進められる。該当するアプリケーソンがなければ、処理がステップＳ２６６に進められる。
【０１５４】
［ステップＳ２６６］仮想サーバ管理部１５０は、ネットワーク別ライセンス管理テーブル１１４を参照する。
［ステップＳ２６７］仮想サーバ管理部１５０は、仮想サーバ移動処理によって停止された仮想サーバに実装されていたアプリケーションのうち、ネットワーク別ライセンス管理テーブル１１４の情報更新を行っていないアプリケーションを１つ選択する。
【０１５５】
［ステップＳ２６８］仮想サーバ管理部１５０は、調達対象の仮想サーバが移動前に属していた仮想ネットワーク（移動元の仮想ネットワーク）に対する、選択したアプリケーションのライセンスの使用状況を更新する。例えば仮想サーバ管理部１５０は、調達対象の仮想サーバにおける、選択したアプリケーションのライセンスに定義された最大クライアント数だけ、移動元の仮想ネットワークの該当アプリケーションのライセンスの空き数と合計とのそれぞれから減算する。
【０１５６】
［ステップＳ２６９］仮想サーバ管理部１５０は、調達対象の仮想サーバが移動後に属する仮想ネットワーク（移動先の仮想ネットワーク）に対する、選択したアプリケーションのライセンスの使用状況を更新する。例えば仮想サーバ管理部１５０は、調達対象の仮想サーバにおける、選択したアプリケーションのライセンスに定義された最大クライアント数だけ、移動先の仮想ネットワークの該当アプリケーションのライセンスの空き数と合計とのそれぞれに加算する。
【０１５７】
［ステップＳ２７０］仮想サーバ管理部１５０は、仮想サーバ移動処理によって停止された仮想サーバに実装されていたアプリケーションのうち、ネットワーク別ライセンス管理テーブル１１４の情報更新を行っていないアプリケーションがあるか否かを判断する。該当するアプリケーションがあれば、処理がステップＳ２６７に進められる。該当するアプリケーションがなければ、仮想サーバ調達処理が終了する。
【０１５８】
このようにして、端末装置からのアクセスが許されていない仮想ネットワーク内から仮想サーバが調達され、端末装置からのアクセスが許されている仮想ネットワークに移動される。
【０１５９】
次に、調達候補選定処理について詳細に説明する。
図２３は、調達候補選定処理の手順を示すフローチャートである。
［ステップＳ２７１］調達候補選定部１４１は、アプリケーションライセンス定義テーブル１１３を参照し、ユーザが指定したアプリケーションのライセンスの管理単位を確認する。
【０１６０】
［ステップＳ２７２］調達候補選定部１４１は、ライセンスの管理単位が仮想ネットワークなのか、仮想サーバなのかを判断する。仮想ネットワーク単位のライセンス管理であれば、処理がステップＳ２７３に進められる。仮想サーバ単位のライセンス管理であれば、処理がステップＳ２７７に進められる。
【０１６１】
［ステップＳ２７３］調達候補選定部１４１は、仮想ネットワーク単位でライセンスが管理される場合、ネットワーク別ライセンス管理テーブル１１４を参照する。そして調達候補選定部１４１は、端末装置からのアクセスが許されている仮想ネットワークにおける、ユーザが指定したアプリケーションのライセンスの使用状況に関する情報を取得する。
【０１６２】
［ステップＳ２７４］調達候補選定部１４１は、ユーザが指定したアプリケーションのライセンスに空きがあるか否かを判断する。ライセンスに空きがあれば、処理がステップＳ２７５に進められる。ライセンスに空きがなければ、調達候補なしのまま、調達候補選定処理が終了する。
【０１６３】
［ステップＳ２７５］調達候補選定部１４１は、サーバ別ライセンス管理テーブル１１５を参照する。そして調達候補選定部１４１は、アクセスが許されている仮想ネットワークに属する仮想サーバに対し、１から順番に番号を振る。この番号は、調達候補選定処理の間だけ有効な番号である。
【０１６４】
［ステップＳ２７６］調達候補選定部１４１は、調達候補の配列に、アクセスが許されている仮想ネットワーク内のすべての仮想サーバのＩＤを設定する。例えば各仮想サーバのＩＤが、その仮想サーバに割り振られた番号をインデックスとする、調達候補の配列に設定される。このように、仮想ネットワーク単位でライセンスが管理される場合、アクセスが許されている仮想ネットワーク内のすべての仮想サーバが、調達候補に選定される。その後、調達候補選定処理が終了する。
【０１６５】
［ステップＳ２７７］調達候補選定部１４１は、仮想サーバ単位でライセンスが管理される場合、サーバ別ライセンス管理テーブル１１５を参照する。そして調達候補選定部１４１は、端末装置からのアクセスが許されている仮想ネットワークに属し、かつユーザが指定したアプリケーションを実装する仮想サーバにおける、そのアプリケーションのライセンスの使用状況に関する情報を取得する。
【０１６６】
［ステップＳ２７８］調達候補選定部１４１は、アクセスが許されている仮想ネットワークに属する仮想サーバの中に、ユーザが指定したアプリケーションのライセンスの空き数が１以上の仮想サーバがあるか否かを判断する。ライセンスに空きがある仮想サーバがあれば、処理がステップＳ２７９に進められる。ライセンスに空きがある仮想サーバがなければ、調達候補なしのまま、調達候補選定処理が終了する。
【０１６７】
［ステップＳ２７９］調達候補選定部１４１は、サーバ別ライセンス管理テーブル１１５を参照する。そして調達候補選定部１４１は、アクセスが許されている仮想ネットワークに属し、ユーザが指定したアプリケーションのライセンスの空き数が１以上の仮想サーバに対し、１から順番に番号を振る。この番号は、調達候補選定処理の間だけ有効な番号である。
【０１６８】
［ステップＳ２８０］調達候補選定部１４１は、調達候補の配列に、アクセスが許されている仮想ネットワークに属し、ユーザが指定したアプリケーションのライセンスの空き数が１以上の仮想サーバのＩＤを設定する。例えば各仮想サーバのＩＤが、その仮想サーバに割り振られた番号をインデックスとする、調達候補の配列に設定される。このように、仮想サーバ単位でライセンスが管理される場合、アクセスが許されている仮想ネットワーク内の、ユーザが指定したアプリケーションのライセンスの空き数が１以上の仮想サーバが、調達候補に選定される。その後、調達候補選定処理が終了する。
【０１６９】
調達候補選定処理が終了すると、調達対象選択部１４２により、調達候補の中から、調達対象とする１つの仮想サーバが選択される。
図２４は、調達対象選択処理の手順の一例を示すフローチャートである。
【０１７０】
［ステップＳ２８１］調達対象選択部１４２は、変数ｋに「１」を設定する。
［ステップＳ２８２］調達対象選択部１４２は、配列でｋ番目の調達候補がnull（空）か否かを判断する。配列でｋ番目の調達候補が空の場合とは、調達候補の数が「ｋ−１」個の場合である。配列でｋ番目の調達候補が空であれば、調達対象選択処理が終了する。配列でｋ番目の調達候補が空でなければ、処理がステップＳ２８３に進められる。
【０１７１】
［ステップＳ２８３］調達対象選択部１４２は、配列でｋ番目の調達候補である仮想サーバのコネクション数を、コネクション数の配列のｋ番目に設定する。
［ステップＳ２８４］調達対象選択部１４２は、配列でｋ番目のコネクション数が「０」か否かを判断する。配列でｋ番目のコネクション数が「０」であれば、処理がステップＳ２８６に進められる。配列でｋ番目のコネクション数が「０」でなければ、処理がステップＳ２８５に進められる。
【０１７２】
［ステップＳ２８５］調達対象選択部１４２は、変数ｋを１だけカウントアップする。その後、処理がステップＳ２８２に進められる。
［ステップＳ２８６］調達対象選択部１４２は、配列でｋ番目の調達候補の仮想サーバを、調達対象とする。その後、調達対象選択処理が終了する。
【０１７３】
このようにして、最初にヒットした、コネクション数が「０」の仮想サーバが、調達対象として選択される。
次に、仮想サーバ移動処理について詳細に説明する。
【０１７４】
図２５は、仮想サーバ移動処理の手順の一例を示すフローチャートである。
［ステップＳ２９１］仮想サーバ管理部１５０は、移動先の仮想ネットワーク内に仮想サーバを作成する。移動先の仮想ネットワークは、サービス要求を出力した端末装置からのアクセスが許されている仮想ネットワークである。例えば仮想サーバ管理部１５０は、移動先の仮想ネットワークを実現している物理サーバのＯＳ（例えばハイパーバイザ）に対して、新たな仮想マシンの生成と、その仮想マシン上でのゲストＯＳの起動とを指示する。新たな仮想マシンで実行されたＯＳが仮想サーバとして機能する。これにより、移動先の仮想ネットワーク内に新たな仮想サーバが作成されたこととなる。さらに仮想サーバ管理部１５０は、調達対象の仮想サーバ上で実行されているアプリケーションと同じアプリケーションを、作成した仮想サーバで実行させる。
【０１７５】
［ステップＳ２９２］仮想サーバ管理部１５０は、調達対象の仮想サーバのメモリページを、ステップＳ２９１で作成した仮想サーバに転送する。このメモリページの転送により、例えばアプリケーションのライセンスに関する情報が、作成したサーバに転送される。その結果、調達対象の仮想サーバに定義されていたライセンスと同じ内容のライセンスが、作成した仮想サーバにおいて定義される。
【０１７６】
［ステップＳ２９３］仮想サーバ管理部１５０は、メモリページの転送が終了したか否かを判断する。メモリページの転送が終了した場合、処理がステップＳ２９４に進められる。メモリページの転送が終了していなければ、処理がステップＳ２９２に進められ、メモリページの転送が続行される。
【０１７７】
［ステップＳ２９４］仮想サーバ管理部１５０は、調達対象の仮想サーバによって制御されている仮想ディスクを、ステップＳ２９１で作成した仮想サーバによる制御に切り替える。例えば図２では省略しているが、管理ネットワーク４１に、物理サーバ２００，３００それぞれからアクセス可能なストレージ装置を接続できる。そのストレージ装置内には、複数の仮想ディスクを作成できる。作成された仮想ディスクは、物理サーバ２００，３００上で動作する仮想サーバが制御できる。このような場合、調達対象の仮想サーバが制御していた仮想ディスクを、新たに作成した仮想サーバが制御するようにすることで、仮想ディスクに格納されていたデータを、調達対象の仮想サーバから新たに作成した仮想サーバに受け渡すことができる。
【０１７８】
［ステップＳ２９５］仮想サーバ管理部１５０は、ステップＳ２９１で作成した仮想サーバをオンライン化する。例えば仮想サーバ管理部１５０は、作成した仮想サーバに対して、実装されているアプリケーションによるネットワークを介したサービス提供の開始を指示する。指示を受けた仮想サーバは、アプリケーションによるサービス提供を開始する。
【０１７９】
［ステップＳ２９６］仮想サーバ管理部１５０は、調達対象の仮想サーバを停止する。例えば仮想サーバ管理部１５０は、調達対象の仮想サーバに対し、シャットダウンを指示する。
【０１８０】
このようにして、仮想サーバの移動が完了する。すなわち調達対象の仮想サーバと同じライセンスが定義されたアプリケーションを実装する新たな仮想サーバが、端末装置からのアクセスが許されている仮想ネットワークに追加される。
【０１８１】
次に、アクセス制御処理について詳細に説明する。
図２６は、アクセス制御処理の手順の一例を示すフローチャートの前半である。以下、仮想サーバ３２０が実行する場合を想定して、アクセス制御処理について説明する。
【０１８２】
［ステップＳ３１１］アクセス制御部３２１は、仮想サーバ３２０が稼働しているゲストＯＳから、シャットダウンの要求が出力されたか否かを判断する。シャットダウンの要求が出力された場合、処理がステップＳ３１２に進められる。シャットダウンの要求が出力されていなければ、処理がステップＳ３１３に進められる。
【０１８３】
［ステップＳ３１２］シャットダウンの要求が出力された場合、シャットダウン部３２２がシャットダウン処理を実行する。そしてシャットダウン処理の終了後、アクセス制御処理が終了する。なお、シャットダウン処理の詳細は後述する（図２８参照）。
【０１８４】
［ステップＳ３１３］アクセス制御部３２１は、端末装置から、アプリケーションに対するログインのアクセスがあったか否かを判断する。ログインのアクセスがあった場合、処理がステップＳ３１４に進められる。ログインのアクセスがなければ、処理がステップＳ３１１に進められる。
【０１８５】
［ステップＳ３１４］アクセス制御部３２１は、物理サーバ１００内のアプリケーションライセンス定義テーブル１１３を参照し、ログイン対象のアプリケーションのライセンスの管理単位を確認する。
【０１８６】
［ステップＳ３１５］アクセス制御部３２１は、ライセンスの管理単位が仮想ネットワークなのか、仮想サーバなのかを判断する。仮想ネットワーク単位のライセンス管理であれば、処理がステップＳ３１６に進められる。仮想サーバ単位のライセンス管理であれば、処理がステップＳ３１９に進められる。
【０１８７】
［ステップＳ３１６］アクセス制御部３２１は、仮想ネットワーク単位でライセンスが管理される場合、物理サーバ１００内のネットワーク別ライセンス管理テーブル１１４を参照する。そしてアクセス制御部３２１は、仮想サーバ３２０が属する仮想ネットワークにおける、ログイン対象のアプリケーションのライセンスの使用状況に関する情報を取得する。
【０１８８】
［ステップＳ３１７］アクセス制御部３２１は、ログイン対象のアプリケーションのライセンスに空きがあるか否かを判断する。ライセンスに空きがあれば、処理がステップＳ３１８に進められる。ライセンスに空きがなければ、処理がステップＳ３３７（図２７参照）に進められる。
【０１８９】
なお、アクセス制御処理においてライセンスの空きがないと判断されるのは、例えば、図４に示す端末装置４２のように、物理サーバ１００を介さずに仮想サーバにアクセスが可能な端末装置から、ログインのアクセスがあった場合である。すなわち、物理サーバ１００を経由したログインのアクセスの場合、物理サーバ１００においてライセンスの空きがあることが確認されているため、アクセス制御処理の段階でライセンスの枯渇が発生することはない。他方、物理サーバ１００を経由せずにログインのアクセスが行われた場合、ライセンスの空きの有無が事前に確認されていないため、ログインのアクセスの際に、ライセンスの空きがないと判断される場合があり得る。
【０１９０】
［ステップＳ３１８］アクセス制御部３２１は、ライセンスの空きがあれば、端末装置からのログインを許可する。次にアクセス制御部３２１は、サーバ別ライセンス管理テーブル１１５における、仮想サーバ３２０のログインしたアプリケーションのライセンスの使用数に１を加算する。その後、処理がステップＳ３２２に進められる。
【０１９１】
［ステップＳ３１９］アクセス制御部３２１は、仮想サーバ単位でライセンスが管理される場合、サーバ別ライセンス管理テーブル１１５を参照する。そしてアクセス制御部３２１は、仮想サーバ３２０における、ログイン対象のアプリケーションのライセンスの使用状況に関する情報を取得する。
【０１９２】
［ステップＳ３２０］アクセス制御部３２１は、ログイン対象のアプリケーションのライセンスに空きがあるか否かを判断する。ライセンスに空きがあれば、処理がステップＳ３２１に進められる。ライセンスに空きがなければ、処理がステップＳ３３７（図２７参照）に進められる。
【０１９３】
［ステップＳ３２１］アクセス制御部３２１は、ライセンスの空きがあれば、端末装置からのログインを許可する。次にアクセス制御部３２１は、サーバ別ライセンス管理テーブル１１５における、仮想サーバ３２０のログインしたアプリケーションのライセンスの使用数に１を加算し、該当アプリケーションのライセンスの空き数から１を減算する。
【０１９４】
［ステップＳ３２２］アクセス制御部３２１は、ネットワーク別ライセンス管理テーブル１１４における、仮想サーバ３２０が属する仮想ネットワークの、ログインしたアプリケーションのライセンスの使用数に１を加算する。またアクセス制御部３２１は、そのアプリケーションのライセンスの空き数から１を減算する。その後、処理がステップＳ３３１（図２７参照）に進められる。
【０１９５】
図２７は、アクセス制御処理の手順の一例を示すフローチャートの後半である。
［ステップＳ３３１］アクセス制御部３２１は、端末装置から、アプリケーションに対するログオフのアクセスがあったか否かを判断する。ログオフのアクセスがあった場合、処理がステップＳ３３２に進められる。ログオフのアクセスがなければ、ステップＳ３３１の処理が繰り返される。
【０１９６】
［ステップＳ３３２］アクセス制御部３２１は、物理サーバ１００内のアプリケーションライセンス定義テーブル１１３を参照し、ログイン対象のアプリケーションのライセンスの管理単位を確認する。
【０１９７】
［ステップＳ３３３］アクセス制御部３２１は、ライセンスの管理単位が仮想ネットワークなのか、仮想サーバなのかを判断する。仮想ネットワーク単位のライセンス管理であれば、処理がステップＳ３３４に進められる。仮想サーバ単位のライセンス管理であれば、処理がステップＳ３３５に進められる。
【０１９８】
［ステップＳ３３４］アクセス制御部３２１は、仮想ネットワーク単位でライセンスが管理される場合、サーバ別ライセンス管理テーブル１１５における、仮想サーバ３２０のログインしたアプリケーションのライセンスの使用数から１を減算する。その後、処理がステップＳ３３６に進められる。
【０１９９】
［ステップＳ３３５］アクセス制御部３２１は、仮想ネットワーク単位でライセンスが管理される場合、サーバ別ライセンス管理テーブル１１５における、仮想サーバ３２０のログインしたアプリケーションのライセンスの使用数から１を減算する。またアクセス制御部３２１は、そのアプリケーションのライセンスの空き数に１を加算する。
【０２００】
［ステップＳ３３６］アクセス制御部３２１は、ネットワーク別ライセンス管理テーブル１１４における、仮想サーバ３２０が属する仮想ネットワークの、ログインしたアプリケーションのライセンスの使用数から１を減算する。またアクセス制御部３２１は、そのアプリケーションのライセンスの空き数に１を加算する。その後、アクセス制御処理が終了する。
【０２０１】
［ステップＳ３３７］アクセス制御部３２１は、ログインのアクセスを行った端末装置に対し、ライセンス枯渇を示すメッセージを送信する。例えば、「ご希望のサービスのライセンスがネットワーク全体で枯渇しているため、サービスを提供することができません。」というメッセージが送信される。すると送信されたメッセージが端末装置の画面に表示される。その後、アクセス制御処理が終了する。
【０２０２】
このようにして、端末装置からのログイン・ログオフに応じて、ライセンスの状態情報が更新される。
次に仮想サーバのシャットダウン処理について詳細に説明する。
【０２０３】
図２８は、シャットダウン処理の手順の一例を示すフローチャートである。以下、仮想サーバ３２０が実行する場合を想定して、シャットダウン処理について説明する。
［ステップＳ３４１］シャットダウン部３２２は、仮想サーバ３２０に実装されているすべてのアプリケーションに対して、１から順に番号を振る。この番号は、シャットダウン処理の間でのみ有効な番号である。
【０２０４】
［ステップＳ３４２］シャットダウン部３２２は、変数ｎに１を設定する。
［ステップＳ３４３］シャットダウン部３２２は、変数ｎが、仮想サーバ３２０に実装されているアプリケーション数よりも大きいか否かを判断する。変数ｎの方が大きければ、シャットダウン処理が終了する。変数ｎがアプリケーション数以下であれば、処理がステップＳ３４４に進められる。
【０２０５】
［ステップＳ３４４］シャットダウン部３２２は、物理サーバ１００内のアプリケーションライセンス定義テーブル１１３を参照し、ｎ番目のアプリケーションのライセンスの管理単位を確認する。
【０２０６】
［ステップＳ３４５］シャットダウン部３２２は、ライセンスの管理単位が仮想ネットワークなのか、仮想サーバなのかを判断する。仮想ネットワーク単位のライセンス管理であれば、処理がステップＳ３４６に進められる。仮想サーバ単位のライセンス管理であれば、処理がステップＳ３４７に進められる。
【０２０７】
［ステップＳ３４６］シャットダウン部３２２は、仮想ネットワーク単位でライセンスが管理される場合、サーバ別ライセンス管理テーブル１１５における、仮想サーバ３２０のｎ番目のアプリケーションのライセンスの使用数を０にリセットする。なお、リセット前のライセンスの使用数を、シャットダウン時解放ライセンス数とする。その後、処理がステップＳ３４８に進められる。
【０２０８】
［ステップＳ３４７］シャットダウン部３２２は、仮想サーバ単位でライセンスが管理される場合、サーバ別ライセンス管理テーブル１１５における、仮想サーバ３２０のｎ番目のアプリケーションのライセンスの使用数を０にリセットする。またシャットダウン部３２２は、このアプリケーションのライセンスの空き数を、初期状態（最大クライアント数）にリセットする。
【０２０９】
［ステップＳ３４８］シャットダウン部３２２は、ネットワーク別ライセンス管理テーブル１１４における、仮想サーバ３２０が属する仮想ネットワークのｎ番目のアプリケーションのライセンスの使用数から、シャットダウン時解放ライセンス数を減算する。またアクセス制御部３２１は、そのアプリケーションのライセンスの空き数から、仮想サーバ３２０におけるそのアプリケーションの最大クライアント数だけ減算する。
【０２１０】
［ステップＳ３４９］シャットダウン部３２２は、変数ｎに１を加算する。その後、処理がステップＳ３４３に進められる。
このようにして、仮想サーバがシャットダウンされる際には、ライセンスの使用状況に関する情報が更新される。
【０２１１】
以上説明したように、第２の実施の形態によれば、サーバ接続時に、ライセンスの枯渇によりソフトウェアを使用できない事態の発生が少なくなる。すなわち、第２の実施の形態によれば、サービス要求を、ライセンスに空きのあるサーバに振り分ける。そのため、端末装置がアクセス可能なネットワーク内に、ライセンスに空きのあるサーバが少なくとも１台あれば、その端末装置はサービスの提供を受けることが可能である。しかも第２の実施の形態では、端末装置からアクセス可能なネットワーク内にライセンスの空きがあるサーバがない場合、他のネットワークからサーバが調達され、調達されたサーバによってサービスが提供される。これにより、端末装置からアクセス可能なネットワーク内にライセンスの空きがあるサーバがない場合であっても、端末装置によるサービスの使用が可能となる。その結果、ライセンス枯渇によりサービスが使用できない事態の発生が抑止される。
【０２１２】
また第２の実施の形態では、ライセンスに空きのあるサーバが複数ある場合、コネクション数の少ないサーバを、端末装置の接続先にする。これにより、端末装置がコネクション数の多いサーバ（高負荷のサーバ）に接続され、サーバ間の負荷の偏りが増大することを抑止できる。
【０２１３】
さらに第２の実施の形態では、ライセンスの管理単位に応じて、ライセンスの使用状況を判断している。これにより、異なるライセンス形態（サーバ単位で発生するライセンス、ネットワーク単位で発生するライセンス）のアプリケーションを実装したサーバが混在したネットワーク環境において、統合的にライセンスを管理できる。
【０２１４】
なお、第２の実施の形態では、仮想サーバによってサービスを提供しているが、仮想サーバに代えて物理サーバを用いてもよい。サーバ調達によって物理サーバが属するネットワークを変更するには、例えば、移動先のネットワーク内にプールしておいた物理サーバを起動し、調達された物理サーバの機能を、新たに起動した物理サーバにマイグレーションする。
【０２１５】
また、第２の実施の形態では、ライセンスにおいて、サービスを同時に利用できる端末装置数に制限を設けているが、端末装置数に代えて、ユーザ数による制限を設けることもできる。その場合、ライセンスの使用状況としては、サービス利用のためにログインしたユーザ数をカウントすることとなる。
【０２１６】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０２１７】
１  情報処理装置
１ａ  記憶手段
１ｂ  判定手段
１ｃ  検出手段
１ｄ  移動手段
１ｅ  接続手段
２ａ，２ｂ  ネットワーク
３ａ，３ｂ，３ｃ，３ｄ  サーバ
４ａ，４ｂ，・・・  端末装置
【図１】
2014049057.tif 000003
【図２】
2014049057.tif 000004
【図３】
2014049057.tif 000005
【図４】
2014049057.tif 000006
【図５】
2014049057.tif 000007
【図６】
2014049057.tif 000008
【図７】
2014049057.tif 000009
【図８】
2014049057.tif 000010
【図９】
2014049057.tif 000011
【図１０】
2014049057.tif 000012
【図１１】
2014049057.tif 000013
【図１２】
2014049057.tif 000014
【図１３】
2014049057.tif 000015
【図１４】
2014049057.tif 000016
【図１５】
2014049057.tif 000017
【図１６】
2014049057.tif 000018
【図１７】
2014049057.tif 000019
【図１８】
2014049057.tif 000020
【図１９】
2014049057.tif 000021
【図２０】
2014049057.tif 000022
【図２１】
2014049057.tif 000023
【図２２】
2014049057.tif 000024
【図２３】
2014049057.tif 000025
【図２４】
2014049057.tif 000026
【図２５】
2014049057.tif 000027
【図２６】
2014049057.tif 000028
【図２７】
2014049057.tif 000029
【図２８】
2014049057.tif 000030