(57)【要約】      （修正有）【課題】データ処理を並列分散処理する際に、レプリカデータの作成処理のために費やさせる膨大な時間、最新のデータ分類状況に対応するためのレプリカデータの再作成等といった問題を解消し、最適なデータ配置を可能とする。【解決手段】データの属性情報、アドレス情報、データサイズを管理し、属性情報に基づく問合せに応じて属性情報に関連付けられたデータ群のアドレス情報とデータサイズ情報とを問合せ元に提供するデータ配置管理装置１と、データ処理サーバ２に格納されているデータに対して属性情報を生成し前記データ配置管理装置の属性情報データを更新するアノテーター４と、新たに作成されたデータを前記データ処理サーバへ格納するに当たり、前記データ配置管理装置に対しデータの新規作成要求とデータサイズと、を送信し、データ配置先のアドレス情報を取得し、データ処理サーバへデータを格納するデータ作成クライアント５と、を含む。【選択図】図１
2008225686.tif 000002
【特許請求の範囲】
【請求項１】
それぞれに複数の属性情報が付与された複数のデータと複数のデータ格納装置とに関して、前記データの格納場所を表すアドレス情報と、前記データのサイズ情報と、前記データに付与された属性情報とを対応付けて記憶管理する情報格納手段と、
前記情報格納手段を参照して、属性情報が付与されたデータの前記複数のデータ格納装置でのデータ容量の分布状況を取得する手段と、
複数の属性情報のうちの少なくとも一つの属性情報に関して取得された前記データ容量の分布状況が予め定められたデータ再配置条件に該当しているものと判断した場合、
データを再配置した場合、前記一つの属性情報に関する前記複数のデータ格納装置間でのデータ容量の分布が均一化に関する所定の条件を満たすことになるのみならず、複数の属性情報のうちの少なくとも一つの他の属性情報に関する前記複数のデータ格納装置間でのデータ容量の分布についても均一化に関する所定の条件を満たすことになるような、再配置計画を導出する手段と、
前記導出された再配置計画にしたがって、複数の前記データ格納装置間でデータを再配置する手段と、
を備えている、ことを特徴とするデータ配置管理装置。
【請求項２】
それぞれに複数の属性情報が付与された複数のデータと複数のデータ格納装置とに関して、前記データに付与された属性情報と、前記データを格納している箇所を表すアドレス情報と、前記データのサイズ情報とを対応付けて記憶管理する情報格納手段と、
データ処理対象として指定された属性情報から、前記情報格納手段を参照して、前記属性情報に関連付けられたデータの前記複数のデータ格納装置間におけるデータ容量の比率分布を算出する手段と、
前記複数のデータ格納装置間におけるデータ容量の比率分布の最新状況から、複数の属性情報に関して、前記各属性情報に関連付けられたデータの前記複数のデータ格納装置間でのデータ容量の分布が、均一化の条件に近づくようにデータを再配置する手段と、
を備えている、ことを特徴とするデータ配置管理装置。
【請求項３】
前記複数のデータ格納装置にそれぞれ対応して複数のデータ処理装置を備え、
それぞれに対応するデータ格納装置へ個別にアクセスすることで行われる、データ処理対象として指定された属性情報に関連するデータの処理を、前記複数のデータ処理装置間で、並列に行う、ことを特徴とする請求項１又は２記載のデータ配置管理装置。
【請求項４】
複数のデータ処理サーバのデータの配置を管理する装置であって、
前記複数のデータ処理サーバのそれぞれのデータ格納装置に格納されているデータのアドレス情報と、データに関連付けられた属性情報と、データサイズと、を対応させて記憶保持するデータ配置／属性情報格納部と、
データの新規作成要求、属性情報の追加又は変更要求を受け、前記データ配置／属性情報格納部に格納されている情報を更新するデータ管理部と、
データ処理タスクの内容を分析するタスク分析部と、
前記データ配置／属性情報格納部を参照して、前記複数のデータ処理サーバにおいて、データ処理対象として指定された複数の属性情報に関連するデータが、複数のデータ処理サーバにおいて、どのように分布しているかの情報を取得するデータ配置状況分析部と、
指定された複数の属性情報に関して、前記データの分布状況を用いて、前記各属性情報に関連付けられたデータの前記複数のデータ格納装置間でのデータ容量の分布が、均一化の条件に近づくように、再配置すべきデータとその配置場所を決定するデータ配置制御部と、
前記データ配置制御部で決定されたデータ配置対象のデータを決定された配置場所に基づき、前記データ処理サーバのデータを再配置する再配置実行部と、
を備えている、ことを特徴とするデータ配置管理装置。
【請求項５】
前記データ配置状況分析部は、前記データの分布状況として、データの属性情報を構成するキーと値とに関して、前記複数のデータ処理サーバの間でのデータ容量比率の分布情報を作成する、ことを特徴とする請求項４記載のデータ配置管理装置。
【請求項６】
前記データ配置制御部は、前記データ処理サーバ間でのデータ容量比率の差に基づく閾値を用い、前記閾値を超えている属性情報のデータを、データ再配置対象に該当するものと判断する、ことを特徴とする請求項４記載のデータ配置管理装置。
【請求項７】
前記データ配置状況分析部は、与えられた前記属性情報のすべての組み合わせに関して、データ処理サーバと、データ容量との一覧であるデータ容量分布表を作成する、ことを特徴とする請求項５記載のデータ配置管理装置。
【請求項８】
前記データ配置制御部は、データ再配置後に達成されるデータ容量の比率に関して予め定められた閾値を満たすように、再配置するデータ群の容量比率を決定し、
前記データ配置状況分析部で得られたデータ容量比率の分布に関して、データ容量比率が所定の条件を満たす場合、
最大比率を占めているデータ処理サーバを再配置元とし、
最小比率を占めているデータ処理サーバを再配置先とする、ことを特徴とする請求項５記載のデータ配置管理装置。
【請求項９】
前記データ配置制御部は、データ再配置後に達成されるデータ容量の比率に関して予め定められた閾値を満たすように、再配置するデータ群の容量比率を決定し、
前記データ容量分布の表にある容量データから、再配置対象となる属性情報が付与されたデータの総容量を算出し、
再配置するデータ群の容量比率から、実際に再配置しなければならないデータ容量を算出し、
前記データ配置状況分析部で得られたデータ容量比率の分布に関して、容量比率が所定の条件を満たす場合、
最大比率を占めているデータ処理サーバを再配置元とし、
最小比率を占めているデータ処理サーバを再配置先とし、再配置対象、再配置元、再配置先に合致するデータ群を抽出する、ことを特徴とする請求項７記載のデータ配置管理装置。
【請求項１０】
前記データ配置制御部は、前記再配置対象、および再配置元と再配置先の評価により抽出された再配置候補のデータ群のうち、前記データ容量比率分布表を用いて、データ再配置を実行することによって、関連する他の属性情報に関する容量比率を参照し、
データ再配置の実行によりデータ容量の比率の最小値と最大値との差が開かない再配置候補を選択し、
前記再配置候補について、
データ容量の比率の最小値と最大値との差が開く場合については、前記データ容量分布表を用いて、データ再配置後の各ノード間の実際の容量比率を算出し、
算出された容量比率の最大値と最小値との差に関する予め定められた閾値以上の差が発生せず、かつ、前記差が最も開かない候補を選択し、
前記再配置候補について、
データ容量の比率の最小値と最大値の差が開かない場合については、前記データ容量分布表を用いて、データ再配置後の各ノード間の実際の容量比率を算出し、容量比率の差が最も小さくなるような候補を選択する、ことを特徴とする請求項９記載のデータ配置管理装置。
【請求項１１】
データ処理タスクをネットワークを介してデータ処理サーバに転送し、前記データ処理サーバにて実行されたデータ処理結果を統合してタスクを完了させるタスクブローカーと、
前記タスクブローカーからのデータ処理タスクに基づき、ストレージのデータを用いてデータ処理タスクを実行し実行結果を前記タスクブローカーへ返答するデータ処理サーバと、
データに付与されている属性情報と、前記データを格納しているデータ格納装置のアドレス情報と、データサイズとを管理する手段と、
前記データ処理タスクにおいてデータ処理対象として指定された属性情報を取得する手段と、
請求項４乃至１０のいずれか一に記載のデータ配置管理装置と、
前記データ処理サーバのストレージに格納されているデータに対して属性情報を生成し、前記データ配置管理装置の属性情報データを更新するアノテーター手段と、
新たに作成されたデータを、前記データ処理サーバへ格納するに当たり、前記データ配置管理装置のデータ管理部に対して、データの新規作成要求と、データサイズと、を送信し、データ配置先のアドレス情報を取得し、
前記データ処理サーバのストレージにおける指定された場所へ、データを格納するデータ作成クライアントと、
を含む、分散型データ処理システム。
【請求項１２】
それぞれに複数の属性情報が付与された複数のデータと複数のデータ格納装置とに関して、前記データの格納場所を表すアドレス情報と、前記データのサイズ情報と、前記データに付与された属性情報とを対応付けて記憶部に記憶する処理と、
前記記憶部を参照して、属性情報が付与されたデータの前記複数のデータ格納装置でのデータ容量の分布状況を取得する処理と、
複数の属性情報のうちの少なくとも一つの属性情報に関して取得された前記データ容量の分布状況が予め定められたデータ再配置条件に該当しているものと判断した場合、
データを再配置した場合、前記一つの属性情報に関する前記複数のデータ格納装置間でのデータ容量の分布が均一化に関する所定の条件を満たすことになるのみならず、複数の属性情報のうちの少なくとも一つの他の属性情報に関する前記複数のデータ格納装置間でのデータ容量の分布についても均一化に関する所定の条件を満たすことになるような、再配置計画を導出する処理と、
前記導出された再配置計画にしたがって、複数の前記データ格納装置間でデータを再配置する処理と、
をコンピュータに実行させるプログラム。
【請求項１３】
複数のデータ処理サーバのデータの配置を管理するコンピュータに、
前記複数のデータ処理サーバのそれぞれのデータ格納装置に格納されているデータのアドレス情報と、データに関連付けられた属性情報と、データサイズと、を対応付けて記憶部に記憶保持する処理と、
データの新規作成要求、属性情報の追加又は変更要求を受け、前記データ配置／属性情報格納部に格納されている情報を更新するデータ管理処理と、
データ処理タスクの内容を分析するタスク分析処理と、
前記記憶部を参照して、前記複数のデータ処理サーバにおいて、データ処理対象として指定された複数の属性情報に関連するデータが、複数のデータ処理サーバにおいて、どのように分布しているかの情報を取得するデータ配置状況分析処理と、
指定された複数の属性情報に関して、前記データの分布状況を用いて、前記各属性情報に関連付けられたデータの前記複数のデータ格納装置間でのデータ容量の分布が、均一化の条件に近づくように、再配置すべきデータとその配置場所を決定するデータ配置制御処理と、
前記データ配置制御処理で決定されたデータ配置対象のデータを決定された配置場所に基づき、前記データ処理サーバのデータを再配置する再配置実行処理と、
を実行させるプログラム。
【請求項１４】
請求項１３記載のプログラムにおいて、前記データ配置状況分析処理は、前記データの分布状況として、データの属性情報を構成するキーと値とに関して、前記複数のデータ処理サーバの間でのデータ容量比率の分布情報を作成する、ことを特徴とするプログラム。
【請求項１５】
請求項１３記載のプログラムにおいて、前記データ配置制御処理は、前記データ処理サーバ間でのデータ容量比率の差に基づく閾値を用い、前記閾値を超えている属性情報のデータを、データ再配置対象に該当するものと判断する、ことを特徴とするプログラム。
【請求項１６】
請求項１４記載のプログラムにおいて、前記データ配置状況分析処理は、与えられた前記属性情報のすべての組み合わせに関して、データ処理サーバと、データ容量との一覧であるデータ容量分布表を作成する、ことを特徴とするプログラム。
【請求項１７】
請求項１４記載のプログラムにおいて、前記データ配置制御処理は、データ再配置後に達成されるデータ容量の比率に関して予め定められた閾値を満たすように、再配置するデータ群の容量比率を決定し、
前記データ配置状況分析処理で得られたデータ容量比率の分布に関して、データ容量比率が所定の条件を満たす場合、
最大比率を占めているデータ処理サーバを再配置元とし、
最小比率を占めているデータ処理サーバを再配置先とする、ことを特徴とするプログラム。
【請求項１８】
請求項１６記載のプログラムにおいて、前記データ配置制御処理は、データ再配置後に達成されるデータ容量の比率に関して予め定められた閾値を満たすように、再配置するデータ群の容量比率を決定し、
前記データ容量分布の表にある容量データから、再配置対象となる属性情報が付与されたデータの総容量を算出し、
再配置するデータ群の容量比率から、実際に再配置しなければならないデータ容量を算出し、
前記データ配置状況分析処理で得られたデータ容量比率の分布に関して、容量比率が所定の条件を満たす場合、
最大比率を占めているデータ処理サーバを再配置元とし、
最小比率を占めているデータ処理サーバを再配置先とし、再配置対象、再配置元、再配置先に合致するデータ群を抽出する、ことを特徴とするプログラム。
【請求項１９】
請求項１８記載のプログラムにおいて、前記データ配置制御処理は、前記再配置対象、および再配置元と再配置先の評価により抽出された再配置候補のデータ群のうち、前記データ容量比率分布表を用いて、データ再配置を実行することによって、関連する他の属性情報に関する容量比率を参照し、
データ再配置の実行によりデータ容量の比率の最小値と最大値との差が開かない再配置候補を選択し、
前記再配置候補について、
データ容量の比率の最小値と最大値との差が開く場合については、前記データ容量分布表を用いて、データ再配置後の各ノード間の実際の容量比率を算出し、
算出された容量比率の最大値と最小値との差に関する予め定められた閾値以上の差が発生せず、かつ、前記差が最も開かない候補を選択し、
前記再配置候補について、
データ容量の比率の最小値と最大値の差が開かない場合については、前記データ容量分布表を用いて、データ再配置後の各ノード間の実際の容量比率を算出し、容量比率の差が最も小さくなるような候補を選択する、ことを特徴とするプログラム。
【請求項２０】
それぞれに複数の属性情報が付与された複数のデータと複数のデータ格納装置とに関して、前記データの格納場所を表すアドレス情報と、前記データのサイズ情報と、前記データに付与された属性情報とを対応付けて記憶部に記憶保持する工程と、
前記記憶部を参照して、属性情報が付与されたデータの前記複数のデータ格納装置でのデータ容量の分布状況を取得する工程と、
複数の属性情報のうちの少なくとも一つの属性情報に関して取得された前記データ容量の分布状況が予め定められたデータ再配置条件に該当しているものと判断した場合、
データを再配置した場合、前記一つの属性情報に関する前記複数のデータ格納装置間でのデータ容量の分布が均一化に関する所定の条件を満たすことになるのみならず、複数の属性情報のうちの少なくとも一つの他の属性情報に関する前記複数のデータ格納装置間でのデータ容量の分布についても均一化に関する所定の条件を満たすことになるような、再配置計画を導出する工程と、
前記導出された再配置計画にしたがって、複数の前記データ格納装置間でデータを再配置する工程と、
を含む、ことを特徴とするデータ配置管理方法。
【請求項２１】
それぞれが複数の属性情報を有するデータに関して、複数の属性情報のそれぞれに関する、前記データを格納する複数のデータ格納装置間でのデータ容量の分布が、予め定められた分布状況に近づくように、複数の前記データ格納装置間でとり得る、最適なデータ配置を導出する手段と、
前記導出されたデータ配置にしたがってデータを再配置する手段と、
を備えている、ことを特徴とするデータ配置管理システム。
【請求項２２】
前記複数のデータ格納装置にそれぞれ対応して複数のデータ処理装置を備え、
それぞれに対応するデータ格納装置へ個別にアクセスすることで行われる、データ処理対象として指定された属性情報に関連するデータの処理を、前記複数のデータ処理装置間で、並列に行う、ことを特徴とする請求項２１記載のデータ配置管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理技術に関し、特に、データ処理を並列分散処理に好適とされるデータ配置技術に関する。
【背景技術】
【０００２】
一般に、データ格納システムに格納されている大量のデータを用いてデータ分析処理やデータ読み出し処理等のデータ処理を行なう場合、データ格納装置内のディスクストレージからのデータの読み出し処理がデータ処理のボトルネックとなり、データ処理全体のパフォーマンスを下げている。これは、一般的に、データ処理システムを構成しているＣＰＵやメモリといった他のコンポーネントのデータアクセス速度に比べて、ディスクストレージへのデータアクセス速度が遅いためである。
【０００３】
データ処理において扱うデータ量が大きくなればなるほど、ディスクストレージにおける処理と他のコンポーネントとの処理のバランスが悪くなり、ディスクストレージからのデータの読み出し処理の遅さが、システム全体のボトルネックとして顕著に現れるようになる。
【０００４】
このようなディスクストレージからのデータ読み出し処理の課題を解決するために、一般に、データ処理に用いられるデータ群を複数のデータ格納装置に分散配置しておき、ディスクストレージからのデータの読み出し処理を並列に実行する手法が用いられる。
【０００５】
この手法を用いて、データ処理に用いられるデータ群を、予め均等に分割し、複数のデータ格納装置に分散配置しておくことで、個々のデータ格納装置においてデータの読み出し処理を、並列に分散して実行することができる。これにより、データ処理全体のパフォーマンスを上げることが可能となる。このような手法は、特に、データ格納装置に分散したデータ間に相関がないようなデータ処理において、そのデータ処理を高速化する手法として用いられている。
【０００６】
一方、前述のようなデータ分析処理やデータ読み出し処理等のデータ処理の実行にあたっては、データ処理に用いられるデータ群自体の作成処理が行なわれていることが前提となる。
【０００７】
ある単一のデータ処理を目的としたシステムにおいては、該データ処理がデータの種別に依存せずに実行される場合、該データ処理に用いるデータ群に関して、予めデータ作成処理時に生成されたデータを複数のデータ格納装置間で容量が均等になるように分散配置しておくことで、データの読み出し処理を並列化させるデータ格納システムを容易に実現することが可能である。
【０００８】
しかしながら、例えば、
・複数のデータ処理が共存しており、且つ、
・各データ処理が、データ格納システムに格納されている全てのデータを用いない、
場合においては、データ作成処理時に、単純にデータの容量が均等になるようなデータの分散配置を行なうだけでは、すべてのデータ処理を高速化するようなデータの分散配置と並列処理を実現することはできない。
【０００９】
このような課題を解決するために、例えば、データ格納システムに格納されているデータ群から、あるデータ処理で用いられるデータ群のみを抽出し、他のデータ格納システム内に、抽出したデータ群のレプリカを作成し、容量が均等になるように、複数のデータ格納装置に分散配置することで、データ処理の高速化を図るような手法も考えられる。
【００１０】
なお、データと属性の対応を考慮したデータ配置に関連した従来技術として、例えば特許文献１には、衛星画像データ等のような空間的分布を有する地理的情報（提示対象データ）と、地理的情報に関連する品質精度や緑地率等のような衛星画像データに付随する属性情報とは各々関連するものとして対応付けられ、対象提示データ群の属性情報に基づいた次元数のデータ空間（経度、緯度等と時間の３次元空間）に提示対象データ群を配置して視認可能とする構成が開示されている。データ群を複数のデータ格納装置に分散配置しデータ量の均等化を行うシステムは各種提案されているが、例えば特許文献２には、モニタエージェントがネットワークを介して各記憶装置又は全記憶装置に格納されているデータ総量に関する情報をモニタし、配置手段は、システム平準化（使用容量平準化、残容量平準化、容量使用率平準化）を実現すべくデータ移動を実行させるためのものであり、ネットワークおよび制御モジュールを介して、論理記憶領域を、前記憶装置上の物理記憶領域に分散して配置又は再配置する分散ストレージシステムが開示されている。さらに、データを分散させて再配置する構成として、例えば特許文献３には、各データファイルが書き込まれている物理デバイス番号とアドレスをリロケーション手段内のマップに記録しておき、読み込みが要求される複数のデータファイル名とその組み合わせ回数とをファイル監視手段で監視し、リロケーション手段内の記録データとファイル監視手段内の記録データとに基づいて１つの物理デバイスに集中するデータファイルを複数の物理デバイスに分散させて再配置するディスクアレイ装置が開示されている。しかしながら、後の記載からも明らかとされるように、本発明が解決しようとする課題、該課題を解決するための手段等は、特許文献１乃至３のいずれにも記載されていない。
【００１１】
【特許文献１】特開２０００−０７６２９４号公報
【特許文献２】特開２００５−０５０３０３号公報
【特許文献３】特開平８−２０２５０３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
それぞれに対応するデータ格納システムに格納されているデータを用いてデータ処理を実行する、複数の異なるデータ処理システムが共存している環境において、データのレプリカを作成し、他のデータ格納システムにデータを分散配置させて処理を行う手法をとった場合、すべてのデータ処理を高速化するためには、複数の異なるデータ処理システム間で同一のデータ群を対象としたデータ処理を実行することが必要とされる。すなわち、このようにしない限り、データ処理ごとに、データ格納システムから、データ処理のみが用いるデータを抽出し、該抽出したデータを複数のデータ処理システムに均等配置するために、抽出データのレプリカを、他のデータ格納システムに作成しなければならない。
【００１３】
しかしながら、通常、このようなデータの分散配置を実施するようなデータ処理においては、各データ処理システムで用いられるデータ群のデータ容量が、並列処理を実行するに値するくらい、巨大であることが前提とされている。このため、データ処理ごとに、各データ処理システムで用いられるデータ群のレプリカを作成することは、データ容量を大量に消費することになり、レプリカの作成処理に、膨大な時間を要する等の課題がある。
【００１４】
また、データ処理が用いるデータ群を特定する際の基準として、データの内容、意味、位置づけ等の、複数のデータ分類方法を用いるようなシステム環境において、データの内容、意味、位置づけが、時間の経過と共に変化した場合、
・データ処理における、レプリカ作成時点でのデータの切り口で定義されていなかったデータが、データ処理対象として新たに加わる場合や、
・データの定義の変更に伴い、データ処理対象から外れる場合や、
・レプリカ作成時以降に作成されたデータがデータ処理対象として新たに加わる場合、
等が発生することになる。
【００１５】
そこで、このような事態に対応し、最新のデータ分類状況で、データ処理を実行するためには、データ処理を実行するたびに、レプリカデータを再作成しなければならない。
【００１６】
いずれにしても、複数のデータ処理システムに大量のデータが格納されている環境において、分析処理やデータの読み出し処理といったデータ処理を実行することを前提として、データ処理を並列分散処理する際に、
・レプリカデータの作成処理のために膨大な時間が費やされる、
・最新のデータ分類状況に対応するためのレプリカデータを再作成しなければならない、
等といった課題を解消し、最適なデータ配置を可能とするシステムの実現が望まれる。
【００１７】
さらに上記課題に関連して、それぞれがストレージを備えた複数のデータ処理システム間でデータ容量の平準化を行うにあたり、１つの属性情報に関連してデータ配置の最適化を行っても、別の属性情報に関連したデータに関しては、複数のストレージ間におけるデータ蓄積容量の偏差が拡大してしまい、別の属性情報によるデータ処理の性能が劣化し、全体では、データ処理性能を劣化させるという事態が発生する場合もある。
【００１８】
なお、本願出願時、本明細書で述べた上記各課題の認識に関連した技術を開示した先行技術文献等は見当たらなかった。本発明は、上記課題を解決する、全く新規な装置、システム、方法、コンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
本願で開示される発明は、前記課題を解決するために、概略以下の構成とされる。
【００２０】
本発明は、動的に属性情報が変動し、データ処理の切り口が変更する環境において、複数のデータ処理の並列処理を実行可能とするように、多面的な属性情報の状態を用いて再配置すべきデータを抽出し、最適な場所でデータを再配置するものである。
【００２１】
本発明は、複数の異なるデータ処理タスクが、あるデータ格納システム内に格納されたデータ群に対して実行される環境において、データ処理タスクごとにデータ処理の対象となるデータ群のレプリカを作成し他のデータ格納システムに格納する手法を用いるのではなく、単一のデータ格納システムのみを用いて、データ配置管理装置の導入により、データ分類状況に基づいて、データ群を最適な場所に再配置することにより、複数の異なるデータ処理の並列化を実現する。
【００２２】
本発明において、データ群には、各データ処理にて用いるデータを分類するために用いられる複数の属性情報が付与されている。
【００２３】
本発明において、データ配置管理装置は、
データ群に付与されている属性情報と、
前記データ群を格納しているデータ格納装置のアドレス情報と、
データサイズと、
を管理する手段と、
各データ処理タスクにおいて、データ処理対象として指定された属性情報を取得する手段と、
前記属性情報から、
前記属性情報に関連付けられたデータ群のデータ容量の分布と、
複数のデータ格納装置間でのデータ容量比率分布と、
を算出する手段と、
前記データ容量の分布と、データ容量比率分布との最新状況から、ある属性情報に関連付けられたデータ群について、複数のデータ格納装置間で、蓄積データ容量が、ある一定水準の範囲内で均等となるようにデータを再配置する手段を備えている。
【００２４】
本発明の別の側面に係る装置は、それぞれに複数の属性情報が付与された複数のデータと複数のデータ格納装置とに関して、前記データの格納場所を表すアドレス情報と、前記データのサイズ情報と、前記データに付与された属性情報とを対応付けて記憶管理する情報格納手段と、
前記情報格納手段を参照して、属性情報が付与されたデータの前記複数のデータ格納装置でのデータ容量の分布状況を取得する手段と、
複数の属性情報のうちの少なくとも一つの属性情報に関して取得された前記データ容量の分布状況が予め定められたデータ再配置条件に該当しているものと判断した場合、
データを再配置した場合、前記一つの属性情報に関する前記複数のデータ格納装置間でのデータ容量の分布が均一化に関する所定の条件を満たすことになるのみならず、複数の属性情報のうちの少なくとも一つの他の属性情報に関する前記複数のデータ格納装置間でのデータ容量の分布についても均一化に関する所定の条件を満たすことになるような、再配置計画を導出する手段と、
前記導出された再配置計画にしたがって、複数の前記データ格納装置間でデータを再配置する手段とを備えている。
【００２５】
本発明に係るコンピュータ・プログラムは、それぞれに複数の属性情報が付与された複数のデータと複数のデータ格納装置とに関して、前記データの格納場所を表すアドレス情報と、前記データのサイズ情報と、前記データに付与された属性情報とを対応付けて記憶部に記憶する処理と、
前記記憶部を参照して、属性情報が付与されたデータの前記複数のデータ格納装置でのデータ容量の分布状況を取得する処理と、
複数の属性情報のうちの少なくとも一つの属性情報に関して取得された前記データ容量の分布状況が予め定められたデータ再配置条件に該当しているものと判断した場合、
データ再配置計画を評価し、前記一つの属性情報に関する前記複数のデータ格納装置間でのデータ容量の分布が均一化に関する所定の条件を満たすことになるのみならず、複数の属性情報のうちの少なくとも一つの他の属性情報に関する前記複数のデータ格納装置間でのデータ容量の分布についても均一化に関する所定の条件を満たすことになるような、再配置計画を導出する処理と、
前記導出された再配置計画にしたがって、複数の前記データ格納装置間でデータを再配置する処理と、
をコンピュータに実行させるプログラムよりなる。
【００２６】
本発明に係る方法は、それぞれに複数の属性情報が付与された複数のデータと複数のデータ格納装置とに関して、前記データの格納場所を表すアドレス情報と、前記データのサイズ情報と、前記データに付与された属性情報とを対応付けて記憶部に記憶保持する工程と、
前記記憶部を参照して、属性情報が付与されたデータの前記複数のデータ格納装置でのデータ容量の分布状況を取得する工程と、
複数の属性情報のうちの少なくとも一つの属性情報に関して取得された前記データ容量の分布状況が予め定められたデータ再配置条件に該当しているものと判断した場合、
データを再配置した場合、前記一つの属性情報に関する前記複数のデータ格納装置間でのデータ容量の分布が均一化に関する所定の条件を満たすことになるのみならず、複数の属性情報のうちの少なくとも一つの他の属性情報に関する前記複数のデータ格納装置間でのデータ容量の分布についても均一化に関する所定の条件を満たすことになるような、再配置計画を導出する工程と、
前記導出された再配置計画にしたがって、複数の前記データ格納装置間でデータを再配置する工程と、を含む。
【００２７】
本発明に係るシステムは、それぞれが複数の属性情報を有するデータに関して、複数の属性情報のそれぞれに関する、前記データを格納する複数のデータ格納装置間でのデータ容量の分布が、予め定められた分布状況に近づくように、複数の前記データ格納装置間でとり得る、最適なデータ配置を導出する手段と、前記導出されたデータ配置にしたがってデータを再配置する手段と、を備えている。
【発明の効果】
【００２８】
本発明によれば、あるデータ格納システムに格納されている複数の属性情報が定義されたデータに対して、属性情報に基づく複数の異なるデータ処理タスクを実行する際、各データ処理の対象となっているデータ群のデータ容量が巨大であったとしても、他のデータ格納システムに前記データ群のレプリカをデータ処理ごとに作成せずに、それぞれのデータ格納システムのみを用いて、複数のデータ処理装置を用いたデータ処理の並列分散処理を実行することが可能となる。
【００２９】
つまり、本発明によれば、データ処理ごとに、レプリカデータを作成することがないため、レプリカデータの作成時間やレプリカデータを格納するためのストレージ容量を削減することが可能となる。
【００３０】
さらに、本発明によれば、複数のストレージ間におけるデータ蓄積容量の平準化を行うシステムにおいて、１つの属性情報に関連してデータの平準化を行っても、別の属性情報に関連したデータに関しては、複数のストレージ間におけるデータ蓄積容量の偏差が逆に拡大してしまい、全体でのデータ処理性能を劣化させるという事態の発生を抑制可能としている。
【発明を実施するための最良の形態】
【００３１】
上記した本発明についてさらに詳細に説述すべく、添付図面を参照して以下に説明する。図１は、本発明の一実施形態のシステム構成の一例を示す図である。図１を参照すると、本実施の形態では、
少なくとも１台以上のタスクブローカー３と、
少なくとも２台以上のデータ処理サーバ２と、
少なくとも１台以上のアノテーター４と、
少なくとも１台以上のデータ作成クライアント５と、
少なくとも１台以上のデータ処理タスククライアント８と、
データ配置管理装置１と
を備えており、これらは、ネットワーク６を介して通信可能なシステムを構成している。なお、図１では、説明の容易化のため、データ処理タスククライアント８はタスクブローカー３にデータ処理タスクを直接与える接続構成として示されているが、データ処理タスククライアント８はネットワーク６を介してタスクブローカー３にデータ処理タスクを与えるようにしてもよいことは勿論である。
【００３２】
タスクブローカー３は、データ処理タスククライアント８からデータ処理タスクを受け取り、該データ処理タスクをネットワーク６を介して、システムを構成しているすべてのデータ処理サーバ２に転送する。またタスクブローカー３は、各データ処理サーバ２にて実行されたデータ処理結果を受け取って統合し、タスクを完了させる役割を持つ。タスク完了の旨を、データ処理タスククライアント８に応答として返す。なお、タスクブローカー３は、これから実行が予定されているタスクの一覧を内部の記憶部（不図示）に保存している。
【００３３】
なお、データ処理タスクは、少なくとも、
・データ処理の実行対象となるデータ群を特定するための属性情報と、
・データの分析処理やデータの読み出し処理等のデータ処理の実行内容と、
を含む。
【００３４】
複数のデータ処理サーバ２のそれぞれは、データ処理を実行するためのデータを格納するデータ格納装置としてディスクストレージ７を備えている。
【００３５】
データ処理サーバ２は、タスクブローカー３から転送されたデータ処理タスクに基づき、ディスクストレージ７に格納されているデータを用いてデータ処理タスクを実行し、その実行結果を、タスクブローカー３へ返答する。
【００３６】
データ配置管理装置１は、
・データに関連付けられた属性情報、
・当該データの格納場所を表すアドレス情報、
・当該データのデータサイズ
を対応付けて記憶管理している。
【００３７】
データ配置管理装置１は、外部装置からの属性情報に基づく問い合わせに応じて、
・該当する属性情報に関連付けられたデータ群のアドレス情報と、
・データサイズ情報と、
を問い合わせ主（元）に提供する。
【００３８】
図２は、本実施形態におけるデータ配置管理装置１の構成の一例を示した図である。図２を参照すると、データ配置管理装置１は、データ配置／属性情報格納部１００と、データ管理部１０１と、タスク分析部１０２と、データ配置状況分析部１０３と、データ配置制御部１０４と、再配置実行部１０５を備えている。
【００３９】
データ配置／属性情報格納部１００は、
・データ処理サーバ２のディスクストレージ７に格納されているデータのアドレス情報と、
・データに関連付けられた属性情報と、
・データのデータサイズと、
を格納する。
【００４０】
データ管理部１０１は、
・データ作成クライアント５による、データの新規作成要求や、
・アノテーター４による属性情報の追加、変更要求
を受け、データ配置／属性情報格納部１００に格納されているデータを更新する。
【００４１】
タスク分析部１０２は、タスクブローカー３により実行された、もしくは実行される予定のデータ処理タスクの内容（処理の実行内容）を分析する。
【００４２】
データ配置状況分析部１０３は、データ配置／属性情報格納部１００に格納されている情報（データの格納アドレスと属性情報）を用いて、ある特定の属性情報をキーとするデータ群について、複数のデータ処理サーバ２における、分布状況を分析する。すなわち、特定の属性情報が付与されたデータが、複数のデータ処理サーバ２のディスクストレージ７において、どのように分布しているかの情報を取得する。
【００４３】
データ配置制御部１０４は、
・タスク分析部１０２で得られたタスク（データ処理タスク）の内容（処理の実行内容）と、
・データ配置状況分析部１０３で取得されたデータの分布状況と、
を用いて、再配置すべきデータとその配置場所を決定する。
【００４４】
再配置実行部１０５は、データ配置制御部１０４で決定されたデータ配置対象のデータを、決定された配置場所に基づき、データ処理サーバ２のデータを再配置する。
【００４５】
なお、データ管理部１０１、タスク分析部１０２、再配置実行部１０５は、ネットワーク６を介して、システムを構成する他の装置と通信する手段を具備している。
【００４６】
図２のデータ管理部１０１、タスク分析部１０２、データ配置状況分析部１０３、データ配置制御部１０４、再配置実行部１０５はコンピュータ上で実行されるプログラムにより処理・機能を実現するようにしてもよい。
【００４７】
再び図１を参照すると、アノテーター４は、
・データ処理サーバ２のディスクストレージ７に格納されているデータに対して、データの内容や位置づけを分析して、属性情報を生成する、
・データ配置管理装置１のデータ管理部１０１（図２参照）を介して、データ配置／属性情報格納部１００の属性情報データを更新する、
等の機能を備えている。
【００４８】
データ作成クライアント５は、新規作成されたデータを、データ処理サーバ２へ格納するに当たり、データ配置管理装置１のデータ管理部１０１（図２参照）に対して、
・データの新規作成要求と、
・データサイズと、
を送信することで、
・データ配置先のアドレス情報を取得し、
・データ処理サーバ２のディスクストレージ７における指定された場所へデータを格納する。
【００４９】
＜データ処理タスクの実行手順＞
次に、図１のシステムを用いたデータ処理タスクの基本的な実行手順について説明する。
【００５０】
タスクブローカー３にて登録されたデータ処理タスクは、データ処理対象とデータ処理内容が含まれたデータ処理命令として、ネットワーク６を介してシステムを構成するすべてのデータ処理サーバ２へ転送される。
【００５１】
データ処理サーバ２では、
・受け取ったデータ処理命令から、データ処理対象の指定に用いられている属性情報を抽出し、
・データ配置管理装置１に対して、
・属性情報が付与されており、且つ、
・自身のディスクストレージ７に格納されているデータの一覧の取得要求を送信する。
【００５２】
データ配置管理装置１のデータ管理部１０１では、データ一覧の取得要求を受け、データ配置／属性情報格納部１００から、与えられた属性情報を元に、
・属性情報が付与されており、且つ、
・データ一覧取得要求の発行元のデータ処理サーバ２のディスクストレージ７に格納されている、
データの一覧を取得し（「データ一覧取得操作」という）、要求発行元となるデータ処理サーバ２へ転送する。なお、データ一覧取得操作は、データ処理命令を受け取ったすべてのデータ処理サーバ２において実行される。
【００５３】
データ処理サーバ２は、自身のディスクストレージ７に格納されているデータのうち、データ配置管理装置１から受け取ったデータ一覧に含まれている、すべてのデータに対して、データ処理命令に含まれているデータ処理内容に基づいたデータ処理を実行する。
【００５４】
データ処理サーバ２は、与えられたデータ処理命令の実行終了後、実行結果をタスクブローカー３に対して送信する。
【００５５】
タスクブローカー３は、自身が転送したデータ処理命令の実行結果を、命令を転送したすべてのデータ処理サーバ２から取得した後、データ処理内容に基づいて、すべての実行結果を、１つの実行結果としてまとめ、実行結果をデータ処理タスククライアント８に返送し、データ処理タスクを終了する。
【００５６】
＜データ処理サーバに格納されているデータに関連付けられている属性情報について＞
本実施形態において、データ配置管理装置１のデータ配置／属性情報格納部１００に格納されている属性情報は、例えば以下のようなデータ構成とされている。
【００５７】
＜Ｋｅｙ情報＞
Ｋｅｙ情報は、属性情報の分類名を表すデータである。例えば、データ処理サーバ２のディスクストレージ７に格納されているデータに、色に関するデータが含まれていた場合、「色」という分類名がＫｅｙ情報として格納される。
【００５８】
＜Ｖａｌｕｅ情報＞
Ｖａｌｕｅ情報はＫｅｙ情報の具体的な値を表すデータである。例えば、色という分類名がＫｅｙ情報として定義されていた場合、赤、青、黄といった分類の値を表すデータがＶａｌｕｅ情報として格納される。
【００５９】
Ｋｅｙ情報とＶａｌｕｅ情報を組み合わせて１つの属性情報として定義することにする。
【００６０】
また、データ処理サーバ２のディスクストレージ７に格納されているデータに対して、複数の属性情報が付与可能とされている。但し、属性情報を付与する際、１つのＫｅｙ情報に対して、複数のＶａｌｕｅ情報を付与することはできず、データに付与される１つの属性情報を構成する１つのＫｅｙ情報に対して１つのＶａｌｕｅ情報が設定される。
【００６１】
本実施形態において、属性情報は、タスクブローカー３から転送されるデータ処理タスクのデータ処理対象を特定するための情報として用いられる。
【００６２】
なお、本実施形態において、データに対して複数の属性情報を付与することが可能であることから、複数のデータ処理タスクにおいて、それぞれデータ処理対象を指定している属性情報が異なっている場合にも、同一のデータがデータ処理の対象となっている可能性があることになる。同一のデータが第１の属性情報に関して第１のデータ処理タスク、第２の属性情報に関して第２のデータ処理タスクで処理される場合がある。
【００６３】
＜データ処理サーバに格納されているデータの再配置手順＞
本実施形態において、データ配置管理装置１を用いてデータ処理サーバ２間でデータを再配置する手順を、図３のフローチャートと、図４乃至図６を用いて説明する。
【００６４】
以下では、図１に示すシステムにおいて、ノード番号１〜３の３台のデータ処理サーバ２を備え、図４に示すように、それぞれ２種類のＶａｌｕｅ情報をもつ２種類のＫｅｙ情報が、すべてのデータに対して属性情報として付与されている環境、つまり、合計４種類のデータ分類方法に基づくデータ群に対する複数のデータ処理タスクが実行される環境を例に説明する。
【００６５】
データ配置管理装置１のデータ配置制御部１０４は、タスク分析部１０２に対して、タスクブローカー３に登録されている、今後実行が予定されている、データ処理タスク命令群の取得と、分析命令を出す。
【００６６】
タスク分析部１０２は、データ配置制御部１０４から受け取った命令に基づき、タスクブローカー３からデータ処理タスク命令群を取得し、データ処理タスク命令群から、データ処理の対象となる、データ群を特定する属性情報を抽出する。
【００６７】
さらに、タスク分析部１０２は、取得したすべての属性情報のＫｅｙ情報とＶａｌｕｅ情報を抽出し、データ配置制御部１０４へ転送する（ステップ２００）。
【００６８】
データ配置制御部１０４は、データ配置状況分析部１０３に対してタスク分析部１０２から取得したＫｅｙ情報とＶａｌｕｅ情報の一覧と共に、各属性情報を持つデータを格納する、複数のデータ処理サーバ２のそれぞれのディスクストレージ７における、データの容量分布比率表の作成命令を転送する。
【００６９】
データ配置状況分析部１０３は、与えられたＫｅｙ情報とＶａｌｕｅ情報に該当するすべてのデータのアドレス情報、および、データサイズを、データ配置／属性情報格納部１００から抽出し、属性情報ごとに、該属性情報を持つデータのデータ処理サーバ２間での容量比率をまとめたデータ容量比率分布表（図５の１０６）を作成し、データ配置制御部１０４へ転送する（ステップ２０１）。
【００７０】
なお、前述したように、データ配置／属性情報格納部１００には、データ処理サーバ２のディスクストレージ７に格納されているデータのアドレス情報と、データに関連付けられた属性情報と、データのデータサイズとが関連付けて格納されているため、データ配置状況分析部１０３は、データ配置／属性情報格納部１００に格納されている情報を参照するだけで、データ処理サーバ２のディスクストレージ７間でのデータ容量比率分布表を作成することができる。
【００７１】
図５のデータ容量比率分布表１０６は、例えばＫｅｙ１のＶａｌｕｅ情報がＡのデータは、ノード１、２、３間で３０％、４０％、３０％、Ｖａｌｕｅ情報がＢのデータは、ノード１、２、３間で５０％、３０％、２０％であることを示している。
【００７２】
データ配置制御部１０４は、データ配置状況分析部１０３で作成されたデータ容量比率分布表１０６を元に、各属性情報に関連するデータ群のうち、システム管理者等によって予め決められていたデータ再配置実行対象の該当条件に当てはまるものがあるか否かを判定する（ステップ２０２）。
【００７３】
なお、該当条件には、例えばデータ処理サーバ２間でのデータ容量比率差に基づく閾値を用い、前記閾値を超えていた場合、データ再配置対象に該当すると判断するものとする。特に制限されないが、本実施の形態では、この手順の説明で用いる例の場合の閾値は、格納するデータ容量の最大比率の値が最小比率の値の２倍を超えるかどうかで設定されているものとする。
【００７４】
データ再配置実行対象の該当条件に当てはまるデータ群が存在する場合、データ配置制御部１０４は、該当条件に当てはまる１つのデータ群について、再配置の検討を開始する。
【００７５】
なお、図５に示すデータ容量比率分布表１０６の場合、Ｋｅｙ１のＢという属性情報が付与されたデータ群に関して、ノード１に格納されているデータ容量がノード３に格納されているデータ容量の２倍を超えているため（２．５倍）、当該データ群が再配置検討の対象となる。
【００７６】
データ配置制御部１０４は、データ容量分布表の作成命令をデータ配置状況分析部１０３へ転送する。
【００７７】
データ配置状況分析部１０３は、データ配置／属性情報格納部１００に格納されているデータを用いて、図６に示すようなデータ容量分布表１０７を作成し、データ配置制御部１０４へ転送する（ステップ２０３）。
【００７８】
なお、データ容量分布表は、タスクブローカー３から取得した属性情報のすべての組み合わせに関連するデータ群ごとに作成するものとする。その組み合わせの数は、タスクブローカー３から取得したＫｅｙ情報数をＸ、タスクブローカー３から取得したｉ番目のＫｅｙ情報に該当するＶａｌｕｅ値の数をＡ（ｉ）とすると、以下で与えられる（ただし、Πは総乗（積）演算子である）。
2008225686.tif 000003
【００７９】
さらに、データ処理サーバの数をＮ台と定義すると、データ容量分布表は、
2008225686.tif 000004
のデータ群に分けることができる。
【００８０】
図４に示す属性情報の例の場合、２×２×３＝１２通り、つまり、
Ａ且つＣ、Ａ且つＤ、Ｂ且つＣ、Ｂ且つＤ
の４通りのデータが、３台のデータ処理サーバに分布していることになる。
【００８１】
このため、最大で、２×２×３＝１２通りのデータ群に分けることができ、図６に示すようなデータ容量分布表１０７を作成することが可能となる。
【００８２】
データ配置制御部１０４は、データ配置状況分析部１０３から取得したデータ容量分布表１０７と、前記ステップ２０２で用いたデータ容量比率分布表１０６と、を用いて、再配置対象となるデータ群とその再配置先の絞り込みを行なう。
【００８３】
再配置対象となるデータ群とその際配置先の絞り込みにあたっては、以下の（１）〜（４）の評価を行ない、再配置するデータと、再配置元、および再配置先のデータ処理サーバ２の絞り込みを行なう（ステップ２０４）。
【００８４】
（１）＜データ容量比率分布表を用いた再配置する容量比率と、データ再配置元と再配置先の評価＞  
データ再配置の対象となった再配置対象となる属性情報が付与されたデータに関して、データ再配置作業を行なうことにより、再配置後に達成されるデータ容量比率の閾値をユーザ、もしくはシステム管理者が予め決めておき、そのデータ容量比率となるように、再配置するデータ群の容量比率を決定する。
【００８５】
また、データ再配置元とデータ再配置先の決定に当たっては、前記データ容量比率を満たすデータ容量を、最大比率を占めているデータ処理サーバを再配置元、最小比率を占めているデータ処理サーバを再配置先とする。
【００８６】
以上により、データ再配置対象のデータ群の全体の何％のデータを、どのデータ処理サーバから、どのデータ処理サーバに再配置すべきか、を判定することが可能となる。
【００８７】
なお、上記手順の説明に用いている例において、ユーザ、もしくはシステム管理者が、データ容量比率の最小値が、最大値の１．５倍以下となるように、再配置後の容量比率差を設定しているものとすると、図５のデータ容量比率分布表１０６から、Ｋｅｙ１のＢの属性情報が付与されたすべてのデータのうち、全体の８％比率の容量のデータを、ノード番号１のデータ処理サーバ２から、ノード番号３のデータ処理サーバ２へ再配置すればよいことが分かる。
【００８８】
（２）＜データ容量分布表を用いた（１）の評価に基づく、再配置容量の評価＞
データ容量分布表にある容量データから、再配置対象となる属性情報が付与されたデータの総容量を算出し、（１）の評価で求めたデータ容量比率から、実際に再配置しなければならないデータ容量を算出する。
【００８９】
さらに、（１）の評価により抽出された再配置対象、再配置元、再配置先に合致するデータ群を抽出する。
【００９０】
図６に示したデータ容量分布表１０７の例の場合、再配置対象となっているＫｅｙ１のＢの属性情報の付与されたデータ容量の総容量は６００ＧＢであることから、６００×０．０８＝４８ＧＢの容量のデータをノード番号１のデータ処理サーバ２からノード番号３のデータ処理サーバへ再配置すればよいことが分かる。
【００９１】
また、Ｋｅｙ１のＢの属性情報の付与されたデータ群は、さらにＫｅｙ２のＣの属性情報、もしくはＫｅｙ２のＤの属性情報を付与されていることから、再配置の候補として、図６の候補１、候補２と示した２つのデータ群を抽出することができる。
【００９２】
（３）＜データ容量比率分布表、およびデータ容量分布表を用いた（２）の評価に基づく、再配置対象、および再配置元と再配置先の評価＞
（２）の評価により抽出された再配置候補のデータ群のうち、データ容量比率分布表を用いて、データ再配置を実行することによって、関連する他の属性情報に関する容量比率を参照し、データ再配置実行により、データ容量の比率の最小値と最大値の差が開かない候補を選択する。
【００９３】
すべての再配置候補について、データ容量の比率の最小値と最大値の差が開く場合については、データ容量分布表１０７を用いて、データ再配置後の各ノード間の実際の容量比率を算出し、（１）の評価に用いた、容量比率の最大値と最小値の差を表す閾値以上の差が発生せず、且つ、その差が最も開かない候補を選択する。
【００９４】
再配置候補について、データ容量の比率の最小値と最大値の差が開かない場合については、データ容量分布表１０７を用いて、データ再配置後の各ノード間の実際の容量比率を算出し、容量比率の差が最も小さくなるような候補を選択する。
【００９５】
なお、本手順の説明で用いる例の場合、Ｋｅｙ１のＢ、且つ、Ｋｅｙ２のＣが付与されたデータ群（候補１）をノード番号１からノード番号３のデータ処理サーバ２に再配置するケースは、図５のデータ容量比率分布表１０６により、容量比率の最小値と最大値の差が開くことから、再配置候補から外れる。
【００９６】
一方、Ｋｅｙ１のＢ且つＫｅｙ２のＤが付与されたデータ群（候補２）をノード番号１からノード番号３のデータ処理サーバ２に再配置するケースは、図５のデータ容量比率分布表１０６により、容量比率の最小値と最大値の差が縮まることから、最終的な再配置対象として決定される。以上の処理から、再配置すべきデータの抽出条件としては、Ｋｅｙ１のＢ且つＫｅｙ２のＤが属性情報として付与されていること、再配置データ容量としては、４８ＧＢ、再配置元のデータ処理サーバとしてノード番号１のサーバ、再配置先のデータ処理サーバとしてノード番号３のサーバが抽出される。
【００９７】
データ配置制御部１０４は、前述の（１）〜（３）の評価によって抽出された。
【００９８】
・再配置対象となるデータの抽出条件、
・再配置データ容量、
・再配置元、
・再配置先
の情報をもとに、データ配置／属性情報格納部１００に格納されている再配置対象のデータに対して、再配置対象であることを示すフラグと再配置元、再配置先の情報を追加する（ステップ２０５）。
【００９９】
データ配置制御部１０４は、データ配置状況分析部１０３に対して、データ容量比率分布表１０６の作成要求を発行し、データ配置／属性情報格納部１００に格納されているデータを用いて、その時点で設定されている再配置実行後のデータ配置でのデータ容量比率分布表１０６を作成させ（ステップ２０１）、データ容量比率の最小値と最大値の差が閾値以上になっている他のデータ群があるか否かを確認する（ステップ２０２）。
【０１００】
データ容量比率の最小値と最大値の差が閾値以上になっているデータ群が存在する場合は、データ群に対して、ステップ２０３〜２０５の操作を再び実行する。
【０１０１】
なお、以降の操作の際に作成される、データ容量分布表１０７、およびデータ容量比率分布表１０６は、他のデータ群に関する再配置評価から決定された再配置後のアドレス情報を元に作成することにする。
【０１０２】
本実施の形態において、複数のデータ群に対する再配置評価の際、あるデータ群の評価の際に再配置対象となったデータが、その後のデータ群の再配置評価の際に再び再配置対象となった場合には、データ配置／属性情報格納部１００のデータを、最新の評価結果に基づく、再配置元、再配置先のデータに更新する。
【０１０３】
したがって、あるデータ群の再配置の評価の際、例えばノード１からノード３へ再配置するとして計画されたデータが、その後の他のデータ群の再配置の評価の際、ノード３からノード１へ再配置するものとして計画され、最終的に、現在の配置場所にデータを配置するように計画された場合には、データ配置／属性情報格納部１００において該当データが再配置対象であることを示すフラグをクリアする。
【０１０４】
データ容量比率の最小値と最大値の差が閾値以上になっているデータ群が存在しな場合には（再配置を検討すべきデータ群が残っていない場合であり、図３のステップ２０２のＮｏ分岐）、再配置実行命令を再配置実行部１０５に対して転送する。
【０１０５】
再配置実行部１０５は、データ配置／属性情報格納部１００において、再配置対象としてフラグのたっているすべてのデータについて、アドレス情報、再配置先の情報を抽出し、データ処理サーバ２上のデータの再配置を実行する（ステップ２０６）。
【０１０６】
本実施の形態によれば、
・データに複数の属性情報が付与されており、
・その属性情報を元に処理するデータを決定するようなデータ処理タスクが複数共存し、
・複数のデータ処理サーバで、各データ処理サーバ自身のディスクストレージに格納しているデータに対して、前記データ処理を分割して並列に実行する、
という環境において、
データ処理タスクごとに、最新のデータから、データのレプリカを作成し、並列処理用のデータ処理サーバを作らなくても、データ処理サーバ群で複数の異なるデータ処理タスクの並列処理を実行することを可能としている。すなわち、本実施の形態によれば、レプリカの作成コストと余分なデータ処理サーバを必要としない。
【０１０７】
つまり、本実施の形態によれば、従来、別々に構築していた、データの並列処理を実行する基盤と、データ格納基盤とを、１つの基盤で実現することが可能となり、大幅なコスト削減が期待できる。
【０１０８】
さらに、本実施の形態によれば、データに付与される属性情報が動的に変更するような環境であっても、常に、最新の状態のデータを用いたデータの並列処理を可能な限り並列効果を生かした形態で実行することが可能となる。
【０１０９】
本実施形態によれば、複数のストレージ間におけるデータ蓄積容量の平準化を行うシステムにおいて、１つの属性情報に関連してデータの平準化を行っても、別の属性情報に関連したデータに関しては、複数のストレージ間におけるデータ蓄積容量の偏差が逆に拡大してしまい、全体でのデータ処理性能を劣化させるという事態の発生を抑制可能としている。
【０１１０】
なお、図１に示した実施の形態では、データ処理サーバ２はタスクブローカー３から受け取ったデータ処理命令からデータ処理対象の指定に用いられている属性情報を抽出し、データ配置管理装置１に対して属性情報が付与されたディスクストレージ７に格納されているデータの一覧の取得要求を送信し、ディスクストレージ７に格納されているデータのうち、データ配置管理装置１から受け取ったデータ一覧に含まれているデータに対してデータ処理命令で指定される処理を実行する構成とされているが、本発明は、かかる構成に限定されるものでないことは勿論である。例えば、タスクブローカー３とデータ配置管理装置１を相互に接続するか一体化し、タスクブローカー３は、データ処理対象の指定に用いられている属性情報を抽出してデータ配置管理装置１に渡し、データ配置管理装置１では、データ配置／属性情報格納部１００を参照して、それぞれのデータ処理サーバ２のディスクストレージ７に格納されている、属性情報に関連したデータの一覧を取得した上で、データ処理命令とデータ一覧を対応するデータ処理サーバ２宛てにそれぞれ送信する構成としてもよい。
【０１１１】
また、本実施の形態においては、データの格納場所（アドレス情報）、データサイズ、属性情報を個々のデータ処理サーバ２でそれぞれ個別に記憶管理し、データ配置管理装置１において、適宜、各データ処理サーバ２でのデータのアドレス情報、データサイズ、属性情報の対応付け情報を集計してデータ配置／属性情報格納部１００を更新し、データ容量の分布表、比率表等を作成する構成も一変形例として含み得る。この場合、データ処理サーバ２は、アノテーター４で作成された属性情報を受け取ってデータに関連付けて管理するようにしてもよい。
【０１１２】
データの再配置は、定期的に（例えば毎日深夜零時等）に一括で行ってもよいし、あるいはデータアクセスのモニタ結果等に基づき、アクセス頻度の少ない期間に分散して（部分的に）行うようにしてもよい。その際、アクセス頻度の少ないストレージから優先的に行ってもよい。
【０１１３】
本実施形態において、データ処理タスクとしては、例えばデータの検索、データの読出と読出データに関する演算等の処理が行われ、データの書き込み（更新）は、データ作成クライアント５により行われる。図１に示した構成において、データ処理タスククライアント８とデータ作成クライアント５とが分離されているが、一つの装置としてもよい。この場合、アノテーター４は、データ処理の内容がデータ作成処理であると判断したとき、属性情報を作成する。
【０１１４】
本実施の形態において、データ配置制御部１０４におけるデータの再配置評価の手法は上記手法にのみ限定されるものでなく、複数の属性情報に関する複数データの複数のデータ格納装置間における分布の最適化（データ処理に適した分布状況に近づけるための最適化）として、他の任意の最適化法が適用可能である。例えば第１、第２の属性情報をＸ−Ｙ直交座標軸とし、複数のデータ処理サーバのノード番号（離散値１、２、３・・・）を各座標値で表し、Ｘ、Ｙ座標平面のある位置でのデータ容量（又は比率）をＺ軸とした３次元表示にて表した場合、データ配置の最適化は、（Ｘ，Ｙ）平面の離散格子点におけるＺ軸の値の凹凸を均一化（平坦化）させるプロセスとして捕らえることができる。一般のｎ次元の属性情報と分布状況はｎ＋１次元モデルとなる。属性情報の数、データ処理サーバの個数が増大した場合、この種の問題を解決するために数理計画法等が利用される。なお、再配置計画において、再配置元、再配置先はそれぞれ１つのノードに制限されるものでなく、例えば１つの再配置元から複数の再配置先へのデータの再配置、複数の再配置元から１つの再配置先等も可能であり、再配置データを分割し重み付けして分配するようにしてもよい。
【０１１５】
以上、本発明を上記実施例に即して説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【０１１６】
【図１】本発明の一実施形態のシステム構成の一例を示したものである。
【図２】本発明の一実施形態のデータ配置管理装置の構成の一例を示したものである。
【図３】本発明の一実施形態のデータ再配置手順を説明するためのフローチャートである。
【図４】本発明の一実施形態においてデータに付与される属性情報の例を示す図である。
【図５】本発明の一実施形態においてあるひとつの属性情報の切り口で分類したデータ容量比率分布表の一例を示す図である。
【図６】本発明の一実施形態において複数の属性情報の切り口で分類したデータ容量分布表の一例である。
【符号の説明】
【０１１７】
１  データ配置管理装置
２  データ処理サーバ
３  タスクブローカー
４  アノテーター
５  データ作成クライアント
６  ネットワーク
７  ディスクストレージ
８  データ処理タスククライアント
１００  データ配置／属性情報格納部
１０１  データ管理部
１０２  タスク分析部
１０３  データ配置状況分析部
１０４  データ配置制御部
１０５  再配置実行部
１０６  データ容量比率分布表
１０７  データ容量分布表
【図１】
2008225686.tif 000005
【図２】
2008225686.tif 000006
【図３】
2008225686.tif 000007
【図４】
2008225686.tif 000008
【図５】
2008225686.tif 000009
【図６】
2008225686.tif 000010