(57)【特許請求の範囲】
【請求項１】
収集される各々の監視対象の状態に関するデータを、データベース群のうち書込先に設定されているデータベースに書き込むコンピュータに、
前記データベース群の中から、前記データの読出要求に対する応答時間の長さを表す値が所定の閾値以上となる第１のデータベースを検出し、
前記第１のデータベースが書込先に設定されている少なくともいずれかの監視対象の状態を特徴付けるデータの書込先を、前記データベース群のうちの前記第１のデータベースとは異なる第２のデータベースに変更する、
処理を実行させることを特徴とする制御プログラム。
【請求項２】
前記コンピュータに、
前記データベース群の中から、前記応答時間の長さを表す値が、前記所定の閾値（以下、「第１の閾値」という）よりも小さい第２の閾値未満となる前記第２のデータベースを検出する処理を実行させ、
前記データの書込先を変更する処理は、
前記いずれかの監視対象の状態を特徴付けるデータの書込先を、検出された前記第２のデータベースに変更することを特徴とする請求項１に記載の制御プログラム。
【請求項３】
前記コンピュータに、
前記第１のデータベースが書込先に設定されている監視対象群の各々の監視対象の状態を特徴付けるデータが前記第１のデータベースの中から読み出される頻度に基づいて、前記監視対象群の中からいずれかの監視対象を選択する処理を実行させ、
前記データの書込先を変更する処理は、
選択された前記監視対象の状態を特徴付けるデータの書込先を、前記第２のデータベースに変更することを特徴とする請求項１または２に記載の制御プログラム。
【請求項４】
前記いずれかの監視対象を選択する処理は、
前記監視対象群のうち前記第１のデータベースの中から読み出される前記頻度が最大の監視対象を選択し、
前記データの書込先を変更する処理は、
前記第２のデータベースが複数存在する場合、選択された前記監視対象の状態を特徴付けるデータの書込先を、複数存在する前記第２のデータベースのうち前記応答時間の長さを表す値が最小のデータベースに変更することを特徴とする請求項３に記載の制御プログラム。
【請求項５】
前記コンピュータに、
互いに異なる監視対象のペアごとに、前記ペアに含まれる各々の監視対象の状態を特徴付けるデータが前記第１のデータベースの中から同時に読み出される頻度を算出し、
前記第１のデータベースの中から同時に読み出される前記ペアごとの頻度に基づいて、当該頻度が第３の閾値以上となるペアを特定し、
特定した前記ペアに含まれる少なくともいずれかの監視対象を選択する、処理を実行させ、
前記データの書込先を変更する処理は、
選択された前記監視対象の状態を特徴付けるデータの書込先を、前記第２のデータベースに変更することを特徴とする請求項１または２に記載の制御プログラム。
【請求項６】
前記データの書込先を変更する処理は、
前記第２のデータベースが複数存在する場合、特定された前記ペアに含まれる各々の監視対象の状態を特徴付けるデータの書込先がそれぞれ異なるように、前記ペアに含まれる各々の監視対象の状態を特徴付けるデータの書込先を、複数存在する前記第２のデータベースに変更することを特徴とする請求項５に記載の制御プログラム。
【請求項７】
各々の監視対象の状態を特徴付けるデータを収集する情報処理装置を制御して、データベース群のうち書込先に設定されているデータベースに前記データを書き込ませるコンピュータに、
前記データベース群の中から、前記データの読出要求に対する応答時間の長さを表す値が所定の閾値以上となる第１のデータベースを検出し、
前記第１のデータベースが書込先に設定されている少なくともいずれかの監視対象の状態を特徴付けるデータの書込先を、前記データベース群のうちの前記第１のデータベースとは異なる第２のデータベースに変更する、
処理を実行させることを特徴とする制御プログラム。
【請求項８】
収集される各々の監視対象の状態に関するデータを、データベース群のうち書込先に設定されているデータベースに書き込む書込部と、
前記データベース群の中から、前記データの読出要求に対する応答時間の長さを表す値が所定の閾値以上となる第１のデータベースを検出する検出部と、
前記第１のデータベースが書込先に設定されている少なくともいずれかの監視対象の状態を特徴付けるデータの書込先を、前記データベース群のうちの前記第１のデータベースとは異なる第２のデータベースに変更する変更部と、
を備えることを特徴とするデータアクセス制御装置。
【請求項９】
各々の監視対象の状態を特徴付けるデータを収集する情報処理装置を制御して、データベース群のうち書込先に設定されているデータベースに前記データを書き込ませるデータアクセス制御装置であって、
前記データベース群の中から、前記データの読出要求に対する応答時間の長さを表す値が所定の閾値以上となる第１のデータベースを検出する検出部と、
前記第１のデータベースが書込先に設定されている少なくともいずれかの監視対象の状態を特徴付けるデータの書込先を、前記データベース群のうちの前記第１のデータベースとは異なる第２のデータベースに変更する変更部と、
を備えることを特徴とするデータアクセス制御装置。
【請求項１０】
収集される各々の監視対象の状態に関するデータを、データベース群のうち書込先に設定されているデータベースに書き込むコンピュータが、
前記データベース群の中から、前記データの読出要求に対する応答時間の長さを表す値が所定の閾値以上となる第１のデータベースを検出し、
前記第１のデータベースが書込先に設定されている少なくともいずれかの監視対象の状態を特徴付けるデータの書込先を、前記データベース群のうちの前記第１のデータベースとは異なる第２のデータベースに変更する、
処理を実行することを特徴とするデータ制御方法。
【請求項１１】
各々の監視対象の状態を特徴付けるデータを収集する情報処理装置を制御して、データベース群のうち書込先に設定されているデータベースに前記データを書き込ませるコンピュータが、
前記データベース群の中から、前記データの読出要求に対する応答時間の長さを表す値が所定の閾値以上となる第１のデータベースを検出し、
前記第１のデータベースが書込先に設定されている少なくともいずれかの監視対象の状態を特徴付けるデータの書込先を、前記データベース群のうちの前記第１のデータベースとは異なる第２のデータベースに変更する、
処理を実行することを特徴とするデータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データアクセスに関する制御を行う制御プログラム、データアクセス制御装置およびデータ制御方法に関する。
【背景技術】
【０００２】
従来、ＩＣＴ（Ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）システムが提供する業務のサービス品質を可視化し、システム内の監視対象となるサーバから収集した性能データを監視、分析する技術がある。
【０００３】
各サーバの性能データは、例えば、各サーバに導入された各エージェントにより定期的に収集される。各エージェントにより収集された性能データは、例えば、性能データを一括管理する管理サーバのマネージャに送信され、性能ＤＢ（データベース）に蓄積される。また、監視対象となるサーバ数の増加などにより性能ＤＢへの負荷が高くなると、性能ＤＢの数を増やしたり、管理サーバの処理性能を向上させるなどのスケールアップやスケールアウトが行われる。
【０００４】
関連する先行技術としては、例えば、監視対象のストレージネットワーク構成要素から収集した性能情報をもとに、以後の情報収集の対象範囲もしくは程度を必要に応じて自動調整するものがある。また、例えば、性能種目又は被管理装置を要素とし、第１の要素に関する性能情報の時系列変化と、第２の要素に関する性能情報の時系列変化との相関関数から相関モデルを生成し、第１の要素の性能情報から第２の要素の性能情報を予測する技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１５７９３３号公報
【特許文献２】特開２００９−１９９５３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術では、監視対象の性能データ等を格納するデータベース群のうち特定のデータベースに利用者からの参照要求が偏ってアクセスが集中すると、利用者からの参照要求に対するレスポンス時間の増大化を招くという問題がある。
【０００７】
一側面では、本発明は、データベースの応答時間の増加を抑制することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一側面によれば、第１のデータ及び第２のデータを記憶する第１の記憶装置と、前記第１のデータを記憶する第２の記憶装置と、を含むシステム内のコンピュータに、前記第１のデータ及び前記第２のデータの双方についてのアクセス要求に応じたアクセス処理を前記第１の記憶装置に対して実行させた後に、前記第１のデータについてのアクセス要求を受けた場合に、前記第１のデータについての前記アクセス要求に応じたアクセス処理を前記第２の記憶装置に対して実行させる制御プログラムが提案される。
【０００９】
本発明の一側面によれば、収集される各々の監視対象の状態に関するデータを、データベース群のうち書込先に設定されているデータベースに書き込むコンピュータが、前記データベース群の中から、前記データの読出要求に対する応答時間の長さを表す値が所定の閾値以上となる第１のデータベースを検出し、前記第１のデータベースが書込先に設定されている少なくともいずれかの監視対象の状態を特徴付けるデータの書込先を、前記データベース群のうちの前記第１のデータベースとは異なる第２のデータベースに変更する制御プログラム、データアクセス制御装置およびデータ制御方法が提案される。
【００１０】
また、本発明の一側面によれば、各々の監視対象の状態を特徴付けるデータを収集する情報処理装置を制御して、データベース群のうち書込先に設定されているデータベースに前記データを書き込ませるコンピュータが、前記データベース群の中から、前記データの読出要求に対する応答時間の長さを表す値が所定の閾値以上となる第１のデータベースを検出し、前記第１のデータベースが書込先に設定されている少なくともいずれかの監視対象の状態を特徴付けるデータの書込先を、前記データベース群のうちの前記第１のデータベースとは異なる第２のデータベースに変更する制御プログラム、データアクセス制御装置およびデータ制御方法が提案される。
【発明の効果】
【００１１】
本発明の一側面によれば、データベースの応答時間の増加を抑制することができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施の形態１にかかるデータ制御方法の一実施例を示す説明図である。
【図２】図２は、実施の形態２にかかる性能管理システムのシステム構成例を示す説明図である。
【図３】図３は、実施の形態２にかかるデータアクセス制御装置のハードウェア構成例を示すブロック図である。
【図４】図４は、ルーティングテーブルの記憶内容の一例を示す説明図である。
【図５】図５は、実施の形態２にかかるデータアクセス制御装置の機能的構成例を示すブロック図である。
【図６】図６は、レスポンス管理テーブルの記憶内容の一例を示す説明図である。
【図７】図７は、ルーティングテーブルの記憶内容の更新例を示す説明図である。
【図８】図８は、同時参照回数管理テーブルの記憶内容の一例を示す説明図である。
【図９】図９は、同時参照率管理テーブルの記憶内容の一例を示す説明図である。
【図１０】図１０は、エージェントの格納先ＤＢの変更例を示す説明図である。
【図１１】図１１は、実施の形態２にかかるデータアクセス制御装置のデータ制御処理手順の一例を示すフローチャートである。
【図１２】図１２は、アクセス状況更新処理の具体的処理手順の一例を示すフローチャートである。
【図１３】図１３は、同時参照率算出処理の具体的処理手順の一例を示すフローチャートである。
【図１４】図１４は、グループ選択処理の具体的処理手順の一例を示すフローチャートである。
【図１５】図１５は、ルーティング処理の具体的処理手順の一例を示すフローチャートである。
【図１６】図１６は、実施の形態３にかかる性能管理システムのシステム構成例を示す説明図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、この発明にかかる制御プログラム、データアクセス制御装置およびデータ制御方法の実施の形態を詳細に説明する。
【００１４】
（実施の形態１）
図１は、実施の形態１にかかるデータ制御方法の一実施例を示す説明図である。図１において、データアクセス制御装置１００は、ルーティングテーブル１１０にアクセス可能であり、データベース群に格納するデータを分散する機能を有するコンピュータである。
【００１５】
ルーティングテーブル１１０は、各々の監視対象の状態を特徴付けるデータの書込先となるデータベースを設定するテーブルである。監視対象としては、例えば、システム内のハードウェア、ソフトウェア、ドキュメントなどが挙げられる。
【００１６】
より詳細に説明すると、例えば、監視対象は、Ｗｅｂサーバ、アプリケーションサーバ、データベースサーバ、仮想サーバ、ストレージ装置、ネットワーク機器などのシステムの構成要素である。また、監視対象は、各構成要素のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ、ディスクなどのリソースであってもよい。また、監視対象は、各構成要素にインストールされているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、ミドルウェア、アプリケーションなどのソフトウェアであってもよい。
【００１７】
監視対象の状態を特徴付けるデータとは、例えば、時間の経過に伴って変化する監視対象の使用状況、稼働状況、トラフィック状況などを表す情報である。各データは、例えば、システム全体の性能の監視、分析、診断、評価等に用いられる。
【００１８】
監視対象の状態を特徴付けるデータは、定期的または不定期に収集されてルーティングテーブル１１０に設定されている書込先のデータベースに書き込まれる。また、データベース１０１〜１０３に格納されているデータは、利用者からの参照要求に応じて、ルーティングテーブル１１０に設定されている書込先のデータベースから読み出される。
【００１９】
図１において、データベース１０１〜１０３は、周期的に収集される各々の監視対象の状態を特徴付けるデータを格納するデータベース群である。また、サーバ１０４〜１０８は、監視対象となるサーバ群である。また、データＤ１〜Ｄ５は、サーバ１０４〜１０８の各々の状態を特徴付けるデータである。
【００２０】
ここで、利用者により頻繁に参照されるデータが特定のデータベースに偏って格納されていると、特定のデータベースに対するアクセスが集中する場合がある。この場合、利用者からの参照要求に対するデータベースの応答時間が増大して、利用者に対するサービス品質が低下してしまうことがある。
【００２１】
そこで、実施の形態１では、周期的に収集される各々の監視対象のデータを格納するデータベース群のうち、利用者からの参照要求が偏ってアクセス集中しているデータベースが書込先となっている監視対象のデータの書込先を別のデータベースに変更する。これにより、利用者からの参照要求に対するデータベースの応答時間の増大化を抑制して、利用者に対するサービス品質の低下を防ぐ。
【００２２】
以下、実施の形態１にかかるデータアクセス制御装置１００のデータ制御処理手順の一実施例について説明する。ここでは、ルーティングテーブル１１０に、データＤ１，Ｄ２の書込先としてデータベース１０１が設定され、データＤ３，Ｄ４の書込先としてデータベース１０２が設定され、データＤ５の書込先としてデータベース１０３が設定されている。
【００２３】
（１）データアクセス制御装置１００は、データベース１０１〜１０３の中から、データの読出要求に対する応答時間の長さを表す値（以下、「指標値」という）が第１の閾値以上となる第１のデータベースを検出する。ここで、データの読出要求に対する応答時間の長さを表す指標値とは、データの読出要求に対するデータベースの応答性能を表すものである。
【００２４】
各データベースの指標値は、例えば、データの読出要求に対する応答時間が長くなる、すなわち、データの読出要求に対する応答性能が悪いほど値が大きくなる。該指標値としては、例えば、各データベースに格納されているデータの読出要求に対する応答時間の実績値から得られる応答時間の平均値を用いることができる。
【００２５】
また、第１の閾値は、例えば、該指標値が第１の閾値以上となると、利用者に対して要求されているサービス品質を維持できなくなる値に設定される。すなわち、データアクセス制御装置１００は、該指標値が第１の閾値以上であり、データの読出要求に対する応答性能が悪い第１のデータベースを検出する。
【００２６】
図１の例では、利用者からの参照要求（図１中、下向き点線矢印）がデータベース１０２に偏ってアクセスが集中しているため、データの参照要求に対するデータベース１０２の応答時間が増大している。このため、第１のデータベースとして、データベース１０１〜１０３の中からデータベース１０２が検出される。
【００２７】
（２）データアクセス制御装置１００は、データベース１０１〜１０３の中から、第１のデータベースとは異なる第２のデータベースを検出する。具体的には、例えば、データアクセス制御装置１００が、データベース１０１〜１０４の中から、該指標値が第２の閾値未満となる第２のデータベースを検出することにしてよい。
【００２８】
ここで、第２の閾値は、少なくとも第１の閾値よりも小さい値である。第２の閾値は、例えば、該指標値が第２の閾値未満となると、データの読出要求に対する応答時間が短く、データの読出要求に対する応答性能が良いと判断できる値に設定される。図１の例では、第２のデータベースとして、データベース１０１〜１０３の中からデータベース１０３が検出される。
【００２９】
（３）データアクセス制御装置１００は、ルーティングテーブル１１０に第１のデータベースが書込先に設定されている少なくともいずれかの監視対象の状態を特徴付けるデータの書込先を第２のデータベースに変更する。
【００３０】
すなわち、データアクセス制御装置１００が、利用者からの参照要求が偏ってアクセス集中している第１のデータベースに書き込まれるデータの書込先を、第１のデータベースよりも応答性能が良い第２のデータベースに変更する。図１の例では、データベース１０２が書込先に設定されているデータＤ３，Ｄ４のうち、データＤ４の書込先がデータベース１０３に変更されている。
【００３１】
以上説明したように、実施の形態１にかかるデータアクセス制御装置１００によれば、第１のデータベースが書込先に設定されているデータの書込先を第２のデータベースに変更することができる。これにより、以降において、周期的に収集されて第１のデータベースに書き込まれていたデータが第２のデータベースに書き込まれることになり、利用者からの参照要求が偏ってアクセス集中している第１のデータベースの応答時間の増大化を抑制することができる。
【００３２】
また、変更先のデータベースとして指標値が第２の閾値未満となる第２のデータベースを検出することにより、利用者からの参照要求がデータベース群で平準化されるように、各々の監視対象の状態を特徴付けるデータの書込先を分散することができる。これにより、１データベース当たりの参照要求数の偏りを抑えて、データベース資源を効率的に利用することができる。
【００３３】
なお、上述した説明では、データベースの指標値として、データの読出要求に対する応答時間が長くなる、すなわち、データの読出要求に対する応答性能が悪いほど値が大きくなる指標値を用いることにしたが、これに限らない。具体的には、例えば、データベースの指標値として、例えば、データの読出要求に対する応答時間が短くなる、すなわち、データの読出要求に対する応答性能が良いほど値が大きくなる指標値を用いることにしてもよい。
【００３４】
この場合、第１の閾値は、例えば、該指標値が第１の閾値未満となると、利用者に対して要求されているサービス品質を維持できなくなる値に設定される。そして、上記（１）において、データアクセス制御装置１００は、データベース１０１〜１０３の中から、データの読出要求に対する応答時間の長さを表す指標値が第１の閾値未満となる第１のデータベースを検出することにしてもよい。
【００３５】
（実施の形態２）
つぎに、実施の形態１にかかるデータアクセス制御装置１００を性能管理システムに適用した場合について説明する。性能管理システムは、例えば、ＩＣＴシステム内の各構成要素のデータを収集、蓄積、提供することで、ＩＣＴシステムが提供する業務のサービス品質の最適化を支援するシステムである。なお、実施の形態１で説明した箇所と同様の箇所については説明を省略する。
【００３６】
図２は、実施の形態２にかかる性能管理システムのシステム構成例を示す説明図である。図２において、性能管理システム２００は、データアクセス制御装置１００と、サーバＳＶ１〜ＳＶｎ（ｎ：２以上の自然数）と、複数のクライアント端末２０１（図２の例では、３台）と、を含む構成である。性能管理システム２００において、データアクセス制御装置１００、サーバＳＶ１〜ＳＶｎおよび複数のクライアント端末２０１は、有線または無線のネットワーク２１０を介して接続されている。ネットワーク２１０は、例えば、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などである。
【００３７】
ここで、データアクセス制御装置１００は、性能ＤＢ＃１〜＃ｍ（ｍ：２以上の自然数）にアクセス可能であり、各サーバＳＶ１〜ＳＶｎの性能データを周期的に収集する機能を有する。性能ＤＢ＃１〜＃ｍは、サーバＳＶ１〜ＳＶｎの性能データを格納するデータベースである。サーバＳＶ１〜ＳＶｎは、監視対象となるサーバ群である。
【００３８】
性能データは、各サーバＳＶ１〜ＳＶｎの状態を特徴付ける情報である。例えば、性能データは、各サーバＳＶ１〜ＳＶｎのＣＰＵ、メモリ、ディスクなどの使用率や、各サーバＳＶ１〜ＳＶｎにインストールされているミドルウェア、アプリケーションなどの稼働率を表す情報である。
【００３９】
具体的には、例えば、データアクセス制御装置１００は、各サーバＳＶ１〜ＳＶｎに導入された各エージェントにより定期的（例えば、１分間隔）に収集される性能データを各サーバＳＶ１〜ＳＶｎから受信する。これにより、各サーバＳＶ１〜ＳＶｎの性能データを周期的に収集することができる。
【００４０】
また、データアクセス制御装置１００は、各サーバＳＶ１〜ＳＶｎから収集した性能データを性能ＤＢ＃１〜＃ｍに書き込む機能を有する。具体的には、例えば、データアクセス制御装置１００は、各サーバＳＶ１〜ＳＶｎから収集した性能データをルーティングテーブル１１０に設定されている書込先の性能ＤＢに書き込む。なお、ルーティングテーブル１１０の記憶内容については、図４を用いて後述する。
【００４１】
また、データアクセス制御装置１００は、クライアント端末２０１から性能データの参照要求を受け付けて処理する機能を有する。ここで、参照要求とは、利用者が参照する１以上の性能データの読出要求である。参照要求には、例えば、要求する性能データを特定する情報が含まれている。受け付けた参照要求は、例えば、後述の図３に示すデータアクセス制御装置１００のＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶される。
【００４２】
具体的には、例えば、データアクセス制御装置１００は、ルーティングテーブル１１０を参照して、受け付けた参照要求から特定される性能データの書込先の性能ＤＢの中から該性能データを読み出す。そして、データアクセス制御装置１００は、読み出した性能データを要求元のクライアント端末２０１に送信する。
【００４３】
また、データアクセス制御装置１００は、参照要求に対するレスポンス時間を計測する機能を有する。ここで、参照要求に対するレスポンス時間とは、例えば、要求されている性能データの読出要求を性能ＤＢに渡してから、要求されている性能データが返ってくるまでにかかる時間である。
【００４４】
参照要求に対するレスポンス時間は、例えば、クライアント端末２０１から参照要求を受け付けた際に、その都度計測される。計測された計測結果は、例えば、後述の図３に示すデータアクセス制御装置１００のＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶される。
【００４５】
サーバＳＶ１〜ＳＶｎは、監視対象となるサーバ群であり、例えば、ＩＣＴシステム内のＷｅｂサーバ、アプリケーションサーバ、データベースサーバなどのコンピュータである。各サーバＳＶ１〜ＳＶｎには、各サーバＳＶ１〜ＳＶｎの性能データを定期的に収集するエージェント（ソフトウェア）が導入されている。
【００４６】
また、サーバＳＶ１〜ＳＶｎは、エージェントにより収集した性能データをデータアクセス制御装置１００に送信する機能を有する。具体的には、例えば、サーバＳＶ１〜ＳＶｎは、性能データが収集されると、その都度、該性能データをデータアクセス制御装置１００に送信する。この結果、データアクセス制御装置１００において、各サーバＳＶ１〜ＳＶｎの性能データが周期的に収集される。
【００４７】
クライアント端末２０１は、利用者が使用するコンピュータであり、利用者から要求されたサーバＳＶ１〜ＳＶｎの性能データをディスプレイに表示する。利用者は、例えば、サーバＳＶ１〜ＳＶｎにより実現される各々のシステムの管理者である。
【００４８】
具体的には、例えば、まず、クライアント端末２０１は、利用者の操作入力により、性能データの参照要求を受け付ける。そして、クライアント端末２０１は、受け付けた性能データの参照要求をデータアクセス制御装置１００に送信し、その結果、データアクセス制御装置１００から性能データを受信してディスプレイに表示する。これにより、利用者は、各サーバＳＶ１〜ＳＶｎの性能データを参照することができ、サービス品質の劣化原因などの究明に役立てることができる。
【００４９】
以下の説明では、サーバＳＶ１〜ＳＶｎのうち任意のサーバを「サーバＳＶｉ」と表記する（ｉ＝１，２，…，ｎ）。また、各サーバＳＶ１〜ＳＶｎにそれぞれ導入されているエージェントを「エージェントＡ１〜Ａｎ」と表記し、エージェントＡ１〜Ａｎのうち任意のエージェントを「エージェントＡｉ」と表記する。また、性能ＤＢ＃１〜＃ｍのうち任意の性能ＤＢを「性能ＤＢ＃ｊ」と表記する（ｊ＝１，２，…，ｍ）。
【００５０】
（データアクセス制御装置１００のハードウェア構成例）
図３は、実施の形態２にかかるデータアクセス制御装置のハードウェア構成例を示すブロック図である。図３において、データアクセス制御装置１００は、ＣＰＵ３０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、磁気ディスクドライブ３０４と、磁気ディスク３０５と、光ディスクドライブ３０６と、光ディスク３０７と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０８と、ディスプレイ３０９と、キーボード３１０と、マウス３１１と、を備えている。また、各構成部はバス３００によってそれぞれ接続されている。
【００５１】
ここで、ＣＰＵ３０１は、データアクセス制御装置１００の全体の制御を司る。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。磁気ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがって磁気ディスク３０５に対するデータのリード／ライトを制御する。磁気ディスク３０５は、磁気ディスクドライブ３０４の制御で書き込まれたデータを記憶する。
【００５２】
光ディスクドライブ３０６は、ＣＰＵ３０１の制御にしたがって光ディスク３０７に対するデータのリード／ライトを制御する。光ディスク３０７は、光ディスクドライブ３０６の制御で書き込まれたデータを記憶したり、光ディスク３０７に記憶されたデータをコンピュータに読み取らせたりする。
【００５３】
Ｉ／Ｆ３０８は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータに接続される。そして、Ｉ／Ｆ３０８は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ３０８には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００５４】
ディスプレイ３０９は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ３０９は、例えば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００５５】
キーボード３１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス３１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００５６】
なお、データアクセス制御装置１００は、例えば、上述した構成部のうち光ディスクドライブ３０６、光ディスク３０７、ディスプレイ３０９、キーボード３１０、マウス３１１等を備えないことにしてもよい。また、図２に示したサーバＳＶ１〜ＳＶｎやクライアント端末２０１についても、上述したデータアクセス制御装置１００と同様のハードウェア構成により実現することができる。
【００５７】
（ルーティングテーブル１１０の記憶内容）
つぎに、ルーティングテーブル１１０の記憶内容について説明する。ここでは一例として、サーバＳＶ１〜ＳＶｎの台数が５台（ｎ＝５）、性能ＤＢ＃１〜＃ｍの台数が３台（ｍ＝３）の場合を例に挙げて説明する。なお、ルーティングテーブル１１０は、例えば、図３に示したＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置により実現される。
【００５８】
図４は、ルーティングテーブルの記憶内容の一例を示す説明図である。図４において、ルーティングテーブル１１０は、格納開始日時、格納終了日時、エージェント名および格納先ＤＢのフィールドを有する。各フィールドに情報を設定することで、ルーティング情報（例えば、ルーティング情報４００−１，４００−２）が記憶されている。
【００５９】
ここで、格納開始日時は、監視対象となるサーバＳＶｉの性能データを、書込先となる性能ＤＢ＃ｊに格納する期間の開始日時（年／月／日  時：分：秒）である。格納終了日時は、監視対象となるサーバＳＶｉの性能データを、書込先となる性能ＤＢ＃ｊに格納する期間の終了日時（年／月／日  時：分：秒）である。
【００６０】
エージェント名は、サーバＳＶｉに導入されているエージェントＡｉの識別子であり、監視対象となるサーバＳＶｉを特定する情報である。格納先ＤＢは、監視対象となるサーバＳＶｉの性能データの書込先となる性能ＤＢ＃ｊの識別子である。
【００６１】
例えば、ルーティング情報４００−１には、格納開始日時以降に、各エージェントＡ１〜Ａ５により収集された各サーバＳＶ１〜ＳＶ５の性能データの格納先ＤＢが示されている。例えば、エージェントＡ１により収集されたサーバＳＶ１の性能データの格納先ＤＢとして性能ＤＢ＃１が示されている。なお、ルーティング情報４００−１は、最新のルーティング情報のため、格納終了日時が未設定（空白）となっている。
【００６２】
また、ルーティング情報４００−２には、格納開始日時から格納終了日時までの期間に、各エージェントＡ１〜Ａ５により収集された各サーバＳＶ１〜ＳＶ５の性能データの格納先ＤＢが示されている。例えば、エージェントＡ１により収集されたサーバＳＶ１の格納先ＤＢとして性能ＤＢ＃２が示されている。
【００６３】
周期的に収集される性能データの書込時において、データアクセス制御装置１００は、ルーティングテーブル１１０を参照して、収集した性能データの書込先となる性能ＤＢ＃ｊを特定する。具体的には、例えば、データアクセス制御装置１００は、サーバＳＶｉから収集した性能データの書込先の性能ＤＢ＃ｊとして、サーバＳＶｉに導入されているエージェントＡｉのエージェント名に対応する格納先ＤＢを特定する。
【００６４】
なお、サーバＳＶｉに導入されているエージェントＡｉのエージェント名は、例えば、サーバＳＶｉから収集される性能データに含まれていてもよく、また、サーバＳＶｉとエージェントＡｉとの対応関係を表す情報から特定されてもよい。
【００６５】
また、クライアント端末２０１から参照要求を受け付けた場合、データアクセス制御装置１００は、ルーティングテーブル１１０を参照して、要求されている性能データの書込先となる性能ＤＢ＃ｊを特定する。ここで、参照要求には、例えば、要求する性能データごとに、日時（または、期間）とエージェント名とを含むＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）文が記述されている。
【００６６】
具体的には、例えば、まず、データアクセス制御装置１００は、ルーティングテーブル１１０の中から、参照要求に含まれる日時が、格納開始日時から格納終了日時までの期間に含まれるルーティング情報を特定する。つぎに、データアクセス制御装置１００は、特定したルーティング情報を参照して、参照要求に含まれるエージェント名に対応する格納先ＤＢを特定する。そして、データアクセス制御装置１００は、特定した格納先ＤＢの中から、要求されている性能データを読み出す。
【００６７】
（データアクセス制御装置１００の機能的構成例）
図５は、実施の形態２にかかるデータアクセス制御装置の機能的構成例を示すブロック図である。図５において、データアクセス制御装置１００は、取得部５０１と、第１の算出部５０２と、検出部５０３と、選択部５０４と、変更部５０５と、第２の算出部５０６と、特定部５０７と、を含む構成である。この制御部となる機能（取得部５０１〜特定部５０７）は、具体的には、例えば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０８により、その機能を実現する。また、各機能部の処理結果は、例えば、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶される。
【００６８】
以下の説明では、特に指定する場合を除いて、監視対象となるサーバＳＶｉを、サーバＳＶｉに導入されているエージェント名を用いて「エージェントＡｉ」と表記する。
【００６９】
取得部５０１は、エージェントＡｉの性能データの参照要求を取得する機能を有する。具体的には、例えば、取得部５０１が、所定期間Ｘ内にクライアント端末２０１から受け付けられた性能データの参照要求をＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置から読み出す。
【００７０】
また、取得部５０１が、クライアント端末２０１からエージェントＡｉの性能データの参照要求を受け付ける他のコンピュータ（例えば、後述の図１６に示す管理サーバ１６１０）から、所定期間Ｘ内にクライアント端末２０１から受け付けられた性能データの参照要求を取得することにしてもよい。
【００７１】
所定期間Ｘは、任意に設定可能である。例えば、所定期間Ｘは、現時点から予め設定された時間（例えば、１時間）遡った時点から現時点までの期間であってもよく、また、図４に示したルーティングテーブル１１０内の最新の格納開始日時から現時点までの期間であってもよい。
【００７２】
また、取得部５０１は、性能ＤＢ＃ｊごとに、エージェントＡｉの性能データの参照要求に対するレスポンス時間の計測結果を取得する機能を有する。具体的には、例えば、取得部５０１が、所定期間Ｘ内にクライアント端末２０１から受け付けられた性能データの参照要求に対する性能ＤＢ＃ｊごとのレスポンス時間の計測結果をＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置から読み出す。
【００７３】
また、取得部５０１が、クライアント端末２０１からエージェントＡｉの性能データの参照要求を受け付ける他のコンピュータ（例えば、後述の図１６に示す管理サーバ１６１０）から、所定期間Ｘ内に受け付けられた参照要求に対する性能ＤＢ＃ｊごとのレスポンス時間の計測結果を取得することにしてもよい。
【００７４】
第１の算出部５０２は、性能ＤＢ＃ｊごとに、エージェントＡｉの性能データの参照要求に対するレスポンス時間の長さを表す指標値を算出する機能を有する。ここで、性能データの参照要求に対するレスポンス時間の長さを表す指標値とは、性能データの参照要求に対する性能ＤＢ＃ｊの応答性能を表すものである。
【００７５】
具体的には、例えば、第１の算出部５０２が、性能ＤＢ＃ｊごとに取得された所定期間Ｘ内のレスポンス時間の計測結果に基づいて、性能ＤＢ＃ｊの指標値を算出する。より具体的には、例えば、第１の算出部５０２が、所定期間Ｘ内の性能ＤＢ＃ｊのレスポンス時間の計測結果のうち、レスポンス時間の長さが最大となる計測結果の値を、性能ＤＢ＃ｊの指標値として算出することにしてもよい。
【００７６】
また、第１の算出部５０２が、所定期間Ｘ内の性能ＤＢ＃ｊのレスポンス時間の計測結果に基づいて、性能ＤＢ＃ｊのレスポンス時間の平均値を、性能ＤＢ＃ｊの指標値として算出することにしてもよい。この際、第１の算出部５０２が、例えば、所定期間Ｘ内の性能ＤＢ＃ｊのレスポンス時間の計測結果のうちレスポンス時間の長さが上位Ｎ個の計測結果に基づいて、性能ＤＢ＃ｊのレスポンス時間の平均値を算出することにしてもよい。
【００７７】
以下の説明では、性能ＤＢ＃ｊの指標値として、性能ＤＢ＃ｊのレスポンス時間の平均値（以下、「平均レスポンス時間Ｔｊ」という）を用いる場合を例に挙げて説明する。算出された性能ＤＢ＃ｊの平均レスポンス時間Ｔｊは、例えば、後述の図６に示すレスポンス管理テーブル６００に記憶される。
【００７８】
また、第１の算出部５０２は、性能ＤＢ＃ｊごとに、エージェントＡｉの性能データの参照回数を算出する機能を有する。具体的には、例えば、第１の算出部５０２が、所定期間Ｘ内に受け付けられた性能データの参照要求に基づいて、性能ＤＢ＃ｊごとに、エージェントＡｉの性能データの参照回数（以下、「参照回数Ｃｊ（ｉ）」という）を算出する。
【００７９】
より具体的には、例えば、まず、第１の算出部５０２が、所定期間Ｘ内に受け付けられた性能データの参照要求の集合の中からいずれかの参照要求を選択する。つぎに、第１の算出部５０２が、ルーティングテーブル１１０を参照して、選択した参照要求から、要求されている性能データの格納先ＤＢを特定する。
【００８０】
このあと、第１の算出部５０２が、特定した格納先ＤＢについて、参照要求から特定されるエージェントＡｉの参照回数Ｃｊ（ｉ）をインクリメントする。そして、第１の算出部５０２が、所定期間Ｘ内に受け付けられた性能データの参照要求の集合の中から選択されていない未選択の参照要求がなくなるまで、上述した処理を繰り返す。これにより、性能ＤＢ＃ｊごとのエージェントＡｉの参照回数Ｃｊ（ｉ）を算出することができる。
【００８１】
算出されたエージェントＡｉの参照回数Ｃｊ（ｉ）は、例えば、図６に示すレスポンス管理テーブル６００に記憶される。レスポンス管理テーブル６００は、例えば、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置により実現される。ここで、レスポンス管理テーブル６００の記憶内容について説明する。
【００８２】
図６は、レスポンス管理テーブルの記憶内容の一例を示す説明図である。図６において、レスポンス管理テーブル６００は、格納先ＤＢ、エージェント名、参照回数および平均レスポンス時間のフィールドを有し、各フィールドに情報を設定することで、性能ＤＢ＃１〜＃３のレスポンス管理情報６００−１〜６００−３が記憶されている。
【００８３】
ここで、格納先ＤＢは、性能ＤＢ＃ｊの識別子である。エージェント名は、監視対象となるサーバＳＶｉに導入されているエージェントＡｉの識別子である。参照回数は、エージェントＡｉの性能データが参照された回数である。平均レスポンス時間は、性能ＤＢ＃ｊの平均レスポンス時間Ｔｊである（例えば、単位は［ｓｅｃ］）。
【００８４】
レスポンス管理情報６００−１を例に挙げると、性能ＤＢ＃１に格納されている、各エージェントＡ１〜Ａ５の性能データの参照回数Ｃ１（１）〜Ｃ１（５）が示されている。また、性能ＤＢ＃１の平均レスポンス時間Ｔ１が示されている。
【００８５】
図５の説明に戻り、検出部５０３は、性能ＤＢ＃１〜＃ｍの中から、平均レスポンス時間Ｔｊが発動基準値α以上となる性能ＤＢ＃ｊを検出する機能を有する。ここで、発動基準値αは、例えば、平均レスポンス時間Ｔｊが発動基準値α以上となると、利用者に対して要求されているサービス品質を維持できなくなる値に設定される。
【００８６】
すなわち、検出部５０３は、利用者からのアクセスが集中して、要求されている性能データが性能ＤＢ＃ｊから返ってくるまでのレスポンス時間が、利用者に対するサービス品質を維持できない程度に長くなっている性能ＤＢ＃ｊを検出する。
【００８７】
具体的には、例えば、検出部５０３が、図６に示したレスポンス管理テーブル６００を参照して、平均レスポンス時間Ｔｊが発動基準値α以上となる性能ＤＢ＃ｊを検出する。なお、発動基準値αは、例えば、ＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている。
【００８８】
また、検出部５０３は、平均レスポンス時間が発動基準値α以上となる性能ＤＢが複数存在する場合、平均レスポンス時間Ｔｊが最大の性能ＤＢ＃ｊを検出することにしてもよい。これにより、性能ＤＢ＃１〜＃ｍの中から、利用者から頻繁に参照される性能データが偏って格納され、最もアクセスが集中している可能性が高い性能ＤＢ＃ｊを検出することができる。
【００８９】
一例として、レスポンス管理テーブル６００内の性能ＤＢ＃１〜＃３の平均レスポンス時間Ｔ１〜Ｔ３（単位：ｓｅｃ）を『Ｔ１＝３．５』、『Ｔ２＝０．１５』および『Ｔ３＝１．８』とし、発動基準値α（単位：ｓｅｃ）を「α＝３．０」とする。この場合、検出部５０３が、性能ＤＢ＃１〜＃３の中から、平均レスポンス時間Ｔ１が発動基準値α以上となる性能ＤＢ＃１を検出する。
【００９０】
以下の説明では、検出された平均レスポンス時間Ｔｊが発動基準値α以上となる性能ＤＢ＃ｊを「第１の性能ＤＢ」という。
【００９１】
また、検出部５０３は、性能ＤＢ＃１〜＃ｍの中から、平均レスポンス時間Ｔｊが抑制基準値β未満となる性能ＤＢ＃ｊを検出する機能を有する。ここで、抑制基準値βは、少なくとも発動基準値αよりも小さい値であり、例えば、平均レスポンス時間Ｔｊが抑制基準値β未満の場合、性能データの参照要求に対する性能ＤＢ＃ｊの応答性能が良いと判断できる値に設定される。
【００９２】
すなわち、検出部５０３は、要求されている性能データが性能ＤＢ＃ｊから返ってくるまでのレスポンス時間の長さが、利用者に対するサービス品質を十分に維持できている性能ＤＢ＃ｊを検出する。
【００９３】
具体的には、例えば、第１の性能ＤＢが検出された場合、検出部５０３が、レスポンス管理テーブル６００を参照して、平均レスポンス時間Ｔｊが抑制基準値β未満となる性能ＤＢ＃ｊを検出する。なお、抑制基準値βは、例えば、ＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている。
【００９４】
一例として、レスポンス管理テーブル６００内の性能ＤＢ＃１〜＃３の平均レスポンス時間Ｔ１〜Ｔ３を『Ｔ１＝３．５』、『Ｔ２＝０．１５』および『Ｔ３＝１．８』とし、抑制基準値βを「β＝１．０」とする。この場合、検出部５０３が、性能ＤＢ＃１〜＃３の中から、平均レスポンス時間Ｔ２が抑制基準値β未満となる性能ＤＢ＃２を検出する。
【００９５】
また、検出部５０３は、平均レスポンス時間Ｔｊが抑制基準値β未満となる性能ＤＢが複数存在する場合、平均レスポンス時間Ｔｊが最小の性能ＤＢ＃ｊを検出することにしてもよい。これにより、性能ＤＢ＃１〜＃ｍの中から、利用者からの参照要求に対する応答性能が最も高い性能ＤＢ＃ｊを検出することができる。
【００９６】
以下の説明では、検出された平均レスポンス時間Ｔｊが抑制基準値β未満となる性能ＤＢ＃ｊを「第２の性能ＤＢ」という。
【００９７】
選択部５０４は、検出された第１の性能ＤＢが書込先に設定されている少なくともいずれかのエージェントＡｉを選択する機能を有する。すなわち、選択部５０４は、第１の性能ＤＢを格納先ＤＢとするエージェント群の中から、格納先ＤＢの変更対象となるエージェントＡｉを選択する。
【００９８】
具体的には、例えば、選択部５０４が、第１の性能ＤＢが書込先に設定されている各々のエージェントＡｉの性能データが第１の性能ＤＢの中から読み出される頻度に基づいて、格納先ＤＢの変更対象となるエージェントＡｉを選択することにしてもよい。第１の性能ＤＢの中から読み出される頻度として、例えば、所定期間Ｘ内にエージェントＡｉの性能データが参照された参照回数を用いることができる。
【００９９】
より具体的には、例えば、まず、選択部５０４が、ルーティングテーブル１１０内の最新のルーティング情報を参照して、第１の性能ＤＢが格納先ＤＢとして設定されているエージェント名を特定する。なお、最新のルーティング情報とは、ルーティングテーブル１１０内の格納開始日時が最新のルーティング情報（例えば、ルーティング情報４００−１）である。
【０１００】
そして、選択部５０４が、レスポンス管理テーブル６００内の第１の性能ＤＢに対応するレスポンス管理情報を参照して、第１の性能ＤＢが格納先ＤＢとして設定されているエージェント群の中から参照回数が最大のエージェント名を選択する。
【０１０１】
一例として、第１の性能ＤＢを性能ＤＢ＃１とすると、まず、選択部５０４が、ルーティングテーブル１１０内のルーティング情報４００−１を参照して、性能ＤＢ＃１が格納先ＤＢとして設定されているエージェント名「Ａ１，Ａ２，Ａ４」を特定する。そして、選択部５０４が、レスポンス管理テーブル６００内のレスポンス管理情報６００−１を参照して、エージェント名「Ａ１，Ａ２，Ａ４」のうち参照回数が最大のエージェント名を選択する。例えば、参照回数Ｃ１（１），Ｃ１（２），Ｃ（４）のうち最大の参照回数を「参照回数Ｃ１（２）」とする。この場合、選択部５０４が、エージェント名「Ａ１，Ａ２，Ａ４」のうち参照回数が最大のエージェント名「Ａ２」を選択する。
【０１０２】
これにより、格納先ＤＢの変更対象となるエージェントＡｉとして、第１の性能ＤＢを格納先ＤＢとするエージェント群の中から性能データの参照回数が最大のエージェントを選択することができる。
【０１０３】
なお、第１の性能ＤＢを格納先ＤＢとするエージェント群の中から、格納先ＤＢの変更対象となるエージェントＡｉを選択する他の選択例については、図８および図９を用いて後述する。
【０１０４】
変更部５０５は、第１の性能ＤＢが書込先に設定されているエージェント群のうち、選択されたエージェントＡｉの性能データの書込先を、検出された第２の性能ＤＢに変更する機能を有する。具体的には、例えば、変更部５０５が、ルーティングテーブル１１０に設定されている、エージェントＡｉの格納先ＤＢを、第１の性能ＤＢから第２の性能ＤＢに変更する。ここで、ルーティングテーブル１１０の更新例について説明する。
【０１０５】
図７は、ルーティングテーブルの記憶内容の更新例を示す説明図である。図７に示す（７−１）は、更新前のルーティングテーブル１１０の記憶内容である。ここで、第１の性能ＤＢを「性能ＤＢ＃１」とし、第２の性能ＤＢを「性能ＤＢ＃２」とする。また、格納先ＤＢとして性能ＤＢ＃１が設定されているエージェントＡ１，Ａ２，Ａ４のうち、格納先ＤＢの変更対象となるエージェントＡｉを「エージェントＡ２」とする。
【０１０６】
図７に示す（７−２）は、更新後のルーティングテーブル１１０の記憶内容である。ここでは、エージェントＡ２の性能データの格納先ＤＢが性能ＤＢ＃１から性能ＤＢ＃２に変更された結果、ルーティングテーブル１１０に新たなルーティング情報７００−１が記憶されている。
【０１０７】
具体的には、まず、エージェントＡ２の性能データの格納先ＤＢの変更に伴って、ルーティング情報４００−１の格納終了日時フィールドに「２０１１／１２／２５  １１：５９：５９」が設定されている。
【０１０８】
そして、新たなルーティング情報７００−１の格納開始日時フィールドに「２０１１／１２／２５  １２：００：００」が設定され、格納先ＤＢの変更対象のエージェントＡ２に対応する格納先ＤＢフィールドに「＃２」が設定されている。また、エージェントＡ２とは異なるエージェントＡ１，Ａ３，Ａ４，Ａ５に対応する格納先ＤＢフィールドに、ルーティング情報４００−１と同一の情報が設定されている。
【０１０９】
この結果、以降において、周期的に収集されて性能ＤＢ＃１に書き込まれていたエージェントＡ２の性能データが性能ＤＢ＃２に書き込まれることになる。これにより、利用者からの参照要求が偏ってアクセス集中している性能ＤＢ＃１の応答時間の増大化を抑制することができる。
【０１１０】
また、第２の性能ＤＢとして平均レスポンス時間Ｔｊが抑制基準値β未満となる性能ＤＢ＃２を検出することで、利用者からの参照要求が性能ＤＢ群で平準化されるように、各エージェントＡｉの性能データの格納先ＤＢを分散することができる。これにより、１性能ＤＢ当たりの参照要求数の偏りを抑えて、データベース資源を効率的に利用することができる。
【０１１１】
（格納先ＤＢの変更対象となるエージェントＡｉの選択例）
つぎに、第１の性能ＤＢを格納先ＤＢとするエージェント群の中から、格納先ＤＢの変更対象となるエージェントＡｉを選択する他の選択例について説明する。ここで、同時に参照される頻度が高い複数のエージェントの各々の性能データは、並列に読出処理を行えるなどの観点から、それぞれ異なる性能ＤＢに格納されているほうが応答性能の向上を図ることができる。
【０１１２】
そこで、以下の説明では、同時に参照される頻度が高い複数のエージェントの各々の性能データの書込先が、できるだけ異なる性能ＤＢとなるように、格納先ＤＢの変更対象となるエージェントＡｉを選択する場合について説明する。
【０１１３】
まず、第２の算出部５０６は、第１の性能ＤＢについて、互いに異なるエージェントのペアごとに、該ペアに含まれるエージェントの性能データが同時に参照される頻度を算出する。具体的には、例えば、まず、第２の算出部５０６が、第１の性能ＤＢについて、互いに異なるエージェントのペアごとに、該ペアに含まれるエージェントの性能データが同時に参照された回数を計数する。
【０１１４】
以下、図８に示す同時参照回数管理テーブル８００を用いて、互いに異なるエージェントの性能データが同時に参照された回数（以下、「同時参照回数」という）を計数する具体的な処理内容について説明する。同時参照回数管理テーブル８００は、例えば、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置により実現される。
【０１１５】
図８は、同時参照回数管理テーブルの記憶内容の一例を示す説明図である。図８において、同時参照回数管理テーブル８００は、第１の性能ＤＢについて、互いに異なるエージェントのペアごとに、該ペアに含まれるエージェントの性能データが同時に参照された同時参照回数を記憶するテーブルである。なお、初期状態では、同時参照回数管理テーブル８００内の同時参照回数の各値は「０」である。
【０１１６】
具体的には、例えば、まず、第２の算出部５０６が、所定期間Ｘ内に受け付けられた性能データの参照要求の集合の中から、第１の性能ＤＢに格納されている性能データを参照するいずれかの参照要求を選択する。
【０１１７】
ここで、選択された参照要求にエージェント名「Ａ１，Ａ２」が含まれている場合を想定する。この場合、第２の算出部５０６が、同時参照回数管理テーブル８００内のＡ１行Ａ１列、Ａ１行Ａ２列、Ａ２行Ａ１列およびＡ２行Ａ２列の各値をインクリメントする（図８（８−２）参照）。
【０１１８】
また、選択された参照要求にエージェント名「Ａ１，Ａ３，Ａ５」が含まれている場合を想定する。この場合、第２の算出部５０６が、同時参照回数管理テーブル８００内のＡ１行Ａ１列、Ａ１行Ａ３列、Ａ１行Ａ５列、Ａ３行Ａ１列、Ａ３行Ａ３列、Ａ３行Ａ５列、Ａ５行Ａ１列、Ａ５行Ａ３列およびＡ５行Ａ５列の各値をインクリメントする（図８（８−３）参照）。
【０１１９】
なお、選択された参照要求にエージェント名「Ａ１」のみが含まれている場合は、第２の算出部５０６が、同時参照回数管理テーブル８００内のＡ１行Ａ１列の値をインクリメントする。
【０１２０】
そして、第１の算出部５０２が、所定期間Ｘ内に受け付けられた性能データの参照要求の集合の中から、第１の性能ＤＢに格納されている性能データを参照する参照要求がなくなるまで、上述した処理を繰り返す。
【０１２１】
このように、所定期間Ｘ内に受け付けられた参照要求に含まれるエージェント名の組合せに対応する同時参照回数管理テーブル８００内の各値をインクリメントしていくことで、互いに異なるエージェントの性能データが同時に参照された同時参照回数を計数できる。例えば、図８に示す（８−３）において、所定期間Ｘ内に第１の性能ＤＢに格納されているエージェントＡ１の性能データが参照された回数は「５２回」であり、そのうち、エージェントＡ２の性能データと同時に参照された回数は「２１回」である。
【０１２２】
なお、上述した説明では、第１の性能ＤＢについてのみ同時参照回数管理テーブル８００を作成することにしたが、これに限らない。具体的には、例えば、性能ＤＢ＃１〜＃ｍの各々の性能ＤＢ＃ｊについて同時参照回数管理テーブル８００を用意し、利用者からの性能データの参照要求を受け付けた際に、その都度、各々の同時参照回数管理テーブル８００の記憶内容を更新することにしてもよい。
【０１２３】
つぎに、第２の算出部５０６が、同時参照回数管理テーブル８００を参照して、互いに異なるエージェントのペアごとに、該ペアに含まれるエージェントの性能データが同時に参照される頻度を算出する。具体的には、例えば、第２の算出部５０６が、下記式（１）を用いて、各ペアに含まれるエージェントの性能データが同時に参照される頻度（以下、「同時参照率」という）を求めることができる。
【０１２４】
ただし、Ｒｐｑは、互いに異なるエージェントＡｐとエージェントＡｑの各々の性能データが同時に参照される同時参照率である（ｐ＝１，２，…，ｎ、ｑ＝１，２，…，ｎ、ｐ≠ｑ）。Ｃｐｑは、エージェントＡｐとエージェントＡｑの各々の性能データが同時に参照された同時参照回数である。Ｃｐは、エージェントＡｐの性能データが参照された参照回数である。Ｃｑは、エージェントＡｑの性能データが参照された参照回数である。
【０１２５】
Ｒｐｑ＝｛（Ｃｐｑ×２）／（Ｃｐ＋Ｃｑ）｝×１００      ・・・（１）
【０１２６】
なお、Ｃｐｑは、例えば、同時参照回数管理テーブル８００内のｐ行ｑ列（または、ｑ行ｐ列）の値である。Ｃｐは、例えば、同時参照回数管理テーブル８００内のｐ行ｐ列の値である。Ｃｑは、例えば、同時参照回数管理テーブル８００内のｑ行ｑ列の値である。
【０１２７】
一例として、エージェントＡ１とエージェントＡ２の各々の性能データが同時に参照される同時参照率Ｒ１２を求める場合を説明する。ここでは、同時参照回数管理テーブル８００内のＡ１行Ａ１列の値を「５０」、Ａ１行Ａ２列の値を「２０」、Ａ２行Ａ１列の値を「２０」、Ａ２行Ａ２列の値を「３０」とする（図８（８−１）参照）。この場合、エージェントＡ１とエージェントＡ２の各々の性能データが同時に参照される同時参照率Ｒ１２は、「Ｒ１２＝｛（２０×２）／（５０＋３０）｝×１００＝５０［％］」となる。
【０１２８】
なお、同時参照率Ｒｐｑの算出方法は、上述したものに限らない。具体的には、例えば、第２の算出部５０６が、第１の性能ＤＢに対して行われた参照要求の総数に対するエージェントＡｐとエージェントＡｑの各々の性能データが同時に参照された同時参照回数Ｃｐｑの割合を同時参照率Ｒｐｑとして算出することにしてもよい。
【０１２９】
算出された同時参照率Ｒｐｑは、例えば、図９に示す同時参照率管理テーブル９００に記憶される。同時参照率管理テーブル９００は、例えば、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置により実現される。ここで、同時参照率管理テーブル９００の記憶内容について説明する。
【０１３０】
図９は、同時参照率管理テーブルの記憶内容の一例を示す説明図である。図９において、同時参照率管理テーブル９００は、第１の性能ＤＢについて、互いに異なるエージェントのペアごとに、該ペアに含まれるエージェントの性能データが同時に参照される同時参照率を記憶するテーブルである。
【０１３１】
例えば、同時参照率Ｒ１２は、第１の性能ＤＢに格納されているエージェントＡ１の性能データが参照される際に、エージェントＡ２の性能データが同時に参照される割合を表している。なお、同時参照率管理テーブル９００において、同時参照率Ｒｐｑと同時参照率Ｒｑｐは同じ値となる。
【０１３２】
特定部５０７は、第１の性能ＤＢについて、互いに異なるエージェントのペア群の中から、同時参照率が所定の閾値γ以上となるペアを特定する。具体的には、例えば、特定部５０７が、同時参照率管理テーブル９００を参照して、同時参照率が閾値γ以上となるペアを特定する。
【０１３３】
閾値γは、例えば、サーバＳＶ１〜ＳＶｎの台数や性能ＤＢ＃１〜＃ｍの台数に合わせて予め設定されている（例えば、γ＝５０［％］）。また、閾値γは、例えば、ＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている。
【０１３４】
ここで、同時参照率管理テーブル９００内の同時参照率Ｒ１２，Ｒ１３，Ｒ４５が閾値γ以上の場合を想定する。この場合、エージェントＡ１とエージェントＡ２のペアＰ１、エージェントＡ１とエージェントＡ３のペアＰ２、およびエージェントＡ４とエージェントＡ５のペアＰ３が特定される。
【０１３５】
選択部５０４は、特定された同時参照率が閾値γ以上となるペア群の中からいずれかのペアを選択する。具体的には、例えば、選択部５０４が、各ペアに含まれる各々のエージェントの性能データの参照回数の総和が最大のペアを選択することにしてもよい。なお、各々のエージェントの性能データの参照回数は、例えば、図６に示したレスポンス管理テーブル６００から特定される。
【０１３６】
そして、選択部５０４は、選択したペアに含まれる少なくともいずれかのエージェントＡｉを選択する。具体的には、例えば、選択部５０４が、選択したペアに含まれる２つのエージェントのうち、性能データの参照回数が最大のエージェントを選択することにしてもよい。
【０１３７】
これにより、格納先ＤＢの変更対象となるエージェントＡｉとして、同時に参照される頻度が最大のペアに含まれるいずれかのエージェントＡｉを選択することができる。この結果、同時に参照される頻度が高い２つのエージェントの性能データがそれぞれ異なる性能ＤＢに格納されることになり、性能ＤＢの応答性能の向上を図ることができる。
【０１３８】
また、格納先ＤＢの変更対象となるエージェントＡｉとして、同時に参照される頻度が最大のペアに含まれる参照回数が最大のエージェントを選択することにより、利用者からの性能データの参照要求を性能ＤＢ＃１〜＃ｍの間で効率的に分散することができる。
【０１３９】
なお、同時に参照される頻度が最大のペアに含まれるエージェントの性能データの格納先ＤＢとして第１の性能ＤＢが設定されていない場合がある。そこで、エージェントＡ１〜Ａｎのうち、第１の性能ＤＢが格納先ＤＢに設定されているエージェントのペアだけを同時参照率の算出対象とすることにしてもよい。
【０１４０】
具体的には、例えば、第２の算出部５０６が、格納先ＤＢとして第１の性能ＤＢが設定されているエージェントのペアごとに、該ペアに含まれるエージェントの性能データが同時に参照される同時参照率を算出する。これにより、格納先ＤＢの変更対象となるエージェントＡｉとして、第１の性能ＤＢが格納先ＤＢに設定されているエージェントのペアのうち、同時に参照される頻度が最大のペアに含まれるいずれかのエージェントＡｉを選択することができる。
【０１４１】
また、同時に参照される頻度が最大のペアに含まれる一方のエージェントの性能データの格納先ＤＢとして第１の性能ＤＢが設定され、他方のエージェントの性能データの格納先ＤＢとして第１の性能ＤＢが設定されていない場合がある。この場合、選択部５０４が、ペアに含まれる２つのエージェントのうち、第１の性能ＤＢが格納先ＤＢとして設定されているエージェントを選択することにしてもよい。
【０１４２】
（第２の性能ＤＢが複数検出された場合の処理例）
つぎに、平均レスポンス時間が抑制基準値β未満となる第２の性能ＤＢが複数検出された場合の処理例について説明する。以下、検出された複数の第２の性能ＤＢを「第２の性能ＤＢ＄１〜＄Ｋ」と表記し、第２の性能ＤＢ＄１〜＄Ｋのうち任意の第２の性能ＤＢを「性能ＤＢ＄ｋ」と表記する（ｋ＝１，２，…，Ｋ）。
【０１４３】
まず、特定部５０７は、第１の性能ＤＢについて、同時参照率管理テーブル９００を参照して、同時参照率が閾値γ以上となるペアを特定する。ここで、同時参照率管理テーブル９００内の同時参照率Ｒ１２，Ｒ１３，Ｒ４５が閾値γ以上の場合を想定する。この場合、エージェントＡ１とエージェントＡ２のペアＰ１、エージェントＡ１とエージェントＡ３のペアＰ２、およびエージェントＡ４とエージェントＡ５のペアＰ３が特定される。
【０１４４】
つぎに、特定部５０７は、同時参照率が閾値γ以上となるペアを分類することにより、複数の異なるエージェントを含むグループを作成する。具体的には、例えば、特定部５０７が、同一のエージェントを含むペア同士を集約することにより、複数の異なるエージェントを含むグループを作成する。
【０１４５】
上述したペアＰ１〜Ｐ３の例では、ペアＰ１とペアＰ２とは、同一のエージェントＡ１を含む。このため、特定部５０７が、ペアＰ１とペアＰ２とを集約することにより、エージェントＡ１とエージェントＡ２とエージェントＡ３とを含むグループＧ１を作成する。また、特定部５０７が、エージェントＡ４とエージェントＡ５のペアＰ３をグループＧ２とする。
【０１４６】
以下、作成されたグループを「グループＧ１〜ＧＳ」と表記し、グループＧ１〜ＧＳのうち任意のグループを「グループＧｓ」と表記する（ｓ＝１，２，…，Ｓ）。
【０１４７】
特定部５０７は、作成したグループＧｓに含まれるエージェント数が閾値δ以上となるか否かを判断する。閾値δは、例えば、予め設定されてＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている（例えば、δ＝５）。
【０１４８】
特定部５０７は、グループＧｓに含まれるエージェント数が閾値δ以上となる場合、グループＧｓの中からいずれかのエージェントを除外する。具体的には、例えば、特定部５０７が、レスポンス管理テーブル６００の第１の性能ＤＢのレスポンス管理情報を参照して、グループに含まれるエージェント群のうち参照回数が最小のエージェントを除外することにしてもよい。
【０１４９】
これにより、グループＧｓ内のエージェント数が一定数以上とならないように制限することができ、エージェントの格納先ＤＢが必要以上に分散されて、第１の性能ＤＢが格納先ＤＢに設定されているエージェント数が少なくなってしまうことを防ぐことができる。
【０１５０】
特定部５０７は、作成したグループＧ１〜ＧＳの中から少なくともいずれかのグループＧｓを選択する。具体的には、例えば、特定部５０７が、グループＧ１〜ＧＳの中から、各グループに含まれるエージェント群の各々の参照回数を足し合わせた総参照回数が最大のグループＧｓを選択する。
【０１５１】
各グループの総参照回数は、例えば、レスポンス管理テーブル６００の第１の性能ＤＢのレスポンス管理情報を参照して求めることができる。例えば、第１の性能ＤＢを「性能ＤＢ＃１」とすると、グループＧ１の総参照回数は、エージェントＡ１の参照回数Ｃ１（１）とエージェントＡ２の参照回数Ｃ１（２）とエージェントＡ３の参照回数Ｃ１（３）とを足し合わせた値となる。また、グループＧ２の総参照回数は、エージェントＡ４の参照回数Ｃ１（４）とエージェントＡ５の参照回数Ｃ１（５）とを足し合わせた値となる。
【０１５２】
以下の説明では、グループＧｓに含まれるエージェント群を「エージェントＡ［１］〜Ａ［Ｆ］」と表記し、エージェントＡ［１］〜Ａ［Ｆ］のうち任意のエージェントを「エージェントＡ［ｆ］」と表記する（Ｆ：１以上の自然数、ｆ＝１，２，…，Ｆ）。
【０１５３】
選択部５０４は、グループＧｓに含まれるエージェントＡ［１］〜Ａ［Ｆ］の中からいずれかのエージェントＡ［ｆ］を選択する。具体的には、例えば、選択部５０４が、レスポンス管理テーブル６００の第１の性能ＤＢのレスポンス管理情報を参照して、エージェントＡ［１］〜Ａ［Ｆ］の中から参照回数が最大のエージェントＡ［ｆ］を選択することにしてもよい。
【０１５４】
また、選択部５０４は、第２の性能ＤＢ＄１〜＄Ｋの中からいずれかの第２の性能ＤＢ＄ｋを選択する。具体的には、例えば、選択部５０４が、レスポンス管理テーブル６００を参照して、第２の性能ＤＢ＄１〜＄Ｋの中から平均レスポンス時間が最小の性能ＤＢ＄ｋを選択することにしてもよい。
【０１５５】
変更部５０５は、第１の性能ＤＢが書込先に設定されているエージェント群のうち選択されたエージェントＡ［ｆ］の性能データの書込先を、選択された第２の性能ＤＢ＄ｋに変更する。具体的には、例えば、変更部５０５が、ルーティングテーブル１１０に設定されているエージェントＡ［ｆ］の格納先ＤＢを第２の性能ＤＢ＄ｋに変更する。
【０１５６】
上記選択部５０４のエージェントＡ［ｆ］を選択する処理は、例えば、エージェントＡ［１］〜Ａ［Ｆ］の中から選択されていない未選択のエージェントがなくなるまで繰り返し行われる。
【０１５７】
また、上記選択部５０４の第２の性能ＤＢ＄ｋを選択する処理は、エージェントＡ［ｆ］が選択されると、その都度行われる。この際、選択部５０４が、第２の性能ＤＢ＄１〜＄Ｋのうち選択されていない未選択のものの中から、平均レスポンス時間が最小の性能ＤＢ＄ｋを選択することにしてもよい。
【０１５８】
なお、第２の性能ＤＢ＄１〜＄Ｋのうち未選択の性能ＤＢ＄ｋがない場合は、選択部５０４が、再度、平均レスポンス時間が最小の性能ＤＢ＄ｋを順次選択することにしてもよい。ここで、変更対象となるエージェントＡ［ｆ］の格納先ＤＢの変更例について説明する。
【０１５９】
図１０は、エージェントの格納先ＤＢの変更例を示す説明図である。図１０において、グループＧｓに含まれるエージェントＡ［１］〜Ａ［Ｆ］は、エージェントＡ１，Ａ２，Ａ３である。各エージェントＡ１〜Ａ３の性能データの格納先ＤＢは、第１の性能ＤＢである性能ＤＢ＃２とする。
【０１６０】
また、第２の性能ＤＢ＄１〜＄Ｋは、性能ＤＢ＃１，＃４，＃５である。性能ＤＢ＃１の平均レスポンス時間Ｔ１は、１５０［ｍｓｅｃ］である。性能ＤＢ＃４の平均レスポンス時間Ｔ４は、１００［ｍｓｅｃ］である。性能ＤＢ＃５の平均レスポンス時間Ｔ５は、２００［ｍｓｅｃ］である。
【０１６１】
この場合、まず、選択部５０４が、グループＧｓの中から参照回数が最大のエージェントＡ３を選択する。つぎに、選択部５０４が、性能ＤＢ＃１，＃４，＃５の中から平均レスポンス時間が最小の性能ＤＢ＃４を選択する。そして、変更部５０５が、ルーティングテーブル１１０に設定されているエージェントＡ３の格納先ＤＢを性能ＤＢ＃４に変更する。
【０１６２】
つぎに、選択部５０４が、グループＧｓの中から参照回数が２番目に大きいエージェントＡ１を選択する。このあと、選択部５０４が、性能ＤＢ＃１，＃４，＃５の中から平均レスポンス時間が２番目に小さい性能ＤＢ＃１を選択する。そして、変更部５０５が、ルーティングテーブル１１０に設定されているエージェントＡ１の格納先ＤＢを性能ＤＢ＃１に変更する。
【０１６３】
つぎに、選択部５０４が、グループＧｓの中から参照回数が最小のエージェントＡ２を選択する。このあと、選択部５０４が、性能ＤＢ＃１，＃４，＃５の中から平均レスポンス時間が最大の性能ＤＢ＃５を選択する。そして、変更部５０５が、ルーティングテーブル１１０に設定されているエージェントＡ２の格納先ＤＢを性能ＤＢ＃５に変更する。
【０１６４】
このように、グループＧｓの中から参照回数が最大のエージェントＡ［ｆ］を順次選択して、格納先ＤＢを平均レスポンス時間が最小の性能ＤＢ＄ｋに変更することで、利用者からの性能データの参照要求を性能ＤＢ＃１〜＃ｍの間で効率的に分散することができる。
【０１６５】
なお、グループＧｓに含まれるエージェントＡ［ｆ］の性能データの格納先ＤＢとして第１の性能ＤＢが設定されていない場合がある。そこで、上述したように、第２の算出部５０６が、格納先ＤＢとして第１の性能ＤＢが設定されているエージェントのペアごとに、該ペアに含まれるエージェントの性能データが同時に参照される同時参照率を算出することにしてもよい。
【０１６６】
また、格納先ＤＢの変更対象として、選択部５０４が、例えば、グループＧｓの中から、少なくとも第１の性能ＤＢが格納先ＤＢとして設定されているエージェントＡ［ｆ］を選択することにしてもよい。この場合、選択部５０４が、第２の性能ＤＢ＄１〜＄Ｋのうち、グループＧｓに含まれるエージェントの性能データの格納先ＤＢとして設定されている性能ＤＢを除く残余の性能ＤＢの中から第２の性能ＤＢ＄ｋを選択することにしてもよい。
【０１６７】
一例として、図１０の例において、グループＧｓに含まれるエージェントＡ１〜Ａ３のうちエージェントＡ１の性能データの格納先ＤＢとして第１の性能ＤＢが設定されているとする。また、エージェントＡ２の性能データの格納先ＤＢとして性能ＤＢ＃４が設定され、エージェントＡ３の性能データの格納先ＤＢとして性能ＤＢ＃３が設定されているとする。
【０１６８】
この場合、まず、選択部５０４が、グループＧｓに含まれるエージェントＡ１〜Ａ３の中からエージェントＡ１を選択する。つぎに、選択部５０４が、性能ＤＢ＃１，＃４，＃５のうち、エージェントＡ２の性能データの格納先ＤＢとして設定されている性能ＤＢ＃４を除く残余の性能ＤＢ＃１，＃５の中から、平均レスポンス時間が最小の性能ＤＢ＃１を選択する。そして、変更部５０５が、ルーティングテーブル１１０に設定されているエージェントＡ１の格納先ＤＢを性能ＤＢ＃１に変更する。
【０１６９】
（データアクセス制御装置１００のデータ制御処理手順）
つぎに、実施の形態２にかかるデータアクセス制御装置１００のデータ制御処理手順について説明する。データアクセス制御装置１００のデータ制御処理は、例えば、一定時間ｘ経過すると、その都度繰り返し実行が開始される（例えば、毎時５９分５９秒）。
【０１７０】
図１１は、実施の形態２にかかるデータアクセス制御装置のデータ制御処理手順の一例を示すフローチャートである。図１１のフローチャートにおいて、まず、第１の算出部５０２により、レスポンス管理テーブル６００の記憶内容を更新するアクセス状況更新処理を実行する（ステップＳ１１０１）。
【０１７１】
つぎに、検出部５０３により、レスポンス管理テーブル６００を参照して、性能ＤＢ＃１〜＃ｍの平均レスポンス時間Ｔ１〜Ｔｍの中から最大の平均レスポンス時間Ｔｊを特定する（ステップＳ１１０２）。そして、検出部５０３により、特定した平均レスポンス時間Ｔｊが発動基準値α以上となるか否かを判断する（ステップＳ１１０３）。
【０１７２】
ここで、平均レスポンス時間Ｔｊが発動基準値αの場合（ステップＳ１１０３：Ｙｅｓ）、検出部５０３により、第１の性能ＤＢとして性能ＤＢ＃ｊを検出する（ステップＳ１１０４）。そして、第２の算出部５０６により、互いに異なるエージェントのペアごとの同時参照率を算出する同時参照率算出処理を実行する（ステップＳ１１０５）。
【０１７３】
つぎに、特定部５０７により、格納先ＤＢの変更対象となるグループＧｓを選択するグループ選択処理を実行する（ステップＳ１１０６）。そして、変更部５０５により、グループＧｓに含まれるエージェントＡｉの性能データの格納先ＤＢを変更するルーティング処理を実行する（ステップＳ１１０７）。
【０１７４】
最後に、データアクセス制御装置１００により、各種テーブル６００，８００，９００を初期化して（ステップＳ１１０８）、本フローチャートによる一連の処理を終了する。
【０１７５】
また、ステップＳ１１０３において、平均レスポンス時間Ｔｊが発動基準値α未満の場合（ステップＳ１１０３：Ｎｏ）、本フローチャートによる一連の処理を終了する。
【０１７６】
これにより、ルーティングテーブル１１０に第１の性能ＤＢが書込先に設定されているエージェントＡｉの性能データの格納先ＤＢを第２の性能ＤＢに変更することができる。
【０１７７】
＜アクセス状況更新処理の具体的処理手順＞
つぎに、図１１に示したステップＳ１１０１のアクセス状況更新処理の具体的な処理手順について説明する。
【０１７８】
図１２は、アクセス状況更新処理の具体的処理手順の一例を示すフローチャートである。図１２のフローチャートにおいて、まず、取得部５０１により、性能データの参照要求および性能データの参照要求に対するレスポンス時間の計測結果を取得する（ステップＳ１２０１）。
【０１７９】
なお、性能データの参照要求は、現時点から一定時間ｘ遡った時点から現時点までの所定期間Ｘ内にクライアント端末２０１から受け付けられた参照要求である。また、レスポンス時間の計測結果は、所定期間Ｘ内に受け付けられたエージェントＡｉの性能データの参照要求に対する性能ＤＢ＃ｊごとのレスポンス時間の計測結果である。
【０１８０】
つぎに、第１の算出部５０２により、性能ＤＢ＃ｊの「ｊ」を「ｊ＝１」として（ステップＳ１２０２）、性能ＤＢ＃１〜＃ｍの中から性能ＤＢ＃ｊを選択する（ステップＳ１２０３）。そして、第１の算出部５０２により、取得された所定期間Ｘ内の性能ＤＢ＃ｊのレスポンス時間の計測結果に基づいて、性能ＤＢ＃ｊの平均レスポンス時間Ｔｊを算出する（ステップＳ１２０４）。
【０１８１】
そして、第１の算出部５０２により、算出した性能ＤＢ＃ｊの平均レスポンス時間Ｔｊをレスポンス管理テーブル６００に登録する（ステップＳ１２０５）。このあと、第１の算出部５０２により、性能ＤＢ＃ｊの「ｊ」をインクリメントして（ステップＳ１２０６）、「ｊ」が「ｍ」より大きくなったか否かを判断する（ステップＳ１２０７）。
【０１８２】
ここで、「ｊ」が「ｍ」以下の場合（ステップＳ１２０７：Ｎｏ）、ステップＳ１２０３に戻る。一方、「ｊ」が「ｍ」より大きくなった場合（ステップＳ１２０７：Ｙｅｓ）、第１の算出部５０２により、取得された所定期間Ｘ内の性能データの参照要求の集合の中からいずれかの参照要求を選択する（ステップＳ１２０８）。
【０１８３】
つぎに、第１の算出部５０２により、ルーティングテーブル１１０を参照して、選択した参照要求から、要求されているエージェントＡｉの性能データの格納先ＤＢを特定する（ステップＳ１２０９）。そして、第１の算出部５０２により、レスポンス管理テーブル６００内の特定した格納先ＤＢについて、エージェントＡｉの参照回数Ｃｊ（ｉ）をインクリメントする（ステップＳ１２１０）。
【０１８４】
このあと、第１の算出部５０２により、所定期間Ｘ内の性能データの参照要求の集合の中から選択されていない未選択の参照要求があるか否かを判断する（ステップＳ１２１１）。ここで、未選択の参照要求がある場合（ステップＳ１２１１：Ｙｅｓ）、ステップＳ１２０８に戻る。一方、未選択の参照要求がない場合（ステップＳ１２１１：Ｎｏ）、図１１に示したステップＳ１１０２に移行する。
【０１８５】
これにより、各性能ＤＢ＃ｊについて、各エージェントＡｉの参照回数Ｃｊ（ｉ）および平均レスポンス時間Ｔｊを更新することができる。
【０１８６】
＜同時参照率算出処理の具体的処理手順＞
つぎに、図１１に示したステップＳ１１０５の同時参照率算出処理の具体的な処理手順について説明する。
【０１８７】
図１３は、同時参照率算出処理の具体的処理手順の一例を示すフローチャートである。図１３のフローチャートにおいて、まず、第２の算出部５０６により、取得された所定期間Ｘ内の性能データの参照要求の集合の中からいずれかの参照要求を選択する（ステップＳ１３０１）。
【０１８８】
つぎに、第２の算出部５０６により、選択した参照要求から特定される格納先ＤＢが第１の性能ＤＢか否かを判断する（ステップＳ１３０２）。ここで、格納先ＤＢが第１の性能ＤＢではない場合（ステップＳ１３０２：Ｎｏ）、ステップＳ１３０４に移行する。
【０１８９】
一方、格納先ＤＢが第１の性能ＤＢの場合（ステップＳ１３０２：Ｙｅｓ）、第２の算出部５０６により、選択した参照要求に含まれるエージェント名に応じて、同時参照回数管理テーブル８００の記憶内容を更新する（ステップＳ１３０３）。
【０１９０】
そして、第２の算出部５０６により、所定期間Ｘ内の性能データの参照要求の集合の中から選択されていない未選択の参照要求があるか否かを判断する（ステップＳ１３０４）。ここで、未選択の参照要求がある場合（ステップＳ１３０４：Ｙｅｓ）、ステップＳ１３０１に戻る。
【０１９１】
一方、未選択の参照要求がない場合（ステップＳ１３０４：Ｎｏ）、第２の算出部５０６により、互いに異なるエージェントＡｐとエージェントＡｑのペアを選択する（ステップＳ１３０５）。そして、第２の算出部５０６により、同時参照回数管理テーブル８００を参照して、上記式（１）を用いて、選択したペアの同時参照率Ｒｐｑを算出する（ステップＳ１３０６）。
【０１９２】
つぎに、第２の算出部５０６により、算出したペアの同時参照率Ｒｐｑおよび同時参照率Ｒｑｐ（Ｒｐｑ＝Ｒｑｐ）を同時参照率管理テーブル９００に登録する（ステップＳ１３０７）。そして、第２の算出部５０６により、互いに異なるエージェントＡｐとエージェントＡｑについて、選択されていない未選択のペアがあるか否かを判断する（ステップＳ１３０８）。
【０１９３】
ここで、未選択のペアがある場合（ステップＳ１３０８：Ｙｅｓ）、ステップＳ１３０５に戻る。一方、未選択のペアがない場合（ステップＳ１３０８：Ｎｏ）、図１１に示したステップＳ１１０６に移行する。
【０１９４】
これにより、第１の性能ＤＢについて、互いに異なるエージェントのペアごとに、該ペアに含まれる２つのエージェントの性能データが同時に参照される頻度を算出することができる。
【０１９５】
＜グループ選択処理の具体的処理手順＞
つぎに、図１１に示したステップＳ１１０６のグループ選択処理の具体的な処理手順について説明する。
【０１９６】
図１４は、グループ選択処理の具体的処理手順の一例を示すフローチャートである。図１４のフローチャートにおいて、まず、特定部５０７により、第１の性能ＤＢについて、同時参照率管理テーブル９００を参照して、同時参照率が閾値γ以上となるエージェントのペアをグループとして特定する（ステップＳ１４０１）。
【０１９７】
つぎに、特定部５０７により、複数のグループに含まれるエージェントＡｉがあるか否かを判断する（ステップＳ１４０２）。ここで、複数のグループに含まれるエージェントＡｉがある場合（ステップＳ１４０２：Ｙｅｓ）、同一のエージェントＡｉを含むグループ同士を集約して新たなグループを作成して（ステップＳ１４０３）、ステップＳ１４０２に戻る。
【０１９８】
以下、作成されたグループを「グループＧ１〜ＧＳ」と表記し、グループＧ１〜ＧＳのうち任意のグループを「グループＧｓ」と表記する（ｓ＝１，２，…，Ｓ）。
【０１９９】
また、ステップＳ１４０２において、複数のグループに含まれるエージェントＡｉがない場合（ステップＳ１４０２：Ｎｏ）、特定部５０７により、グループＧｓの「ｓ」を「ｓ＝１」とする（ステップＳ１４０４）。
【０２００】
そして、特定部５０７により、グループＧ１〜ＧＳの中からグループＧｓを選択する（ステップＳ１４０５）。つぎに、特定部５０７により、選択したグループＧｓに含まれるエージェント数が閾値δ以上となるか否かを判断する（ステップＳ１４０６）。
【０２０１】
ここで、エージェント数が閾値δ以上の場合（ステップＳ１４０６：Ｙｅｓ）、特定部５０７により、レスポンス管理テーブル６００を参照して、グループＧｓに含まれるエージェント群のうち参照回数が最小のエージェントを除外して（ステップＳ１４０７）、ステップＳ１４０６に戻る。
【０２０２】
一方、エージェント数が閾値δ未満の場合（ステップＳ１４０６：Ｎｏ）、特定部５０７により、レスポンス管理テーブル６００を参照して、グループＧｓに含まれる各々のエージェントの参照回数を足し合わせた総参照回数ＴＣｓを算出する（ステップＳ１４０８）。
【０２０３】
そして、特定部５０７により、グループＧｓの「ｓ」をインクリメントして（ステップＳ１４０９）、「ｓ」が「Ｓ」より大きくなったか否かを判断する（ステップＳ１４１０）。ここで、「ｓ」が「Ｓ」以内の場合（ステップＳ１４１０：Ｎｏ）、ステップＳ１４０５に戻る。
【０２０４】
一方、「ｓ」が「Ｓ」より大きくなった場合（ステップＳ１４１０：Ｙｅｓ）、特定部５０７により、グループＧ１〜ＧＳの中から総参照回数ＴＣｓが最大のグループＧｓを選択して（ステップＳ１４１１）、図１１に示したステップＳ１１０７に移行する。
【０２０５】
これにより、同時参照率が閾値γ以上となるエージェントのペアを含むグループＧ１〜ＧＳの中から総参照回数ＴＣｓが最大のグループＧｓを格納先ＤＢの変更対象となるグループとして選択することができる。
【０２０６】
なお、上述した説明では、ステップＳ１４１１において、総参照回数ＴＣｓが最大のグループＧｓを選択することにしたが、これに限らない。例えば、特定部５０７により、グループＧ１〜ＧＳの中から総参照回数が多い順に上位Ｍ個のグループを選択することにしてもよい（例えば、Ｍ＝２，３）。
【０２０７】
＜ルーティング処理の具体的処理手順＞
つぎに、図１１に示したステップＳ１１０７のルーティング処理の具体的な処理手順について説明する。
【０２０８】
図１５は、ルーティング処理の具体的処理手順の一例を示すフローチャートである。図１５のフローチャートにおいて、まず、検出部５０３により、レスポンス管理テーブル６００を参照して、性能ＤＢ＃１〜＃ｍの中から平均レスポンス時間Ｔｊが抑制基準値β未満となる性能ＤＢ＃ｊを第２の性能ＤＢとして検出する（ステップＳ１５０１）。以下、平均レスポンス時間Ｔｊが抑制基準値β未満となる性能ＤＢ＃ｊを「第２の性能ＤＢ＄１〜＄Ｋ」と表記する。
【０２０９】
そして、選択部５０４により、第２の性能ＤＢ＄１〜＄Ｋが検出されたか否かを判断する（ステップＳ１５０２）。ここで、第２の性能ＤＢ＄１〜＄Ｋが検出されなかった場合（ステップＳ１５０２：Ｎｏ）、本フローチャートによる一連の処理を終了する。すなわち、変更先となる応答性能が良い性能ＤＢ＃ｊが存在しないため、データアクセス制御装置１００のデータ制御処理を終了する。
【０２１０】
一方、第２の性能ＤＢ＄１〜＄Ｋが検出された場合（ステップＳ１５０２：Ｙｅｓ）、ステップＳ１５０３に移行する。そして、選択部５０４により、レスポンス管理テーブル６００を参照して、特定されたグループＧｓに含まれるエージェントＡ［１］〜Ａ［Ｆ］の中から、参照回数が最大のエージェントＡ［ｆ］を選択する（ステップＳ１５０３）。
【０２１１】
つぎに、選択部５０４により、レスポンス管理テーブル６００を参照して、第２の性能ＤＢ＄１〜＄Ｋの中から平均レスポンス時間が最小の性能ＤＢ＄ｋを選択する（ステップＳ１５０４）。そして、変更部５０５により、ルーティングテーブル１１０に設定されているエージェントＡ［ｆ］の格納先ＤＢを第２の性能ＤＢ＄ｋに変更する（ステップＳ１５０５）。
【０２１２】
具体的には、例えば、変更部５０５が、ルーティングテーブル１１０内にエージェントＡ［ｆ］の格納先ＤＢとして第２の性能ＤＢ＄ｋが設定された新たなルーティング情報を作成する。なお、新たなルーティング情報の格納開始日時は、例えば、データ制御処理の開始日時から所定時間（例えば、１秒）経過した日時に設定される。
【０２１３】
つぎに、選択部５０４により、グループＧｓに含まれるエージェントＡ［１］〜Ａ［Ｆ］の中から選択されていない未選択のエージェントＡ［ｆ］があるか否かを判断する（ステップＳ１５０６）。ここで、未選択のエージェントＡ［ｆ］がある場合（ステップＳ１５０６：Ｙｅｓ）、ステップＳ１５０３に戻る。
【０２１４】
一方、未選択のエージェントＡ［ｆ］がない場合（ステップＳ１５０６：Ｎｏ）、ステップＳ１５０７に移行する。そして、変更部５０５により、エージェントＡ１〜Ａｎのうち格納先ＤＢが設定されていない残余のエージェントの格納先ＤＢを新たなルーティング情報に設定して（ステップＳ１５０７）、図１１に示したステップＳ１１０８に移行する。
【０２１５】
これにより、グループＧｓの中から参照回数が最大のエージェントＡ［ｆ］を順次選択して、格納先ＤＢを平均レスポンス時間が最小の性能ＤＢ＄ｋに変更することができる。
【０２１６】
なお、図１４に示したステップＳ１４１１において、複数のグループが選択された場合、複数のグループに含まれる各々のグループについて、上述したステップＳ１５０３〜Ｓ１５０６の処理を繰り返し実行することにしてもよい。
【０２１７】
以上説明したように、実施の形態２にかかるデータアクセス制御装置１００によれば、ルーティングテーブル１１０に第１の性能ＤＢが書込先に設定されているエージェントＡｉの性能データの格納先ＤＢを第２の性能ＤＢに変更することができる。これにより、以降において、周期的に収集されて第１の性能ＤＢに書き込まれていたエージェントＡｉの性能データが第２の性能ＤＢに書き込まれることになり、利用者からの参照要求が偏ってアクセス集中している第１の性能ＤＢの応答時間の増大化を抑制できる。
【０２１８】
また、データアクセス制御装置１００によれば、第２の性能ＤＢとして平均レスポンス時間Ｔｊが抑制基準値β未満となる性能ＤＢ＃ｊを検出することができる。これにより、利用者からの参照要求数が性能ＤＢ＃１〜＃ｍの間で平準化されるように各エージェントＡｉの性能データの格納先ＤＢを分散することができ、１性能ＤＢ当たりの参照要求数の偏りを抑えて、データベース資源を効率的に利用することができる。
【０２１９】
また、データアクセス制御装置１００によれば、格納先ＤＢの変更対象となるエージェントＡｉとして、第１の性能ＤＢを格納先ＤＢとするエージェント群の中から性能データの参照回数が最大のエージェントを選択することができる。これにより、利用者からの性能データの参照要求を性能ＤＢ＃１〜＃ｍの間で効率的に分散することができる。
【０２２０】
また、データアクセス制御装置１００によれば、格納先ＤＢの変更対象となるエージェントＡｉとして、互いに異なるエージェントのペア群のうち同時参照率が最大のペアに含まれるいずれかのエージェントＡｉを選択することができる。これにより、同時に参照される頻度が高い２つのエージェントの性能データがそれぞれ異なる性能ＤＢに格納されることになり、利用者からの参照要求に対する性能ＤＢ＃ｊの応答性能の向上を図ることができる。
【０２２１】
また、データアクセス制御装置１００によれば、複数の第２の性能ＤＢ＄１〜＄Ｋが検出された場合、グループＧｓに含まれる各々のエージェントの格納先ＤＢがそれぞれ異なるように格納先ＤＢを変更することができる。これにより、第１の性能ＤＢの応答時間の増大化を抑制するとともに、同時に参照される頻度が高い複数のエージェントの性能データをそれぞれ異なる性能ＤＢに格納して、利用者からの参照要求に対する性能ＤＢ＃ｊの応答性能の向上を図ることができる。
【０２２２】
また、データアクセス制御装置１００によれば、複数の第２の性能ＤＢ＄１〜＄Ｋが検出された場合、グループＧｓの中から参照回数が最大のエージェントＡ［ｆ］を順次選択して、格納先ＤＢを平均レスポンス時間が最小の性能ＤＢ＄ｋに変更することができる。これにより、利用者からの性能データの参照要求を性能ＤＢ＃１〜＃ｍの間で効率的に分散することができる。
【０２２３】
これらのことから、実施の形態２にかかる性能管理システム２００によれば、１性能ＤＢ当たりの参照要求数の偏りによる利用者からの参照要求に対する性能ＤＢ＃ｊの応答性能の低下を回避することができる。また、性能管理システム２００によれば、多数の利用者からの性能データの参照要求を性能ＤＢ＃１〜＃ｍの間で効果的に分散することにより、データベース資源を効率的に利用することができ、運用コストを下げることができる。
【０２２４】
また、性能管理システム２００によれば、発動基準値αおよび抑制基準値βの値を調整して、利用者に対するサービス品質のレベルを変えることができる。これにより、レベルが異なるシステムを複数用意して、それぞれ異なる課金料を設定することで、価格に応じたレベルのサービスを提供することができる。
【０２２５】
（実施の形態３）
つぎに、実施の形態３にかかる性能管理システム１６００について説明する。実施の形態３では、データアクセス制御装置１００とは異なるコンピュータが、各サーバＳＶ１〜ＳＶｎの性能データの収集、書き込み、クライアント端末２０１からの参照要求の受付処理および参照要求に対するレスポンス時間の計測を行う場合について説明する。なお、実施の形態１，２で説明した箇所と同様の箇所については説明を省略する。
【０２２６】
図１６は、実施の形態３にかかる性能管理システムのシステム構成例を示す説明図である。図１６において、性能管理システム１６００は、データアクセス制御装置１００と、サーバＳＶ１〜ＳＶｎと、複数のクライアント端末２０１と、管理サーバ１６１０と、を含む構成である。性能管理システム１６００において、データアクセス制御装置１００、サーバＳＶ１〜ＳＶｎ、複数のクライアント端末２０１および管理サーバ１６１０は、有線または無線のネットワーク２１０を介して接続されている。
【０２２７】
ここで、管理サーバ１６１０は、性能ＤＢ＃１〜＃ｍにアクセス可能であり、各サーバＳＶ１〜ＳＶｎの性能データを周期的に収集する機能を有するコンピュータである。具体的には、例えば、管理サーバ１６１０は、各サーバＳＶ１〜ＳＶｎに導入された各エージェントにより定期的に収集される性能データを各サーバＳＶ１〜ＳＶｎから受信する。これにより、各サーバＳＶ１〜ＳＶｎの性能データを周期的に収集することができる。
【０２２８】
また、管理サーバ１６１０は、各サーバＳＶ１〜ＳＶｎから収集した性能データを性能ＤＢ＃１〜＃ｍに書き込む機能を有する。具体的には、例えば、管理サーバ１６１０は、各サーバＳＶ１〜ＳＶｎから収集した性能データをルーティングテーブル１１０に設定されている書込先の性能ＤＢに書き込む。
【０２２９】
また、管理サーバ１６１０は、クライアント端末２０１から性能データの参照要求を受け付けて処理する機能を有する。受け付けた参照要求は、例えば、管理サーバ１６１０の記憶装置に記憶される。
【０２３０】
具体的には、例えば、管理サーバ１６１０は、ルーティングテーブル１１０を参照して、受け付けた参照要求から特定される性能データの書込先の性能ＤＢの中から該性能データを読み出す。そして、管理サーバ１６１０は、読み出した性能データを要求元のクライアント端末２０１に送信する。
【０２３１】
また、管理サーバ１６１０は、参照要求に対するレスポンス時間を計測する機能を有する。計測された計測結果は、例えば、管理サーバ１６１０の記憶装置に記憶される。
【０２３２】
サーバＳＶ１〜ＳＶｎは、エージェントにより収集した性能データを管理サーバ１６１０に送信する機能を有する。具体的には、例えば、サーバＳＶ１〜ＳＶｎは、性能データが収集されると、その都度、該性能データを管理サーバ１６１０に送信する。この結果、管理サーバ１６１０において、各サーバＳＶ１〜ＳＶｎの性能データが周期的に収集される。
【０２３３】
クライアント端末２０１は、利用者の操作入力により、性能データの参照要求を受け付ける。そして、クライアント端末２０１は、受け付けた性能データの参照要求を管理サーバ１６１０に送信し、その結果、管理サーバ１６１０から性能データを受信してディスプレイに表示する。
【０２３４】
データアクセス制御装置１００は、管理サーバ１６１０を制御して、周期的に収集される各サーバＳＶ１〜ＳＶｎの性能データを性能ＤＢ＃１〜＃ｍに書き込ませる機能を有する。具体的には、例えば、データアクセス制御装置１００の変更部５０５が、管理サーバ１６１０がアクセス可能なルーティングテーブル１１０に設定されている、エージェントＡｉの格納先ＤＢを第１の性能ＤＢから第２の性能ＤＢに変更する。
【０２３５】
また、データアクセス制御装置１００が、変更部５０５によって変更された変更結果を管理サーバ１６１０に送信することにしてもよい。この場合、管理サーバ１６１０が、データアクセス制御装置１００から受信した変更結果に基づいて、ルーティングテーブル１１０に設定されている、エージェントＡｉの格納先ＤＢを第１の性能ＤＢから第２の性能ＤＢに変更する。
【０２３６】
この結果、以降において、周期的に収集されて性能ＤＢ＃１に書き込まれていたエージェントＡ２の性能データが性能ＤＢ＃２に書き込まれることになる。これにより、利用者からの参照要求が偏ってアクセス集中している性能ＤＢ＃１の応答時間の増大化を抑制することができる。
【０２３７】
実施の形態３によれば、サーバＳＶ１〜ＳＶｎおよびクライアント端末２０１の窓口となる管理サーバ１６１０を設けることで、実施の形態２で説明した場合に比べて、データアクセス制御装置１００の機能を簡単化するとともに処理負荷を軽減することができる。
【０２３８】
なお、本実施の形態で説明したデータ制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本制御プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本制御プログラムは、インターネット等のネットワークを介して配布してもよい。
【０２３９】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２４０】
（付記１）第１のデータ及び第２のデータを記憶する第１の記憶装置と、前記第１のデータを記憶する第２の記憶装置と、を含むシステム内のコンピュータに、
前記第１のデータ及び前記第２のデータの双方についてのアクセス要求に応じたアクセス処理を前記第１の記憶装置に対して実行させた後に、前記第１のデータについてのアクセス要求を受けた場合に、前記第１のデータについての前記アクセス要求に応じたアクセス処理を前記第２の記憶装置に対して実行させる制御、
を実行させることを特徴とする制御プログラム。
【０２４１】
（付記２）前記コンピュータに、
前記第１の記憶装置に対して実行されるアクセス処理の処理時間の計測を、さらに実行させ、
前記第１のデータ及び前記第２のデータの双方についてのアクセス要求に応じたアクセス処理を前記第１の記憶装置に対して実行させた後に、前記計測により得られた処理時間が所定時間よりも長く、且つ前記第１のデータについてのアクセス要求を受けた場合に、前記第１のデータについての前記アクセス要求に応じたアクセス処理を前記第２の記憶装置に対して実行させる制御、
を実行させることを特徴とする付記１に記載の制御プログラム。
【０２４２】
（付記３）収集される各々の監視対象の状態に関するデータを、データベース群のうち書込先に設定されているデータベースに書き込むコンピュータに、
前記データベース群の中から、前記データの読出要求に対する応答時間の長さを表す値が所定の閾値以上となる第１のデータベースを検出し、
前記第１のデータベースが書込先に設定されている少なくともいずれかの監視対象の状態を特徴付けるデータの書込先を、前記データベース群のうちの前記第１のデータベースとは異なる第２のデータベースに変更する、
処理を実行させることを特徴とする制御プログラム。
【０２４３】
（付記４）前記コンピュータに、
前記データベース群の中から、前記応答時間の長さを表す値が、前記所定の閾値（以下、「第１の閾値」という）よりも小さい第２の閾値未満となる前記第２のデータベースを検出する処理を実行させ、
前記データの書込先を変更する処理は、
前記いずれかの監視対象の状態を特徴付けるデータの書込先を、検出された前記第２のデータベースに変更することを特徴とする付記３に記載の制御プログラム。
【０２４４】
（付記５）前記コンピュータに、
前記第１のデータベースが書込先に設定されている監視対象群の各々の監視対象の状態を特徴付けるデータが前記第１のデータベースの中から読み出される頻度に基づいて、前記監視対照群の中からいずれかの監視対象を選択する処理を実行させ、
前記データの書込先を変更する処理は、
選択された前記監視対象の状態を特徴付けるデータの書込先を、前記第２のデータベースに変更することを特徴とする付記３または４に記載の制御プログラム。
【０２４５】
（付記６）前記いずれかの監視対象を選択する処理は、
前記監視対象群のうち前記第１のデータベースの中から読み出される前記頻度が最大の監視対象を選択し、
前記データの書込先を変更する処理は、
前記第２のデータベースが複数存在する場合、選択された前記監視対象の状態を特徴付けるデータの書込先を、複数存在する前記第２のデータベースのうち前記応答時間の長さを表す値が最小のデータベースに変更することを特徴とする付記５に記載の制御プログラム。
【０２４６】
（付記７）前記コンピュータに、
互いに異なる監視対象のペアごとに、前記ペアに含まれる各々の監視対象の状態を特徴付けるデータが前記第１のデータベースの中から同時に読み出される頻度を算出し、
前記第１のデータベースの中から同時に読み出される前記ペアごとの頻度に基づいて、当該頻度が第３の閾値以上となるペアを特定し、
特定した前記ペアに含まれる少なくともいずれかの監視対象を選択する、処理を実行させ、
前記データの書込先を変更する処理は、
選択された前記監視対象の状態を特徴付けるデータの書込先を、前記第２のデータベースに変更することを特徴とする付記３または４に記載の制御プログラム。
【０２４７】
（付記８）前記データの書込先を変更する処理は、
前記第２のデータベースが複数存在する場合、特定された前記ペアに含まれる各々の監視対象の状態を特徴付けるデータの書込先がそれぞれ異なるように、前記ペアに含まれる各々の監視対象の状態を特徴付けるデータの書込先を、複数存在する前記第２のデータベースに変更することを特徴とする付記７に記載の制御プログラム。
【０２４８】
（付記９）前記コンピュータに、
前記応答時間の長さを表す値として、前記データベース群の各々のデータベースに格納されているデータの読出要求に対する応答時間に基づいて、前記各々のデータベースの応答時間の平均値を算出する処理を実行させ、
前記第１のデータベースを検出する処理は、
前記データベース群の中から、算出された前記応答時間の長さを表す値が前記第１の閾値以上となる前記第１のデータベースを検出することを特徴とする付記３〜８のいずれか一つに記載の制御プログラム。
【０２４９】
（付記１０）前記第１のデータベースを検出する処理は、
前記応答時間の長さを表す値が前記第１の閾値以上となるデータベースが複数存在する場合、前記データベース群の中から、前記応答時間の長さを表す値が最大の前記第１のデータベースを検出することを特徴とする付記３〜９のいずれか一つに記載の制御プログラム。
【０２５０】
（付記１１）前記コンピュータに、
前記いずれかの監視対象の状態を特徴付けるデータの書込先が前記第２のデータベースに変更された後、前記いずれかの監視対象の状態を特徴付けるデータを取得し、
取得した前記いずれかの監視対象の状態を特徴付けるデータを前記第２のデータベースに書き込む、
処理を実行させることを特徴とする付記３〜１０のいずれか一つに記載の制御プログラム。
【０２５１】
（付記１２）各々の監視対象の状態を特徴付けるデータを収集する情報処理装置を制御して、データベース群のうち書込先に設定されているデータベースに前記データを書き込ませるコンピュータに、
前記データベース群の中から、前記データの読出要求に対する応答時間の長さを表す値が所定の閾値以上となる第１のデータベースを検出し、
前記第１のデータベースが書込先に設定されている少なくともいずれかの監視対象の状態を特徴付けるデータの書込先を、前記データベース群のうちの前記第１のデータベースとは異なる第２のデータベースに変更する、
処理を実行させることを特徴とする制御プログラム。
【０２５２】
（付記１３）各々の監視対象の状態に関するデータを、データベース群のうち書込先に設定されているデータベースに書き込む書込部と、
前記データベース群の中から、前記データの読出要求に対する応答時間の長さを表す値が所定の閾値以上となる第１のデータベースを検出する検出部と、
前記第１のデータベースが書込先に設定されている少なくともいずれかの監視対象の状態を特徴付けるデータの書込先を、前記データベース群のうちの前記第１のデータベースとは異なる第２のデータベースに変更する変更部と、
を備えることを特徴とするデータアクセス制御装置。
【０２５３】
（付記１４）各々の監視対象の状態を特徴付けるデータを収集する情報処理装置を制御して、データベース群のうち書込先に設定されているデータベースに前記データを書き込ませるデータアクセス制御装置であって、
前記データベース群の中から、前記データの読出要求に対する応答時間の長さを表す値が所定の閾値以上となる第１のデータベースを検出する検出部と、
前記第１のデータベースが書込先に設定されている少なくともいずれかの監視対象の状態を特徴付けるデータの書込先を、前記データベース群のうちの前記第１のデータベースとは異なる第２のデータベースに変更する変更部と、
を備えることを特徴とするデータアクセス制御装置。
【０２５４】
（付記１５）収集される各々の監視対象の状態に関するデータを、データベース群のうち書込先に設定されているデータベースに書き込むコンピュータが、
前記データベース群の中から、前記データの読出要求に対する応答時間の長さを表す値が所定の閾値以上となる第１のデータベースを検出し、
前記第１のデータベースが書込先に設定されている少なくともいずれかの監視対象の状態を特徴付けるデータの書込先を、前記データベース群のうちの前記第１のデータベースとは異なる第２のデータベースに変更する、
処理を実行することを特徴とするデータ制御方法。
【０２５５】
（付記１６）各々の監視対象の状態を特徴付けるデータを収集する情報処理装置を制御して、データベース群のうち書込先に設定されているデータベースに前記データを書き込ませるコンピュータが、
前記データベース群の中から、前記データの読出要求に対する応答時間の長さを表す値が所定の閾値以上となる第１のデータベースを検出し、
前記第１のデータベースが書込先に設定されている少なくともいずれかの監視対象の状態を特徴付けるデータの書込先を、前記データベース群のうちの前記第１のデータベースとは異なる第２のデータベースに変更する、
処理を実行することを特徴とするデータ制御方法。
【符号の説明】
【０２５６】
１００  データアクセス制御装置
１１０  ルーティングテーブル
２０１  クライアント端末
５０１  取得部
５０２  第１の算出部
５０３  検出部
５０４  選択部
５０５  変更部
５０６  第２の算出部
５０７  特定部
Ａ１〜Ａｎ，Ａｉ  エージェント
ＳＶ１〜ＳＶｎ，ＳＶｉ  サーバ
＃１〜＃ｍ，＃ｊ  性能ＤＢ
【図１】
0005845789.tif 000002
【図２】
0005845789.tif 000003
【図３】
0005845789.tif 000004
【図４】
0005845789.tif 000005
【図５】
0005845789.tif 000006
【図６】
0005845789.tif 000007
【図７】
0005845789.tif 000008
【図８】
0005845789.tif 000009
【図９】
0005845789.tif 000010
【図１０】
0005845789.tif 000011
【図１１】
0005845789.tif 000012
【図１２】
0005845789.tif 000013
【図１３】
0005845789.tif 000014
【図１４】
0005845789.tif 000015
【図１５】
0005845789.tif 000016
【図１６】
0005845789.tif 000017