(57)【要約】  評価システムが、アプリケーションの特性と、ユーザによるそのアプリケーションの利用状況とに基づいて、複数種類のアプリケーション実行環境におけるそのアプリケーションの適性を評価する。評価システムは、その評価の結果を表す情報を表示する。
2011018827.tif 000002
【特許請求の範囲】
【請求項１】
クライアントが接続されているネットワークに接続された通信インタフェース装置と、
前記通信インタフェース装置に接続されたコントローラと
を有し、
前記コントローラが、
（Ａ）前記クライアントのユーザが利用するアプリケーションの特性、及び／又は、前記ユーザによる前記アプリケーションの利用状況に基づいて、複数種類のアプリケーション実行環境における前記アプリケーションの適性を評価し、
（Ｂ）前記（Ａ）での評価の結果を表す情報を表示する、
評価システム。
【請求項２】
請求項１記載の評価システムであって、
前記コントローラは、複数種類のアプリケーション実行環境における前記アプリケーションの適性の評価として、複数のアプリケーションタイプのうちの、前記アプリケーションのタイプの適性を評価し、
アプリケーションタイプとして、クライアントにイントールされて実行されるアプリケーションであることを意味する物理タイプと、ＯＳにより提供されるネイティブリソースへの、アプリケーションによるアクセスを分離したクライアント環境において、アプリケーションサーバから配信されたアプリケーションを実行するアプリケーション仮想化技術に従う仮想アプリケーションであることを意味する仮想タイプＳと、クライアントがアプリケーションをアプリケーションサーバで遠隔的に実行するアプリケーション仮想化技術に従う仮想アプリケーションであることを意味する仮想タイプＨとがあり、
前記アプリケーションのタイプが、前記物理タイプの場合、前記クライアントで前記アプリケーションが実行され、
前記アプリケーションのタイプが、前記仮想タイプＳの場合、前記クライアントがアプリケーションサーバから前記アプリケーションを受け、前記クライアントで前記アプリケーションが実行され、
前記アプリケーションのタイプが、前記仮想タイプＨの場合、前記アプリケーションが前記アプリケーションサーバで実行され、
前記クライアントが、前記アプリケーションの利用履歴を表す情報である利用履歴情報と、前記アプリケーションに関する情報であるアプリケーション情報とを管理し、
前記アプリケーションの特性として、バージョン、パッチ公開回数及びサポートＯＳがあり、
前記アプリケーションの利用状況として、前記アプリケーションの現在のタイプ、前記アプリケーションのユーザ数、及び、前記アプリケーションがどのぐらいオフラインで利用されたかを表すオフライン利用率があり、
前記コントローラが、評価ポリシーを管理し、
前記評価ポリシーは、アプリケーションタイプ毎に複数の評価観点についての式又は値を含み、
評価観点として、ユーザ利便性、セキュリティ、及びコストがあり、
前記ユーザ利便性に対応した前記式又は値は、サポートＯＳに該当するＯＳを前記クライアントが有するか否かと、前記アプリケーションのオフライン利用率との少なくとも一方に基づく式又は値であり、
前記セキュリティに対応した前記式又は値は、前記アプリケーションのパッチ公開回数と前記アプリケーションのユーザ数との少なくとも一方に基づく式又は値であり、
前記コストは、前記アプリケーションのユーザ数に基づく値であり、
前記コントローラは、前記（Ａ）において、
（ａ１）前記クライアントから、前記アプリケーション情報及び前記利用履歴情報を含んだ情報を取得し、
（ａ２）前記取得した情報から、前記アプリケーションの特性と、前記アプリケーションの利用状況とを把握し、
（ａ３）前記アプリケーションの特性及び利用状況と、前記評価ポリシーとを基に、前記アプリケーションのアプリケーションタイプ毎の適性を表す評価値を各評価観点について算出し、
（ａ４）現在のアプリケーションタイプについての評価観点毎の評価値と、一以上の別のアプリケーションタイプについての評価観点毎の評価値との差分を算出し、
前記コントローラは、前記（Ｂ）において、前記アプリケーションのアプリケーションタイプを現在のアプリケーションタイプから一以上の別のアプリケーションタイプに変更することの効果を、前記（ａ４）で算出された差分に基づいて表示する、
評価システム。
【請求項３】
請求項２記載の評価システムであって、
前記コントローラは、前記（Ａ）において、前記ユーザ利便性、前記セキュリティ及び前記コストの優先度と、前記（ａ３）で算出された評価値とに基づいて、タイプ変更候補の優先順位を算出し、前記（Ｂ）において、複数のタイプ変更候補を、タイプ変更候補の優先順位の高い順に並べて表示し、
タイプ変更候補は、アプリケーションと、そのアプリケーションの現在のアプリケーションタイプと、そのアプリケーションの変更後のアプリケーションタイプとで定義される、
評価システム。
【請求項４】
請求項３記載の評価システムであって、
前記評価ポリシーでは、
（Ｕ１）物理タイプに対応した前記ユーザ利便性の式又は値は、サポートＯＳに該当するＯＳを持つクライアントの数に基づく式又は値であり、
（Ｕ２）仮想タイプＳに対応した前記ユーザ利便性の式又は値は、サポートＯＳに該当するＯＳを持つクライアントの数に依存しない式又は値であり、
（Ｕ３）仮想タイプＨに対応した前記ユーザ利便性の式又は値は、前記アプリケーションのオフライン利用率に依存しない式又は値であり、
（Ｓ１）物理タイプに対応した前記セキュリティの式又は値は、前記アプリケーションのパッチ公開回数とユーザ数との両方に基づく式又は値であり、
（Ｓ２）仮想タイプＳに対応した前記セキュリティの式又は値は、前記アプリケーションのユーザ数に基づき、且つ、前記アプリケーションのパッチ公開回数に依存しない式又は値であり、
（Ｓ３）仮想タイプＨに対応した前記セキュリティの式又は値は、前記アプリケーションのユーザ数に基づき、且つ、前記アプリケーションのパッチ公開回数に依存しない式又は値であり、
（Ｃ１）物理タイプに対応した前記コストの式又は値は、前記アプリケーションのユーザ数に基づく式又は値であり、
（Ｃ２）仮想タイプＳに対応した前記コストの式又は値は、前記アプリケーションのユーザ数に依存しない式又は値であり、
（Ｃ３）仮想タイプＨに対応した前記コストの式又は値は、前記アプリケーションのユーザ数に依存しない式又は値であり、
前記（ａ３）で算出された評価値について、
（ｕ１）サポートＯＳに該当するＯＳを持つクライアントの数が多い場合、前記物理タイプ及び前記ユーザ利便性についての評価値は高く、サポートＯＳに該当するＯＳを持つクライアントの数が少ない場合、前記物理タイプ及び前記ユーザ利便性についての評価値は低く、
（ｓ１）前記アプリケーションのパッチ公開回数が多い場合、前記セキュリティの評価値は低く、前記アプリケーションのパッチ公開回数が少ない場合、前記セキュリティの評価値は高く、
（ｓ２）前記アプリケーションのユーザ数が多い場合、前記セキュリティ及び前記物理タイプについての評価値は低く、前記アプリケーションのユーザ数が少ない場合、前記セキュリティ及び前記物理タイプについての評価値は高く、
（ｃ１）前記アプリケーションのユーザ数が多い場合、前記コスト及び前記物理タイプについての評価値は低く、前記アプリケーションのユーザ数が少ない場合、前記コスト及び前記物理タイプについての評価値は高い、
評価システム。
【請求項５】
請求項１記載の評価システムであって、
前記コントローラが、評価ポリシーを管理しており、
前記評価ポリシーは、アプリケーション実行環境毎に用意された一以上の評価観点に従う式又は値を含んだ情報であり、
前記コントローラが、前記（Ａ）において、前記アプリケーションの特性、及び／又は、前記アプリケーションの利用状況と、評価ポリシーとに基づいて、各種アプリケーション実行環境における前記アプリケーションの適性を表す評価値を評価観点毎に算出する、
評価システム。
【請求項６】
請求項５記載の評価システムであって、
前記一以上の評価観点は、ユーザ利便性を含み、
前記ユーザ利便性について、以下の（６−１）〜（６−８）：
（６−１）アプリケーションのサポートＯＳに該当するＯＳを持つクライアントの数；
（６−２）アプリケーションのバージョンの種類の数；
（６−３）共有ライブラリの利用の有無；
（６−４）アプリケーションの導入時間；
（６−５）アプリケーションがどのぐらいオフラインで利用されたかを表すオフライン利用率；
（６−６）特定の運用期間に対する、全てのクライアントにおけるアプリケーションの利用時間の比率である利用率；
（６−６）実行環境におけるアプリケーション処理性能が、アプリケーションが要求する処理性能を満たすか否か；
（６−８）アプリケーションの同時実行性、
のうちの少なくとも一つに基づいて評価値が算出される
評価システム。
【請求項７】
請求項５記載の評価システムであって、
前記一以上の評価観点は、セキュリティを含み、
前記セキュリティについて、以下の（７−１）〜（７−４）：
（７−１）アプリケーションのパッチ公開回数；
（７−２）アプリケーションのユーザ数；
（７−３）アプリケーションのパッチ適用頻度；
（７−４）データ保存環境、
のうちの少なくとも一つに基づいて評価値が算出される
評価システム。
【請求項８】
請求項５記載の評価システムであって、
前記一以上の評価観点は、コストを含み、
前記コストについて、以下の（８−１）〜（８−６）：
（８−１）アプリケーションのユーザ数；
（８−２）アプリケーションの導入工数；
（８−３）課金方式；
（８−４）アプリケーションが利用する機能であるクラウドサービスを提供するクラウドシステムからの前記クラウドサービスが経由するネットワークのトラフィック量；
（８−５）前記クラウドシステムに保存されるデータの量；
（８−６）前記クラウドサービスの利用時間、
のうちの少なくとも一つに基づいて評価値が算出される
評価システム。
【請求項９】
請求項５記載の評価システムであって、
前記複数種類のアプリケーション実行環境は、
アプリケーションが前記クライアントにインストールされて前記クライアントで実行される環境である物理環境と、
アプリケーション仮想化技術に従うアプリケーションが実行される環境である１以上の仮想環境と、
アプリケーションが備える機能をクライアントに提供するクラウドシステムでアプリケーションが実行される環境である１以上のクラウド環境と
のうちの少なくとも二つを含む、
評価システム。
【請求項１０】
請求項５記載の評価システムであって、
前記コントローラは、前記算出された評価値に基づいて、タイプ変更候補の優先順位を算出し、前記（Ｂ）において、複数のタイプ変更候補を、タイプ変更候補の優先順位の高い順に並べて表示し、
タイプ変更候補は、アプリケーションと、そのアプリケーションの現在のアプリケーション実行環境と、そのアプリケーションの変更後のアプリケーション実行環境とで定義される、
評価システム。
【請求項１１】
請求項１記載の評価システムであって、
前記コントローラは、前記（Ａ）において、
（ａ１）前記クライアントのユーザが利用するアプリケーションの特性、及び／又は、前記ユーザによる前記アプリケーションの利用状況に基づいて、前記アプリケーションについての複数種類のアプリケーション実行環境の適性を評価し
（ａ２）前記アプリケーションについて、現在のアプリケーション実行環境ついての適性と、一以上の別のアプリケーション実行環境の適性との差分を算出し、
前記コントローラは、前記（Ｂ）において、前記アプリケーションのアプリケーション実行環境を現在のアプリケーション実行環境から一以上の別のアプリケーション実行環境に変更することの効果を、前記（ａ２）で算出された差分に基づいて表示する、
評価システム。
【請求項１２】
請求項１１記載の評価システムであって、
前記コントローラは、前記（Ａ）において、環境変更候補の優先順位を算出し、前記（Ｂ）において、複数の環境変更候補を、環境変更候補の優先順位の高い順に並べて表示し、
環境変更候補は、アプリケーションと、そのアプリケーションの現在のアプリケーション実行環境と、そのアプリケーションの変更後のアプリケーション実行環境とで定義される、
評価システム。
【請求項１３】
請求項１１評価システムであって、
前記コントローラは、前記（Ｂ）での情報の表示後に、管理者所望の環境変更候補の指定を受け付け、指定された環境変更候補に従って、前記アプリケーションの実行環境を現在の実行環境から別の実行環境に変更する、
評価システム。
【請求項１４】
請求項１記載の評価システムであって、
前記コントローラは、複数のアプリケーションのうち、実行環境におけるアプリケーションの適性の評価の必要性がないことを意味する条件に該当するアプリケーションを除くアプリケーションについて、適性の評価を行う、
評価システム。
【請求項１５】
請求項３記載の評価システムであって、
前記コントローラは、複数のアプリケーションのうち、アプリケーションのタイプの適性の評価の必要性がないことを意味する条件に該当するアプリケーションを除くアプリケーションについて、前記（ａ３）及び（ａ４）を実行する、
評価システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータを利用して評価を行う技術に関する。
【背景技術】
【０００２】
企業システムのセキュリティレベルの維持や、コンプライアンスの徹底（例えば、購入されたソフトウェアの合法的な利用の徹底）のため、企業システムの運用管理者（以下、単に「管理者」と言う）は、企業内の個人（以下、「ユーザ」と呼ぶ）が利用するクライアント端末（以下、「クライアント」と呼ぶ）にインストールされたアプリケーションを適切に管理することが求められている。このようなニーズに応える技術として、例えば、特許文献１に開示の技術が知られている。特許文献１によれば、運用管理装置が、アプリケーションに関する情報をクライアントから収集して一元管理し、セキュリティチェックやライセンスチェックなどを行う。【０００３】
一方、近年、企業システムにおけるクライアントの環境はますます多様化しており、クライアントの資産管理に必要とされるコストは増加の一途を辿っている。そのような問題を解決する技術として、サーバがアプリケーションを集中管理することによりコスト削減を実現するアプリケーション仮想化技術が注目されている。管理者は、アプリケーション仮想化技術を導入した環境（以下、「仮想環境」と呼ぶ）へアプリケーションを移行することを考える。【０００４】
「アプリケーション仮想化技術」とは、クライアント固有の環境（例えば、クライアントが有するデバイス及び／又はオペレーティングシステム（以下、「ＯＳ」と呼ぶ）など）に依存せずにアプリケーションを利用可能にする技術である。アプリケーション仮想化技術の実現方法として、下記の二つがある。【０００５】
第１の方法は、ＯＳにより提供されるネイティブリソースへの、アプリケーションによるアクセスを分離したクライアント環境において、アプリケーションサーバから配信されたアプリケーションを実行する方法である。この種の方法は、例えば特許文献２に開示されている。以後、この種の方法を、特に「ストリーミング型」と呼ぶ。【０００６】
第２の方法は、クライアントがアプリケーションをアプリケーションサーバで遠隔的に実行する方法である。この種の方法は、例えば特許文献３に開示されている。以後、この種の方法を、特に「ホスト型」と呼ぶ。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−２２２４２４号公報
【特許文献２】特表２００８−５１５１０３号公報
【特許文献３】特表２００３−５０５７８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
仮想環境への移行によるコストメリットが得られなかったり、ユーザの利便性を損なったり、さらには技術的な問題から、全てのアプリケーションが仮想環境に適しているわけではない。例えば、クライアントにアプリケーションがインストールされた環境（以下、「物理環境」と呼ぶ）の方が適している場合もある。特許文献１に示すような技術では、アプリケーションの適切な実行環境を判断することはできない。【０００９】
従って、本発明の目的は、適切なアプリケーション実行環境を選択できるようにすることにある。
【課題を解決するための手段】
【００１０】
評価システムが、アプリケーションの特性、及び／又は、ユーザによるそのアプリケーションの利用状況に基づいて、複数種類のアプリケーション実行環境における、そのアプリケーションの適性を評価する。評価システムは、その評価の結果を表す情報を表示する。【００１１】
ここで、「アプリケーション実行環境」とは、クライアントのユーザがアプリケーションを利用できるようにアプリケーションが実行される環境を言う。アプリケーション実行環境としては、例えば、物理環境、一以上の仮想環境、一以上のクラウド環境（クラウドシステムが提供するアプリケーション機能をクライアントが利用する環境）がある。一以上の仮想環境としては、例えば、ストリーミング型の仮想環境とホスト型の仮想環境とがある。アプリケーションが実際にどこで実行されるかを問わない。例えば、アプリケーション実行環境が物理環境又はストリーミング型の仮想環境の場合、アプリケーションはクライアントで実行される。また、例えば、アプリケーション実行環境がホスト型の仮想環境の場合、アプリケーションはアプリケーションサーバで実行される。また、例えば、アプリケーション実行環境がクラウド環境の場合、アプリケーションはクラウドシステムで実行される。【００１２】
また、「情報を表示する」とは、評価システムが遠隔の表示装置に情報を送信することを含んで良い。この場合、遠隔の表示装置が、評価システムから受信した情報を表示する。
【発明の効果】
【００１３】
本発明によれば、適切なアプリケーション実行環境を選択することが可能になる。
【図面の簡単な説明】
【００１４】
【図１】図１は、第１の実施形態の全体構成を示す図である。
【図２】図２は、第１の実施形態に係る管理サーバ１００の構成を表す図である。
【図３】図３は、第１の実施形態に係るアプリケーションサーバ１０１の構成を表す図である。
【図４】図４は、第１の実施形態に係るクライアント１０２の構成を表す図である。
【図５】図５は、第１の実施形態の概略を説明する図である。
【図６】図６は、第１の実施形態に係るインベントリテーブル４１８を表す図である。
【図７】図７は、第１の実施形態に係る利用履歴テーブル４１９を表す図である。
【図８】図８は、第１の実施形態に係る特性テーブル２１１を表す図である。
【図９】図９は、第１の実施形態に係る利用状況テーブル２１２を表す図である。
【図１０】図１０は、第１の実施形態に係る評価式テーブル２１４を表す図である。
【図１１】図１１は、第１の実施形態に係る正規化式テーブル２１５を表す図である。
【図１２】図１２は、第１の実施形態に係る適性評価テーブル２１６を表す図である。
【図１３】図１３は、第１の実施形態に係る効果評価テーブル２１７を表す図である。
【図１４】図１４は、第１の実施形態に係る評価観点優先度テーブル２１９を表す図である。
【図１５】図１５は、第１の実施形態に係る変更優先順位テーブル２２０を表す図である。
【図１６】図１６は、第１の実施形態に係るクライアント一覧テーブル２２１を表す図である。
【図１７】図１７は、第１の実施形態に係る収集プログラム２０７の処理手順を表す図である。
【図１８】図１８は、第１の実施形態に係る適性評価プログラム２０８の処理手順を表す図である。
【図１９】図１９は、第１の実施形態に係る効果評価プログラム２０９の処理手順を表す図である。
【図２０】図２０は、第１の実施形態に係る優先度算出部２１０の処理手順を表す図である。
【図２１】図２１は、第１の実施形態に係るデータ更新プログラム２２３の処理手順を表す図である。
【図２２】図２２は、第１の実施形態に係る優先順位一覧画面２２００を表す図である。
【図２３】図２３は、第１の実施形態に係る運用管理ポリシー設定画面２３００を表す図である。
【図２４】図２４は、第１の実施形態に係るアプリケーション情報登録画面２４００を表す図である。
【図２５】図２５は、第２の実施形態に係るアプリケーションサーバ２５０１の構成を表す図である。
【図２６】図２６は、第２の実施形態の概略を説明する図である。
【図２７】図２７は、第２の実施形態に係る利用履歴テーブル２６０１を表す図である。
【図２８】図２８は、第２の実施形態に係る利用状況テーブル２６１２を表す図である。
【図２９】図２９は、第２の実施形態に係る評価式テーブル２９１４を表す図である。
【図３０】図３０は、第２の実施形態に係る適性評価テーブル３０１６を表す図である。
【図３１】図３１は、第２の実施形態に係る効果評価テーブル３１１７を表す図である。
【図３２】図３２は、第２の実施形態に係る変更優先順位テーブル３２２０を表す図である。
【図３３】図３３は、第２の実施形態に係る収集プログラム３３０７を示す図である。
【図３４】図３４は、第３の実施形態に係る課金情報テーブル２２４を表す図である。
【図３５】図３５は、第４の実施形態の全体構成を示す図である。
【図３６】図３６は、第４の実施形態に係る利用状況テーブル３６１２を表す図である。
【図３７】図３７は、第４の実施形態に係る評価式テーブル３７１４を表す図である。
【図３８】図３８は、第５の実施形態に係る優先順位一覧画面３８００を表す図である。
【図３９】図３９は、第６の実施形態に係る閾値テーブル２２５を表す図である。
【図４０】図４０は、第６の実施形態に係る適性評価プログラム４００８の処理手順を表す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の幾つかの実施形態を説明する。
【００１６】
なお、以後の説明では、「ｘｘｘテーブル」の表現にて各種情報を説明するが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「ｘｘｘテーブル」を「ｘｘｘ情報」と呼ぶことができる。
【００１７】
また、各種情報に含まれている情報要素を説明する際に、「名」、「ＩＤ」という表現で識別情報を表すことがあるが、識別情報の種類は、どのような種類でも良いし、各種識別情報は別種の識別情報に互いに置換が可能である。
【００１８】
また、以後の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサによって実行されることで、定められた処理を、適宜に記憶資源（例えばメモリ）及び通信制御装置（例えば通信ポート）を用いながら行うため、処理の主語がプロセッサとされてもよい。また、プログラムを主語として説明された処理は、管理システムが行う処理としても良い。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。このため、プログラムを主語として説明された処理は、コントローラが行う処理としても良い。コントローラは、プロセッサと、プロセッサに実行されるコンピュータプログラムを記憶する記憶資源とを含んでも良いし、上記の専用ハードウェアを含んでも良い。また、コンピュータプログラムは、プログラムソースから各計算機にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。
【００１９】
なお、管理システムは、一以上の計算機、例えば、管理計算機、又は、管理計算機と表示用計算機との組み合わせである。具体的には、例えば、管理計算機が表示用情報を表示する場合は、管理計算機が管理システムである。また、処理の高速化や高信頼化のために、複数の計算機で管理計算機と同等の機能が実現されてもよく、この場合は、当該複数の計算機（表示を表示用計算機が行う場合は表示用計算機を含んで良い）が、管理システムである。
【実施例１】
【００２０】
本発明の第１の実施形態について説明する。【００２１】
第１の実施形態は、物理環境とストリーミング型の仮想環境とが混在するネットワークシステムに関する。このネットワークシステムは、設定情報（例えばレジストリ）及び実行ライブラリ（例えばＤＬＬ（Dynamic Link Library））を含んだ特定の情報リソースへのアプリケーションによるアクセスを分離する技術がベースとなっている。このネットワークシステムは、アプリケーションサーバを有し、そのアプリケーションサーバは、後述の仮想アプリケーションをクライアントへ配信する。【００２２】
[全体構成]。【００２３】
図１は、本実施形態の全体構成を示す図である。【００２４】
ネットワークシステム１０は、管理サーバ１００と、アプリケーションサーバ１０１と、一以上のクライアント１０２から構成されるクライアント群とを含み、それらがネットワーク１０３に接続されている。【００２５】
ネットワーク１０３は、管理サーバ１００と、アプリケーションサーバ１０１と、クライアント群とを相互に通信可能に接続する通信網である。ネットワーク１０３は、例えば、企業内におけるＬＡＮ（Local Area Network）でも良いし、ＷＡＮ（Wide Area
Network）でも良い。【００２６】
アプリケーションサーバ１０１は、一以上の計算機であり、クライアント１０２からの要求に応答してアプリケーションをそのクライアント１０２へ配信する。【００２７】
クライアント１０２は、情報処理端末（例えば、デスクトップＰＣ（Personal Computer）或いはノートＰＣ）であり、ユーザ（例えば企業の従業員）が利用する。クライアント１０２は、アプリケーションをアプリケーションサーバ１０１から受信して実行することができる。【００２８】
本実施形態では、クライアント１０２のユーザが利用するアプリケーションとして、物理アプリケーションと仮想アプリケーションがある。物理アプリケーションは、クライアント１０２にインストールされたアプリケーションであり、クライアント固有の環境（例えば、デバイス及び／又はＯＳなど）に依存する。仮想アプリケーションは、設定情報（例えばレジストリ）及び実行ライブラリ（例えばＤＬＬ（Dynamic Link Library）を含んだ特定情報リソースと実行プログラムとを含んだパッケージ（アーカイブ）であり、クライアント固有の環境に依存しない。以後、物理アプリケーションおよび仮想アプリケーションを総称して「アプリケーション」と呼ぶ。【００２９】
管理サーバ１００は、本発明の一実施形態に従う評価システムが適用された管理システムの一例である。管理サーバ１００は、ネットワークシステム１０で利用されているアプリケーションの特性やその利用状況を表す情報を収集し、その情報を一元的に管理する。詳しくは後述する。【００３０】
[管理サーバの構成]。【００３１】
図２は、管理サーバ１００の構成を示す図である。【００３２】
管理サーバ１００は、通信インタフェース２０３とコントローラとを有し、コントローラが、ＣＰＵ（Central Processing Unit）２００、主記憶装置（例えばメモリ）２０１、ディスクインタフェース２０２及び画面インタフェース２０４を有する。通信インタフェース２０３に、ネットワーク１０３が接続されており、ディスクインタフェース２０２に、ディスク装置２０５が接続されており、画面インタフェース２０４に、表示装置２０６が接続されている。【００３３】
表示装置２０６は、ディスプレイ画面（ＬＣＤ（Liquid Crystal Display）画面）を有する装置であり、管理サーバ１００から出力された情報（例えば、クライアントの情報や、アプリケーションの情報、実行環境を変更するアプリケーションの優先度や変更による効果に関する情報）を表示する。【００３４】
ディスク装置２０５は、記憶装置であり、管理サーバ１００に内蔵されていても良いし、大容量のディスクアレイ装置であっても良い。本明細書で言う「ディスク装置」の記憶媒体は、ハードディスクなどのディスクであるが、フラッシュメモリなどの他種の記憶媒体が採用されても良い。ディスク装置２０５は、管理サーバ１００が利用するプログラムやデータを格納する。ディスク装置２０５は、例えば、収集プログラム２０７と、適性評価プログラム２０８と、効果評価プログラム２０９と、優先順位算出プログラム２１０と、画面制御プログラム２２２と、データ更新プログラム２２３と、特性テーブル２１１と、利用状況テーブル２１２と、評価ポリシー２１３と、適性評価テーブル２１６と、効果評価テーブル２１７と、運用管理ポリシー２１８と、変更優先順位テーブル２２０と、クライアント一覧テーブル２２１とを記憶する。ディスク装置２０５に記憶されているプログラムが、主記憶装置２０１にロードされ、ＣＰＵ２００で実行される。【００３５】
特性テーブル２１１は、各アプリケーションの特性を表す情報が格納されるテーブルである。ここで言う「アプリケーションの特性」とは、例えば、アプリケーションの固有の性質のことであり、具体的には、例えば、バージョン、サポートＯＳなどのである。【００３６】
利用状況テーブル２１２は、各アプリケーションのユーザによる利用状況を表す情報が格納されるテーブルである。ここで言う「利用状況を表す情報」とは、例えば、アプリケーションの利用の仕方によって変わり得る情報であり、具体的には、例えば、アプリケーションのユーザ数や利用履歴などである。【００３７】
評価ポリシー２１３は、各実行環境におけるアプリケーションの適性を運用管理上の観点から評価するためのポリシーを表す情報である。評価ポリシー２１３は、例えば、評価式テーブル２１４と正規化式テーブル２１５とを含む。或る実行環境におけるアプリケーションの適性とは、そのアプリケーションがその実行環境において利用されるのがどの程度適切なのかを表す。例えば、ユーザ数の多いアプリケーションの実行環境は、セキュリティチェックなどの運用管理に必要なコストの面から、物理環境よりも仮想環境の方が適切である。本実施形態では、セキュリティ、運用コスト及びユーザの利便性の３つの運用管理上の評価観点から、或る実行環境におけるアプリケーションの適性が評価される。【００３８】
評価式テーブル２１４は、或る実行環境におけるアプリケーションの適性を定量的に評価して算出するための式が格納されたテーブルである。【００３９】
正規化式テーブル２１５は、評価式テーブル２１４の各式によって算出された値の範囲を揃えるための式が格納されたテーブルである。【００４０】
適性評価テーブル２１６は、アプリケーションの適性の評価結果を表す情報が格納されるテーブルである。【００４１】
効果評価テーブル２１７は、アプリケーションの実行環境を変更することの効果の評価結果を表す情報が格納されるテーブルである。【００４２】
運用管理ポリシー２１８は、アプリケーションの適性を評価したり実行環境の変更の優先度を決定したりする際の運用管理上の指針を表す情報である。運用管理ポリシー２１８は、評価観点優先度テーブル２１９を含む。【００４３】
評価観点優先度テーブル２１９は、実行環境の変更の優先順位を算出する際に重視する観点を表す情報が格納されるテーブルである。本実施形態では、運用管理上の評価観点の優先度を表す情報がテーブル２１９に格納される。【００４４】
変更優先順位テーブル２２０は、実行環境の変更の対象とするアプリケーションの優先順位を表す情報が格納されるテーブルである。【００４５】
クライアント一覧テーブル２２１は、ネットワークシステム１０における全てのクライアント１０２に関する情報が格納されるテーブルである。【００４６】
収集プログラム２０７は、クライアント１０２の後述のエージェントプログラム４０７から、クライアント群で利用されているアプリケーションの情報を収集し、収集した情報を利用状況テーブル２１２に格納する。【００４７】
適性評価プログラム２０８は、特性テーブル２１１と、利用状況テーブル２１２と、評価ポリシー２１３とに基づいて、各アプリケーション実行環境におけるアプリケーションの適性を評価し、その評価の結果を表す情報を適性評価テーブル２１６に格納する。【００４８】
効果評価プログラム２０９は、適性評価テーブル２１６に基づいて、アプリケーションの実行環境を変更することの効果を評価し、その評価の結果を表す情報を効果評価テーブル２１７に格納する。【００４９】
優先順位算出プログラム２１０は、効果評価テーブル２１７と、運用管理ポリシー２１８とに基づいて、実行環境を変更する対象とするアプリケーションの優先順位を算出し、算出された優先順位を変更優先順位テーブル２２０に格納する。【００５０】
画面制御プログラム２２２は、表示装置２０６に表示する画面情報の成形や、ネットワークシステム１０の管理者のオペレーションを受けて表示画面を更新する。本実施形態において、画面制御プログラム２２２が表示装置２０６へ表示する画面としては、例えば、図２２で説明する優先順位一覧画面２２００と、図２３で説明する運用管理ポリシー設定画面２３００と、図２４で説明するアプリケーション情報登録画面２４００がある。【００５１】
データ更新プログラム２２３は、管理サーバ１００が保持する各種テーブルを更新する。データ更新プログラム２２３は、収集プログラム２０７、適性評価プログラム２０８、効果評価プログラム２０９、優先順位算出プログラム２１０を順に実行して、全てのクライアントからインベントリ情報（例えば、アプリケーション名、バージョン及び実行環境を表す情報）を収集し、アプリケーションの適性の評価、及び、優先順位の算出を行う。なお、データ更新プログラム２２３は、図２２で説明する優先順位一覧画面２２００の更新ボタン２２０５の押下を契機に実行することができる。また、管理サーバ１００が定期的にデータ更新プログラム２２３を実行してもよい。【００５２】
[アプリケーションサーバの構成]。【００５３】
図３は、アプリケーションサーバ１０１の構成を示す図である。【００５４】
アプリケーションサーバ１０１は、通信インタフェース３０３とコントローラを有し、コントローラが、ＣＰＵ３００と、主記憶装置（例えばメモリ）３０１と、ディスクインタフェース３０２とを有する。ディスクインタフェース３０２にディスク装置３０４が接続され、通信インタフェース３０３にネットワーク１０３が接続される。【００５５】
ディスク装置３０４は、アプリケーションサーバ１０１が利用するプログラムやデータを記憶する記憶装置であり、アプリケーションサーバ１０１に内蔵されても良い。ディスク装置３０４は、アプリケーション配信プログラム３０５と、アプリケーションサーバ１０１が管理する仮想アプリケーション群とを記憶する。仮想アプリケーション群は、仮想アプリケーション３０６Ａ及び３０６Ｂを含む。仮想アプリケーション群に含まれる仮想アプリケーションは、２つに限らず、１つでも３つ以上でも良い。仮想アプリケーション３０６Ａを代表的に説明する。ディスク装置３０４に記憶されているプログラムが、主記憶装置３０１にロードされ、ＣＰＵ３００で実行される。【００５６】
仮想アプリケーション３０６Ａは、アプリケーションプログラム３０７Ａと、アプリケーションプログラム３０７Ａが利用する設定情報３０８Ａ及びライブラリ３０９Ａとを含んだパッケージ（アーカイブ）である。仮想アプリケーション３０６Ａは、設定情報３０８Ａとライブラリ３０９Ａの両方を有するが、それらのうちの一方又は両方を有しない仮想アプリケーションにおいても本発明は適用可能である。また、仮想アプリケーションは、設定情報とライブラリ以外の情報を含んでもよい。なお、仮想アプリケーションは、管理者から登録されても良いし、管理サーバ１００から登録されても良い。【００５７】
アプリケーションプログラム３０７Ａは、アプリケーションのプログラム本体であり、例えば、アプリケーションの実行ファイルである。アプリケーションプログラム３０７Ａは、アプリケーションをインストールするためのプログラムなどでもよい。【００５８】
設定情報３０８Ａは、アプリケーションプログラム３０７Ａの実行時に利用される情報であり、例えば、レジストリ及び／又は設定ファイルである。【００５９】
ライブラリ３０９Ａは、アプリケーションの実行時にライブラリとして利用される情報であり、例えば、ＤＬＬ（Dynamic Link Library）である。【００６０】
仮想アプリケーション３０６Ｂは、仮想アプリケーション３０６Ａと同様である。【００６１】
アプリケーション配信プログラム３０５は、クライアント１０２からの要求に応答して、アプリケーションサーバ１０１が管理する仮想アプリケーションをそのクライアント１０２にネットワーク１０３を介して配信する。アプリケーション配信プログラム３０５は、配信する機能以外の機能、例えば、クライアント１０２のアクセスを制限するアクセス制御機能、及び／又は、クライアント１０２のアクセス履歴を記憶するログ管理機能も有しても良い。【００６２】
主記憶装置３０１に読み込まれた、アプリケーション配信プログラム３０５をＣＰＵ３００が実行することにより、クライアント１０２からの要求に応じて仮想アプリケーションをクライアント１０２へ配信する。【００６３】
[クライアントの構成]。【００６４】
図４は、クライアント１０２の構成を示す図である。【００６５】
クライアント１０２は、通信インタフェース４０３とコントローラとを有し、コントローラが、ＣＰＵ４００と、主記憶装置４０１と、ディスクインタフェース４０２と、画面インタフェース４０４とを有する。ディスクインタフェース４０２にディスク装置４０５が接続され、通信インタフェース４０３にネットワーク１０３が接続され、画面インタフェース４０４に表示装置４０６が接続される。【００６６】
表示装置４０６は、ＬＣＤ画面などのディスプレイ画面を有する装置であり、クライアント１０２から出力された情報（例えば、ユーザがクライアント１０２上でＯＳやアプリケーションなどを利用するための情報）を表示する。【００６７】
ディスク装置４０５は、クライアント１０２が利用するプログラムやデータを記憶する記憶装置であり、クライアント１０２に内蔵されても良い。ディスク装置４０５は、エージェントプログラム４０７と、クライアントプログラム４０８と、アプリケーションプログラム４０９Ａと、アプリケーションプログラム４０９Ａが利用する設定情報４１０Ａ、ライブラリ４１１Ａ及びデータ４１２Ａと、アプリケーションプログラム４０９Ｂと、アプリケーションプログラム４０９Ｂが利用する設定情報４１０Ｂ、ライブラリ４１１Ｂ及びデータ４１２Ｂと、仮想アプリケーション４１３Ａと、仮想アプリケーション４１３Ｂと、仮想アプリケーション４１３Ａが利用するデータ４１７Ａと、仮想アプリケーション４１３Ｂが利用するデータ４１７Ｂと、インベントリテーブル４１８と、利用履歴テーブル４１９とを記憶する。【００６８】
アプリケーションプログラム４０９Ａは、クライアント１０２にインストールされた物理アプリケーションであり、実行ファイルなどアプリケーションのプログラム本体である。【００６９】
設定情報４１０Ａは、アプリケーションプログラム４０９Ａが実行時に利用するレジストリや設定ファイルなどの情報である。【００７０】
ライブラリ４１１Ａは、アプリケーションプログラム４０９Ａが実行時に読み込むＤＬＬなどのライブラリである。【００７１】
データ４１２Ａは、アプリケーションプログラム４０９Ａが処理結果として出力するファイルなどである。また、データ４１２Ａは、アプリケーションプログラム４０９Ａが処理するための入力となるファイルでもよい。【００７２】
アプリケーションプログラム４０９Ｂ、設定情報４１０Ｂ、ライブラリ４１１Ｂ及びデータ４１２Ｂは、アプリケーションプログラム４０９Ａ、設定情報４１０Ａ、ライブラリ４１１Ａ及びデータ４１２Ａとそれぞれ同様である。【００７３】
本実施形態では、データ４１２Ａは１つの構成であるが、文書ツールのように文書毎に複数のデータが存在するアプリケーションにおいても適用可能である。【００７４】
仮想アプリケーション４１３Ａは、クライアント１０２がアプリケーションサーバ１０１から受信した仮想アプリケーションである。図３で説明した通り、仮想アプリケーション４１３には、アプリケーションプログラム４１４Ａと、設定情報４１５Ａと、ライブラリ４１６Ａが含まれる。【００７５】
仮想アプリケーション４１３Ｂは、仮想アプリケーション４１３Ａと同様に、クライアント１０２がアプリケーションサーバ１０１から受信した仮想アプリケーションである。【００７６】
データ４１７Ａは、仮想アプリケーション４１３Ａが処理結果として出力するファイルなどである。また、データ４１７Ａは、仮想アプリケーション４１３Ａが処理するための入力となるファイルでもよい。また、本実施形態では、データ４１７Ａは、仮想アプリケーション４１３Ａに含まれない構成としたが、仮想アプリケーション４１３Ａに含まれる構成であってもよい。【００７７】
データ４１７Ｂは、データ４１７Ａと同様に、仮想アプリケーション４１３Ｂの処理の入力や出力となるファイルなどである。【００７８】
インベントリテーブル４１８は、クライアント１０２で利用されているアプリケーションに関する情報（例えば、名称やバージョンなど）が格納されるテーブルである。【００７９】
利用履歴テーブル４１９は、アプリケーションの利用履歴（例えばアプリケーションの実行時間）が格納されるテーブルである。【００８０】
エージェントプログラム４０７は、アプリケーションの情報や利用履歴を収集するためのプログラムである。また、図２で説明したとおり、エージェントプログラム４０７は、管理サーバ１００の収集プログラム２０７から呼び出されて、収集した情報を管理サーバ１００へ返す。【００８１】
クライアントプログラム４０８は、仮想アプリケーションを実行するためのプログラムであり、クライアント１０２のＯＳ（図示せず）上で実行される。クライアントプログラム４０８は、仮想アプリケーション４１３Ａ（４１３Ｂ）内のアプリケーションプログラム４１４Ａ（４１４Ｂ）からＯＳを隠蔽するため、クライアント固有の環境（例えばＯＳ）に依存せず仮想アプリケーション４１３Ａ（４１３Ｂ）を実行することが可能である。アプリケーションプログラム４１４Ａ（４１４Ｂ）は、アーカイブされた設定情報４１５Ａ（４１５Ｂ）やライブラリ４１６Ａ（４１６Ｂ）を利用して動作する。なお、仮想アプリケーション内のアプリケーションプログラムが設定情報及び／又はライブラリを利用しないケースや、仮想アプリケーション内のアプリケーションプログラムが他の情報を利用するケースにも、本発明は適用可能である。さらに、クライアントプログラム４０８が仮想アプリケーションに含まれるケースや、クライアントプログラム４０８がＯＳに標準的に搭載されているプログラム（例えばＷｅｂブラウザ）であるケースにも、本発明は適用可能である。なお、仮想アプリケーションは、クライアント固有の環境に依存せずに実行されるため、クライアント１０２のＯＳがアプリケーションプログラム（４１４Ａ、４１４Ｂ）がサポートするＯＳではない場合であっても実行することができる。また、異なるバージョンの同一のアプリケーションを同一のクライアントで実行することや、他のアプリケーションとの競合を起こさずに実行することもできる。【００８２】
なお、仮想アプリケーションは、一度アプリケーションサーバ１０１から取得した後であっても、再度、アプリケーションサーバ１０１から取得するように強制することも可能である。これは、アプリケーションサーバ１０１が管理する仮想アプリケーションにセキュリティパッチなどを適用した場合において、クライアントに配信した仮想アプリケーションと同期をとる場合などに利用される機能であり、ネットワークシステム１０全体のセキュリティレベルを維持することができる。【００８３】
[第１の実施形態の概要]。【００８４】
図５は、本実施形態の概要を表す図である。なお、図５では、仮想アプリケーションが「ＶＡＰ」と略記され、物理アプリケーションが「ＰＡＰ」と略記されている。【００８５】
まず、管理者は、図２４で説明するアプリケーション情報登録画面２４００から、アプリケーションに関する情報を登録する。管理サーバ１００は、登録された情報に基づいて、特性テーブル２１１を更新する（ステップｓ１）。【００８６】
続いて、管理サーバ１００は、ネットワークシステム１０の全てのクライアントから、インベントリテーブル４１８に格納されている情報と利用履歴テーブル４１９に格納されている情報とを収集し、収集した情報を基に利用状況テーブル２１２を更新する（ステップｓ２）。【００８７】
続いて、管理サーバ１００は、特性テーブル２１１と利用状況テーブル２１２に基づいて、各実行環境におけるアプリケーションの特性を評価し、実行環境を変更するアプリケーションの優先順位を算出する（ステップｓ３）。【００８８】
続いて、管理サーバ１００は、算出した優先順位と実行環境の変更による効果とを画面に表示する（ステップｓ４）。【００８９】
管理者は、ステップｓ４において画面に表示された優先順位と、実行環境の変更の効果に基づいて、実行環境を変更すべきアプリケーションを決定する。【００９０】
[クライアント１０２が有する各種テーブルの構成]。【００９１】
図６は、インベントリテーブル４１８を表す図である。【００９２】
インベントリテーブル４１８が有する各行は、ＩＤ６０１と、アプリケーション名６０２と、バージョン６０３と、実行環境６０４とを有し、クライアント１０２で利用される一つのアプリケーションに対応している。【００９３】
ＩＤ６０１は、クライアント１０２で利用されているアプリケーションを一意に識別するための情報（例えば数値及び／又は文字列）である。【００９４】
アプリケーション名６０２は、アプリケーションの名称を表す情報である。【００９５】
バージョン６０３は、アプリケーションのバージョンを表す情報である。【００９６】
実行環境６０４は、アプリケーションの実行環境を表す情報である。アプリケーションの実行環境が物理環境の場合（言い換えれば、アプリケーションが物理アプリケーションの場合）、実行環境６０４として「標準」が設定される。アプリケーションの実行環境が仮想環境の場合（言い換えれば、アプリケーションが仮想アプリケーションの場合）、実行環境６０４として「仮想」が設定される。【００９７】
なお、本実施形態での仮想環境は、ストリーミング型での仮想環境であるが、ネットワークシステム１０に、ホスト型での仮想環境も存在し得る場合には（つまり本実施形態と後述の第２の実施形態とが組み合わされた場合）、「仮想（ストリーミング）」、「仮想（ホスト）」のように、仮想環境の種類を区別できるような値が実行環境６０４として格納される。また、ネットワークシステム１０に、物理環境及び仮想環境以外の環境、例えば後述のクラウド環境が存在する場合には（本実施形態に第４の実施形態が組み合わされた場合）、クラウド環境を表す値「クラウド」が、実行環境６０４として格納される。さらに、クラウド環境が複数存在する場合には、「クラウドＡ」や「クラウドＢ」のように、クラウド環境を区別できるような値が実行環境６０４として格納される。【００９８】
また、インベントリテーブル４１８の各種情報は、例えば、インストールされているアプリケーションの一覧情報やファイルの一覧情報などを取得するような、ＯＳに標準的に搭載されているプログラムを利用して取得して設定することができる。【００９９】
図７は、利用履歴テーブル４１９を表す図である。【０１００】
利用履歴テーブル４１９の各行は、アプリケーションＩＤ７０１と、開始時刻７０２と、終了時刻７０３とを有し、クライアント１０２で利用される一つのアプリケーションに対応している。【０１０１】
アプリケーションＩＤ７０１は、クライアント１０２で利用されるアプリケーションを一意に識別するための情報であり、具体的には、例えば、インベントリテーブル４１８のＩＤ６０１の値と同じ値である。【０１０２】
開始時刻７０２は、アプリケーションの利用を開始した時刻を表す情報である。【０１０３】
終了時刻７０３は、アプリケーションの利用を終了した時刻を表す情報である。【０１０４】
なお、アプリケーション履歴テーブル４１９の各種情報は、例えば、プロセスの実行状態を監視するような、ＯＳに標準的に搭載されているプログラムや、クライアントプログラム４０８から取得して設定することができる。【０１０５】
[管理サーバ１００が有する各種テーブルの構成]。【０１０６】
図８は、特性テーブル２１１を表す図である。【０１０７】
特性テーブル２１１が有する各行は、ＩＤ８０１、アプリケーション名８０２と、バージョン８０３と、パッチ公開回数８０４と、サポートＯＳ８０５とを有し、ネットワークシステム１０で利用される一つのアプリケーションに対応している。【０１０８】
ＩＤ８０１は、ネットワークシステム１０で利用されるアプリケーションを一意に特定するための情報である。【０１０９】
アプリケーション名８０２は、アプリケーションの名称を表す情報である。【０１１０】
バージョン８０３は、アプリケーションのバージョンを表す情報である。【０１１１】
パッチ公開回数８０４は、アプリケーションのプログラムを更新するための修正プログラム（以下、「パッチ」と呼ぶ）が公開された回数を表す情報である。パッチの公開に伴って、アプリケーションのバージョン８０３が変わる場合には、新たな行が特性テーブル２１１に追加される。追加された行に格納されるパッチ公開回数８０４として、元のパッチ公開回数８０４に１が加算された値が格納される。【０１１２】
サポートＯＳ８０５は、アプリケーションの動作が保証されているＯＳ（サポートＯＳ）を表す情報である。複数のサポートＯＳが存在する場合には、一つの行に、複数のサポートＯＳを表す情報（例えば、カンマ区切りによって連結した文字列）が格納される。なお、本実施形態では、サポートＯＳを表す文字列がカンマ区切りによって連結されるが、サポートＯＳ８０５を別のテーブルで管理しテーブルを正規化する方法を採用することも可能である。【０１１３】
本実施形態では、特性テーブル２１１に格納される情報は、図２４で説明するアプリケーション情報登録画面２４００を介して管理者から入力される。しかし、それに限らず、例えば、特性テーブル２１１に格納される情報は、アプリケーションから取得されてもよいし、アプリケーションの実行ファイルなどに同梱される各種ファイルから取得されてもよいし、ネットワークシステム１０の外部（例えば、アプリケーションのベンダやそれ以外の機関によるサービス）から提供されてもよいし、管理サーバ１００に組み込まれておいてもよい。【０１１４】
図９は、利用状況テーブル２１２を表す図である。【０１１５】
利用状況テーブル２１２が有する各行は、アプリケーションＩＤ９０１と、実行環境９０２と、ユーザ数９０３とを有し、ネットワークシステム１０で利用される一つのアプリケーションに対応している。【０１１６】
アプリケーションＩＤ９０１は、ネットワークシステム１０で利用されるアプリケーションを一意に特定する情報であり、具体的には、例えば、図８で説明した特性テーブル２１１内のＩＤ８０１の値と同じ値である。【０１１７】
実行環境９０２は、アプリケーションの実行環境を表す情報である。実行環境９０２として格納される値の種類は、図６のインベントリテーブル４１８の実行環境６０４と同じである。【０１１８】
ユーザ数９０３は、ネットワークシステム１０において、同一のアプリケーションを利用しているユーザの数を表す情報である。ユーザ数９０３は、具体的には、例えば、全てのクライアント１０２から収集された情報に含まれている同一情報セットの数である。ここで言う情報セットとは、アプリケーション名６０２、バージョン６０３及び実行環境６０４の組合せである。【０１１９】
図１０は、評価式テーブル２１４を表す図である。【０１２０】
評価式テーブル２１４の各行は、実行環境１００１と、利便性１００２と、セキュリティ１００３と、運用コスト１００４とを有し、一つの実行環境に対応している。【０１２１】
実行環境１００１は、アプリケーションの実行環境を表す情報である。実行環境１００１として格納される値の種類は、図６のインベントリテーブル４１８の実行環境６０４と同じである。【０１２２】
利便性１００２、セキュリティ１００３及び運用コスト１００４は、それぞれ、実行環境１００１が表すアプリケーション実行環境におけるアプリケーションの適性を評価するための評価式である。利便性１００２、セキュリティ１００３及び運用コスト１００４の少なくとも一つは、評価式とは異なる種類の情報であってよい。【０１２３】
利便性１００２は、アプリケーションを利用するユーザの利便性の観点に従って用意された評価式である。図中の「＄サポートＯＳ＠特性テーブル」は、特性テーブル２１１のサポートＯＳ８０５の値が設定されることを表しており、「ＮＵＭ（＄ＯＳ＝＄サポートＯＳ＠特性テーブル in ＠クライアント一覧）／ＮＵＭ（＠クライアント一覧）」は、全クライアント数に対する、サポートＯＳに該当するＯＳを有するクライアントの数の比率を表している（サポートＯＳに該当するＯＳをクライアントが有しているか否かは、後述のクライアント一覧テーブル２２１のＯＳ１６０３から特定することができる）。このように、評価式の入力として、特性テーブル２１１や利用状況テーブル２１２の情報を含むことにより、アプリケーションの特性やユーザの利用状況に応じた評価を行うことができる。また、利便性１００２は、上記以外のテーブルや列の値が入力とされてもよいし、その組み合わせが入力とされてもよいし、固定値であってもよい。また、アプリケーションの特性やユーザの利用状況ではなく、実行環境によってユーザの利便性、セキュリティ及び運用コストの少なくとも一つに違いが出る場合は、実行環境に依存した評価式や固定値を含めた値が設定されてもよい。例えば、物理アプリケーションの場合は、ネットワークの状態に依存せずに利用できるため、ユーザの利便性に関して適性が高いことを表す値（例えば、「１００」）が、利便性１００２として設定されてよい。仮想アプリケーションの場合には、オンラインでなければ利用できない場合があるため、ユーザの利便性に関して適性が低いことを表す値（例えば「５０」）が、利便性１００２として設定されてよい。【０１２４】
本実施形態では、アプリケーションのサポートＯＳに関する情報が、利便性１００２の評価式の入力とされている。実行環境１００１が「標準」である場合、つまり、アプリケーションが物理アプリケーションの場合、サポートＯＳに該当するＯＳを持つクライアントの数が少ないほど、そのアプリケーションを利用できないユーザが少なくなる。このため、ユーザの利便性は低い。一方、実行環境１００１が「仮想」である場合、つまり、アプリケーションが仮想アプリケーションの場合、クライアントのＯＳに依存せずにアプリケーションの実行が可能である。このため、ユーザの利便性は高い。本実施形態では、ユーザの利便性が高い場合は、利便性１００２として、大きい値（又は、大きい値が算出されるような評価式）が設定されてよい。ユーザの利便性が低い場合は、利便性１００２として、小さい値（又は、小さい値が算出されるような評価式）が設定されてよい。【０１２５】
セキュリティ１００３は、ネットワークシステム１０全体のセキュリティレベルの観点に従って用意された評価式である。図中の「＄パッチ公開回数＠特性テーブル」は、特性テーブル２１１のパッチ公開回数８０４の値が設定されることを表しており、「＄ユーザ数＠利用状況テーブル」は、利用状況テーブル２１２のユーザ数９０３の値が設定されることを表している。また、「ｍｉｎ（Ａ，Ｂ）」はＡとＢのうち、小さいほうの値を表す。本実施形態の場合は、パッチ公開回数およびユーザ数がそれぞれ一定の値以上であれば（例えばバッチ公開回数が２０以上でありユーザ数が１００以上であれば）、セキュリティ上の適性が低く、差がないと判断し、（パッチ公開回数＝２０）及び（ユーザ数＝１００）として、セキュリティ１００３としての評価式が計算される。なお、セキュリティ１００３は、利便性１００２と同様、他のテーブルの列が入力とされてもよいし、その組み合わせが入力とされてもよいし、固定値であってもよい。本実施形態では、セキュリティのリスクが高い場合は、セキュリティ１００３として大きい値が設定され、セキュリティのリスクが低い場合は、セキュリティ１００３として小さい値が設定されてよい。また、セキュリティ１００３は、アプリケーションのパッチ公開回数とアプリケーションのユーザ数との少なくとも一方に基づく式又は値でよい。【０１２６】
本実施形態では、アプリケーションのパッチの公開回数が、セキュリティ１００３の評価式の入力とされている。パッチの公開回数が多いアプリケーションほど、セキュリティ脆弱性が発見されることが多く、セキュリティ上のリスクが高いと判断できる。また、実行環境１００１が「標準」である場合、各クライアントにアプリケーションがインストールされるため、ユーザ数が多いほどセキュリティ上のリスクは高いと判断できる（この場合、セキュリティとしての評価値は低くなる）。一方、実行環境１００１が「仮想」である場合、アプリケーションは、アプリケーションサーバ１０１で唯一管理され、必要に応じてパッチが適用されるため、セキュリティ上のリスクが低いと判断できる。本実施形態では、セキュリティ上のリスクが高いと判断できる場合、セキュリティ１００３として、大きい値（又は、大きい値が算出されるような評価式）が設定されてよい。一方、セキュリティ上のリスクが低いと判断できる場合、セキュリティ１００３として、小さい値（又は、小さい値が算出されるような評価式）が設定されてよい。【０１２７】
運用コスト１００４は、ネットワークシステム１０の運用管理に必要なコスト（運用コスト）の観点に従う評価式である。図中の「＄ユーザ数＠利用状況テーブル」は、利用状況テーブル２１２のユーザ数９０３を表している。また、運用コスト１００４は、利便性１００２やセキュリティ１００３と同様、他のテーブルの列が入力とされてもよいし、その組み合わせが入力とされてもよいし、固定値であってもよい。【０１２８】
本実施形態では、管理者が行う日々のセキュリティチェックなどの運用管理業務に係る工数が、評価式の入力とされている。１つのアプリケーションにつき、運用管理業務にかかる工数を０．０１人日とすると、実行環境１００１が「標準」の場合には、ユーザ数に比例した工数が必要である（つまり運用コストが高くなりやすい）。一方、実行環境１００１が「仮想」の場合には、アプリケーションは、アプリケーションサーバ１０１で唯一管理されるため、アプリケーション１つ分の工数のみ必要である（つまり運用コストを低くしやすい）。本実施形態では、運用コストが高い場合は、運用コスト１００４として、大きい値（又は、大きい値が算出されるような評価式）が設定されてよい。運用コストが低い場合は、運用コスト１００４として、小さい値（又は、小さい値が算出されるような評価式）が設定されてよい。【０１２９】
以後、利便性、セキュリティ及び運用コストのいずれかを指す場合、「運用管理上の評価観点」、または、単に「評価観点」と呼ぶ。また、或る評価観点の評価式に従って算出された値（又は、或る評価観点として設定されている値）が、アプリケーション実行環境のその或る評価観点に従う適性（評価値）を表す。【０１３０】
本実施形態では、評価観点として、利便性、セキュリティ及び運用コストの例を図示したが、その他の評価観点が採用されても良いし、評価観点がより細粒度にされてもよい。【０１３１】
また、実行環境として「標準」および「仮想」の２つの場合を図示しているが、実行環境の数が３つ以上の場合でも本発明は適用可能である。【０１３２】
また、アプリケーションの適性を評価式から算出した数値としているが、適性を表す文字列や記号とすることも可能である。【０１３３】
図１１は、正規化式テーブル２１５を表す図である。【０１３４】
正規化式テーブル２１５の各行は、評価観点１１０１及び正規化式１１０２を有し、一つの評価観点に対応している。【０１３５】
評価観点１１０１は、運用管理上の評価観点を表す情報である。本実施形態では、評価観点１１０１として、「利便性」「セキュリティ」及び「運用コスト」が設定される。【０１３６】
正規化式１１０２は、評価式テーブル２１４における各評価式から算出した値を０から１００の範囲に補正するための式である。補正後の値が０に近いほど、各評価観点についてのアプリケーションの適性が低く、補正後の値が１００に近いほど、各評価観点についてのアプリケーションの適性が高い。例えば、利便性について、補正後の値が０に近い場合は、ユーザの利便性が低く、補正後の値が１００に近い場合は、ユーザの利便性が高いことを表す。また、セキュリティについて、補正後の値が０に近い場合は、ネットワークシステム１０全体のセキュリティレベルが低く、補正後の値が１００に近い場合は、ネットワークシステム１０全体のセキュリティレベルが高いことを表す。また、運用コストについて、補正後の値が０に近い場合は、運用コストが高く、補正後の値が１００に近い場合は、運用コストが低いことを表す。【０１３７】
なお、図中の「＄利便性」「＄セキュリティ」及び「＄運用コスト」は、それぞれ、評価式テーブル２１４における利便性１００２、セキュリティ１００３及び運用コスト１００４の評価式により算出された値を入力とすることを表している。【０１３８】
本実施形態では、評価ポリシー２１３が、評価式テーブル２１４と正規化式テーブル２１５を含むが、評価式テーブル２１４と正規化式テーブル２１５が一つのテーブルで構成されても良い。【０１３９】
また、評価ポリシー２１３は、予め管理サーバ１００が有していてもよいし、管理者から入力されてもよいし、特性テーブル２１１と同様にネットワークシステム１０の外部から提供されてもよい。また、評価式の候補を管理サーバ１００が有し、それらの１つまたは組み合わせが、管理者から評価ポリシー２１３として入力されてもよい。【０１４０】
図１２は、適性評価テーブル２１６を表す図である。【０１４１】
適性評価テーブル２１６の各行は、アプリケーションＩＤ１２０１と、実行環境１２０２と、利便性１２０３と、セキュリティ１２０４と、運用コスト１２０５とを有し、ネットワークシステム１０で利用される一つのアプリケーションに対応している。【０１４２】
アプリケーションＩＤ１２０１は、ネットワークシステム１０で利用されているアプリケーションを一意に特定するための情報であり、具体的には、例えば、特性テーブル２１１のＩＤ８０１の値と同じ値である。【０１４３】
実行環境１２０２は、アプリケーションの実行環境を表す情報である。実行環境１２０２として設定される値の種類は、図６のインベントリテーブル４１８の実行環境６０４と同じである。【０１４４】
利便性１２０３、セキュリティ１２０４及び運用コスト１２０５は、それぞれ、適性評価プログラム２０８が評価ポリシー２１３に基づいて算出した値である。例えば、アプリケーションＩＤ「１」及び実行環境「標準」を含んだ行が有する利便性１２０３は、実行環境「標準」を含んだ行が有する利便性１００２の評価式（評価式テーブル２１４内の評価式）と、評価観点「利便性」を含んだ行が有する正規化式１１０２の正規化式（正規化式テーブル２１５内の正規化式）とに従って算出された値である。セキュリティ１２０４及び運用コスト１２０５についても同様である。【０１４５】
このテーブル２１６によれば、アプリケーション毎に、全てのアプリケーション実行環境についての評価値が格納される。評価値は、評価観点毎の評価値である。【０１４６】
図１３は、効果評価テーブル２１７を表す図である。【０１４７】
効果評価テーブル２１７の各行は、アプリケーションＩＤ１３０１と、変更前１３０２と、変更後１３０３と、利便性１３０４と、セキュリティ１３０５と、運用コスト１３０６とを有し、アプリケーション実行環境の変更の候補に対応している。【０１４８】
アプリケーションＩＤ１３０１は、ネットワークシステム１０で利用されているアプリケーションを一意に特定するための情報あり、具体的には、例えば、特性テーブル２１１のＩＤ８０１の値と同じ値である。【０１４９】
変更前１３０２は、アプリケーションの現在の実行環境を表す情報（例えば文字列）である。変更前１３０２として設定される値は、図６のインベントリテーブル４１８の実行環境６０４と同じである。【０１５０】
変更後１３０３は、アプリケーションの変更後の実行環境を表す情報である。変更前１３０２と同様、変更後１３０３として、「標準」または「仮想」が設定される。但し、同一の行において、変更後１３０３と変更前１３０２とが同じ値になることはない。同じ値になると、アプリケーションの実行環境の変更にならないためである。【０１５１】
利便性１３０４、セキュリティ１３０５及び運用コスト１３０６は、それぞれ、アプリケーションの実行環境を、変更前１３０２が表す実行環境から、変更後１３０３が表す実行環境に変更した場合の、各評価観点における効果を表す値である。本実施形態では、アプリケーションＩＤ１２０１が一致し且つ実行環境１２０２が異なる２つの行（図１２で説明した適性評価テーブル２１６内の２つの行）における、利便性１２０３同士の差分、セキュリティ１２０４同士の差分、及び運用コスト１２０５同士の差分が、それぞれ、実行環境の変更の効果として算出される。差分として、−１００から＋１００の数値が設定される。差分が−１００に近いほど、変更による効果は低く、差分が＋１００に近いほど、変更による効果が高い。例えば、図１３の例によれば、アプリケーションＩＤ１３０１が「１」のアプリケーションについて、アプリケーション実行環境が「標準」から「仮想」に変更された場合（つまり、アプリケーションが物理アプリケーションから仮想アプリケーションに変更された場合）、ユーザの利便性にはあまり効果はなく、セキュリティ上の効果は少しあり、運用コストの削減にはかなりの効果があることがわかる。【０１５２】
図１４は、評価観点優先度テーブル２１９を表す図である。【０１５３】
評価観点優先度テーブル２１９の各行は、評価観点１４０１と優先度１４０２を有し、一つの評価観点に対応している。【０１５４】
評価観点１４０１は、運用管理上の評価観点を表す情報である。本実施形態の場合、評価観点１４０１として、「利便性」「セキュリティ」及び「運用コスト」のいずれかが設定される。【０１５５】
優先度１４０２は、評価観点の優先度を表す情報（典型的には数値）である。優先度１４０２は、実行環境を変更する対象のアプリケーションの優先順位を算出する際に、評価観点毎に重みを付けるための係数として使用される。優先度の高い評価観点には高い値の優先度１４０２が設定され、優先度の低い評価観点には低い値の優先度１４０２が設定される。管理者やネットワークシステム１０によって、運用管理上重要視する観点が異なる場合には、優先度１４０２を設定することで、ネットワークシステム１０の運用方針に合ったアプリケーション優先順位（実行環境を変更する対象のアプリケーションの優先順位）の算出を行うことができる。例えば、セキュリティを特に重要視するネットワークシステム１０であれば、評価観点「セキュリティ」に対応した優先度１４０２の値が、他の評価観点１４０１に対応した優先度１４０２の値に比べて高ければよい。【０１５６】
本実施形態では、図２３で説明する運用管理ポリシー設定画面２２００を介して、管理者が優先度１４０２を設定する。優先度を「高」に設定した場合は、優先度１４０２として「３」が設定される。同様に、「中」の場合は２が、「低」の場合は１が設定される。【０１５７】
図１５は、変更優先順位テーブル２２０を表す図である。【０１５８】
変更優先順位テーブル２２０の各行は、優先順位１５０１と、アプリケーションＩＤ１５０２と、変更前１５０３と、変更後１５０４とを有し、アプリケーションの実行環境の変更の候補に対応している。【０１５９】
優先順位１５０１は、実行環境を変更するアプリケーションの優先順位を表す数値が設定される。１が最も優先順位が高く、優先順位が低くなるほど設定される数値が大きくなる。【０１６０】
アプリケーションＩＤ１５０２は、ネットワークシステム１０で利用されているアプリケーションを一意に特定するための情報であり、具体的には、例えば、特性テーブル２１１のＩＤ８０１の値と同じ値が設定される。【０１６１】
変更前１５０３は、アプリケーションの現在の実行環境を表す情報である。設定される値の種類は、図６のインベントリテーブル４１８の実行環境６０４の種類と同じである。【０１６２】
変更後１５０４は、アプリケーションの変更後の実行環境を表す情報である。変更前１５０３と同様に、「標準」または「仮想」が設定される。一つの行において、変更後１５０４の値と変更前１５０３の値が同じであることはない。【０１６３】
図１６は、クライアント一覧テーブル２２１を表す図である。【０１６４】
クライアント一覧テーブル２２１の各行は、ホスト名１６０１と、ＩＰアドレス１６０２と、ＯＳ１６０３とを有し、一つのクライアント１０２に対応している。【０１６５】
ホスト名１６０１は、クライアント１０２の名称を表す情報である。【０１６６】
ＩＰアドレス１６０２は、ネットワークシステム１０において、クライアント１０２を一意に識別するための情報である。ＩＰアドレス１６０２の値は、クライアント１０２と通信する際に利用される。本実施形態では、ＩＰアドレス１６０２として、クライアント１０２のＩＰアドレスが設定される。【０１６７】
ＯＳ１６０３は、クライアント１０２のＯＳを表す情報である。【０１６８】
[管理サーバ１００内のプログラムの処理]。【０１６９】
図１７は、収集プログラム２０７の処理手順を表す図である。【０１７０】
収集プログラム２０７は、各クライアント１０２で利用されているアプリケーションの一覧とアプリケーションの利用履歴とを全てのクライアントから取得し、利用状況テーブル２１２を更新する。【０１７１】
具体的には、まず、プログラム２０７は、利用状況テーブル２１２の全ての行を削除する（ステップ１７０１）。【０１７２】
続いて、プログラム２０７は、クライアント一覧テーブル２２１の各行に対して、下記ステップ１７０３からステップ１７０７を繰り返す（ステップ１７０２）。【０１７３】
（ステップ１７０３）プログラム２０７は、対象のクライアント１０２のエージェントプログラム４０７から、その対象のクライアント１０２が有するインベントリテーブル４１８（具体的には、そのテーブル４１８に格納されている全ての情報）を取得する（ステップ１７０３）。ここで言う「対象のクライアント１０２」とは、現在処理対象の行（テーブル２２１内の行）におけるＩＰアドレス１６０２のＩＰアドレスを有するクライアント１０２である。【０１７４】
（ステップ１７０４）プログラム２０７は、対象のクライアント１０２が有するエージェントプログラム４０７から、対象のクライアント１０２が有する利用履歴テーブル４１９（具体的には、そのテーブル４１９に格納されている全ての情報）を取得する。【０１７５】
プログラム２０７は、ステップ１７０３で取得したインベントリテーブル４１８及びステップ１７０４で取得した利用履歴テーブル４１９を主記憶装置２０１に格納しておく。【０１７６】
（ステップ１７０５）プログラム２０７は、ステップ１７０３で取得したインベントリテーブル４１８の各行に対して、ステップ１７０６を繰り返す。【０１７７】
（ステップ１７０６）例えば、現在処理対象の行（テーブル４１８内の行）における、アプリケーション名６０２の値が「アプリケーション名１７ａ」、バージョン６０３の値が「バージョン１７ａ」、及び実行環境６０４の値が「実行環境１７ａ」であるとする。プログラム２０７は、主記憶装置２０１にアプリケーションの情報を格納する。具体的には、プログラム２０７は、アプリケーション名「アプリケーション名１７ａ」、バージョン「バージョン１７ａ」、実行環境「実行環境１７ａ」、ユーザ数「１」を格納する。なお、このステップ１７０６において、既に、アプリケーション名、バージョン及び実行環境の組合せと一致する組み合わせが主記憶装置２０１に記憶されている場合は、プログラム２０７は、その組み合わせに対応した、主記憶装置２０１に記憶済みのユーザ数の値に、１を加算する。【０１７８】
（ステップ１７０７）プログラム２０７は、ステップ１７０３で取得したインベントリテーブル４１８の全ての行に対して処理をした場合、次のステップへ移る（ステップ１７０７）。【０１７９】
プログラム２０７は、クライアント一覧テーブル２１１の全ての行について、ステップ１７０２からステップ１７０４を繰り返したら、次のステップへ移る（ステップ１７０８）。【０１８０】
続いて、プログラム２０７は、ステップ１７０６において主記憶装置２０１に記憶した各アプリケーションの情報に対して、ステップ１７１０を繰り返す（ステップ１７０９）。【０１８１】
（ステップ１７１０）例えば、現在処理対象のアプリケーションの情報において、アプリケーション名が「アプリケーション名１７ｂ」、バージョンが「バージョン１７ｂ」、実行環境が「実行環境１７ｂ」、ユーザ数が「ユーザ数１７ｂ」であるとする。プログラム２０７は、特性テーブル２１１から、アプリケーション名８０２の値が「アプリケーション名１７ｂ」と一致し、且つ、バージョン８０３の値が「バージョン１７ｂ」と一致する行内のＩＤ８０１の値「ＩＤ１７」を取得し、その後、利用状況テーブル２１２に新たな行を登録する。その新たな行には、アプリケーションＩＤ９０１として「ＩＤ１７」が設定され、実行環境９０２として「実行環境１７ｂ」が設定され、ユーザ数９０３として「ユーザ数１７ｂ」が設定される。【０１８２】
ステップ１７０６において主記憶装置２０１に記憶した全てのアプリケーションの情報に対して処理した場合、プログラム２０７の処理が終了となる（ステップ１７１１）。【０１８３】
図１８は、適性評価プログラム２０８の処理手順を表す図である。【０１８４】
適性評価プログラム２０８は、特性テーブル２１１と、利用状況テーブル２１２と、評価ポリシー２１３に基づいて、各実行環境におけるアプリケーションの適性を算出し、適性評価テーブル２１６を更新する。【０１８５】
具体的には、まず、適性評価プログラム２０８は、評価式テーブル２１４の各行に対して、ステップ１８０２からステップ１８０８を繰り返す（ステップ１８０１）。【０１８６】
（ステップ１８０２）例えば、現在処理対象の行（テーブル２１４内の行）における実行環境１００１の値が「実行環境１８」であるとする。プログラム２０８は、現在処理対象の行において評価観点を表す各列（利便性１００２、セキュリティ１００３、運用コスト１００４）に対して、ステップ１８０３からステップ１８０７を繰り返す（ステップ１８０２）。【０１８７】
（ステップ１８０３）例えば、現在処理対象の列名が「評価観点１８」であり、列の値が「評価式１８」であるとする。プログラム２０８は、利用状況テーブル２１２の各行に対して、ステップ１８０４からステップ１８０６を繰り返す（ステップ１８０３）。【０１８８】
（ステップ１８０４）例えば、現在処理対象の行におけるアプリケーションＩＤ９０１が「アプリケーションＩＤ１８」であるとする。プログラム２０８は、「評価式１８」を計算し、それにより評価値を算出する（ステップ１８０４）。その際、「評価式１８」の中に、「＄＜列名＞＠＜テーブル名＞」で示される文字列（例えば、「＄サポートＯＳ＠特性テーブル」）が存在する場合がある。本実施形態の場合、＜テーブル名＞は、「特性テーブル」または「利用状況テーブル」のいずれかである。＜テーブル名＞が「特性テーブル」の場合には、特性テーブル２１１において、アプリケーションＩＤ８０１が「アプリケーションＩＤ１８」と一致する行が選択され、列の名称が＜列名＞に一致する列の値が「＄＜列名＞＠＜テーブル名＞」と置き換えられる。＜テーブル名＞が「利用状況テーブル」の場合も同様であり、利用状況テーブル２１２において、アプリケーションＩＤ９０１が「アプリケーションＩＤ１８」と一致する行が選択され、列の名称が＜列名＞に一致する列の値を「＄＜列名＞＠＜テーブル名＞」と置き換えられる。また、「ＮＵＭ（＠＜テーブル名＞）」で示される文字列は、＜テーブル名＞のテーブルの行数で置き換えられる。「ＮＵＭ（＄＜列名１＞＝＄＜列名２＞＠＜テーブル名２＞  ｉｎ＠＜テーブル名１＞）」で示される文字列の場合、「＄＜列名２＞＠＜テーブル名２＞」は、上記の説明の通り、特性テーブル２１１または利用状況テーブル２１２における＜列名２＞の列を指し、＜テーブル名１＞のテーブルにおいて＜列名１＞の列の値が、＜列名２＞の列の値を含む行の数で置き換えられる。【０１８９】
（ステップ１８０５）プログラム２０８は、正規化式テーブル２１５において、評価観点１１０１の値が「評価観点１８」に一致する行内の正規化式１１０２を計算し、それにより値を算出する（ステップ１８０５）。その際、正規化式には、「＄＜評価観点＞」で示される文字列（例えば、「＄利便性」）が存在するため、ステップ１８０４で算出した評価値で置き換えられる。【０１９０】
（ステップ１８０６）プログラム２０８は、適性評価テーブル２１６から、アプリケーションＩＤ１２０１が「アプリケーションＩＤ１８」と一致し、且つ、実行環境１２０２が「実行環境１８」と一致する行を選択し、その行に、列の名称が「評価観点１８」と一致する列の値として、ステップ１８０５で算出した値を設定する。該当する行が存在しない場合には、プログラム２０８は、新たに行を登録する。新たな行には、アプリケーションＩＤ１２０１として「アプリケーションＩＤ１８」が設定され、実行環境１２０２として「実行環境１８」が設定される。【０１９１】
プログラム２０８は、利用状況テーブル２１２の全ての行に対して処理した場合、次のステップへ移る（ステップ１８０７）。【０１９２】
プログラム２０８は、評価式テーブル２１４の現在処理対象の行において、評価観点を表す全ての列（利便性１００２、セキュリティ１００３、運用コスト１００４）について処理した場合、次のステップへ移る（ステップ１８０８）。【０１９３】
評価式テーブル２１４の全ての行に対して処理した場合、適性評価プログラム２０８の処理が終了する（ステップ１８０９）。【０１９４】
図１９は、効果評価プログラム２０９の処理手順を表す図である。【０１９５】
効果評価プログラム２０９は、適性評価テーブル２１６に基づいて、アプリケーションの実行環境を変更した場合の効果を算出し、効果評価テーブル２１７を更新する。【０１９６】
具体的には、まず、プログラム２０９は、利用状況テーブル２１２の各行に対して、ステップ１９０２からステップ１９０８を繰り返す（ステップ１９０１）。【０１９７】
（ステップ１９０２）例えば、現在処理対象の行（テーブル２１２内の行）におけるアプリケーションＩＤ９０１が「アプリケーションＩＤ１９」、実行環境９０２が「実行環境１９ａ」であるとする。プログラム２０９は、適性評価テーブル２１６から、アプリケーションＩＤ１２０１が「アプリケーションＩＤ１９」に一致し、且つ、実行環境１２０２が「実行環境１９ａ」と一致する行を選択し、その行から、評価観点を表す各列（利便性１２０３、セキュリティ１２０４、運用コスト１２０５）の値を取得する。取得された利便性１２０３の値が「利便性１９ａ」、セキュリティ１２０４の値が「セキュリティ１９ａ」、運用コスト１２０５の値が「運用コスト１９ａ」であるとする。【０１９８】
（ステップ１９０３）プログラム２０９は、適性評価テーブル２１６において、アプリケーションＩＤ１２０１が「アプリケーションＩＤ１９」に一致し、実行環境１２０２が「実行環境１９ａ」と一致しない各行に対して、ステップ１９０４からステップ１９０７まで繰り返す。【０１９９】
（ステップ１９０４）例えば、現在処理対象の行（テーブル２１６内の行）における実行環境９０２が「実行環境１９ｂ」であり、利便性１２０３が「利便性１９ｂ」であり、セキュリティ１２０４が「セキュリティ１９ｂ」であり、運用コスト１２０５が「運用コスト１９ｂ」であるとする。プログラム２０９は、現在処理対象の行において、評価観点を表す各列（利便性１２０３、セキュリティ１２０４、運用コスト１２０５）に対してステップ１９０５を繰り返す。【０２００】
（ステップ１９０５）プログラム２０９は、現在処理対象の列の値から、ステップ１９０２で取得した値を減算し、「実行環境１９ａ」と「実行環境１９ｂ」における値の差分を算出する。具体的には、例えば、プログラム２０９は、「利便性１９ａ」と「利便性１９ｂ」との差分、「セキュリティ１９ａ」と「セキュリティ１９ｂ」との差分、及び、「運用コスト１９ａ」と「運用コスト１９ｂ」との差分を算出する。【０２０１】
（ステップ１９０６）プログラム２０９は、効果評価テーブル２１７において、アプリケーションＩＤ１３０１が「アプリケーションＩＤ１９」と一致し、変更前１３０２が「実行環境１９ａ」と一致し、且つ、変更後１３０３が「実行環境１９ｂ」と一致する行を選択する。プログラム２０９は、選択した行における、列名が現在処理対象の列の名称と一致する列に、ステップ１９０５で算出した値を設定する。該当する行が存在しない場合には、プログラム２０９は、新たに行を登録する。新たな行には、アプリケーションＩＤ１３０１として「アプリケーションＩＤ１９」が設定され、変更前１３０２として「実行環境１９ａ」が設定され、変更後１３０３として「実行環境１９ｂ」が設定される。【０２０２】
プログラム２０９は、適性評価テーブル２１６の現在処理対象の行において、評価観点を表す全ての列に対して処理を行った場合、次のステップへ移る（ステップ１９０７）。【０２０３】
プログラム２０９は、適性評価テーブル２１６において、アプリケーションＩＤ１２０１が「アプリケーションＩＤ１９」に一致し、実行環境１２０２が「実行環境１９ａ」と一致しない全ての行に対して処理を行った場合、次のステップへ移る（ステップ１９０８）。【０２０４】
利用状況テーブル２１２の全ての行に対して処理を行った場合、プログラム２０９の処理が終了する（ステップ１９０９）。【０２０５】
図２０は、優先順位算出プログラム２１０の処理手順を表す図である。【０２０６】
優先順位算出プログラム２１０は、効果評価テーブル２１７と運用管理ポリシー２１８に基づいて、実行環境を変更するアプリケーションの優先順位を算出し、変更優先順位テーブルを更新する。【０２０７】
具体的には、まず、プログラム２１０は、評価観点優先度テーブル２１９から、評価観点の優先度を取得する（ステップ２００１）。【０２０８】
続いて、プログラム２１０は、ステップ２００１で取得した評価観点の優先度の総和に対する、各評価観点の優先度の比率を算出する（ステップ２００２）。本実施形態では、図１４で説明したとおり、「運用コスト」として「３」、「セキュリティ」として「２」、「利便性」として「１」が設定されている。したがって、優先度の総和に対する「運用コスト」の優先度比率は、「０．５」となり、「セキュリティ」の優先度比率は、「０．３３」となり、「利便性」の優先度比率は、「０．１７」となる。【０２０９】
プログラム２１０は、効果評価テーブル２１７の各行に対して、ステップ２００４を繰り返す（ステップ２００３）。【０２１０】
（ステップ２００４）プログラム２１０は、現在処理対象の行（テーブル２１７内の行）において、評価観点を示す各列（利便性１３０４、セキュリティ１３０５、運用コスト１３０６）について、列の値とステップ２００２で算出した優先度比率とを乗算し、各列について乗算した結果の総和を算出する。例えば、図１３において、アプリケーションＩＤ１３０１が「１」と一致する行の場合、利便性１３０４の値が「１３」、セキュリティ１３０５の値が「２４」、運用コスト１３０６の値が「６６」であるから、算出される値は、１３×０．１７＋２４×０．３３＋６６×０．５≒４３となる。プログラム２１０は、現在処理対象の行の情報、およびステップ２００４で算出した値を、主記憶装置２０１に記憶しておく。【０２１１】
プログラム２１０は、効果評価テーブル２１７の全ての行に対して処理を実行した場合、次のステップへ移る（ステップ２００５）。【０２１２】
続いて、プログラム２１０は、ステップ２００４において主記憶装置２０１に記憶した各行の情報を、変更優先順位テーブル２２０に格納する（ステップ２００６）。その際、プログラム２１０は、処理する行の順序は、ステップ２００４において主記憶装置２０１に記憶した値（算出された値）の大きい順に行う。プログラム２１０は、現在処理対象の行におけるアプリケーションＩＤ１３０１の値が「アプリケーションＩＤ２０」、変更前１３０２の値が「変更前２０」、変更後１３０３の値が「変更後２０」である場合、対象の行に、アプリケーションＩＤ１５０２として「アプリケーションＩＤ２０」を設定し、変更前１５０３として「変更前２０」を設定し、変更後１５０４として「変更後２０」を設定する。なお、優先順位１５０１として、最初の行には「１」が設定され、それ以降の行には順に１が加算された値が設定される。【０２１３】
なお、優先順位の算出方法は上記の例に限られない。例えば、評価観点優先度テーブル２１９の優先度１４０２の値が大きい評価観点に関して、効果評価テーブル２１７に設定された評価値が大きいアプリケーションから順に、変更優先順位テーブル２２０に格納されてもよい。また、優先順位という連続した番号に代えて、優先度が算出されテーブル２２０に格納されても良い。この場合、アプリケーションの優先度として、ステップ２００４で算出された値が採用されて良い。【０２１４】
図２１は、データ更新プログラム２２３の処理手順を表す図である。【０２１５】
データ更新プログラム２２３は、図２２で説明する優先順位一覧画面２２００において更新ボタン２２０５の押下を契機として、管理サーバ１００が保持するアプリケーションなどの情報を更新する。【０２１６】
具体的には、まず、プログラム２２３は、収集プログラム２０７を呼び出す（ステップ２１０１）。【０２１７】
続いて、プログラム２２３は、適性評価プログラム２０８を呼び出す（ステップ２１０２）。【０２１８】
続いて、プログラム２２３は、効果評価プログラム２０９を呼び出す（ステップ２１０３）。【０２１９】
続いて、プログラム２２３は、優先順位算出プログラム２１０を呼び出す（ステップ２１０４）。【０２２０】
優先順位算出プログラム２１０の処理が終了したら、データ更新プログラム２２３の処理が終了する。【０２２１】
本実施形態では、更新ボタン２２０５の押下を契機にデータ更新プログラム２２３を実行する方法としたが、管理サーバ１００が定期的に実行する方法など、他の契機が採用されてもよい。【０２２２】
図２２は、優先順位一覧画面２２００を表す図である。【０２２３】
優先順位一覧画面２２００は、実行環境を変更し得るアプリケーションを、優先順位算出プログラム２１０により算出された優先順位に従って表示するための画面である。その画面２２００は、画面制御プログラム２２２によって表示装置２０６に表示される。ネットワークシステム１０内のアプリケーション毎に、アプリケーション名２２０１、実行環境の変更による効果２２０３、及び、実行環境２２０４が表示される。項目２２０１、２２０３及び２２０４を含んだ行は、アプリケーションの優先順位の高い順に表示される。なお、アプリケーションの優先順位が分かれば、他の方式で表示されても良い。【０２２４】
アプリケーション名２２０１は、特性テーブル２１１のアプリケーション名８０２から取得された値である。【０２２５】
優先順位２２０２は、画面において上位に位置するアプリケーションほど、実行環境の変更の優先順位が高く、下位に位置するアプリケーションほど、変更の優先順位が低いことを示している。つまり、表示するアプリケーションの順序は、変更優先順位テーブル２２０の優先順位１５０１に基づいて決定される。【０２２６】
実行環境の変更による効果２２０３は、運用管理上の評価観点毎に、実行環境の変更による効果を表す。その効果は、視覚的且つ直感的に把握可能なように矢印で表示する。矢印が上向きであるほど（矢印の角度が９０度に近いほど）、変更による効果が高く、矢印が水平に近いほど（矢印の角度が０度に近いほど）、変更による効果がないことを表している。各評価観点についての矢印の向き（角度）は、効果評価テーブル２１７内の各評価観点での評価値に基づいて決定される。なお、矢印に代えて又は加えて、数値（例えば、効果評価テーブル２１７内の各評価観点での評価値）が表示されても良い。【０２２７】
実行環境２２０４は、変更前の実行環境（つまり現在のアプリケーションの実行環境）と、変更後の実行環境を表している。【０２２８】
更新ボタン２２０５は、画面の表示内容を更新するためのボタンである。管理者は、クライアントから再度情報を収集して、優先順位の情報を更新したい場合に、更新ボタン２２０５を押下する。更新ボタン２２０５が押下されると、例えば画面制御プログラム２２２によって、管理サーバ１００のデータ更新プログラム２２３が呼び出される。【０２２９】
図２３は、運用管理ポリシー設定画面２３００を表す図である。【０２３０】
運用管理ポリシー設定画面２３００は、各評価観点の優先度を設定するための画面である。運用管理ポリシー設定画面２３００は、画面制御プログラム２２２によって表示装置２０６に表示される。【０２３１】
運用管理上の評価観点として、セキュリティ２３０１、ユーザ利便性２３０２及び運用コスト２３０３が設けられている。各評価観点について、優先度２３０４が有する複数段階の優先度のうちの管理者所望の優先度が選択される。【０２３２】
設定ボタン２３０５は、各評価観点について選択された優先度を評価観点優先度テーブル２１９に反映するためのボタンである。本実施形態では、優先度「高」が選択された場合は、テーブル２１９の優先度１４０２として「３」が設定され、「中」が選択された場合は「２」が設定され、「低」が選択された場合は「１」が設定される。【０２３３】
図２４は、アプリケーション情報登録画面２４００を表す図である。【０２３４】
アプリケーション情報登録画面２４００は、アプリケーションの特性を表す情報を管理サーバ１００に登録するための画面である。【０２３５】
本実施形態では、アプリケーション名の入力欄２４０１、バージョンの入力欄２４０２、パッチ公開回数の入力欄２４０３、サポートＯＳの入力欄２４０４に、それぞれ、アプリケーション名、バージョン、パッチ公開回数、サポートＯＳが入力され、登録ボタン２４０５が押下されることにより、入力された情報が特性テーブル２１１に格納される。【０２３６】
登録済みアプリケーション一覧２４０６は、既に登録済みのアプリケーションに関する情報の一覧を表す。一覧２４０６に含まれている情報は、特性テーブル２１１に格納されている情報と同じである。一覧２４０６は、特性テーブル２１１に格納されている全ての情報を有しなくても良い（例えば一部の項目に関する情報を有しなくても良い）。【０２３７】
＜評価観点の変更例＞。【０２３８】
評価ポリシー２１３において、評価式の入力となる情報は、本実施形態において示した以外にも様々に変更可能である。以下では、各運用管理上の評価観点毎に、評価式の入力情報の例を示す。【０２３９】
（Ａ）利便性
（ａ１）アプリケーションのバージョン
アプリケーションのバージョンの種類が多く、異なるバージョン間で互換性がない場合など、ユーザ間でやり取りするデータが扱えなかったり、アプリケーションの挙動が変わったりしてしまう場合、ユーザの利便性が損なわれると考えられる。そのようなアプリケーションは、ユーザが異なる複数のバージョンを同一のクライアント１０２上で実行できる仮想アプリケーションの方が適している。図８で説明した通り、アプリケーションのバージョンは、特性テーブル２１１に格納される。適性評価プログラム２０８は、評価ポリシー２１３を基に、同一のアプリケーション名を持ちバージョンの種類が多いアプリケーション（例えば、バージョンの種類が所定数より多いアプリケーション）については、仮想環境での適性が高く、物理環境での適性は低いと判断される。さらに、バージョン毎にユーザ数の偏りがなく、いずれのバージョンもよく利用されているアプリケーションについては、適性評価プログラム２０８により、仮想環境での適性がより高いと判断することもできる。バージョン毎のユーザ数は、図９で説明した通り、利用状況テーブル２１２に格納される。
（ａ２）共有ライブラリの利用有無
アプリケーションが共有ライブラリを利用する場合、別のアプリケーションが利用する共有ライブラリとの競合が起きる場合があり、アプリケーションが実行できなくなるため、ユーザの利便性が損われると考えられる。そのようなアプリケーションは、共有ライブラリの競合を意識せずにアプリケーションを実行できる仮想アプリケーションの方が適している。共有ライブラリの有無は、特性テーブル２１１に格納されてよい。また、テーブル２１１には、共有ライブラリの具体的な名称が格納されてよい。評価ポリシー２１３において、アプリケーションが共有ライブラリを利用する場合には、適性評価プログラム２０８により、仮想アプリケーションとしての適性が高く、物理アプリケーションとしての適性は低いと判断される。
（ａ３）導入時間
物理アプリケーションの場合は、ユーザが自らクライアント１０２にインストールすることができるが、仮想アプリケーションについては、管理者が仮想アプリケーションを作成してクライアント１０２に提供を開始するまでの時間が必要となる。導入時間を表す値は、実行環境に依存する固定値として評価ポリシー２１３に設定されてよい。適性評価プログラム２０８は、評価ポリシー２１３を基に、導入時間が短いアプリケーションについては、仮想環境での適性が低く、導入時間が長いアプリケーションについては、仮想環境での適性が高いと判断する。【０２４０】
（Ｂ）セキュリティ
（ｂ１）パッチ適用頻度
アプリケーションにパッチを適用する必要がある場合、パッチの適用が遅れるとセキュリティ上のリスクが高くなる。物理アプリケーションの場合、アプリケーションがインストールされる各クライアント１０２においてパッチを適用する必要があるため、アプリケーションサーバ１０１で唯一管理されている仮想アプリケーションと比較して、パッチの適用頻度が低くなる。パッチ適用頻度を表す値は、実行環境に依存する固定値として評価ポリシー２１３に設定されてよい。例えば、物理アプリケーションの場合、１回／月、仮想アプリケーションの場合、１回／週などである。適性評価プログラム２０８は、評価ポリシー２１３を基に、パッチの適用頻度の高いアプリケーションについては、仮想環境での適性が高いと判断する。さらに、物理アプリケーションの場合は、ユーザ数が多いほどパッチの適用頻度が低くなる傾向にあるため、適性評価プログラム２０８は、ユーザ数が多いアプリケーションについては、物理環境での適性が低いと判断することもできる。アプリケーションのユーザ数は、図９で説明した通り、利用状況テーブル２１２に格納される。【０２４１】
（Ｃ）運用コスト
（ｃ１）導入工数
アプリケーションを導入するために必要な作業が多いアプリケーションほど、コストが高くなる。物理アプリケーションの場合は、ユーザが自らクライアント１０２にインストールすることができるが、仮想アプリケーションの場合は、管理者による仮想アプリケーション作成の作業コストがかかる。また、仮想アプリケーションの場合、アプリケーションによって仮想アプリケーションにするための手順が異なるため、導入工数がアプリケーションによっても変わりうる。導入工数を表す値は、実施形態に依存する固定値として評価ポリシー２１３に設定されてよい。また、アプリケーション毎の導入工数の違いは、特性テーブル２１１に格納されてよい。適性評価プログラム２０８は、評価ポリシー２１３を基に、導入工数が少ないアプリケーション（例えば、導入工数が所定の値より低いアプリケーション）については、仮想環境での適性が高いと判断することができる。【０２４２】
なお、以上の説明では、上述の変更例に応じて用意される値の格納先が例示されているが、その値の格納先は、上記説明に限定されない。例えば、導入時間を表す値は、評価ポリシー２１３に設定されることに代えて、別の情報に設定されてよい。【０２４３】
（本実施形態による効果）
本実施形態によれば、物理環境とストリーミング型の仮想環境とが混在するネットワークシステム１０において、各実行環境におけるアプリケーションの適性が運用管理上の評価観点に基づいて評価され、実行環境を変更するアプリケーションの優先順位と、実行環境の変更の効果とが表示される。これにより、管理者は、アプリケーションの適切な実行環境を選択することができる。
【実施例２】
【０２４４】
続いて、本発明の第２の実施形態を説明する。その際、第１の実施形態との相違点を主に説明し、第１の実施形態との共通点については説明を省略或いは簡略する（これは、後の第３〜第６の実施形態についても同様である）。【０２４５】
第２の実施形態は、ホスト型の仮想環境が存在するネットワークシステムに関する実施形態である。クライアントは、アプリケーションサーバにおいてアプリケーションを遠隔的に実行する。【０２４６】
図２５は、本実施形態におけるアプリケーションサーバ２５０１の構成を示す図である。【０２４７】
第２の実施形態におけるアプリケーションサーバ２５０１が、第１の実施形態と異なる点は、アプリケーションをクライアント１０２へ配信するのではなく、アプリケーションサーバ１０１のＯＳ上でアプリケーションを実行し、画面情報をクライアント１０２と送受信する点にある。したがって、ディスク装置２５０４に格納されるプログラムやデータの構成が異なる。【０２４８】
ディスク装置２５０４は、第１の実施形態のディスク装置３０４と同様の記憶装置であり、アプリケーション実行プログラム３１０と、画面情報送受信プログラム３１１と、アプリケーション３１２Ａと、アプリケーション３１２Ｂとを記憶する。【０２４９】
アプリケーション３１２Ａは、物理アプリケーションでもよいし、ストリーミング型のアプリケーション仮想化技術に従う仮想アプリケーションでもよい。【０２５０】
アプリケーション３１２Ｂは、アプリケーション３１２Ａと同様に、物理アプリケーションまたは仮想アプリケーションである。【０２５１】
本実施形態では、アプリケーションは、アプリケーション３１２Ａとアプリケーション３１２Ｂの２つの構成であるが、１つまたは３つ以上の構成であっても本発明は適用可能である。【０２５２】
アプリケーション実行プログラム３１０は、アプリケーション３１２Ａまたはアプリケーション３１２Ｂを実行するプログラムであり、実行結果を画面情報送受信プログラム３１１へ送信する。また、クライアント１０２から、入力装置（例えばマウスやキーボード）を用いた画面操作の入力情報（以下、入力情報と呼ぶ）を受けた画面情報送受信プログラム３１１から要求を受け、クライアント１０２での操作と同様にアプリケーションを操作する。【０２５３】
画面情報送信プログラム３１１は、クライアント１０２からの入力情報を受け、アプリケーションの実行結果の画面（以下、応答情報）をクライアント１０２へ送信する。【０２５４】
本実施形態では、クライアント群とのインタフェースを画面情報送受信プログラム３０６が担っているが、画面情報送受信プログラム３０６とアプリケーション実行プログラム３０５は一体になっていてもよい。また、画面情報送受信プログラム３０６及び／又はアプリケーション実行プログラム３０５は、クライアントのアクセスを制限するアクセス制御機能やクライアントのアクセス履歴を記憶するログ管理機能なども有しても良い。【０２５５】
図２５は、本実施形態の概要を表す図である。なお、同図では、アプリケーションを「ＡＰ」と略記し、物理アプリケーションを「ＰＡＰ」と略記している。【０２５６】
第２の実施形態では、アプリケーションサーバ１０１のアプリケーション実行プログラム３１１がアプリケーションを実行し、画面情報送受信プログラム３１０がクライアント１０２のクライアントプログラム４０８に対して、アプリケーションの応答情報を送信する。【０２５７】
[クライアント１０２のテーブル構成]。【０２５８】
図２７は、利用履歴テーブル２６０１を表す図である。【０２５９】
図７で説明した第１の実施形態と異なる点は、ネットワーク状態７０４が追加されていることである。【０２６０】
ネットワーク状態７０４は、アプリケーションの利用時におけるクライアント１０２のネットワークの状態を表す情報が設定される。アプリケーションの実行中にネットワーク接続された状態であれば、ネットワーク状態７０４として「オンライン」が設定され、アプリケーションの実行中にネットワーク接続されていない状態であれば場合は、ネットワーク状態７０４として「オフライン」が設定される。【０２６１】
なお、ネットワーク状態７０４は、例えば、ネットワークの接続状態を確認するような、ＯＳに標準的に搭載されているプログラムから取得して設定することができる。【０２６２】
[管理サーバ２６００のテーブル構成]。【０２６３】
図２８は、利用状況テーブル２６１２を表す図である。【０２６４】
図９で説明した第１の実施形態と異なる点は、テーブル２６１２の各行が、オフライン利用率９０４を有することである。【０２６５】
オフライン利用率９０４は、アプリケーションの利用時において、ネットワークが切断されている状態の割合を表す数値である。本実施形態では、全クライアント１０２の利用履歴テーブル４１１に格納されるアプリケーションの利用履歴に対し、ネットワーク状態７０４が「オフライン」である行の比率を表す数値が、オフライン利用率９０４として設定される。図２８によれば、アプリケーションＩＤ９０１が「４」の行のオフライン利用率９０４が「０．３０」であるが、これは、アプリケーションＩＤ９０１が「４」のアプリケーションの実行のうちの３０パーセントが、ネットワークから切断されている状態で行われたことを表している。【０２６６】
図２９は、評価式テーブル２９１４を表す図である。【０２６７】
図１０で説明した第１の実施形態と異なる点は、テーブル２９１４の各行における利便性１００２の値である。【０２６８】
本実施形態では、アプリケーションの実行時におけるクライアントのネットワークの状態を評価式の入力としている。実行環境１００１が「仮想」である場合、つまり、アプリケーションサーバ１０１においてアプリケーションを実行する場合、オフラインの状態での利用はできないため、利便性１００２として「０」が設定されている。一方、実行環境１００１が「標準」である場合、利便性１００２として、オフラインの利用率が高いアプリケーションほど利便性の評価値が高くなるような情報が設定される。これにより、オフライン利用率が高い場合には、適性評価プログラム２０８によって、ネットワークの状態に依存せずに利用できる物理アプリケーションの方がユーザの利便性が高いと判断される。【０２６９】
なお、オフラインでの利用がなければ、オフライン利用率という観点からは「仮想」と「標準」に差がないため、「標準」の利便性１００２として「仮想」の利便性１００２と同じ値が設定されてよい。【０２７０】
また、第１の実施形態において、実行環境１００１が「標準」である場合に、ネットワークの状態が評価式の入力とされていないが、本実施形態では、ネットワーク状態が入力とされている。このように、対象となる実行環境が変わると、評価式の入力となる情報も変わりうる。【０２７１】
図３０は、適性評価テーブル３０１６を表す図である。【０２７２】
図１２で説明した第１の実施形態と異なる点は、図２８で説明したとおり、利用状況テーブル２６１２において、アプリケーションＩＤ９０１の値が「１」または「２」または「３」の行のオフライン利用率９０４の値が「０」であることから、本テーブル３０１６において、アプリケーションＩＤ１２０１の値が「１」または「２」または「３」の行の、利便性１２０３の値が、「０」になっている点である。一方、アプリケーションＩＤ１２０１の値が「４」と一致し、且つ実行環境１２０２の値が「標準」と一致する行の利便性１２０３の値は、「３０」となっている。これは、アプリケーションＩＤ１２０１の値が「４」のアプリケーションは、オフラインでの利用傾向があるため、ユーザの利便性という観点では、物理アプリケーションの方が、適性が高いことを示している。【０２７３】
図３１は、効果評価テーブル３１１７を表す図である。【０２７４】
図３０で説明した第１の実施形態との違いから、アプリケーションＩＤ１３０１の値が「１」または「２」または「３」の行における、利便性１３０４の値が「０」であり、アプリケーションＩＤ１３０１の値が「４」の行における利便性１３０４の値が「−３０」となっている。これは、アプリケーションＩＤ１３０１が「４」のアプリケーションは、オフラインでの利用傾向があるため、ユーザの利便性という観点からみると、物理アプリケーションの方が適しており、仮想アプリケーションへの変更による効果が低いということを表している。なお、「−３０」という値は、アプリケーションＩＤが「４」のアプリケーションについて、図３０のテーブル３０１６の「仮想」についての値「０」から、図３０のテーブル３０１６の「標準」についての値「３０」を減算することにより得られた値である。【０２７５】
図３２は、変更優先順位テーブル３２２０を表す図である。【０２７６】
図３１で説明した第１の実施形態との違いから、優先順位１５０１の値が「３」と「４」の行のアプリケーションＩＤ１５０２の値が入れ替わっている点が、第１の実施形態と異なる。これは、アプリケーションＩＤ１５０２が「４」のアプリケーションが、ユーザの利便性という観点からみると、現在の実行環境の方が適しているため、実行環境を変更する優先度が下がったことを意味する。【０２７７】
図３３は、収集プログラム３３０７の処理手順を表す図である。【０２７８】
図１７で説明した第１の実施形態と異なる点は、ステップ１７１２、ステップ１７０６、ステップ１７１０である。【０２７９】
ステップ１７１２では、収集プログラム３３０７は、ステップ１７０４で取得した利用履歴テーブル２６０１から、各アプリケーションの総実行回数と、オフライン時の実行回数とを算出する。具体的な処理手順は次のとおりである。なお、以下、ステップ１７０５で選択した、インベントリテーブル４１８の行におけるＩＤ６０１が、「ＩＤ３３」であるとする。【０２８０】
収集プログラム３３０７は、ステップ１７０４で取得した利用履歴テーブル４１９において、アプリケーションＩＤ７０１の値が「ＩＤ３３」の行の数をカウントする。カウント値が「総実行回数３３ａ」であるとする。また、それらの行のうち、収集プログラム３３０７は、ネットワーク状態７０４の値が「オフライン」の行の数をカウントする。カウント値が「オフライン実行回数３３ａ」であるとする。【０２８１】
続いて、収集プログラム３３０７は、主記憶装置２０１に、アプリケーションの情報を記憶する（ステップ１７０６）。その際、図１７で説明した、アプリケーション名、バージョン、実行環境に加え、総実行回数とオフライン実行回数とが記憶される。記憶された総実行回数が「総実行回数３３」であり、記憶されたオフライン実行回数が「オフライン実行回数３３」であるとする。なお、ステップ１７０６において、既に、アプリケーション名、バージョン、実行環境が一致するアプリケーションの情報が主記憶装置２０１に記憶されている場合は、記憶済みの総実行回数の値に「総実行回数３３ａ」が加算され、記憶済みのオフライン実行回数に「オフライン実行回数３３ａ」が加算される。【０２８２】
ステップ１７０９で選択した現在処理対象のアプリケーションの情報において、総実行回数が「総実行回数３３ｂ」であり、オフライン実行回数が「オフライン実行回数３３ｂ」であるとする。【０２８３】
ステップ１７１０において、収集プログラム３３０７は、利用状況テーブル２１２に新たな行を登録する。新たな行には、「オフライン実行回数３３ｂ」が「総実行回数３３ｂ」で除算された値が、オフライン利用率９０４として設定される。【０２８４】
＜評価観点の変更例＞。【０２８５】
評価ポリシー２１３において、評価式の入力となる情報は、本実施形態において示した以外にも様々に変更可能である。以下では、各運用管理上の評価観点毎に、評価式の入力情報の例を示す。【０２８６】
（Ｄ）利便性
（ｄ１）実行環境におけるアプリケーション処理性能
実行環境におけるアプリケーション処理性能が、アプリケーションが要求する処理性能に満たない場合、ユーザの利便性が損なわれる。「実行環境におけるアプリケーション処理性能」とは、物理アプリケーションの場合、クライアント１０２の処理性能であり、仮想アプリケーションの場合は、アプリケーションサーバ２５０１の処理性能である。処理性能とは、アプリケーションを実行する計算機の能力（例えば、ＣＰＵや主記憶装置の容量など）を表し、具体的には、例えば、ＣＰＵの場合「２．０ＧＨｚ」などと表せる。実行環境におけるアプリケーション処理性能が、アプリケーションが要求する処理性能を満たしている場合は、その実行環境での適性が高く、満たしていない場合は、その実行環境での適性が低いと判断できる。アプリケーションが要求する処理性能の値は、特性テーブル２１１に格納されてよい。クライアント１０２の処理性能は、クライアント１０２に共通の固定値として評価ポリシー２１３に設定されてよいし、クライアント１０２毎の値として、クライアント一覧テーブル２２１に格納されてよい。その場合は、クライアント１０２のエージェントプログラム４０７が、ＯＳに搭載されている標準的なプログラムを利用して、クライアント１０２の処理性能の情報を収集し、収集プログラム３３０７が各クライアント１０２のエージェントプログラム４０７から該情報を取得してよい。アプリケーションサーバ２５０１の処理性能は、実行環境に依存する固定値として評価ポリシー２１３に設定されてよい。また、アプリケーションサーバ２５０１から情報が取得されてもよい。適性評価プログラム２０８は、評価ポリシー２１３を基に、アプリケーションが要求する処理性能と実行環境におけるアプリケーション処理性能とを比較し、アプリケーションが要求する処理性能が満たされている場合は、適性が高く、満たさない場合は適性が低いと判断してよい。
（ｄ２）アプリケーション同時実行性
アプリケーションをサーバで実行することが好ましい場合であっても、サーバに物理アプリケーションをインストールする方法では、アプリケーションが複数のユーザによる同時実行を想定していない場合は、複数のユーザが同時に利用することができないため、ユーザの利便性が低い。そのようなアプリケーションの場合であっても、ホスト型のアプリケーション仮想化技術に従う仮想アプリケーションの方が適していると考えられる。アプリケーションの同時実行性は、特性テーブル２１１に格納されてよい。また、アプリケーションサーバ２５０１が、同時実行を想定していないアプリケーションへ対応する機能を有するか否かは、実行環境に依存する値として、評価ポリシー２１３に設定されてよい。適性評価プログラム２０８は、評価ポリシー２１３を基に、アプリケーションに同時実行性がなく、アプリケーションサーバ２５０１が上記機能（同時実行を想定していないアプリケーションへ対応する機能）を有する場合には、仮想アプリケーションとしての適性が高いと判断することができる。【０２８７】
（Ｅ）セキュリティ
（ｅ１）データ保存環境
アプリケーションが何らかの機密情報をデータとして扱うような場合、データがクライアント（特にノートＰＣなどのモバイル端末など）に分散している場合は、セキュリティ上のリスクが高いと考えられる。そのようなアプリケーションは、アプリケーションサーバ２５０１で集中管理する方が適していると考えられる。データ保存環境の値は、アプリケーションの利用方式に依存する値として、評価ポリシー２１３に設定されてよい。例えば、データ保存環境の値として、物理アプリケーションとしての適性が低く仮想アプリケーションとしての適性が高いと判断されるような値が設定されてよい。さらに、アプリケーションが機密情報をデータとして扱うか否かは、アプリケーションによって異なるため、扱うデータの機密性の有無が特性テーブル２１１に格納されてよい。これにより、アプリケーションごとに、アプリケーションが機密情報をデータとして扱うか否かを判断することができる。たとえば、地図や辞書などのアプリケーションの場合は、機密情報を扱うことはないが、メールやドキュメント類を扱うアプリケーションの場合は、機密情報を扱う可能性が高いため、仮想アプリケーションとしての適性が高いと判断される。【０２８８】
なお、以上の説明では、上述の変更例に応じて用意される値の格納先が例示されているが、その値の格納先は、上記説明に限定されない。例えば、アプリケーションが要求する処理性能の値は、特性テーブル２１１に代えて別の情報に設定されてよい。【０２８９】
（本実施形態による効果）
本実施形態によれば、物理環境とホスト型の仮想環境とが混在するネットワークシステム２６１０において、各実行環境におけるアプリケーションの適性が運用管理上の評価観点に基づいて評価され、実行環境を変更するアプリケーションの優先順位と、実行環境の変更の効果とが表示される。これにより、管理者は、アプリケーションの適切な実行環境を選択することができる。【０２９０】
ところで、本実施形態では、ホスト型の仮想環境を有するネットワークシステム２６１０を説明したが、そのネットワークシステム２６１０に、ストリーミング型の仮想環境が存在しても良い。つまり、第１の実施形態と第２の実施形態が組み合わされても良い。その場合、例えば、利用履歴テーブル２６０１や利用状況テーブル２６１２を、ストリーミング型の仮想環境とホスト型の仮想環境とが混在するネットワークシステムでの、アプリケーション実行環境の適性評価に使用することができる。また、第１の実施形態と第２の実施形態との組み合わせでは、評価式テーブルは、図１０に示した評価式テーブル２１４に格納されている情報と、図２９に示した評価式テーブル２９１４に格納されている情報との両方を含む。また、「評価観点の変更例」として、第１の実施形態で説明した複数の例と第２の実施形態で説明した複数の例とのうちの少なくとも一つを採用することができる。また、第１の実施形態と第２の実施形態との組み合わせでは、アプリケーション実行環境として、「標準」、「仮想（ストリーミング型）」及び「仮想（ホスト型）」の３つがあり、このため、例えば、或るアプリケーション（以下、この段落で「対象アプリケーション」と言う）について、現在の実行環境が「仮想（ストリーミング型）」の場合、「仮想（ストリーミング型）」から「標準」に変更することの効果に加えて、「仮想（ストリーミング型）」から「仮想（ホスト型）」に変更することの効果も評価される。具体的には、適性評価システム２０８によって、「標準」、「仮想（ストリーミング型）」及び「仮想（ホスト型）」のそれぞれについて、各評価観点での評価値が算出され、効果評価システム２０９によって、評価観点毎に、「仮想（ストリーミング型）」から「標準」することの効果（評価値の差分）と、「仮想（ストリーミング型）」から「仮想（ホスト型）」に変更することの効果（評価値の差分）が算出される。この結果が、優先順位一覧画面に表示される。【０２９１】
また、第１と第２の実施形態の組み合わせにおいて、実行環境「標準」に対応した評価式テーブル内の利便性１００２として、サポートＯＳに該当するＯＳを有するクライアントであるかどうかとオフライン利用率との両方に基づく評価式又は値を採用することができる。【０２９２】
なお、「仮想（ストリーミング型）」よりも「仮想（ホスト型）」の方が適性が高いケースとしては、アプリケーションが要求する処理性能がクライアントでは満たされないがアプリケーションサーバでは満たされるケースが考えられる。また、アプリケーションの扱うデータが機密情報を含むようなデータであり、セキュリティ上、アプリケーションサーバ側で管理する方が好ましいケースが考えられる。【０２９３】
逆に、「仮想（ホスト型）」よりも「仮想（ストリーミング型）」の方が適性が高いケースとしては、アプリケーションが要求する処理性能がアプリケーションサーバでは満たされないがクライアントでは満たされるケースが考えられる。また、クライアントがノートＰＣなどであり、オフラインでの利用があるケースも考えられる。
【実施例３】
【０２９４】
続いて、本発明の第３の実施形態について説明する。【０２９５】
第３の実施形態は、第１の実施形態に加えて、各実行形態におけるアプリケーションの適性が、アプリケーションおよび実行環境毎に決まるライセンス料などの課金情報に基づいて評価される。【０２９６】
図３４は、本実施形態における課金情報テーブル２２４を表す図である。【０２９７】
このテーブル２２４は、例えば、管理サーバ１００のディスク装置２０５に格納される。このテーブル２２４は、各実行環境においてアプリケーションを利用する場合にかかるライセンス料に関する情報を有する。具体的には、テーブル２２４の各行は、アプリケーションＩＤ３４０１と、標準３４０２と、仮想３４０３とを有し、一つのアプリケーションに対応している。【０２９８】
アプリケーションＩＤ３４０１は、ネットワークシステム１０で利用されているアプリケーションを一意に特定する情報であり、例えば、図８の特性テーブル２１１のＩＤ８０１の値と同じ値が設定される。【０２９９】
標準３４０２及び仮想３４０３は、各実行環境におけるライセンス料を表す数値である。標準３４０２は、物理アプリケーションとしてクライアント１０２にインストールした場合にかかるライセンス料であり、仮想３４０３は、仮想アプリケーションとしてアプリケーションサーバ１０１にインストールまたはクライアント１０２に配信した場合にかかるライセンス料を表す。【０３００】
図３４の例によれば、アプリケーションＩＤ３４０１が「１」のアプリケーションについて、物理環境にある場合には、ＣＰＵ１コアにつき１０，０００円がライセンス料として必要であり、仮想環境にある場合には、同時実行利用ユーザ数が１，０００人につき５０，０００円がライセンス料として必要であることがわかる。一方、アプリケーションＩＤ３４０１が「２」のアプリケーションについて、実行環境によらずライセンス料がかからないことがわかる。【０３０１】
課金情報テーブル２２４が有する情報は、アプリケーションを利用する際にかかるライセンス料を加味して運用コストを評価する際に利用される。【０３０２】
例えば、評価式テーブル２１４において運用コスト１００４の評価式は、実行環境１００１が「標準」と「仮想」でそれぞれ次の通り表すことができ、各実行形態に合った運用コストの評価を行うことができる。【０３０３】
「標準」の場合：
＄標準＠課金情報テーブル  ×  ＄ユーザ数＠利用状況テーブル
「仮想」の場合：
＄仮想＠課金情報テーブル  ×  ＄同時実行ユーザ数＠利用状況テーブル。【０３０４】
上記の評価式において、「＄同時実行ユーザ数＠利用状況テーブル」は、ある時間帯においてアプリケーションを同時に利用したユーザの総数を表しており、利用状況テーブル２１２に「同時実行ユーザ数」の列が設けられるとする。図１７で説明した収集プログラム２０７が、ステップ１７０４において取得した利用履歴テーブル４１９の情報を元に、同じ時間帯に利用しているユーザの総数の最大値を算出し、その最大値を、「同時実行ユーザ数」の値として設定することができる。【０３０５】
（本実施形態による効果）
本実施形態によれば、アプリケーションの実行環境によって異なるライセンス料の違いを運用コストの評価に反映することができ、以って、アプリケーション実行環境をより適切に選択することが期待できる。【０３０６】
なお、本実施形態でライセンス料を例に採っているが、ライセンス料に代えて又は加えて、アプリケーション実行環境によって異なる他種の費用を考慮することもできる。例えば、他種の費用に関する変数が、運用コストについての評価式に含まれていても良い。また、運用コスト１００４としては、実行環境別の課金方式と、アプリケーションのユーザ数との少なくも一方に基づく式又は値でよい。
【実施例４】
【０３０７】
続いて、本発明の第４の実施形態について説明する。【０３０８】
第４の実施形態は、一以上のクラウドシステムを利用するネットワークシステムに関する。【０３０９】
図３５は、本実施形態を示す全体構成図である。【０３１０】
ネットワークシステム１０に、第２のネットワーク１０４を介して、クラウドシステムＡ１０５とクラウドシステムＢ１０６とを含んだクラウドシステム群が接続されている。以後、クラウドシステム群のクラウドシステムＡ１０５またはクラウドシステムＢ１０６の任意の一つを指す時、単に「クラウドシステム」と呼ぶ。【０３１１】
第２のネットワーク１０４は、ネットワークシステム１０とクラウドシステム群を相互に通信可能に接続する通信網（例えば、インターネット、ＬＡＮ又はＷＡＮ）である。【０３１２】
クラウドシステムＡ１０５およびクラウドシステムＢ１０６は、ネットワークシステム１０で利用されているアプリケーションと同等の機能を、ネットワークを介してサービスとして提供するシステムである。以後、クラウドシステムが提供するサービスを「クラウドサービス」と呼ぶ。クラウドシステムは、ネットワークシステム１０に対して、クラウドサービスの利用状況に応じた課金を行う。本実施形態では、ユーザ数に応じて課金されるものとし、クラウドシステムＡ１０５の場合、一ユーザ当たり一月３０００円とし、クラウドシステムＢ１０６の場合、一ユーザ当たり一月７０００円とする。課金の方法としては、本実施形態のようにユーザ数に応じて固定的に課金される定額制課金もよいし、利用時間や保存するデータ量などのクラウドサービスの利用量に応じて課金される従量制課金でもよい。さらに、課金を行わないクラウドシステムの場合でも本発明は適用可能である。【０３１３】
なお、本実施形態では、クラウドシステムによって稼働率が異なる。「稼働率」とは、クラウドシステムの可用性を定量的に示す値であり、一定の時間内においてクラウドシステムが機能している時間の比率を表す。クラウドシステムＡ１０５の稼働率が０．９６であり、クラウドシステムＢ１０５の稼働率が０．９９であるとする。クラウドシステムの稼働率の情報は、例えば、Ｗｅｂなどでクラウドサービスの利用者に開示されている情報を利用することができる。【０３１４】
本実施形態では、クラウドシステムＡ１０５は、料金は安いが、可用性やセキュリティ面での信頼性が低く、クラウドシステムＢ１０６は、料金は高いが、可用性やセキュリティ面での信頼性が高いとする。【０３１５】
クライアント１０２は、第２のネットワーク１０４を介して、クラウドサービスを利用する。【０３１６】
また、本実施形態では、クラウドサービスが、ネットワークシステム１０で利用されている全てのアプリケーションと同等の機能を、同一の課金体系で提供するものとしたが、クラウドサービスによって提供するアプリケーションや課金体系が異なってもよい。【０３１７】
図３６は、本実施形態における利用状況テーブル３６１２を表す図である。【０３１８】
図９で説明した利用状況テーブル２１２との違いは、テーブル３６１２の各行が利用率９０３を有する点である。【０３１９】
利用率９０３は、ネットワークシステム１０の運用期間に対する、全てのクライアントにおけるアプリケーションの利用時間の比率を表す数値である。つまり、利用率９０３は、そのアプリケーションがどの程度頻繁に利用されているかということを定量的に表す。【０３２０】
図３７は、本実施形態における評価式テーブル３７１４を表すテーブルである。【０３２１】
図１０で説明した評価式テーブル２１４との違いは、実行環境１００１として「クラウドＡ」「クラウドＢ」が追加されていることである。「クラウドＡ」は、アプリケーションの実行環境としてクラウドシステムＡ１０５のクラウドサービスを利用することを表しており、「クラウドＢ」は、クラウドシステムＢ１０６のクラウドサービスを利用することを表している。【０３２２】
実行環境「クラウドＡ」（「クラウドＢ」）の利便性１００２は、クラウドシステムＡ（クラウドシステムＢ）の稼働率とアプリケーションの利用率とに応じた評価値を算出するための評価式である。この評価式によれば、アプリケーションの利用率が高くなるほど、アプリケーションを利用する際にクラウドシステムが停止している可能性が低いため、適性が低いと判断されることになる。また、「クラウドＡ」及び「クラウドＢの評価式によれば、クラウドシステムＡ１０５の稼働率は、クラウドシステムＢ１０６の稼働率よりも低く、アプリケーションの利用率が同じ場合でも、クラウドシステムＡが停止する可能性が高い。このため、アプリケーションの利用率が同じでも、クラウドシステムＡでの適性が低いと判断されることがある。【０３２３】
なお、アプリケーションの利用率は、利用状況テーブル２１２の利用率９０３より取得することができる。物理アプリケーションの場合は、クライアント１０２が物理的に故障したり、アプリケーションの論理障害などが発生しない限り利用可能であるため、本実施形態では、実行環境「標準」の利便性１００２として、「１００」（例えば最高値）が設定される。【０３２４】
セキュリティ１００３としては、クラウドシステムの特性に依存した固定値が設定されている。本実施形態では、クラウドシステムＡ１０５はセキュリティ上の信頼性が低いため、低い適性を表す値が設定され、クラウドシステムＢ１０６はセキュリティ上の信頼性が高いため、高い適性を表す値が設定されている。本実施形態では、クラウドシステムに依存した固定値を設定しているが、第２の実施形態で説明した通り、アプリケーションが扱うデータの機密性に応じて適性を評価する評価式を設定することもできる。【０３２５】
実行環境１００１が「クラウドＡ」および「クラウドＢ」の運用コスト１００４として、アプリケーションのユーザ数とクラウドシステムの課金額に応じて値を算出する評価式が設定される。これは、各クラウドサービスがユーザ数によって課金されるため、利用するクラウドサービスによって、運用コストが変わるためである。クラウドシステムごとの課金に関する情報は、例えば、第３の実施形態で説明したような課金情報テーブル２２４に登録しておくことができる。実行環境１００１がが「標準」の場合には、第３の実施形態で説明した通り、クライアント１０２にアプリケーションにインストールする際の１ユーザ当たりの課金額が設定され、評価式では課金額とユーザ数を乗算した値を算出することができる。【０３２６】
本実施形態によって、アプリケーションの利用率とクラウドサービスの稼働率や、課金体系を考慮して実行環境を評価することが可能になる。【０３２７】
＜評価観点の変更例＞。【０３２８】
評価ポリシー２１３において、評価式の入力となる情報は、本実施形態において示した以外にも様々に変更可能である。以下では、各運用管理上の評価観点毎に、評価式の入力情報の例を示す。【０３２９】
（Ｆ）運用コスト
（ｆ１）ネットワークトラフィック量、データ量、利用時間
クラウドサービスが、ネットワークのトラフィック量や、クラウドシステムに保存するデータ量、クラウドサービスの利用時間によって課金する場合、それぞれ、アプリケーションのネットワークトラフィック量や、保存するデータ量、アプリケーションの実行時間に基づいて適性を評価することができる。アプリケーションが利用するデータのネットワークトラフィック量、データ量、実行時間は、利用状況テーブル２１２に格納されてよい。評価ポリシー２１３において、これらの情報とクラウドサービスの課金体系に基づいて、適性評価プログラム２０８は、クラウドサービスの利用に必要な運用コストを評価する。運用コストが高い場合は、クラウドサービスにおける適性が低いと判断することができる。【０３３０】
また、データ量やネットワークトラフィック量以外にも、サーバ数などのその他のリソースについても、本発明を適用可能である。【０３３１】
なお、本発明は、ネットワークシステム１０とクラウドシステム間でアプリケーションの移行を支援するだけではなく、クラウドシステム間での移行にも適用することができ、各クラウドシステムの稼働率や課金体系に基づいて、各アプリケーションの機能を提供する最適なクラウドシステムを選択することができる。その場合、アプリケーションの利用状況といった情報は、クラウドシステムから取得する。【０３３２】
また、本実施形態では、クライアント１０２にインストールされている物理アプリケーションを例示しているが、例えば社内の勤休システムやＷｅｂシステムなどのアプリケーションについても適用可能である。その場合、特性テーブル２１１には、管理者が該システムの要求スペックや許容されるダウンタイムなどの特性情報を入力する。利用状況テーブル２１２には、該システムを利用しているユーザ数や保存しているデータ量などの情報を該システムから取得して設定することができる。これにより、ネットワークシステム１０内の該システムと、クラウドサービス上の該システムを比較し、より適切な実行環境をすることが可能になる。【０３３３】
（本実施形態による効果）
本実施形態によれば、一以上のクラウドシステムを利用するネットワークシステムにおいて、各実行環境におけるアプリケーションの適性が運用管理上の評価観点に基づいて評価され、実行環境を変更するアプリケーションの優先度および変更の効果が提示される。これにより、管理者は、アプリケーションにとって適切な実行環境を選択することができる。
【実施例５】
【０３３４】
続いて、本発明の第５の実施形態について説明する。【０３３５】
第５の実施形態では、優先順位一覧画面が、第１から第４の実施形態における優先順位一覧画面２２００と異なる。【０３３６】
図３８は、本実施形態における優先順位一覧画面３８００を表す図である。【０３３７】
図２２で説明した優先順位一覧画面２２００との違いは、移行対象チェックボックス２２０６と移行ボタン２２０７が設けられている点である。【０３３８】
移行対象チェックボックス２２０６は、優先順位一覧画面２２００に表示されたアプリケーションのうち、実行環境を変更するアプリケーションを選択するためのチェックボックスである。アプリケーションの選択のため方法としては、チェックボックスを利用する以外の方法が採用されても良い（例えばアプリケーションＩＤを入力する方法が採用されても良い）。【０３３９】
移行ボタン２２０７は、移行対象チェックボックス２２０６で選択されたアプリケーションの実行環境を変更するためのボタンである。移行ボタン２２０７が押下された場合に、管理サーバ（例えば、管理サーバ内のＣＰＵで実行される環境変更プログラム）が、アプリケーションの実行環境を変更する。具体的には、例えば、管理サーバ１００は、所定のプログラムを実行することによって、クライアントのアプリケーションやデータを自動的にクラウドサービスへ転送する。これにより、例えば、「標準」から「クラウド環境」への移行が行われたことになる。【０３４０】
（本実施形態による効果）
本実施形態により、管理者は、優先順位一覧画面３８００を参照し、表示される優先順位に従って、実行環境を変更するアプリケーションを選択するだけで、実行環境を変更することができる。このため、アプリケーションの移行にかかるコストの削減が期待できる。
【実施例６】
【０３４１】
続いて、本発明の第６の実施形態について説明する。【０３４２】
第６の実施形態では、評価対象のアプリケーションを絞り込むための条件が設けられる。当該条件に適合しないアプリケーションについては、アプリケーションの適性が評価されない。条件は、例えば、一種類以上のアプリケーション情報（例えばユーザ数）に対応した閾値で構成される。【０３４３】
図３９は、本実施形態における閾値テーブル２２５を表す図である。【０３４４】
このテーブル２２５は、例えば、管理サーバのディスク装置に格納され、具体的には、例えば、評価ポリシー２１３に含まれる。このテーブル２２５の各行は、実行環境３９０１と条件式３９０２とを有し、一つの実行環境に対応している。【０３４５】
実行環境３９０１は、アプリケーションの実行環境を表す情報である。設定される値は、例えば、図６のインベントリテーブル４１８の実行環境６０４と同じ値である。【０３４６】
条件式３９０２は、アプリケーションの実行環境３９０１における適性を評価する否かを表す条件式を表す情報である。条件式を満たす場合、アプリケーションの適性が評価され、満たさない場合は、アプリケーションの適性が評価されない。つまり、条件を満たさない場合は、該アプリケーションの実行環境への変更の優先順位は、優先順位一覧画面２２００に表示されない。【０３４７】
本実施形態では、実行環境３９０１の値が「仮想」である場合、アプリケーションの仮想化可能性、ユーザ数や利用予定期間、最終利用時間、関連アプリケーションの有無を条件式として設定しており、仮想アプリケーションにすることが可能なアプリケーションのうち、ユーザ数が１０００人以上で、６ヶ月未満に利用履歴があり、別のアプリケーションとの連携がないアプリケーションである場合にのみ、適性を評価するものである。これは、仮想アプリケーションとすることができない場合や、ユーザ数が少なかったり、利用頻度の低いアプリケーションを移行することによるコストメリットがなかったりする場合や、連携するアプリケーションが存在するため実行環境を変更することができない場合には、そもそも適性を評価する意味がないということを示している。従って、上記条件式は、適性を評価する必要性のないアプリケーションに該当する条件式とすることができる。【０３４８】
仮想化可能性を表す情報は、特性テーブル２１１に設定されてよい。ユーザ数や最終利用時間、関連アプリケーションの有無は、利用状況テーブル２１２に設定されてよい。関連アプリケーションの有無は、クライアント１０２のエージェントプログラム４０７が、クライアント１０２内のプロセス間の通信やＨＴＴＰ通信などの通信状況を監視して、連携するアプリケーションの有無を検知することもできるし、アプリケーションの設定情報から連携するアプリケーションの有無を検知することもできる。アプリケーション間連携を行うアプリケーションの例としては、統合開発環境（IDE：Integrated Development Environment）とＷｅｂサーバ、データベースサーバなどである。【０３４９】
本実施形態では、上記の条件式としたが、条件式は上記以外にも変更可能である。【０３５０】
また、条件式３９０２に「ユーザ名」や「最終利用時間」のようにテーブルの情報を省略して記述しているが、正確には図１８で説明した「＄＜列名＞＠＜テーブル名＞」のように列名およびテーブル名を記述することができる。【０３５１】
また、簡単のため条件式３９０２に複数の式をまとめて記述しているが、正規化して別テーブルとしてもよい。【０３５２】
また、図１０および図１１で説明したとおり、評価ポリシー２１３は予め管理サーバ１００に格納されているものとするが、管理者が入力してもよい。【０３５３】
図４０は、本実施形態における適性評価プログラム４００８の処理手順を表す図である。【０３５４】
図１８に説明した、第１の実施形態と異なる点は、ステップ１８１０で、閾値テーブル２２５を基にアプリケーションの適性を評価するか否かが判定される点である。以下に詳細に説明する。【０３５５】
ステップ１８１０では、閾値テーブル２２５における実行環境３９０１の値が「実行環境１８」と一致する行の条件式３９０２を評価する。評価の結果が真である場合は、ステップ１８０４へ遷移する。評価の結果が偽である場合は、ステップ１８０７へ遷移し、処理対象を次のアプリケーションへと移す。【０３５６】
（本実施形態による効果）
本実施形態によれば、適性が評価されるアプリケーションが限定される。例えば、実行環境の変更の必要性が低いアプリケーションについては適性が評価されない。その結果、優先順位一覧画面２２００に表示される情報（アプリケーションの選択肢）が絞られる。このため、管理者がアプリケーションを移行すべきか否かを判断するのに要する負担を軽減することが可能になる。【０３５７】
以上、本発明の幾つかの実施形態を説明したが、本発明は、これらの実施形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。【０３５８】
例えば、前述したいずれの実施形態でも、実行環境の変更の効果が表示されるが、実行環境の変更の効果に代えて又は加えて、各アプリケーションについて、実行環境の種類毎に適性を表す評価値（例えば、各評価観点の評価値）が表示されても良い。【０３５９】
また、実行環境の変更の候補の優先順位（アプリケーションの優先順位）の算出に、評価観点の優先度は必ずしも利用されなくても良い。【０３６０】
また、例えば、第１と第２の実施形態を組み合わせることができることは前述した通りであるが、それに限らず、第１〜第６の実施形態のうちの任意の二以上の実施形態を組み合わせることができる。このため、一つのネットワークシステムに、４種類の実行環境、すなわち、物理環境、仮想環境（ストリーミング型）、仮想環境（ホスト型）及び一以上のクラウド環境が混在することが可能である。実行環境の種類の数は、２以上であれば、４より多くても少なくても良い。実行環境の種類の数をＮとした場合（Ｎは二以上の整数）、効果評価プログラムによって、一つのアプリケーションにつき、（Ｎ−１）通りの変更効果が評価される。例えば、実行環境としてＸ１、Ｘ２、Ｘ３及びＸ４の四種類があり、現在の実行環境がＸ１の場合、管理サーバによって、３通りの変更効果（Ｘ１からＸ２、Ｘ１からＸ３、及び、Ｘ１からＸ４への変更のそれぞれについての効果）が評価される。各変更効果が、評価観点毎の変更効果評価値（例えば、図１３の評価観点１３０４〜１３０６についてのそれぞれの値）を有する。なお、少なくとも一つの変更効果が、複数の評価観点に従う変更効果評価値に基づいて算出された総合評価値（例えば、複数の変更効果評価値の合計）を有しても良い。【０３６１】
また、前述した第５の実施形態が、一以上の他の実施形態に組み合わされれば、一方の実行環境から他方の実行環境への変更が行われる。実行環境としては、物理環境、仮想環境（ストリーミング型）、仮想環境（ホスト型）及びクラウド環境のいずれも採用可能である。例えば、物理環境から仮想環境（ストリーミング型）への変更の場合、管理サーバが、クライアント１０２に物理アプリケーションのアンイントールを実行させ、物理アプリケーションとして実行されていたアプリケーションプログラムを含んだ仮想アプリケーションをアプリケーションサーバからクライアント１０２に配信させてもよい。このように、管理サーバは、どのような実行環境からどのような実行環境に変更されるかに応じた処理を実行することができる。【０３６２】
また、例えば、上述の説明によれば、或る実行環境におけるアプリケーションの適性が評価されるが、別の観点から、アプリケーションのタイプの適性が評価されると言うこともできる。具体的には、例えば、適性評価プログラムは、或るアプリケーション（以下、「アプリケーションＴ」という）について、アプリケーションタイプ毎の適性を表す評価値（例えば各評価観点についての評価値）を算出する。アプリケーションタイプとして、例えば、物理アプリケーションであることを意味する「物理タイプ」、ストリーミング型のアプリケーション仮想化技術に従う仮想アプリケーションであることを意味する「仮想タイプＳ」、ホスト型のアプリケーション仮想化技術に従う仮想アプリケーションであることを意味する「仮想タイプＨ」、及び、クラウドシステムで実行されるアプリケーションであることを意味する「クラウドタイプ」のうちの少なくとも二つがある。効果評価プログラムは、アプリケーションＴについて、現在のアプリケーションタイプ（例えば物理タイプ）の評価値と一以上の別のアプリケーションタイプ（例えば仮想タイプＳ）の評価値との差分を算出する。その差分に従う効果（例えば、矢印の向き（角度））が表示される。
【符号の説明】
【０３６３】
１００・・・管理サーバ
【図１】
2011018827.tif 000003
【図２】
2011018827.tif 000004
【図３】
2011018827.tif 000005
【図４】
2011018827.tif 000006
【図５】
2011018827.tif 000007
【図６】
2011018827.tif 000008
【図７】
2011018827.tif 000009
【図８】
2011018827.tif 000010
【図９】
2011018827.tif 000011
【図１０】
2011018827.tif 000012
【図１１】
2011018827.tif 000013
【図１２】
2011018827.tif 000014
【図１３】
2011018827.tif 000015
【図１４】
2011018827.tif 000016
【図１５】
2011018827.tif 000017
【図１６】
2011018827.tif 000018
【図１７】
2011018827.tif 000019
【図１８】
2011018827.tif 000020
【図１９】
2011018827.tif 000021
【図２０】
2011018827.tif 000022
【図２１】
2011018827.tif 000023
【図２２】
2011018827.tif 000024
【図２３】
2011018827.tif 000025
【図２４】
2011018827.tif 000026
【図２５】
2011018827.tif 000027
【図２６】
2011018827.tif 000028
【図２７】
2011018827.tif 000029
【図２８】
2011018827.tif 000030
【図２９】
2011018827.tif 000031
【図３０】
2011018827.tif 000032
【図３１】
2011018827.tif 000033
【図３２】
2011018827.tif 000034
【図３３】
2011018827.tif 000035
【図３４】
2011018827.tif 000036
【図３５】
2011018827.tif 000037
【図３６】
2011018827.tif 000038
【図３７】
2011018827.tif 000039
【図３８】
2011018827.tif 000040
【図３９】
2011018827.tif 000041
【図４０】
2011018827.tif 000042
【国際調査報告】
2011018827.tif 000043
2011018827.tif 000044
2011018827.tif 000045