(57)【特許請求の範囲】
【請求項１】
複数種類の性能データそれぞれについて、第１の種類の性能データの次に参照された割合を記憶する記憶部と、
クライアント装置が前記第１の種類の性能データを参照した場合に、前記記憶部に記憶した前記複数種類の性能データそれぞれについての前記割合に基づいて、サーバ装置から収集した前記複数種類の性能データを記憶装置へ格納する格納順位を決定する決定部と、
前記サーバ装置から収集されたデータを前記記憶装置に格納するまで一時的に記憶する一時記憶部に記憶された性能データのなかから、前記決定部により決定された格納順位の高い順に前記記憶装置へ格納する格納部と
を有するデータ格納制御装置。
【請求項２】
複数種類の性能データそれぞれについて、第１の種類の性能データの次に参照された割合、参照時間、優先度を記憶する記憶部と、
クライアント装置が前記第１の種類の性能データを参照した場合に、前記記憶部に記憶した前記複数種類の性能データそれぞれについての前記割合に基づいて、前記参照された割合が高く、参照時間に対する経過時間の割合が大きいほど大きな値として各性能データの緊急度を算出し、前記性能データ毎に、算出された緊急度と前記記憶部に記憶された優先度を乗算した値の大きい順に、前記複数種類の性能データを記憶装置へ格納する格納順位を決定する決定部と
を有するデータ格納制御装置。
【請求項３】
前記決定部は、クライアント装置が前記第１の種類の性能データを参照してからの経過時間が待機時間を経過する毎に次の待機時間をより短い時間に変更し、待機時間を経過する毎に、性能データ毎に所定の初期値に対して当該性能データの参照された割合の値を加算して各性能データの緊急度を算出する
ことを特徴とする請求項２記載のデータ格納制御装置。 
【請求項４】
コンピュータに、
記憶部に記憶された、複数種類の性能データそれぞれについて、第１の種類の性能データの次に参照された割合に基づいて、クライアント装置が前記第１の種類の性能データを参照した場合に、サーバ装置から収集した前記複数種類の性能データを記憶装置へ格納する格納順位を決定し、
前記サーバ装置から収集されたデータを前記記憶装置に格納するまで一時的に記憶する一時記憶部に記憶された性能データのなかから、決定された格納順位の高い順に前記記憶装置へ格納する
処理を実行させることを特徴とするデータ格納制御プログラム。 
【請求項５】
コンピュータが、
記憶部に記憶された、複数種類の性能データそれぞれについて、第１の種類の性能データの次に参照された割合に基づいて、クライアント装置が前記第１の種類の性能データを参照した場合に、サーバ装置から収集した前記複数種類の性能データを記憶装置へ格納する格納順位を決定し、
前記サーバ装置から収集されたデータを前記記憶装置に格納するまで一時的に記憶する一時記憶部に記憶された性能データのなかから、決定された格納順位の高い順に前記記憶装置へ格納する
処理を実行することを特徴とするデータ格納制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ格納制御装置、データ格納制御プログラムおよびデータ格納制御方法
に関する。
【背景技術】
【０００２】
従来、データセンタなどに設けられた複数のサーバに対して複数のユーザから性能データの参照が行われる。このような複数のサーバの性能データを管理する技術として、各サーバから性能データを収集してデータベースで一元管理し、ユーザからの参照の要求に応じて性能データを提供するシステムがある。このようなシステムでは、例えば、管理対象のサーバに性能の測定を行うソフトウェアをインストールする。管理対象のサーバでは、インストールされたフトウェアにより、ＣＰＵ（Central  Processing  Unit）やメモリ、ディスク、ミドルウェア、アプリケーションなど、リソースごとの性能データが定期的に収集され、収集された性能データが管理サーバへ送信される。管理サーバは、各管理対象のサーバから送信された性能データをデータベースに蓄積して管理する。
【０００３】
ところで、例えば、管理対象とする性能の種類が増え、性能データの量が増えると、管理サーバでは、各サーバから通知されるデータ量が膨大となる。各サーバから通知されるデータが輻輳した場合、データベースへの格納がボトルネックとなり、ユーザは、最新の性能データを参照できない場合がある。
【０００４】
また、例えば、クラウド環境など、複数ユーザがサーバの性能データを参照する場合、ユーザごとに参照するサーバや性能データが異なり、ユーザごとに参照する頻度も異なる。そこで、例えば、頻繁にアクセスを行うユーザが参照する性能データの優先度を高くして、優先的にデータベースへ格納する優先度制御を行うことが考えられる。また、先行技術として、例えば、画像形成装置の障害を監視するシステムにおいて、障害の種類毎に障害の重要度を数値化した障害点数を記憶し、画像形成装置から通知された障害情報の障害点数の累計値が閾値に達した場合、監視元へ通知する技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−７７３１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、頻繁にアクセスを行うユーザが参照する性能データの優先度を高くする優先度制御では、頻繁に参照される性能データの優先度が過剰に高くなり、時々アクセスを行うユーザが参照する性能データの格納に遅延が発生する場合がある。
【０００７】
また、先行技術は、障害の重要度に応じて監視元へ通知を行う技術であり、性能データの格納に遅延が発生することを抑制できない。
【０００８】
開示の技術の一側面によれば、上記に鑑みてなされたものであって、ユーザが参照する性能データの格納に遅延が発生することを抑制することを目的とする。
【課題を解決するための手段】
【０００９】
本願の開示するデータ格納制御装置は、一つの態様において、記憶部と、決定部とを有する。記憶部は、複数種類の性能データそれぞれについて、ある種類の性能データの次に参照された割合を記憶する。決定部は、前記記憶部を参照し、特定されたクライアント装置および性能データに対応する参照時間に対する特定してからの経過時間を求める。また、決定部は、クライアント装置が前記ある種類の性能データを参照した場合に、前記記憶部に記憶した前記複数種類の性能データそれぞれについての前記割合に基づいて、サーバ装置から収集した前記複数種類の性能データを記憶装置へ格納する格納順位を決定する。
【発明の効果】
【００１０】
一つの態様によれば、ユーザが参照する性能データの格納に遅延が発生することを抑制できる。
【図面の簡単な説明】
【００１１】
【図１】図１は、データ格納制御装置の機能的な構成の一例を示す図である。
【図２】図２は、管理システムの機能的な構成の一例を示す図である。
【図３】図３は、第１テーブルのデータ構成の一例を示す図である。
【図４】図４は、第２テーブルのデータ構成の一例を示す図である。
【図５】図５は、第３テーブル３０ｃのデータ構成の一例を示す図である。
【図６】図６は、第４テーブルのデータ構成の一例を示す図である。
【図７】図７は、第５テーブルのデータ構成の一例を示す図である。
【図８】図８は、操作ログの一例を示す図である。
【図９】図９は、性能データ通知キューのデータ構成の一例を示す図である。
【図１０】図１０は、第２テーブルを作成する流れの一例を説明するための図である。
【図１１】図１１は、操作特定処理の手順を示すフローチャートである。
【図１２】図１２は、操作ログ解析処理の手順を示すフローチャートである。
【図１３】図１３は、操作実績更新処理の手順を示すフローチャートである。
【図１４】図１４は、緊急度決定処理の手順を示すフローチャートである。
【図１５】図１５は、緊急度算出処理の手順を示すフローチャートである。
【図１６】図１６は、優先度決定処理の手順を示すフローチャートである。
【図１７】図１７は、性能データ格納処理の手順を示すフローチャートである。
【図１８】図１８は、通知キュー格納処理の手順を示すフローチャートである。
【図１９】図１９は、性能データ通知キューの他のデータ構成の一例を示す図である。
【図２０】図２０は、データ格納制御プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示するデータ格納制御装置、データ格納制御プログラムおよびデータ格納制御方法の各実施例を図面に基づいて詳細に説明する。なお、各実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１３】
実施例１に係るデータ格納制御装置１０について説明する。図１は、データ格納制御装置の機能的な構成の一例を示す図である。図１に示すように、データ格納制御装置１０は、記憶部１１と、決定部１２とを有する。データ格納制御装置１０は、サーバ装置１３から送信された性能データを記憶装置１４へ格納するデータ格納制御を行う機器であり、例えば、管理サーバなどのコンピュータなどである。記憶装置１４は、例えば、データ格納制御装置１０に設けられたＨＤＤ（Hard  Disk  Drive）などの記憶装置であってもよい。また、記憶装置１４は、外部のディスクアレイ装置や、他のサーバに設けられたＨＤＤなどの記憶装置であってもよい。記憶装置１４に格納された性能データは、クライアント装置１５からの参照の要求に応じて提供される。なお、図１の例では、サーバ装置１３を１つ図示したが、サーバ装置１３が２つ以上であってもよい。また、図１の例では、クライアント装置１５を２つ図示したが、クライアント装置１５が１つまたは３つ以上であってもよい。
【００１４】
記憶部１１には、各種情報が記憶されている。例えば、記憶部１１は、複数種類の性能データそれぞれについて、ある種類の性能データの次に参照された割合を記憶する。この性能データは、装置に搭載されたリソースの性能を示すものであり、リソースに応じて様々な種別ものがある。例えば、性能データには、ＣＰＵやメモリ、ディスクの使用率、ミドルウェア、アプリケーションのＣＰＵの使用率、メモリ使用率などがある。記憶部１１のデバイスの一例としては、フラッシュメモリやＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）などのデータを書き換え可能な半導体メモリや、ハードディスク、光ディスクなどの記憶装置が挙げられる。
【００１５】
決定部１２は、サーバ装置１３から送信された性能データを記憶装置１４へ格納する格納順位を決定する。例えば、決定部１２は、クライアント装置１５がある種類の性能データを参照した場合に、記憶部１１に記憶した複数種類の性能データそれぞれについての割合に基づいて、サーバ装置１３から収集した複数種類の性能データを記憶装置１４へ格納する格納順位を決定する。このように格納順を決定することにより、ユーザが次に参照すると特定された性能データが記憶装置１４へすみやかに格納されるようになるため、ユーザが参照する性能データの格納に遅延が発生することを抑制できる。なお、決定部１２のデバイスの一例としては、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路が挙げられる。なお、デバイスとして、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路を採用することもできる。
【００１６】
上述してきたように、データ格納制御装置１０は、複数種類の性能データそれぞれについて、ある種類の性能データの次に参照された割合を記憶する。データ格納制御装置１０は、クライアント装置１５がある種類の性能データを参照した場合に、記憶部１１に記憶した複数種類の性能データそれぞれについての割合に基づいて、サーバ装置１３から収集した複数種類の性能データを記憶装置１４へ格納する格納順位を決定する。これにより、データ格納制御装置１０では、クライアント装置１５が次に参照する性能データが優先して格納されるように格納順位が決定される。よって、データ格納制御装置１０によれば、ユーザが参照する性能データの格納に遅延が発生することを抑制できる。
【実施例２】
【００１７】
次に、実施例２について説明する。実施例２では、データセンタなどに設けられた複数のサーバ装置２１から性能データを収集してデータベースで一元管理し、ユーザからの参照の要求に応じて性能データを提供するシステム２０について説明する。図２は、システムの機能的な構成の一例を示す図である。システム２０は、データ格納制御装置として機能する第１のサーバ装置２２と、第２のサーバ装置２３とを有する。
【００１８】
第１のサーバ装置２２は、各サーバ装置２１から送信された性能データを受信し、受信された性能データを決定された格納順に第２のサーバ装置２３へ順次格納する制御を行う。
【００１９】
各サーバ装置２１には、性能の測定を行うソフトウェア２１ａがインストールされている。ソフトウェア２１ａは、定期的にそれぞれサーバ装置２１に搭載されたリソースの性能を測定する。例えば、ソフトウェア２１ａは、ＣＰＵやメモリ、ディスク、ミドルウェア、アプリケーションなど、リソースごとの性能を定期的に測定する。ソフトウェア２１ａは、測定された各リソースの性能を示す性能データを第１のサーバ装置２２へ送信する。なお、図２の例では、サーバ装置２１を４つ図示したが、サーバ装置２１の数は何れであってもよい。
【００２０】
第２のサーバ装置２３は、第１のサーバ装置２２から順次格納される性能データを記憶装置４０のデータベース４０ａに記憶して一元管理する。第２のサーバ装置２３は、データベース４０ａに記憶された各性能データをクライアント装置２４から参照可能としている。ユーザは、クライアント装置２４を用いて第２のサーバ装置２３に対して、確認したいサーバ装置２１のリソースの性能データの参照要求を送信する。第２のサーバ装置２３は、参照の要求に応じて性能データを提供しており、参照の要求に応じた性能データを要求元のクライアント装置２４へ送信する。また、第２のサーバ装置２３は、ユーザから要求された内容を示す操作ログ４２を生成する。本実施例では、クライアント装置２４に対して使用するユーザが固定されており、ユーザを特定することによりクライアント装置１５を特定するものとする。第１のサーバ装置２２と第２のサーバ装置２３とサーバ装置２１とクライアント装置２４との間は、図示しないネットワークを介して通信可能に接続される。かかるネットワークの一態様としては、有線または無線を問わず、インターネット（Internet）、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの任意の通信網が挙げられる。
【００２１】
図２に示すように、第１のサーバ装置２２は、記憶部３０と、特定部３１と、決定部３２と、格納部３３と、操作実績生成部３４と、参照パターン更新部３５を有する。
【００２２】
記憶部３０には、各種情報が記憶されている。例えば、記憶部３０には、第１テーブル３０ａ、第２テーブル３０ｂ、第３テーブル３０ｃ、第４テーブル３０ｄおよび第５テーブル３０ｅが記憶されている。記憶部３０のデバイスの一例としては、フラッシュメモリやＮＶＳＲＡＭなどのデータを書き換え可能な半導体メモリや、ハードディスク、光ディスクなどの記憶装置が挙げられる。
【００２３】
第１テーブル３０ａは、性能データを参照するユーザ毎の過去の操作での参照パターンを記憶したテーブルである。第１テーブル３０ａは、性能データを参照するユーザ毎に同様のデータ構成でそれぞれ設けられている。図３は、第１テーブルのデータ構成の一例を示す図である。図３に示すように、第１テーブル３０ａは、状態、平均時間、参照確率などの各項目を有する。参照確率の項目は、各サーバ装置２１の性能データ毎に複数の項目に分けている。図３の例では、参照確率の項目が「サーバ１：性能Ａ−１」の項目、「サーバ１：性能Ａ−２」の項目、「サーバ１：性能Ａ−３」の項目、・・・「サーバ３：性能Ａ」の項目に分けている。
【００２４】
状態の項目は、参照動作の状態または参照された性能データを表す情報を格納する領域である。例えば、状態の項目には、参照動作の状態を表す名称や性能データの名称を格納する。平均時間の項目は、状態の項目の状態が維持または性能データが参照される平均時間を秒単位で格納する領域である。参照確率の各項目は、状態の項目の状態または性能データの次に各性能データが参照される割合を格納する領域である。以下では、性能データが参照される割合を「参照確率」とも言う。参照確率の各項目には、状態の項目の状態または性能データの次に参照された実績がある場合、参照確率を示す値が登録される。また、参照確率の各項目には、状態の項目の状態または性能データの次に参照された実績がない場合、参照確率の項目には、実績なしを示す「ＮＵＬＬ」が設定される。
【００２５】
図３の例では、ログイン直後の状態は、平均時間が１秒であり、次にサーバ１の性能Ａ−１の参照確率が１００％であることを示す。また、サーバ１の性能Ａ−１の参照状態は、平均時間が３２秒であり、次にサーバ１の性能項目Ａ−２の参照確率が５０％であり、サーバ１の性能項目Ａ−３の参照確率が３０％であり、サーバ３の性能項目Ａの参照確率が３０％であることを示す。また、サーバ１の性能Ａ−２の参照状態は、平均時間が１６秒であり、次にサーバ１の性能項目Ａ−１の参照確率が１０％であり、サーバ１の性能項目Ａ−３の参照確率が８０％であり、サーバ３の性能項目Ａの参照確率が１０％であることを示す。また、サーバ３の性能Ａの参照状態は、平均時間が７２秒であり、次にサーバ１の性能項目Ａ−１の参照確率が８０％であり、サーバ１の性能項目Ａ−３の参照確率が３０％であることを示す。
【００２６】
第１テーブル３０ａには、後述する参照パターン更新部３５により各項目の情報が登録される。また、第１テーブル３０ａは、決定部３２で実行される処理に用いられる。
【００２７】
第２テーブル３０ｂは、直前に性能データを参照したユーザの参照パターンを記憶したテーブルである。図４は、第２テーブルのデータ構成の一例を示す図である。図４に示すように、第２テーブル３０ｂは、第１テーブル３０ａと同様のデータ構成とされおり、状態、平均時間、参照確率などの各項目を有する。
【００２８】
状態の項目は、直前の性能データの参照動作での参照動作の状態または参照された性能データを表す情報を格納する領域である。平均時間の項目は、直前の性能データの参照動作での平均時間を秒単位で格納する領域である。参照確率の各項目は、直前の性能データの参照動作での参照確率を格納する領域である。参照確率の各項目には、状態の項目の状態または性能データの次に参照された実績がある場合、参照確率を示す値が登録される。また、参照確率の各項目には、状態の項目の状態または性能データの次に参照された実績がない場合、実績なしを示す「ＮＵＬＬ」が設定される。
【００２９】
図４の例では、ログイン直後の状態は、平均時間が１秒であり、次にサーバ１の性能Ａ−１の参照確率が１００％であることを示す。また、サーバ１の性能Ａ−１の参照状態は、平均時間が２３秒であり、次にサーバ１の性能項目Ａ−２の参照確率が１００％であることを示す。また、サーバ１の性能Ａ−２の参照状態は、平均時間が１８秒であり、次にサーバ３の性能項目Ａの参照確率が１００％であることを示す。また、サーバ３の性能Ａの参照状態は、平均時間が６０秒であり、次に性能項目の参照が特にないことを示す。
【００３０】
第２テーブル３０ｂには、後述する操作実績生成部３４により各項目の情報が登録される。また、第２テーブル３０ｂは、参照パターン更新部３５で実行される処理に用いられる。
【００３１】
第３テーブル３０ｃは、ユーザ毎の各サーバ装置２１の各性能データの緊急度を記憶するテーブルである。第３テーブル３０ｃは、性能データを参照するユーザ毎に同様のデータ構成でそれぞれ設けられている。図５は、第３テーブルのデータ構成の一例を示す図である。図５に示すように、第３テーブル３０ｃは、サーバ、レコード、緊急度の各項目を有する。
【００３２】
サーバの項目は、何れのかのサーバ装置２１を表す情報を格納する領域である。例えば、サーバの項目には、サーバ装置２１のマシーン名を格納する。レコードの項目は、性能データを表す情報を格納する領域である。例えば、サーバの項目には、性能データの名称を格納する。緊急度の項目は、性能データの緊急度を表す値を格納する領域である。
【００３３】
図５の例では、ユーザＡについて、サーバ１の性能データＡ−１は、緊急度が２．５であることを示す。また、サーバ１の性能データＡ−２は、緊急度が１．９であることを示す。また、サーバ２の性能データＢ−１は、緊急度が１．９であることを示す。また、サーバ３の性能データＡは、緊急度が１．０３であることを示す。また、図５の例では、ユーザＣについて、サーバ１の性能データＡ−１は、緊急度が１．２であることを示す。また、サーバ２の性能データＢ−１は、緊急度が１．２であることを示す。また、サーバ３の性能データＡは、緊急度が１．０３であることを示す。
【００３４】
第３テーブル３０ｃには、後述する決定部３２により各項目の情報が登録される。また、第２テーブル３０ｂは、決定部３２で実行される処理に用いられる。
【００３５】
第４テーブル３０ｄは、各サーバ装置２１の各性能データの優先度を記憶するテーブルである。図６は、第４テーブルのデータ構成の一例を示す図である。図６に示すように、第４テーブル３０ｄは、サーバ、レコード、優先度の各項目を有する。
【００３６】
サーバの項目は、何れのかのサーバ装置２１を表す情報を格納する領域である。例えば、サーバの項目には、サーバ装置２１のマシーン名を格納する。レコードの項目は、性能データを表す情報を格納する領域である。例えば、レコードの項目には、性能データの名称を格納する。優先度の項目は、性能データを優先して格納すべき度合い表す値を格納する領域である。
【００３７】
図６の例では、サーバ２の性能データＢ−１は、優先度が２であることを示す。また、サーバ１の性能データＡ−１は、優先度が１であることを示す。また、サーバ１の性能データＡ−２は、優先度が１であることを示す。また、サーバ３の性能データＡは、優先度が１であることを示す。
【００３８】
第４テーブル３０ｄには、予め各項目の情報が登録される。また、第４テーブル３０ｄは、決定部３２で実行される処理に用いられる。
【００３９】
第５テーブル３０ｅは、各サーバ装置２１の各性能データの格納順位を記憶するテーブルである。図７は、第５テーブルのデータ構成の一例を示す図である。図７に示すように、第５テーブル３０ｅは、格納順位、サーバ、レコード、格納順位度数の各項目を有する。
【００４０】
格納順位の項目は、各サーバ装置２１の各性能データの格納順位を表す値を格納する領域である。サーバの項目は、格納順位とされた性能データを送信するサーバ装置２１を表す情報を格納する領域である。例えば、サーバの項目には、サーバ装置２１のマシーン名を格納する。レコードの項目は、格納順位とされた性能データを表す情報を格納する領域である。例えば、サーバの項目には、性能データの名称を格納する。格納順位度数の項目は、後述する決定部により算出される格納順位度数の値を格納する領域である。
【００４１】
図７の例では、サーバ２の性能データＢ−１は格納順位度数が２．５であり、格納順位１位であることを示す。また、サーバ１の性能データＡ−１は格納順位度数が１．９であり、格納順位２位であることを示す。また、サーバ１の性能データＡ−２は格納順位度数が１．９であり、格納順位２位であることを示す。また、サーバ３の性能データＡは格納順位度数が１であり、格納順位Ｎ位であることを示す。
【００４２】
第５テーブル３０ｅには、後述する決定部３２により各項目の情報が登録される。また、第５テーブル３０ｅは、格納部３３で実行される処理に用いられる。
【００４３】
図２の説明に戻り、特定部３１は、第２のサーバ装置２３に記憶された性能データを参照しているクライアント装置２４のユーザおよび当該性能データを特定する。例えば、特定部３１は、第２のサーバ装置２３で生成される操作ログ４２を参照し、性能データを参照しているクライアント装置２４のユーザおよび当該性能データを特定する。
【００４４】
図８は、操作ログの一例を示す図である。図８に示すように、操作ログ４２には、操作内容を表す複数のレコードが記録されている。各レコードは、カンマで区切られて時刻、ログ種別、ユーザ、操作の各項目が設けられている。時刻の項目は、操作された時刻を記録した領域である。ログ種別の項目は、ログがどのような内容であるかの種別を記録した領域である。図８の例では、「ｃｈａｎｇｅ＿ｓｔａｔｕｓ」は第２のサーバ装置２３に対してクライアント装置２４のアクセス状態の変更に関する操作であることを示す。「ｒｅｆｅｒ＿ｒｅｃｏｒｄ」は性能データを参照操作であることを示す。ユーザの項目は、操作を行ったクライアント装置２４のユーザ名を記録した領域である。操作の項目は、操作内容を記録した領域である。操作の項目には、アクセス状態の変更に関する操作がログインである場合、「ｌｏｇｉｎ」と記録され、アクセス状態の変更に関する操作がログアウトである場合、「ｌｏｇｏｕｔ」と記録される。また、操作の項目には、性能データを参照操作である場合、参照操作を表す情報が記録される。図８の例では、参照操作を表す情報として、データベース４０ａに対して実行したＳＱＬ（Structured  Query  Language）が記録される。
【００４５】
図８の例では、レコード４２ａは、２０１１／２／２８  ９：３５：００にユーザＡがログインしたことを示す。また、レコード４２ｂは、２０１１／２／２８  ９：３５：０１にユーザＡがサーバ１の性能データＡ−１の参照を要求したことを示す。
【００４６】
特定部３１は、第２のサーバ装置２３で生成される操作ログ４２を常時監視し、新たな操作ログ４２が追加されたら、追加された操作ログ４２を読み出す。そして、特定部３１は、読み出した操作ログ４２の解析を行い、性能データを参照しているクライアント装置２４のユーザおよび当該性能データを特定する。また、特定部３１は、読み出した操作ログ４２の解析の結果、何れのユーザのログアウトを検出した場合、後述する操作実績生成部３４へログアウトしたユーザを通知する。
【００４７】
決定部３２は、サーバ装置２１から送信された性能データを第２のサーバ装置２３へ格納する格納順位を決定する。例えば、決定部３２は、記憶部３０に記憶された第１テーブル３０ａから、特定部３１により特定されたユーザおよび性能データに対応するレコードを読み出す。例えば、特定されたユーザがユーザＡであり、参照された性能データが性能データＡ−１の場合、決定部３２は、図３に示す第１テーブル３０ａから、性能データＡ−１のレコードを読み出す。そして、決定部３２は、読み出したレコードから平均時間および次に参照した各性能データの参照確率を求める。
【００４８】
決定部３２は、求めた各性能データの参照確率を用いて各性能データの緊急度を算出する。例えば、決定部３２は、特定部３１によりユーザおよび性能データを特定してからの経過時間が待機時間を経過する毎に次の待機時間をより短い時間に変更する。かかる次の待機時間の変更の一例としては、決定部３２は、初期の待機時間を平均時間の１／２の時間とし、待機時間を経過する毎に次の待機時間を直前の待機時間の１／２の時間とに変更する。そして、決定部３２は、待機時間を経過する毎に、性能データ毎に所定の初期値に対して当該性能データの参照確率の値を加算して各性能データの緊急度を算出する。かかる緊急度の算出の一例としては、決定部３２は、各性能データの緊急度の初期値を１とする。そして、決定部３２は、待機時間を経過する毎に、緊急度に参照確率の値を加算する。これにより、各性能データの緊急度は、参照確率が高く、経過時間が長いほど大きな値として算出される。なお、決定部３２は、参照確率が閾値以上の性能データについて緊急度の算出を行うようにする。この閾値としては、例えば１０％とする。これにより、第１のサーバ装置２１では、参照確率が１０％未満の性能データを緊急度の算出対象から除外することができる。また、第１のサーバ装置２１では、参照確率が１０％未満の性能データを緊急度の算出対象から除外することにより、緊急度の算出する処理の負荷を低下させることができる。また、決定部３２は、待機時間を経過した際に性能データが後述する格納部３３の性能データ通知キュー３３ａに滞留している場合に、滞留している性能データについての緊急度に参照確率の値を加算するようにしてもよい。滞留していない性能データは、性能データ通知キュー３３ａに記憶されても速やかに格納される。これにより、第１のサーバ装置２１では、滞留していない性能データの緊急度が不用意に高くなることを防止できる。決定部３２は、各性能データの新たな緊急度を算出する毎に、算出したユーザの性能データ毎の緊急度を第３テーブル３０ｃに記憶させる。
【００４９】
決定部３２は、第３テーブル３０ｃに記憶された各ユーザの性能データ毎の緊急度、および第４テーブル３０ｄに記憶された性能データ毎の優先度を用いて各性能データの格納順を決定する。例えば、決定部３２は、第３テーブル３０ｃに記憶された各ユーザの性能データ毎の緊急度を読み込み、性能データ毎の緊急度を特定する。そして、決定部３２は、同じ性能データに対して緊急度が複数存在するものがあるかを判定する。決定部３２は、同じ性能データに対して緊急度が複数存在する場合、値の大きい緊急度を性能データに対する緊急度と特定する。決定部３２は、各性能データ毎に、特定した性能データの緊急度と第４テーブル３０ｄに記憶された優先度を乗算して格納順位度数を算出する。決定部３２は、算出した格納順位度数の大きい順に性能データの格納順位を決定し、決定した格納順位、性能データを送信するサーバ、性能データ、格納順位度数を第５テーブル３０ｅに記憶する。
【００５０】
格納部３３は、各サーバ装置２１から送信され、第１のサーバ装置２１で受信した性能データを性能データ通知キュー３３ａに記憶する。図９は、性能データ通知キューのデータ構成の一例を示す図である。図９に示すように、性能データを性能データ通知キュー３３ａには、受信した性能データを格納する領域３３ｂが設けられている。図９の例では、性能データ通知キュー３３ａの先頭の領域３３ｂにサーバ１の性能データＡ−１が記憶され、次の領域３３ｂにサーバ１の性能データＡ−２が記憶されていることを示す。また、図９の例では、性能データＡ−２の次の領域３３ｂにサーバ２の性能データＢ−１が記憶され、次の領域３３ｂにサーバ１の性能データＡ−３が記憶されていることを示す。
【００５１】
格納部３３は、第５テーブル３０ｅに記憶された各性能データの格納順位が更新されると、更新された格納順位に性能データを並び変える。また、格納部３３は、性能データを受信した場合、当該性能データの格納順位に対応する領域３３ｂがある場合、当該領域３３ｂに受信した性能データを格納する。また、格納部３３は、受信した性能データの格納順位に対応する領域３３ｂがない場合、格納順位に性能データを並び変える。格納部３３は、第１のサーバ装置２１で性能データの格納が可能な状態となると、先頭の領域に記憶された性能データから順に性能データ通知キュー３３ａに記憶された性能データを記憶装置４０へ順次格納する制御を行う。
【００５２】
操作実績生成部３４は、特定部３１からログアウトしたユーザが通知されると、第２のサーバ装置２３で生成される操作ログ４２にアクセスし、ログアウトしたユーザの操作ログ４２を読み出す。そして、操作実績生成部３４は、読み出した操作ログ４２により示される各性能データの参照順から、各性能データに次に何れの性能データが参照されたかを特定する。そして、操作実績生成部３４は、各性能データ毎に、次に性能データを参照した全参照回数に対する各性能データをそれぞれ次に参照された参照回数から、次に各性能データを参照する参照確率を算出する。また、操作実績生成部３４は、各性能データを参照した時刻から次の性能データを参照した時刻までを参照時間として、各性能データがそれぞれ参照された平均時間を算出する。操作実績生成部３４は、各性能データ毎に算出した平均時間および次に各性能データを参照する参照確率を記憶させた第２テーブル３０ｂを作成する。
【００５３】
図１０は、第２テーブルを作成する流れの一例を説明するための図である。図１０の例では、例えば、図８に示した操作ログ４２からログアウトしたユーザとしてユーザＡの操作ログ４２を読み出した場合を示している。図１０の例では、読み出したユーザＡの操作ログ４２から各性能データを参照する参照確率と平均時間を算出し、第２テーブル３０ｂを作成する。なお、作成された図１０に示す第２テーブル３０ｂは、図４と同様の内容であるため、説明を省略する。
【００５４】
参照パターン更新部３５は、第２テーブル３０ｂに記憶された各性能データ毎の平均時間および次に各性能データの参照確率を第１テーブル３０ａに反映させる。例えば、参照パターン更新部３５は、ログアウトしたユーザに対応する第１テーブル３０ａが存在しない場合、第１テーブル３０ａを生成し、第２テーブル３０ｂの各レコードを第１テーブル３０ａに格納する。また、参照パターン更新部３５は、ログアウトしたユーザに対応する第１テーブル３０ａが存在する場合、各性能データ毎に、第１テーブル３０ａと第２テーブル３０ｂの対応するフィールドの値を所定の比率で反映させた第１テーブル３０ａを作成する。例えば、参照パターン更新部３５は、第１テーブル３０ａと第２テーブル３０ｂの対応するフィールドの値に下記の演算を行って新しい第１テーブル３０ａの値とする。
第１テーブルの値＝(第１テーブルの値×α＋第２テーブルの値×β)÷（α＋β）
【００５５】
αおよびβは、過去の操作実績と、直近の操作実績のどちらを重んじるかを決定する係数である。α，βは、例えば、共に１とする。なお、図２の例では、機能的な構成を示したため、特定部３１と、決定部３２と、格納部３３と、操作実績生成部３４と、参照パターン更新部３５を別に分けているが、例えば、１つのデバイスで構成してもよい。デバイスの一例としては、ＣＰＵやＭＰＵなどの電子回路が挙げられる。なお、デバイスとして、ＡＳＩＣやＦＰＧＡなどの集積回路を採用することもできる。
【００５６】
一方、第２のサーバ装置２３は、記憶装置４０と、ユーザ操作記録部４１とを有している。記憶装置４０は、性能データを格納したデータベース４０ａを記憶する。ユーザ操作記録部４１はユーザから要求された内容を示す操作ログ４２を生成する。
【００５７】
次に、本実施例に係るシステム２０の処理の流れを説明する。図１１は、操作特定処理の手順を示すフローチャートである。この操作特定処理は、例えば、第１のサーバ装置２１が起動した後、常時実行される。
【００５８】
図１１に示すように、特定部３１は、第２のサーバ装置２３で生成される操作ログ４２を常時監視し、新たな操作ログ４２が追加されたか否かを判定する（ステップＳ１０）。新たな操作ログ４２が追加されていない場合（ステップＳ１０否定）、特定部３１は、再度ステップＳ１０へ移行して新たな操作ログ４２の追加待ちを行う。一方、新たな操作ログ４２が追加された場合（ステップＳ１０肯定）、特定部３１は、追加された新たな操作ログ４２を取得する（ステップＳ１１）。そして、特定部３１は、取得した操作ログ４２から操作を行ったユーザを特定する（ステップＳ１２）。特定部３１は、後述する操作ログ解析処理が起動済みであるか否かを判定する（ステップＳ１３）。操作ログ解析処理が未起動の場合（ステップＳ１３否定）、特定部３１は、操作ログ解析処理の起動を行う（ステップＳ１４）。そして、特定部３１は、新しい操作ログ４２を操作ログ解析処理に通知する（ステップＳ１５）。一方、操作ログ解析処理が起動済みである場合（ステップＳ１３肯定）、特定部３１は、上述のステップＳ１５の処理へ移行する。特定部３１は、第１のサーバ装置２１に対して終了が指示されたか否かを判定する（ステップＳ１６）。終了が指示されていない場合（ステップＳ１６否定）、特定部３１は、ステップＳ１０の処理へ移行する。一方、終了が指示された場合（ステップＳ１６肯定）、特定部３１は、処理を終了する。
【００５９】
図１２は、操作ログ解析処理の手順を示すフローチャートである。この操作ログ解析処理は、操作特定処理から起動が指示されたタイミングで実行される。
【００６０】
図１２に示すように、特定部３１は、操作特定処理から操作ログ４２が通知されたか否かを判定する（ステップＳ２０）。操作特定処理から操作ログ４２が通知されていない場合（ステップＳ２０否定）、特定部３１は、再度ステップＳ２０へ移行して操作ログ４２の通知待ちを行う。一方、操作特定処理から操作ログ４２が通知された場合（ステップＳ２０肯定）、特定部３１は、操作ログ４２に記録された操作がログアウト操作か否かを判定する（ステップＳ２１）。操作がログアウト操作ではない場合（ステップＳ２１否定）、特定部３１は、特定したユーザに対応する第１テーブル３０ａが記憶部３０に記憶されているか否かを判定する（ステップＳ２２）。特定したユーザに対応する第１テーブル３０ａが記憶されていない場合（ステップＳ２２否定）、特定部３１は、ステップＳ２０の処理へ移行する。一方、特定したユーザに対応する第１テーブル３０ａが記憶されている場合（ステップＳ２２肯定）、特定部３１は、後述する緊急度決定処理を起動し（ステップＳ２３）、ステップＳ２０へ移行する。一方、操作がログアウト操作である場合（ステップＳ２１肯定）、特定部３１は、後述する緊急度決定処理へ終了を通知する（ステップＳ２４）。そして、特定部３１は、ログアウトしたユーザを通知して後述する操作実績更新処理を起動し（ステップＳ２５）、処理を終了する。
【００６１】
図１３は、操作実績更新処理の手順を示すフローチャートである。この操作実績更新処理は、操作ログ解析処理から起動が指示されたタイミングで実行される。
【００６２】
図１３に示すように、操作実績生成部３４は、ログアウトしたユーザの操作ログ４２を読み出す（ステップＳ３０）。そして、操作実績生成部３４は、各性能データ毎にそれぞれ参照された平均時間および次に各性能データを参照する参照確率を算出し、各性能データ毎の平均時間および次に各性能データを参照する参照確率を記憶させた第２テーブル３０ｂを作成する（ステップＳ３１）。参照パターン更新部３５は、ログアウトしたユーザに対応する第１テーブル３０ａが存在するか否か判定する（ステップＳ３２）。第１テーブル３０ａが存在しない場合（ステップＳ３２否定）、参照パターン更新部３５は、第１テーブル３０ａを生成し、第２テーブル３０ｂの各レコードを第１テーブル３０ａに格納する（ステップＳ３３）。一方、第１テーブル３０ａが存在する場合（ステップＳ３２肯定）、参照パターン更新部３５は、各性能データ毎に、第１テーブル３０ａと第２テーブル３０ｂの対応するフィールドの値を所定の比率で反映させた第１テーブル３０ａを作成する（ステップＳ３４）。操作実績生成部３４は、第２のサーバ装置２３で生成される操作ログ４２からログアウトしたユーザの操作ログ４２を削除する（ステップＳ３５）。そして、操作実績生成部３４は、第２テーブル３０ｂを削除し（ステップＳ３６）、処理を終了する。
【００６３】
図１４は、緊急度決定処理の手順を示すフローチャートである。この緊急度決定処理は、操作ログ解析処理から起動が指示されたタイミングで実行される。
【００６４】
図１４に示すように、決定部３２は、サーバ、レコードの項目に各サーバ装置２１のマシーン名称、各性能データの性能データの名称を設定した、特定部３１により特定されたユーザの第３テーブル３０ｃを作成する（ステップＳ４０）。そして、決定部３２は、特定部３１により性能データを参照する操作が特定されたか否かを判定する（ステップＳ４１）。性能データを参照する操作が特定されない場合（ステップＳ４１否定）、決定部３２は、処理の終了が通知されたか否かを判定する（ステップＳ４２）。処理の終了が通知されていない場合（ステップＳ４２否定）、決定部３２は、ステップＳ４１へ移行する。一方、処理の終了が通知された場合（ステップＳ４２肯定）、決定部３２は、各ユーザの第３テーブル３０ｃを削除する（ステップＳ４３）。そして、決定部３２は、後述する優先度決定処理を起動し（ステップＳ４４）、処理を終了する。一方、性能データを参照する操作が特定された場合（ステップＳ４１肯定）、決定部３２は、特定部３１により特定されたユーザの第３テーブル３０ｃの全レコードを削除する（ステップＳ４５）。そして、決定部３２は、後述する緊急度算出処理を起動し（ステップＳ４６）、ステップＳ４１へ移行する。
【００６５】
図１５は、緊急度算出処理の手順を示すフローチャートである。この緊急度算出処理は、緊急度決定処理から起動が指示されたタイミングで実行される。
【００６６】
図１５に示すように、決定部３２は、記憶部３０に記憶された第１テーブル３０ａから、特定部３１により特定されたユーザおよび性能データに対応するレコードを読み出す（ステップＳ５０）。そして、決定部３２は、読み出したレコードから平均時間および次に参照した各性能データの参照確率を求める（ステップＳ５１）。決定部３２は、第３テーブル３０ｃの各サーバの各性能データの緊急度の項目に初期値として１を設定する（ステップＳ５２）。決定部３２は、待機時間Ｔに平均時間の１／２の時間を設定する（ステップＳ５３）。決定部３２は、待機時間Ｔを経過したか否かを判定する（ステップＳ５４）。待機時間Ｔを経過していない場合（ステップＳ５４否定）、決定部３２は、特定部３１により同じユーザの別な性能データに対する参照操作が特定されたか否かを判定する（ステップＳ５５）。別な性能データに対する参照操作が特定されない場合（ステップＳ５５否定）、決定部３２は、ステップＳ５４へ移行する。一方、別な性能データに対する参照操作が特定された場合（ステップＳ５５肯定）、決定部３２は、処理を終了する。一方、待機時間Ｔを経過した場合（ステップＳ５４肯定）、決定部３２は、第３テーブル３０ｃの性能データ毎に緊急度に対して当該性能データの参照確率の値を加算して各性能データの緊急度を更新する（ステップＳ５６）。決定部３２は、優先度決定処理を起動する（ステップＳ５７）。そして、決定部３２は、待機時間Ｔに待機時間Ｔの１／２の時間を更新する（ステップＳ５８）。決定部３２は、待機時間Ｔが所定の許容時間より短いか否かを判定する（ステップＳ５９）。この許容時間は、緊急度の更新を行う最も短い時間である。この許容時間は、例えば、０．５秒と定めている。待機時間Ｔが許容時間以上の場合（ステップＳ５９否定）、決定部３２は、ステップＳ５４へ移行する。一方、待機時間Ｔが所定の許容時間より短い場合（ステップＳ５９肯定）、決定部３２は、処理を終了する。これにより、待機時間Ｔの初期値が、例えば、３０秒であった場合、ステップＳ５４〜ステップ５９の処理が繰り返される毎に、待機時間Ｔは、３０秒、１５秒、７．５秒、・・・と更新される。また、更新時間Ｔを経過する毎に、各性能データの緊急度には、参照確率の値が加算される。
【００６７】
図１６は、優先度決定処理の手順を示すフローチャートである。この優先度決定処理は、緊急度決定処理および緊急度算出処理から起動が指示されたタイミングで実行される。
【００６８】
図１６に示すように、決定部３２は、記憶部３０に記憶された全ユーザの第３テーブル３０ｃを読み出し、性能データ毎の緊急度を特定する（ステップＳ６０）。決定部３２は、同じ性能データに対して緊急度が複数存在するものがあるか否かを判定する（ステップＳ６１）。同じ性能データに対して緊急度が複数存在する場合（ステップＳ６１肯定）、決定部３２は、値の大きい緊急度を性能データに対する緊急度と特定する（ステップＳ６２）。そして、決定部３２は、各性能データ毎に、特定した性能データの緊急度と第４テーブル３０ｄに記憶された優先度を乗算して格納順位度数を算出し、算出した格納順位度数の大きい順に性能データの格納順位を決定する（ステップＳ６３）。一方、同じ性能データに対して緊急度が複数存在しない場合（ステップＳ６１否定）、決定部３２は、上述のステップＳ６３へ移行する。決定部３２は、後述する性能データ格納処理へ格納順位の変更を通知し（ステップＳ６４）、処理を終了する。
【００６９】
図１７は、性能データ格納処理の手順を示すフローチャートである。この性能データ格納処理は、例えば、第１のサーバ装置２１が起動した後、常時実行される。
【００７０】
図１７に示すように、格納部３３は、第１のサーバ装置２１で性能データの格納が可能な状態か否か判定する（ステップＳ７０）。第１のサーバ装置２１が性能データの格納が可能な状態である場合（ステップＳ７０肯定）、格納部３３は、性能データ通知キュー３３ａの先頭の領域３３ｂに記憶された性能データから順に性能データを記憶装置４０へ順次格納する制御を行い（ステップＳ７１）、ステップＳ７０へ移行する。一方、第１のサーバ装置２１が性能データの格納が可能な状態ではない場合（ステップＳ７０否定）、格納部３３は、格納順位の変更が通知されたか否かを判定する（ステップＳ７２）。格納順位の変更が通知されていない場合（ステップＳ７２否定）、格納部３３は、第１のサーバ装置２１に対して終了が指示されたか否かを判定する（ステップＳ７３）。終了が指示されていない場合（ステップＳ７３否定）、格納部３３は、ステップＳ７０の処理へ移行する。一方、終了が指示された場合（ステップＳ７３肯定）、格納部３３は、処理を終了する。一方、格納順位の変更が通知された場合（ステップＳ７２肯定）、格納部３３は、第５テーブル３０ｅから各性能データの格納順位を読み出す（ステップＳ７４）。格納部３３は、変数Ｉおよび変数Ｊをそれぞれ１に初期化する（ステップＳ７５）。格納部３３は、性能データ通知キュー３３ａの各性能データを別な記憶領域に待避する（ステップＳ７６）。格納部３３は、待避した全ての性能データの並び変えが完了したか否かを判定する（ステップＳ７７）。並び変えが完了した場合（ステップＳ７７肯定）、格納部３３は、ステップＳ７０へ移行する。一方、並び変えが完了していない場合（ステップＳ７７否定）、格納部３３は、待避した性能データに格納順位がＪの値の性能データがあるか否かを判定する（ステップＳ７８）。格納順位が変数Ｊの値の性能データがない場合（ステップＳ７８否定）、格納部３３は、変数Ｊの値をインクリメントし（ステップＳ７９）、ステップＳ７７へ移行する。一方、格納順位が変数Ｊの値の性能データがある場合（ステップＳ７８肯定）、格納部３３は、格納順位が変数Ｊの値の性能データを、性能データ通知キュー３３ａの変数Ｉ番目の領域に格納する（ステップＳ８０）。格納部３３は、変数Ｉの値をインクリメントし（ステップＳ８１）、ステップＳ７７へ移行する。
【００７１】
図１８は、通知キュー格納処理の手順を示すフローチャートである。この通知キュー格納処理は、例えば、サーバ装置２１から性能データを受信したタイミングで実行される。
【００７２】
図１８に示すように、格納部３３は、受信した性能データの格納順位に応じた格納領域があるか否か判定する（ステップＳ９０）。格納領域がある場合（ステップＳ９０肯定）、格納部３３は、格納順位に応じた格納領域に受信した性能データを格納し（ステップＳ９１）、処理を終了する。一方、格納領域がない場合（ステップＳ９０否定）、格納部３３は、第５テーブル３０ｅに、受信した性能データに対応する格納順位があるか否か判定する（ステップＳ９２）。格納順位がない場合（ステップＳ９２否定）、格納部３３は、受信した性能データの格納順位を最下位とする（ステップＳ９３）。一方、格納順位がある場合（ステップＳ９２肯定）、格納部３３は、第５テーブル３０ｅから各性能データの格納順位を読み出す（ステップＳ９４）。格納部３３は、変数Ｉおよび変数Ｊをそれぞれ１に初期化する（ステップＳ９５）。格納部３３は、性能データ通知キュー３３ａの各性能データを別な記憶領域に待避する（ステップＳ９６）。格納部３３は、待避した全ての性能データの並び変えが完了したか否かを判定する（ステップＳ９７）。並び変えが完了した場合（ステップＳ９７肯定）、格納部３３は、処理を終了する。一方、並び変えが完了していない場合（ステップＳ９７否定）、格納部３３は、待避した性能データに格納順位がＪの値の性能データがあるか否かを判定する（ステップＳ９８）。格納順位が変数Ｊの値の性能データがない場合（ステップＳ９８否定）、格納部３３は、変数Ｊの値をインクリメントし（ステップＳ９９）、ステップＳ９７へ移行する。一方、格納順位が変数Ｊの値の性能データがある場合（ステップＳ９８肯定）、格納部３３は、格納順位が変数Ｊの値の性能データを、性能データ通知キュー３３ａの変数Ｉ番目の領域に格納する（ステップＳ１００）。格納部３３は、変数Ｉの値をインクリメントし（ステップＳ１０１）、ステップＳ９７へ移行する。
【００７３】
上述してきたように、本実施例に係る第１のサーバ装置２２は、クライアント装置２４のユーザごとに、当該ユーザが参照した性能データに対応付けて当該性能データの参照時間を第１テーブル３０ａに記憶する。また、クライアント装置２４は、クライアント装置２４のユーザごとに、当該ユーザが参照した性能データに対応付けて当該性能データの次に参照した各性能データの参照確率を第１テーブル３０ａに記憶する。さらに、第１のサーバ装置２２は、記憶装置４０に記憶された性能データを参照しているクライアント装置２４のユーザおよび当該性能データを特定する。そして、第１のサーバ装置２２は、第１テーブル３０ａを参照し、特定されたクライアント装置および性能データに対応する参照時間に対する特定してからの経過時間を求める。また、第１のサーバ装置２２は、第１テーブル３０ａを参照し、特定されたクライアント装置および性能データに対応する次に参照した各性能データの参照確率を求める。そして、第１のサーバ装置２２は、特定してからの経過時間および、次に参照した各性能データの参照確率に基づいて、サーバ装置２１から送信された性能データを記憶装置４０へ格納する格納順位を決定する。これにより、第１のサーバ装置２２は、クライアント装置２４が次に参照する性能データが優先して格納されるように格納順位を決定する。よって、第１のサーバ装置２２によれば、ユーザが参照する性能データの格納に遅延が発生することを抑制できる。
【００７４】
また、本実施例に係る第１のサーバ装置２２は、性能データ毎の優先度を第４テーブル３０ｄにさらに記憶する。また、第１のサーバ装置２２は、参照確率が高く、参照時間に対する経過時間の割合が大きいほど大きな値として各性能データの緊急度を算出する。そして、第１のサーバ装置２２は、性能データ毎に、算出された緊急度と記憶部に記憶された優先度を乗算した値の大きい順に格納順位を決定する。これにより、第１のサーバ装置２２は、重要度が低い性能データも、参照確率が高く、参照時間に対する経過時間の割合が大きいほど大きな値として緊急度が算出されて格納順位が高くなる。よって、第１のサーバ装置２２によれば、重要度が低い性能データもユーザによって参照されるまでに遅延を抑えて格納することがきる。
【００７５】
また、本実施例に係る第１のサーバ装置２２は、特定部３１によりユーザおよび性能データを特定してからの経過時間が待機時間を経過する毎に次の待機時間をより短い時間に変更する。そして、第１のサーバ装置２２は、待機時間を経過する毎に、性能データ毎に所定の初期値に対して当該性能データの参照確率の値を加算して各性能データの緊急度を算出する。これにより、第１のサーバ装置２２は、経過時間が長く、参照されるタイミングが近づくほど緊急度が高くなる。よって、第１のサーバ装置２２によれば、参照されるタイミングが近い性能データほど、優先して格納することがきる。
【００７６】
また、第１のサーバ装置２２は、重要度、及びユーザごとの参照特性から算出した緊急度という二つの指標を使って優先度を決定することにより、各ユーザが参照する性能データを優先して格納する。よって、第１のサーバ装置２２によれば、多数のユーザが効率的に性能データを参照できるため、全体のサービスレベルを向上させることができる。
【実施例３】
【００７７】
さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００７８】
例えば、上記の実施例２では、性能データ通知キュー３３ａに格納された各性能データを格納順位の順に並び変える場合について説明したが、開示の装置はこれに限定されない。例えば、性能データを格納する領域３３ｂに次の性能データの記憶位置を示すアドレス領域を設け、アドレス領域の情報を更新することにより、各性能データを格納順位の順に並び変えてもよい。図１９は、性能データ通知キューの他のデータ構成の一例を示す図である。性能データ通知キュー３３ａの各領域３３ｂには、アドレス領域３３ｃが設けられている。例えば、性能データ通知キュー３３ａは、３つのサーバ１の性能データＡ−１、サーバ１の性能データＡ−２、サーバ２の性能データＢ−１が格納されている。この状態においてさらに、格納順位が２位のサーバ１の性能データＡ−３を格納する場合、格納部３３は、例えば、サーバ１の性能データＡ−３を４つ目の領域３３ｂに格納する。そして、格納部３３は、先頭の領域３３ｂのアドレス領域３３ｃに、次の性能データとしてサーバ１の性能データＡ−３が格納された領域３３ｂのアドレスを記憶させる。また、格納部３３は、性能データＡ−３が格納された領域３３ｂのアドレス領域３３ｃに、サーバ１の性能データＡ−２が格納された領域３３ｂのアドレスを記憶させる。また、格納部３３は、サーバ１の性能データＡ−２が格納された領域３３ｂのアドレス領域３３ｃに、サーバ２の性能データＢ−１が格納された領域３３ｂのアドレスを記憶させる。これにより、物理的な格納順を変えることなく、格納順位の順に性能データを並び変えることができる。
【００７９】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図２に示す、特定部３１と決定部３２と格納部３３や、操作実績生成部３４と参照パターン更新部３５などが統合されてもよい。
【００８０】
［データ格納制御プログラム］
また、上記の実施例で説明したデータ格納制御装置の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図２０を用いて、上記の実施例で説明したデータ格納制御装置と同様の機能を有するデータ格納制御プログラムを実行するコンピュータの一例を説明する。図２０は、データ格納制御プログラムを実行するコンピュータを示す図である。
【００８１】
図２０に示すように、コンピュータ３００は、ＣＰＵ（Central  Processing  Unit）３１０、ＲＯＭ（Read  Only  Memory）３２０、ＨＤＤ（Hard  Disk  Drive）３３０、ＲＡＭ（Random  Access  Memory）３４０を有する。これら３００〜３４０の各部は、バス４００を介して接続される。
【００８２】
ＲＯＭ３２０には、上記の実施例１に示す決定部１２と同様の機能、または上記の実施例２に示す特定部３１、決定部３２、格納部３３、操作実績生成部３４、および参照パターン更新部３５と同様の機能を発揮するデータ格納制御プログラム３２０ａが予め記憶される。なお、データ格納制御プログラム３２０ａについては、適宜分離しても良い。
【００８３】
そして、ＣＰＵ３１０が、データ格納制御プログラム３２０ａをＲＯＭ３２０から読み出して実行する。
【００８４】
そして、ＨＤＤ３３０には、第１テーブル、第２テーブル、第３テーブル、第４テーブルおよび第５テーブルが設けられる。第１テーブル、第２テーブル、第３テーブル、第４テーブルおよび第５テーブルのそれぞれは、図２に示した、第１テーブル３０ａ、第２テーブル３０ｂ、第３テーブル３０ｃ、第４テーブル３０ｄおよび第５テーブル３０ｅに対応する。
【００８５】
そして、ＣＰＵ３１０は、第１テーブル、第２テーブル、第３テーブル、第４テーブルおよび第５テーブルを読み出してＲＡＭ３４０に格納する。ＣＰＵ３１０は、ＲＡＭ３４０に格納された第１テーブル、第２テーブル、第３テーブル、第４テーブルおよび第５テーブルを用いて、データ格納制御プログラム３２０ａを実行する。なお、ＲＡＭ３４０に格納される各データは、常に全てのデータがＲＡＭ３４０に格納される必要はなく、処理に必要なデータのみがＲＡＭ３４０に格納されれば良い。
【００８６】
なお、上記したデータ格納制御プログラム３２０ａについては、必ずしも最初からＨＤＤ３３０に記憶させておく必要はない。
【００８７】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【００８８】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【００８９】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
【００９０】
（付記１）複数種類の性能データそれぞれについて、ある種類の性能データの次に参照された割合を記憶する記憶部と、
クライアント装置が前記ある種類の性能データを参照した場合に、前記記憶部に記憶した前記複数種類の性能データそれぞれについての前記割合に基づいて、サーバ装置から収集した前記複数種類の性能データを記憶装置へ格納する格納順位を決定する決定部と
を有するデータ格納制御装置。
【００９１】
（付記２）前記記憶部は、前記性能データそれぞれについて、参照時間、優先度をさらに記憶し、
前記決定部は、前記参照された割合が高く、参照時間に対する経過時間の割合が大きいほど大きな値として各性能データの緊急度を算出し、前記性能データ毎に、算出された緊急度と前記記憶部に記憶された優先度を乗算した値の大きい順に格納順位を決定する
ことを特徴とする付記１記載のデータ格納制御装置。
【００９２】
（付記３）  前記決定部は、クライアント装置が前記ある種類の性能データを参照してからの経過時間が待機時間を経過する毎に次の待機時間をより短い時間に変更し、待機時間を経過する毎に、性能データ毎に所定の初期値に対して当該性能データの参照された割合の値を加算して各性能データの緊急度を算出する
ことを特徴とする付記２記載のデータ格納制御装置。
【００９３】
（付記４）コンピュータに、
前記記憶部に記憶された、複数種類の性能データそれぞれについて、ある種類の性能データの次に参照された割合に基づいて、クライアント装置が前記ある種類の性能データを参照した場合に、サーバ装置から収集した前記複数種類の性能データを記憶装置へ格納する格納順位を決定する
処理を実行させることを特徴とするデータ格納制御プログラム。
【００９４】
（付記５）前記格納順位を決定する処理は、前記参照された割合が高く、前記記憶部に記憶された参照時間に対する経過時間の割合が大きいほど大きな値として各性能データの緊急度を算出し、前記性能データ毎に、算出された緊急度と前記記憶部に記憶された優先度を乗算した値の大きい順に格納順位を決定する
ことを特徴とする付記４記載のデータ格納制御プログラム。
【００９５】
（付記６）前記格納順位を決定する処理は、クライアント装置が前記ある種類の性能データを参照してからの経過時間が待機時間を経過する毎に次の待機時間をより短い時間に変更し、待機時間を経過する毎に、性能データ毎に所定の初期値に対して当該性能データの参照された割合の値を加算して各性能データの緊急度を算出する
ことを特徴とする付記５記載のデータ格納制御プログラム。
【００９６】
（付記７）コンピュータが、
前記記憶部に記憶された、複数種類の性能データそれぞれについて、ある種類の性能データの次に参照された割合に基づいて、クライアント装置が前記ある種類の性能データを参照した場合に、サーバ装置から収集した前記複数種類の性能データを記憶装置へ格納する格納順位を決定する
処理を実行することを特徴とするデータ格納制御方法。
【００９７】
（付記８）前記格納順位を決定する処理は、前記参照された割合が高く、前記記憶部に記憶された参照時間に対する経過時間の割合が大きいほど大きな値として各性能データの緊急度を算出し、前記性能データ毎に、算出された緊急度と前記記憶部に記憶された優先度を乗算した値の大きい順に格納順位を決定する
ことを特徴とする付記７記載のデータ格納制御方法。
【００９８】
（付記９）前記格納順位を決定する処理は、クライアント装置が前記ある種類の性能データを参照してからの経過時間が待機時間を経過する毎に次の待機時間をより短い時間に変更し、待機時間を経過する毎に、性能データ毎に所定の初期値に対して当該性能データの参照された割合の値を加算して各性能データの緊急度を算出する
ことを特徴とする付記８記載のデータ格納制御方法。
【符号の説明】
【００９９】
１０    データ格納制御装置
１１    記憶部
１２    決定部
１３    サーバ装置
１４    記憶装置
１５    クライアント装置
２１    サーバ装置
２２    第１のサーバ装置
２３    第２のサーバ装置
２４    クライアント装置
３０ａ  第１テーブル
３０ｂ  第２テーブル
３０ｃ  第３テーブル
３０ｄ  第４テーブル
３０ｅ  第５テーブル
３０  記憶部
３１  特定部
３２  決定部
３３ａ  性能データ通知キュー
４０    記憶装置
【図１】
0005747770.tif 000002
【図２】
0005747770.tif 000003
【図３】
0005747770.tif 000004
【図４】
0005747770.tif 000005
【図５】
0005747770.tif 000006
【図６】
0005747770.tif 000007
【図７】
0005747770.tif 000008
【図８】
0005747770.tif 000009
【図９】
0005747770.tif 000010
【図１０】
0005747770.tif 000011
【図１１】
0005747770.tif 000012
【図１２】
0005747770.tif 000013
【図１３】
0005747770.tif 000014
【図１４】
0005747770.tif 000015
【図１５】
0005747770.tif 000016
【図１６】
0005747770.tif 000017
【図１７】
0005747770.tif 000018
【図１８】
0005747770.tif 000019
【図１９】
0005747770.tif 000020
【図２０】
0005747770.tif 000021