(57)【要約】【課題】システムを構成する複数のサーバ間の通信状況を容易に把握すること。【解決手段】システムに含まれる複数のサーバ（サーバＡ〜サーバＥ）間の通信状況を示す画面を生成する際に、サーバＡ〜サーバＥにそれぞれ対応するノードＡ９０１〜ノードＥ９０５と、当該サーバのキャッシュ域に対応するノードａ９１１〜ノードｅ９１５と、を画面に配置し、サーバ間の通信に関するサーバ実績データと、キャッシュ間の通信に関するキャッシュ実績データと、を取得し、取得したデータに基づいて、ノード間の通信状況を画面に示す。サーバに対応するノードＡ９０１〜ノードＥ９０５を第１円環９００上に示し、円環９００の内側に、キャッシュ域に対応するノードａ９１１〜ノードｅ９１５を第２円環９１０上に配置する。ノード間のデータの流れを、送信元のノードから送信先のノードへの矢印１２０１〜１２０４で示す。【選択図】図１２
2019086803.tif 000002
【特許請求の範囲】
【請求項１】
システムに含まれる複数のサーバ間の通信状況を示す画面を生成する際に、前記複数のサーバに対応する複数のノードとともに、前記複数のサーバのキャッシュに対応する複数のノードを前記画面に配置し、前記複数のサーバのキャッシュに対応する複数のノードを送信元または送信先とするデータの通信状況を他のデータの通信状況と識別可能に前記画面に配置する、
処理をコンピュータに実行させることを特徴とする表示制御プログラム。
【請求項２】
前記複数のサーバ間の通信に関するサーバ実績データと、前記複数のサーバのキャッシュ間の通信に関するキャッシュ実績データと、を取得し、
取得したデータに基づいて、前記複数のノード間の通信状況を前記画面に配置する、
処理を前記コンピュータに実行させることを特徴とする請求項１に記載の表示制御プログラム。
【請求項３】
前記キャッシュ実績データは、前記サーバの設定情報に基づいて実行される、前記キャッシュを送信元または送信先とする当該キャッシュ間の通信に関するデータであることを特徴とする請求項２に記載の表示制御プログラム。
【請求項４】
前記設定情報を取得し、
取得した前記設定情報に基づいて、前記キャッシュに対応するノードの配置の有無を決定する、
処理を前記コンピュータに実行させることを特徴とする請求項３に記載の表示制御プログラム。
【請求項５】
前記設定情報を取得し、
取得した前記設定情報に基づいて、前記キャッシュ実績データを要求する対象となるキャッシュを決定する、
処理を前記コンピュータに実行させることを特徴とする請求項３または４に記載の表示制御プログラム。
【請求項６】
前記設定情報を取得し、
取得した前記設定情報に基づいて、前記キャッシュ実績データを要求するタイミングを決定する、
処理を前記コンピュータに実行させることを特徴とする請求項３〜５のいずれか一つに記載の表示制御プログラム。
【請求項７】
前記複数のサーバに対応する複数のノードを環状に示し、
前記複数のサーバに対応する複数のノードによって形成される環の内側に、前記複数のサーバのキャッシュに対応する複数のノードを環状に配置することを特徴とする請求項１〜６のいずれか一つに記載の表示制御プログラム。
【請求項８】
前記複数のノード間のデータの流れを、送信元のノードから送信先のノードへの矢印で示すことを特徴とする請求項７に記載の表示制御プログラム。
【請求項９】
前記サーバ実績データに基づいて、前記サーバに関する測定結果を前記画面に示す、
処理を前記コンピュータに実行させることを特徴とする請求項２〜８のいずれか一つに記載の表示制御プログラム。
【請求項１０】
前記キャッシュ実績データに基づいて、前記キャッシュに関する測定結果を前記画面に示す、
処理を前記コンピュータに実行させることを特徴とする請求項２〜９のいずれか一つに記載の表示制御プログラム。
【請求項１１】
前記サーバとデータベース間の通信に関するデータベース実績データを取得し、
取得した前記データベース実績データに基づいて、前記データベースに関する測定結果を前記画面に示す、
処理を前記コンピュータに実行させることを特徴とする請求項２〜１０のいずれか一つに記載の表示制御プログラム。
【請求項１２】
システムに含まれる複数のサーバ間の通信状況を示す画面を生成する際に、前記複数のサーバに対応する複数のノードとともに、前記複数のサーバのキャッシュに対応する複数のノードを前記画面に配置し、前記複数のサーバのキャッシュに対応する複数のノードを送信元または送信先とするデータの通信状況を他のデータの通信状況と識別可能に前記画面に配置する、
処理をコンピュータが実行することを特徴とする表示制御方法。
【請求項１３】
システムに含まれる複数のサーバ間の通信状況を示す画面を生成する際に、前記複数のサーバに対応する複数のノードとともに、前記複数のサーバのキャッシュに対応する複数のノードを前記画面に配置し、前記複数のサーバのキャッシュに対応する複数のノードを送信元または送信先とするデータの通信状況を他のデータの通信状況と識別可能に前記画面に配置する、
制御部を有することを特徴とする表示制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示制御プログラム、表示制御方法および表示制御装置に関する。
【背景技術】
【０００２】
従来、複数のサーバがデータベースに保存されたデータにアクセスするシステムでは、頻繁にアクセスされるデータをサーバ間で共有されるキャッシュ域に置いてシステム全体の処理速度を向上させる技術がある。
【０００３】
また、従来、システム全体の処理速度を向上させるにあたり、ある箇所が原因で全体の結果や性能が低下している場合に、その原因となる部分であるボトルネック箇所の検出／対処をおこなうため、実際の運用における要素間のデータ転送量、各要素での処理遅延、メモリ使用量などを測定している。
【０００４】
関連する先行技術としては、ボトルネック箇所および影響箇所を特定できる表示システムに関する技術がある（たとえば、下記特許文献１を参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１５８０９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術では、データの交換／保存／取出し速度が異なる要素が多数混在するため、構成要素（サーバなど）が増加するにしたがって、構成が複雑となり、ボトルネック箇所の検出が難しいという問題点がある。
【０００７】
一つの側面では、本発明は、複数のサーバ間の通信状況を容易に把握することを目的とする。
【課題を解決するための手段】
【０００８】
一つの実施態様では、システムに含まれる複数のサーバ間の通信状況を示す画面を生成する際に、前記複数のサーバに対応する複数のノードとともに、前記複数のサーバのキャッシュに対応する複数のノードを前記画面に配置し、前記複数のサーバのキャッシュに対応する複数のノードを送信元または送信先とするデータの通信状況を他のデータの通信状況と識別可能に前記画面に配置する表示制御プログラム、表示制御方法および表示制御装置が提供される。
【発明の効果】
【０００９】
本発明の一側面によれば、複数のサーバ間の通信状況を容易に把握することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態にかかる表示制御プログラム、表示制御方法および表示制御装置を実現するシステムの全体構成の一例を示す説明図である。
【図２】図２は、監視サーバのハードウェア構成の一例を示すブロック図である。
【図３】図３は、各種情報端末装置のハードウェア構成の一例を示すブロック図である。
【図４】図４は、実施の形態にかかる表示制御装置の機能的構成の一例を示すブロック図である。
【図５】図５は、サーバ性能データのデータ構成の一例を示す説明図である。
【図６】図６は、キャッシュ域性能データのデータ構成の一例を示す説明図である。
【図７】図７は、データベース性能データのデータ構成の一例を示す説明図である。
【図８】図８は、実施の形態にかかる表示制御方法の処理の手順の一例を示すフローチャートである。
【図９Ａ】図９Ａは、生成された画面の表示内容の一例を示す説明図（その１）である。
【図９Ｂ】図９Ｂは、生成された画面の表示内容の一例を示す説明図（その２）である。
【図１０Ａ】図１０Ａは、システムに対して送信されてきたデータを格納する際の通信状況を示す説明図（その１）である。
【図１０Ｂ】図１０Ｂは、システムに対して送信されてきたデータを格納する際の通信状況を示す説明図（その２）である。
【図１１Ａ】図１１Ａは、格納されたデータを取出する際の通信状況を示す説明図（その１）である。
【図１１Ｂ】図１１Ｂは、格納されたデータを取出する際の通信状況を示す説明図（その２）である。
【図１２】図１２は、生成された画面の表示内容の一例を示す説明図（その３）である。
【図１３】図１３は、生成された画面の表示内容の一例を示す説明図（その４）である。
【発明を実施するための形態】
【００１１】
以下に図面を参照して、本発明にかかる表示制御プログラム、表示制御方法および表示制御装置の実施の形態を詳細に説明する。
【００１２】
（実施の形態）
（システムのシステム構成例）
図１は、実施の形態にかかる表示制御プログラム、表示制御方法および表示制御装置を実現するシステムの全体構成の一例を示す説明図である。
【００１３】
図１において、複数のサーバ（サーバＡ１０１、サーバＢ１０２、サーバＣ１０３、サーバＤ１０４、サーバＥ１０５、・・・）が、ネットワーク１００によって接続されることにより、システムを構成する。また、各サーバ１０１〜１０５は、ネットワーク１００を介して、他のシステム１１０と通信をすることができる。複数のサーバは、具体的には、たとえばＷｅｂ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）サーバなどのサーバであってもよい。
【００１４】
各サーバ１０１〜１０５は、それぞれ個別にキャッシュ域１１１〜１１５を備える。具体的には、サーバＡ１０１はキャッシュ域ａ１１１を備えている。同様に、サーバＢ１０２はキャッシュ域ｂ１１２を、サーバＣ１０３はキャッシュ域ｃ１１３を、サーバＤ１０４はキャッシュ域ｄ１１４を、サーバＥ１０５はキャッシュ域ｅ１１５を、それぞれ備えている。
【００１５】
また、各サーバ１０１〜１０５は、それぞれ、各データベース（ＤＢ）１２１〜１２５と接続されており、各ＤＢ１２１〜１２５に格納されたデータにアクセスする（書込み／読出し処理をおこなう）ことができる。具体的には、サーバＡ１０１はＤＢ１２１に接続されている。同様に、サーバＢ１０２はＤＢ１２２に、サーバＣ１０３はＤＢ１２３に、サーバＤ１０４はＤＢ１２４に、サーバＥ１０５はＤＢ１２５に、それぞれ接続されている。
【００１６】
ＤＢ１２１〜１２５は、ハードディスクなどの大容量のメモリなどによって構成される。ＤＢへのデータのアクセス（書込み／読出し）の速度は、他の高速メモリと比較して、一般的には遅い。本実施の形態においても、ＤＢ１２１〜１２５へのデータのアクセスは比較的遅いことを想定しているが、必ずしも、それに限定されない。
【００１７】
本実施の形態にかかる表示制御装置の一例である監視サーバ１２０は、システムの全体の監視制御を司る。具体的には、監視サーバ１２０は、ネットワーク１００に接続され、ネットワーク１００を介して、システムに含まれる各サーバ１０１〜１０５の通信状況を監視する。
【００１８】
また、監視サーバ１２０は、各種情報端末装置（たとえば、パーソナルコンピュータ１３１、タブレット端末装置１３２、スマートフォン１３３）に接続され、各種情報端末装置（パーソナルコンピュータ１３１、タブレット端末装置１３２、スマートフォン１３３）との通信をおこない、各種情報端末装置１３１〜１３３からの情報の入力を受け付けるとともに、各種情報端末装置１３１〜１３３へ生成した画面情報を含む各種情報を送信する。
【００１９】
ここで、監視サーバ１２０と各種情報端末装置１３１〜１３３とは、図示を省略する、有線または無線のネットワークを介して接続されるようにしてもよい。そのネットワークは、たとえば、インターネット、移動体通信網、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などであってもよい。
【００２０】
各種情報端末装置１３１〜１３３は、画面表示機能、たとえばディスプレイを有しており、監視サーバ１２０から送られてきた情報をそのディスプレイに表示することができる。各種情報端末装置１３１〜１３３の詳細な内容については、後述する図３を用いて説明する。
【００２１】
（監視サーバ１２０のハードウェア構成例）
図２は、監視サーバ１２０のハードウェア構成の一例を示すブロック図である。図２において、監視サーバ１２０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、メモリ２０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０３と、ディスクドライブ２０４と、ディスク２０５と、を有する。また、各構成部は、バス２００によってそれぞれ接続される。
【００２２】
ここで、ＣＰＵ２０１は、監視サーバ１２０の全体の制御を司る。メモリ２０２は、たとえば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、たとえば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ２０１のワークエリアとして使用される。メモリ２０２に記憶されるプログラムは、ＣＰＵ２０１にロードされることで、コーディングされている処理をＣＰＵ２０１に実行させる。
【００２３】
Ｉ／Ｆ２０３は、通信回線を通じてネットワーク１００に接続され、ネットワーク１００を介して他の装置（たとえば、図１に示した、サーバ（サーバＡ１０１〜サーバＥ１０５）、データベース１２１〜１２５、他のシステム１１０に接続される。そして、Ｉ／Ｆ２０３は、ネットワーク１００と自装置内部とのインターフェースを司り、他の装置からのデータの入出力を制御する。Ｉ／Ｆ２０３には、たとえば、モデムやＬＡＮアダプタなどを採用することができる。
【００２４】
ディスクドライブ２０４は、ＣＰＵ２０１の制御に従ってディスク２０５に対するデータのリード／ライトを制御する。ディスク２０５は、ディスクドライブ２０４の制御で書き込まれたデータを記憶する。ディスク２０５としては、たとえば、磁気ディスク、光ディスクなどが挙げられる。
【００２５】
なお、監視サーバ１２０は、上述した構成部のほかに、たとえば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、キーボード、ポインティングデバイス、ディスプレイなどを有することにしてもよい。
【００２６】
（各種情報端末装置１３１〜１３３のハードウェア構成例）
図３は、各種情報端末装置１３１〜１３３のハードウェア構成の一例を示すブロック図である。図３において、各種情報端末装置（パーソナルコンピュータ１３１、タブレット端末装置１３２、スマートフォン１３３）は、ＣＰＵ３０１と、メモリ３０２と、Ｉ／Ｆ３０３と、ディスプレイ３０４と、入力装置３０５と、を有する。また、各構成部はバス３００によってそれぞれ接続される。
【００２７】
ここで、ＣＰＵ３０１は、各種情報端末装置１３１〜１３３の全体の制御を司る。メモリ３０２は、たとえば、ＲＯＭ、ＲＡＭおよびフラッシュＲＯＭなどを有する。具体的には、たとえば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００２８】
Ｉ／Ｆ３０３は、たとえば、通信回線を通じて、監視サーバ１２０に接続される。そして、Ｉ／Ｆ３０３は、監視サーバ１２０と自装置内部とのインターフェースを司り、他の装置からのデータの入出力を制御する。
【００２９】
ディスプレイ３０４は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ３０４は、たとえば、液晶ディスプレイ、有機ＥＬ（Ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイなどを採用することができる。また、ディスプレイ３０４は、画像を投影するプロジェクターであってもよく、また、３Ｄ（ｔｈｒｅｅ  ｄｉｍｅｎｓｉｏｎｓ：３次元）画像を再生することが可能なヘッドマウントディスプレイなどであってもよい。
【００３０】
入力装置３０５は、文字、数字、各種指示などの入力のためのキーを有し、データの入力をおこなう。入力装置３０５は、キーボードやポインティングデバイス（マウスやジョイスティック）などであってもよい。また、タッチパネル式の入力パッドやテンキーなどであってもよい。これにより、文字などをキー入力だけでなく、手書き入力をすることができる。
【００３１】
なお、各種情報端末装置１３１〜１３３は、上述した構成部のほかに、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤなどを有することにしてもよい。入力装置３０５として、加速度センサ、ジャイロセンサを用いて、方向や傾きなどに関する情報の入力をおこなうようにしてもよい。
【００３２】
（表示制御装置の機能的構成）
図４は、実施の形態にかかる表示制御装置の機能的構成の一例を示すブロック図である。図４において、表示制御装置の機能を実現する監視サーバ１２０は、画面生成部４０１と、取得部４０２と、決定部４０３と、出力部４０４と、を含む構成である。
【００３３】
画面生成部４０１は、各種情報端末装置１３１〜１３３のディスプレイ３０４に表示する画面を生成する。生成される画面には、システムに含まれる複数のサーバ１０１〜１０５間の通信状況を示す画面が含まれる。
【００３４】
画面生成部４０１は、図２に示した監視サーバ１２０のメモリ２０２、ディスク２０５などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、その機能を実現する。
【００３５】
画面生成部４０１は、システムに含まれる複数のサーバ１０１〜１０５間の通信状況を示す画面を生成する際に、各サーバ１０１〜１０５に対応するノードと、各サーバ１０１〜１０５のキャッシュ域１１１〜１１５に対応するノードと、を生成する画面に配置する。
【００３６】
画面生成部４０１は、複数のサーバ１０１〜１０５のキャッシュ域１１１〜１１５に対応する複数のノードａ９１１〜ノードｅ９１５を送信元または送信先とするデータの通信状況を画面に配置するようにしてもよい。また、画面生成部４０１は、複数のサーバ１０１〜１０５のキャッシュ域１１１〜１１５に対応する複数のノードａ９１１〜ノードｅ９１５を送信元または送信先とするデータの通信状況を他のデータの通信状況と識別可能に画面に配置するようにしてもよい。  
【００３７】
画面生成部４０１は、たとえば、後述する図８に示すように、各サーバ１０１〜１０５に対応するノードを環状に示し、各サーバ１０１〜１０５に対応するノードによって形成される環の内側に、各サーバ１０１〜１０５のキャッシュ域１１１〜１１５に対応するノードを環状に配置するようにしてもよい。また、画面生成部４０１は、ノード間のデータの流れを、送信元のノードから送信先のノードへの矢印で示すようにしてもよい。
【００３８】
また、画面生成部４０１は、それら矢印の太さまたは色の違いによって、ノード間の通信状況の違いを示すようにしてもよい。具体的には、たとえば、矢印が太くなるほど通信速度が速いことを示し、矢印が細くなるほど通信速度が遅いことを示すようにしてもよい。
【００３９】
取得部４０２は、サーバ間の通信に関するサーバ実績データの一例として、たとえば後述する図５に示すサーバ性能データ５００を取得する。取得部４０２は、図２に示した監視サーバ１２０のメモリ２０２、ディスク２０５などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、Ｉ／Ｆ２０３により、その機能を実現する。より具体的には、取得部４０２は、たとえばＯＳ／ＪａｖａＶＭのインターフェースを使用して、ＯＳコマンドなどで、サーバ性能データ５００を取得することができる。
【００４０】
また、取得部４０２は、キャッシュ間の通信に関するキャッシュ実績データの一例として、キャッシュ域性能データを取得する。より具体的には、たとえばキャッシュ域を構成する製品が提供している、Ｊａｖａアプリケーションをモニタおよび管理するための仕様であるＪＭＸ（Ｊａｖａ  Ｍａｎａｇｅｍｅｎｔ  Ｅｘｔｅｎｓｉｏｎｓ）インターフェースを通じて取得することができる。なお、Ｊａｖａは登録商標である。
【００４１】
キャッシュ実績データは、サーバの設定情報に基づいて実行される、キャッシュを送信元または送信先とする当該キャッシュ間の通信に関するデータであってもよい。そして、設定情報は、サーバがキャッシュを利用しているか否かの情報を含んでいてもよい。また、設定情報は、キャッシュが利用される条件に関する情報を含んでいてもよい。
【００４２】
また、取得部４０２は、各サーバ１０１〜１０５と各データベース１２１〜１２５（具体的には、サーバＡ１０１とデータベース（ＤＢ）１２１、サーバ１０２Ｂとデータベース（ＤＢ）１２２、サーバＣ１０３とデータベース（ＤＢ）１２３、サーバ１０４Ｄとデータベース（ＤＢ）１２４、サーバＥ１０５とデータベース（ＤＢ）１２５間の通信に関するデータベース実績データを取得する。より具体的には、取得部４０２は、ＤＢ１２１〜１２５が接続されているサーバからＪＭＸインターフェースなどで、データベース実績データを取得する。
【００４３】
画面生成部４０１は、これらの取得したデータに基づいて、ノード間の通信状況を画面に示すようにしてもよい。また、画面生成部４０１は、サーバ実績データに基づいて、サーバに関する測定結果を画面に示すようにしてもよい。また、画面生成部４０１は、キャッシュ実績データに基づいて、キャッシュに関する測定結果を画面に示すようにしてもよい。また、取得したデータベース実績データに基づいて、データベースに関する測定結果を画面に示すようにしてもよい。
【００４４】
取得部４０２は、設定情報を取得することができる。具体的には、設定情報は、サーバ性能データに含まれていてもよく、サーバ性能データを取得することによって、設定情報を取得することができる。
【００４５】
決定部４０３は、取得した設定情報に基づいて、キャッシュに対応するノードの配置の有無を決定するようにしてもよい。また、決定部４０３は、取得した設定情報に基づいて、キャッシュ実績データを要求する対象となるキャッシュを決定するようにしてもよい。また、決定部４０３は、取得した設定情報に基づいて、キャッシュ実績データを要求するタイミングを決定するようにしてもよい。
【００４６】
何らかの問題（通信異常、権限なしなど）によって、取得部４０２がキャッシュ実績データを取得できない場合がある。また、取得部４０２が頻繁に取得処理を実行すると、本来の通信処理に負荷を与えてしまう場合がある。また、取得部４０２が、本来の通信処理回数よりも多く（頻繁に）取得する処理をおこなう場合がある。
【００４７】
このため、決定部４０３は、キャッシュの通信実績データを取得する処理について、たとえば、取得する回数／対象を、キャッシュの通信実績に応じて決めるようにしてもよい。このようにして、決定部４０３が、取得する頻度を本来の通信処理に与える負荷に合わせて実行できるように、調節するようにするとよい。
【００４８】
出力部４０４は、生成された画面を各種情報端末装置１３１〜１３３が表示可能なように出力する。また、出力部４０４は、通信異常などにより取得できない場合に、取得できなかった旨を各種情報端末装置１３１〜１３３が表示可能なように出力するようにしてもよい。また、出力部４０４は、取得できたデータの範囲内で作成されたランキングについて、各種情報端末装置１３１〜１３３が表示可能なように出力するようにしてもよい。
【００４９】
（サーバ性能データ構成の一例）
図５は、サーバ性能データのデータ構成の一例を示す説明図である。サーバ性能データ５００は、「メモリ使用量」データ５０１、「ＣＰＵ使用量」データ５０２、「ネットワーク通信量」データ５０３、「ディスクＩ／Ｏ量／速度」データ５０４、「キャッシュ域使用の有無」データ５０５、「キャッシュ間コピーを実行する条件」データ５０６の各データを含む。
【００５０】
これらの各データは、サーバ１０１〜１０５がそれぞれ、独自に有しており、その数値は、サーバごとに異なる。
【００５１】
具体的には、「メモリ使用量」データ５０１は、サーバ１０１〜１０５が有するメモリ（たとえば図２に示したメモリ２０２）の使用量を示している。具体的には、たとえば、『２．３ＴＢ』などの数値で表される。
【００５２】
また、「ＣＰＵ使用量」データ５０２は、サーバ１０１〜１０５が有するＣＰＵ（たとえば図２に示したＣＰＵ２０１）の使用量を示している。具体的には、たとえば、『７７％』などの数値で表させる。
【００５３】
また、「ネットワーク通信量」データ５０３は、サーバ１０１〜１０５が、所定時間（たとえば１秒間）に通信可能な通信量すなわちＩ／Ｏ量を示している。具体的には、たとえば、『３００ＭＢ／秒』などの数値で表される。また、「ネットワーク通信量」データ５０３は、通信相手である他のサーバとの通信量の比率を示している。具体的には、たとえば、サーバＡ１０１の場合に、『サーバＢ：３５％、サーバＣ：２０％、サーバＤ：３％、サーバＥ：１０％』などの数値で表される。
【００５４】
また、「ディスクＩ／Ｏ量／速度」データ５０４は、サーバ１０１〜１０５が有するハードディスクの書込み／読出し速度、すなわち、ハードディスクが所定時間（たとえば１秒間）に書込み／読出しをすることができるＩ／Ｏ量を示している。具体的には、たとえば、『１００ＫＢ／秒』などの数値で表される。
【００５５】
また、「キャッシュ域使用の有無」データ５０５は、キャッシュ域を使用しているか否かに関する情報を示している。具体的には、たとえば、サーバＡ１０１の場合に、『サーバＢに対して：有、サーバＣに対して：無、サーバＤに対して：有、サーバＥに対して：有』などの情報で表される。
【００５６】
また、「キャッシュ間コピーを実行する条件」データ５０６は、サーバが有するキャッシュ域を使用する条件、具体的には、キャッシュ域がキャッシュ間コピーを実行する条件に関する情報を示している。具体的には、たとえば、『通信量が１００ＭＢ／秒を超えたら使用』などの情報で表される。
【００５７】
「キャッシュ域使用の有無」データ５０５、「キャッシュ間コピーを実行する条件」データ５０６が設定情報の一例である。
【００５８】
（キャッシュ域性能データの一例）
図６は、キャッシュ域性能データのデータ構成の一例を示す説明図である。キャッシュ域性能データ６００は、「ＶＭメモリ使用量」データ６０１、「ＧＣの頻度」データ６０２、「解放されたメモリ量」データ６０３、「キャッシュ域内通信量」データ６０４、「キャッシュ内のデータヒット率」データ６０５、「実メモリからのデータＩ／Ｏ量」データ６０６の各データを含む。
【００５９】
これらの各データは、キャッシュ域１１１〜１１５がそれぞれ、独自に有しており、その数値は、キャッシュ域ごとに異なる。
【００６０】
「ＶＭメモリ使用量」データ６０１は、キャッシュ域１１１〜１１５のＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ：バーチャルマシン）のメモリの使用量を示している。具体的には、たとえば、『７３２ＭＢ』などの数値で表される。
【００６１】
また、「ＧＣの頻度」データ６０２は、キャッシュ域１１１〜１１５のＧＣ（Ｇａｒｂａｇｅ  Ｃｏｌｌｅｃｔｉｏｎ：ガベージコレクション）の頻度を示している。具体的には、たとえば『０．１回／分』（１０分おきに発生）などの数値で表される。また、「解放されたメモリ量」データ６０３は、所定時間（たとえば１分間）にＧＣによって解放されたメモリ量を示している。具体的には、たとえば『４５６ＭＢ／分』などの数値で表される。
【００６２】
また、「キャッシュ域内通信量」データ６０４は、キャッシュ域１１１〜１１５が、所定時間（たとえば１秒間）に通信可能な通信量すなわちＩ／Ｏ量を示している。具体的には、たとえば、『３００ＭＢ／秒』などの数値で表される。また、「キャッシュ域内通信量」データ６０４は、通信相手である他のキャッシュ域との通信量の比率を示している。具体的には、たとえば、キャッシュ域ａ１１１の場合に、『サーバＢ（のキャッシュ域ｂ）：２３％、サーバＣ（のキャッシュ域ｃ）：４０％、サーバＤ（のキャッシュ域ｄ）：５％、サーバＥ（のキャッシュ域ｅ）：１０％』などの数値で表される。
【００６３】
また、「キャッシュ内のデータヒット率」データ６０５は、キャッシュ域１１１〜１１５におけるデータのヒット率を示している。具体的には、たとえば『６７％』などの数値で表される。
【００６４】
また、「実メモリからのデータＩ／Ｏ量」データ６０６は、実メモリへの書込み／読出し速度、すなわち、所定時間（たとえば１秒間）に書込み／読出しできるＩ／Ｏ量を示している。具体的には、たとえば、『３００ＫＢ／秒』などの数値で表される。
【００６５】
（データベース性能データの一例）
図７は、データベース（ＤＢ）性能データのデータ構成の一例を示す説明図である。ＤＢ性能データ７００は、「メモリ使用量」データ７０１、「ＣＰＵ使用量」データ７０２、「ＤＢキャッシュＩ／Ｏ量」データ７０３、「ＤＢキャッシュヒット率」データ７０４、「ＳＱＬ実行時間」データ７０５、「ディスクＩ／Ｏ量／速度」データ７０６の各データを含む。
【００６６】
これらの各データは、ＤＢ１２１〜１２５がそれぞれ、独自に有しており、その数値は、キャッシュ域ごとに異なる。
【００６７】
「メモリ使用量」データ７０１は、ＤＢ１２１〜１２５が有するメモリ（図示省略）の使用量を示している。具体的には、たとえば、『２．３ＴＢ』などの数値で表される。「ＣＰＵ使用量」データ７０２は、サーバ１０１〜１０５が有するＣＰＵ（たとえば図２に示したＣＰＵ２０１）の使用量を示している。具体的には、たとえば、『７７％』などの数値で表される。
【００６８】
また、「ＤＢキャッシュＩ／Ｏ量」データ７０３、ＤＢ１２１〜１２５内のキャッシュの書込み／読出し速度、すなわち、所定時間（たとえば１秒間）に書込み／読出しできるＩ／Ｏ量を示している。具体的には、たとえば、『１００ＭＢ／秒』などの数値で表される。
【００６９】
また、「ＤＢキャッシュヒット率」データ７０４は、ＤＢ１２１〜１２５内のキャッシュにおけるデータのヒット率を示している。具体的には、たとえば『７４％』などの数値で表される。
【００７０】
また、「ＳＱＬ実行時間」データ７０５は、ＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）の実行時間を示している。具体的には、たとえば『０．２５ｍｓ』などの数値で表される。
【００７１】
「ディスクＩ／Ｏ量／速度」データ７０６は、ＤＢ１２１〜１２５が有するハードディスクの書込み／読出し速度、すなわち、ハードディスクが所定時間（たとえば１秒間）に書込み／読出しできるＩ／Ｏ量を示している。具体的に、たとえば、『１０ＫＢ／秒』などの数値で表される。
【００７２】
（表示制御方法の処理手順）
図８は、実施の形態にかかる表示制御方法の処理の手順の一例を示すフローチャートである。図８のフローチャートにおいて、まず、各サーバ１０１〜１０５および各サーバに対応するキャッシュ域１１１〜１１５を円環の図で示す（ステップＳ８０１）。具体的には、たとえば、図９Ａに示した表示画面のように、外側の円環にサーバを示し、内側の円環にキャッシュ域を示すようにしてもよい。
【００７３】
また、各サーバ１０１〜１０５と、各サーバに対応するＤＢの接続関係を示す（ステップＳ８０２）。これにより、どのサーバがどのＤＢにアクセス可能であるかを直感的に理解することができる。
【００７４】
つぎに、各サーバのサーバ性能データ５００を取得する（ステップＳ８０３）。また、各ＤＢ１２１〜１２５のＤＢ性能データ７００を取得する（ステップＳ８０４）。そして、取得したデータに基づいて、通常速度におけるデータの流れを示す（ステップＳ８０５）。
【００７５】
そして、取得したサーバ性能データ５００のうちの「キャッシュ域使用の有無」データ５０５と「キャッシュ間コピーを実行する条件」データ５０６に基づいて、キャッシュ域性能データ６００の取得を要求する対象となるキャッシュ域を決定する（ステップＳ８０６）。そして、決定したキャッシュ域からのキャッシュ域性能データ６００の取得タイミングも決定する（ステップＳ８０６）。
【００７６】
つぎに、取得を要求するキャッシュ域性能データ６００があるか否かを判断する（ステップＳ８０７）。ここで、取得を要求するキャッシュ域性能データ６００がない場合（ステップＳ８０７：Ｎｏ）は、ステップＳ８０３へ戻る。一方、取得を要求するキャッシュ域性能データ６００がある場合（ステップＳ８０７：Ｙｅｓ）は、ステップＳ８０６において決定した取得タイミングになったか否かを判断する（ステップＳ８０８）。
【００７７】
ステップＳ８０８において、取得タイミングになるのを待って（ステップＳ８０８：Ｎｏ）、取得タイミングになった場合（ステップＳ８０８：Ｙｅｓ）は、各キャッシュ域性能データを取得する（ステップＳ８０９）。
【００７８】
そして、取得したキャッシュ域性能データに基づいて、キャッシュ域間におけるデータの流れを示す（ステップＳ８１０）。その後、ステップＳ８０３へ戻って、ステップＳ８０３〜Ｓ８１０の各処理を繰り返し実行する。この場合、測定対象のシステムに過度な負荷を与えない範囲で、一定時間間隔で繰り返し実行するようにするとよい。
【００７９】
（画面の表示内容の一例）
図９Ａおよび図９Ｂは、生成された画面の表示内容の一例を示す説明図である。図９Ａにおいて、複数のサーバの一例として、図１に示した５つのサーバ（サーバＡ１０１〜サーバＥ１０５）について、そのノードＡ９０１〜ノードＥ９０５を、第１円環（外側）９００上に配置する。
【００８０】
具体的には、図９Ａに示すように、ノードＡ９０１を、たとえば第１円環９００における（時計に例えると）１２時の位置に配置することができる。同様に、ノードＢ９０２を、たとえば第１円環９００における９時〜１０時の間付近の位置に、ノードＣ９０３を、たとえば第１円環９００における７時〜８時の間付近の位置に、ノードＤ９０４を、たとえば第１円環９００における４時〜５時の間付近の位置に、ノードＥ９０５を、たとえば第１円環９００における２時〜３時の間付近の位置に、それぞれ配置することができる。このように各サーバを環状に配置することによって、各サーバが、同一のシステムに含まれているということを直感的に認識させることができる。
【００８１】
なお、実際に表示されるサーバの台数は、５つには限定されない。５つよりも多くてもよく、また、５つよりも少なくてもよい。第１円環（外側）９００上に配置した場合に、通信状況を確認するのに適した台数にするとよい。
【００８２】
各ノード９０１〜９０５の配置は、第１円環９００上において等間隔であってもよく、また、それぞれ異なる間隔であってもよい。サーバの規模やハードスペック（ＣＰＵの性能、メモリの大きさなど）や、システムにおける役割や重要度などに応じて、第１円環９００における配置を決めたり、また、各ノード間の間隔を変えてもよい。
【００８３】
具体的には、たとえば、メインのサーバを１２時の位置や６時の位置に配置したり、サーバの規模の大きさに応じて両側のノードとの距離を大きくしたりすることができる。また、実際に配置されているロケーションなどによって、それぞれのサーバのノードの配置を決定するようにしてもよい。したがって、地図などを重ね合わせて表示するようにしてもよい。そのようにすることによって、各サーバの設置状況を直感的に理解させることができる。
【００８４】
各サーバを配置するのは「円環」上としたが、図９Ａに示すような略円形の形状には限定されない。図示は省略するが、それぞれのノードを多角形の各頂点に配置し、各サーバを曲線ではなく、直線によって接続するようにしてもよい。したがって、５つのサーバの場合は、五角形の環状としてもよい。また、画面のサイズや形状に合わせて、楕円やその他の形状などによる環状としてもよい。
【００８５】
いずれにせよ、システムを構成するサーバのまとまりが存在することが認識できればよい。したがって、あえて閉じた環状に配置しなくても、たとえば、直線または曲線の紐上に、各サーバを配置するようにしてもよい。
【００８６】
また、サーバ間の結びつけを示すものは、２次元（平面状）に表すものに限らない。図示は省略するが、３次元状に球体や立体の多面体などを示し、その面や頂点などのいずれかの位置にノードを配置するようにしてもよい。そして、画面の表示内容を回転させることによって、擬似的に球体または多面体が立体的に見えるようにしてもよい。また、ヘッドマウントディスプレイなどに表示し、実際に３Ｄ表示をさせるようにしてもよい。
【００８７】
また、第１円環９００の内側に、第１円環９００よりも小さな第２円環（内側）９１０を示す。そして、５つのサーバのキャッシュ域のノードａ９１１〜ノードｅ９１５を、この第２円環９１０上に配置する。キャッシュ域のノードの配置位置は、対応するサーバのノードの配置位置に対応させるようにするとよい。
【００８８】
すなわち、ノードａ９１１を、ノードＡ９０１と同様に、たとえば第２円環９１０における１２時の位置に配置することができる。その他のノードも同様である。すなわち、ノードｂ９１２を、ノードＢ９０２と同様に、たとえば第２円環９１０における９時〜１０時の間付近の位置に配置することができる。ノードｃ９１３を、ノードＣ９０３と同様に、たとえば第２円環９１０における７時〜８時の間付近の位置に配置することができる。ノードｄ９１４を、ノードＤ９０４と同様に、たとえば第２円環９１０における４時〜５時の間付近の位置に配置することができる。ノードｅ９１５を、ノードＥ９０５と同様に、たとえば第２円環９１０における２時〜３時の間付近の位置に配置することができる。
【００８９】
このように、第２円環９１０を、第１円環９００よりも小さくして、第１円環９００の内側に配置することによって、通信速度の違いを感覚的に理解させることができる。すなわち、キャッシュ域のノード間の距離が、サーバのノード間の距離よりも短くすることによって、その分、データの到達が早くなるというイメージを理解させることができる。
【００９０】
第２円環９１０の形状などは、第１円環９００と同様に、円の形状には限定されない。第２円環９１０は、第１円環９００の形状などに応じて、同様の形状とすることができる。また、第２円環９１０は、第１円環９００の形状などに対応させずに、別の形状などとしてもよい。いずれにせよ、サーバと当該サーバに対応するキャッシュ域との関係が理解できるものがのぞましく、そのような関係が理解できれば、サーバのノードとキャッシュ域のノードとの配置はどのようなものであってもよく、各サーバのノード、各キャッシュ域のノードを結び付ける環の形状もどのようなものであってもよい。
【００９１】
また、各サーバ１０１〜１０５のノードには、ＤＢ１２１〜１２５が接続されているように示す。これによって、各サーバ１０１〜１０５の図示は省略するが、図１に示したように、各サーバ１０１〜１０５には、それぞれＤＢ１２１〜１２５が接続されていることがわかる。
【００９２】
図９Ｂは、サーバＡのノード９０１とキャッシュ域ａのノード９１１との関係がより明確になるように、サーバＡ１０１を示す図形９５１およびキャッシュ域ａ１１１を示す図形９６１を表示している。図９Ｂのそのほかは、図９Ａと同様である。
【００９３】
また、図９Ｂにおいて、サーバＡ１０１を示す図形９５１の中に、サーバＡ１０１のノードＡ９０１が含まれているように示している。また、サーバＡ１０１を示す図形９５１内にキャッシュ域ａ１１１を示す図形９６１を表示し、その図形９６１の中にキャッシュ域ａ１１１のノードａ９１１を示している。
【００９４】
他のノード９０２〜９０５、９１２〜９１５も、ノード９０１、９１１と同様である。それぞれサーバを示す図形９５２〜９５５、キャッシュ域を示す図形９６２〜９６５を表示する。このように、サーバ１０１〜１０５およびキャッシュ域１１１〜１１５を重ねて表示することで、サーバ、当該サーバのノード、キャッシュ域、当該キャッシュ域のノードのそれぞれの関係を、より明確にすることができる。
【００９５】
図９Ａ、図９Ｂのように示すことによって、各サーバとサーバに対応する各キャッシュ域の関連性、および、サーバとＤＢとの関連性が直感的にわかる。この関連性が直感的にわかるようにすることによって、各サーバ環の通信状況を視覚的にかつ直感的に理解させることができる。
【００９６】
このようにして、システムに含まれる複数のサーバ間の通信状況を示す画面を生成する際に、サーバに対応するノードと、当該サーバのキャッシュ域に対応するノードと、を画面に配置することができる。また、サーバに対応するノードを環状に示し、サーバに対応するノードによって形成される環の内側に、キャッシュ域に対応するノードを環状に配置することができる。
【００９７】
つぎに、配置されたノードを用いて、各サーバ間の通信状況がわかる内容を画面に示すことについて説明する。図１０Ａ、図１０Ｂは、システムに対して送信されてきたデータを格納する際の通信状況を示す説明図である。図１０Ａ、図１０Ｂにおいては、システムに対して送信されてきたデータを格納する際の、図９Ａにおいて配置した各サーバに対応するノード、各サーバのキャッシュ域に対応するノード、データベースにおけるデータの流れを示す。
【００９８】
図１０Ａは、システムに対して送信されてきたデータＸ１０００が、サーバＡ１０１、サーバＤ１０４を経由してＤＢ１２４に保存される状況を示している。具体的には、データＸ１０００が、サーバＡ１０１に到着し、サーバＡ１０１からサーバＤ１０４へ転送され、サーバＤ１０４からＤＢ１２４にデータＸ１０００が保存（格納）される状況を示している。
【００９９】
図１０Ａにおいて、データＸ１０００からノードＡ９０１への矢印１００１によって、データＸ１０００がサーバＡ１０１に到着したことを示している。そして、ノードＡ９０１からノードＤ９０４への矢印１００２によって、データＸ１０００がサーバＡ１０１からサーバＤ１０４へ転送されたことを示している。
【０１００】
ここで、ノードＡ９０１からノードＤ９０４への転送は、サーバＡ１０１とサーバＤ１０４間における通常のサーバ間通信なので、その通信速度は低い。その点を明確にするように、画面上に『通信速度：低』と表示してもよい。また、『通信速度：低』の文字情報は通常は非表示とし、カーソルや指（タッチパネルの場合）などで矢印１００２を指定することによって、表示するようにしてもよい。
【０１０１】
さらに、ノードＤ９０４からＤＢ１２４への矢印１００３によって、サーバＤ１０４からＤＢ１２４にデータＸ１０００が保存されることを示している。このように、矢印１００１〜１００３の表示から、データＸ１０００の保存においては、キャッシュが使用されていないことが、容易に把握できる。
【０１０２】
図１０Ｂは、図１０Ａと同様に、データＸ１０００がＤＢ１２４に保存される状況を示している。具体的には、データＸ１０００が、サーバＡ１０１に到着し、サーバＡ１０１が、キャッシュ域ａ１１１を用いて、キャッシュ域ａ１１１とサーバＤ１０４のキャッシュ域ｄ１１４との間でキャッシュ間通信をおこない、キャッシュ域ｄ１１４からデータＸ１０００がサーバＤ１０４へ転送され、サーバＤ１０４からＤＢ１２４にデータＸ１０００が保存される状況を示している。
【０１０３】
図１０Ｂにおいて、図１０Ａと同様に、データＸ１０００からノードＡ９０１への矢印１００１によって、データＸ１０００がサーバＡ１０１に到着したことを示している。そして、ノードＡ９０１からノードａ９１１への破線の矢印１０５１によって、データＸ１０００がサーバＡ１０１からサーバＡ１０１のキャッシュ域ａ１１１へ転送されたことを示している。
【０１０４】
ここでは、サーバＡ１０１内のデータ転送なので、通信コストはかからない。その点を明確にするように、画面上に『通信コスト＝０』と表示してもよい。また、『通信コスト＝０』の文字情報は通常は非表示とし、カーソルや指（タッチパネルの場合）などで矢印１０５１を指定することによって、表示するようにしてもよい。
【０１０５】
つぎに、ノードａ９１１からノードｄ９１４への矢印１０５２によって、データＸ１０００がキャッシュ域ａ１１１からキャッシュ域ｄ１１４へ転送されたことを示している。ノードａ９１１からノードｄ９１４への転送は、キャッシュ域ａ１１１とキャッシュ域ｄ１１４間におけるキャッシュ間通信なので、その通信速度は高い。データＸ１０００の全部または一部があらかじめキャッシュ域ｄ１１４に記憶されているため、実際にキャッシュ域ａ１１１からキャッシュ域ｄ１１４へ転送されるデータ量は少ない。したがって、キャッシュ域ａ１１１からキャッシュ域ｄ１１４へのデータＸ１０００の高速通信が可能となる。
【０１０６】
『通信速度：高』の文字情報は、表示してもよく、また、非表示でもよく、たとえば上述したような所定の条件によって表示するようにしてもよい。
【０１０７】
そして、ノードｄ９１４からノードＤ９０４への破線の矢印１０５３によって、データＸ１０００がサーバＤ１０４のキャッシュ域ｄ１１４からサーバＤ１０４へ転送されたことを示している。ここでは、サーバＤ１０４内のデータ転送なので、通信コストはかからない。『通信コスト＝０』の文字情報は、表示してもよく、また、非表示でもよく、たとえば上述したような所定の条件によって表示するようにしてもよい。
【０１０８】
さらに、図１０Ａと同様に、ノードＤ９０４からＤＢ１２４への矢印１００３によって、サーバＤ１０４からＤＢ１２４にデータＸ１０００が保存されることを示している。このように、矢印１００１、１０５１〜１０５３、１００３の表示から、図１０Ａとは異なり、データＸ１０００の保存において、キャッシュが使用されていることが、容易に把握できる。
【０１０９】
図１１Ａ、図１１Ｂは、格納されたデータを取出する際の通信状況を示す説明図である。図１１Ａ、図１１Ｂにおいては、格納されたデータを取出する際の、図９Ａにおいて配置した各サーバに対応するノード、各サーバのキャッシュ域に対応するノード、データベースにおけるデータの流れを示す。
【０１１０】
図１１Ａは、ＤＢ１２４に格納されているデータＸ１０００が、サーバＤ１０４、サーバＡ１０１を経由して取り出される状況を示している。具体的には、データＸ１０００が、ＤＢ１２４からサーバＤ１０４へ転送され、さらにサーバＤ１０４からサーバＡ１０１へ転送され、サーバＡ１０１からシステム外へ取り出される状況を示している。
【０１１１】
図１１Ａにおいて、ＤＢ１２４からノードＤ９０４への矢印１１０１によって、データＸ１０００がサーバＤ１０４に到着したことを示している。そして、ノードＤ９０４からノードＡ９０１への矢印１１０２によって、データＸ１０００がサーバＤ１０４からサーバＡ１０１へ転送されたことを示している。
【０１１２】
ここで、ノードＤ９０４からノードＡ９０１への転送は、サーバＤ１０４とサーバＡ１０１間における通常のサーバ間通信なので、その通信速度は低い。その点を明確にするように、画面上に『通信速度：低』と表示してもよい。また、『通信速度：低』の文字情報は通常は非表示とし、カーソルや指（タッチパネルの場合）などで矢印１１０２を指定することによって、表示するようにしてもよい。
【０１１３】
さらに、ノードＡ９０１からの矢印１１０３によって、データＸ１０００が取出されたことを示している。このように、矢印１１０１〜１１０３の表示から、データＸ１０００の取出においては、キャッシュが使用されていないことが、容易に把握できる。
【０１１４】
図１１Ｂは、図１１Ａと同様に、ＤＢ１２４に保存されているデータＸ１０００が取出される状況を示している。具体的には、ＤＢ１２４に保存されているデータＸ１０００が、サーバＤ１０４に転送され、サーバＤ１０４が、キャッシュ域ｄ１１４を用いて、キャッシュ域ｄ１１４とサーバＡ１０１のキャッシュ域ａ１１１との間でキャッシュ間通信をおこない、キャッシュ域ａ１１１からデータＸ１０００がサーバＡ１０１へ転送され、サーバＡ１０１から取出される状況を示している。
【０１１５】
図１１Ｂにおいて、図１１Ａと同様に、ＤＢ１２４からノードＤ９０４への矢印１１０１によって、データＸ１０００がサーバＤ１０４に到着したことを示している。そして、ノードＤ９０４からノードｄ９１４への破線の矢印１１５１によって、データＸ１０００がサーバＤ１０４からサーバＤ１０４のキャッシュ域ｄ１１４へ転送されたことを示している。
【０１１６】
ここでは、サーバＤ１０４内のデータ転送なので、通信コストはかからない。その点を明確にするように、画面上に『通信コスト＝０』と表示してもよい。また、『通信コスト＝０』の文字情報は通常は非表示とし、カーソルや指（タッチパネルの場合）などで矢印１１５１を指定することによって、表示するようにしてもよい。
【０１１７】
つぎに、ノードｄ９１４からノードａ９１１への矢印１１５２によって、データＸ１０００がキャッシュ域ｄ１１４からキャッシュ域ａ１１１へ転送されたことを示している。ノードｄ９１４からノードａ９１１への転送は、キャッシュ域ｄ１１４とキャッシュ域ａ１１１間におけるキャッシュ間通信なので、その通信速度は高い。実際には、データＸ１０００の全部または一部があらかじめキャッシュ域ａ１１１に記憶されているため、キャッシュ域ｄ１１４からキャッシュ域ａ１１１へ転送されるデータ量は少ない。したがって、キャッシュ域ｄ１１４からキャッシュ域ａ１１１へのデータＸ１０００の高速通信が可能となる。
【０１１８】
『通信速度：高』の文字情報は、表示してもよく、また、非表示でもよく、たとえば上述したような所定の条件によって表示するようにしてもよい。
【０１１９】
そして、ノードａ９１１からノードＡ９０１への破線の矢印１１５３によって、データＸ１０００がサーバＡ１０１のキャッシュ域ａ１１１からサーバＡ１０１へ転送されたことを示している。ここでは、サーバＡ１０１内のデータ転送なので、通信コストはかからない。『通信コスト＝０』の文字情報は、表示してもよく、また、非表示でもよく、たとえば上述したような所定の条件によって表示するようにしてもよい。
【０１２０】
さらに、図１１Ａと同様に、ノードＡ９０１からの矢印１１０３によって、データＸ１０００が取出されることを示している。このように、矢印１１０１、１１５１〜１１５３、１１０３の表示から、図１１Ａとは異なり、データＸ１０００の保存において、キャッシュが使用されていることが、容易に把握できる。
【０１２１】
このように、システムに含まれる複数のサーバ間の通信状況を示す画面を生成する際に、複数のサーバ（サーバＡ１０１〜サーバＥ１０５）に対応する複数のノード（ノードＡ９０１〜ノードＥ９０５）とともに、複数のサーバ（サーバＡ１０１〜サーバＥ１０５）のキャッシュ域（キャッシュ域ａ１１１〜キャッシュ域ｅ１１５）に対応する複数のノード（ノードａ９１１〜ノードｅ９１５）を画面に配置することができる。
【０１２２】
そして、複数のサーバのキャッシュに対応する複数のノード（ノードａ９１１〜ノードｅ９１５）を送信元または送信先とするデータの通信状況を画面に配置することができる。また、複数のサーバ（サーバＡ１０１〜サーバＥ１０５）のキャッシュ域（キャッシュ域ａ１１１〜キャッシュ域ｅ１１５）に対応する複数のノード（ノードａ９１１〜ノードｅ９１５）を送信元または送信先とするデータの通信状況を他のデータの通信状況と識別可能に画面に配置することができる。
【０１２３】
より具体的には、たとえば、図１０Ｂにおいて、キャッシュ域に対応する複数のノードを送信元または送信先とするデータの通信状況を示す矢印１０５１のみを、第２円環（内側）９１０の内側に配置し、他のデータの通信状況を示す矢印は第２円環（内側）９１０の内側に配置しないようにすることによって、他のデータの通信状況と識別可能としている。同様に、たとえば、図１１Ｂにおいて、キャッシュ域に対応する複数のノードを送信元または送信先とするデータの通信状況を示す矢印１１５１のみを、第２円環（内側）９１０の内側に配置し、他のデータの通信状況を示す矢印は第２円環（内側）９１０の内側に配置しないようにすることによって、他のデータの通信状況と識別可能としている。  
【０１２４】
図１２は、生成された画面の表示内容の別の一例を示す説明図である。図１２においては、複数の通信状況（データの流れ）を矢印１２０１〜１２０４で示している。データの流れの矢印の太さは、その通信経路の最大スループットに対する使用割合（％）に応じて変化させるようにしてもよい。具体的には、矢印が太いほど、使用割合（通信量）が大きく）なり、逆に、矢印が細いほど使用割合（通信量）が小さくなる。したがって、矢印の太さをみれば、使用割合（通信量）に関してのおおよその見当をつけることができる。
【０１２５】
また、図示を省略するが、矢印の色を変えることによって、通信量の違いを示すようにしてもよい。たとえば、信号機のように、青色の場合は、使用割合が少なく正常であることを示し（たとえば使用割合が０〜４０％）、黄色の場合は、使用割合が少し多くなってきたことを示し（たとえば使用割合が４０〜６０％）、赤色の場合は、使用割合が多くなって、注意が必要であることを示し（たとえば使用割合が６０〜８０％）、さらに、紫色の場合は、使用割合が最大スループットに近くなって危険な状態であることを示す（たとえば使用割合が８０％〜）ようにしてもよい。
【０１２６】
また、矢印に対する通信状況に関する文字情報（コメント）を表示するようにしてもよい。たとえば、矢印１２０１に対して、文字情報（『キャッシュ域を経由しない通信＝５０ＭＢ／ｓ（最大スループット比：２０％）』）１２１１と表示したり、また、矢印１２０２に対して、文字情報（『キャッシュ域を経由する通信＝１５０ＭＢ／ｓ（最大スループット比：４０％）』）１２１２と表示するようにしてもよい。
【０１２７】
文字情報は、ノード９０１〜９０５、９１１〜９１５に対して表示するようにしてもよい。たとえば、ノードＡ９０１に対して、文字情報（『メモリ消費：ヒープの９０％使用』）１２１３を表示するようにしてもよい。
【０１２８】
また、文字情報は、ＤＢ１２１〜１２５に対して表示するようにしてもよい。たとえば、ＤＢ１２４に対して、文字情報（『処理遅延（標準的な処理にかかる時間：１００ｍｓ）』）１２１４を表示するようにしてもよい。
【０１２９】
文字情報とともに、あるいは、文字情報に代えて、グラフなどの図形情報を表示するようにしてもよい。たとえば、ノードｃ９１３について、キャッシュ域内通信量（Ｉ／Ｏ量）を、円グラフ（『２５％』）１２１５によって表示するようにしてもよい。また、文字情報に代えて、ノードの色の違い（たとえば青色、黄色、赤色、紫色など）や、ノードを示す図形の大きさや形状の変化によって、サーバやキャッシュ域の各種情報を表示するようにしてもよい。
【０１３０】
文字情報１２１１〜１２１４や図形情報１２１５は、常に表示するようにしてもよく、表示／非表示を指定できるようにしてもよい。具体的には、たとえば、通常は非表示にしておいて、矢印１２０１、１２０２やノード９０１、９１３を選択した場合だけ表示するようにしてもよい。また、通常は表示しておいて、指定した文字情報のみを非表示にするようにしてもよい。
【０１３１】
また、図示は省略するが、文字情報または図形情報として、サーバの早さなどに関するハードスペック（ＣＰＵの性能、メモリの大きさ）に関する情報を表示するようにしてもよい。
【０１３２】
このように、図１２において、矢印１２０２および１２０４のみを、第２円環（内側）９１０の内側に配置し、他の矢印を第２円環（内側）９１０の内側に配置しないようにすることによって、複数のサーバ（サーバＡ１０１〜サーバＥ１０５）のキャッシュ域（キャッシュ域ａ１１１〜キャッシュ域ｅ１１５）に対応する複数のノード（ノードａ９１１〜ノードｅ９１５）を送信元または送信先とするデータの通信状況を他のデータの通信状況と識別可能に画面に配置することができる。
【０１３３】
図１３は、生成された画面の表示内容の別の一例を示す説明図である。図１３に示すように、各サーバ１０１〜１０５の性能データ５００、各キャッシュ域１１１〜１１５の性能データ６００、各ＤＢ１２１〜１２５の性能データ７００の内容を画面に表示することができる。
【０１３４】
図１３においては、画面の向かって左側に、サーバＡ１０１の性能データ１３０１と、キャッシュ域ａの性能データ１３０２と、サーバＡのＤＢ１２１の性能データ１３０３とを縦に並べて表示している。
【０１３５】
表示方法については、これに限定されるものではない。たとえば、複数のサーバの性能データを並べて表示してもよい。複数のキャッシュ域の性能データを並べて表示してもよい。複数のＤＢの性能データを並べて表示してもよい。また、データの流れに沿って、そのデータの流れに関わるノードに関する性能データを並べて表示してもよい。
【０１３６】
また、性能データは、全部またはそのデータの一部（たとえばＣＰＵ使用量）のみを表示するようにしてもよい。ボトルネックを確認するために、操作者が自由に選択して、必要なデータのみを表示するようにしてもよい。
【０１３７】
また、図示は省略するが、たとえば、スクロールバーなどを設定して、スクロールバーを操作することによって、連続的に各性能データを表示できるようにしてもよい。また、指定されたサーバの性能データのみを指定されるごとに切り替えて表示するようにしてもよい。キャッシュ域の性能データ、ＤＢの性能データも同様に表示するようにしてもよい。  
【０１３８】
また、各データの表示／非表示について、指定することができる。カーソルや指などで指定したノードまたはＤＢに対応する性能データのみを表示するようにしてもよい。また、データの流れを示す矢印を指定することによって、そのデータの流れに関与しているノードまたはＤＢのみを表示するようにしてもよい。
【０１３９】
（ボトルネックの検出方法の一例）
つぎに、図１２、図１３などに示した画面を用いたボトルネックの検出方法の一例について説明する。
【０１４０】
上述したように、図１２、図１３においては、（Ａ）実際に発生したデータの流れを全て円環上に重ね合わせている。（Ｂ）データの流れの矢印の太さは、その通信経路の最大スループットに対する使用割合（％）に応じて変化させている。（Ｃ）データのやり取りの多い（ＣＰＵ負荷の高い）サーバの箇所を強調表示している。（Ｄ）データの蓄積量の多いキャッシュ域を強調表示している。（Ｅ）キャッシュ域を経由しない通信があれば記載している。
【０１４１】
前記（Ａ）〜（Ｅ）の処理の少なくともいずれかを実行することによって、このシステム構成において性能ボトルネックとなっている箇所を特定し、つぎの対策（１）〜（３）をおこなうかどうか判断することができる。
【０１４２】
（１）「データ流量が多い」と判断した場合は、通信経路の最大スループットを増やす。また、最適な通信経路を選択するようにするとよい。
（２）「ＣＰＵ負荷が高い」と判断した場合は、ＣＰＵの高速化、サーバ多重化、ソフトウェアのバージョンアップなどをおこなうようにするとよい。
（３）「データ蓄積量が多い」と判断した場合は、メモリを増強するようにするとよい。
【０１４３】
このように、表示画面を見ることによって、直感的に性能ボトルネックが把握でき、その後の対応を迅速かつ確実におこなうことができるようになる。
【０１４４】
以上説明したように、実施の形態においては、全体のデータの流れを円環で表現し、円環の内側には、さらに円環を配置して、それら円環上に各要素に対応する点を置いている。また、各要素間のデータの流れは、円環上の各要素の点から他の要素の点への矢印で表現している。さらに、各要素間に通信速度が著しく異なる通信手段（キャッシュ域間通信など）がある場合は、そのキャッシュ域内での各要素間の通信は、内側に置いた円環上の各要素の点の間の矢印で表現するようにして、通信速度の違いを表現できるようにしている。さらにまた、図１３に示すように、実際のデータの流量、ＣＰＵ使用量、メモリ使用量などの測定結果をこのような図上で表現することにより、ボトルネックの箇所を発見しやすくしている。
【０１４５】
このように、本実施の形態では、通常の要素間通信パスと、キャッシュによる通信パスとを階層に分けて記述することにより、システム内のそれぞれの通信パス上のデータの流れの大小や、各構成要素の負荷の大小が分かりやすく表示でき、複数のサーバ間の通信状況を容易に把握することができる。
【０１４６】
これによって、システムにおけるボトルネック箇所がすぐに発見でき、対策の立案を迅速におこなうことができる。また、運用中にシステム内のある要素に問題が発生した場合、どのようなボトルネックが発生しうるかを予測しやすくなり、事前の対策を立案／実施できるという効果も得られる。また、故障による要素の停止や、システムの拡張も全体の形を変更することなく記述することができるようになり、システムの変更が発生した場合の事前の予測や事後の対処を容易に実施できる。
【０１４７】
なお、本実施の形態で説明した表示制御方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。表示制御プログラムは、ハードディスク、フレキシブルディスク、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  Ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、表示制御プログラムは、インターネットなどのネットワークを介して配布してもよい。
【０１４８】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１４９】
（付記１）システムに含まれる複数のサーバ間の通信状況を示す画面を生成する際に、前記複数のサーバに対応する複数のノードとともに、前記複数のサーバのキャッシュに対応する複数のノードを前記画面に配置し、前記複数のサーバのキャッシュに対応する複数のノードを送信元または送信先とするデータの通信状況を他のデータの通信状況と識別可能に前記画面に配置する、
処理をコンピュータに実行させることを特徴とする表示制御プログラム。
【０１５０】
（付記２）前記複数のサーバ間の通信に関するサーバ実績データと、前記複数のサーバのキャッシュ間の通信に関するキャッシュ実績データと、を取得し、
取得したデータに基づいて、前記複数のノード間の通信状況を前記画面に配置する、
処理を前記コンピュータに実行させることを特徴とする付記１に記載の表示制御プログラム。
【０１５１】
（付記３）前記キャッシュ実績データは、前記サーバの設定情報に基づいて実行される、前記キャッシュを送信元または送信先とする当該キャッシュ間の通信に関するデータであることを特徴とする付記２に記載の表示制御プログラム。
【０１５２】
（付記４）前記設定情報を取得し、
取得した前記設定情報に基づいて、前記キャッシュに対応するノードの配置の有無を決定する、
処理を前記コンピュータに実行させることを特徴とする付記３に記載の表示制御プログラム。
【０１５３】
（付記５）前記設定情報を取得し、
取得した前記設定情報に基づいて、前記キャッシュ実績データを要求する対象となるキャッシュを決定する、
処理を前記コンピュータに実行させることを特徴とする付記３または４に記載の表示制御プログラム。
【０１５４】
（付記６）前記設定情報を取得し、
取得した前記設定情報に基づいて、前記キャッシュ実績データを要求するタイミングを決定する、
処理を前記コンピュータに実行させることを特徴とする付記３〜５のいずれか一つに記載の表示制御プログラム。
【０１５５】
（付記７）前記設定情報は、前記サーバが前記キャッシュを使用しているか否かの情報を含むことを特徴とする付記３〜６のいずれか一つに記載の表示制御プログラム。
【０１５６】
（付記８）前記設定情報は、前記キャッシュが使用される条件に関する情報を含むことを特徴とする付記３〜７のいずれか一つに記載の表示制御プログラム。
【０１５７】
（付記９）前記複数のサーバに対応する複数のノードを環状に示し、
前記複数のサーバに対応する複数のノードによって形成される環の内側に、前記複数のサーバのキャッシュに対応する複数のノードを環状に配置することを特徴とする付記１〜８のいずれか一つに記載の表示制御プログラム。
【０１５８】
（付記１０）前記複数のノード間のデータの流れを、送信元のノードから送信先のノードへの矢印で示すことを特徴とする付記９に記載の表示制御プログラム。
【０１５９】
（付記１１）前記矢印の太さまたは色の違いによって、前記ノード間の通信状況の違いを示すことを特徴とする付記１０に記載の表示制御プログラム。
【０１６０】
（付記１２）前記サーバ実績データに基づいて、前記サーバに関する測定結果を前記画面に示す、
処理を前記コンピュータに実行させることを特徴とする付記２〜１１のいずれか一つに記載の表示制御プログラム。
【０１６１】
（付記１３）前記キャッシュ実績データに基づいて、前記キャッシュに関する測定結果を前記画面に示す、
処理を前記コンピュータに実行させることを特徴とする付記２〜１２のいずれか一つに記載の表示制御プログラム。
【０１６２】
（付記１４）前記サーバとデータベース間の通信に関するデータベース実績データを取得し、
取得した前記データベース実績データに基づいて、前記データベースに関する測定結果を前記画面に示す、
処理を前記コンピュータに実行させることを特徴とする付記２〜１３のいずれか一つに記載の表示制御プログラム。
【０１６３】
（付記１５）システムに含まれる複数のサーバ間の通信状況を示す画面を生成する際に、前記複数のサーバに対応する複数のノードとともに、前記複数のサーバのキャッシュに対応する複数のノードを前記画面に配置し、前記複数のサーバのキャッシュに対応する複数のノードを送信元または送信先とするデータの通信状況を他のデータの通信状況と識別可能に前記画面に配置する、
処理をコンピュータが実行することを特徴とする表示制御方法。
【０１６４】
（付記１６）システムに含まれる複数のサーバ間の通信状況を示す画面を生成する際に、前記複数のサーバに対応する複数のノードとともに、前記複数のサーバのキャッシュに対応する複数のノードを前記画面に配置し、前記複数のサーバのキャッシュに対応する複数のノードを送信元または送信先とするデータの通信状況を他のデータの通信状況と識別可能に前記画面に配置する、
制御部を有することを特徴とする表示制御装置。
【符号の説明】
【０１６５】
１００  ネットワーク
１０１  サーバＡ
１０２  サーバＢ
１０３  サーバＣ
１０４  サーバＤ
１０５  サーバＥ
１１０  他のシステム
１１１  キャッシュ域ａ
１１２  キャッシュ域ｂ
１１３  キャッシュ域ｃ
１１４  キャッシュ域ｄ
１１５  キャッシュ域ｅ
１２０  監視サーバ（表示制御装置）
１２１〜１２５  データベース（ＤＢ）
１３１  パーソナルコンピュータ（ＰＣ）
１３２  タブレット端末装置
１３３  スマートフォン
３０４  ディスプレイ
４０１  画面生成部
４０２  取得部
４０３  決定部
４０４  出力部
５００  サーバ性能データ
６００  キャッシュ域性能データ
７００  データベース（ＤＢ）性能データ
９００  第１円環
９０１〜９０５  サーバのノード
９１０  第２円環
９１１〜９１５  キャッシュ域のノード
１２０１〜１２０４  矢印（データの流れ）
１３０１〜１３０３  測定結果
【図１】
2019086803.tif 000003
【図２】
2019086803.tif 000004
【図３】
2019086803.tif 000005
【図４】
2019086803.tif 000006
【図５】
2019086803.tif 000007
【図６】
2019086803.tif 000008
【図７】
2019086803.tif 000009
【図８】
2019086803.tif 000010
【図９Ａ】
2019086803.tif 000011
【図９Ｂ】
2019086803.tif 000012
【図１０Ａ】
2019086803.tif 000013
【図１０Ｂ】
2019086803.tif 000014
【図１１Ａ】
2019086803.tif 000015
【図１１Ｂ】
2019086803.tif 000016
【図１２】
2019086803.tif 000017
【図１３】
2019086803.tif 000018