(57)【特許請求の範囲】
【請求項１】
連続して発生するデータを複数の保存装置のいずれかに保存させるストリームデータ制御システムであって、
前記各保存装置において処理できる、単位時間あたりのデータ量である処理可能流量を管理する処理可能流量管理手段と、
一の重要度が付与されるデータの種類別に、単位時間あたりに処理すべきデータ量であるデータ流量を管理する類別データ流量管理手段と、
前記各保存装置の処理可能流量と、前記種類別のデータ流量とに基づき、各保存装置が処理可能な範囲内においてデータの重要度が高いほど優先度の高い保存装置に保存されるよう各データの保存先を制御する保存先制御手段と、
一の重要度が付与されるデータの種類を判別するための情報と、該種類に属するデータに付与される重要度とを対応づけて記憶する重要度情報記憶手段と、
各保存装置に保存されているデータがいつアクセスされたかを示す情報を記憶するアクセス情報記憶手段と、
所定のタイミングで、各保存装置においてアクセスされたデータの種類を判別して種類別のアクセス頻度を計算し、アクセス頻度が高い順に、高い重要度が付与されるよう前記重要度情報記憶手段に記憶されている重要度を更新する重要度更新手段とを備え、
前記保存先制御手段は、前記重要度情報記憶手段に記憶されている情報に基づいて、データの重要度を判別する
ことを特徴とするストリームデータ制御システム。
【請求項２】
各データがどの保存装置に保存されているかを示す情報を記憶する格納先情報記憶手段を備えた
請求項１に記載のストリームデータ制御システム。
【請求項３】
保存先制御手段は、所定のタイミングで、各保存装置の処理可能流量と種類別のデータ流量とに基づいて、データの重要度別に保存先とする保存装置を決定し、
前記保存先制御手段は、各データに対して、データの重要度を判別し、現時点において決定されている前記重要度別の保存先に従い、当該データの保存先を制御する
請求項１または請求項２に記載のストリームデータ制御システム。
【請求項４】
一の重要度が付与されるデータの種類に対して、少なくとも一の種類のデータ流量の値と、少なくとも一の保存装置の処理可能流量の値とで示されるシステム状態の条件と、前記条件に合致した場合の当該種類に属するデータの保存先とを規定した情報である保存先決定ルールを記憶する保存先決定ルール記憶手段と、
前記種類に応じてデータを分類するデータ分類手段とを備え、
類別データ流量管理手段は、前記データ分類手段によって分類されるデータの種類別にデータ流量を計算し、
保存先制御手段は、各データに対し、処理可能流量管理手段が管理している各保存装置の処理可能流量と、類別データ流量管理手段が管理している種類別のデータ流量との組み合わせで示される現時点におけるシステム状態が、当該データの種類に対し前記保存先決定ルールが規定しているいずれの条件に合致するかを判断することによって、当該データの保存先を制御する
請求項１または請求項２に記載のストリームデータ制御システム。
【請求項５】
データの種類に応じてデータを分類するデータ分類手段を備えたストリームデータ制御システムであって、
所定のタイミングで、現時点における各保存装置の処理可能流量と種類別のデータ流量とで示されるシステム状態を条件に、各保存装置と各保存装置に保存されているデータの種類との相関を学習し、各保存装置において各種類に属するデータを保存するか否かをシステム状態を条件に判断するための学習モデルを生成する学習モデル生成手段を備え、
保存先制御手段が、各保存装置に対応して設けられ、現時点における各保存装置の処理可能流量と種類別のデータ流量とで示されるシステム状態を条件に、前記学習モデル生成手段が生成した学習モデルに従い、データを、対応する保存装置に保存するか否かを判別する判別手段によって実現される
請求項１から請求項４のうちのいずれか１項に記載のストリームデータ制御システム。
【請求項６】
処理可能流量管理手段は、所定のタイミングで、各保存装置の処理性能と処理データ量とに基づいて、各保存装置の処理可能流量を計算することで、各保存装置の処理可能流量を管理し、
類別データ流量管理手段は、所定のタイミングで、それまでに取得したデータの種類とデータ取得時間とに基づいて、データの種類別にデータ流量を計算することで、種類別のデータ流量を管理する
請求項１から請求項５のうちのいずれか１項に記載のストリームデータ制御システム。
【請求項７】
処理可能流量管理手段は、所定のタイミングで、各保存装置の記憶容量と処理データ量とに基づいて、各保存装置の保存可能容量を計算することで、各保存装置の保存可能容量を管理し、
保存先制御手段は、各保存装置の処理可能流量および前記保存可能容量と、前記種類別のデータ流量とに基づいて、各保存装置が処理可能かつ保存可能な範囲内においてデータの重要度が高いほど優先度の高い保存装置に保存されるよう各データの保存先を制御する
請求項１から請求項６のうちのいずれか１項に記載のストリームデータ制御システム。
【請求項８】
処理可能流量算出手段は、処理可能流量または保存可能容量を算出するために必要な情報を、ネットワーク管理プロトコルを用いて収集する
請求項６または請求項７に記載のストリームデータ制御システム。
【請求項９】
連続して発生するデータを複数の保存装置のいずれかに保存させるためのストリームデータ制御方法であって、
一の重要度が付与されるデータの種類を判別するための情報と、該種類に属するデータに付与される重要度とを対応づけた重要度情報を記憶し、
前記各保存装置において処理できる、単位時間あたりのデータ量である処理可能流量を管理し、
一の重要度が付与されるデータの種類別に、単位時間あたりに処理すべきデータ量であるデータ流量を管理し、
前記重要度情報に基づいてデータの重要度を判別し、前記各保存装置の処理可能流量と、前記種類別のデータ流量とに基づき、各保存装置が処理可能な範囲内においてデータの重要度が高いほど優先度の高い保存装置に保存されるよう各データの保存先を制御する中で、
各保存装置に保存されているデータがいつアクセスされたかを示す情報を記憶するアクセス情報記憶手段を備えたデータアクセス管理部が、所定のタイミングで、各保存装置においてアクセスされたデータの種類を判別して種類別のアクセス頻度を計算し、アクセス頻度が高い順に高い重要度が付与されるよう前記重要度情報における重要度を更新する
ことを特徴とするストリームデータ制御方法。
【請求項１０】
各データがどの保存装置に保存されているかを示す情報を記憶する
請求項９に記載のストリームデータ制御方法。
【請求項１１】
所定のタイミングで、各保存装置の処理可能流量と種類別のデータ流量とに基づいて、データの重要度別に保存先とする保存装置を決定し、
各データに対して、データの重要度を判別し、現時点において決定されている前記重要度別の保存先に従い、当該データの保存先を制御する
請求項９または請求項１０に記載のストリームデータ制御方法。
【請求項１２】
一の重要度が付与されるデータの種類に対して、少なくとも一の種類のデータ流量の値と、少なくとも一の保存装置の処理可能流量の値とで示されるシステム状態の条件と、前記条件に合致した場合の当該種類に属するデータの保存先とを規定した情報である保存先決定ルールを記憶し、
前記データの種類に応じて分類されるデータの種類別にデータ流量を計算し、
各データに対し、各保存装置の処理可能流量と、前記種類別のデータ流量との組み合わせで示される現時点におけるシステム状態が、当該データの種類に対し前記保存先決定ルールが規定しているいずれの条件に合致するかを判断することによって、当該データの保存先を制御する
請求項９または請求項１０に記載のストリームデータ制御方法。
【請求項１３】
所定のタイミングで、現時点における各保存装置の処理可能流量と種類別のデータ流量とで示されるシステム状態を条件に、各保存装置と各保存装置に保存されているデータの種類との相関を学習し、各保存装置において各種類に属するデータを保存するか否かをシステム状態を条件に判断するための学習モデルを生成し、
各保存装置に対応して設けられた判別手段が、現時点における各保存装置の処理可能流量と種類別のデータ流量とで示されるシステム状態を条件に、前記学習モデルに従い、データを、対応する保存装置に保存するか否かを判別する
請求項９から請求項１２のうちのいずれか１項に記載のストリームデータ制御方法。
【請求項１４】
連続して発生するデータを複数の保存装置のいずれかに保存させるためのストリームデータ制御用プログラムであって、
一の重要度が付与されるデータの種類を判別するための情報と、該種類に属するデータに付与される重要度とを対応づけた重要度情報を記憶する記憶手段を備えたコンピュータに、
前記各保存装置において処理できる、単位時間あたりのデータ量である処理可能流量を計算する処理、
一の重要度が付与されるデータの種類別に、単位時間あたりに処理すべきデータ量であるデータ流量を計算する処理、および
前記重要度情報に基づいてデータの重要度を判別し、前記各保存装置の処理可能流量と、前記種類別のデータ流量とに基づき、各保存装置が処理可能な範囲内においてデータの重要度が高いほど優先度の高い保存装置に保存されるよう各データの保存先を制御する処理を実行させつつ、
所定のタイミングで、各保存装置に保存されているデータがいつアクセスされたかを示す情報に基づいて、各保存装置においてアクセスされたデータの種類を判別し、種類別のアクセス頻度を計算して、アクセス頻度が高い順に、高い重要度が付与されるよう前記重要度情報における重要度を更新する処理を実行させる
ためのストリームデータ制御用プログラム。
【請求項１５】
一の重要度が付与されるデータの種類に対して、少なくとも一の種類のデータ流量の値と、少なくとも一の保存装置の処理可能流量の値とで示されるシステム状態の条件と、前記条件に合致した場合の当該種類に属するデータの保存先とを規定した情報である保存先決定ルールを記憶する記憶手段を備えたコンピュータに、
前記データの種類に応じて分類されるデータの種類別にデータ流量を計算する処理、および
各データに対し、各保存装置の処理可能流量と、前記種類別のデータ流量との組み合わせで示される現時点におけるシステム状態が、当該データの種類に対し前記保存先決定ルールが規定しているいずれの条件に合致するかを判断することによって、当該データの保存先を制御する処理を実行させる
請求項１４に記載のストリームデータ制御用プログラム。
【請求項１６】
コンピュータに、
所定のタイミングで、現時点における各保存装置の処理可能流量と種類別のデータ流量とで示されるシステム状態を条件に、各保存装置と各保存装置に保存されているデータの種類との相関を学習し、各保存装置において各種類に属するデータを保存するか否かをシステム状態を条件に判断するための学習モデルを生成する処理、および
各保存装置に対応して設けられた判別手段に、現時点における各保存装置の処理可能流量と種類別のデータ流量とで示されるシステム状態を条件に、前記学習モデルに従い、データを、対応する保存装置に保存するか否かを判別させる処理を実行させる
請求項１４に記載のストリームデータ制御用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連続して発生するデータを保存装置やフィルタ装置等の所定の処理装置に処理させるストリームデータ制御システム、ストリームデータ制御方法およびストリームデータ制御用プログラムに関する。
【背景技術】
【０００２】
データを記憶装置に記憶させるための技術として、例えば、特許文献１には、記憶媒体を複数具備するデータ記憶装置において、データの重要度に応じて安全性の高い記憶媒体に保存する手法が示されている。図１５は、特許文献１においてデータ記憶装置の構成例として示されているブロック図である。特許文献１に記載されているデータ記憶装置は、規則格納手段９１と、重要度算出手段９２と、保存先選択手段９５と、安全性格納手段９６と、保存／移動処理手段９７とを備えている。
【０００３】
このような構成において、規則格納手段９１はデータを重要度により順位付ける規則を記憶し、重要度算出手段９２は、規則格納手段９１に記憶されている規則に基づき記憶装置内のデータに順位付けを行う。安全性格納手段９６は、複数の記憶媒体を安全性により順位付ける規則を記憶し、保存先選択手段９５は、安全性格納手段９６に記憶されている規則に基づき、記憶装置内の複数の記憶媒体に順位付けを行う。保存／移動処理手段９７は、データの順位付けと記憶媒体の順位付けとに基づき、記憶装置内の複数の記憶媒体からデータを保存すべき記憶媒体を選択し、データを保存する。
【０００４】
また、非特許文献１には、ログなど連続して発生するデータに対する複数の蓄積処理を実現する手法が示されている。図１６は、非特許文献１においてストリーム管理システムの構成例として示されているブロック図である。非特許文献１に記載されているストリーム管理システムは、要求記述解析器８１と、最適化器８２と、ストリームプロセッサ８３と、ストリームラッパ８４と、ストリームアーカイバ８５と、ＤＢＭＳコネクタ８６とを備えている。
【０００５】
このような構成において、要求記述解析器８１は、利用者からのデータ処理要求を受け、最適化器８２に渡す。最適化器８２は、各処理をストリームプロセッサ８３およびストリームアーカイバ８５に配置する。ストリームプロセッサ８３は、ストリームラッパ８４を介して集積したストリーム型情報源からのデータおよびストリームアーカイバ８５を介して蓄積されているデータにアクセスし、最適化配置された処理を実行し、利用者に処理結果を返したり、処理したデータを蓄積するようにストリームアーカイバ８５に渡す。ストリームアーカイバ８５は、最適化配置された処理に従って、ＤＢＭＳコネクタ８６を介して、１つ以上のＤＢＭＳに対して、保存（アーカイブ）データの入出力を行う。
【０００６】
【特許文献１】特開２００３−００６００５号公報
【非特許文献１】山田、他，「ストリーム管理システムにおける複数永続化要求最適化手法」，電子情報通信学会データ工学ワークショップ（ＤＥＷＳ），２００７年
【発明の開示】
【発明が解決しようとする課題】
【０００７】
第１の問題点は、保存すべきデータが大量に連続して発生するような場合に、記憶装置の記憶容量以外の要因でデータ溢れが発生し、データを保存することが出来ない可能性があるということである。例えば、データソース側からは小サイズかつ連続してデータが発生、または大量のデータソースから小サイズのデータが発生すると、そのデータを処理するセンタ側では小サイズかつ連続してデータを処理することになり、単位時間あたりに処理すべきデータ量（以下、データ流量という。）が、データの保存または転送処理可能速度に応じた実際に処理できる単位時間あたりのデータ量（以下、処理可能流量という。）を上回るとデータを捨てなければならないからである。なお、通常はバッファを設けてその差異（データ流量と、処理可能流量との差異）を吸収するが、データ流量が処理可能流量を大きく上回ると、バッファにさえ格納できずに、バッファに格納できないデータか、既にバッファに格納されているデータのいずれかを捨てることになるからである。
【０００８】
なお、特許文献１に記載されているデータ記憶装置では、ハードディスクの空き容量または安全性を考慮してデータを保存すべき記憶媒体を選択しているが、処理性能については考慮されていない。従って、小サイズかつ連続して重要度の高いデータを処理しなければならない場合に、処理性能が追いつかないことが原因でデータを保存することができない可能性がある。
【０００９】
また、特許文献１では、重要度という観点でデータの保存先を制御する手法について言及しているが、どの重要度のデータをどの記憶媒体に格納するのかについては具体的に言及されておらず、また定式化された操作ではないので、その対応付けをルール化して記述することが困難である。
【００１０】
また、非特許文献１に記載されている手法は、処理そのものを最適化しようということが目的であって、データ量に応じて保存先を制御する方式については言及されていない。すなわち、非特許文献１に記載されている手法は、処理の流れにおいて、処理内容が共通かできるかどうかの観点でアルゴリズムを最適化するものであって、データ流量に対して処理可能流量が大きく上回る可能性がある場合に、データの保存先をどのように制御するかについては何ら考慮されていない。
【００１１】
そこで、本発明は、データが大量に連続して発生するような場合であっても、データの処理漏れの可能性を低減し、より確実にデータを処理することができるようにすることを目的とする。
【課題を解決するための手段】
【００１２】
本発明によるストリームデータ制御システムは、連続して発生するデータを所定の保存装置に保存させるストリームデータ制御システムであって、各保存装置において処理できる、単位時間あたりのデータ量である処理可能流量を管理する処理可能流量管理手段と、所定の重要度が割り当てられるデータの種類別に、単位時間あたりに処理すべきデータ量であるデータ流量を管理する類別データ流量管理手段と、各保存装置の処理可能流量と、種類別のデータ流量とに基づき、各保存装置が処理可能な範囲内においてデータの重要度が高いほど優先度の高い保存装置に保存されるよう各データの保存先を制御する保存先制御手段と、一の重要度が付与されるデータの種類を判別するための情報と、該種類に属するデータに付与される重要度とを対応づけて記憶する重要度情報記憶手段と、各保存装置に保存されているデータがいつアクセスされたかを示す情報を記憶するアクセス情報記憶手段と、所定のタイミングで、各保存装置においてアクセスされたデータの種類を判別して種類別のアクセス頻度を計算し、アクセス頻度が高い順に、高い重要度が付与されるよう重要度情報記憶手段に記憶されている重要度を更新する重要度更新手段とを備え、保存先制御手段は、重要度情報記憶手段に記憶されている情報に基づいて、データの重要度を判別するを備えたことを特徴とする。
【００１４】
また、本発明によるストリームデータ制御方法は、連続して発生するデータを所定の保存装置に保存させるためのストリームデータ制御方法であって、一の重要度が付与されるデータの種類を判別するための情報と、該種類に属するデータに付与される重要度とを対応づけた重要度情報を記憶し、各保存装置において処理できる、単位時間あたりのデータ量である処理可能流量を管理し、連続して発生するデータの重要度を重要度情報に基づいて判別して、所定の重要度が割り当てられるデータの種類別に、単位時間あたりに処理すべきデータ量であるデータ流量を管理し、各保存装置の処理可能流量と、種類別のデータ流量とに基づき、各保存装置が処理可能な範囲内においてデータの重要度が高いほど優先度の高い保存装置に保存されるよう各データの保存先を制御する中で、各保存装置に保存されているデータがいつアクセスされたかを示す情報を記憶するアクセス情報記憶手段を備えたデータアクセス管理部が、所定のタイミングで、各保存装置においてアクセスされたデータの種類を判別して種類別のアクセス頻度を計算し、アクセス頻度が高い順に高い重要度が付与されるよう重要度情報における重要度を更新することを特徴とする。
【００１５】
また、本発明によるストリームデータ制御用プログラムは、連続して発生するデータを所定の保存装置に保存させるためのストリームデータ制御用プログラムであって、一の重要度が付与されるデータの種類を判別するための情報と、該種類に属するデータに付与される重要度とを対応づけた重要度情報を記憶する記憶手段を備えたコンピュータに、各保存装置において処理できる、単位時間あたりのデータ量である処理可能流量を計算する処理、所定の重要度が割り当てられるデータの種類別に、単位時間あたりに処理すべきデータ量であるデータ流量を計算する処理、および連続して発生するデータの重要度を重要度情報に基づいて判別して、各保存装置の処理可能流量と、種類別のデータ流量とに基づき、各保存装置が処理可能な範囲内においてデータの重要度が高いほど優先度の高い保存装置に保存されるよう各データの保存先を制御する処理を実行させつつ、所定のタイミングで、各保存装置に保存されているデータがいつアクセスされたかを示す情報に基づいて、各保存装置においてアクセスされたデータの種類を判別し、種類別のアクセス頻度を計算して、アクセス頻度が高い順に、高い重要度が付与されるよう重要度情報における重要度を更新する処理を実行させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、データが大量に連続して発生するような場合であっても、データの処理漏れの可能性を低減し、必要なデータ（特に、頻繁にアクセスされる種類のデータ）をより確実に保存することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を図面を参照して説明する。なお、本発明では、連続して発生する各々のデータをストリーム型データといい、それらストリーム型データを総称したものをストリームデータという。
【００１８】
実施形態１．
図１は、本発明の第１の実施形態によるストリームデータ制御システムの構成例を示すブロック図である。図１に示すストリームデータ制御システムは、コンピュータ１００と、データを保存（格納）する複数の保存装置２００（２００−１〜Ｎ）とを備える。
【００１９】
また、コンピュータ１００は、保存先制御手段１０１と、処理可能流量管理手段１０２と、類別データ流量管理手段１０３とを含む。
【００２０】
保存先制御手段１０１は、処理可能流量管理手段１０２によって管理されている各保存装置２００の処理可能流量と、保存先制御手段１０１によって管理されているデータの種類別データ流量とに基づき、各保存装置２００が処理可能な範囲内においてデータの重要度が高いほど優先度の高い保存装置に保存されるよう各データの保存先を制御する。
【００２１】
ここで、処理可能流量とは、保存装置が処理できる単位時間あたりのデータ量をいう。また、データ流量とは、当該ストリームデータ制御システムにおいて処理すべき単位時間あたりのデータ量をいう。すなわち、当該ストリームデータ制御システムに対し発生する、単位時間あたりのデータ量をいう。
【００２２】
処理可能流量管理手段１０２は、各保存装置２００の処理可能流量を管理する。具体的には、処理可能流量管理手段１０２は、所定のタイミングで、各保存装置２００の処理性能とその時点における処理データ量とに基づいて、各保存装置２００の処理可能流量を計算することで、各保存装置２００の処理可能流量を管理する。なお、処理可能流量管理手段１０２は、例えば、予め記憶しておいた情報を参照したり、当該ストリームデータ制御システムがデータの保存先を制御した結果から導出したり、ＳＮＭＰ（Simple Network Management Protocol）やＷＢＥＭ（Web-Based Enterprise Management ）などの標準のネットワーク管理プロトコルを使って、各保存装置２００から収集することによって、処理可能流量を算出するために必要な情報（処理性能を示す情報や処理データ量を示す情報）を取得する。
【００２３】
なお、本発明では、ストリームデータを処理する（保存する）装置ごとに、処理可能流量を算出する。すなわち、一保存装置において、部品が並列に接続されていれば、分散並行処理の処理性能に基づいて処理可能流量を算出する。また、直列に接続されていれば、直列処理の処理性能（最も遅い部分に律速された処理性能）に基づいて処理可能流量を算出する。通常は、ネットワークインタフェース部分が最も遅い部分であるため、その処理性能に律速されることになる。
【００２４】
類別データ流量管理手段１０３は、一の重要度が付与されるデータの種類別のデータ流量を管理する。具体的には、類別データ流量管理手段１０３は、所定のタイミングで、当該ストリームデータ制御システムでそれまでに取得（受信）したデータの種類とデータ取得時間（データ受信時間）とに基づいて、データの種類別にデータ流量を計算することで、種類別のデータ流量を管理する。なお、ここでいう種類は、同じ重要度が付与されることを条件とするデータのまとまりを示すものであって、データの種別や、データに含まれる文字列、データ列、数値の範囲などによる任意の種類でよい。
【００２５】
本実施形態において、保存先制御手段１０１は、所定のタイミングで、各保存装置２００の処理可能流量と種類別のデータ流量とに基づいて、データの重要度別に保存先とする保存装置を決定しつつ、受信した各データに対して、データの重要度を判別した上で、その時点において決定されている重要度別の保存先に従い、当該データの保存先を制御する。
【００２６】
以下、より具体的な構成例を用いて説明する。図２は、本実施形態によるストリームデータ制御システムのより具体的な構成例を示すブロック図である。図２に示すストリームデータ制御システムは、コンピュータ１００と、複数の保存装置２００（２００−１〜Ｎ）と、インデックス保存部３００とを備える。
【００２７】
コンピュータ１００は、プログラム制御により動作する中央処理装置やプロセッサ、データ処理装置等を備えたコンピュータであって、保存先制御手段１０１と、処理可能流量管理手段１０２と、類別データ流量管理手段１０３と、データ重要度テーブル１０４と、保存装置優先度テーブル１０５とを含む。
【００２８】
インデックス保存部３００は、各データがどの保存装置２００に保存されたかを管理する。具体的には、各データに識別可能な情報（インデックス）を付与し、付与したインデックスに対応づけて、該データの保存先（保存装置２００のいずれか）を示す情報を記憶する。
【００２９】
データ重要度テーブル１０４は、連続して発生するデータの各データに重要度を付与するために必要な情報を保持する。具体的には、一の重要度が付与されるデータの種類の識別番号と、該種類を判別するための情報と、該種類に属するデータに付与される重要度とを対応づけた情報を記憶する記憶手段である。
【００３０】
保存装置優先度テーブル１０５は、各保存装置２００の優先度を示す情報を保持する。具体的には、各保存装置の識別番号と、その保存装置に割り当てられている優先度とを対応づけた情報を記憶する記憶手段である。
【００３１】
なお、保存先制御手段１０１，処理可能流量管理手段１０２，類別データ流量管理手段１０３は、既に説明した通りである。
【００３２】
本例において、保存先制御手段１０１，処理可能流量管理手段１０２，類別データ流量管理手段１０３は、具体的には、コンピュータ１００が備えるプログラム制御により動作する中央処理装置やプロセッサ、データ処理装置等によって実現される。また、データ重要度テーブル１０４，保存装置優先度テーブル１０５は、コンピュータ１００が備える記憶装置によって実現される。
【００３３】
また、インデックス保存部３００は、具体的には、記憶装置によって実現される。なお、インデックス保存部３００は、コンピュータ１００、または任意の保存装置２００（保存装置２００−１〜Ｎのいずれか）に含まれていてもよい。
【００３４】
次に、本実施形態の動作を説明する。図３は、本実施形態におけるストリームデータ制御システムの動作例を示すフローチャートである。図３に示すように、まず、保存先制御手段１０１は、ストリーム型データ発生源から発生するストリームデータの各データを取得（受信）すると（ステップＳ００１）、データ重要度テーブル１０４を参照して、データに重要度を付与する（ステップＳ００２）。すなわち、取得したデータに対し、一の重要度が付与されるデータの種類を判別することによって当該データを重要度に応じて分類する。例えば、データ重要度テーブル１０４に、データの種類を照合するための文字列またはデータ列と、照合された種類に属するデータに付与される重要度の組み合わせが記述されているとする。そのような場合には、保存先制御手段１０１は、取得したデータと照合用の文字列またはデータ列とが合致すれば、それに対応する重要度を付与すればよい。
【００３５】
次に、保存先制御手段１０１は、重要度別のデータ保存先を示す情報を更新するか否かを判断する（ステップＳ００３）。更新のトリガは、例えば、一定時間毎、一定数のデータを処理する毎、システムの運用管理者からの要求指示などいずれでもよい。ここで、重要度別のデータ保存先を示す情報を更新する場合には、ステップＳ００４〜Ｓ００６の処理を行うことで、重要度別のデータ保存先を示す情報を更新する。
【００３６】
ステップＳ００４では、データの種類別データ流量を取得する。データの種類別データ流量の取得は、例えば、保存先制御手段１０１が、類別データ流量管理手段１０３に指示を出して、現時点におけるデータの種類別データ流量を計算させ、その結果を受け取ればよい。また、例えば、類別データ流量管理手段１０３が、保存先制御手段１０１とは独立したタイミングの更新トリガによって、データの種類別データ流量を計算し、保存先制御手段１０１が、現時点において類別データ流量管理手段１０３が保持しているデータの種類別データ流量の値を参照すればよい。なお、類別データ流量管理手段１０３は、その計算をするため、例えば、データ流量を計算する際の単位時間分、データの種類別のデータ取得数を保持しておけばよい。または、更新のトリガとなる一定数分、受信したデータについて、データの取得時刻と重要度とを保持しておけばよい。なお、データ取得のタイミングでデータの種類別データ流量の更新を行う場合には、保存先制御手段１０１が、類別データ流量管理手段１０３の処理を行うことも可能である。
【００３７】
ステップＳ００５では、各保存装置の処理可能流量を取得する。各保存装置の処理可能流量の取得も同様に、例えば、保存先制御手段１０１が、処理可能流量管理手段１０２に指示を出して、現時点における各保存装置の処理可能流量を計算させ、その結果を受け取ればよい。また、例えば、処理可能流量管理手段１０２が、保存先制御手段１０１とは独立したタイミングの更新トリガによって、各保存装置の処理可能流量を計算し、保存先制御手段１０１が、現時点において類別データ流量管理手段１０３が保持している各保存装置の処理可能流量の値を参照すればよい。なお、処理可能流量管理手段１０２は、ＷＢＥＭやＳＮＭＰなどの手段を用いて収集した、単位時間あたりに処理したデータ量（Ｘｃｕｒｒｅｎｔ）と、設定値として与えられるカタログ値や負荷テスト、ベンチマークで測定した単位時間あたりに処理可能なデータ量の最大値（Ｘｍａｘ）とから、現存する処理可能流量を算出すればよい。
【００３８】
ステップＳ００６では、取得したデータの種類別データ流量と、各保存装置の処理可能流量とに基づいて、重要度別のデータの保存先を決定する。なお、保存先制御手段１０１が行う重要度別のデータ保存先の決定処理の詳細については後述する。
【００３９】
次に、保存先制御手段１０１は、データの重要度から、現時点において決定されている、もしくは新たに決定した重要度別のデータ保存先に従って、データの保存先を決定する（ステップＳ００７）。ここで、保存先が決定されれば、その保存先として示された保存装置２００に保存する（ステップＳ００８のＹｅｓ，Ｓ００９）。一方、保存先が決定されなければ、当該データを破棄する（ステップＳ００８のＮｏ，Ｓ０１０）。各データには、シーケンシャルなＩＤ（インデックス）が付与される。そして、各データを保存装置に保存する際に、保存先制御手段１０１は、インデックス保存部３００に、どのインデックスのデータがどのデータ保存装置１０５に保存されたかの情報を記憶する。そして、次に発生するデータ（ストリームデータ）の処理を行うために、Ｓ００１に戻る。
【００４０】
また、図４は、保存先制御手段１０１が行う重要度別のデータ保存先の決定処理（図３のステップＳ００６）の一例を示す処理フローを示す図である。図４に示す処理フローは、重要度の高いデータから順に、そのデータ流量分をまかなうことができる保存装置のうちもっとも優先度の高い保存装置に割り当てるための処理フローである。
【００４１】
以下に示す処理では、保存装置の優先度が取りうる値のいずれかを示す計算用パラメータとして優先度パラメータｐを用いる。また、データの重要度が取りうる値のいずれかを示す計算用パラメータとして、重要度パラメータＭ，Ｎを用いる。なお、各パラメータが示す値は自然数である。以下、優先度パラメータｐが示す優先度を優先度ｐといい、重要度パラメータＭ，Ｎが示す重要度をそれぞれ重要度Ｍ，Ｎという場合がある。
【００４２】
なお、本例では、保存装置の優先度として１から昇順に優先度が低くなる値（１が最も優先度が高い）が設定されるものとする。また、各保存装置には異なる優先度が設定されるものとする。なお、優先度の最大値は保存装置の数と等しくなる。また、データの重要度として１から昇順に重要度が低くなる値（１が最も重要度が高い）が設定されるものとする。なお、重要度の最大値をＬ（Ｌは自然数）とする。
【００４３】
まず、保存先制御手段１０１は、優先度パラメータｐと、重要度パラメータＭを最も高い優先度および重要度の値に初期化する（ステップＡ０１）。ここでは、ｐ＝１，Ｍ＝１とする。次に、優先度ｐの保存装置２００の処理可能流量（残存する処理可能流量を意味する。）を得る（ステップＡ０２）。なお、保存先制御手段１０１は、優先度ｐの保存装置２００の識別番号を、保存装置優先度テーブル１０５から検索し、その識別番号を使って、ステップＳ００５で取得した各保存装置の処理可能流量を特定することで得られる。ここで得た処理可能流量の値をＸとする。
【００４４】
次に、保存制御手段１０１は、もう一つの重要度パラメータＮを、重要度パラメータＭの値に初期化する（ステップＡ０３）。なお、重要度パラメータＭとＮとで重要度の範囲（Ｍが起点、Ｎが終点に相当）を表している。次に、保存先制御手段１０１は、重要度Ｍ以上かつ重要度Ｎ以下のデータ流量の合計を計算し、その合計がＸ（優先度ｐの保存装置の処理可能流量）よりも大きいか否かを判定する（ステップＡ０４）。なお、重要度Ｍ以上かつ重要度Ｎ以下のデータ流量は、重要度Ｍ以上かつ重要度Ｎ以下の重要度が付与されるデータの種類に対応する識別番号を、重要度データ重要度テーブル１０４から検索し、その識別番号を使って、ステップＳ００４で取得したデータの種類別データ流量を特定することによって得られる。
【００４５】
ここで、重要度Ｍ以上かつ重要度Ｎ以下のデータ流量の合計がＸ（優先度ｐの保存装置の処理可能流量）以下であれば、さらに一つ重要度の範囲を広げて（Ｎに１を加算して）、ステップＡ０４の処理を繰り返す（ステップＡ０４のＮｏ，Ａ０６）。ただし、ＮがＬより大きくなった場合には、全ての重要度の範囲が確認されたことになるので、それまでの範囲でデータの保存先を確定させるために、ステップＡ０５に移行する（ステップＡ０７のＹｅｓ）。
【００４６】
また、重要度Ｍ以上かつ重要度Ｎ以下のデータ流量の合計がＸ（優先度ｐの保存装置の処理可能流量）よりも大きければ（ステップＡ０４のＹｅｓ）、優先度ｐの保存装置ではその重要度の範囲のデータを処理しきれないとして、その範囲よりも一つ小さい範囲でデータの保存先を確定させる。すなわち、重要度Ｍ以上かつ重要度Ｎ−１以下のデータの保存先として、優先度ｐの保存装置を選択し、重要度別のデータ保存先の情報を更新する（ステップＡ０５）。なお、ここで、Ｍ＝Ｎであった場合には、その重要度（重要度Ｍ）のデータを、優先度ｐの保存装置には保存できないことになるので、重要度別のデータの保存先の情報を更新しない。
【００４７】
次に、別の重要度、保存装置について、Ａ０２〜Ａ０５までの処理を繰り返すため、Ｍ＝Ｎ，ｐ＝ｐ＋１とする（ステップＡ０８）。これは、次に低い重要度を起点とする範囲でのデータの保存先を、次に低い優先度の保存装置から順に判定するための処理である。
【００４８】
なお、ステップＡ０８の後、Ａ０２〜Ａ０５までの処理を繰り返す前に、全ての重要度に対しデータの保存先が決定していれば、処理を終了する（ステップＡ０９のＹｅｓ）。また、全ての保存装置に対して調査が終わっていれば、つまりｐが保存装置の総数より大きい場合にも、処理を終了する（ステップＡ１０のＹｅｓ）。
【００４９】
なお、本実施形態では、ストリームデータの制御先を、保存装置としているが、ストリームデータを処理する装置は、保存装置に限らず、例えば、フィルタ装置であってもよい。なお、本実施形態に限らず、以降の実施形態においても同様である。
【００５０】
本実施形態によれば、データの重要度順に、単位時間あたりの発生データ量であるデータ流量と、保存装置の処理可能流量とを参照しながら、データの格納先を随時更新するように構成されているため、データが大量に連続して発生するような場合でもデータ漏れの可能性を低減し、必要なデータをより確実に保存することができる。
【００５１】
図５は、本実施形態のデータセンサにおける適用例である。図５に示す適用例では、ストリーム型データ発生源は多数のサーバである。また、ストリーム型データとして、各サーバから、ＣＰＵ負荷、ネットワークＩ／Ｏ、ディスクＩ／Ｏ、セキュリティログ、アプリケーションログ、障害ログが、連続的に発生しているものとする。このようなデータの種類に対応する重要度は、高い順に、セキュリティログ、障害ログ、アプリケーションログ、その他（ＣＰＵ負荷、ネットワークＩ／Ｏ、ディスクＩ／Ｏ）とする。また、保存装置として、メモリデータベース（以下、メモリデータベース２００−１）と、ハードディスク上にデータを保存するデータベース（以下、ハードディスク２００−２）と、テープ型のアーカイブ装置（以下、磁気テープ装置２００−３）とを備えている。優先度は、高い順に、ハードディスク２００−２、メモリデータベース２００−１、磁気テープ装置２００−３とする。
【００５２】
通常時は、すべてのデータをハードディスク２００−２に保存している。ここで、障害が発生し、障害ログが急激に増加したことによって、ハードディスク２００−２に保存可能な処理流量を超えたとする。または、ハードディスク２００−２でデフラグメント処理が必要となり、そのためにハードディスクの処理可能流量が低下したとする。
【００５３】
このような場合に、本実施の形態では、障害ログをハードディスク２００−２に保存することができないと判断して、次の優先度となるメモリデータベース２００−１に保存するように制御する。このように、保存先を変更することで、ハードディスク２００−２に比べ容量は少ないが、保存処理速度は高速なメモリデータベース２００−１で、一時的に急増した障害ログを保存するよう制御することができる。
【００５４】
実施形態２．
次に、本発明の第２の実施形態について説明する。図６は、第２の実施形態によるストリームデータ制御システムの構成例を示すブロック図である。図６に示すように、本実施形態によるストリームデータ制御システムは、図２に示す第１の実施形態と比べて、さらに、データアクセス管理部４００を備える点が異なる。
【００５５】
データアクセス管理部４００は、各保存装置２００に格納されたデータがアクセスされたかどうかを管理し、各保存装置に格納されたデータのアクセス頻度に基づいて各データに付与する重要度を更新する。データアクセス管理部４００は、具体的には、各保存装置に対するアクセスを監視し、各保存装置に保存されているデータがいつアクセスされたかを示す情報を記憶するアクセスログ保存部を含み、所定のタイミングで、アクセスされたデータの種類を判別して種類別のアクセス頻度を計算し、アクセス頻度が高い順に、高い重要度が付与されるようデータ重要度テーブル１０４における重要度の対応付けを更新する。なお、アクセスログ保存部は、データアクセス管理部４００とは独立に、各保存装置が備えていてもよい。
【００５６】
データアクセス管理部４００は、具体的には、プログラム制御により動作する中央処理装置やプロセッサ、データ処理装置と記憶装置によって実現される。なお、データアクセス管理部４００は、コンピュータ１００、または任意の保存装置２００（保存装置２００−１〜Ｎのいずれか）に含まれていてもよい。
【００５７】
次に、本実施形態の動作を説明する。図７は、本実施形態におけるストリームデータ制御システムの動作例を示すフローチャートである。なお、図７に示す動作例は、データアクセス管理部４００が、データ重要度テーブル１０４における重要度の対応付けを更新する際の動作例である。なお、本例では、各保存装置２００において、当該保存装置２００のアクセスが監視され、当該保存装置２００に保存されているデータがいつアクセスされたかを示すデータアクセス情報（アクセスログ）が保持される場合を例に用いて説明する。
【００５８】
図６に示すように、データアクセス管理部４００は、まず、各保存装置２００が保持しているデータアクセス情報を取得する（ステップＳ１０１）。データアクセス情報は、アクセスログそのままでも、またある分類されたデータの種類に関するもののみを抽出、加工したデータであってもよい。次に、データアクセス管理部４００は、データの種類別に、アクセス数をカウントする（ステップＳ１０２）。さらに、アクセス順にソートする（ステップＳ１０３）。その際、最近頻繁にアクセスされるデータの種類がソート上位にくるように、アクセス数のカウントに対して時系列の重み付けを加算してもよい。そして、ソート順に応じて、上位の種類により高い重要度が付与されるよう、各データの種類に重要度を対応づけて、その対応づけをデータ重要度テーブル１０４に反映する（更新する）。
【００５９】
なお、本実施形態において、保存先制御手段１０１は、重要度が更新されたことを更新トリガにして、重要度別のデータ保存先を更新することが好ましい。
【００６０】
本実施形態によれば、随時、頻繁にアクセスされるデータの重要度を高く設定、更新し、その重要度順に優先度の高い保存装置に、データ流量に応じて保存するように構成されているため、データが大量に連続して発生するような場合であっても、よくアクセスされるデータをより確実に保存することができる。
【００６１】
例えば、第１の実施形態で示した適用例で、実際に運用を開始したところ、アプリケーションが開発途中であったために、システムエンジニアからのアプリケーションログへの参照が多いことが判明した。例えば、セキュリティログのアクセス数（ここでは時系列の重み付け後のアクセス数とする）＝１０，障害ログ＝５，アプリケーションログ＝１００，その他＝５であったとする。このような場合に、本実施形態では、アクセス数をカウント順にソートし、アプリケーションログ，セキュリティログ，障害ログ，その他という順に高い重要度を付与する。
【００６２】
このように、随時、頻繁にアクセスされるデータの重要度を高く設定、更新できるので、よくアクセスされるデータ（本例では、アプリケーションログ）をより確実に保存することができる。
【００６３】
実施形態３．
次に、本発明の第３の実施形態について説明する。図８は、第３の実施形態によるストリームデータ制御システムの構成例を示すブロック図である。図８に示すように、本実施形態によるストリームデータ制御システムは、図２に示す第１の実施形態における処理可能流量管理手段１０２に代わり、処理可能流量・容量管理手段１０６を備える点が異なる。
【００６４】
処理可能流量・容量管理手段１０６は、各保存装置２００の処理可能流量だけでなく、各保存装置２００の保存可能容量も管理する。具体的には、処理可能流量・容量管理手段１０６は、所定のタイミングで、各保存装置２００の処理性能とその時点における処理データ量とに基づいて各保存装置２００の処理可能流量を計算することで各保存装置２００の処理可能流量を管理するとともに、各保存装置の記憶容量に基づいて各保存装置の保存可能容量を計算することで、各保存装置２００の保存可能容量を管理する。なお、保存可能容量を算出するために必要な情報（記憶容量を示す情報や処理データ量を示す情報）は、予め記憶しておいた情報を参照したり、当該ストリームデータ制御システムがデータの保存先を制御した結果から導出してもよい。また、ＳＮＭＰ（Simple Network Management Protocol）やＷＢＥＭ（Web-Based Enterprise Management ）などの標準のネットワーク管理プロトコルを使って、各保存装置２００から収集してもよい。
【００６５】
また、本実施形態において、保存先制御手段１０１は、処理可能流量・容量管理手段１０６によって管理されている各保存装置２００の処理可能流量および保存可能容量と、保存先制御手段１０１によって管理されているデータの種類別データ流量とに基づき、各保存装置２００が処理可能な範囲内においてデータの重要度が高いほど優先度の高い保存装置に保存されるよう各データの保存先を制御する。
【００６６】
次に、本実施形態の動作を説明する。図９は、本実施形態におけるストリームデータ制御システムの動作例を示すフローチャートである。なお、図９に示す動作例は、本実施形態における保存先制御手段１０１が行う重要度別のデータ保存先の決定処理（図３のステップＳ００６）の処理フローの一例である。図９では、図４に示す第１の実施形態における重要度別のデータ保存先の決定処理と同じ動作の処理については、同じステップ番号を付し、説明を省略する。
【００６７】
なお、本例では図示省略しているが、図３のステップＳ００５で、保存先制御手段１０１は、処理可能流量・容量管理手段１０６から各保存装置の処理可能流量と保存可能容量とを取得しているものとする。
【００６８】
保存先制御手段１０１は、優先度パラメータｐと、重要度パラメータＭを初期化すると（ステップＡ０１）、優先度ｐの保存装置２００の処理可能流量（残存する処理可能流量を意味する。）および保存可能容量（残存する保存可能容量を意味する。）を得る（ステップＡ２１）。なお、保存先制御手段１０１は、優先度ｐの保存装置２００の識別番号を、保存装置優先度テーブル１０５から検索し、その識別番号を使って、ステップＳ００５で取得した各保存装置の処理可能流量および保存可能容量を特定することで得られる。ここで得た処理可能流量の値をＸとする。また、保存可能容量の値をＹとする。
【００６９】
次に、保存制御手段１０１は、もう一つの重要度パラメータＮを、重要度パラメータＭの値に初期化すると（ステップＡ０３）、重要度Ｍ以上かつ重要度Ｎ以下のデータ流量の合計と、ある一定時間までに保存すべき該範囲のデータ量の合計を計算する（ステップＡ２２）。ここで、得られた重要度Ｍ以上かつ重要度Ｎ以下のデータ流量の合計をｘとする。また、ある一定時間までに保存すべき該範囲のデータ量の合計をｙとする。
【００７０】
そして、ｘ（重要度Ｍ以上かつ重要度Ｎ以下のデータ流量の合計）がＸ（優先度ｐの保存装置の処理可能流量）よりも大きいか、またはｙ（ある一定時間までに保存すべき該範囲のデータ量の合計）がＹ（優先度ｐの保存装置の保存可能容量）よりも大きいかを判定する（ステップＡ２３）。
【００７１】
ステップＡ２３の判定により、ｘ（重要度Ｍ以上かつ重要度Ｎ以下のデータ流量の合計）がＸ（優先度ｐの保存装置の処理可能流量）以下であって、かつｙ（ある一定時間までに保存すべき該範囲のデータ量の合計）がＹ（優先度ｐの保存装置の保存可能容量）以下であれば、さらに一つ重要度の範囲を広げて（Ｎに１を加算して）、ステップＡ２２〜Ａ２３の処理を繰り返す（ステップＡ２３のＮｏ，Ａ０６）。なお、本例においても、ＮがＬより大きくなった場合には、全ての重要度の範囲が確認されたことになるので、それまでの範囲でデータの保存先を確定させるために、ステップＡ０５に移行する（ステップＡ０７のＹｅｓ）。
【００７２】
一方、ｘ（重要度Ｍ以上かつ重要度Ｎ以下のデータ流量の合計）がＸ（優先度ｐの保存装置の処理可能流量）よりも大きいか、またはｙ（ある一定時間までに保存すべき該範囲のデータ量の合計）がＹ（優先度ｐの保存装置の保存可能容量）よりも大きければ（ステップＡ２３のＹｅｓ）、優先度ｐの保存装置ではその重要度の範囲のデータを処理しきれないとして、その範囲よりも一つ小さい範囲でデータの保存先を確定させる（ステップＡ０５）。なお、ステップＡ０５以降の動作は、第１の実施形態と同様である。
【００７３】
本実施形態によれば、データの重要度順に、単位時間あたりの発生データ量であるデータ流量と、保存装置の処理可能流量および保存可能容量とを参照しながら、データの格納先を随時更新するように構成されているため、データが大量に連続して発生するような場合でもデータ漏れの可能性を低減し、必要なデータをより確実に保存することができる。
【００７４】
実施形態４．
次に、本発明の第４の実施形態について説明する。図１０は、第４の実施形態によるストリームデータ制御システムの構成例を示すブロック図である。図１０に示すように、本実施形態によるストリームデータ制御システムは、図２に示す第１の実施形態と比べて、データ分類手段１０７を備える点、および、データ重要度テーブル１０４および保存装置優先度テーブル１０５に代わり、保存先決定ルール１０８を備える点が異なる。
【００７５】
データ分類手段１０７は、ストリーム型データ発生源から連続して発生するデータを受信し、データを分類する。データ分類手段１０７は、一の重要度が付与されるデータの種類に応じてデータを分類する。この分類における種類は、他の実施形態と同様に、同じ重要度が付与されることを条件とするデータのまとまりを示すものであって、データの種別や、データに含まれる文字列、データ列、数値の範囲などによる任意の種類でよい。
【００７６】
保存先決定ルール１０８は、データの種類と、種類別データの流量と、各保存装置の処理可能流量に対するデータの保存先の組み合わせを規定する。具体的には、一の重要度が付与されるデータの種類に対して、少なくとも一の種類のデータ流量の値と、少なくとも一の保存装置の処理可能流量の値とで示されるシステム状態の条件と、条件に合致した場合の当該種類に属するデータの保存先とを規定した情報である保存先決定ルールを記憶する記憶手段である。
【００７７】
図１１は、保存先決定ルール１０８が保持する保存先決定ルールの例を示す説明図である。図１１に示す例では、データの種類がＡ，Ｂの２種類であって、また保存装置の数が２つ（保存装置１と保存装置２）である場合の例である。また、ａはデータ種類Ａのデータ流量を示し、ｂはデータ種類Ｂのデータ流量を示している。また、ｘは保存装置１の処理可能流量を示し、ｙは保存装置２の処理可能流量を示している。
【００７８】
図１１では、データ種類Ａに対し、例えば、システム状態として、データ種類Ａのデータ流量（ａ）が保存装置１の処理可能流量（ｘ）以下である場合を条件に、データ種類Ａに属するデータの保存先として保存装置１が規定されている例が示されている。また、例えば、システム状態として、データ種類Ａのデータ流量（ａ）が保存装置２の処理可能流量（ｙ）以下である場合を条件に、データ種類Ａに属するデータの保存先として保存装置２が規定されている例が示されている。なお、図１１に示す例は、上から順に条件が照合されることを前提に規定されている。
【００７９】
保存先制御手段１０１は、各データに対し、現時点における各保存装置の処理可能流量と、種類別のデータ流量との組み合わせで示されるシステム状態が、当該データの種類に対し保存先決定ルールで規定されているいずれの条件に合致するかを判断することによって、当該データの保存先を制御する。
【００８０】
次に、本実施形態の動作を説明する。図１２は、本実施形態におけるストリームデータ制御システムの動作例を示すフローチャートである。図１２では、図３に示す第１の実施形態におけるストリームデータ制御システムの動作と同じ動作の処理については、同じステップ番号を付し、説明を省略する。
【００８１】
本実施形態では、データ分類手段１０７が、ストリーム型データ発生源から発生するストリームデータの各データを取得（受信）する（ステップＳ３０１）。データ分類手段１０７は、データを取得すると、一の重要度が付与されるデータの種類に応じてデータを分類する（ステップＳ３０２）。なお、データがどの種類に属するかは、例えば、一の重要度が付与されるデータの種類の識別番号と、該種類を判別するための情報（照合用のデータ列や文字列）とを対応づけた情報を保持しておき、取得したデータと照合用の文字列またはデータ列とが合致するか否かを判断することによって、判別してもよい。
【００８２】
次に、保存先制御手段１０１は、データ分類手段１０７によってデータが取得、分類されると、現時点におけるデータの種類別データ流量を類別データ流量管理手段１０３から取得する（ステップＳ３０３）。また、現時点における各保存装置の処理可能流量を処理可能流量管理手段１０２から取得する（ステップＳ３０４）。なお、類別データ流量管理手段１０３，処理可能流量管理手段１０２は、独立したタイミングの更新トリガによって、それぞれデータの種類別データ流量または各保存装置の処理可能流量を計算し、その値を保持し、保存先制御手段１０１が参照することで、取得してもよい。または、保存先制御手段１０１が、類別データ流量管理手段１０３，処理可能流量管理手段１０２に支持を出して、現時点におけるデータの種類別データ流量または各保存装置の処理可能流量を計算させ、その結果を受け取ることで、取得してもよい。
【００８３】
なお、データの種類別データ流量および各保存装置の処理可能流量の更新トリガは、例えば、一定時間毎、一定数のデータを処理する毎、システムの運用管理者からの要求指示などいずれでもよい。
【００８４】
保存先制御手段１０１は、現時点におけるデータの種類別データ流量と各保存装置の処理可能流量とを取得すると、それらの情報によって示されるシステム状態と、取得したデータの重要度と、保存先決定ルールとに基づいて、該データの保存先を決定する（ステップＳ３０５）。例えば、保存先制御手段１０１は、現時点におけるシステム状態と、取得したデータの種類に対し規定されている保存先決定ルールの条件とを上から順に照合して、現時点におけるシステム状態における当該データの種類の保存先を導出すればよい。
【００８５】
ここで、保存先が決定されれば、その保存先として示される保存装置２００に当該データを保存し（ステップＳ００８のＹｅｓ，Ｓ００９）、保存先が決定されなければ、当該データを破棄する（ステップＳ００８のＮｏ，Ｓ０１０）。
【００８６】
本実施形態によれば、データの種類別のデータ流量と各保存装置の処理可能流量を参照しながら、システム状態を監視し、システム状態に応じてデータの保存先が記述されたルールに従って、データの保存先を決定するように構成されているため、当該ストリームデータ制御システム側でデータの重要度を意識することなく、データ漏れの可能性を低減し、必要なデータをより確実に保存することができる。
【００８７】
実施形態５．
次に、本発明の第５の実施形態について説明する。図１３は、第５の実施形態によるストリームデータ制御システムの構成例を示すブロック図である。図１３に示すストリームデータ制御システムは、コンピュータ１００と、データを保存（格納）する複数の保存装置２００（２００−１〜Ｎ）と、インデックス保持部３００と、データ分類保存先関係学習部５００とを備える。また、コンピュータ１００は、データ分類手段１０７と、処理可能流量管理手段１０２と、類別データ流量管理手段１０３と、各保存装置に対応する保存先分類器１０９（１０９−１〜Ｎ）とを含む。
【００８８】
なお、図１０に示す第４の実施形態と比べて、データ分類保存先関係学習部５００を備える点、および、保存先制御手段１０１及び保存先決定ルール１０８に代わり、各保存装置に対応する保存先分類器１０９（１０９−１〜Ｎ）を備える点が異なる。各保存先分類器１０９は、保存先制御手段１０１の一実現手段である。
【００８９】
データ分類保存先関係学習部５００は、所定のタイミングで、現時点における各保存装置の処理可能流量と種類別のデータ流量とで示されるシステム状態を条件に、各保存装置と各保存装置に保存されているデータの種類との相関を学習し、各保存先分類器１０９で利用される学習モデル５０１（５０１−１〜Ｎ）を生成する。ここで、学習モデルとは、各保存装置において各種類に属するデータを保存するか否かをシステム状態を条件に判断するためのモデルであって、例えば、パラメータや条件を定めて、所定の判断モデルを具現化したもの（計算式等の計算方法を示す情報）である。なお、データ分類保存先関係学習部５００は、各学習モデル５０１（５０１−１〜Ｎ）を格納するための格納手段を有していてもよい。
【００９０】
データ分類保存先関係学習部５００は、具体的には、プログラム制御により動作する中央処理装置やプロセッサ、データ処理装置と、各保存先分類器１０９に対応する学習モデルを格納するための記憶装置によって実現される。なお、データ分類保存先関係学習部５００または各保存先分類器１０９に対応する学習モデルを格納する手段は、コンピュータ１００、または任意の保存装置２００（保存装置２００−１〜Ｎのいずれか）に含まれていてもよい。
【００９１】
各保存先分類器１０９は、それぞれ現時点における各保存装置の処理可能流量と種類別のデータ流量とで示されるシステム状態を条件に、当該保存先分類器１０９に対応づけて生成された学習モデルに従い、データを、対応する保存装置に保存するか否かを判別する。具体的には、データ分類保存先関係学習部５００が生成した学習モデルに、現時点における各保存装置の処理可能流量と種類別のデータ流量とで示されるシステム状態を適用することによって、データを、対応する保存装置に保存するか否かを判別する。
【００９２】
学習モデルとして、例えば、ＳＶＭ（Super Vector Machine）を用いてもよい。ＳＶＭとは、識別問題を解くための学習モデルであって、ｎ次元空間（特徴空間と呼ばれる）における一点として表される各サンプルを、２つのクラスＡ，Ｂのいずれかに識別するためのモデルである。本実施形態に適用する場合には、各データ種類をベクトル化し、各保存装置に保存されたデータに関して、正解・不正解を学習データとして与える。これを保存装置毎に学習することによって、各保存先分類器１０９で、ある種類のデータを、あるシステム状態に、対応する保存装置に保存することが正解であるか否かを識別させる。なお、本実施形態では、当初データの重要度が不明であり、手動で各保存装置に移動されることを前提としているが、他の実施形態で示したような制御方法を用いて、一定期間、定められている重要度に従った保存先の制御を行ったのち、本実施形態による保存先の制御方法に切り替えるといった適用も可能である。
【００９３】
次に、本実施形態の動作を説明する。図１４は、本実施形態におけるストリームデータ制御システムの動作例を示すフローチャートである。なお、学習モデルの生成処理は、予め行われているものとする。
【００９４】
まず、データ分類手段１０７が、ストリーム型データ発生源から発生するストリームデータの各データを取得（受信）する（ステップＳ４０１）。データ分類手段１０７は、データを取得すると、一の重要度が付与されるデータの種類に応じてデータを分類する（ステップＳ４０２）。なお、データ分類手段１０７によるデータの取得および分類については、第４の実施形態と同様である。
【００９５】
次に、類別データ流量管理手段１０３が、データの種類別データ流量を更新するか否かを判断する（ステップＳ４０３）。更新のトリガは、例えば、一定時間毎、一定数のデータを処理する毎、システムの運用管理者からの要求指示などいずれでもよい。ここで、データの種類別データ流量を更新する場合には、データの種類別に、現時点におけるデータ流量を計算、更新する（ステップＳ４０４）。類別データ流量管理手段１０３は、例えば、保持しておいたデータ流量を計算する際の単位時間分のデータの種類別のデータ取得数または、更新のトリガとなる一定数分のデータの取得時刻と重要度に基づいて、データ流量を計算する。
【００９６】
また、処理可能流量管理手段１０２が、各保存装置の処理可能流量を更新するか否かを判断する（ステップＳ４０４）。更新のトリガは、例えば、一定時間毎、一定数のデータを処理する毎、システムの運用管理者からの要求指示などいずれでもよい。ここで、各保存装置の処理可能流量を更新する場合には、各保存装置について、処理性能と現時点における処理データ量とに基づき、処理可能流量を計算、更新する（ステップＳ４０４）。処理可能流量管理手段１０２は、例えば、ＷＢＥＭやＳＮＭＰなどの手段を用いて収集した、単位時間あたりに処理したデータ量（Ｘｃｕｒｒｅｎｔ）と、設定値として与えられるカタログ値や負荷テスト、ベンチマークで測定した単位時間あたりに処理可能なデータ量の最大値（Ｘｍａｘ）とから、現存する処理可能流量を計算する。
【００９７】
データの種類別データ流量と、各保存装置の処理可能流量の更新判断に係る処理が済むと、各保存先分類器１０９が、順に当該データを保存するか否かを判別する。例えば、図示しない各保存先分類器１０９を制御する制御手段が、保存装置の識別番号を示す制御用パラメータｑを１番目に判断する保存装置を示すよう初期化する（ステップＳ４０７）。ここでは、ｑ＝１に初期化する。以下、制御用パラメータｑが示す保存装置を保存装置ｑという。次に、制御手段は、保存装置ｑに対応する保存先分類器１０９に、当該データを保存装置ｑに保存するかを判別させる（ステップＳ４０８）。ここで、保存装置ｑに対応する保存先分類器１０９（すなわち、保存先分類器１０９−ｑ）が、保存装置ｑに対して学習された学習モデル５０１（すなわち、学習モデル５０１−ｑ）を用い、現在のシステム状態を条件に、当該データを保存装置ｑに保存する否かを判別する。
【００９８】
ここで、保存する旨の決定がされれば、当該データを保存装置ｑに保存する（ステップＳ４０９のＹｅｓ，Ｓ４１０）。また、保存しない旨の決定がされれば、次の保存装置に保存するかどうかを調べるため、ｐに１を加算し、ステップＳ４０８に戻る（ステップＳ４０９のＮｏ，Ｓ４１１）。なお、ステップＳ４０８に戻る前に、次の保存装置があるか否かを調べ（ステップＳ４１２）、もし次の保存装置がなければ、保存装置に保存せずに当該データに関しての保存先の制御は終了し、次のデータを処理するためステップＳ４０１に戻る（ステップＳ４１２のＹｅｓ）。
【００９９】
本実施形態によれば、単位時間あたりの発生データ量であるデータ流量と、保存装置の処理可能流量とを参照しながら、システム状態を監視し、各システム状態に応じてのデータの保存先が学習された分類器に従って、データの保存先を決定するように構成されているため、多様なシステム状態に応じて、必要なデータをより確実に保存することができる。
【０１００】
なお、上記実施形態には、連続して発生するデータを複数の保存装置（例えば、保存装置２００−１〜Ｎ）のいずれかに保存させるストリームデータ制御システムであって、各保存装置において処理できる、単位時間あたりのデータ量である処理可能流量を管理する処理可能流量管理手段（例えば、処理可能流量管理手段１０２）と、一の重要度が付与されるデータの種類別に、単位時間あたりに処理すべきデータ量であるデータ流量を管理する類別データ流量管理手段（例えば、類別データ流量管理手段１０３）と、各保存装置の処理可能流量と種類別のデータ流量とに基づき、各保存装置が処理可能な範囲内においてデータの重要度が高いほど優先度の高い保存装置に保存されるよう各データの保存先を制御する保存先制御手段（例えば、保存先制御手段１０１）とを備えたストリームデータ制御システムの構成が示されている。
【０１０１】
また、上記実施形態には、各データがどの保存装置に保存されているかを示す情報を記憶する格納先情報記憶手段（例えば、インデックス保存部３００）を備えたストリームデータ制御システムの構成が示されている。
【０１０２】
また、上記実施形態には、保存先制御手段が、所定のタイミングで、各保存装置の処理可能流量と種類別のデータ流量とに基づいて、データの重要度別に保存先とする保存装置を決定し、また、保存先制御手段が、各データに対して、データの重要度を判別し、現時点において決定されている重要度別の保存先に従い、当該データの保存先を制御するストリームデータ制御システムの構成が示されている（例えば、実施形態１参照。）。
【０１０３】
また、上記実施形態には、一の重要度が付与されるデータの種類に対して、少なくとも一の種類のデータ流量の値と、少なくとも一の保存装置の処理可能流量の値とで示されるシステム状態の条件と、条件に合致した場合の当該種類に属するデータの保存先とを規定した情報である保存先決定ルールを記憶する保存先決定ルール記憶手段（例えば、保存先決定ルール１０８）と、種類に応じてデータを分類するデータ分類手段（例えば、データ分類手段１０７）とを備え、類別データ流量管理手段が、データ分類手段によって分類されるデータの種類別にデータ流量を計算し、保存先制御手段が、各データに対し、処理可能流量管理手段が管理している各保存装置の処理可能流量と、類別データ流量管理手段が管理している種類別のデータ流量との組み合わせで示される現時点におけるシステム状態が、当該データの種類に対し保存先決定ルールが規定しているいずれの条件に合致するかを判断することによって、当該データの保存先を制御するストリームデータ制御システムの構成が示されている（例えば、実施形態４参照。）。
【０１０４】
また、上記実施形態には、一の重要度が付与されるデータの種類を判別するための情報と、該種類に属するデータに付与される重要度とを対応づけて記憶する重要度情報記憶手段（例えば、アクセスログ保存部）と、各保存装置に保存されているデータがいつアクセスされたかを示す情報を記憶するアクセス情報記憶手段と、アクセスされたデータの種類を判別して種類別のアクセス頻度を計算し、アクセス頻度が高い順に、高い重要度が付与されるよう重要度情報記憶手段に記憶されている重要度を更新する重要度更新手段（例えば、データアクセス管理部４００）とを備え、保存先制御手段が、重要度情報記憶手段に記憶されている情報に基づいて、データの重要度を判別するストリームデータ制御システムの構成が示されている（例えば、実施形態２参照。）。
【０１０５】
また、上記実施形態には、所定のタイミングで、現時点における各保存装置の処理可能流量と種類別のデータ流量とで示されるシステム状態を条件に、各保存装置と各保存装置に保存されているデータの種類との相関を学習し、各保存装置において各種類に属するデータを保存するか否かをシステム状態を条件に判断するための学習モデルを生成する学習モデル生成手段（例えば、データ分類保存先関係学習部５００）を備え、保存先制御手段が、が、各保存装置に対応して設けられ、現時点における各保存装置の処理可能流量と種類別のデータ流量とで示されるシステム状態を条件に、学習モデル生成手段が生成した学習モデルに従い、データを、対応する保存装置に保存するか否かを判別する判別手段（例えば、保存先分類器１０９−１〜Ｎ）によって実現されるストリームデータ制御システムの構成が示されている（例えば、実施形態５参照。）。
【０１０６】
また、上記実施形態には、処理可能流量管理手段が、所定のタイミングで、各保存装置の処理性能と処理データ量とに基づいて、各保存装置の処理可能流量を計算することで、各保存装置の処理可能流量を管理し、類別データ流量管理手段が、所定のタイミングで、それまでに取得したデータの種類とデータ取得時間とに基づいて、データの種類別にデータ流量を計算することで、種類別のデータ流量を管理するストリームデータ制御システムの構成が示されている（例えば、実施形態１参照。）。
【０１０７】
また、上記実施形態には、処理可能流量管理手段が、所定のタイミングで、各保存装置の記憶容量と処理データ量とに基づいて、各保存装置の保存可能容量を計算することで、各保存装置の保存可能容量を管理し、保存先制御手段が、各保存装置の処理可能流量および保存可能容量と、種類別のデータ流量とに基づいて、各保存装置が処理可能かつ保存可能な範囲内においてデータの重要度が高いほど優先度の高い保存装置に保存されるよう各データの保存先を制御するストリームデータ制御システムの構成が示されている（例えば、実施形態３参照。）。
【０１０８】
また、上記実施形態には、処理可能流量算出手段が、処理可能流量または保存可能容量を算出するために必要な情報を、ネットワーク管理プロトコルを用いて収集するストリームデータ制御システムの構成が示されている（例えば、実施形態１参照。）。
【０１０９】
また、上記実施形態には、連続して発生するデータを複数の処理装置のいずれかに処理させるストリームデータ制御システムであって、各処理装置において処理できる、単位時間あたりのデータ量である処理可能流量を管理する処理可能流量管理手段と、一の重要度が付与されるデータの種類別に、単位時間あたりに処理すべきデータ量であるデータ流量を管理する類別データ流量管理手段と、各処理装置の処理可能流量と種類別のデータ流量とに基づき、各処理装置が処理可能な範囲内においてデータの重要度が高いほど優先度の高い処理装置に処理させるよう各データの処理先を制御する処理先制御手段とを備えたストリームデータ制御システムの構成が示されている。なお、上記実施形態は、第１の実施形態の説明において示したように、保存装置の代わりにフィルタ装置を用いて実現した実施形態に相当する。
【産業上の利用可能性】
【０１１０】
本発明は、連続して発生するデータを処理する必要のあるシステムに好適に適用可能である。例えば、ログ等の連続して発生するデータを保存するデータ保存システムや、大量に発生するデータを転送するデータフィルタシステムに適用可能である。
【図面の簡単な説明】
【０１１１】
【図１】第１の実施形態によるストリームデータ制御システムの構成例を示すブロック図である。
【図２】第１の実施形態におけるストリームデータ制御システムのより具体的な構成例を示すブロック図である。
【図３】第１の実施形態におけるストリームデータ制御システムの動作例を示すフローチャートである。
【図４】保存先制御手段１０１が行う重要度別のデータ保存先の決定処理の一例を示す処理フローを示す図である。
【図５】第１の実施形態のデータセンサにおける適用例を示す説明図である。
【図６】第２の実施形態によるストリームデータ制御システムの構成例を示すブロック図である。
【図７】第２の実施形態におけるストリームデータ制御システムの動作例を示すフローチャートである。
【図８】第３の実施形態によるストリームデータ制御システムの構成例を示すブロック図である。
【図９】第３の実施形態におけるストリームデータ制御システムの動作例を示すフローチャートである。
【図１０】第４の実施形態によるストリームデータ制御システムの構成例を示すブロック図である。
【図１１】保存先決定ルール１０８が保持する保存先決定ルールの例を示す説明図である。
【図１２】第４の実施形態におけるストリームデータ制御システムの動作例を示すフローチャートである。
【図１３】第５の実施形態によるストリームデータ制御システムの構成例を示すブロック図である。
【図１４】第５の実施形態におけるストリームデータ制御システムの動作例を示すフローチャートである。
【図１５】特許文献１においてデータ記憶装置の構成例として示されているブロック図である。
【図１６】非特許文献１においてストリーム管理システムの構成例として示されているブロック図である。
【符号の説明】
【０１１２】
１００  コンピュータ
１０１  保存先制御手段
１０２  処理可能流量管理手段
１０３  類別データ流量管理手段
１０４  データ重要度テーブル
１０５  保存装置優先度テーブル
１０６  処理可能流量・容量管理手段
１０７  データ分類手段
１０８  保存先決定ルール
１０９−１〜Ｎ  保存先分類器
２００−１〜Ｎ  保存装置
３００  インデックス保存部
４００  データアクセス管理部
５００  データ分類保存先関係学習部
５０１−１〜Ｎ  学習モデル
【図１】
0005023899.tif 000002
【図２】
0005023899.tif 000003
【図３】
0005023899.tif 000004
【図４】
0005023899.tif 000005
【図５】
0005023899.tif 000006
【図６】
0005023899.tif 000007
【図７】
0005023899.tif 000008
【図８】
0005023899.tif 000009
【図９】
0005023899.tif 000010
【図１０】
0005023899.tif 000011
【図１１】
0005023899.tif 000012
【図１２】
0005023899.tif 000013
【図１３】
0005023899.tif 000014
【図１４】
0005023899.tif 000015
【図１５】
0005023899.tif 000016
【図１６】
0005023899.tif 000017