JP5664315B2 - 管理装置、管理プログラムおよび管理方法 - Google Patents

管理装置、管理プログラムおよび管理方法 Download PDF

Info

Publication number
JP5664315B2
JP5664315B2 JP2011030224A JP2011030224A JP5664315B2 JP 5664315 B2 JP5664315 B2 JP 5664315B2 JP 2011030224 A JP2011030224 A JP 2011030224A JP 2011030224 A JP2011030224 A JP 2011030224A JP 5664315 B2 JP5664315 B2 JP 5664315B2
Authority
JP
Japan
Prior art keywords
data
index
queue
label
reached
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011030224A
Other languages
English (en)
Other versions
JP2012168815A (ja
JP2012168815A5 (ja
Inventor
飯塚 史之
史之 飯塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011030224A priority Critical patent/JP5664315B2/ja
Priority to US13/314,457 priority patent/US8935503B2/en
Publication of JP2012168815A publication Critical patent/JP2012168815A/ja
Publication of JP2012168815A5 publication Critical patent/JP2012168815A5/ja
Application granted granted Critical
Publication of JP5664315B2 publication Critical patent/JP5664315B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、管理装置、管理プログラムおよび管理方法に関する。
従来、ネットワークの測定データや、サーバシステムのリソース測定データをデータベース(Data Base)に格納し、各測定データの種類に応じた期間、データベースに保存する管理装置が存在する。例えば、このような管理装置は、1分毎に集計された測定データをデータベースに3ヶ月間保存するように測定データの保存期間を管理したり、1時間毎に集計された測定データをデータベースに1年間保存するように測定データの保存期間を管理したりする。他の例では、このような管理装置は、1日毎に集計された測定データをデータベースに3年間保存するように測定データの保存期間を管理する。また、このような管理装置は、重要な測定データについては、集計期間にかかわらず、期間を定めず無期限にデータベースに保存するように測定データを管理する。
ネットワークや、サーバシステムの管理者は、障害などが発生した場合には、データベースに保存された測定データの内容を確認することで、障害などの発生原因を特定する。また、管理装置は、保存期間が過ぎた測定データを、データベースから削除する。
特開平9−16440号公報 特開平8−77332号公報 特開平10−301817号公報 特開平10−11330号公報
しかしながら、上記の従来の技術では、データベースの未使用の記憶領域である余剰保存領域を有効に使用できないという問題がある。例えば、データベースに保存する測定データの保存期間を予め定めると、データベースの記憶領域の中に、余剰保存領域が存在する場合がある。このような場合には、この余剰保存領域に測定データが保存されないので、余剰保存領域を有効に使用できない。
ここで、なぜこのような余剰保存領域が必要であるか、その理由の1つを次に説明する。すなわち、保存する測定データのサイズが大きくなっても、測定データを保存する領域として余剰保存領域をさらに用いることで、各種の測定データの保存期間をより確実に確保するため、という理由が1つとして挙げられる。
ここで、1日毎に集計された測定データである「日毎データ」、1時間毎に集計された測定データである「時毎データ」、1分毎に集計された測定データである「分毎データ」、上記の重要な測定データである「重要データ」を例に挙げて、図36を参照して説明する。
図36は、従来の技術の問題点を説明するための図である。図36の例は、データベースに、「日毎データ」、「時毎データ」、「分毎データ」、「重要データ」が記憶されていることを示す。また、図36の例では、「日毎データ」、「時毎データ」、「分毎データ」、「重要データ」の保存期間が、それぞれ3年、1年、3ヶ月、無期限である場合が示されている。図36には、「日毎データ」、「時毎データ」、「分毎データ」、「重要データ」の保存期間を、それぞれ3年、1年、3ヶ月、無期限とすると、データベースの記憶領域90中に、未使用の記憶領域である余剰保存領域91が存在する場合が例示されている。
このように、従来の技術では、データベースに保存する測定データの保存期間を予め定めると、データベースの未使用の記憶領域である余剰保存領域を有効に使用できないという問題がある。
なお、余剰保存領域が存在しないように、データベースの記憶領域全体を各測定データ毎に分配し、各領域に各測定データを保存すると、いずれかの測定データのサイズが大きくなる場合に、記憶領域の余裕がないため、次のような問題が生じることがある。
すなわち、予め定められた保存期間を満たすように、測定データを保存できなくなる問題が生じることがある。この問題について、具体例を挙げて説明する。図37は、データベースの記憶領域全体を各測定データで分配し、各領域に各測定データを保存する場合の問題点を説明するための図である。
図37の例は、データベースに、「日毎データ」、「時毎データ」、「分毎データ」、「重要データ」が記憶されていることを示す。また、図37の例は、余剰保存領域が存在しないように、データベースの記憶領域90A全体を、「日毎データ」、「時毎データ」、「分毎データ」、「重要データ」の保存期間が、それぞれ4.5年、1.5年、4.5ヶ月、無期限となるように分配した場合を示す。このような場合に、所定の運用条件、例えば、「分毎データ」については保存期間4.5ヶ月の間は、必ず保存するという条件を満たす運用を管理装置が行い、図37に示すように「分毎データ」のサイズが大きくなると、次のような問題が生じることがある。すなわち、「日毎データ」、「時毎データ」の保存期間が2.4年、0.8年となってしまい、最低限の保存期間である3年、1年の期間を満たすように、「日毎データ」、「時毎データ」を保存できなくなるという問題が生じることがある。
1つの側面では、余剰保存領域を有効に使用することができる管理装置、管理プログラムおよび管理方法を提供することを目的とする。
第1の案では、管理装置が、格納部と、判定部と、削除部とを有する。第1の格納部は、記憶部に、データを格納する。第2の格納部は、第1の格納部により格納されたデータの保存期間が、データ種別ごとに定められた保存期間に達した場合に、データを、記憶部の第2の記憶領域に格納する。削除部は、第2の記憶領域に格納されたデータのサイズが、データ種別ごとに定められた閾値に達した場合に、閾値に達したデータ種別のデータのサイズが閾値より小さくなるように、閾値に達したデータ種別のデータを第2の記憶領域から削除する。
余剰保存領域を有効に使用することができる。
図1は、実施例1に係る管理装置が適用されるシステムの全体構成図の一例を示す図である。 図2は、分毎データの一例を示す図である。 図3は、時毎データの一例を示す図である。 図4は、日毎データの一例を示す図である。 図5は、実施例1に係るデータ保存装置の構成の一例を示す図である。 図6は、測定データDBの保存内容の一例を示す図である。 図7は、実施例1に係る管理装置の構成を示すブロック図である。 図8は、インデクスおよび第1のキューラベルの一例を説明するための図である。 図9は、インデクスおよび第1のキューラベルの一例を説明するための図である。 図10は、インデクスおよび第1のキューラベルの一例を説明するための図である。 図11は、インデクスおよび第1のキューラベルの一例を説明するための図である。 図12は、インデクスおよび第1のキューラベルの一例を説明するための図である。 図13は、インデクスおよび第1のキューラベルの一例を説明するための図である。 図14は、第2のキューラベルの一例を説明するための図である。 図15は、第2のキューラベルの一例を説明するための図である。 図16は、第2のキューラベルの一例を説明するための図である。 図17は、第2のキューラベルの一例を説明するための図である。 図18は、第2のキューラベルの一例を説明するための図である。 図19は、第2のキューラベルの一例を説明するための図である。 図20は、設定表の一例を示す図である。 図21は、管理装置の動作の一例を模式的に示す図である。 図22は、実施例1に係る格納処理の手順を示すフローチャートである。 図23は、実施例1に係る分毎データの第1の判定処理の手順を示すフローチャートである。 図24は、実施例1に係る時毎データの第1の判定処理の手順を示すフローチャートである。 図25は、実施例1に係る日毎データの第1の判定処理の手順を示すフローチャートである。 図26は、実施例1に係る第2の判定処理の手順を示すフローチャートである。 図27は、実施例1に係る削除処理の手順を示すフローチャートである。 図28は、実施例2に係る管理装置の構成を示すブロック図である。 図29は、実施例2に係るインデクス、第3のキューラベル、ダミーインデクスの一例を説明するための図である。 図30は、管理装置の動作の一例を模式的に示す図である。 図31は、実施例2に係る格納処理の手順を示すフローチャートである。 図32は、実施例2に係る第3の判定処理の手順を示すフローチャートである。 図33は、実施例2に係る削除処理の手順を示すフローチャートである。 図34は、管理プログラムを実行するコンピュータを示す図である。 図35は、管理プログラムを実行するコンピュータを示す図である。 図36は、従来の技術の問題点を説明するための図である。 図37は、データベースの記憶領域全体を各測定データで分配し、各領域に各測定データを保存する場合の問題点を説明するための図である。
以下に、本願の開示する管理装置、管理プログラムおよび管理方法の各実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[システム構成]
実施例1に係る管理装置について説明する。図1は、実施例1に係る管理装置が適用されるシステムの全体構成図の一例を示す図である。本実施例に係る管理装置10は、ネットワーク上のデータ、およびサーバからのデータの保存期間を管理する装置である。
図1に示すように、システム1は、管理装置10、ユーザ端末11、サービスシステム12、ネットワーク情報収集装置13、サーバ情報収集装置14、運用管理装置15、データ保存装置16、システム管理者用端末17を有する。
ユーザ端末11は、サービスシステム12によるサービスを受けるための端末である。ユーザ端末11は、サービスを受けるための指示をユーザから受け付ける受付部、およびサービスシステム12からのコンテンツをWebブラウザに表示する表示部を有する。受付部のデバイスの一例としては、ユーザの指示を受け付けるキーボードやマウスなどが挙げられる。表示部のデバイスの一例としては、サービスシステム12からのコンテンツを表示出力するLCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)などが挙げられる。ユーザ端末11は、ユーザの指示を受け付けると、受け付けたユーザの指示をサービスシステム12に送信する。
サービスシステム12は、ユーザの指示に応じた情報処理を実行し、情報処理の処理結果をユーザ端末11に送信することで、ユーザの指示に応じたサービスをユーザに提供する。サービスシステム12は、ルータ12a、Webサーバ12b_1〜3、AP(Application)サーバ12c_1〜3、DB(DataBase)サーバ12d_1、2を有する。なお、図1の例では、Webサーバ、APサーバ、DBサーバのそれぞれの台数が、3台、3台、2台の場合が示されているが、各サーバの台数はこれに限られず、任意の値を採ることができる。また、以下の説明において、Webサーバの各々を区別して説明する必要がない場合には、単に「Webサーバ12b」と表記する。同様に、APサーバの各々、DBサーバの各々についても、区別して説明する必要がない場合には、単に「APサーバ12c」、「DBサーバ12d」と表記する。
ルータ12aは、ユーザ端末11と、Webサーバ12bとの通信を行う。また、ルータ12aは、いわゆるポートミラーリング機能を有する。例えば、ルータ12aは、Webサーバ12bに接続されたポートを経由するデータをコピーし、コピーしたデータに「重要データ」であることを示す情報を付加してネットワーク情報収集装置13に送信する。これにより、ネットワーク上を流れるデータを、ネットワーク情報収集装置13が収集可能となる。
Webサーバ12bは、Webブラウザで閲覧されるコンテンツを提供する。例えば、Webサーバ12bは、APサーバ12cから情報処理の処理結果を受信すると、処理結果を示すコンテンツを、ルータ12aを介してユーザ端末11に送信する。また、Webサーバ12bは、ルータ12aを介してユーザ端末11からユーザの指示を受信した場合には、指示が示す情報処理を実行するようにAPサーバ12cに要求する。また、Webサーバ12bは、運用管理装置15の指示によって、自身の状態を稼働状態、待機状態、休止状態のいずれかの状態に切り替える。
また、Webサーバ12bは、1分間隔で、1分間の間に受信したパケット数、1分間の間のCPU負荷の平均値を算出し、算出した測定データを「分毎データ」としてサーバ情報収集装置14に送信する。図2は、分毎データの一例を示す図である。図2の例の分毎データは、パケット数およびCPU負荷を算出した日時が「2010年8月10日10時」であり、測定対象のサーバの名称が「Web1」であり、算出したCPU負荷が「70%」、1分間の間に受信したパケット数が「50」であることを示す。
APサーバ12cは、Webサーバ12bから要求された情報処理を実行する。また、APサーバ12cは、実行した情報処理の処理結果をWebサーバ12bに送信する。また、APサーバ12cは、Webサーバ12bから要求された情報処理に応じて、必要なデータを取得するために、データベースへのアクセス要求をDBサーバ12dに行う。また、APサーバ12cは、運用管理装置15の指示によって、サーバ自身の状態を稼働状態、待機状態、休止状態のいずれかの状態に切り替える。
また、APサーバ12cは、1時間間隔で、1時間の間に受信したパケット数、1時間のCPU負荷の平均値を算出し、算出した測定データを「時毎データ」としてサーバ情報収集装置14に送信する。図3は、時毎データの一例を示す図である。図3の例の時毎データは、パケット数およびCPU負荷を算出した日時が「2010年8月10日10時5分」であり、測定対象のサーバの名称が「AP1」であり、算出したCPU負荷が「50%」、1時間の間に受信したパケット数が「10」であることを示す。
DBサーバ12dは、APサーバ12cからデータベースへのアクセス要求を受け付けた場合に、データベースへのアクセスを管理する。また、DBサーバ12dは、運用管理装置15の指示によって、サーバ自身の状態を稼働状態、待機状態、休止状態のいずれかの状態に切り替える。
また、DBサーバ12dは、1日間隔で、この1日の間に受信したパケット数、1日のCPU負荷の平均値を算出し、算出した測定データを「日毎データ」としてサーバ情報収集装置14に送信する。図4は、日毎データの一例を示す図である。図4の例の日毎データは、パケット数およびCPU負荷を算出した日時が「2010年8月10日12時」であり、測定対象のサーバの名称が「DB1」であり、算出したCPU負荷が「5%」、1日の間に受信したパケット数が「2」であることを示す。
ネットワーク情報収集装置13は、ネットワーク上を流れるデータを収集する。例えば、ネットワーク情報収集装置13は、上述したように、ルータ12aから、Webサーバ12bに接続されたポートを経由するデータを収集する。また、ネットワーク情報収集装置13は、収集したデータを管理装置10に送信する。なお、ネットワーク情報収集装置13は、データを管理装置10に送信する際の日時を、送信するデータに含める処理を行った後、日時が含まれたデータを管理装置10に送信する。
サーバ情報収集装置14は、サーバからの測定データを収集する。例えば、サーバ情報収集装置14は、Webサーバ12b、APサーバ12c、DBサーバ12dから送信された測定データを収集する。また、サーバ情報収集装置14は、収集したデータを管理装置10に送信する。
運用管理装置15は、各サーバの運用を管理する。例えば、運用管理装置15は、システム管理者用端末17からの状態変更指示を受信し、受信した状態変更指示に基づいて、状態を変更させるサーバに対して、状態変更指示が示す状態に切り替える指示を送信する。
データ保存装置16は、各種データを保存する。図5は、実施例1に係るデータ保存装置の構成の一例を示す図である。図5に示すように、データ保存装置16は、少なくとも記憶部16aを有する。記憶部16aは、測定データDB16bを記憶する。この測定データDB16bには、管理装置10およびシステム管理者用端末17がアクセス可能である。
測定データDB16bには、各種データが、データ種別ごとに定められた保存期間が経過した後、データ種別ごとに定められた閾値に、データサイズが達するまで保存される。例えば、測定データDB16bには、まずは、「分毎データ」が、「日時」が示す日から3ヶ月間保存される。また、測定データDB16bには、まずは、「時毎データ」が、「日時」が示す日から1年間保存される。また、測定データDB16bには、まずは、「日毎データ」が、「日時」が示す日から3年間保存される。なお、「重要データ」については、測定データDB16bに、期限の定めなく無期限に保存される。
測定データDB16bには、後述の格納部22aにより、ネットワーク情報収集装置13からのネットワーク情報を流れるデータ、およびサーバ情報収集装置14からの測定データが格納される。そして、データ種別ごとに定められた保存期間が経過した場合には、測定データDB16bに保存されたデータは、後述の判定部22cにより、データのサイズがデータ種別ごとに定められた閾値に達したと判定された場合に、次のように処理される。すなわち、後述の削除部22dにより、測定データDB16bから削除される。
ここで、上記の閾値の算出方法の一例について説明する。まず、測定データDB16bの全記憶容量から、測定データDB16bに保存された「重要データのサイズ」と「分毎データのサイズ」と「時毎データのサイズ」と「日時データのサイズ」との和を減じた値を余剰保存領域の大きさとする。ここで、「全記憶容量」、「重要データのサイズ」、「分毎データのサイズ」、「時毎データのサイズ」、「日時データのサイズ」、「余剰保存領域のサイズ」をそれぞれ、A、B、C、D、E、Fとすると、次の関係を満たす。すなわち、F=A−(B+C+D+E)となる。そして、余剰保存領域を、「分毎データ」、「時毎データ」、「日時データ」のそれぞれに、所定の比率で割り当てた値を、閾値として算出する。例えば、余剰保存領域の大きさを「分毎データ」、「時毎データ」、「日時データ」のそれぞれに、2:2:1の比率で割り当てた場合には、余剰保存領域には、次のように「分毎データ」が保存される。すなわち、余剰保存領域には、「分毎データ」が、そのサイズが余剰保存領域の大きさの2/5に達するまで保存される。また、余剰保存領域には、「時毎データ」が、そのサイズが余剰保存領域の大きさの2/5に達するまで保存される。また、余剰保存領域には、「日毎データ」が、そのサイズが余剰保存領域の大きさの1/5に達するまで保存される。なお、システムの設計者などは、データ種別の重要度などに応じて、重要なデータほど長く保存されるように、比率を設定することができる。例えば、設計者などは、重要なデータほど、比率を大きく設定することができる。
このように、測定データDB16bの全記憶領域が、各種データを保存するために使用される。そのため、各種データを保存する際に、余剰保存領域も使用される。このように、本実施例では、余剰保存領域も有効に使用される。
図6は、測定データDBの保存内容の一例を示す図である。図6の例は、パケット数およびCPU負荷を算出した日時が「2010年8月10日10時」であり、データ種別が「分毎データ」であるデータが、測定データDB16bのシーケンス番号「1」のレコードに保存されていることを示す。また、図6の例では、測定データDB16bのシーケンス番号「1」のレコードには、サーバ「Web1」が算出したCPU負荷が「70%」、1分の間に受信したパケット数が「20」であることを示す「分毎データ」が保存されていることを示す。
また、図6の例は、パケット数およびCPU負荷を算出した日時が「2010年8月10日10時」であり、データ種別が「分毎データ」であるデータが、測定データDB16bのシーケンス番号「2」のレコードに保存されていることを示す。また、図6の例では、測定データDB16bのシーケンス番号「2」のレコードには、サーバ「Web2」が算出したCPU負荷が「65%」、1日の間に受信したパケット数が「15」であることを示す「分毎データ」が保存されていることを示す。
また、図6の例は、パケット数およびCPU負荷を算出した日時が「2010年8月10日10時」であり、データ種別が「分毎データ」であるデータが、測定データDB16bのシーケンス番号「3」のレコードに保存されていることを示す。また、図6の例では、測定データDB16bのシーケンス番号「3」のレコードには、サーバ「Web3」が算出したCPU負荷が「10%」、1日の間に受信したパケット数が「1」であることを示す「分毎データ」が保存されていることを示す。
また、図6の例は、パケット数およびCPU負荷を算出した日時が「2010年8月10日10時5分」であり、データ種別が「時毎データ」であるデータが、測定データDB16bのシーケンス番号「4」のレコードに保存されていることを示す。また、図6の例では、測定データDB16bのシーケンス番号「4」のレコードには、サーバ「AP1」が算出したCPU負荷が「50%」、1日の間に受信したパケット数が「10」であることを示す「時毎データ」が保存されていることを示す。
また、図6の例は、パケット数およびCPU負荷を算出した日時が「2010年8月10日10時10分」であり、データ種別が「時毎データ」であるデータが、測定データDB16bのシーケンス番号「5」のレコードに保存されていることを示す。また、図6の例では、測定データDB16bのシーケンス番号「5」のレコードには、サーバ「AP2」が算出したCPU負荷が「40%」、1日の間に受信したパケット数が「8」であることを示す「時毎データ」が保存されていることを示す。
また、図6の例は、パケット数およびCPU負荷を算出した日時が「2010年8月10日10時20分」であり、データ種別が「日毎データ」であるデータが、測定データDB16bのシーケンス番号「6」のレコードに保存されていることを示す。また、図6の例では、測定データDB16bのシーケンス番号「6」のレコードには、サーバ「DB1」が算出したCPU負荷が「5%」、1日の間に受信したパケット数が「2」であることを示す「日毎データ」が保存されていることを示す。
また、図6の例は、データを送信した日時が「2010年8月10日10時00分」であり、データ種別が「重要データ」であるデータが、測定データDB16bのシーケンス番号「7」のレコードに保存されていることを示す。なお、図6には図示されていないが、このシーケンス番号「7」のレコードに保存されている「重要データ」には、データの送信元のIPアドレス、送信先のIPアドレス、要求内容など、障害の発生を特定するための情報が含まれている。
システム管理者用端末17は、サービスシステム12の各サーバの状態を管理する。また、測定データDB16bに保存されたデータの内容を表示させる指示を後述の受付部が受け付けると、システム管理者用端末17は、データ保存装置16の測定データDB16bにアクセスし、データの内容を後述の表示部に表示する。これにより、システム管理者用端末17は、システム管理者による、サービスシステム12のネットワークの通信状態および各サーバの動作状態の監視を可能にする。システム管理者用端末17は、サービスシステム12を管理するシステム管理者の指示を受け付ける受付部、および測定データDB16bのデータの内容を表示する表示部を有する。受付部のデバイスの一例としては、システム管理者の指示を受け付けるキーボードやマウスなどが挙げられる。表示部のデバイスの一例としては、測定データDB16bのデータの内容を表示出力するLCDやCRTなどが挙げられる。また、システム管理者用端末17は、システム管理者からサーバの状態を変更する状態変更指示を受け付けると、受け付けた状態変更指示を運用管理装置15に送信する。
[管理装置の構成]
管理装置10は、ネットワーク上のデータ、およびサービスシステム12に含まれるサーバからのデータの保存期間を管理する装置である。図7は、実施例1に係る管理装置の構成を示すブロック図である。図7に示すように、管理装置10は、I/F(InterFace)20と、記憶部21と、制御部22とを有する。
I/F20は、各装置間の通信を行うためのものである。I/F20には、ネットワーク情報収集装置13、サーバ情報収集装置14、運用管理装置15、データ保存装置16、システム管理者用端末17が接続されている。また、I/F20には制御部22が接続されている。これにより、各装置間、例えば、ネットワーク情報収集装置13、サーバ情報収集装置14、運用管理装置15、データ保存装置16およびシステム管理者用端末17のそれぞれと、制御部22とで、データの通信が可能となる。
記憶部21は、制御部22で実行される各種プログラム、例えばOS(Operating System)やそのプログラムの実行に必要なデータを記憶する。記憶部21には、後述の生成部22bにより生成されたインデクス21aが格納される。また、記憶部21は、データ種別ごとの第1のキューラベル21b、データ種別ごとの第2のキューラベル21c、設定表21dを記憶する。ここで、以下に説明するキューは、インデクス21a、第1のキューラベル21b、第2のキューラベル21cによって、仮想的に実現されるものである。
インデクス21aは、ネットワーク情報収集装置13、サーバ情報収集装置14からI/F20が受信したデータ毎に生成され、測定データDB16bに保存されたデータを管理するために用いられるものである。また、第1のキューラベル21bは、各種データを、データ種別ごとに定められた保存期間に応じて保存するための仮想的なキューの各種情報を示すものである。また、第2のキューラベル21cは、各種データを、データ種別ごとに定められた閾値に、サイズが達するまで保存するための仮想的なキューの各種情報を示すものである。
図8〜13は、インデクスおよび第1のキューラベルの一例を説明するための図である。図8〜13に示すように、インデクス21aは、対応するデータのデータ種別を示す「種別」を有する。また、インデクス21aは、同一のデータ種別のインデクス21aのうち、自身のインデクス21aよりも「日時」が1つ前のインデクス21aが記憶された記憶部21の記憶領域上のアドレスを示す「前index」を有する。また、インデクス21aは、同一のデータ種別のインデクス21aのうち、自身のインデクス21aよりも「日時」が1つ後ろのインデクス21aが記憶された記憶部21の記憶領域上のアドレスを示す「後index」を有する。また、インデクス21aは、データに含まれるCPUなどが算出された日付、またはデータが送信された日付を示す「日時」を有する。また、インデクス21aは、対応するデータのデータサイズを示す「データサイズ」を有する。また、インデクス21aは、自身に対応するデータが保存された測定データDB16bのシーケンス番号を示す「DB格納情報」を有する。
また、図8〜13に示すように、第1のキューラベル21bは、データ種別ごとに定められた保存期間に応じて各種データを保存するためのキューの名称を示す「キュー名」を有する。また、第1のキューラベル21bは、自身が示すキューが、各種データをデータ種別ごとに定められた保存期間に応じて保存するためのキューであること(期間保存)、およびキューを介して管理されるデータの種別を示す「キュー種別」を有する。また、第1のキューラベル21bは、キューの先頭データのインデクス21aが記憶された記憶部21の記憶領域上のアドレスを示す「先頭index」を有する。なお、キューの先頭データとは、キューに含まれるデータのうち、最も「日時」が古いデータを指す。また、第1のキューラベル21bは、キューの最後尾データのインデクス21aが記憶された記憶部21の記憶領域上のアドレスを示す「最後尾index」を有する。なお、キューの最後尾データとは、キューに含まれるデータのうち、最も「日時」が新しいデータを指す。また、第1のキューラベル21bは、自身が示すキューに含まれるデータの、測定データDB16bに保存されたデータ量の総和を示す「キュー長(サイズ)」を有する。
図8のインデクス21aの例は、データ種別が「日毎データ」であることを示す。また、図8のインデクス21aの例は、前後のインデクス21aが存在しないことを示す。これは、図8の例では、インデクス21aの個数が1つだからである。また、図8のインデクス21aの例は、対応するデータの日時が2010年8月10日10時であることを示す。また、図8のインデクス21aの例は、対応するデータのデータサイズがXであることを示す。また、図8のインデクス21aの例は、対応するデータが保存された測定データDB16bのシーケンス番号がA1であることを示す。
また、図8の第1のキューラベル21bの例は、自身が示すキューの名称がAであることを示す。また、図8の第1のキューラベル21bの例は、自身が示すキューが、各種データをデータ種別ごとに定められた保存期間に応じて保存するためのキューであること、およびキューを介して管理されるデータの種別が「日毎データ」であることを示す。また、図8の第1のキューラベル21bの例は、キューの先頭データのアドレスがAAであり、キューの最後尾データのアドレスもAAであることを示す。このように、図8の例で、キューの先頭データおよび最後尾データのアドレスが同一となる理由は、インデクス21aの個数が1つであり、キューの先頭データおよび最後尾データのインデクス21aが同一となるからである。また、図8の第1のキューラベル21bの例は、自身が示すキューに含まれるデータ、すなわち、日毎データの測定データDB16bに保存されたデータ量の総和がXであることを示す。
図9のインデクス21aの例は、図8の例に、新たに、インデクス21aが追加された場合のものである。まず、新たに追加された、図9中、左側のインデクス21aについて説明し、次に、右側のインデクス21aについて説明する。図9の左側のインデクス21aの例は、対応するデータのデータ種別が「日毎データ」であることを示す。また、図9の左側のインデクス21aの例は、前のインデクス21aのアドレスがAAであることを示す。また、図9の左側のインデクス21aの例は、対応するデータの日時が2010年8月11日10時であることを示す。また、図9の左側のインデクス21aの例は、対応するデータのデータサイズがXであることを示す。また、図9の左側のインデクス21aの例は、対応するデータが保存された測定データDB16bのシーケンス番号がA2であることを示す。
また、図9の右側のインデクス21aの例は、後ろのインデクス21aのアドレスがABであることを示す。その他については、図8の例について説明した内容と同様である。
また、図9の第1のキューラベル21bの例は、自身が示すキューの先頭データのアドレスがAAであり、キューの最後尾データのアドレスがABであることを示す。また、図9の第1のキューラベル21bの例は、自身が示すキューに含まれるデータ、すなわち、日毎データの測定データDB16bに保存されたデータ量の総和がXであることを示す。ここで、図9の例において、X=X+Xである。
図10のインデクス21aの例は、データ種別が「分毎データ」であることを示す。また、図10のインデクス21aの例は、前後のインデクス21aが存在しないことを示す。また、図10のインデクス21aの例は、対応するデータの日時が2010年8月10日10時であることを示す。また、図10のインデクス21aの例は、対応するデータのデータサイズがXであることを示す。また、図10のインデクス21aの例は、対応するデータが保存された測定データDB16bのシーケンス番号がD1であることを示す。
また、図10の第1のキューラベル21bの例は、キューの名称がDであることを示す。また、図10の第1のキューラベル21bの例は、自身が示すキューが、各種データをデータ種別ごとに定められた保存期間に応じて保存するためのキューであること、およびキューを介して管理されるデータの種別が「分毎データ」であることを示す。また、図10の第1のキューラベル21bの例は、自身が示すキューの先頭データのアドレスがDDであり、キューの最後尾データのアドレスもDDであることを示す。また、図10の第1のキューラベル21bの例は、キューに含まれるデータ、すなわち、分毎データの測定データDB16bに保存されたデータ量の総和がXであることを示す。
図11のインデクス21aの例は、図10の例に、新たに、インデクス21aが追加された場合のものである。まず、新たに追加された、図11中、左側のインデクス21aについて説明し、次に、右側のインデクス21aについて説明する。図11の左側のインデクス21aの例は、対応するデータのデータ種別が「分毎データ」であることを示す。また、図11の左側のインデクス21aの例は、前のインデクス21aのアドレスがDDであることを示す。また、図11の左側のインデクス21aの例は、対応するデータの日時が2010年8月10日10時1分であることを示す。また、図11の左側のインデクス21aの例は、対応するデータのデータサイズがXであることを示す。また、図11の左側のインデクス21aの例は、対応するデータが保存された測定データDB16bのシーケンス番号D2であることを示す。
また、図11の右側のインデクス21aの例は、後ろのインデクス21aのアドレスがDEであることを示す。その他については、図10の例について説明した内容と同様である。
また、図11の第1のキューラベル21bの例は、キューの先頭データのアドレスがDDであり、キューの最後尾データのアドレスがDEであることを示す。また、図11の第1のキューラベル21bの例は、キューに含まれるデータ、すなわち、分毎データの測定データDB16bに保存されたデータ量の総和がXであることを示す。ここで、図11の例において、X=X+Xである。
図12のインデクス21aの例は、データ種別が「時毎データ」であることを示す。また、図12のインデクス21aの例は、前後のインデクス21aが存在しないことを示す。また、図12のインデクス21aの例は、対応するデータの日時が2010年8月10日10時であることを示す。また、図12のインデクス21aの例は、対応するデータのデータサイズがXであることを示す。また、図12のインデクス21aの例は、対応するデータが保存された測定データDB16bのシーケンス番号G1であることを示す。
また、図12の第1のキューラベル21bの例は、自身が示すキューの名称がGであることを示す。また、図12の第1のキューラベル21bの例は、自身が示すキューが、各種データをデータ種別ごとに定められた保存期間に応じて保存するためのキューであること、およびキューを介して管理されるデータの種別が「時毎データ」であることを示す。また、図12の第1のキューラベル21bの例は、自身が示すキューの先頭データのアドレスがGGであり、キューの最後尾データのアドレスもGGであることを示す。また、図12の第1のキューラベル21bの例は、自身が示すキューに含まれるデータ、すなわち、時毎データの測定データDB16bに保存されたデータ量の総和がXであることを示す。
図13のインデクス21aの例は、図12の例に、新たに、インデクス21aが追加された場合のものである。まず、新たに追加された、図13中、左側のインデクス21aについて説明し、次に、右側のインデクス21aについて説明する。図13の左側のインデクス21aの例は、対応するデータのデータ種別が「時毎データ」であることを示す。また、図13の左側のインデクス21aの例は、前のインデクス21aのアドレスがGGであることを示す。また、図13の左側のインデクス21aの例は、対応するデータの日時が2010年8月10日11時00分であることを示す。また、図13の左側のインデクス21aの例は、対応するデータのデータサイズがXであることを示す。また、図13の左側のインデクス21aの例は、対応するデータが保存された測定データDB16bのシーケンス番号がG2であることを示す。
また、図13の右側のインデクス21aの例は、後ろのインデクス21aのアドレスがGHであることを示す。その他については、図12の例について説明した内容と同様である。
また、図13の第1のキューラベル21bの例は、自身が示すキューの先頭データのアドレスがGGであり、キューの最後尾データのアドレスがGHであることを示す。また、図13の第1のキューラベル21bの例は、自身が示すキューに含まれるデータ、すなわち、時毎データの測定データDB16bに保存されたデータ量の総和がXであることを示す。ここで、図13の例において、X=X+Xである。
上述したようなインデクス21aおよび第1のキューラベル21bにより、データ種別ごとの仮想的なキューに、インデクス21aが仮想的に格納されることとなる。なお、第1のキューラベル21bが示すキューからインデクス21aが取り出されるタイミングは、後述するように、インデクス21aの「日時」から、保存期間が経過したときである。
図14〜19は、第2のキューラベルの一例を説明するための図である。図14〜19に示すように、第2のキューラベル21cは、データ種別ごとに定められた閾値に、サイズが達するまで各種データを保存するためのキューの名称を示す「キュー名」を有する。また、第2のキューラベル21cは、自身が示すキューが、各種データをデータ種別ごとに定められた閾値に応じて保存するためのキューであること(サイズ)、およびキューを介して管理されるデータの種別を示す「キュー種別」を有する。また、第2のキューラベル21cは、自身が示すキューの先頭データのインデクス21aが記憶された記憶部21の記憶領域上のアドレスを示す「先頭index」を有する。また、第2のキューラベル21cは、自身が示すキューの最後尾データのインデクス21aが記憶された記憶部21の記憶領域上のアドレスを示す「最後尾index」を有する。また、第2のキューラベル21cは、自身が示すキューに含まれるデータの、測定データDB16bに保存されたデータ量の総和を示す「キュー長(サイズ)」を有する。
図14の第2のキューラベル21cの例は、自身が示すキューの名称がJであることを示す。また、図14の第2のキューラベル21cの例は、自身が示すキューが、各種データをデータ種別ごとに定められた閾値に応じて保存するためのキューであること、およびキューを介して管理されるデータの種別が「日毎データ」であることを示す。また、図14の第2のキューラベル21cの例は、キューの先頭データのアドレスがJJであり、キューの最後尾データのアドレスもJJであることを示す。また、図14の第2のキューラベル21cの例は、キューに含まれるデータ、すなわち、日毎データの測定データDB16bに保存されたデータ量の総和がXであることを示す。
図15の第2のキューラベル21cの例は、キューの先頭データのアドレスがJJであり、キューの最後尾データのアドレスがJKであることを示す。また、図15の第2のキューラベル21cの例は、キューに含まれるデータ、すなわち、日毎データの測定データDB16bに保存されたデータ量の総和がXであることを示す。ここで、図15の例において、X=X+Xである。
図16の第2のキューラベル21cの例は、キューの名称がMであり、各種データをデータ種別ごとに定められた閾値に応じて保存するためのキューであること、およびキューを介して管理されるデータの種別が「分毎データ」であることを示す。また、図16の第2のキューラベル21cの例は、キューの先頭データのアドレスがMMであり、キューの最後尾データのアドレスもMMであることを示す。また、図16の第2のキューラベル21cの例は、キューに含まれるデータ、すなわち、分毎データの測定データDB16bに保存されたデータ量の総和がXであることを示す。
図17の第2のキューラベル21cの例は、キューの先頭データのアドレスがMMであり、キューの最後尾データのアドレスがMNであることを示す。また、図17の第2のキューラベル21cの例は、キューに含まれるデータ、すなわち、分毎データの測定データDB16bに保存されたデータ量の総和がXであることを示す。ここで、図17の例において、X=X+Xである。
また、図18の第2のキューラベル21cの例は、キューの名称がPであり、各種データをデータ種別ごとに定められた閾値に応じて保存するためのキューであること、およびキューを介して管理されるデータの種別が「時毎データ」であることを示す。また、図18の第2のキューラベル21cの例は、キューの先頭データのアドレスがPPであり、キューの最後尾データのアドレスもPPであることを示す。また、図18の第2のキューラベル21cの例は、キューに含まれるデータ、すなわち、時毎データの測定データDB16bに保存されたデータ量の総和がXであることを示す。
また、図19の第2のキューラベル21cの例は、キューの先頭データのアドレスがPPであり、キューの最後尾データのアドレスがPQであることを示す。また、図19の第2のキューラベル21cの例は、キューに含まれるデータ、すなわち、時毎データの測定データDB16bに保存されたデータ量の総和がXであることを示す。ここで、図19の例において、X=X+Xである。
上述したようなインデクス21aおよび第2のキューラベル21cにより、データ種別毎の仮想的なキューに、インデクス21aが仮想的に格納されることとなる。なお、第2のキューラベル21cが示すキューからインデクス21aが仮想的に取り出されるタイミングは、後述するように、インデクス21aに対応するデータ種別のデータのデータサイズが、対応する閾値に達したときである。
設定表21dは、各種データの保存期間が設定され、また、各種データの閾値を算出する際に用いられる比率が設定された表である。図20は、設定表の一例を示す図である。図20の例では、「日毎データ」の保存期間は3年間である。また、図20の例では、「時毎データ」の保存期間は1年間である。また、図20の例では、「分毎データ」の保存期間は3ヶ月である。
また、図20の例は、余剰保存領域の大きさを「分毎データ」、「時毎データ」、「日時データ」のそれぞれに割り当てる比率が、2:2:1の比率である場合を示す。
記憶部21は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部21は、上記の種類の記憶装置に限定されるものではなく、RAM(Random Access Memory)、ROM(Read Only Memory)であってもよい。
制御部22は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図7に示すように、制御部22は、格納部22aと、生成部22bと、判定部22cと、削除部22dとを有する。
格納部22aは、測定データDB16bにデータを格納する。例えば、格納部22aは、ネットワーク情報収集装置13から送信され、I/F20で受信されたデータを、測定データDB16bに格納する。また、格納部22aは、サーバ情報収集装置14から送信され、I/F20で受信された測定データを、測定データDB16bに格納する。なお、格納部22aは、データが格納されていないレコードのうち、シーケンス番号が最も小さいレコードにデータを格納する。
生成部22bは、上述したインデクス21aを生成したり、更新したり、また、第1のキューラベル21b、第2のキューラベル21cを更新したりする。例えば、生成部22bは、I/F20を介してネットワーク情報収集装置13やサーバ情報収集装置14からのデータを受信するごとに、受信したデータに含まれる各種情報を用いてインデクス21aを生成する。例えば、生成部22bは、データに含まれる「データ種別」を、インデクス21aの「種別」に設定する。また、生成部22bは、「データ種別」が同一であるインデクス21aの「日時」の前後関係を判別し、「日時」が1つ前のインデクス21aのアドレスを「前index」に設定する。また、生成部22bは、データのデータサイズを、インデクス21aの「データサイズ」に設定する。また、生成部22bは、インデクス21aが記憶された記憶部21の記憶領域上のアドレスを、インデクス21aの「DB格納情報」に設定する。
また、生成部22bは、新たにインデクス21aを生成した場合には、次のような処理を行う。すなわち、生成部22bは、新たなインデクス21aと「データ種別」が同一であり、かつ、新たなインデクス21aより「日時」が1つ前のインデクス21aの「後index」に、新たなインデクス21aのアドレスを設定する。
また、例えば、生成部22bは、第1のキューラベル21bの「先頭index」にアドレスが設定されていない場合には、次のような処理を行う。すなわち、生成部22bは、第1のキューラベル21bが示すキューの先頭データのインデクス21aが記憶された記憶部21の記憶領域上のアドレスを、第1のキューラベル21bの「先頭index」に設定する。
また、生成部22bは、第1のキューラベル21bが示すキューの最後尾データのインデクス21aが記憶された記憶部21の記憶領域上のアドレスを、第1のキューラベル21bの「最後尾index」に設定する。また、生成部22bは、キューに含まれる各インデクス21aが示すデータの、測定データDB16bに保存されたデータ量の総和を算出し、算出した総和を第1のキューラベル21bの「キュー長(サイズ)」に設定する。
判定部22cは、測定データDB16bの保存期間が経過したデータについて、そのデータのデータサイズが閾値を超えたか否かを判定する。例えば、判定部22cは、まず、データ種別ごとに定められた所定時間間隔、例えば、データ種別が「分毎データ」である場合には15秒、データ種別が「時毎データ」である場合には15分ごとに下記に示す処理を行う。また、判定部22cは、データ種別が「日毎データ」である場合には6時間ごとに、下記に示す処理を行う。すなわち、判定部22cは、15秒ごとに、データ種別が「分毎データ」であるインデクス21aのうち、「日時」から3ヶ月が経過したインデクス21aがあるか否かを判定し、「日時」から3ヶ月が経過したインデクス21aを特定する。また、判定部22cは、15分ごとに、データ種別が「時毎データ」であるインデクス21aのうち、「日時」から1年が経過したインデクス21aがあるか否かを判定し、「日時」から1年が経過したインデクス21aを特定する。また、判定部22cは、15分ごとに、データ種別が「日毎データ」であるインデクス21aのうち、「日時」から3年が経過したインデクス21aがあるか否かを判定し、「日時」から3年が経過したインデクス21aを特定する。
そして、判定部22cは、「日時」から3ヶ月が経過した、「分毎データ」のインデクス21aを、「分毎データ」に対応する第2のキューラベル21cが示すキューの最後尾データとする。ここで、以下の説明では、「日時」から3ヶ月が経過した、「分毎データ」のインデクス21aを「経過インデクス(分毎)」と表記する。具体例を挙げて説明する。判定部22cは、経過インデクス(分毎)に対して、分毎データに対応する第2のキューラベル21cが示すキューのインデクス21aであって「種別」が「分毎データ」であり、かつ「日時」が1つ前のインデクス21aのアドレスを用いて、次の処理を行う。すなわち、判定部22cは、かかるアドレスを経過インデクス(分毎)の「前index」に設定する。また、判定部22cは、経過インデクス(分毎)のアドレスを、分毎データに対応する第2のキューラベル21cが示すキューのインデクス21aであって「種別」が「分毎データ」であり、かつ「日時」が1つ前のインデクス21aの「後index」に設定する。これにより、経過インデクス(分毎)が、「分毎データ」を3ヶ月間保存するための仮想的なキューから、仮想的に取り出され、「分毎データ」のサイズが所定の閾値に達するまで保存するための仮想的なキューに、仮想的に格納される。なお、判定部22cは、余剰保存領域を算出し、設定表21dの「分毎データ」に対する比率を用いて、所定の閾値を算出する。例えば、図20の例の設定表21dを用いた場合には、判定部22cは、「分毎データ」に対応する閾値として、余剰保存領域の大きさの2/5を算出する。
また、判定部22cは、「分毎データ」に対応する第1のキューラベル21bの「キュー長(サイズ)」から、経過インデクス(分毎)の「データサイズ」を減算する。このように、「分毎データ」に対応する第1のキューラベル21bの「キュー長(サイズ)」から経過インデクス(分毎)の「データサイズ」を減算するのは、第1のキューラベル21bが示すキューから経過インデクス(分毎)が仮想的に取り出されたからである。
また、判定部22cは、「分毎データ」に対応する第2のキューラベル21cの「キュー長(サイズ)」に、経過インデクス(分毎)の「データサイズ」を加算する。このように、「分毎データ」に対応する第2のキューラベル21cの「キュー長(サイズ)」に、経過インデクス(分毎)の「データサイズ」を加算するのは、次の理由による。すなわち、第2のキューラベル21cが示すキューに、経過インデクス(分毎)に対応するインデクス21aが仮想的に格納されたからである。
また、判定部22cは、「分毎データ」に対応する第1のキューラベル21bが示すキュー、すなわち「分毎データ」を3ヶ月間保存するための仮想的なキューの先頭データのインデクス21aのアドレスを用いて、次のような処理を行う。すなわち、判定部22cは、このアドレスを、「分毎データ」に対応する第1のキューラベル21bの「先頭index」に設定する。このように、かかるアドレスを、「分毎データ」に対応する第1のキューラベル21bの「先頭index」に設定するのは、キューから経過インデクス(分毎)が仮想的に取り出され、キューの先頭のインデクス21aが変更されたからである。
また、判定部22cは、「分毎データ」に対応する第2のキューラベル21cが示すキュー、すなわち「分毎データ」のサイズが所定の閾値に達するまで保存するための仮想的なキューの最後尾データのインデクス21aのアドレスを用いて次のような処理を行う。すなわち、判定部22cは、このアドレスを、「分毎データ」に対応する第2のキューラベル21cの「最後尾index」に設定する。このように、「分毎データ」に対応する第2のキューラベル21cの「最後尾index」のアドレスを再設定するのは、キューの最後尾にインデクス21aが仮想的に格納され、キューの最後尾のインデクス21aが変更されたからである。
また、判定部22cは、所定時間間隔で、「分毎データ」に対応する第2のキューラベル21cの「キュー長(サイズ)」が、「分毎データ」に対応する閾値を超えたか否かを判定する。これにより、余剰保存領域に保存された「分毎データ」のサイズが、「分毎データ」に対応する閾値に達したか否かが判定される。
また、判定部22cは、「日時」から1年が経過した、「時毎データ」のインデクス21aを、「時毎データ」に対応する第2のキューラベル21cが示すキューの最後尾データとする。ここで、以下の説明では、「日時」から1年が経過した、「時毎データ」のインデクス21aを「経過インデクス(時毎)」と表記する。具体例を挙げて説明する。判定部22cは、経過インデクス(時毎)に対して、時毎データに対応する第2のキューラベル21cが示すキューのインデクス21aであって「種別」が「時毎データ」であり、かつ「日時」が1つ前のインデクス21aのアドレスを用いて、次の処理を行う。すなわち、判定部22cは、かかるアドレスを経過インデクス(時毎)の「前index」に設定する。また、判定部22cは、経過インデクス(時毎)のアドレスを、時毎データに対応する第2のキューラベル21cが示すキューのインデクス21aであって「種別」が「時毎データ」であり、かつ「日時」が1つ前のインデクス21aの「後index」に設定する。これにより、経過インデクス(時毎)が、「時毎データ」を1年間保存するための仮想的なキューから、仮想的に取り出され、「時毎データ」のサイズが所定の閾値に達するまで保存するための仮想的なキューに、仮想的に格納される。なお、判定部22cは、余剰保存領域を算出し、設定表21dの「時毎データ」に対する比率を用いて、所定の閾値を算出する。例えば、図20の例の設定表21dを用いた場合には、判定部22cは、「時毎データ」に対応する閾値として、余剰保存領域の大きさの2/5を算出する。
また、判定部22cは、「時毎データ」に対応する第1のキューラベル21bの「キュー長(サイズ)」から、経過インデクス(時毎)の「データサイズ」を減算する。このように、「時毎データ」に対応する第1のキューラベル21bの「キュー長(サイズ)」から経過インデクス(時毎)の「データサイズ」を減算するのは、第1のキューラベル21bが示すキューから経過インデクス(時毎)が仮想的に取り出されたからである。
また、判定部22cは、「時毎データ」に対応する第2のキューラベル21cの「キュー長(サイズ)」に、経過インデクス(時毎)の「データサイズ」を加算する。このように、「時毎データ」に対応する第2のキューラベル21cの「キュー長(サイズ)」に、経過インデクス(時毎)の「データサイズ」を加算するのは、次の理由による。すなわち、第2のキューラベル21cが示すキューに、経過インデクス(時毎)に対応するインデクス21aが仮想的に格納されたからである。
また、判定部22cは、「時毎データ」に対応する第1のキューラベル21bが示すキュー、すなわち「時毎データ」を1年間保存するための仮想的なキューの先頭データのインデクス21aのアドレスを用いて、次のような処理を行う。すなわち、判定部22cは、このアドレスを、「時毎データ」に対応する第1のキューラベル21bの「先頭index」に設定する。このように、かかるアドレスを、「時毎データ」に対応する第1のキューラベル21bの「先頭index」に設定するのは、キューから経過インデクス(時毎)が仮想的に取り出され、キューの先頭のインデクス21aが変更されたからである。
また、判定部22cは、「時毎データ」に対応する第2のキューラベル21cが示すキュー、すなわち「時毎データ」のサイズが所定の閾値に達するまで保存するための仮想的なキューの最後尾データのインデクス21aのアドレスを用いて次のような処理を行う。すなわち、判定部22cは、このアドレスを、「時毎データ」に対応する第2のキューラベル21cの「最後尾index」に設定する。このように、「時毎データ」に対応する第2のキューラベル21cの「最後尾index」のアドレスを再設定するのは、キューの最後尾にインデクス21aが仮想的に格納され、キューの最後尾のインデクス21aが変更されたからである。
また、判定部22cは、所定時間間隔で、「時毎データ」に対応する第2のキューラベル21cの「キュー長(サイズ)」が、「時毎データ」に対応する閾値を超えたか否かを判定する。これにより、余剰保存領域に保存された「時毎データ」のサイズが、「時毎データ」に対応する閾値に達したか否かが判定される。
また、判定部22cは、「日時」から3年が経過した、「日毎データ」のインデクス21aを、「日毎データ」に対応する第2のキューラベル21cが示すキューの最後尾データとする。ここで、以下の説明では、「日時」から3年が経過した、「日毎データ」のインデクス21aを「経過インデクス(日毎)」と表記する。具体例を挙げて説明する。判定部22cは、経過インデクス(日毎)に対して、日毎データに対応する第2のキューラベル21cが示すキューのインデクス21aであって「種別」が「日毎データ」であり、かつ「日時」が1つ前のインデクス21aのアドレスを用いて、次の処理を行う。すなわち、判定部22cは、かかるアドレスを経過インデクス(日毎)の「前index」に設定する。また、判定部22cは、経過インデクス(日毎)のアドレスを、日毎データに対応する第2のキューラベル21cが示すキューのインデクス21aであって「種別」が「日毎データ」であり、かつ「日時」が1つ前のインデクス21aの「後index」に設定する。これにより、経過インデクス(日毎)が、「日毎データ」を3年間保存するための仮想的なキューから、仮想的に取り出され、「日毎データ」のサイズが所定の閾値に達するまで保存するための仮想的なキューに、仮想的に格納される。なお、判定部22cは、余剰保存領域を算出し、設定表21dの「日毎データ」に対する比率を用いて、所定の閾値を算出する。例えば、図20の例の設定表21dを用いた場合には、判定部22cは、「日毎データ」に対応する閾値として、余剰保存領域の大きさの1/5を算出する。
また、判定部22cは、「日毎データ」に対応する第1のキューラベル21bの「キュー長(サイズ)」から、経過インデクス(日毎)の「データサイズ」を減算する。このように、「日毎データ」に対応する第1のキューラベル21bの「キュー長(サイズ)」から経過インデクス(日毎)の「データサイズ」を減算するのは、第1のキューラベル21bが示すキューから経過インデクス(日毎)が仮想的に取り出されたからである。
また、判定部22cは、「日毎データ」に対応する第2のキューラベル21cの「キュー長(サイズ)」に、経過インデクス(日毎)の「データサイズ」を加算する。このように、「日毎データ」に対応する第2のキューラベル21cの「キュー長(サイズ)」に、経過インデクス(日毎)の「データサイズ」を加算するのは、次の理由による。すなわち、第2のキューラベル21cが示すキューに、経過インデクス(日毎)に対応するインデクス21aが仮想的に格納されたからである。
また、判定部22cは、「日毎データ」に対応する第1のキューラベル21bが示すキュー、すなわち「日毎データ」を1年間保存するための仮想的なキューの先頭データのインデクス21aのアドレスを用いて、次のような処理を行う。すなわち、判定部22cは、このアドレスを、「日毎データ」に対応する第1のキューラベル21bの「先頭index」に設定する。このように、かかるアドレスを、「日毎データ」に対応する第1のキューラベル21bの「先頭index」に設定するのは、キューから経過インデクス(日毎)が仮想的に取り出され、キューの先頭のインデクス21aが変更されたからである。
また、判定部22cは、「日毎データ」に対応する第2のキューラベル21cが示すキュー、すなわち「日毎データ」のサイズが所定の閾値に達するまで保存するための仮想的なキューの最後尾データのインデクス21aのアドレスを用いて次のような処理を行う。すなわち、判定部22cは、このアドレスを、「日毎データ」に対応する第2のキューラベル21cの「最後尾index」に設定する。このように、「日毎データ」に対応する第2のキューラベル21cの「最後尾index」のアドレスを再設定するのは、キューの最後尾にインデクス21aが仮想的に格納され、キューの最後尾のインデクス21aが変更されたからである。
また、判定部22cは、所定時間間隔で、「日毎データ」に対応する第2のキューラベル21cの「キュー長(サイズ)」が、「日毎データ」に対応する閾値を超えたか否かを判定する。これにより、余剰保存領域に保存された「日毎データ」のサイズが、「日毎データ」に対応する閾値に達したか否かが判定される。
削除部22dは、データ種別ごとに定められた閾値に達したデータのサイズが、閾値より小さくなるように、閾値に達したデータ種別のデータを測定データDB16bから削除する。一例としては、削除部22dは、データのサイズが閾値より小さくなるように、「日付」が古いデータから順に削除する。
例えば、削除部22dは、判定部22cにより、「分毎データ」に対応する第2のキューラベル21cの「キュー長(サイズ)」が、「分毎データ」に対応する閾値を超えたと判定された場合には、次のような処理を行う。すなわち、削除部22dは、「分毎データ」に対応する第2のキューラベル21cの「先頭index」が示すインデクス21aに対応するデータを、測定データDB16bから削除する。具体例を挙げて説明すると、削除部22dは、かかる「先頭index」が示すインデクス21aの「DB格納情報」が示すシーケンス番号のレコードに保存されたデータを、測定データDB16bから削除する。
また、削除部22dは、「分毎データ」に対応する第2のキューラベル21cの「キュー長(サイズ)」から、「分毎データ」に対応する第2のキューラベル21cの「先頭index」が示すインデクス21aの「データサイズ」を減算する。これは、次に説明するように、「分毎データ」に対応する第2のキューラベル21cが示す仮想的なキューから、「先頭index」が示すインデクス21aが仮想的に取り出されるからである。
また、削除部22dは、「分毎データ」に対応する第2のキューラベル21cの「先頭index」が示すインデクス21aを記憶部21から削除する。これにより、「分毎データ」に対応する第2のキューラベル21cが示す仮想的なキューから、「先頭index」が示すインデクス21aが仮想的に取り出される。
また、削除部22dは、「分毎データ」に対応する第2のキューラベル21cが示すキューの先頭データのインデクス21aのアドレスを用いて、次のような処理を行う。すなわち、削除部22dは、このアドレスを、「分毎データ」に対応する第2のキューラベル21cの「先頭index」に設定する。このように、かかるアドレスを、「分毎データ」に対応する第2のキューラベル21cの「先頭index」に再設定するのは、キューからインデクス21aが仮想的に取り出され、キューの先頭のインデクス21aが変更されたからである。
また、削除部22dは、判定部22cにより、「時毎データ」に対応する第2のキューラベル21cの「キュー長(サイズ)」が、「時毎データ」に対応する閾値を超えたと判定された場合には、次のような処理を行う。すなわち、削除部22dは、「時毎データ」に対応する第2のキューラベル21cの「先頭index」が示すインデクス21aに対応するデータを、測定データDB16bから削除する。具体例を挙げて説明すると、削除部22dは、かかる「先頭index」が示すインデクス21aの「DB格納情報」が示すシーケンス番号のレコードに保存されたデータを、測定データDB16bから削除する。
また、削除部22dは、「時毎データ」に対応する第2のキューラベル21cの「キュー長(サイズ)」から、「時毎データ」に対応する第2のキューラベル21cの「先頭index」が示すインデクス21aの「データサイズ」を減算する。これは、次に説明するように、「時毎データ」に対応する第2のキューラベル21cが示す仮想的なキューから、「先頭index」が示すインデクス21aが仮想的に取り出されるからである。
また、削除部22dは、「時毎データ」に対応する第2のキューラベル21cの「先頭index」が示すインデクス21aを記憶部21から削除する。これにより、「時毎データ」に対応する第2のキューラベル21cが示す仮想的なキューから、「先頭index」が示すインデクス21aが仮想的に取り出される。
また、削除部22dは、「時毎データ」に対応する第2のキューラベル21cが示すキューの先頭データのインデクス21aのアドレスを用いて、次のような処理を行う。すなわち、削除部22dは、このアドレスを、「時毎データ」に対応する第2のキューラベル21cの「先頭index」に設定する。このように、かかるアドレスを、「時毎データ」に対応する第2のキューラベル21cの「先頭index」に再設定するのは、キューからインデクス21aが仮想的に取り出され、キューの先頭のインデクス21aが変更されたからである。
また、削除部22dは、判定部22cにより、「日毎データ」に対応する第2のキューラベル21cの「キュー長(サイズ)」が、「日毎データ」に対応する閾値を超えたと判定された場合には、次のような処理を行う。すなわち、削除部22dは、「日毎データ」に対応する第2のキューラベル21cの「先頭index」が示すインデクス21aに対応するデータを、測定データDB16bから削除する。具体例を挙げて説明すると、削除部22dは、かかる「先頭index」が示すインデクス21aの「DB格納情報」が示すシーケンス番号のレコードに保存されたデータを、測定データDB16bから削除する。
また、削除部22dは、「日毎データ」に対応する第2のキューラベル21cの「キュー長(サイズ)」から、「日毎データ」に対応する第2のキューラベル21cの「先頭index」が示すインデクス21aの「データサイズ」を減算する。これは、次に説明するように、「日毎データ」に対応する第2のキューラベル21cが示す仮想的なキューから、「先頭index」が示すインデクス21aが仮想的に取り出されるからである。
また、削除部22dは、「日毎データ」に対応する第2のキューラベル21cの「先頭index」が示すインデクス21aを記憶部21から削除する。これにより、「日毎データ」に対応する第2のキューラベル21cが示す仮想的なキューから、「先頭index」が示すインデクス21aが仮想的に取り出される。
また、削除部22dは、「日毎データ」に対応する第2のキューラベル21cが示すキューの先頭データのインデクス21aのアドレスを用いて、次のような処理を行う。すなわち、削除部22dは、このアドレスを、「日毎データ」に対応する第2のキューラベル21cの「先頭index」に設定する。このように、かかるアドレスを、「日毎データ」に対応する第2のキューラベル21cの「先頭index」に再設定するのは、キューからインデクス21aが仮想的に取り出され、キューの先頭のインデクス21aが変更されたからである。
制御部22は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。
ここで、管理装置10の動作の一例について説明する。図21は、管理装置の動作の一例を模式的に示す図である。図21に示すように、管理装置10は、ネットワーク情報収集装置13、サーバ情報収集装置14からデータを受信すると、受信したデータを測定データDB16bに格納する。また、管理装置10は、受信したデータのデータ種別が「分毎データ」である場合には、「分毎データ」に対応する第1のキューラベル21bが示す仮想的なキュー30に、インデクス21aを仮想的に格納する。また、管理装置10は、受信したデータのデータ種別が「時毎データ」である場合には、「時毎データ」に対応する第1のキューラベル21bが示す仮想的なキュー31に、インデクス21aを仮想的に格納する。また、管理装置10は、受信したデータのデータ種別が「日毎データ」である場合には、「日毎データ」に対応する第1のキューラベル21bが示す仮想的なキュー32に、インデクス21aを仮想的に格納する。
そして、図21に示すように、キュー30のインデクス21aの保存期間が、所定の期間、例えば、3ヶ月経過した場合には、管理装置10は、インデクス21aをキュー30から仮想的に取り出す。また、キュー31のインデクス21aの保存期間が、所定の期間、例えば、1年経過した場合には、管理装置10は、インデクス21aをキュー31から仮想的に取り出す。また、キュー32のインデクス21aの保存期間が、所定の期間、例えば、3年経過した場合には、管理装置10は、インデクス21aをキュー32から仮想的に取り出す。
そして、管理装置10は、キュー30から取り出したインデクス21aを、「分毎データ」に対応する第2のキューラベル21cが示す仮想的なキュー33に仮想的に格納する。また、管理装置10は、キュー31から取り出したインデクス21aを、「時毎データ」に対応する第2のキューラベル21cが示す仮想的なキュー34に仮想的に格納する。また、管理装置10は、キュー32から取り出したインデクス21aを、「日毎データ」に対応する第2のキューラベル21cが示す仮想的なキュー35に仮想的に格納する。
そして、キュー33のインデクス21aが示すデータのデータ量の総和が、閾値に達した場合には、管理装置10は、インデクス21aをキュー33から仮想的に取り出す。また、キュー34のインデクス21aが示すデータのデータ量の総和が、閾値に達した場合には、管理装置10は、インデクス21aをキュー34から仮想的に取り出す。また、キュー35のインデクス21aが示すデータのデータ量の総和が、閾値に達した場合には、管理装置10は、インデクス21aをキュー35から仮想的に取り出す。そして、管理装置10は、取り出したインデクス21aに対応するデータを測定データDB16bから削除する。
このように、本実施例の管理装置10は、測定データDB16bの全記憶領域を、各種データを保存するために使用することができる。すなわち、本実施例の管理装置10は、各種データを保存する際に、余剰保存領域も使用する。したがって、本実施例の管理装置10によれば、余剰保存領域を有効に使用することができる。
[処理の流れ]
次に、本実施例に係る管理装置10の処理の流れを説明する。以下の図22〜27で説明する各処理は、各々独立して実行される。図22は、実施例1に係る格納処理の手順を示すフローチャートである。この格納処理は、管理装置10の電源がONの間、繰り返し実行される。
図22に示すように、I/F20を介してネットワーク情報収集装置13やサーバ情報収集装置14からのデータを受信した場合(ステップS101肯定)に、格納部22aは、受信したデータを測定データDB16bに格納する(ステップS102)。生成部22bは、受信したデータに含まれる各種情報を用いてインデクス21aを生成する(ステップS103)。
生成部22bは、新たに生成したインデクス21aと「データ種別」が同一であり、かつ、新たなインデクス21aより「日時」が1つ前のインデクス21aの「後index」に、新たなインデクス21aのアドレスを設定する(ステップS104)。生成部22bは、キューに含まれる各インデクス21aが示すデータの、測定データDB16bに保存されたデータ量の総和を算出し、算出した総和を第1のキューラベル21bの「キュー長(サイズ)」に設定する(ステップS105)。生成部22bは、第1のキューラベル21bが示すキューの先頭データのインデクス21aが記憶された記憶部21の記憶領域上のアドレスを、第1のキューラベル21bの「先頭index」に設定する(ステップS106)。なお、ステップS106の処理は、第1のキューラベル21bの「先頭index」にアドレスが設定されている場合には、省略することができる。生成部22bは、第1のキューラベル21bが示すキューの最後尾データのインデクス21aが記憶された記憶部21の記憶領域上のアドレスを、第1のキューラベル21bの「最後尾index」に設定し(ステップS107)、ステップS101に戻る。
図23は、実施例1に係る分毎データの第1の判定処理の手順を示すフローチャートである。この分毎データの第1の判定処理は、管理装置10の電源がONの間、実行される。
図23に示すように、判定部22cは、タイマーをスタートする(ステップS201)。判定部22cは、タイマーが示す時間が15秒を超えたか否かを判定する(ステップS202)。タイマーが示す時間が15秒を超えた場合(ステップS202肯定)には、判定部22cは、タイマーをリセットする(ステップS203)。
判定部22cは、今回タイマーがリセットされてから、後述のステップS205において、次のようなインデクス21aがあるか否かを判定する。すなわち、判定部22cは、「分毎データ」に対応する第1のキューラベル21bが示すキューに含まれるインデクス21aであって「日時」が未確認のインデクス21aがあるか否かを判定する(ステップS204)。「日時」が未確認のインデクスがない場合(ステップS204否定)には、ステップS201に戻る。一方、「日時」が未確認のインデクスがある場合(ステップS204肯定)には、判定部22cは、次のような処理を行う。すなわち、判定部22cは、「分毎データ」に対応する第1のキューラベル21bが示すキューに含まれるインデクス21aであって「日時」が未確認のインデクス21aの「日時」を確認する(ステップS205)。
判定部22cは、確認した「日時」から3ヶ月が経過しているか否かを判定する(ステップS206)。確認した「日時」から3ヶ月が経過していない場合(ステップS206否定)には、判定部22cは、ステップS204に戻る。一方、確認した「日時」から3ヶ月が経過した場合(ステップS206肯定)には、判定部22cは、インデクス21aを修正する(ステップS207)。具体例を挙げて説明する。判定部22cは、経過インデクス(分毎)に対して、分毎データに対応する第2のキューラベル21cが示すキューのインデクス21aであって「種別」が「分毎データ」であり、かつ「日時」が1つ前のインデクス21aのアドレスを用いて、次の処理を行う。すなわち、判定部22cは、かかるアドレスを経過インデクス(分毎)の「前index」に設定する。また、判定部22cは、経過インデクス(分毎)のアドレスを、分毎データに対応する第2のキューラベル21cが示すキューのインデクス21aであって「種別」が「分毎データ」であり、かつ「日時」が1つ前のインデクス21aの「後index」に設定する。
判定部22cは、「分毎データ」に対応する第1のキューラベル21bの「キュー長(サイズ)」から、経過インデクス(分毎)の「データサイズ」を減算する(ステップS208)。判定部22cは、「分毎データ」に対応する第2のキューラベル21cの「キュー長(サイズ)」に、経過インデクス(分毎)の「データサイズ」を加算する(ステップS209)。
判定部22cは、「分毎データ」に対応する第1のキューラベル21bが示すキュー、すなわち「分毎データ」を1年間保存するための仮想的なキューの先頭データのインデクス21aのアドレスを用いて、次のような処理を行う。すなわち、判定部22cは、このアドレスを、「分毎データ」に対応する第1のキューラベル21bの「先頭index」に設定する(ステップS210)。
判定部22cは、「分毎データ」に対応する第2のキューラベル21cが示すキュー、すなわち「分毎データ」のサイズが所定の閾値に達するまで保存するための仮想的なキューの最後尾データのインデクス21aのアドレスを用いて次のような処理を行う。すなわち、判定部22cは、このアドレスを、「分毎データ」に対応する第2のキューラベル21cの「最後尾index」に設定する(ステップS211)。そして、ステップS204に戻る。
図24は、実施例1に係る時毎データの第1の判定処理の手順を示すフローチャートである。この時毎データの第1の判定処理は、管理装置10の電源がONの間、実行される。
図24に示すように、判定部22cは、タイマーをスタートする(ステップS301)。判定部22cは、タイマーが示す時間が15分を超えたか否かを判定する(ステップS302)。タイマーが示す時間が15分を超えた場合(ステップS302肯定)には、判定部22cは、タイマーをリセットする(ステップS303)。
判定部22cは、今回タイマーがリセットされてから、後述のステップS305において、次のようなインデクス21aがあるか否かを判定する。すなわち、判定部22cは、「時毎データ」に対応する第1のキューラベル21bが示すキューに含まれるインデクス21aであって「日時」が未確認のインデクス21aがあるか否かを判定する(ステップS304)。「日時」が未確認のインデクスがない場合(ステップS304否定)には、ステップS301に戻る。一方、「日時」が未確認のインデクスがある場合(ステップS304肯定)には、判定部22cは、次のような処理を行う。すなわち、判定部22cは、「時毎データ」に対応する第1のキューラベル21bが示すキューに含まれるインデクス21aであって「日時」が未確認のインデクス21aの「日時」を確認する(ステップS305)。
判定部22cは、確認した「日時」から1年が経過しているか否かを判定する(ステップS306)。確認した「日時」から1年が経過していない場合(ステップS306否定)には、判定部22cは、ステップS304に戻る。一方、確認した「日時」から1年が経過した場合(ステップS306肯定)には、判定部22cは、インデクス21aを修正する(ステップS307)。具体例を挙げて説明する。判定部22cは、経過インデクス(時毎)に対して、時毎データに対応する第2のキューラベル21cが示すキューのインデクス21aであって「種別」が「時毎データ」であり、かつ「日時」が1つ前のインデクス21aのアドレスを用いて、次の処理を行う。すなわち、判定部22cは、かかるアドレスを経過インデクス(時毎)の「前index」に設定する。また、判定部22cは、経過インデクス(時毎)のアドレスを、時毎データに対応する第2のキューラベル21cが示すキューのインデクス21aであって「種別」が「時毎データ」であり、かつ「日時」が1つ前のインデクス21aの「後index」に設定する。
判定部22cは、「時毎データ」に対応する第1のキューラベル21bの「キュー長(サイズ)」から、経過インデクス(時毎)の「データサイズ」を減算する(ステップS308)。判定部22cは、「時毎データ」に対応する第2のキューラベル21cの「キュー長(サイズ)」に、経過インデクス(時毎)の「データサイズ」を加算する(ステップS309)。
判定部22cは、「時毎データ」に対応する第1のキューラベル21bが示すキュー、すなわち「時毎データ」を3ヶ月間保存するための仮想的なキューの先頭データのインデクス21aのアドレスを用いて、次のような処理を行う。すなわち、判定部22cは、このアドレスを、「時毎データ」に対応する第1のキューラベル21bの「先頭index」に設定する(ステップS310)。
判定部22cは、「時毎データ」に対応する第2のキューラベル21cが示すキュー、すなわち「時毎データ」のサイズが所定の閾値に達するまで保存するための仮想的なキューの最後尾データのインデクス21aのアドレスを用いて次のような処理を行う。すなわち、判定部22cは、このアドレスを、「時毎データ」に対応する第2のキューラベル21cの「最後尾index」に設定する(ステップS311)。そして、ステップS304に戻る。
図25は、実施例1に係る日毎データの第1の判定処理の手順を示すフローチャートである。この日毎データの第1の判定処理は、管理装置10の電源がONの間、実行される。
図25に示すように、判定部22cは、タイマーをスタートする(ステップS401)。判定部22cは、タイマーが示す時間が6時間を超えたか否かを判定する(ステップS402)。タイマーが示す時間が6時間を超えた場合(ステップS402肯定)には、判定部22cは、タイマーをリセットする(ステップS403)。
判定部22cは、今回タイマーがリセットされてから、後述のステップS405において、次のようなインデクス21aがあるか否かを判定する。すなわち、判定部22cは、「日毎データ」に対応する第1のキューラベル21bが示すキューに含まれるインデクス21aであって「日時」が未確認のインデクス21aがあるか否かを判定する(ステップS404)。「日時」が未確認のインデクスがない場合(ステップS404否定)には、ステップS401に戻る。一方、「日時」が未確認のインデクスがある場合(ステップS404肯定)には、判定部22cは、次のような処理を行う。すなわち、判定部22cは、「日毎データ」に対応する第1のキューラベル21bが示すキューに含まれるインデクス21aであって「日時」が未確認のインデクス21aの「日時」を確認する(ステップS405)。
判定部22cは、確認した「日時」から3年が経過しているか否かを判定する(ステップS406)。確認した「日時」から3年が経過していない場合(ステップS406否定)には、判定部22cは、ステップS404に戻る。一方、確認した「日時」から3年が経過した場合(ステップS406肯定)には、判定部22cは、インデクス21aを修正する(ステップS407)。具体例を挙げて説明する。判定部22cは、経過インデクス(日毎)に対して、日毎データに対応する第2のキューラベル21cが示すキューのインデクス21aであって「種別」が「日毎データ」であり、かつ「日時」が1つ前のインデクス21aのアドレスを用いて、次の処理を行う。すなわち、判定部22cは、かかるアドレスを経過インデクス(日毎)の「前index」に設定する。また、判定部22cは、経過インデクス(日毎)のアドレスを、日毎データに対応する第2のキューラベル21cが示すキューのインデクス21aであって「種別」が「日毎データ」であり、かつ「日時」が1つ前のインデクス21aの「後index」に設定する。
判定部22cは、「日毎データ」に対応する第1のキューラベル21bの「キュー長(サイズ)」から、経過インデクス(日毎)の「データサイズ」を減算する(ステップS408)。判定部22cは、「日毎データ」に対応する第2のキューラベル21cの「キュー長(サイズ)」に、経過インデクス(日毎)の「データサイズ」を加算する(ステップS409)。
判定部22cは、「日毎データ」に対応する第1のキューラベル21bが示すキュー、すなわち「日毎データ」を3年間保存するための仮想的なキューの先頭データのインデクス21aのアドレスを用いて、次のような処理を行う。すなわち、判定部22cは、このアドレスを、「日毎データ」に対応する第1のキューラベル21bの「先頭index」に設定する(ステップS410)。
判定部22cは、「日毎データ」に対応する第2のキューラベル21cが示すキュー、すなわち「日毎データ」のサイズが所定の閾値に達するまで保存するための仮想的なキューの最後尾データのインデクス21aのアドレスを用いて次のような処理を行う。すなわち、判定部22cは、このアドレスを、「日毎データ」に対応する第2のキューラベル21cの「最後尾index」に設定する(ステップS411)。そして、ステップS404に戻る。
図26は、実施例1に係る第2の判定処理の手順を示すフローチャートである。この第2の判定処理は、管理装置10の電源がONの間、実行される。
図26に示すように、判定部22cは、現在の時刻が、確認タイミングであるか否かを判定する(ステップS501)。このような確認タイミングとしては、所定時間間隔ごとのタイミング、例えば、1分毎のタイミングが挙げられる。
現在の時刻が、確認タイミングである場合(ステップS501肯定)には、判定部22cは、次のような処理を行う。判定部22cは、分毎データ、時毎データ、日毎データのそれぞれに対応する第1のキューラベル21bの「キュー長」と、「重要データ」のデータサイズとの総和を算出する(ステップS502)。
判定部22cは、測定データDB16bの全記憶容量から、ステップS502で算出した総和を減算し、余剰保存領域の大きさを算出する(ステップS503)。判定部22cは、余剰保存領域の大きさを設定表21dの比率に基づいて、データ種別ごとに分配する(ステップS504)。なお、データ種別ごとに分配された余剰保存領域の大きさが、データ種別毎の閾値となる。
判定部22cは、今回、ステップS504で余剰保存領域の大きさがデータ種別ごとに分配されてから、後述のステップS506で「キュー長」が確認されていない第2のキューラベル21cがあるか否かを判定する(ステップS505)。後述のステップS506で「キュー長」が確認されていない第2のキューラベル21cがない場合(ステップS505否定)には、ステップS501に戻る。一方、後述のステップS506で「キュー長」が確認されていない第2のキューラベル21cがある場合(ステップS505肯定)には、判定部22cは、「キュー長」が未確認の第2のキューラベル21cの「キュー長」を確認する(ステップS506)。
判定部22cは、確認した「キュー長」が、データ種別毎に定められた閾値を超えているか否かを判定する(ステップS507)。確認した「キュー長」が、データ種別毎に定められた閾値を超えていない場合(ステップS507否定)には、ステップS505に戻る。一方、確認した「キュー長」が、データ種別毎に定められた閾値を超えている場合(ステップS507肯定)には、判定部22cは、次のような処理を行う。すなわち、判定部22cは、閾値を超えている第2のキューラベル21cの先頭のインデクス21aを特定し、特定したインデクス21aを制御部22の内部メモリに格納し(ステップS508)、ステップS505に戻る。
図27は、実施例1に係る削除処理の手順を示すフローチャートである。この削除処理は、上述したステップS508でインデクス21aが特定されるたびに実行される。
図27に示すように、削除部22dは、特定されたインデクス21aの「DB格納情報」が示すシーケンス番号のレコードに保存されたデータを、測定データDB16bから削除する(ステップS601)。削除部22dは、対応する第2のキューラベル21cの「キュー長(サイズ)」から、特定されたインデクス21aの「データサイズ」を減算する(ステップS602)。
削除部22dは、特定されたインデクス21aを記憶部21から削除する(ステップS603)。削除部22dは、対応する第2のキューラベル21cが示すキューの先頭データのインデクス21aのアドレスを用いて、次のような処理を行う。すなわち、削除部22dは、このアドレスを、対応する第2のキューラベル21cの「先頭index」に設定し(ステップS604)、処理を終了する。
[実施例1の効果]
上述してきたように、本実施例の管理装置10は、保存期間経過後に第2のキューラベル21cを用いてデータを管理するので、測定データDB16bの全記憶領域を、各種データを保存するために使用することができる。すなわち、本実施例の管理装置10は、各種データを保存する際に、余剰保存領域も使用する。したがって、本実施例の管理装置10によれば、余剰保存領域を有効に使用することができる。
さて、上記の実施例1では、データの保存期間経過後、第2のキューラベル21cが示すキューに含まれるデータのデータサイズの総和が、閾値に達した場合に、データを削除する場合を例示したが、開示の管理装置はこれに限定されない。そこで、実施例2では、待機状態や休止状態のサーバから送信された測定データについては、重要なデータでないため、測定データDB16bからの削除のタイミングを実施例1よりも早くする場合について説明する。このようにすることで、重要度の低いデータを優先的に削除することができる。ここで、本実施例では、運用管理装置15は、サーバの状態が変更されるたびに、Webサーバ12b、APサーバ12c、DBサーバ12dの状態を管理装置10に通知する。
[管理装置の構成]
図28は、実施例2に係る管理装置の構成を示すブロック図である。図28に示すように、管理装置40は、I/F20、記憶部41および制御部42を有する。かかる記憶部41は、図7に示す実施例1に係る記憶部21に比較して、インデクス41aおよび第3のキューラベル41bを記憶する点、および後述の生成部42aにより生成されたダミーインデクス41cが格納される点が異なる。また、かかる制御部42は、図7に示す実施例1に係る制御部22に比較して、生成部42a、判定部42b、削除部42cを有する点が異なる。なお、以下では、上記の実施例1と同様の機能を果たす各部については図7と同様の符号を付し、その説明は省略する。
図29は、実施例2に係るインデクス、第3のキューラベル、ダミーインデクスの一例を説明するための図である。図29に示すように、インデクス41aは、上述したインデクス21aの内容に加えて、ダミーインデクス41cが記憶された記憶部41の記憶領域上のアドレスを示す「ダミーへのポインタ」を有する。
また、図29に示すように、第3のキューラベル41bは、重要でないデータ(非重要データ)の保存を管理するためのキューの名称を示す「キュー名」を有する。このような重要でないデータとしては、例えば、待機状態、休止状態のサーバから送信された測定データが挙げられる。また、第3のキューラベル41bは、自身が示すキューが、非重要データを保存するためのキューであること(非重要)を示す「キュー種別」を有する。また、第3のキューラベル41bは、キューの先頭データのダミーインデクス41cが記憶された記憶部41の記憶領域上のアドレスを示す「先頭index」を有する。なお、キューの先頭データとは、キューに含まれるデータのうち、最も「日時」が古いデータを指す。また、第3のキューラベル41bは、キューの最後尾データのダミーインデクス41cが記憶された記憶部41の記憶領域上のアドレスを示す「最後尾index」を有する。なお、キューの最後尾データとは、キューに含まれるデータのうち、最も「日時」が新しいデータを指す。また、第3のキューラベル41bは、自身が示すキューに含まれるデータの、測定データDB16bに保存されたデータ量の総和を示す「キュー長(サイズ)」を有する。
ダミーインデクス41cは、対応するデータのデータ種別を示す「種別」を有する。また、ダミーインデクス41cは、同一のデータ種別のダミーインデクス41cのうち、自身のダミーインデクス41cよりも「日時」が1つ前のダミーインデクス41cが記憶された記憶部21の記憶領域上のアドレスを示す「前index」を有する。また、ダミーインデクス41cは、同一のデータ種別のダミーインデクス41cのうち、自身のダミーインデクス41cよりも「日時」が1つ後ろのダミーインデクス41cが記憶された記憶部21の記憶領域上のアドレスを示す「後index」を有する。また、ダミーインデクス41cは、対応するインデクス41aのアドレスを示す「実インデクスへのポインタ」を有する。また、ダミーインデクス41cは、データに含まれるCPUなどが算出された日付、またはデータが送信された日付を示す「日時」を有する。また、ダミーインデクス41cは、対応するデータのデータサイズを示す「データサイズ」を有する。また、ダミーインデクス41cは、自身に対応するデータが保存された測定データDB16bのシーケンス番号を示す「DB格納情報」を有する。
記憶部41は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部41は、上記の種類の記憶装置に限定されるものではなく、RAM(Random Access Memory)、ROM(Read Only Memory)であってもよい。
生成部42aは、実施例1に係る生成部22bが行う処理に加え、次に示す処理を行う。すなわち、生成部42aは、対応するインデクス41aのアドレスを「実インデクスへのポインタ」に設定することで、上述したインデクス41aを生成したり、更新したりする。また、生成部42aは、第1のキューラベル21b、第2のキューラベル21c、第3のキューラベル41bを更新したりする。例えば、生成部42aは、I/F20を介してネットワーク情報収集装置13やサーバ情報収集装置14からのデータを受信するごとに、実施例1に係る生成部22bと同様に、受信したデータに含まれる各種情報を用いてインデクス41aを生成する。
また、生成部42aは、サーバ情報収集装置14およびI/F20を介して、待機状態、休止状態のサーバから送信された測定データを受信した場合には、対応する第3のキューラベル41bにより管理されるダミーインデクス41cを生成する。このダミーインデクス41cの「実インデクスへのポインタ」には、対応するインデクス41aのアドレスが設定される。また、生成部42aは、サーバ情報収集装置14およびI/F20を介して、待機状態、休止状態のサーバから送信された測定データを受信した場合には、インデクス41aの「ダミーへのポインタ」に、対応するダミーインデクス41cのアドレスを設定する。このように、待機状態、休止状態のサーバから送信された測定データを受信した場合には、生成部42aは、「実インデクスへのポインタ」および「ダミーへのポインタ」を設定することで、インデクス41aとダミーインデクス41cとをリンク付けする。なお、どのサーバが待機状態であるか、休止状態であるかについての情報は、運用管理装置15から通知されるサーバの状態に基づいて、生成部42aは認識できるものとする。
また、生成部42aは、第3のキューラベル41bの「先頭index」にアドレスが設定されていない場合には、次のような処理を行う。すなわち、生成部42aは、第3のキューラベル41bが示すキューの先頭データのダミーインデクス41cが記憶された記憶部41の記憶領域上のアドレスを、第3のキューラベル41bの「先頭index」に設定する。
また、生成部42aは、第3のキューラベル41bが示すキューの最後尾データのダミーインデクス41cが記憶された記憶部41の記憶領域上のアドレスを、第3のキューラベル41bの「最後尾index」に設定する。また、生成部42aは、キューに含まれる各ダミーインデクス41cが示すデータの、測定データDB16bに保存されたデータ量の総和を算出し、算出した総和を第3のキューラベル41bの「キュー長(サイズ)」に設定する。
判定部42bは、実施例1に係る判定部22cが行う処理に加え、次のような処理を行う。例えば、判定部42bは、所定時間間隔で、第3のキューラベル41bの「キュー長(サイズ)」が、閾値を超えたか否かを判定する。これにより、余剰保存領域に保存された非重要データのサイズが、閾値に達したか否かが判定される。なお、判定部42bは、余剰保存領域を算出し、所定の比率を用いて、閾値を算出する。例えば、判定部42bは、所定の比率「余剰保存領域の全領域:非重要データのサイズ=5:1」を用いた場合には、閾値として、余剰保存領域の大きさの1/5を算出する。
削除部42cは、実施例1に係る削除部22dが行う処理に加え、次のような処理を行う。例えば、削除部42cは、閾値に達した非重要データのサイズが、閾値より小さくなるように、閾値に達した非重要データを測定データDB16bから削除する。一例としては、削除部42cは、非重要データのサイズが閾値より小さくなるように、「日付」が古い非重要データから順に削除する。
例えば、削除部42cは、判定部42bにより、第3のキューラベル41bの「キュー長(サイズ)」が、閾値を超えたと判定された場合には、次のような処理を行う。すなわち、削除部42cは、第3のキューラベル41bの「先頭index」が示すダミーインデクス41cに対応するデータを、測定データDB16bから削除する。具体例を挙げて説明すると、削除部42cは、かかる「先頭index」が示すダミーインデクス41cの「DB格納情報」が示すシーケンス番号のレコードに保存されたデータを、測定データDB16bから削除する。
また、削除部42cは、第3のキューラベル41bの「キュー長(サイズ)」から、第3のキューラベル41bの「先頭index」が示すダミーインデクス41cの「データサイズ」を減算する。これは、次に説明するように、第3のキューラベル41bが示す仮想的なキューから、「先頭index」が示すダミーインデクス41cが仮想的に取り出されるからである。
また、削除部42cは、第3のキューラベル41bの「先頭index」が示すダミーインデクス41cを記憶部21から削除する。これにより、第3のキューラベル41bが示す仮想的なキューから、「先頭index」が示すダミーインデクス41cが仮想的に取り出される。
また、削除部42cは、第3のキューラベル41bが示すキューの先頭データのダミーインデクス41cのアドレスを用いて、次のような処理を行う。すなわち、削除部42cは、このアドレスを、第3のキューラベル41bの「先頭index」に設定する。このように、かかるアドレスを、第3のキューラベル41bの「先頭index」に再設定するのは、キューからダミーインデクス41cが仮想的に取り出され、キューの先頭のダミーインデクス41cが変更されたからである。
制御部42は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。
ここで、管理装置40の動作の一例について説明する。図30は、管理装置の動作の一例を模式的に示す図である。図30に示すように、管理装置40は、ネットワーク情報収集装置13、サーバ情報収集装置14からデータを受信すると、受信したデータを測定データDB16bに格納する。また、管理装置40は、受信したデータのデータ種別が「分毎データ」である場合には、「分毎データ」に対応する第1のキューラベル21bが示す仮想的なキュー30に、インデクス41aを仮想的に格納する。また、管理装置40は、受信したデータのデータ種別が「時毎データ」である場合には、「時毎データ」に対応する第1のキューラベル21bが示す仮想的なキュー31に、インデクス41aを仮想的に格納する。また、管理装置40は、受信したデータのデータ種別が「日毎データ」である場合には、「日毎データ」に対応する第1のキューラベル21bが示す仮想的なキュー32に、インデクス41aを仮想的に格納する。また、管理装置40は、受信したデータが非重要データである場合には、第3のキューラベル41bが示す仮想的なキュー50に、インデクス41aにリンクされたダミーインデクス41cを仮想的に格納する。
そして、図30に示すように、キュー30のインデクス41aの保存期間が、所定の期間、例えば、3ヶ月経過した場合には、管理装置40は、インデクス41aをキュー30から仮想的に取り出す。また、キュー31のインデクス41aの保存期間が、所定の期間、例えば、1年経過した場合には、管理装置40は、インデクス41aをキュー31から仮想的に取り出す。また、キュー32のインデクス41aの保存期間が、所定の期間、例えば、3年経過した場合には、管理装置40は、インデクス41aをキュー32から仮想的に取り出す。
そして、管理装置40は、キュー30から取り出したインデクス41aを、「分毎データ」に対応する第2のキューラベル21cが示す仮想的なキュー33に仮想的に格納する。また、管理装置40は、キュー31から取り出したインデクス41aを、「時毎データ」に対応する第2のキューラベル21cが示す仮想的なキュー34に仮想的に格納する。また、管理装置40は、キュー32から取り出したインデクス41aを、「日毎データ」に対応する第2のキューラベル21cが示す仮想的なキュー35に仮想的に格納する。
そして、キュー33のインデクス41aが示すデータのデータ量の総和が、閾値に達した場合には、管理装置40は、インデクス41aをキュー33から仮想的に取り出す。また、キュー34のインデクス41aが示すデータのデータ量の総和が、閾値に達した場合には、管理装置40は、インデクス41aをキュー34から仮想的に取り出す。また、キュー35のインデクス41aが示すデータのデータ量の総和が、閾値に達した場合には、管理装置40は、インデクス41aをキュー35から仮想的に取り出す。そして、管理装置40は、取り出したインデクス41aに対応するデータを測定データDB16bから削除する。
また、キュー50のダミーインデクス41cが示すデータのデータ量の総和が、閾値に達した場合には、管理装置40は、ダミーインデクス41cをキュー50から仮想的に取り出す。そして、管理装置40は、取り出したダミーインデクス41cに対応するデータを測定データDB16bから削除する。
このように、本実施例の管理装置40は、測定データDB16bの全記憶領域を、各種データを保存するために使用することができる。すなわち、本実施例の管理装置40は、各種データを保存する際に、余剰保存領域も使用する。したがって、本実施例の管理装置40によれば、余剰保存領域を有効に使用することができる。
また、本実施例の管理装置40は、待機状態や休止状態のサーバから送信された測定データについては、重要なデータでないため、各種データのサイズが閾値に達する前であっても、測定データDB16bから削除する。そのため、本実施例の管理装置40によれば、重要度の低い非重要データを優先的に削除することができる。
[処理の流れ]
次に、本実施例に係る管理装置40の処理の流れを説明する。以下の図31〜33で説明する各処理は、各々独立して実行される。なお、本実施例においても、図23〜27に示す各処理と同様の処理が実行されるが、その説明については省略する。図31は、実施例2に係る格納処理の手順を示すフローチャートである。この格納処理は、管理装置40の電源がONの間、繰り返し実行される。
図31に示すように、I/F20を介してネットワーク情報収集装置13やサーバ情報収集装置14からのデータを受信した場合(ステップS701肯定)に、格納部22aは、受信したデータを測定データDB16bに格納する(ステップS702)。生成部42aは、受信したデータに含まれる各種情報を用いてインデクス41aを生成する(ステップS703)。
生成部42aは、受信したデータが、非重要データであるか否かを判定する(ステップS704)。受信したデータが、非重要データである場合(ステップS704肯定)には、生成部42aは、ダミーインデクス41cを生成する(ステップS705)。生成部42aは、ダミーインデクス41cの「実インデクスへのポインタ」に、対応するインデクス41aのアドレスを設定し、インデクス41aの「ダミーへのポインタ」に、対応するダミーインデクス41cのアドレスを設定する(ステップS706)。
生成部42aは、新たに生成したダミーインデクス41cより「日時」が1つ前のダミーインデクス41cの「後index」に、新たなダミーインデクス41cのアドレスを設定する(ステップS707)。生成部42aは、キューに含まれる各ダミーインデクス41cが示すデータの、測定データDB16bに保存されたデータ量の総和を算出し、算出した総和を第3のキューラベル41bの「キュー長(サイズ)」に設定する(ステップS708)。生成部42aは、第3のキューラベル41bが示すキューの先頭データのダミーインデクス41cが記憶された記憶部41の記憶領域上のアドレスを、第3のキューラベル41bの「先頭index」に設定する(ステップS709)。なお、ステップS709の処理は、第3のキューラベル41bの「先頭index」にアドレスが設定されている場合には、省略することができる。生成部42aは、第3のキューラベル41bが示すキューの最後尾データのダミーインデクス41cが記憶された記憶部41の記憶領域上のアドレスを、第3のキューラベル41bの「最後尾index」に設定する(ステップS710)。
生成部42aは、新たに生成したインデクス41aと「データ種別」が同一であり、かつ、新たなインデクス41aより「日時」が1つ前のインデクス41aの「後index」に、新たなインデクス41aのアドレスを設定する(ステップS711)。生成部42aは、キューに含まれる各インデクス41aが示すデータの、測定データDB16bに保存されたデータ量の総和を算出し、算出した総和を第1のキューラベル21bの「キュー長(サイズ)」に設定する(ステップS712)。
生成部42aは、第1のキューラベル21bが示すキューの先頭データのインデクス41aが記憶された記憶部21の記憶領域上のアドレスを、第1のキューラベル21bの「先頭index」に設定する(ステップS713)。なお、ステップS713の処理は、第1のキューラベル21bの「先頭index」にアドレスが設定されている場合には、省略することができる。生成部42aは、第1のキューラベル21bが示すキューの最後尾データのインデクス41aが記憶された記憶部41の記憶領域上のアドレスを、第1のキューラベル21bの「最後尾index」に設定し(ステップS714)、ステップS701に戻る。一方、受信したデータが、非重要データでない場合(ステップS704否定)には、ステップS711に進む。
図32は、実施例2に係る第3の判定処理の手順を示すフローチャートである。この第3の判定処理は、管理装置40の電源がONの間、実行される。
図32に示すように、判定部42bは、現在の時刻が、確認タイミングであるか否かを判定する(ステップS801)。このような確認タイミングとしては、所定時間間隔ごとのタイミング、例えば、1分毎のタイミングが挙げられる。
現在の時刻が、確認タイミングである場合(ステップS801肯定)には、判定部42bは、次のような処理を行う。判定部42bは、分毎データ、時毎データ、日毎データのそれぞれに対応する第1のキューラベル21bの「キュー長」と、「重要データ」のデータサイズとの総和を算出する(ステップS802)。
判定部42bは、測定データDB16bの全記憶容量から、ステップS802で算出した総和を減算し、余剰保存領域の大きさを算出する(ステップS803)。判定部42bは、余剰保存領域の大きさを、所定の比率に基づいて、非重要データに分配する(ステップS804)。なお、非重要データに分配された余剰保存領域の大きさが、非重要データのサイズの閾値となる。
判定部42bは、第3のキューラベル41bの「キュー長」を確認する(ステップS805)。判定部42bは、確認した「キュー長」が、閾値を超えているか否かを判定する(ステップS806)。確認した「キュー長」が、閾値を超えていない場合(ステップS806否定)には、ステップS801に戻る。一方、確認した「キュー長」が、閾値を超えている場合(ステップS806肯定)には、判定部42bは、次のような処理を行う。すなわち、判定部42bは、第3のキューラベル41bの先頭のダミーインデクス41cを特定し、特定したダミーインデクス41cを制御部42の内部メモリに格納し(ステップS807)、ステップS801に戻る。
図33は、実施例2に係る削除処理の手順を示すフローチャートである。この削除処理は、上述したステップS807でダミーインデクス41cが特定されるたびに実行される。
図33に示すように、削除部42cは、特定されたダミーインデクス41cの「DB格納情報」が示すシーケンス番号のレコードに保存されたデータを、測定データDB16bから削除する(ステップS901)。削除部42cは、対応する第3のキューラベル41bの「キュー長(サイズ)」から、特定されたダミーインデクス41cの「データサイズ」を減算する(ステップS902)。
削除部42cは、特定されたダミーインデクス41c、およびこのダミーインデクス41cにリンクされたインデクス41aを記憶部41から削除する(ステップS903)。削除部42cは、第3のキューラベル41bが示すキューの先頭データのダミーインデクス41cのアドレスを用いて、次のような処理を行う。すなわち、削除部42cは、このアドレスを、第3のキューラベル41bの「先頭index」に設定し(ステップS904)、処理を終了する。
[実施例2の効果]
上述してきたように、本実施例の管理装置40は、測定データDB16bの全記憶領域を、各種データを保存するために使用することができる。すなわち、本実施例の管理装置40は、各種データを保存する際に、余剰保存領域も使用する。したがって、本実施例の管理装置40によれば、余剰保存領域を有効に使用することができる。
また、本実施例の管理装置40は、待機状態や休止状態のサーバから送信された測定データについては、重要なデータでないため、各種データのサイズが閾値に達する前であっても、測定データDB16bから削除する。そのため、本実施例の管理装置40によれば、重要度の低い非重要データを優先的に削除することができる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
たとえば、実施例1および実施例2において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。例えば、管理者などが、図示しない操作受付装置を介して、各処理の実行指示を入力してもよい。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。例えば、図26に示すステップS502、S503をまとめたり、図32に示すステップS802、S803をまとめたりすることもできる。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。例えば、図23に示すステップS210の処理を行う前に、ステップS211の処理を行うこともできる。また、図24に示すステップS310の処理を行う前に、ステップS311の処理を行うこともできる。図25に示すステップS410の処理を行う前に、ステップS411の処理を行うこともできる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図7に示す生成部22bと判定部22cとが統合されてもよい。また、図28に示す生成部42aと判定部42bとが統合されてもよい。
[管理プログラム]
また、上記の実施例で説明した管理装置の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図34を用いて、上記の実施例1で説明した管理装置と同様の機能を有する管理プログラムを実行するコンピュータの一例を説明する。また、図35を用いて、上記の実施例2で説明した管理装置と同様の機能を有する管理プログラムを実行するコンピュータの一例を説明する。
図34は、管理プログラムを実行するコンピュータを示す図である。図34に示すように、実施例3におけるコンピュータ300は、CPU(Central Processing Unit)310、ROM(Read Only Memory)320、HDD(Hard Disk Drive)330、RAM(Random Access Memory)340を有する。これら300〜340の各部は、バス350を介して接続される。
ROM320には、上記の実施例1で示す格納部22aと、生成部22bと、判定部22cと、削除部22dと同様の機能を発揮する管理プログラム320aが予め記憶される。なお、管理プログラム320aについては、適宜分離しても良い。例えば、格納部22aと、判定部22cと、削除部22dと同様の機能を発揮するプログラムと、生成部22bと同様の機能を発揮するプログラムとに分離しても良い。
そして、CPU310が、管理プログラム320aをROM320から読み出して実行する。
そして、HDD330には、インデクス330a、第1のキューラベル330b、第2のキューラベル330c、設定表330dが設けられる。これらインデクス330a、第1のキューラベル330b、第2のキューラベル330c、設定表330dのそれぞれは、図7に示したインデクス21a、第1のキューラベル21b、第2のキューラベル21c、設定表21dのそれぞれに対応する。
そして、CPU310は、インデクス330a、第1のキューラベル330b、第2のキューラベル330c、設定表330dを読み出してRAM340に格納する。さらに、CPU310は、RAM340に格納されたインデクスデータ340aと、第1のキューラベルデータ340bと、第2のキューラベルデータ340cと、設定表データ340dとを用いて、管理プログラムを実行する。なお、RAM340に格納される各データは、常に全てのデータがRAM340に格納される必要はなく、処理に必要なデータのみがRAM340に格納されれば良い。
図35は、管理プログラムを実行するコンピュータを示す図である。図35に示すように、実施例4におけるコンピュータ400は、CPU410、ROM420、HDD430、RAM440を有する。これら400〜440の各部は、バス450を介して接続される。
ROM420には、上記の実施例2で示す格納部22aと、生成部42aと、判定部42bと、削除部42cと同様の機能を発揮する管理プログラム420aが予め記憶される。なお、管理プログラム420aについては、適宜分離しても良い。例えば、格納部22aと、判定部42bと、削除部42cと同様の機能を発揮するプログラムと、生成部42aと同様の機能を発揮するプログラムとに分離しても良い。
そして、CPU410が、管理プログラム420aをROM420から読み出して実行する。
そして、HDD430には、インデクス430a、第1のキューラベル430b、第2のキューラベル430c、第3のキューラベル430d、設定表430e、ダミーインデクス430fが設けられる。インデクス430aは、図28に示したインデクス41aに対応する。また、第1のキューラベル430b、第2のキューラベル430c、第3のキューラベル430dのそれぞれは、図28に示した第1のキューラベル21b、第2のキューラベル21c、第3のキューラベル41bのそれぞれに対応する。また、設定表430e、ダミーインデクス430fのそれぞれは、図28に示した設定表21d、ダミーインデクス41cのそれぞれに対応する。
そして、CPU410は、インデクス430a、第1のキューラベル430b、第2のキューラベル430c、第3のキューラベル430d、設定表430e、ダミーインデクス430fを読み出してRAM440に格納する。さらに、CPU410は、RAM440に格納された、次に示すデータを用いて管理プログラムを実行する。すなわち、CPU410は、インデクスデータ440aと、第1のキューラベルデータ440bと、第2のキューラベルデータ440cと、第3のキューラベルデータ440dと、設定表データ440eと、ダミーインデクスデータ440fとを用いる。なお、RAM440に格納される各データは、常に全てのデータがRAM440に格納される必要はなく、処理に必要なデータのみがRAM440に格納されれば良い。
なお、上記した管理プログラムについては、必ずしも最初からROM320、420に記憶させておく必要はない。
例えば、コンピュータ300、400に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ300、400がこれらからプログラムを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300、400に接続される「他のコンピュータ(またはサーバ)」などにプログラムを記憶させておく。そして、コンピュータ300、400がこれらからプログラムを読み出して実行するようにしてもよい。
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
(付記1)記憶部に、データを格納する格納部と、
前記格納部により格納された前記データの保存期間が、データ種別ごとに定められた保存期間に達した場合に、前記データのサイズが、データ種別ごとに定められた閾値に達したか否かを判定する判定部と、
前記判定部により前記データのサイズが、データ種別ごとに定められた閾値に達したと判定された場合に、該閾値に達したデータ種別のデータのサイズが該閾値より小さくなるように、該閾値に達したデータ種別のデータを前記記憶部から削除する削除部と、
を有することを特徴とする管理装置。
(付記2)前記削除部は、前記データが所定の運用状態の装置から送信されたデータである場合には、前記判定部により前記データのサイズが、データ種別ごとに定められた閾値に達したと判定される前であっても、前記データが格納された記憶部から、前記データを削除する
ことを特徴とする付記1に記載の管理装置。
(付記3)前記判定部は、前記格納部により格納された前記データの保存期間が、データ種別ごとに定められた保存期間に達したか否かを判定し、該データの保存期間が、データ種別ごとに定められた保存期間に達したと判定した場合に、該データのサイズが、データ種別ごとに定められた閾値に達したか否かを判定する
ことを特徴とする付記1または2に記載の管理装置。
(付記4)コンピュータに、
データを記憶部に格納し、
格納された前記データの保存期間が、データ種別ごとに定められた保存期間に達した場合に、前記データのサイズが、データ種別ごとに定められた閾値に達したか否かを判定し、
前記データのサイズが、データ種別ごとに定められた閾値に達したと判定された場合に、該閾値に達したデータ種別のデータのサイズが該閾値より小さくなるように、該閾値に達したデータ種別のデータを前記記憶部から削除する
処理を実行させることを特徴とする管理プログラム。
(付記5)前記データを前記記憶部から削除する処理は、前記データが所定の運用状態の装置から送信されたデータである場合には、前記判定部により前記データのサイズが、データ種別ごとに定められた閾値に達したと判定される前であっても、前記データが格納された記憶部から、前記データを削除する
ことを特徴とする付記4に記載の管理プログラム。
(付記6)コンピュータが実行する管理方法であって、
記憶部に、データを格納し、
格納された前記データの保存期間が、データ種別ごとに定められた保存期間に達した場合に、前記データのサイズが、データ種別ごとに定められた閾値に達したか否かを判定し、
前記データのサイズが、データ種別ごとに定められた閾値に達したと判定された場合に、該閾値に達したデータ種別のデータのサイズが該閾値より小さくなるように、該閾値に達したデータ種別のデータを前記記憶部から削除する
ことを特徴とする管理方法。
(付記7)前記データを前記記憶部から削除する方法は、前記データが所定の運用状態の装置から送信されたデータである場合には、前記判定部により前記データのサイズが、データ種別ごとに定められた閾値に達したと判定される前であっても、前記データが格納された記憶部から、前記データを削除する
ことを特徴とする付記6に記載の管理方法。
10 管理装置
11 ユーザ端末
12 サービスシステム
12a ルータ
12b Webサーバ
12c APサーバ
12d DBサーバ
13 ネットワーク情報収集装置
14 サーバ情報収集装置
15 運用管理装置
16 データ保存装置
16a 記憶部
16b 測定データDB
17 システム管理者用端末
21 記憶部
21a インデクス
21b 第1のキューラベル
21c 第2のキューラベル
21d 設定表
22a 格納部
22b 生成部
22c 判定部
22d 削除部

Claims (4)

  1. 記憶装置に、1以上のデータを格納する格納部と、
    前記記憶装置における余剰保存領域のデータサイズを算出し、算出した余剰保存領域のデータサイズに対する前記1以上のデータのデータ種別ごとに予め定められた比率に応じて、データ種別ごとの閾値を算出し、データ種別ごとに、データ種別ごとに定められた保存期間に達したデータのデータサイズの総和が、データ種別ごとに算出された閾値に達したデータ種別のデータがあるか否かを判定する判定部と、
    前記判定部により前記保存期間に達したデータのデータサイズの総和が、データ種別ごとに算出された閾値に達したデータ種別のデータがあると判定された場合に、該閾値に達したデータ種別の前記保存期間に達したデータのデータサイズの総和が該閾値より小さくなるように、該閾値に達したデータ種別の前記保存期間に達したデータを前記記憶装置から削除する削除部と、
    を有することを特徴とする管理装置。
  2. 前記削除部は、前記データが所定の運用状態の装置から送信されたデータである場合には、前記判定部により前記保存期間に達したデータのデータサイズの総和が、データ種別ごとに算出された閾値に達したデータ種別のデータがあると判定される前であっても、前記データが格納された記憶装置から、前記データを削除する
    ことを特徴とする請求項1に記載の管理装置。
  3. コンピュータに、
    1以上のデータを記憶装置に格納し、
    前記記憶装置における余剰保存領域のデータサイズを算出し、算出した余剰保存領域のデータサイズに対する前記1以上のデータのデータ種別ごとに予め定められた比率に応じて、データ種別ごとの閾値を算出し、データ種別ごとに、データ種別ごとに定められた保存期間に達したデータのデータサイズの総和が、データ種別ごとに算出された閾値に達したデータ種別のデータがあるか否かを判定し、
    前記保存期間に達したデータのデータサイズの総和が、データ種別ごとに算出された閾値に達したデータ種別のデータがあると判定された場合に、該閾値に達したデータ種別の前記保存期間に達したデータのデータサイズの総和が該閾値より小さくなるように、該閾値に達したデータ種別の前記保存期間に達したデータを前記記憶装置から削除する
    処理を実行させることを特徴とする管理プログラム。
  4. コンピュータが実行する管理方法であって、
    1以上のデータを記憶装置に格納し、
    前記記憶装置における余剰保存領域のデータサイズを算出し、算出した余剰保存領域のデータサイズに対する前記1以上のデータのデータ種別ごとに予め定められた比率に応じて、データ種別ごとの閾値を算出し、データ種別ごとに、データ種別ごとに定められた保存期間に達したデータのデータサイズの総和が、データ種別ごとに算出された閾値に達したデータ種別のデータがあるか否かを判定し、
    前記保存期間に達したデータのデータサイズの総和が、データ種別ごとに算出された閾値に達したデータ種別のデータがあると判定された場合に、該閾値に達したデータ種別の前記保存期間に達したデータのデータサイズの総和が該閾値より小さくなるように、該閾値に達したデータ種別の前記保存期間に達したデータを前記記憶装置から削除する
    ことを特徴とする管理方法。
JP2011030224A 2011-02-15 2011-02-15 管理装置、管理プログラムおよび管理方法 Expired - Fee Related JP5664315B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011030224A JP5664315B2 (ja) 2011-02-15 2011-02-15 管理装置、管理プログラムおよび管理方法
US13/314,457 US8935503B2 (en) 2011-02-15 2011-12-08 Management device, storage medium, and management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011030224A JP5664315B2 (ja) 2011-02-15 2011-02-15 管理装置、管理プログラムおよび管理方法

Publications (3)

Publication Number Publication Date
JP2012168815A JP2012168815A (ja) 2012-09-06
JP2012168815A5 JP2012168815A5 (ja) 2013-11-28
JP5664315B2 true JP5664315B2 (ja) 2015-02-04

Family

ID=46637803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011030224A Expired - Fee Related JP5664315B2 (ja) 2011-02-15 2011-02-15 管理装置、管理プログラムおよび管理方法

Country Status (2)

Country Link
US (1) US8935503B2 (ja)
JP (1) JP5664315B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8903784B2 (en) * 2012-08-24 2014-12-02 The Boeing Company Data retention management
JP5380608B1 (ja) 2012-09-19 2014-01-08 株式会社東芝 時系列データ蓄積装置
CN103902394B (zh) * 2012-12-26 2017-04-12 腾讯科技(深圳)有限公司 清理终端冗余信息的方法及装置
JP6135529B2 (ja) * 2014-02-04 2017-05-31 横河電機株式会社 情報表示装置、情報処理装置、情報表示システム、および情報表示方法
US9454575B2 (en) * 2014-03-28 2016-09-27 Hewlett Packard Enterprise Development Lp Processing a metric of a component of a software-defined network
WO2015166529A1 (ja) * 2014-04-28 2015-11-05 株式会社日立製作所 ストレージシステム、ストレージ制御方法、及び、ストレージ管理装置
US11544049B2 (en) 2016-02-12 2023-01-03 Nutanix, Inc. Virtualized file server disaster recovery
JP6215401B1 (ja) * 2016-06-27 2017-10-18 株式会社東芝 データベース管理装置、データベース管理方法、およびデータベース管理プログラム
JP6325728B2 (ja) * 2017-08-07 2018-05-16 株式会社東芝 データベース管理装置、データベース管理方法、およびデータベース管理プログラム
JP7106656B2 (ja) * 2018-09-07 2022-07-26 株式会社東芝 データベース装置、プログラム、およびデータ処理方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3326985B2 (ja) 1994-09-09 2002-09-24 富士通株式会社 画像情報管理装置
JPH08305614A (ja) * 1995-05-08 1996-11-22 Ricoh Co Ltd 情報処理装置
JPH0916440A (ja) 1995-06-30 1997-01-17 Meidensha Corp ロギングシステム
JPH1011330A (ja) 1996-06-26 1998-01-16 Ricoh Co Ltd ログ記録方法およびログ記録装置
JPH10124351A (ja) * 1996-10-18 1998-05-15 Nec Corp ファイル保存期間管理装置、ファイル保存期間管理方法 およびファイル保存期間管理用プログラムを記憶した記 憶媒体
US5966708A (en) 1997-03-28 1999-10-12 International Business Machines Tail compression of a log stream using a scratch pad of logically deleted entries
JP3216619B2 (ja) * 1998-11-09 2001-10-09 日本電気株式会社 電子メール保管装置
JP2002251304A (ja) * 2001-02-22 2002-09-06 Ricoh Co Ltd 文書管理システム
JP3991212B2 (ja) * 2002-08-06 2007-10-17 ソニー株式会社 コンテンツ記録装置
JP2005011469A (ja) * 2003-06-20 2005-01-13 Orion Denki Kk 記録再生装置およびファイルの自動削除方法
US7500053B1 (en) * 2004-11-05 2009-03-03 Commvvault Systems, Inc. Method and system for grouping storage system components
JP2007201819A (ja) * 2006-01-26 2007-08-09 Sony Corp コンテンツ記録装置、コンテンツ記録方法及びコンテンツ記録プログラム
JP2009010603A (ja) * 2007-06-27 2009-01-15 Sony Corp 記録装置および記録方法
US8412905B2 (en) * 2009-01-01 2013-04-02 Sandisk Il Ltd. Storage system having secondary data store to mirror data
JP2010245699A (ja) * 2009-04-02 2010-10-28 Kyocera Mita Corp 画像形成装置
JP5070315B2 (ja) * 2010-04-28 2012-11-14 株式会社日立製作所 ストレージ装置及びストレージ装置におけるデータ階層管理方法

Also Published As

Publication number Publication date
JP2012168815A (ja) 2012-09-06
US20120210088A1 (en) 2012-08-16
US8935503B2 (en) 2015-01-13

Similar Documents

Publication Publication Date Title
JP5664315B2 (ja) 管理装置、管理プログラムおよび管理方法
US8880835B2 (en) Adjusting location of tiered storage residence based on usage patterns
JP4374378B2 (ja) 運用実績評価装置、運用実績評価方法、およびプログラム
US9703500B2 (en) Reducing power consumption by migration of data within a tiered storage system
CN105027068B (zh) 在存储系统中执行复制
US20170161117A1 (en) Apparatus and method to determine a service to be scaled out based on a predicted virtual-machine load and service importance
JP2012088808A (ja) 仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法
WO2019062189A1 (zh) 电子装置、数据表归档处理的方法、系统及存储介质
JP2007316725A (ja) 記憶領域管理方法及び管理計算機
JP2006277545A (ja) 計算機システム、記憶装置システムおよびライト処理制御方法
CN104424361A (zh) 自动定义热存储和大工作负载
JP5324914B2 (ja) ストレージリソースを割り振る方法および装置
JP5895944B2 (ja) 管理装置、管理プログラムおよび管理方法
CN111966887A (zh) 动态缓存方法及装置、电子设备、存储介质
US20180025096A1 (en) Data referring method, information processing apparatus, and storage medium
JP5575828B2 (ja) ガベージコレクション実行装置、ガベージコレクション実行方法及びガベージコレクション実行プログラム
JP2011243117A (ja) 入出力制御プログラム、情報処理装置および入出力制御方法
CN113553216B (zh) 数据恢复方法、装置、电子设备及存储介质
JP2017167706A (ja) 情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法
US20120054375A1 (en) System, method and computer program product for monitoring memory access
JP7335502B2 (ja) 情報処理システム、情報処理方法および情報処理プログラム
US9442659B2 (en) Data backup storage system
JP6627475B2 (ja) 処理リソース制御プログラム、処理リソース制御装置、および処理リソース制御方法
CN110554916B (zh) 基于分布式集群的风险指标计算方法及装置
US9933966B2 (en) Storage control device and computer system

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131010

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140603

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140801

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141124

R150 Certificate of patent or registration of utility model

Ref document number: 5664315

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees