(57)【要約】      （修正有）【課題】複数のホストから構成される情報システムにおいて、一つのホストをメンテナンス等のため停止させた場合の全体への影響を少なくするため、機能的に関連のあるプロセスをホストに集約する。この場合に、プロセスの関係性に関する情報を必要とせずに、最適な情報システムの構成を提示する。【解決手段】プロセス配置支援装置１が、情報システムを構成するプロセス間の通信を監視し、プロセス間の関連性を数値化して関連度として算出し、情報システムを構成する監視対象ホストから収集した性能情報と関連度から、最適なプロセスの配置を算出する。【選択図】図２
2010128652.tif 000002
【特許請求の範囲】
【請求項１】
複数のホストにネットワークを介して接続されるプロセス配置支援装置が、前記複数のホストに配置されたプロセス間の通信を監視することにより、前記プロセスの配置を支援するプロセス配置支援システムであって、
前記プロセス配置支援装置は、
前記複数のホストとの情報の送受信を行う通信部と、
前記プロセス間の通信情報を収集する前記複数のホストから、前記通信部を介して取得した前記通信情報を記憶する記憶部と、
前記複数のホストにおける前記プロセスの配置を表示する表示部と、
前記記憶部に記憶された前記通信情報を用いて前記プロセス間の関連性を示す関連度を算出し、前記算出した関連度と前記複数のホストから前記通信部を介して取得した前記複数のホストの性能情報とを用いて、前記複数のホストにおけるプロセス配置を算出し、前記表示部に表示させる制御部と、
を備えることを特徴とするプロセス配置支援システム。
【請求項２】
複数のホストにネットワークを介して接続されるプロセス配置支援装置が、前記複数のホストに配置されたプロセス間の通信を監視することにより、前記プロセスの配置を支援するプロセス配置支援システムであって、
前記ホストは、
前記プロセス同士による情報通信であるプロセス間通信を実行するプラグラム実行部と、
前記プロセス配置支援装置との情報の送受信を行う通信部と、
前記ホストにおける単位時間当たりのダイナミックステップ上限およびメモリ所要量上限を含むホスト性能限界情報を収集するホスト性能限界値情報収集部と、
前記プロセス間通信を監視し、前記プロセス間通信の送信元、送信先、および送信量を含むプロセス間通信情報を収集するプロセス間通信情報収集部と、
前記プログラム実行部により前記プロセスが実行されたときのダイナミックステップおよびメモリ所要量を含む稼働性能情報を取得する稼動性能情報収集部と、
前記ホスト性能限界値情報、前記プロセス間通信情報、および前記稼動性能情報を記憶する記憶部と、
前記記憶部に記憶された前記ホスト性能限界値情報、前記プロセス間通信情報、および前記稼動性能情報を、前記通信部を介して前記プロセス配置支援装置へ送信する管理部とを備え、
前記プロセス配置支援装置は、
前記複数のホストとの情報の送受信を行う通信部と、
前記複数のホストにおける前記プロセスの配置を表示する表示部と、
前記通信部を介して前記プロセス間通信情報を取得し、前記プロセス間通信において送受信を行った前記プロセスの組み合わせごとの通信量と、通信回数と、前記通信量および前記通信回数を用いて算出され前記プロセス間の関連性を示す関連度とを含むプロセス間関連情報を作成するプロセス間関連情報作成部と、
前記作成したプロセス間関連情報を前記表示部に表示させるプロセス間関連情報表示制御部と、
前記通信部を介して、前記複数のホストから前記ホスト性能限界値情報を取得し、ホスト性能限界値一覧情報を作成するホスト性能限界値一覧情報作成部と、
前記プロセス間関連情報および前記ホスト性能限界値一覧情報を記憶する記憶部と、
前記記憶部に記憶されたプロセス間関連情報、前記ホスト性能限界値一覧情報、および前記複数のホストから前記通信部を介して取得する前記稼動性能情報を用いて、前記複数のホストにおける前記プロセスの配置を算出し、前記表示部に表示させる配置情報生成部と、
を備えることを特徴とするプロセス配置支援システム。
【請求項３】
前記プロセス間関連情報表示制御部は、前記表示部に前記プロセス間関連情報を表示させる場合に、前記プロセス間通信における前記プロセスの組み合わせごとの前記通信回数の頻度を前記プロセス間の距離で表わし、前記通信量の多さを前記プロセス間の線分の太さで表わし、前記プロセス間の通信方向の偏りを矢印で表わすことを特徴とする請求項２に記載のプロセス配置支援システム。
【請求項４】
複数のホストにネットワークを介して接続され、前記複数のホストに配置されたプロセス間の通信を監視することにより、前記プロセスの配置を支援するプロセス配置支援装置であって、
前記複数のホストとの情報の送受信を行う通信部と、
前記複数のホストにおける前記プロセスの配置を表示する表示部と、
前記複数のホストが収集した前記プロセス間の送信元、送信先、および送信量を含むプロセス間通信情報を前記通信部を介して取得し、前記プロセス間において送受信を行った前記プロセスの組み合わせごとの通信量と、通信回数と、前記通信量および前記通信回数を用いて算出され前記プロセス間の関連性を示す関連度とを含むプロセス間関連情報を作成するプロセス間関連情報作成部と、
前記作成したプロセス間関連情報を前記表示部に表示させるプロセス間関連情報表示制御部と、
前記通信部を介して、前記複数のホストから各ホストにおける単位時間当たりのダイナミックステップ上限およびメモリ所要量上限を含むホスト性能限界値情報を取得し、ホスト性能限界値一覧情報を作成するホスト性能限界値一覧情報作成部と、
前記プロセス間関連情報および前記ホスト性能限界値一覧情報を記憶する記憶部と、
前記記憶部に記憶されたプロセス間関連情報、前記ホスト性能限界値一覧情報、および前記複数のホストから前記通信部を介して取得する前記プロセスが実行されたときのダイナミックステップとメモリ所要量とを含む稼動性能情報を用いて、前記複数のホストにおける前記プロセスの配置を算出し、前記表示部に表示させる配置情報生成部と、
を備えることを特徴とするプロセス配置支援装置。
【請求項５】
複数のホストにネットワークを介して接続されるプロセス配置支援装置が、前記複数のホストに配置されたプロセス間の通信を監視することにより、前記プロセスの配置を支援するプロセス配置支援システムにおけるプロセス配置支援方法であって、
前記ホストは、
前記プロセス同士による情報通信であるプロセス間通信を実行するプラグラム実行部と、前記プロセス配置支援装置との情報の送受信を行う通信部と、前記プロセス間の通信情報を記憶する記憶部とを備え、
前記ホストにおける単位時間当たりのダイナミックステップ上限およびメモリ所要量上限を含むホスト性能限界情報を収集し、
前記プロセス間通信を監視して前記プロセス間通信の送信元、送信先、および送信量を含むプロセス間通信情報を収集し、
前記プロセスが実行されたときのダイナミックステップおよびメモリ所要量を含む稼働性能情報を取得し、
前記ホスト性能限界値情報、前記プロセス間通信情報、および前記稼動性能情報を前記記憶部に記憶し、
前記記憶部に記憶された前記ホスト性能限界値情報、前記プロセス間通信情報、および前記稼動性能情報を、前記通信部を介して前記プロセス配置支援装置へ送信し、
前記プロセス配置支援装置は、
前記複数のホストとの情報の送受信を行う通信部と、前記複数のホストにおける前記プロセスの配置を表示する表示部と、前記複数のホストから前記通信部を介して受信した通信情報を記憶する記憶部とを備え、
前記通信部を介して前記プロセス間通信情報を取得し、前記プロセス間通信において送受信を行った前記プロセスの組み合わせごとの通信量と、通信回数と、前記通信量および前記通信回数を用いて算出され前記プロセス間の関連性を示す関連度とを含むプロセス間関連情報を作成し、
前記作成したプロセス間関連情報を前記表示部に表示し、
前記通信部を介して、前記複数のホストから前記ホスト性能限界値情報を取得し、ホスト性能限界値一覧情報を作成し、
前記プロセス間関連情報および前記ホスト性能限界値一覧情報を前記記憶部に記憶し、
前記記憶部に記憶されたプロセス間関連情報、前記ホスト性能限界値一覧情報、および前記複数のホストから前記通信部を介して取得する前記稼動性能情報を用いて、前記複数のホストにおける前記プロセスの配置を算出し、前記表示部に表示させること、
を特徴とするプロセス配置支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセス配置支援システム、プロセス配置支援装置およびプロセス配置支援方法に関する。
【背景技術】
【０００２】
情報システムの構築・改善において、従来様々な手法やツールが使用されてきた。例えば、既存システム内のデータをＣＡＳＥ（Computer Aided Software Engineering：コンピュータ支援ソフトウェア工学）ツールが提供するデータフロー・ダイアグラム等の表示機能を用いて表示させ、情報システムの分析を行う技術が開示されている（特許文献１参照）。
【特許文献１】特開平１０−１６１８５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１に記載された技術は、作業者の人的能力に依存せずに、情報システムの分析が可能になるものの、最適な情報システムの構成を使用者に提示するものではない。
また、複数のホストから構成される情報システムは、運用時、メンテナンスのため定期的にホストを停止させる必要がある。このホスト停止により情報システムは、一部または全部の機能が使用できなくなることがある。特に、一つのホストが複数の機能を担っている場合に、その影響は大きく、このホスト停止の影響を少なくする方法の一つとして、計画時にプロセスを機能ごとにホストへ割り当てるものがある。しかし複数のホストに複数のプロセスを配置すると情報システムが複雑になり、使用者がプロセス同士の機能的な関連を把握することが難しく、最適な情報システムを構築、改善することがより困難となる。
【０００４】
従来技術は、前記課題に対して、既にシステムの構成定義が存在することを前提として動作するものであった。しかし、それでは構成定義が取得できないアプリケーションを含んだシステムには対応できない。 
このような背景に鑑みて本発明がなされたのであり、本発明は、プロセスの関連情報を必要とせずに、プロセス同士の機能的な関連を考慮したプロセスの最適な配置を使用者に提示することを課題とする。
【課題を解決するための手段】
【０００５】
前記課題を解決するため、本発明のプロセス配置支援システム、プロセス配置支援装置およびプロセス配置支援方法は、情報システムを構成するプロセス間の通信を監視し、通信量と回数から、プロセス間の関連性を数値化して関連度として算出し、情報システムを構成するホストから収集した性能情報と数値化された関連度から、最適なプロセスの配置を算出することを特徴とする。
なお、ここでプロセスとは、ＯＳ（Operating System）から記憶領域やディスク資源を割り当てられて処理を実行する、計算機における処理の一単位をいい、プロセス同士はＯＳにより分離された上で、プロセス間の通信が可能となっている。
【発明の効果】
【０００６】
本発明によれば、プロセス間の機能的な関連を考慮した最適な情報システムの構成を提示することができるプロセス配置支援システム、プロセス配置支援装置およびプロセス配置支援方法を提供することができる。
【発明を実施するための最良の形態】
【０００７】
次に、本発明の実施するための最良の形態（実施形態という）について、適宜図面を参照しながら詳細に説明する。
【０００８】
図1は、本実施形態に係るプロセス配置支援システムの構成例を示す図である。
管理サーバ（プロセス配置支援装置）１はネットワーク３を介して複数の監視対象ホスト（ホスト）２に接続されている。各監視対象ホスト２にはそれぞれプロセスが記憶され、それらのプロセスが実行されることにより情報システムが構築されている。
【０００９】
図２は、本実施形態に係る管理サーバ（プロセス配置支援装置）の構成例を示す機能ブロック図である。また、図３は、本実施形態に係る監視対象ホストの構成例を示す機能ブロック図である。まず、図３を参照して、監視対象ホスト２について説明する。
【００１０】
図３に示すように、監視対象ホスト２は、メモリ部２１と、ＣＰＵ（Central Processing Unit）２２と、通信部２３と、補助記憶部２４と、入出力部２５とを含んで構成される。
【００１１】
メモリ部２１は、ＲＡＭ（Random Access Memory）等の一次記憶装置からなり、メモリ部２１上には稼動情報監視制御部２１０とプログラム実行部２２０が読み込まれている。
【００１２】
稼動情報監視制御部２１０は、プロセス間通信に関する情報や監視対象ホスト２の性能情報を収集し、ホスト性能限界値情報収集部２１１と、プロセス間通信情報収集部２１２と、稼動性能情報収集部２１３と、管理部２１４とを含んで構成される。
【００１３】
ホスト性能限界値情報収集部２１１は、監視対象ホスト２における時間あたりのダイナミックステップ上限や、メモリ所要量上限等の性能限界値を、ＯＳが管理する情報やハードウェアの構成情報から取得し、後記する補助記憶部２４のホスト性能限界値情報４００に記憶する。このホスト性能限界値情報収集部２１１は、稼動情報監視制御部２１０の起動時に実行される。なお、ホスト性能限界値情報４００の具体的なデータ構成については、後記する図４において説明する。
【００１４】
プロセス間通信情報収集部２１２は、監視対象ホスト２で実行されるプロセス間通信を監視し、プロセス間通信が実行されるとプロセス名、ポート番号、送信量等の通信情報を収集し、補助記憶部２４のプロセス間通信情報５００に記憶する。なお、プロセス間通信情報５００の具体的なデータ構成については、後記する図５において説明する。
【００１５】
稼働性能情報収集部２１３は、所定の周期ごとに、監視対象ホスト２上で動作する各プロセスについて、時間あたりのダイナミックステップやメモリ所要量等の性能情報を取得し、補助記憶部２４の稼働性能情報６００に記憶する。なお、稼動性能情報６００の具体的なデータ構成については、後記する図６において説明する。
【００１６】
管理部２１４は、後記する管理サーバ１の制御部１１０からの要求に応じて、ホスト性能限界値情報４００と、プロセス間通信情報５００と、稼働性能情報６００とに記憶された情報を取得し、通信部２３およびネットワーク３を介して管理サーバ１へ送信する。
【００１７】
次に、プログラム実行部２２０は、プロセス２１１間のデータ通信の制御やプロセス２１１の実行処理を行う。このプログラム実行部２２０がＣＰＵ２２を介して複数のプロセス２１１を実行するときにプロセス間通信が発生し、これを稼動情報監視制御部２１０が監視する。
【００１８】
なお、この稼動情報監視制御部２１０とプログラム実行部２２０とは、例えば、監視対象ホスト２の補助記憶部２４に記憶されたプログラムを、ＣＰＵ２２がメモリ部２１上に展開し実行することで実現されるものである。
【００１９】
次に、補助記憶部２４は、フラッシュメモリ、ハードディスク等の記憶手段からなり、ホスト性能限界値情報４００、プロセス間通信情報５００、および稼動性能情報６００を含んで構成される。
【００２０】
図４は、本実施形態に係るホスト性能限界値情報の一例を示す図である。
ホスト性能限界値情報４００には、ホスト性能限界値情報収集部２１１の処理により、監視対象ホスト２における性能上の限界値が記憶される。
図４に示すように、ホスト性能限界値情報４００には、ホスト名４０１、そして当該ホストのダイナミックステップ上限４０２、メモリ所要量上限４０３をデータ項目として含む。図４は監視対象ホスト２のホスト名４０１が「ＨＯＳＴ１」のホスト性能限界値情報４００を示している。
【００２１】
図５は、本実施形態に係るプロセス間通信情報の一例を示す図である。
プロセス間通信情報５００には、プロセス間通信情報収集部２１２の処理により、監視対象ホスト２に存在する各プロセスで行われたプロセス間通信の情報が記憶される。
ここで、管理サーバ１と監視対象ホスト２の間、または監視対象ホスト２間のネットワーク３の通信は、例えばＴＣＴ／ＩＰ（Transmission Control Protocol/Internet Protocol）を用いて行われ、通信相手のプロセスの指定は通信先のホスト名（ＩＰアドレス）とポート番号を用いて行うものとする。
【００２２】
図５に示すように、プロセス間通信情報５００には、通信時刻５０１、通信元ホスト名５０２、通信元プロセス名５０３、通信元ポート番号５０４、通信先ホスト名５０５、通信先ポート番号５０６、送信量５０７をデータ項目として含む。
ここで、送信量５０７のデータに付された「＋（正）」と「−（負）」は、データの送受信の方向を意味する。例えは、図５に示す一行目のプロセス間通信情報５００においては、送信量が「＋」であることから、「ＨＯＳＴ１」の「プロセスＡ」（「ポート番号10030」）から「ＨＯＳＴ１」の「ポート番号10050」へ向けてデータが送信されたことを意味する。一方、二行目のプロセス間通信情報においては、送信量が「−（負）」であることから、「ＨＯＳＴ１」の「プロセスＢ」（「ポート番号10026」）がデータを「ＨＯＳＴ１」の「ポート番号10065」から受信したことを意味する。  
【００２３】
図６は、本実施形態に係る稼動性能情報の一例を示す図である。
稼動性能情報６００には、稼動性能情報収集部２１３の処理により、監視対象ホスト２に存在する各プロセスの時間あたりのダイナミックステップやメモリ所要量等の、稼働性能値が記憶される。
図６に示すように、稼動性能情報６００には、収集時刻６０１、プロセス名６０２、ダイナミックステップ６０３、メモリ所要量６０４をデータ項目として含む。
【００２４】
図３に戻り、ＣＰＵ２２は、監視対象ホスト２の全体の制御および演算を行う。通信部２３は、ネットワーク３を介して補助記憶部２４に記憶されたホスト性能限界値情報４００、プロセス間通信情報５００、稼動性能情報６００等のデータを送受信する。また、入出力部２５は、キーボードやタッチパネル等からなり、各プロセスに関する処理や、監視対象ホスト２の制御に関する使用者からの指示を受け付け、モニタ等により処理内容を表示する。
【００２５】
次に、図２を参照して管理サーバ（プロセス配置支援装置）１について説明する。
管理サーバ１は、メモリ部１１と、ＣＰＵ１２と、通信部１３と、補助記憶部１４と、表示部１５と、入力部１６とを含んで構成される。
【００２６】
メモリ部１１は、ＲＡＭ等の一次記憶装置からなり、メモリ部１１上には制御部１１０が読み込まれている。
【００２７】
制御部１１０は、監視対象ホスト２から受信したプロセス間の通信に関する情報を収集し、プロセスの最適配置の算出を行うための制御を行い、プロセス間関連情報作成部１１１と、プロセス間関連情報表示制御部１１２と、ホスト性能限界値一覧情報作成部１１３と、配置情報生成部１１４とを含んで構成される。なお、この制御部１１０は、例えば、管理サーバ１の補助記憶部１４に記憶されたプログラムを、ＣＰＵ１２がメモリ部１１上に展開し実行することで実現される。
【００２８】
プロセス間関連情報作成部１１１は、通信部１３を介してネットワーク３に接続されている各監視対象ホスト２からプロセス間通信情報５００（図３，図５参照）を取得し、実行されたプロセス間通信のプロセスの組み合わせごとの通信状況を示すプロセス間関連情報７００を作成する。そしてプロセス間関連情報作成部１１１は、当該作成したプロセス間関連情報７００を後記する補助記憶部１４に記憶する。なお、プロセス間関連情報７００の具体的なデータ構成については、後記する図７において説明する。
【００２９】
プロセス間関連情報表示制御部１１２は、補助記憶部１４に記憶されたプロセス間関連情報７００を取得し、その情報を表示部１５に表示させる。なお、このプロセス間関連情報７００を表示部１５に表示させた具体例については、後記する図１４において説明する。
【００３０】
ホスト性能限界値一覧情報作成部１１３は、通信部１３を介してネットワーク３に接続されている各監視対象ホスト２から、ホスト性能限界値情報４００（図３，図４参照）を取得し、補助記憶部１４のホスト性能限界値一覧情報８００に記憶する。なお、このホスト性能限界値一覧情報８００の具体的なデータ構成については、後記する図８において説明する。
【００３１】
配置情報生成部１１４は、プロセス間関連情報７００と、ホスト性能限界値一覧情報８００と、各監視対象ホスト２から取得する稼動性能情報６００（図３，図６参照）を用いて、最適なプロセス配置を算出し、その結果を表示部１５に表示させる。なお、この最適なプロセス配置を表示した一例については、後記する図１４において説明する。
【００３２】
次に、補助記憶部１４は、フラッシュメモリ、ハードディスク等の記憶手段からなり、プロセス間関連情報７００と、ホスト性能限界値一覧情報８００とを含んで構成される。
【００３３】
図７は、本実施形態に係るプロセス間関連情報の一例を示す図である。
プロセス間関連情報７００は、プロセス間関連情報作成部１１１（図２参照）の処理により、各監視対象ホスト２から取得したプロセス間通信情報５００（図５参照）に基づいて作成される情報である。また、このプロセス間関連情報７００は、実行されたプロセス間通信のプロセスの組み合わせごとに、その通信量や回数等の統計情報と、プロセス間関連情報作成部１１１により算出された関連度とが記憶される。この関連度は、プロセス間通信のデータ量や回数に対応して、そのプロセス間の関連の度合いを示す指標であり、詳細は後記する。
図７に示すようにプロセス間関連情報７００には、ホスト名(1)７０１、プロセス名(1)７０２、通信相手として対応するホスト名(2)７０３、プロセス名(2)７０４、通信量（正）７０５、回数（正）７０６、通信量（負）７０７、回数（負）７０８、および関連度７０９をデータ項目として含む。
【００３４】
ここで、通信量および回数の（正）（負）は、通信の送受信の方向を意味する。ここでは、プロセス名(1)７０２のプロセスからプロセス名(2)７０４のプロセスへ向けてのデータ通信を（正）とし、逆にプロセス名(2)７０４のプロセスからプロセス名(1)７０２のプロセスに向けたデータ通信を（負）と定義している。例えば、符号７１０の行においては、プロセスＡからプロセスＢへ向けた（正）の通信の回数７０６が「２」回であり、その合計の通信量７０５が「４５０」Byteであることを示し、またプロセスＢからプロセスＡへ向けた（負）の通信回数７０８が「９０」回であり、その合計の通信量７０７が「１２３００」Byteであることを示している。
【００３５】
図８は、本実施形態に係るホスト性能限界値一覧情報の一例を示す図である。
ホスト性能限界値一覧情報８００は、ホスト性能限界値一覧情報作成部１１３が、各監視対象ホスト２に記憶されたホスト性能限界値情報４００（図３、図４参照）を、通信部１３およびネットワーク３を介して収集した情報であり、各監視対象ホスト２の性能上の限界値が記憶される。
図８に示すようにホスト性能限界値一覧情報８００には、ホスト名８０１、ダイナミックステップ上限８０２、メモリ所要量上限８０３をデータ項目として含む。
【００３６】
図２に戻り、ＣＰＵ１２は、管理サーバ１の全体の制御および演算を行う。通信部１３は、ネットワーク３を介して各監視対象ホスト２に記憶されたホスト性能限界値情報４００、プロセス間通信情報５００、稼動性能情報６００等のデータを送受信する。入力部１６は、キーボードやタッチパネル等からなり、各プロセスに関する処理や、管理サーバ１の制御に関する使用者からの指示を受け付ける。また、表示部１５は、液晶ディスプレイ等の表示手段からなり、プロセス間関連情報表示制御部１１２によりプロセス間関連情報７００を表示し、さらに、配置情報生成部１１４が生成した各プロセスの最適な配置情報を表示する（詳細は図１４参照）。
【００３７】
次に、本実施形態に係るプロセス配置支援システムの処理の流れについて説明する。
まず、管理サーバ１のプロセス間関連情報作成部１１１が行うプロセス間関連情報作成処理の具体的な動作手順について説明する。このプロセス間関連情報作成処理は、予め設定された所定の周期ごとに、各監視対象ホスト２の管理部２１４を介して、監視対象ホスト２のプロセス間通信情報５００を取得し、それに基づき、プロセス間通信が行われた各プロセス間の関連度を計算し、プロセス間関連情報７００を作成・更新するものである。
【００３８】
図９は、本実施形態に係る管理サーバ（プロセス配置支援装置）のプロセス間関連情報作成部が行うプロセス間関連情報作成処理の流れを示すフローチャートである。
まず、管理サーバ１のプロセス間関連情報作成部１１１は、ネットワーク３を介して各監視対象ホスト２についてのループを実行する（ステップＳ９０１〜Ｓ９０３）。
プロセス間関連情報作成部１１１は、監視対象ホスト２の管理部２１４を介して、プロセス間通信情報５００に記憶された通信情報のうち、前回周期において未取得のプロセス間通信情報５００を取得し、管理サーバ１のメモリ部１１上に設けられたプロセス間通信情報５００のキューに追加する（ステップＳ９０２）。このとき取得する情報は、図５のプロセス間通信情報５００における一つの行に相当するものである。この処理をそれぞれの監視対象ホスト２について行う。また、ここでキューとは、常に後方からデータが追加され、先方側からデータを取り出す格納方式のことをいう。
【００３９】
次に、管理サーバ１のメモリ部１１上に記憶されたプロセス間通信情報５００のキューについてループを実行する。（ステップＳ９０４〜Ｓ９１６）。なお、ここでプロセス間通信情報５００のキューの中で当該ループの処理対象となった通信情報をカレントのプロセス間通信情報５００と呼ぶ。
【００４０】
プロセス間関連情報作成部１１１は、まず、処理対象となるカレントのプロセス間通信情報５００を一つ選択する。そして、メモリ部１１上のキューの他のプロセス間通信情報５００の中から、カレントのプロセス間通信情報５００に対応した、通信相手のプロセス間通信情報５００が記憶されているか検索する（ステップＳ９０５）。例えば、カレントのプロセス間通信情報５００が、「ＨＯＳＴ１」の「プロセスＡ」が「ＨＯＳＴ２」の「プロセスＢ」に通信を行ったものである場合、同じ通信について「ＨＯＳＴ１」と「ＨＯＳＴ２」の両方で通信情報が記憶される。そのため、情報を受信した「ＨＯＳＴ２」の「プロセスＢ」側からもプロセス間通信情報５００がキューに記憶される。したがって、一つの通信処理が行われると送信側と受信側の両方の情報によりキューに記憶されることになるため、その通信相手のプロセス間通信情報５００がキューに記憶されているかの判定を行う（ステップＳ９０５）。
【００４１】
ステップＳ９０５において、プロセス間関連情報作成部１１１は、通信相手のプロセス間通信情報５００がキューに記憶されていないと判定した場合は（ステップＳ９０５→Ｎｏ）、当該選択したカレントのプロセス間通信情報５００の処理を終え、プロセス間通信情報５００のキューのループを進め、次のプロセス間通信情報５００を選択する（ステップＳ９１６）。
一方、キューに記憶されていると判定した場合には（ステップＳ９０５→Ｙｅｓ）、プロセス間関連情報作成部１１１は、その通信相手のプロセス間通信情報５００に記憶された送信元プロセス名５０３（図５参照）を通信相手のプロセス名として取得する（ステップＳ９０６）。
【００４２】
次に、プロセス間関連情報作成部１１１は、プロセス間関連情報７００（図７参照）に、次の所定の条件を満たす行があるか判定する（ステップＳ９０７）。
【００４３】
「ホスト名(1)＝カレントの通信元ホスト名，プロセス名(1)＝カレントの通信元プロセス名，ホスト名(2)＝カレントの通信先ホスト名，プロセス名(2)＝通信相手のプロセス名」
または、
「ホスト名(2)＝カレントの通信元ホスト名，プロセス名(2)＝カレントの通信元プロセス名，ホスト名(1)＝カレントの通信先ホスト名，プロセス名(1)＝通信相手のプロセス名」
【００４４】
ステップＳ９０７において所定の条件を満たす行があれば(ステップＳ９０７→Ｙｅｓ)、次のステップＳ９０９へ進む。一方、所定の条件を満たす行がなければ（ステップＳ９０７→Ｎｏ）、プロセス間関連情報作成部１１１は、プロセス間関連情報７００に新たな行を追加する（ステップＳ９０８）。つまり、プロセス間関連情報７００にすでに記憶されているプロセス間の通信であれば、その検索された行を更新するステップＳ９０９以降の処理に進む。また、もしまだ記憶されていないプロセス間の通信であれば、新たな行を追加した上で処理を進める。
以下、ここで検索または追加された行を更新対象のプロセス間関連情報７００と呼ぶ。
【００４５】
続いて、プロセス間関連情報作成部１１１は、カレントのプロセス間通信情報７００の送信量が正か否かを判定する（ステップＳ９０９）。送信量が正であれば（ステップＳ９０９→Ｙｅｓ）、更新対象のプロセス間関連情報７００の通信量（正）７０５（図７参照）に送信量の絶対値を加算し、回数（正）７０６に１を加算する（ステップＳ９１０）。
一方、送信量が正でなければ（ステップＳ９０９→Ｎｏ）、 更新対象のプロセス間関連情報７００の、通信量（負）７０７に送信量の絶対値を加算し、回数（負）７０８に１を加算する（ステップＳ９１１）。
【００４６】
そして、プロセス間関連情報作成部１１１は、更新対象のプロセス間関連情報７００（図７参照）に設定された情報から、関連度７０９を計算する（ステップＳ９１２）。
この関連度７０９の計算は、例えば、以下の数式（１）に基づいて行う。
【００４７】
関連度＝  Ａ＊（回数（正）＋ 回数（負））
＋ Ｂ＊（通信量（正）の二乗 ＋ 通信量（負）の二乗）    …  数式（１）
【００４８】
ここで、Ａ，Ｂは予め設定された正の重み係数である。数式（１）により算出される関連度は、プロセス間通信において、通信の回数が多いほど、通信量が多いほど、また通信の方向に偏りがないほど、その関連度としての値が大きくなる指標である。
【００４９】
続いて、プロセス間関連情報作成部１１１は、更新対象のプロセス間関連情報７００の関連度７０９を当該計算した関連度７０９で更新する（ステップＳ９１３）。
【００５０】
次に、プロセス間関連情報作成部１１１は、プロセス間通信情報５００のキューから、ステップＳ９０５で検索した通信相手のプロセス間通信情報５００を削除する（ステップＳ９１４）。続いて、プロセス間通信情報５００のキューから、カレントのプロセス間通信情報５００を削除する（ステップＳ９１５）。
以上のステップＳ９０５からＳ９１５までの処理をメモリ部１１上のプロセス間通信情報５００のキューについて順次行うことにより、プロセス間関連情報７００が作成・更新される。
【００５１】
次に、管理サーバ１のホスト性能限界値一覧情報作成部１１３が行うホスト性能限界値一覧情報作成処理の具体的な動作手順について説明する。
図１０は、本実施形態に係る管理サーバのホスト性能限界値一覧情報作成部が行うホスト性能限界値一覧情報作成処理の流れを示すフローチャートである。
【００５２】
管理サーバ１のホスト性能限界値一覧情報作成部１１３は、各監視対象ホスト２についてループを実行する （ステップＳ１００１〜Ｓ１００４）。
ホスト性能限界値一覧情報作成部１１３は、監視対象ホスト２の管理部２１４を介して、ホスト性能限界値情報４００（図３，図４参照）を取得する（ステップＳ１００２）。
次に、取得したホスト性能限界値情報４００を、ホスト性能限界値一覧情報作成部１１３は、ホスト性能限界値一覧情報８００に追加する（ステップＳ１００３）。
そして、ホスト性能限界値一覧情報作成部１１３は、各監視対象ホスト２についてステップＳ１００２〜Ｓ１００３を処理をループすることにより、ホスト性能限界値一覧情報８００を作成する。
【００５３】
次に、管理サーバ１の配置情報生成部１１４が行う、最適配置情報生成処理について説明する。
配置情報生成部１１４は、プロセス間関連情報作成部１１１が作成したプロセス間関連情報７００（図７参照）と、ホスト性能限界値一覧情報作成部１１３が作成したホスト性能限界値一覧情報８００（図８参照）と、監視対象ホスト２の管理部２１４を介して取得した各プロセスの稼動性能情報６００（図６参照）とから、プロセスの最適な配置情報を生成し、表示部１５に表示する処理を行う。
【００５４】
図１１は、本実施形態に係る管理サーバの配置情報生成部が行う最適配置情報生成処理の流れを示すフローチャートである。
この最適配置情報生成処理では、配置情報生成部１１４がプロセスと監視対象ホスト２との配置の全ての組み合わせについてループを実行する（ステップＳ１１０１〜Ｓ１１０８）。
【００５５】
配置情報生成部１１４は、まず、各プロセスと各監視対象ホスト２との組み合わせのうちの一つを選択し、その組み合わせにおける監視対象ホストの性能限界値から当該組み合わせが可能か否かを判定する（ステップＳ１１０２）。
例えば、時間あたりのダイナミックステップの上限が３０００の監視対象ホスト２では、時間あたりのダイナミックステップが２０００のプロセスと２５００のプロセスの両方を同じ監視対象ホスト２に配置することができない。なお、この判定処理の詳細については、後記する図１２において詳細に説明する。
そして、判定の結果、組み合わせが可能でなければ（ステップＳ１１０３→Ｎｏ）、次のプロセス配置の組み合わせの処理に進む（ステップＳ１１０８）。
一方、組み合わせが可能であれば（ステップＳ１１０３→Ｙｅｓ）、次のステップＳ１１０４に進む。
【００５６】
ステップＳ１１０４において、配置情報生成部１１４は、選択した組み合わせについて、評価値の計算を行う。この評価値とは、ホストの性能限界値や関連度を用いて算出する指標であり、評価値が高いほどより最適なプロセス配置の組み合わせを示すものである。なお、この評価値の計算処理については、後記する図１３において詳細に説明する。
【００５７】
次に、配置情報生成部１１４は、計算した評価値がそれ以前に計算された評価値のうちの最大評価値よりも大きいか否かを判定する（ステップＳ１１０５）。ここで計算した評価値が最大評価値よりも小さい場合は（ステップＳ１１０５→Ｎｏ）、次の組み合わせの処理に進む（ステップＳ１１０８）。一方、最大評価値よりも大きい場合は（ステップＳ１１０５→Ｙｅｓ）、配置情報生成部１１４は、当該選択した組み合わせを最適配置の組み合わせとしてメモリ部１１に記憶する（ステップＳ１１０６）。そして、配置情報生成部１１４は、最適配置となる選択した組み合わせの評価値を、最大評価値に設定する（ステップＳ１１０７）。
そして、配置情報生成部１１４は、全てのプロセスと監視対象ホスト２との組み合わせについてのループを終了し、プロセスの最適配置を表示部１５に表示する（ステップＳ１１０９）。なお、最適配置の表示の具体例については、図１４において詳細に説明する。
【００５８】
次に図１１のステップ１１０２において、管理サーバ１の配置情報生成部１１４が行う、プロセスの組み合わせが監視対象ホスト２の性能限界値から組み合わせ可能かを判定する処理について説明する。
図１２は、本実施形態に係る管理サーバの配置情報生成部が行うプロセスの組み合わせ可否の判定処理の流れを示すフローチャートである。
【００５９】
まず、配置情報生成部１１４は、判定結果に「可能」を設定する（ステップＳ１２０１）。次に、配置情報生成部１１４は、全ての監視対象ホスト２についてループを実行する（ステップＳ１２０２〜Ｓ１２０７）。
このループの中では、まず、組み合わせで監視対象ホスト２に割り当てられた全てのプロセスの稼働性能情報６００（図６参照）を、それぞれのプロセスが実際に存在している監視対象ホスト２から取得する（ステップＳ１２０３）。
【００６０】
続いて、配置情報生成部１１４は、取得した各プロセスの稼働性能情報６００を参照し、全ての時刻においてダイナミックステップ６０３の各プロセスの総和が、監視対象ホスト２のダイナミックステップ上限８０２（図８参照）を超えていないかを判定する（ステップＳ１２０４）。ここで、ダイナミックステップ上限を超えていた場合は（ステップＳ１２０４→Ｎｏ）、判定結果に「不可能」を設定し（ステップＳ１２０６）、処理を終える。一方、ダイナミックステップの上限を超えていない場合は（ステップＳ１２０４→Ｙｅｓ）、次のステップＳ１２０５へ進む。
【００６１】
次に、ステップＳ１２０５において、配置情報生成部１１４は、取得した各プロセスの稼働性能情報６００（図６参照）を参照し、全ての時刻においてメモリ所要量６０４の各プロセスの総和が、監視対象ホスト２のメモリ所要量上限８０３（図８参照）を超えていないかを判定する（ステップＳ１２０５）。
そして、メモリ所要量上限８０３を超えていた場合は（ステップＳ１２０５→Ｎｏ）、配置情報生成部１１４は、判定結果に「不可能」を設定し（ステップＳ１２０６）、処理を終える。一方、超えていない場合は(ステップＳ１２０５→Ｙｅｓ)、次の監視対象ホスト２についての処理に進む（ステップＳ１２０７）。
このようにすることで、監視対象ソフト２の性能限界値から不可能と判定された組み合わせを排除した上で、図１１のステップＳ１１０４以降の最適配置情報生成処理を続けることができる。
【００６２】
次に、図１１のステップＳ１１０４における管理サーバ１の配置情報生成部１１４が行う評価値の計算処理について説明する。
図１３は、本実施形態に係る管理サーバの配置情報生成部が行う評価値の計算処理の流れを示すフローチャートである。
【００６３】
配置情報生成部１１４は、全ての監視対象ホスト２についてループを実行する（ステップＳ１３０１〜Ｓ１３０６）。そして、まず配置情報生成部１１４は、ダイナミックステップについての余裕指標を、次の数式（２）を用いて計算する（ステップＳ１３０２）。
【００６４】
ダイナミックステップの余裕指標＝（１−（同時刻のダイナミックステップの総和÷ダイナミックステップ上限））の時間平均                              …  数式（２）
【００６５】
この数式（２）において、ダイナミックステップの総和は、同時刻において稼動しているプロセスにおけるダイナミックステップ６０３を、配置情報生成部１１４が監視対象ホスト２の稼動性能情報６００（図６参照）から取得し、合計するものである。また、ダイナミックステップ上限８０２は、配置情報生成部１１４が、補助記憶部１４に記憶されたホスト性能限界値一覧情報８００（図８参照）から取得する。
【００６６】
次に、配置情報生成部１１４は、メモリ所要量についての余裕指標を、次の数式（３）を用いて計算する（ステップＳ１３０３）。
【００６７】
メモリ所要量の余裕指標＝（１−（同時刻のメモリ所要量の総和÷メモリ所要量上限）の時間平均                                                        …  数式（３）
【００６８】
この数式（３）において、メモリ所要量の総和は、同時刻において稼動しているプロセスにおけるメモリ所要量６０４を、配置情報生成部１１４が監視対象ホスト２の稼動性能情報６００（図６参照）から取得し、合計するものである。また、メモリ所要量上限８０３は、配置情報生成部１１４が、補助記憶部１４に記憶されたホスト性能限界値一覧情報８００（図８参照）から取得する。
【００６９】
続いて、配置情報生成部１１４は、計算したダイナミックステップの余裕指標とメモリ所要量の余裕指標とから監視対象ホスト２の性能余裕指標を、次の数式（４）を用いて計算する（ステップＳ１３０４）。
【００７０】
ホストの性能余裕指標＝Ｃ＊ダイナミックステップの余裕指標＋Ｄ＊メモリ所要量の余裕指標                                                            …  数式（４）
【００７１】
この数式（４）において、Ｃ，Ｄは予め定められた重み係数である。
【００７２】
次に、配置情報生成部１１４は、数式（４）で計算した監視対象ホスト２の性能余裕指標を、システムの性能余裕指標に足し込む（ステップＳ１３０５）。
そして、この処理を各監視対象ホスト２についてループすることにより、各監視対象ホスト２それぞれの性能余裕指標を総和したシステムの性能余裕指標を算出することができる。
【００７３】
次に、配置情報生成部１１４は、補助記憶部１４に記憶されたプロセス間関連情報７００（図７参照）を読み取り、各行についてループを実行する（ステップＳ１３０７〜Ｓ１３１０）。
続いて配置情報生成部１１４は、プロセス間関連情報７００のプロセス名(1)７０２とプロセス名(2)７０４で指定されるプロセスが同一の監視対象ホスト２に存在するか否か判定する（ステップＳ１３０８）。
そして、同一ホストに存在しないと判定された場合（ステップＳ１３０８→Ｎｏ）、次の行について処理を進める。一方、同一ホストに存在すると判定された場合には（ステップＳ１３０８→Ｙｅｓ）、配置情報生成部１１４は、システムの関連度指標に関連度を足し込む（ステップＳ１３０９）。
【００７４】
ここで、システムの関連度指標とは、システム全体において、プロセス同士が同一ホストにある場合の関連度の総和を意味する。このシステムの関連度指数は、プロセスの関連度の値が高いプロセス同士が同一ホストにあることが最適であるとの考えをもとに、同一ホスト内において、関連度が高いプロセスが存在すればするほど、高く設定されるものである。
そして、配置情報生成部１１４は、プロセス間関連情報７００の全ての行についてループを行い、システムの関連度指標を算出する。
【００７５】
次に、配置情報生成部１１４は、ステップＳ１３０１〜Ｓ１３０６の処理で算出したシステムの性能余裕指標と、ステップＳ１３０７〜Ｓ１３１０の処理で算出したシステムの関連度指標とを用いて、次の数式（５）により評価値を計算する（ステップＳ１３１１）。
【００７６】
評価値＝Ｅ＊システムの性能余裕指標＋Ｆ＊システムの関連度指標    …  数式（５）
【００７７】
この数式（５）において、Ｅ，Ｆは予め定められた重み係数である。
【００７８】
このようにすることで、配置情報生成部１１４は、プロセスの機能的な関連と、性能上の余裕をあわせて評価した上で、プロセスの最適配置情報を生成することができる。
【００７９】
次に、管理サーバ１のプロセス間関連情報表示制御部１１２によるプロセス間関連情報７００の表示部１５への表示と、図１１のステップＳ１１０９における配置情報生成部１１４が行う最適配置の組み合わせ表示について説明する。
図１４は、本実施形態に係る管理サーバの制御部がプロセス配置を表示部に表示した例を示す図である。
【００８０】
図１４（ａ）は、情報システム起動時の初期状態を示し、プロセスＡ，Ｂ，Ｃが「ＨＯＳＴ１」に配置され、プロセスＤ，Ｅが「ＨＯＳＴ２」に配置され、プロセスＦが「ＨＯＳＴ３」に配置されていることを示している。
管理サーバ１のプロセス間関連情報表示制御部１１２（図２参照）は、システム起動から所定時間経過し、プロセス間関連情報作成部１１１の処理によりプロセス間関連情報７００（図７参照）が作成されると、プロセス間関連情報７００を参照し、プロセス間関連情報表示画面１００２を表示部１５に表示させる。図１４（ｂ）は、所定時間経過した後のプロセス間関連情報７００を表示部１５に表示した例である。
【００８１】
図４（ｂ）に示す本実施形態においては、プロセス間の距離が通信回数、プロセス間の線分の太さが通信量、矢印が通信方向を示している。例えば、プロセスＡとプロセスＤとの関係をみると、プロセスＡ，Ｄ間は、距離が近いことから通信回数が多く、また線分が太いことから通信量が多く、そして双方に矢印があることから、双方向に向けた通信が偏りなく行われていることを示している。プロセスＡとプロセスＢとの関係をみると、プロセスＡ，Ｂ間は、距離が遠いことから通信回数が少なく、また線が細いことから通信量が少なく、そしてプロセスＡからプロセスＢへ向けた矢印がないことから、プロセスＢからプロセスＡへ向けた送信に偏っていることを示している。
【００８２】
プロセス間関連情報表示制御部１１２は、このプロセス間関連情報表示画面１００２をプロセス間関連情報７００から作成する。具体的には、プロセス間関連情報表示制御部１１２がプロセス間の距離を決定する場合には、全ての行について、回数（正）７０６および回数（負）７０７を合計し、その合計回数と当該行における通信回数の合計の相対的な大きさによってプロセス間の距離を決定する。プロセス間の線分の太さは、通信量（正）７０５および通信量（負）７０７を合計した通信量を求め、当該行における線分の太さを、その相対的な大きさによって決定する。また、矢印を付けるか否かは、回数または通信量が一方に通信方向において、全体の通信量うち予め設定した所定の割合以上あれば、矢印を表示するようにしておく。このようにすることで、プロセス間関連情報表示制御部１１２は、所定時間経過後のプロセス間の関係性をプロセス間関連情報表示画面１００２として表示部１５に表示させることができる。
【００８３】
さらに、配置情報生成部１１４は、入力部１６を介しての利用者から設定や指示を受け、所定時刻において図１１で説明した最適配置情報生成処理を行うことで、プロセスの最適配置を算出する。図１４（ｃ）に示す例においては、配置情報生成部１１４の処理結果により、「ＨＯＳＴ１」に設定されていたプロセスＡとプロセスＣを、「ＨＯＳＴ２」に変更することで、プロセスの最適配置となることが示される。
【００８４】
このようにすることで、本実施形態に係るプロセス配置支援システム、プロセス配置支援装置およびプロセス配置支援方法によれば、機能の関連が強いプロセスを同一ホストに集約し、かつ性能上の余裕がシステム全体に分散した、プロセスの最適配置が提示可能となる。また、プロセスの通信を監視することにより、アプリケーションの構成情報等のプロセス間の関連を示す情報が存在しない場合でも、プロセスの最適配置が提示可能となる。さらに、プロセス間の動的な監視結果を利用することで、通信の実状に即した最適配置が可能となる。
【図面の簡単な説明】
【００８５】
【図１】本実施形態に係るプロセス配置支援システムの構成例を示す図である。
【図２】本実施形態に係る管理サーバ（プロセス配置支援装置）の構成例を示す機能ブロック図である。
【図３】本実施形態に係る監視対象ホストの構成例を示す機能ブロック図である。
【図４】本実施形態に係るホスト性能限界値情報の一例を示す図である。
【図５】本実施形態に係るプロセス間通信情報の一例を示す図である。
【図６】本実施形態に係る稼動性能情報の一例を示す図である。
【図７】本実施形態に係るプロセス間関連情報の一例を示す図である。
【図８】本実施形態に係るホスト性能限界値一覧情報の一例を示す図である。
【図９】本実施形態に係る管理サーバのプロセス間関連情報作成部が行うプロセス間関連情報作成処理の流れを示すフローチャートである。
【図１０】本実施形態に係る管理サーバのホスト性能限界値一覧情報作成部が行うホスト性能限界値一覧情報作成処理の流れを示すフローチャートである。
【図１１】本実施形態に係る管理サーバの配置情報生成部が行う最適配置情報生成処理の流れを示すフローチャートである。
【図１２】本実施形態に係る管理サーバの配置情報生成部が行うプロセスの組み合わせ可否判定処理の流れを示すフローチャートである。
【図１３】本実施形態に係る管理サーバの配置情報生成部が行う評価値の計算処理の流れを示すフローチャートである。
【図１４】本実施形態に係る管理サーバの制御部がプロセス配置を表示部に表示した例を示す図である。
【符号の説明】
【００８６】
１      管理サーバ（プロセス配置支援装置）
２      監視対象ホスト
３      ネットワーク
４      プロセス配置支援システム
１１，２１  メモリ部
１２，２２  ＣＰＵ
１３，２３  通信部
１４，２４  補助記憶部
１５    表示部
１６    入力部
２５    入出力部
１１０  制御部
１１１  プロセス間関連情報作成部
１１２  プロセス間関連情報表示制御部
１１３  ホスト性能限界値一覧情報作成部
１１４  配置情報生成部
２１０  稼動情報監視制御部
２１１  ホスト性能限界値情報収集部
２１２  プロセス間通信情報収集部
２１３  稼動性能情報収集部
２１４  管理部
２２０  プログラム実行部
４００  ホスト性能限界値情報
５００  プロセス間通信情報
６００  稼動性能情報
７００  プロセス間関連情報
８００  ホスト性能限界値一覧情報
【図１】
2010128652.tif 000003
【図２】
2010128652.tif 000004
【図３】
2010128652.tif 000005
【図４】
2010128652.tif 000006
【図５】
2010128652.tif 000007
【図６】
2010128652.tif 000008
【図７】
2010128652.tif 000009
【図８】
2010128652.tif 000010
【図９】
2010128652.tif 000011
【図１０】
2010128652.tif 000012
【図１１】
2010128652.tif 000013
【図１２】
2010128652.tif 000014
【図１３】
2010128652.tif 000015
【図１４】
2010128652.tif 000016