JP2013222221A - 分散データ管理システム及びデータ移動管理方法 - Google Patents

分散データ管理システム及びデータ移動管理方法 Download PDF

Info

Publication number
JP2013222221A
JP2013222221A JP2012091354A JP2012091354A JP2013222221A JP 2013222221 A JP2013222221 A JP 2013222221A JP 2012091354 A JP2012091354 A JP 2012091354A JP 2012091354 A JP2012091354 A JP 2012091354A JP 2013222221 A JP2013222221 A JP 2013222221A
Authority
JP
Japan
Prior art keywords
data
movement
server
priority
load
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.)
Pending
Application number
JP2012091354A
Other languages
English (en)
Inventor
Keiko Okubo
敬子 大久保
Kunihiko Higashimura
邦彦 東村
Naoki Haraguchi
直規 原口
Yoshiaki Takeshima
由晃 竹島
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2012091354A priority Critical patent/JP2013222221A/ja
Publication of JP2013222221A publication Critical patent/JP2013222221A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】バックグラウンドで実行されるデータ移動処理の実行タイミングを計り、データアクセス処理を効率良く実行する。
【解決手段】サーバリソース管理部が、複数のDBサーバ2の平均負荷の状況をそれぞれ管理しており、移動元サーバ又は移動先サーバにおける平均負荷が予め設定された高負荷用閾値以上となると、データアクセス処理の優先順位よりもデータ移動処理の優先順位を高く設定する一方、その後、移動元サーバ又は移動先サーバにおける平均負荷が予め設定された中低負荷用閾値以下となると、データアクセス処理の優先順位をデータ移動処理の優先順位よりも高く設定している。
【選択図】図1

Description

本発明は、分散データ管理システム及びデータ移動管理方法に関し、ネットワークを介して接続された複数サーバを用いてデータを分散管理し、データアクセス処理(リード、ライト)を行うサーバシステムに適用して好適なるものである。
近年では、インターネットやモバイル機器の普及、情報の電子化或いはマシンtoマシン技術の発展などの様々な要因により、データ管理システムに記録されるデータ量が膨大になってきている。このような膨大なデータを記録、管理するために、データ管理システムにおいては、柔軟なスケーラビリティが求められており、データの大規模な分散管理が必須となっている。また、分散データ管理システムにおける機器構成の変更や複数のデータベースサーバ(以下、DBサーバという)間の負荷の均等化に伴うデータ再配置においては、データの移動量がテラバイトレベルに達することもあり、効率的なデータ移動の方法が必要である。
データアクセスサービスを提供する分散データ管理システムにおいて大規模なデータ移動を行う際には、データアクセスサービスを停止し、データ移動を集中的に行うことがある。しかしながら、サービスの停止を許容できないシステムにおいては、データ移動処理とデータアクセス処理を並行して行う必要がある。このとき、各DBサーバにとっては、データアクセス処理が本来業務であり、優先順位が高い処理(以下、高優先処理という)である。一方、データ移動処理は、本来バックグラウンドで行うべき優先順位の低い処理(以下、低優先処理という)である。ここで、優先制御を行わずにデータ移動を行った場合、データ移動が多くなるとサーバやネットワークにおいて優先であるべきデータアクセス処理が圧迫され、処理の遅延が多発し、サービスの質の低下につながるおそれがある。
上記問題を解決する手段として、複数の優先順位を持つ処理を行うサーバにおいて高優先処理の品質を保つために、サーバ負荷が上昇すると、低優先処理の実行を制限することによりサーバの負荷上昇を回避する技術がある。特許文献1では、優先レベルの異なるメインプロセスとサブプロセスを扱い、CPU(Central Processing Unit)使用率の上限値と、現在のCPU使用率との間の関係、及びメインプロセスの必要最低限な品質レベルに基づいて、サブプロセスの処理速度を制御する。これにより低優先処理であるサブプロセスの負荷上昇を抑え、高優先処理であるメインプロセスの実行が妨げられることを防いでいる。
DBサーバにおいても、上述した技術によりデータアクセス処理を優先的に行うことが可能である。しかしながら、長期間に渡り負荷が高いDBサーバにおいては、DBサーバの高負荷の原因となるのはDBサーバが管理するデータへの頻繁なアクセスである。このため、高負荷を解消するためには、データの再配置により管理するデータ量を低減する必要があり、データの再配置のためにデータ移動が必要となる。慢性的に負荷の高い状態が継続するDBサーバにおいてデータ移動を低優先処理にすると、データ移動が進まず、DBサーバの負荷を下げることができない。
特開2006-85386号公報
しかしながら、ネットワークを介して接続された複数のDBサーバを用いてデータを分散管理する分散データ管理システムにおいては、本来業務としてのデータアクセス処理と、バックグラウンドで実行されるデータ移動処理を並行して実行するため、このデータ移動処理に伴ってDBサーバ及びネットワーク回線に負荷が掛かり、優先制御を行わない場合には、データアクセス処理を過度に圧迫するおそれがあった。
本発明は以上の点を考慮してなされたもので、ネットワーク回線を介して接続された複数のDBサーバを用いてデータを分散管理する分散データ管理システムにおいて、本来業務であるデータアクセス処理と、バックグラウンド処理であるデータ移動処理を並行して行うことがある場合でも、データ移動によるDBサーバ及びネットワーク回線への負荷が、データアクセス処理を過度に圧迫することを防ぎつつ、高負荷なDBサーバに対しては、その負荷を迅速に下げる手段を提供することが可能な分散データ管理システム及びデータ移動管理方法を提案しようとするものである。
かかる課題を解決するために本発明においては、外部からのデータアクセスを受け付けるデータアクセス処理を実行するとともに、前記データアクセスに係るデータを分散して管理する複数のサーバと、前記データアクセス処理のバックグラウンドで前記複数のサーバのうちの移動元サーバから移動先サーバへデータを移動させるためのデータ移動処理を実行させる管理サーバと、がネットワークを介して接続された分散データ管理システムにおいて、前記複数のサーバは、所定時間内の自らの平均負荷を測定して前記管理サーバに通知する負荷計測通知部と、前記管理サーバから指示に基づいて、前記データアクセス処理を実行するデータアクセス部と、前記管理サーバからの指示に基づいて、前記データアクセス処理のバックグラウンドで前記データ移動処理を実行するデータ移動部と、を有し、前記管理サーバは、前記複数のサーバに分散管理されたデータのデータ配置を記録するとともに前記複数のサーバに分散管理されたデータの新たなデータ配置を記録する一方、新旧のデータ配置を比較して前記データ移動処理が実行されるべきデータを検出するデータ配置管理部と、前記複数のサーバの平均負荷の状況をそれぞれ管理しており、初期設定として前記複数のサーバの前記データアクセス処理の優先順位を前記データ移動処理の優先順位よりも高く設定した上で、前記移動元サーバにおける平均負荷が予め設定された高負荷用閾値以上となると、前記データアクセス処理の優先順位よりも前記データ移動処理の優先順位を高く設定する一方、その後、前記移動元サーバにおける平均負荷が予め設定された中低負荷用閾値以下となると、前記データアクセス処理の優先順位を前記データ移動処理の優先順位よりも高く設定するサーバリソース管理部と、前記高負荷用閾値及び前記中低負荷用閾値並びに前記複数のサーバにおける平均負荷の状況に基づき、前記データ移動処理を実行させるべきタイミングを決定し、前記移動元サーバ及び前記移動先サーバのいずれか一方又は両方に対して、前記設定された優先順位に従って前記移動データを移動すべき旨を指示する移動データ選択部と、を備えることを特徴とする分散データ管理システムが提供される。なお、前記高負荷用閾値と前記中低負荷用閾値は異なる値を用いてもよいし、同じ値を用いてもよい。
また、本発明においては、外部からのデータアクセスを受け付けるデータアクセス処理を実行するとともに、前記データアクセスに係るデータを分散して管理する複数のサーバと、前記データアクセス処理のバックグラウンドで前記複数のサーバのうちの移動元サーバから移動先サーバへデータを移動させるためのデータ移動処理を実行させる管理サーバと、がネットワークを介して接続された分散データ管理システムにおけるデータ移動管理方法において、前記複数のサーバが、所定時間内の自らの平均負荷を測定して前記管理サーバに通知する一方、前記管理サーバからの指示に基づいて、前記データアクセス処理を実行したり、前記データアクセス処理のバックグラウンドで前記データ移動処理を実行し、前記管理サーバが、前記複数のサーバに分散管理されたデータのデータ配置を記録するとともに前記複数のサーバに分散管理されたデータの新たなデータ配置を記録する一方、新旧のデータ配置を比較して前記データ移動処理が実行されるべきデータを検出するデータ配置管理ステップと、前記複数のサーバの平均負荷の状況をそれぞれ管理しており、初期設定として前記複数のサーバの前記データアクセス処理の優先順位を前記データ移動処理の優先順位よりも高く設定した上で、前記移動元サーバにおける平均負荷が予め設定された高負荷用閾値以上となると、前記データアクセス処理の優先順位よりも前記データ移動処理の優先順位を高く設定する一方、その後、前記移動元サーバにおける平均負荷が予め設定された中低負荷用閾値以下となると、前記データアクセス処理の優先順位を前記データ移動処理の優先順位よりも高く設定するサーバリソース管理ステップと、前記高負荷用閾値及び前記中低負荷用閾値並びに前記複数のサーバにおける平均負荷の状況に基づき、前記データ移動処理を実行させるべきタイミングを決定し、前記移動元サーバ及び前記移動先サーバのいずれか一方又は両方に対して、前記設定された優先順位に従って前記移動データを移動すべき旨を指示する移動データ選択ステップと、を実行することを特徴とするデータ移動管理方法が提供される。なお、前記高負荷用閾値と前記中低負荷用閾値は異なる値を用いてもよいし、同じ値を用いてもよい。
また、本発明においては、所定時間内の自らの平均負荷を測定する負荷計測部と、外部からのデータアクセスを受け付けるデータアクセス処理を実行するデータアクセス部と、前記データアクセス処理のバックグラウンドで前記データ移動処理を実行するデータ移動部と、他のサーバとによって分散管理されたデータのデータ配置を記録するとともに前記他のサーバとによって分散管理されたデータの新たなデータ配置を記録する一方、新旧のデータ配置を比較して前記データ移動処理が実行されるべきデータを検出するデータ配置管理部と、前記自らの平均負荷の状況を管理しており、初期設定として前記データアクセス処理の優先順位を前記データ移動処理の優先順位よりも高く設定した上で、前記自らの平均負荷が予め設定された高負荷用閾値以上となると、前記データアクセス処理の優先順位よりも前記データ移動処理の優先順位を高く設定する一方、その後、前記自らの平均負荷が予め設定された中低負荷用閾値以下となると、前記データアクセス処理の優先順位を前記データ移動処理の優先順位よりも高く設定するサーバリソース管理部と、前記高負荷用閾値及び前記中低負荷用閾値並びに前記自らの平均負荷の状況に基づき、前記データ移動処理を実行させるべきタイミングを決定し、前記設定された優先順位に従って前記他のサーバとの間で前記移動データを移動させる移動データ選択部と、を備えるサーバが提供される。
本発明によれば、平均負荷が閾値を超えないサーバにおいては、データ移動処理を制限してデータアクセス処理を優先するため、データ移動処理に起因するデータアクセス処理の品質劣化が発生しなくなる一方、平均負荷が閾値を超える高負荷状態のサーバにおいては、データアクセス処理よりもデータ移動処理を優先して行うため、データの移動が迅速に進み、高負荷DBサーバが高負荷状態から抜け出すまでの時間が短縮されるようになる。
本発明の第1の実施形態に係る分散データ管理システムの全体構成を例示する図である。 ネットワークスイッチの機能構成を例示する図である。 サーバ、ネットワークスイッチのハードウェア構成を例示する図である。 回線リソース管理テーブルの構成を例示する図である。 サーバリソース管理テーブルの構成を例示する図である。 データ移動管理テーブルの構成を例示する図である。 データ移動の概要を示すシーケンスチャートである。 移動データ選択処理の一例を示すフローチャートである。 サーバの負荷変動を例示する図である。 データアクセスの平均応答時間、及び、データアクセスリクエストのブロック率の推移を例示する図である。 データ量が少ない順にデータ移動を行った時の終了時刻予測処理を例示するフローチャートである。 VLANタグ付きフレームの構成図である。 複数のデータ管理グループが混在する分散データ管理システムの構成を例示する図である。 データを分割して移動する際に用いるデータ移動管理テーブルの構成を例示する図である。 データ移動の終了予定時刻までにデータ移動処理が完了しなかった際のアラーム通知処理を例示するフローチャートである。
以下図面について、本発明の一実施の形態を詳述する。
(1.第1の実施の形態)
(1−1.分散データ管理システムの全体構成)
図1は、本発明の第1の実施の形態に係る分散データ管理システム100の構成例を示す。この分散データ管理システム100では、管理サーバ1、複数のデータベースサーバ(以下「DBサーバ」と省略する)2及び前段装置他ネットワーク(以下「他ネットワーク」という)4が、複数のネットワークスイッチ3により構成されるネットワークスイッチ群99(図示のSW群に相当)を介して接続された構成となっている。当該他ネットワーク4は、その先においてエンドユーザの端末が接続されており、データアクセス要求を本システムに転送するためのネットワーク又は同じシステム内の前段装置に相当する。
(1−1−1.管理サーバ)
管理サーバ1は、パケット送受信部11、サーバリソース管理部12、回線リソース管理部13、データ移動管理部14、移動データ選択部15、データ配置管理部16及びネットワーク構成管理部17を有する。パケット送受信部11は、他ネットワーク4との間においてパケットの送受信を制御する機能を有する。
サーバリソース管理部12は、各DBサーバ2の負荷を監視し、各DBサーバ2におけるデータ移動の状況を管理する機能を有する。このサーバリソース管理部12は、複数のDBサーバ2の平均負荷の状況をそれぞれ管理しており、初期設定として各DBサーバ2を中低負荷状態にあるとして、前記データアクセス処理の優先順位を前記データ移動処理の優先順位よりも高く設定した上で、複数のDBサーバ2のうちの移動元サーバにおける平均負荷が予め設定された高負荷用閾値以上となると高負荷状態にあると判定し、データアクセス処理の優先順位よりもデータ移動処理の優先順位を高く設定する一方、その後、移動元サーバにおける平均負荷が予め設定された中低負荷用閾値以下となると高負荷状態を脱した,即ち中低負荷状態にあると判定し、データアクセス処理の優先順位をデータ移動処理の優先順位よりも高く設定する機能を有する。なお、前記高負荷用閾値と前記中低負荷用閾値は異なる値を用いてもよいし、同じ値を用いてもよい。
サーバリソース管理部12は、複数のDBサーバ2のうちの特定のサーバが高負荷状態である場合、予め設定された優先順位の高いデータ移動処理用の閾値をデータ移動処理の閾値と決定するとともに、予め設定された高負荷時のデータアクセス処理用の閾値をデータアクセス処理の閾値として決定する機能を有する。一方、サーバリソース管理部12は、複数のDBサーバ2のうちの特定のサーバが中低負荷状態である場合、予め設定された中低負荷状態におけるデータアクセス処理用の閾値をデータアクセス用の閾値として決定するとともに、データアクセスによる負荷とサーバの性能保証値である負荷との差分を求め、その値をデータ移動処理の閾値として決定する。
回線リソース管理部13は、回線負荷を監視し、現在実行中のデータ移動を管理する機能を有する。回線リソース管理部13は、複数のDBサーバ2によるアクセスに応じた各ネットワークスイッチ3の負荷状況を管理している。管理サーバ1は、複数のネットワークスイッチ3のうち選択された移動データの移動経路上にあるネットワークスイッチ3を検出すると、その検出されたネットワークスイッチ3の回線負荷を予め設定した回線負荷の閾値と比較し、この比較結果に基づいてデータ移動の可否判断を行う機能を有する。
データ移動管理部14は、データ移動が必要なデータ(以下、移動データともいう)に関して移動状況を管理している。
移動データ選択部15は、高負荷用閾値及び中低負荷用閾値並びに複数のサーバにおける平均負荷の状況に基づき、データ移動処理を実行させるべきタイミングを決定する機能を有する。この移動データ選択部15は、詳細は後述するが、移動元サーバに関しては、複数のDBサーバ2のうちから高負荷状態のサーバを移動元サーバとして優先に選択する一方、移動先サーバに関しては、移動データのデータ量が少ない順に選択すること、移動データのデータ量が多い順に選択すること、及び、平均負荷が低い順に選択することのうちから少なくとも1つを選択し、複数のDBサーバ2のうちから選択結果に関係する移動データに対応する移動先サーバを選択する選択処理を実行する。管理サーバ1は、この選択処理に基づく移動データに対して、データアクセス処理の閾値及びデータ移動処理の閾値に従ってデータ移動を制限し、データ移動処理の実施が制限されるべきと判定された場合には、選択処理に従って新たな移動データを選択し、移動データが存在する移動元サーバ及び移動先サーバのいずれか一方又は両方に対して、移動データを移動すべき旨を指示する機能を有する。
移動データ選択部15は、移動元サーバに関しては、複数のDBサーバ2のうちから高負荷状態のサーバを移動元サーバとして優先に選択する一方、移動先サーバに関しては、データ量が少ない順にデータを移動した場合とデータ量が多い順にデータを移動した場合における移動元サーバの負荷の推移をそれぞれ推定することにより移動元サーバが高負荷状態を脱する時刻を予想し、より早く高負荷状態を脱すると予測される方法を選択して、複数のDBサーバ2のうちから移動先サーバを決定し、この選択処理に基づく移動データに関して、データアクセス処理の閾値及びデータ移動処理の閾値に従ってデータ移動を制限し、データ移動が制限されるべきと判定された場合には、その選択処理に従って新たな移動データを選択し、最終的に選択した移動データの移動元サーバ及び移動先サーバのいずれか一方又は両方にデータの移動を指示する機能を有する。
移動データ選択部15は、データアクセス処理及びデータ移動処理の閾値による制限を受けてデータ移動ができないデータが優先順位の高いデータ移動である場合、移動先サーバが優先順位の低いデータ移動を実行しており、その優先順位の低いデータ移動を中断することにより、その優先順位の高いデータ移動を受け付けることが可能であればその優先順位の低いデータ移動を中断し、その優先順位の高いデータ移動を優先的に実行する機能を有する。
移動データ選択部15は、回線負荷の閾値を用いた判定によってデータ移動が制限される移動データが優先順位の高いデータ移動である場合、その優先順位の低いデータ移動を中断することにより、その優先順位の高いデータ移動を受け付けることが可能であればその優先順位の低いデータ移動を中断し、その優先順位の高いデータ移動を優先的に実行する機能を有する。
データ配置管理部16は、新旧のデータ配置を管理するとともに、新旧データ配置の差分を取ってデータ移動が必要なデータのリストアップを行う機能を有する。なお、各DBサーバ2が管理するデータを決定するデータ配置は、別途与えられるものとする。このデータ配置管理部16は、複数のDBサーバ2に分散管理されたデータのデータ配置を記録するとともに複数のDBサーバに分散管理されたデータの新たなデータ配置を記録する一方、新旧のデータ配置を比較してデータ移動処理が実行されるべきデータを検出する。データ配置を決定する方法としては、例えば、データとキーを紐付けて管理し、キーのハッシュ値によってデータを記録するDBサーバ2を一意に決定するコンシステントハッシングという方法を採用することができる。
ネットワーク構成管理部17は、他のプログラムとの連携や手動の入力等によりネットワークの全体構成を把握し、ネットワークの全体構成を元に、移動元DBサーバ及び移動先DBサーバを指定することにより、データの移動経路を割り出す機能を有する。
(1−1−2.DBサーバ)
DBサーバ2は、パケット送受信部21、データ記録部22及びデータアクセス部23の他に、自サーバの負荷を測定する負荷測定部24、測定した負荷を管理サーバに通知する負荷通知部25、及び、管理サーバ1からのデータ移動指示を受けデータ移動を行うデータ移動部26を有する。またDBサーバ2は、データ配置管理部27を備え、このデータ配置管理部27は、どのデータがどこに配置されているかを示すデータ配置情報を管理しており、他ネットワーク4からのデータの格納場所を問う問い合わせに対して、該当するデータを格納したDBサーバ2を特定して回答する機能を有する。
このデータ配置管理部27は、データ移動中、新旧二つのデータ配置情報を管理し、データの格納場所が新旧のデータ配置により異なる場合は、新旧のデータ配置に基づき新旧双方のデータ格納先DBサーバ2に対して問い合わせを行い、正しいデータ格納先DBサーバ2を回答する。DBサーバ2にアクセスを行う他ネットワーク4が管理サーバ1の管理下にある場合は、他ネットワーク4にデータ配置情報を通知し、他ネットワーク4がデータ配置情報に基づいてアクセス先のDBサーバ2を決定する構成であってもよい。
(1−1−3.ネットワークスイッチ群)
図2は、ネットワークスイッチ群99を構成するネットワークスイッチ(以下、SWという)3の機能的な構成例を示す。ネットワークスイッチ群99は、複数のDBサーバ2と管理サーバ1との間において複数のDBサーバ2間および管理サーバ1とを接続する回線を有し、その回線の負荷を測定して管理サーバ1に通知する機能を有する。各SW3は、パケット送受信部31、負荷測定・記録部32、負荷通知部33、イベント通知部34、優先制御部35及びパケット転送部36を備えている。パケット送受信部31は、他ネットワーク4の他、管理サーバ1のパケット送受信部11、DBサーバ2のパケット送受信部21、及び隣接する別のSW3のパケット送受信部31との間においてパケットの送受信を行う機能を有する。負荷測定・記録部32は、定期的に回線負荷情報を収集し、記録する機能を有する。この回線負荷情報は、回線の混雑度が分かる値であればよく、ポート毎の利用率或いはパケット廃棄率を用いることができる。
負荷情報通知部33は、管理サーバ1から負荷情報要求を受信し、この負荷情報要求に対して負荷情報を管理サーバ1へ通知する機能を有する。イベント通知部34は、管理サーバ1により予め設定された負荷閾値を超えた時に、管理サーバ1に対して、この負荷閾値を超過したことを通知する機能を有する。優先制御部35は、指定された優先順位に従って優先制御を行う機能を有する。パケット転送部36は、アドレステーブルを管理しており、受信したパケット内の宛先アドレスに基づいて、対応する出力ポートを決定する機能を有する。
(1−1−4.DBサーバなどのハードウェア構成)
図3は、管理サーバ1、DBサーバ2及びSW3のハードウェアの構成例を示す。これらの装置は、主記憶装置1502、中央処理装置1503、ハードディスクドライブなどの二次記憶装置1505、ディスプレイ或いはキーボードなどの入出力装置1507、他装置(管理サーバ1、DBサーバ2、又はSW3)と接続するための通信装置1506、及び、それらの装置間を接続する内部バス1504を備えた一般的なコンピュータ1501により構成されている。
例えば、管理サーバ1におけるサーバリソース管理部12などの各機能は、二次記憶装置1505にプログラムの一部として格納されており、その実行時に、主記憶装置1502に展開された上で、中央処理装置1503によって解釈、実行される。また、パケット送受信処理は、通信装置1506を介して行う。さらに、サーバリソース管理部12などの各機能によって管理されるデータは、主記憶装置1502に格納されるとともに、永続的にデータを記憶するために二次記憶装置1505に格納される。
DBサーバ2においても同様に、パケット送受信部21などの各機能は、二次記憶装置1505にプログラムの一部として格納されており、その実行時に、主記憶装置1502に展開された上で、中央処理装置1503によって解釈、実行される。また、パケット送受信処理は、通信装置1506を介して行う。さらに、パケット送受信部21などの各機能が管理するデータは、主記憶装置1502に置くとともに、永続的にデータを記憶するために二次記憶装置1505に格納される。負荷測定部24によって測定される負荷は、中央処理装置1503の負荷である。
(1−2.各テーブルの構成例)
(1−2−1.回線リソース管理テーブル)
図4は、回線リソース管理テーブル130の構成例を示す。この回線リソース管理テーブル130は、上述した回線リソース管理部13によって管理されている。回線リソース管理テーブル130は、そのフィールドとして、SW−IDフィールド131、ポートIDフィールド132、回線容量フィールド133、負荷フィールド134、現在そのポートを使用している移動データNoフィールド135を管理する。SW−IDフィールド131は、各SW3を識別するための識別子である。ポートIDフィールド132は、各SW3が搭載する複数のポートを互いに識別するための識別子である。回線容量フィールド133は、各SW3に搭載された各ポートIDに対応する回線におけるその回線容量を示している。負荷フィールド134は、その回線における負荷状況を示している。
移動データNoフィールド135は、ポート毎に現在そのポートを使用している移動データを管理する。この移動データNoフィールド135は、優先移動データNoフィールド135Aと非優先移動データフィールドNo135Bとに分けて管理されている。優先移動データNoフィールド135Aは、優先的に移動されるべき移動データを識別するための識別子を管理するためのフィールドである。非優先移動データNoフィールド135Bは、優先的でなく移動されるべき移動データを識別するための識別子を管理するためのフィールドである。
(1−2−2.サーバリソース管理テーブル)
図5は、サーバリソース管理テーブル120の構成例を示す。サーバリソース管理テーブル120は、上述したサーバリソース管理部12によって管理されている。サーバリソース管理テーブル120は、そのフィールドとして、サーバIDフィールド121、CPU負荷(Lt)フィールド122A、CPU負荷(St)フィールド122B、許容スレッド数の上限値フィールド123及びデータ移動実行中スレッド数フィールド124を管理している。ここで、第1の実施の形態では、Ltは、ロングタイムの略であり、Stは、ショートタイムの略であり、CPU負荷(Lt)は、長期間、つまり定常的な平均負荷を示しており、CPU負荷(St)は、短期間、つまり現在の負荷を示している。
サーバID121は、DBサーバ2を識別するための識別子である。CPU負荷(Lt)フィールド122Aは、DBサーバ2のCPUに関する所定の時間(T0)内における平均負荷を示している。CPU負荷フィールド122Bは、DBサーバ2のCPUに関する現在の負荷を示している。許容スレッド数の上限値フィールド123は、データ移動に割り当て可能なスレッド数の上限値を示している。この許容スレッド数の上限値フィールド123には、優先順位が高い場合の許容スレッド数の上限値フィールド123A、及び、優先順位が低い場合の許容スレッド数の上限値フィールド123Bが管理されている。データ移動実行中スレッド数フィールド124は、データ移動を実行中のスレッド数を示している。このデータ移動実行中のスレッド数フィールド124は、高優先(H)のデータ移動に対する送信(H)スレッド数フィールド124A、及び受信(H)スレッド数フィールド124Bと、低優先(L)のデータ移動に対する送信(L)スレッド数フィールド124C、及び受信(L)スレッド数フィールド124Dと、その合計フィールド124Eとが管理されている。
(1−2−3.データ移動管理テーブル)
図6は、データ移動管理テーブル140の構成例を示している。データ移動管理テーブル140は、上述したデータ移動管理部14によって管理されており、移動データに割り当てた識別番号を示す移動データNoフィールド141、現在データを保持しているDBサーバ2を示す移動元サーバフィールド142、新データ配置に基づきデータを管理することになったDBサーバ2を示す移動先サーバフィールド143、移動元サーバ142から移動先サーバ143へ移動するデータの大きさを示すデータ量フィールド144、データ移動の現在の状況を示す状態フィールド145、移動元サーバフィールド142に示された移動元サーバから移動先サーバフィールド143に示された移動先サーバへデータを送信する際に通過するSW3を示す通過SWフィールド146を管理する。通過SWフィールド146には、通過するSW3のSW−IDフィールド146A、及びそのポートIDフィールド146Bが管理されている。ポートIDフィールド146Bは、SW3からの出力ポートの識別子を示している。なお、図4〜図6に示した各テーブルにおいて管理されている各データは、それぞれのデータが紐付けられて管理されていれば良く、管理方式がテーブルの形態に限定されるものではない。
(1−3.データ移動管理方法)
(1−3−1.データ移動シーケンス)
図7は、分散データ管理システムにおけるデータ移動のシーケンスの一例を示し、図8は、図7に示す移動データの選択処理の詳細を示す。このようなデータ移動がなされるのは、例えば、DBサーバ2の増設又は障害復旧などの機器構成変更に伴って、データ配置の変更を行う場合、又はDBサーバ2間における負荷の不均等を是正するために、データ再配置が開始される場合である。管理サーバ1は、DBサーバ2の新しいデータ配置に関する新しいデータ配置情報が与えられると(S101)、当該新しいデータ配置情報をDBサーバ2に通知する(S102)。その後、管理サーバ1は、新旧のデータ配置情報を比較し、その比較結果に基づいて、データ移動が必要なデータをリストアップする(S103)。
次に、管理サーバ1は、各SW3に対して回線負荷情報を要求する(S104)。また、DBサーバ2へ移動するデータのデータ量の情報と、各DBサーバ2の負荷情報を要求する(S105)。各SW3は、管理サーバ1から回線負荷情報要求を受信すると、回線負荷情報を管理サーバ1へ通知する(S106)。DBサーバ2は、管理サーバ1から、データ量情報及び負荷情報の要求を受信すると、この要求に応じて移動データのデータ量及び自らの負荷状況を示す負荷情報を管理サーバ1に通知する(S107)。管理サーバ1は、受信した情報に基づいて、上述したフィールド構成を有する回線リソース管理テーブル130、サーバリソース管理テーブル120及びデータ移動管理テーブル140を作成する(S108)。
次に、管理サーバ1は、移動データの選択処理を実行する(S109)。この移動データの選択処理では、データアクセス処理に与える影響を抑えつつ、データ移動処理において移動対象とすべきデータを選択する。管理サーバ1は、例えば、高負荷状態であるサーバID=「A」のDBサーバ2を優先して移動元サーバ142とする一方、移動データについては、例えば、データ量144の少ない移動データNo=「3」の移動データを優先する。なお、この移動データの選択処理については、後述する図8を用いて詳細に説明する。
その後、管理サーバ1は、上述した移動データの選択処理において選択された移動データNo=3の移動データについて、上述のように選択されたサーバID=Aである移動元サーバ2A及びサーバID=Fである移動先サーバ2Bへデータ移動の指示を行う(S110,S111)。併せて、管理サーバ1は、回線リソース管理テーブル130、サーバリソース管理テーブル120及びデータ移動管理テーブル140を更新する(S114)。管理サーバ1は、例えばデータ移動管理テーブル140については、移動データNoフィールド=3に対応する状態フィールド145を「移動中」に更新する。
移動元サーバ2A及び移動先サーバ2Bは、管理サーバ1からデータ移動の指示を受信すると、通信セッションを確立し(S112)、データ移動処理において移動データについてデータ移動を行う(S113)。
なお、第1の実施の形態では、管理サーバ1は、データ移動の指示を移動元サーバ2A及び移動先サーバ2Bの両方へ送信しているが、その代わりに、移動元サーバ2Aのみにデータ移動の指示を送信しておき、移動元サーバ2Aからプッシュ型でデータ移動を行うこともできる。また、管理サーバ1は、移動先サーバ2Bのみにデータ移動の指示を送信しておき、移動先サーバ2Bからプル型でデータ移動を行うことも可能である。なお、第1の実施の形態のように移動元、移動先の双方のサーバへデータ移動の指示が送信された場合は、プッシュ型又はプル型のいずれか予め指定された方法によりデータ移動を行うようにしている。
上述したデータ移動が完了すると、移動元サーバ2A及び移動先サーバ2Bは、それぞれ、データ移動が終了した旨を管理サーバ1へ通知する(S115)。管理サーバ1は、その終了通知を受信すると、回線リソース管理テーブル130、サーバリソース管理テーブル120及びデータ移動管理テーブル140を更新する。具体的には、管理サーバ1は、例えば、データ移動管理テーブル140において、移動データに対応する移動データNoに該当する状態フィールド145を「移動中」から「終了」とする。ここで、サーバリソース管理テーブル120では、サーバ負荷フィールド122Aの値として、移動データのデータ量に基づいてデータアクセス処理への負荷の増減を予測し、移動前の負荷にその負荷の増減分を加算した値を暫定値として用いている。また、回線リソース管理テーブル130においては、1スレッドあたりの負荷を予め概算しておき、現在の負荷からその概算値を減算して暫定値として用いている。
管理サーバ1は、複数のデータ移動を並行して実施させ、全てのデータ移動を終了させると(S117)、各DBサーバ2にデータ移動の終了を通知する(S118)。その後、管理サーバ1及び各DBサーバ2は、旧データ配置を廃棄する(S119,S120)。
(1−3−2.移動データの選択及びデータ移動)
図8は、図7のステップS109に示された移動データの選択処理及びステップS110〜S116に示されたデータ移動処理の実行の詳細を示す。これら移動データ選択処理及びデータ移動処理は、移動データ選択部15によって実行される。
(1−3−2−1.関数の定義)
ここで、負荷(Lt)は、所定の時間T0におけるDBサーバ2の平均負荷を示しており、負荷(St)は、データアクセスによるDBサーバ2の現在の負荷を示している。閾値(Hi)は、DBサーバ2が高負荷であると判断するための基準値を示している。
また、閾値(h)は、高負荷DBサーバ2において高優先となったデータ移動に割り当てるCPU負荷比率の上限値を示しており、閾値(d)は、高負荷DBサーバ2においてデータアクセスに割り当てるCPU負荷比率の上限値を示している。負荷(Max)は、DBサーバの性能保証値を示している。閾値(h)及び閾値(d)は、負荷(Max)≧閾値(h)+閾値(d)を満たす。各閾値は予め設定された値が用いられる。さらに、閾値(l)を高負荷ではない(以下、中低負荷)DBサーバ2においてデータ移動に割り当てるCPU負荷比率の上限値とし、閾値(l)=負荷(Max)−負荷(St)とする。
負荷(Lt)を測定するための時間T0は、一時的なアクセスの集中による瞬間的な負荷上昇の影響を吸収しうる時間であり、DBサーバ2が慢性的な高負荷状態にあり、負荷を引き下げる必要があると判断するに足る時間である。この時間T0は、例えば過去の負荷測定結果を元に決定される。
(1−3−2−2.時間T0の決定方法)
図9は、負荷(Lt)を測定するための時間T0の決定方法の一例を示す。負荷Xは、定常状態における負荷を示し、負荷Yは、一時的にアクセスが集中した状態における負荷を示す。時間T1は、アクセスが集中している持続時間を示す。過去の測定結果から図9に示すような負荷上昇が散発することが知られているシステムにおいては、まず、移動データ選択部15が、下記の式(1)を満たす最小の時間T2を求める。
{(T2−T1)×X+T1×Y}/T2<閾値(Hi)・・・式(1)
この時、T0>T2を時間T0の必要条件とする。この時間T0をT2の数倍程度に設定することにより、アクセス集中が数回連続する、長引く等の事象に対しても、慢性的な高負荷と区別することが可能となる。
(1−3−2−3.具体的な処理内容)
移動データ選択部15は、DBサーバ2の負荷(Lt)と閾値(Hi)を比較し、負荷(Lt)≧閾値(Hi)であれば、DBサーバが慢性的な高負荷にあると判断し(S202)、データ移動の優先順位を上げ、データ移動に割り当てるCPU負荷比率の閾値を閾値(h)として、許容できるデータ移行のスレッド数123Aに換算する(S203)。
ここで、スレッドとは、データ移動元のDBサーバ2と移動先のDBサーバ2との間に一つの通信セッションを確立してデータ移動を行うために必要な全プロセスをまとめて扱うための単位とする。移動データ選択部15は、予め1スレッドあたりのCPU負荷を概算しておくことにより、割り当てられたCPU負荷比率を許容可能なスレッド数123Aに換算する。データアクセスに割り当てるCPU負荷比率の最大値は、閾値(d)とする(S203)。
移動データ選択部15は、負荷(Lt)<閾値(Hi)の状態のDBサーバ2の場合には、データアクセスの閾値を負荷(Max)とし、データ移動の閾値(l)=負荷(Max)−負荷(St)とする。移動データ選択部15は、算出した閾値(l)をデータ移行のスレッド数123Bに換算する(S220)。
移動データ選択部15は、算出した値を元に、データ移動管理テーブル140、サーバリソース管理テーブル120を更新する(S204)。なお、これらデータ移動管理テーブル140及びサーバリソース管理テーブル120が未作成の場合は、移動データ選択部15は、これらのテーブルを作成する。移動データ選択部15は、データ移動管理テーブル140(図5参照)において負荷(Lt)が高い状態(高負荷状態)の順に移動元サーバを選択する(S205)。ここでは、移動データ選択部15は、サーバIDが「A」である移動元サーバを選択することになる。
次に、移動データ選択部15は、データ移動管理テーブル140(図6参照)において複数のDBサーバ2のうちから移動先サーバとして、サーバIDが「A」であり、かつ、データ量フィールド144に示された移動データのデータ量が少ないものから順に選択する(S206)。ここでは、移動データ選択部15は、データ量が10MBであるサーバIDが「F」である移動先サーバを選択する。
移動データ選択部15は、選択した移動先サーバに対応する移動先サーバ143のサーバIDに応じたデータ移動実行中スレッド数フィールド124Eの実行中スレッド数が上限値フィールド123の上限値よりも小さい場合(S207)、回線リソース管理テーブル130(図4参照)において回線負荷フィールド134を確認する(S208)。この移動データ選択部15は、その回線負荷フィールド134の回線負荷の値が閾値以下であれば、高負荷状態でなく、つまり、中低負荷状態であるため、移動元サーバ及び移動先サーバに対してデータ移動の指示を行う(S209)。
移動データ選択部15は、このデータ移動に伴って低優先スレッドの中断がある場合(S210)、データ移動を中断するDBサーバへ中断を指示する(S223)。その後、回線リソース管理テーブル130、データ移動管理テーブル140及びサーバリソース管理テーブル120が更新される(S211)。具体的には、移動データ選択部15は、データ移動管理テーブル140において、データ移動の状態フィールド145を「移動中」に更新する。また、移動データ選択部15は、サーバリソース管理テーブル120において、データ移動実行中スレッド数フィールド124を更新する。さらに移動データ選択部15は、回線リソース管理テーブル130において、データ移動を受け入れることにより予測される負荷の増加を現在の負荷に加算して、負荷フィールド134を更新する。さらに移動データ選択部15は、移動データNoフィールド135に、上記移動対象のデータに対応する移動データNo(この場合は「3」)を追記する。
データ移動管理テーブル140において現在選択中の移動元サーバに対応する移動元サーバフィールド142のサーバID(この場合「A」)にまだ確認していない移動先サーバのサーバID(ここでは、サーバID「B」)があり(S212)、送信元サーバ142のデータ移動スレッド数フィールド124のスレッド数が上限値フィールド123の上限値より小さい場合(S213)、移動データ選択部15は、移動先サーバの選択処理(S206)に戻って実行する。一方、全ての移動先サーバがチェック済みである場合(S212)、又は、移動元サーバ142に示す移動元サーバのデータ移動スレッド数フィールド124のスレッド数が上限値に達している場合(S213)、移動データ選択部15は、データ移動管理テーブル140(図6参照)を確認し、状態フィールド145に「未着手」があるか否かを確認する。
移動データ選択部15は、この状態フィールド145に「未着手」がない場合は、この移動データ選択処理を終了する一方、この状態フィールド145に「未着手」があり、即ち、移動していないデータがあり(S214)、かつ、未チェックの移動元サーバが存在する場合(S215)、移動元サーバの選択(S205)に戻って実行する。
一方、移動データ選択部15は、未チェックの移動元サーバがなく全ての移動元サーバがチェック済みである場合(S215)、データ移動の選択及びデータ移動を予め設定した間隔で行うためにタイマを設定する(S216)。移動データ選択部15は、タイマ又はデータ移動終了通知などの制御信号を受信すると(S217)、サーバリソース管理テーブル120及び回線リソース管理テーブル130において管理されている負荷情報に設定された利用期限が有効期限内であることを確認する(S218)。ここで、負荷情報とは、サーバリソース管理テーブル120のCPU負荷フィールド120に示された負荷、及び、回線リソーステーブル130の負荷フィールド134に示された負荷を示している。一方、有効期限切れであれば、移動データ選択部15は、DBサーバ2及びSW3に対して最新の負荷情報を要求し、DBサーバ2及びSW3から最新の負荷情報を取得する(S225)。その後、回線リソース管理テーブル130、データ移動管理テーブル140及びサーバリソース管理テーブル120が更新され(S219)、移動データ選択部15は、ステップS202に戻って実行する。ここで、負荷情報は、取得から予め設定した所定の時間が経過するまでが有効期限とされている。
上述したステップS207において、移動先サーバのサーバID(ここでは、「A」)に対応するデータ移動スレッド数124が許容スレッド数上限値123(ここでは、「3」)に達している場合、移動データ選択部15は、移動対象データよりも優先順位の低いスレッドを中断することにより移動データの受け入れ可能か否かの判定を行い(S221)、その移動データの受け入れ可能であればステップS208に進んで実行する一方、その移動データの受け入れが不可能であればステップS212に進んで実行する。
上述したステップS208において回線負荷が閾値を超えている場合は、移動データ選択部15は、移動データよりも優先順位の低いスレッドを中断することにより移動対象データの受け入れが可能か否かの判定を行い(S222)、受け入れ可能であればステップS209に進んで実行する一方、受け入れ不可能であればステップS212に進んで実行する。次に、上述したステップS214において全てのデータ移動が完了している場合は、移動データ選択部15はデータ移動を終了する(S224)。
(1−3−3.平均応答時間・ブロック率の推移)
図10は、高負荷DBサーバ2におけるデータ移動時の負荷、データアクセス要求への平均応答時間、及び、データアクセス要求のブロック率の推移を示す。実線は、データアクセスを固定的に優先して処理した時の推移を示す。一方、破線は、高負荷状態において一時的にデータ移動を優先に処理した時の予想推移を示している。
高負荷状態においてもデータアクセス処理を優先にすると、データ移動処理が進まないため、時間が経過しても高負荷を保ち、負荷が高いために応答時間も長いままとなっている。また、データアクセス処理を優先して実行するため、ブロック率は低い。
一方、高負荷状態において一時的にデータ移動処理を優先すると、データ移動のスレッドが一つ終了する度に負荷が引き下げられ、応答時間が改善される。高負荷状態にありデータ移動を優先に行う間は、データアクセス処理が制限されるため、データアクセス要求を受け入れない比率(ブロック率)は一時的に高くなるが、高負荷状態を脱した後は、DBサーバが管理するデータ量が削減されるためにデータアクセス要求が減少し、ブロック率も引き下げられる。これらのことから、高負荷DBサーバにおいては、迅速に負荷を引き下げることが平均応答時間及びブロック率の早期の改善に繋がることが分かる。
上述したデータ移動を開始するトリガーとしては、例えば、機器再構成時に管理者が管理サーバ1に対して明示的にデータ移動開始の指示を与えること、又は、管理サーバ1が定期的にDBサーバ2の負荷を監視しており高負荷状態のDBサーバ2を検出することを挙げることができる。その他にも、上述したデータ移動を開始するトリガーとしては、例えば、各DBサーバが自身のCPU負荷或いは記憶装置(主記憶装置1502又は二次記憶装置1505)に記録されたデータ量を監視しておき、予め設定した閾値を超過したことが検出されると管理サーバ1に通知し、この管理サーバ1がDBサーバ2からの通知を受信したことを挙げることもできる。
(1−4.移動先サーバの選択方法の変形例)
上述した第1の実施の形態では、移動先サーバの選択方法として移動データ選択部15が、上述したデータ移動管理テーブル140のデータ量144に示されたデータ量の少ないものに対応する、移動先サーバフィールド143の移動先サーバ(例えば移動先サーバF)を優先的に選択していたが、その代わりに、次のような基準に従って移動先サーバを選択するようにしても良い。つまり、当該移動先サーバの選択方法の変形例では、移動データ選択部15は、移動データのデータ量144が多い移動先サーバから順に選択している。なお、移動データ選択部15は、サーバリソース管理テーブル120において移動先サーバフィールド143の負荷が低い順に選択してもよい。
或いは、移動データ選択部15は、データ移動管理テーブル140における移動データのデータ量144に基づいて、移動データのデータ量の少ない順又は多い順に移動した際の双方の負荷の推移を推測し、高負荷状態から脱するまでに要する時間が短いと予測される方法を選択し、その選択方法に従って、データ量144の少ない移動データを優先又はデータ量144の多い移動データを優先してもよい。
(1−5.高負荷状態から解放される予測時刻の求め方)
図11は、高負荷状態のDBサーバ2がデータ移動により高負荷状態から解放される予想時刻の求め方の一例を示す。図示の例では、移動データのデータ量が少ない順に移動した場合の一例を示している。なお、本実施の形態では、このような形態をShortest job firstとも表現している。
移動データ選択部15は、データ移動終了時刻Ts=0と設定し(S302)、移動データであってデータ移動管理テーブル140のデータ量144に示されたデータ量が最小の移動データ(以下、最小データという)(i)を選択する(S303)。この移動データ選択部15は、当該最小データ(i)のデータ量(データ量フィールド144に示されたデータ量)を、データ移動の際の移動経路内のボトルネックとなる回線で使用可能と予測される回線帯域(以下、予測回線帯域という)で割った値をTsに加算し、最小データ(i)の移動終了時刻の予測値とする(S304)。なお、この予測回線帯域は固定値でもよい。
次に、移動データ選択部15は、この最小データ(i)を移動した後における移動元DBサーバ142の負荷を予測する。この移動データ選択部15は、予め単位データ量当たりのデータアクセス負荷を概算しておき、最小データ(i)のデータ量を単位データ量で割り、単位データ量当たりのデータアクセス負荷を掛けることにより当該最小データ(i)のデータアクセス負荷を予測する(S305)。ここで、例えば、単位データ量をxMBとし、xMB当たりのデータアクセス負荷をy%、最小データ(i)のデータ量をzMBとすると、当該最小データ(i)のデータアクセス負荷は、z/x×yとなる。移動データ選択部15は、この値(z/x×y)を、現在のデータアクセス負荷から減算することにより、最小データ(i)を移動した後におけるデータアクセス負荷を予測する。移動データ選択部15は、データアクセス負荷≧閾値(Hi)であれば(S306)、ステップS303に戻って実行する一方、データアクセス負荷<閾値(Hi)であれば、処理を終了する(S307)。高負荷状態から解放される予想時刻は、時刻Tsとなる。
また同様に、移動データ選択部15は、データ量が多い順に移動した時に高負荷状態から解放される時刻Tlを求め、上述した時刻Tsとこの時刻Tlとの比較により、先に高負荷状態から解放されると予測される方法を選択する。これにより、高負荷状態のDBサーバ2の高負荷状態からの解放をさらに早めることが可能となる。
以上のように本実施の形態では、分散データ管理システム100が、外部からのデータアクセスを受け付けるデータアクセス処理を実行するとともに、前記データアクセスに係るデータを分散して管理する複数のサーバと、前記データアクセス処理のバックグラウンドで前記複数のサーバのうちの移動元サーバから移動先サーバへデータを移動させるためのデータ移動処理を実行させる管理サーバと、がネットワークを介して接続されている。複数のDBサーバ2は、所定時間内の自らの平均負荷を測定する負荷測定部24と、その測定結果を前記管理サーバに通知する負荷通知部25と、管理サーバ1から指示に基づいてデータアクセス処理を実行するデータアクセス実行部23と、管理サーバ1から指示に基づいてデータ移動処理を実行するデータ移動部26と、を有する。管理サーバ1は、複数のDBサーバ2に分散管理されたデータのデータ配置を記録するとともに複数のDBサーバ2に分散管理されたデータの新たなデータ配置を記録する一方、新旧のデータ配置を比較してデータ移動処理が実行されるべきデータを検出するデータ配置管理部16と、複数のDBサーバ2の平均負荷の状況をそれぞれ管理しており、初期設定として各DBサーバ2を中低負荷状態にあるとして、前記データアクセス処理の優先順位を前記データ移動処理の優先順位よりも高く設定した上で、移動元サーバにおける平均負荷が予め設定された高負荷用閾値以上となると高負荷状態にあると判定し、データアクセス処理の優先順位よりもデータ移動処理の優先順位を高く設定する一方、その後、移動元サーバにおける平均負荷が予め設定された中低負荷用閾値以下となると高負荷状態を脱した,即ち中低負荷状態にあると判定し、データアクセス処理の優先順位をデータ移動処理の優先順位よりも高く設定するサーバリソース管理部12と、高負荷用閾値及び中低負荷用閾値並びに複数のサーバにおける平均負荷の状況に基づき、データ移動処理を実行させるべきタイミングを決定し、移動元サーバ及び移動先サーバのいずれか一方又は両方に対して、設定された優先順位に従って移動データを移動すべき旨を指示する移動データ選択部15とを備えている。
上述した本実施の形態によれば、中低負荷状態のDBサーバ2においては、データアクセス処理が優先されており、データ移動処理によるデータアクセス処理の過度な圧迫は防がれる。一方、高負荷状態のDBサーバ2においては、積極的にデータ移動を行い、高負荷DBサーバ2からのデータ移動を低負荷状態のDBサーバ2よりも優先に行うことにより、高負荷状態のDBサーバ2を早期に高負荷状態から解放することが可能になる。
高負荷状態のDBサーバ2においては、データ移動を行う間、一時的にデータアクセスが非優先となるが、これにより早期に高負荷状態が解消され、高負荷状態が解消された後は快適なデータアクセスサービスの提供が提供可能となる。
また、本実施の形態では、サーバリソース管理部12は、複数のDBサーバ2のうちの特定のサーバが高負荷状態である場合、予め設定された優先順位の高いデータ移動処理用の閾値を前記データ移動処理の閾値と決定するとともに、予め設定された高負荷時のデータアクセス処理用の閾値を前記データアクセス処理の閾値として決定する一方、複数のサーバのうちの特定のサーバが中低負荷状態である場合、予め設定された中低負荷状態におけるデータアクセス処理用の閾値をデータアクセス用の閾値として決定するとともに、データアクセスによる負荷とサーバの性能保証値である負荷との差分を求め、その値を前記データ移動処理の閾値として決定している。
また、本実施の形態では、管理サーバ1が、移動データに関連付けて、移動元サーバ、移動先サーバ、移動データのデータ量及び移動データの移動状態を管理するデータ移動管理テーブル140を備えている。
また、本実施の形態では、管理サーバ1は、移動データ選択部15を備え、この移動データ選択部15は、移動元サーバに関しては、複数のサーバのうちから高負荷状態のサーバを移動元サーバとして優先に選択する一方、移動先サーバに関しては、移動データのデータ量が少ない順に選択すること、移動データのデータ量が多い順に選択すること、及び、平均負荷が低い順に選択することのうちから少なくとも1つを選択し、前記複数のサーバのうちから前記選択結果に関係する移動データに対応する移動先サーバを選択する選択処理を実行する。管理サーバ1は、その選択処理に基づく移動データに対して、データアクセス処理の閾値及びデータ移動処理の閾値に従ってデータ移動を制限し、データ移動処理の実施が制限されるべきと判定された場合には、選択処理に従って新たな移動データを選択し、移動データが存在する移動元サーバ及び移動先サーバのいずれか一方又は両方に対して、移動データを移動すべき旨を指示する。
また、本実施の形態では、移動データ選択部15は、移動元サーバに関しては、複数のDBサーバ2のうちから高負荷状態のサーバを移動元サーバとして優先に選択する一方、移動先サーバに関しては、データ量が少ない順にデータを移動した場合とデータ量が多い順にデータを移動した場合における移動元サーバの負荷の推移をそれぞれ推定することにより移動元サーバが高負荷状態を脱する時刻を予想し、より早く高負荷状態を脱すると予測される方法を選択して、これら複数のDBサーバ2のうちから移動先サーバを決定する。しかも移動データ選択部15は、その選択処理に基づく移動データに関して、データアクセス処理の閾値及びデータ移動処理の閾値に従ってデータ移動を制限し、データ移動が制限されるべきと判定された場合には、選択処理に従って新たな移動データを選択し、最終的に選択した移動データの移動元サーバ及び移動先サーバのいずれか一方又は両方にデータの移動を指示する。
また、本実施の形態では、分散データ管理システム100は、複数のDBサーバ2と管理サーバ1との間において複数のDBサーバ2間及び管理サーバ1を接続する回線を有し、その回線の負荷を測定して管理サーバ1に通知する複数のネットワークスイッチ3を備えている。管理サーバ1は、複数のDBサーバ2によるアクセスに応じた各ネットワークスイッチ3の負荷状況を管理する回線リソース管理部13を有し、複数のネットワークスイッチ3のうち上記選択された移動データの移動経路上にあるネットワークスイッチ3を検出すると、当該検出されたネットワークスイッチ3の回線負荷を予め設定した回線負荷の閾値と比較し、この比較結果に基づいてデータ移動の可否判断を行っている。
また、本実施の形態では、移動データ選択部15は、データアクセス処理及び前記データ移動処理の閾値による制限を受けてデータ移動ができないデータが優先順位の高いデータ移動である場合、前移動先サーバが優先順位の低いデータ移動を実行しており、優先順位の低いデータ移動を中断することにより、優先順位の高いデータ移動を受け付けることが可能であれば優先順位の低いデータ移動を中断し、優先順位の高いデータ移動を優先的に実行する。
また、本実施の形態では、移動データ選択部15は、回線負荷の閾値を用いた判定によってデータ移動が制限される移動データが優先順位の高いデータ移動である場合、優先順位の低いデータ移動を中断することにより、優先順位の高いデータ移動を受け付けることが可能であれば優先順位の低いデータ移動を中断し、優先順位の高いデータ移動を優先的に実行している。
(2.第1の実施の形態の応用例)
(2−1.第1の応用例)
第1の応用例では、上述した第1の実施の形態を、例えば、IEEE802.1Q対応の複数のレイヤ2スイッチを介して各DBサーバが接続された構成に適用し、タグVLAN(Virtual Local Area Network)を用いて、優先制御を行う。第1の応用例では、3つのタグVLANを設定し、高負荷状態のDBサーバ2からのデータ移動トラフィック(高優先)、データアクセストラフィック(中優先)、中低負荷状態のDBサーバ2からのデータ移動トラフィック(低優先)を割り当てる。
図12(A)は、一般的なMAC(Media Access Control)フレームの構成例を示し、一方、図12(B)は、第1の応用例におけるVLANタグ付きフレームの構成例を示す。第1の応用例におけるVLANタグ付きフレームでは、図12(A)に示すMAC(Media Access Control)フレームにおける送信元アドレス1103と長さ/タイプ1104との間にVLANタグとしてタグ・フレーム1111が挿入された構成となっている。第1の応用例では、タグ・フレーム1111の一部であるTCI(Tag Control Information)フィールド1113内のPCP(Priority Code Point)フィールド1114を用いて優先順位を設定し、各レイヤ2スイッチにおいて優先制御を行う。
各レイヤ2スイッチは(ネットワークスイッチ)は、管理サーバ1からの指示に従い、そのように設定された優先順位に応じた優先制御を行う。これにより、例えば、高負荷状態のDBサーバ2からのデータ移動が最優先で行われ、このDBサーバ2は、高負荷状態からの解放の時期が早まる。また、データアクセストラフィックの転送処理が、優先順位の低いデータ移動トラフィックの転送処理に圧迫されることを防ぐ。
複数のレイヤ2ネットワークがルータを介して接続される構成においては、ルータにおいて、PCPフィールド1114の値をIPヘッダ内のType of service(TOS)フィールドにマッピングして優先制御を行うことにより、システム内で統一した優先順位を保っている。
(2−2.第2の応用例)
第2の応用例では、上述した第1の実施の形態において、複数のデータ管理グループが存在し、それぞれにデータの再配置を行う際の移動データの選択方法を説明する。
図13は、第1の実施の形態をメールシステムに適用した場合の例を示す。このメールシステムには、第1の実施の形態におけるDBサーバ2の代わりに、上述したその機能とほぼ同様な機能を搭載するメール転送サーバ5、メールボックスサーバ(以下、メールボックスと略す)6、ログサーバ7及び課金サーバ8などの様々な種類の処理を行う複数種類のサーバが一つのシステム内に存在している。第2の応用例では、これらのサーバが同様な種類の処理を実行する組み合わせのサーバ間においてその処理に関わるデータの分散管理を行うことを想定している。
第2の応用例では、メールデータの保管を行うメールボックス6をデータ管理グループAとする一方、ユーザ毎の課金情報を管理する課金サーバ8をデータ管理グループBとした上で、データ管理グループA,Bにおいて同時にデータ移動を行う場合があることを想定している。各データ管理グループ内におけるデータ移動の優先順位は、第1の実施の形態における優先順位の設定の仕方と同様である。
移動データ選択部15は、データ管理グループ間の優先順位については、いずれかのデータ管理グループを優先するものとし、例えばデータ管理グループAを優先とする。つまり、移動データ選択部15は、データ管理グループAに属する高負荷状態のメールボックス6からのデータ移動、データ管理グループAに属する中低負荷状態のメールボックス6からのデータ移動、データ管理グループBに属する高負荷状態の課金サーバ8からのデータ移動、データ管理グループBに属する中低負荷状態の課金サーバ8からのデータ移動の順に、優先順位を定めて移動を行う。
一方、ネットワーク内での優先順位に関しては、各データ管理グループの本来業務にアクセスするトラフィックや管理データ等のトラフィックにも優先順位を付けてVLANを割り当て、上述した第1の応用例の方法で、データ移動の各優先順位と合わせた優先制御を行う。なお、3つ以上のデータ管理グループに関しても上記と同様な優先順位が設定される。管理サーバ1では、移動データ選択部15が上記優先順位に基づいて移動データを選択する。
上述した閾値(Hi)、閾値(h)、閾値(d)及び閾値(l)は、それぞれ、グループ毎に、処理に見合った値が設定される。例えば、ログサーバ7の処理速度は、ユーザへのサービス品質には直接影響しないため、移動データ選択部15は、ログサーバ7のデータ移動については高負荷状態と判定する閾値(Hi)を高く設定し、ログサーバ7のデータ移動の優先順位が高くならないように制御することも可能である。
以上のように移動データ選択部15は、複数のサーバを複数のデータ管理グループに分けて管理する一方、各データ管理グループに分けた優先順位の高いデータ移動及び優先順位の低いデータ移動に優先順位を付与し、その付与した優先順位に従って、対応するデータ管理グループについてデータ移動のスケジューリングを行っている。
(2−3.第3の応用例)
第3の応用例では、上述した第2の応用例と同様の構成において、移動データ選択部15が、データ移動の優先順位をデータ管理グループAに属する高負荷状態のメールボックス6からのデータ移動、データ管理グループBに属する高負荷状態のサーバ8からのデータ移動、データ管理グループAに属する中低負荷状態のサーバ6からのデータ移動、データ管理グループBに属する中低負荷状態の課金サーバ8からのデータ移動の順に優先順位を割り当て、データ移動を行う。移動データ選択部15は、3つ以上のデータ管理グループに対しても同様の優先順位付けを行う。管理サーバ1では、移動データ選択部15が、上記優先順位に基づき移動データを選択する。
(2−4.第4の応用例)
第4の応用例では、上述した第2の応用例と同様の構成において、移動データ選択部15が、3つ以上のデータ管理グループA,B及び図示しないデータ管理グループCなどに対して、第2の応用例と第3の応用例を組み合わせた方法によって、データ移動の優先順位付けを行っている。
具体的には、移動データ選択部15は、例えば、データ管理グループAに属する高負荷状態のサーバ、データ管理グループBに属する高負荷状態のサーバ、データ管理グループAに属する中低負荷状態のサーバ、データ管理グループCに属する高負荷状態のサーバ、グループBに属する中低負荷状態のサーバ、グループCに属する中低負荷状態のサーバのように優先順位を付ける。管理サーバ1では、移動データ選択部15が、上記優先順位に基づき移動データを選択する。
以上のような第2乃至第4の応用例によれば、サーバの処理の優先順位、エンドユーザへ提供するサービス品質への影響を考慮した柔軟なデータ移動が可能になる。
(2−5.第5の応用例)
第5の応用例では、上述した第1の実施の形態を、上述した第2の応用例と同様の構成に適用し、移動データ選択部15が、各データ管理グループにデータ移動開始時刻を設定し、その設定された時刻に、該当するデータ管理グループ毎にデータ移動を開始するようにしている。管理サーバ1は、データ管理グループ毎にデータ移動開始時刻を記録し、記録された時刻になると、設定されたデータ管理グループ内でデータ移動を開始させる。
このようにすると、例えば、データ管理グループAに属し、エンドユーザへのサービスに直接影響を与えるメールボックス6のデータ移動を、エンドユーザからのデータアクセスが少ない特定の時間帯(例えば夜中)に実施することができる。
(2−6.第6の応用例)
第6の応用例では、第1の実施の形態において、例えば一つの移動元サーバから一つの移動先サーバへの移動データのデータ量が予め指定した大きさを超える場合、移動データ管理部14が、この移動データを複数の単位データに分割する。データの分割を受け、移動データ選択部15は、移動元サーバ、移動先サーバ、及び回線に余裕があれば複数のスレッドを用いてデータ移動を行う。移動元サーバにおいてデータを分割し、データ移動管理テーブル140において、各分割データを別のデータとして扱い、図8に示す手順によりデータ移動を行う。但し、分割データの移動開始後は、移動データの選択において、残りの分割データが優先的に選択される。
図14は、分割データを扱う際のデータ移動管理テーブル140の構成例を示す。図示のデータ移動管理テーブル140では、記述の図6に示すデータ移動管理テーブル140に、新たに分割フラグフィールド147が設けられている。この分割フラグフィールド147は、データが分割された移動データであるか否かを示すフラグ(以下、分割フラグという)である。
この分割フラグとして、分割対象となった移動データに対応する分割フラグフィールド147に、例えば「1」が設定される。第6の応用例では、記述の実施形態とは異なり、移動対象のデータが分割してデータ移動がなされる場合、この移動対象のデータに対して1つの移動データNoが付与される代わりに、各単位データに、例えば「1」、「6」及び「7」のように移動データNoが付与されている。
移動データ選択部15は、分割対象となった移動データについて、分割された全ての単位データの移動の終了を持ってデータ移動が終了したものとし、移動先サーバへ移動データの処理を引き継がせている。
以上のように、移動データ選択部15は、1つの移動元サーバから1つの移動先サーバへ移動するデータを複数の単位データに分割して、その分割された複数の単位データの移動を並行して実行している。このようにすると、より迅速にデータ移動を進めることが可能になり、高負荷状態のサーバが早期に高負荷状態から解放されるようにすることができる。
(2−7.第7の応用例)
第7の応用例では、管理サーバ1において、移動データ選択部15が、予め、データ移動処理の終了予定時刻及びアラームの通知先を設定しておき、この設定された終了予定時刻を超えてもデータ移動処理が完了しない場合、当該設定された通知先にアラームを発するようになっている。
図15は、データ移動の終了予定時刻までにデータ移動処理が完了しなかった際のアラーム通知処理の一例を示す。
データ移動処理が開始されると(S401)、移動データ選択部15は、このデータ移動処理の実行制御とは別に、予め設定された終了予定時刻を元にタイマを設定し(S402)、スリープ状態に入る(S403)。この移動データ選択部15は、データ移動終了通知又はタイマによる割り込みを受けると(S404)、データ移動が終了したか否かを判定し(S405)、データ移動が終了していなければ、予め設定された通知先にアラームで通知する(S406)。
以上のように移動データ選択部15は、予め設定されたデータ移動終了予定時刻までにデータ移動が終了したか否かを判定し、予め設定した終了時刻までにデータ移動が終了しなかったと判定した場合、予め設定した方法に従って予め設定された通知先にアラームを通知している。このようにすると、新しいデータ配置に不具合が生じていたり、その他の不具合を原因としてデータ移動処理が完了しない場合、管理者に通知して、上述した図8に示す移動データの選択処理が無限ループとなり実行され続けることを防ぐことができる。
(3)第2の実施の形態
(3−1.管理サーバ1の機能を搭載するDBサーバの変形例)
本発明の第2の実施の形態では、第1の実施の形態とほぼ同様の構成であるため、第1の実施の形態と同一の符号を付した構成はほぼ同様の構成であるとともにほぼ同様の動作を実行するため、ほぼ同一の構成及びほぼ同様の動作については第1の実施の形態と同一の符号を付して説明を省略し、以下、異なる点を中心として説明する。
上述した第1の実施の形態においては、管理サーバ1がDBサーバ2とは別途設けられた形態であったが、第2の実施の形態においては、管理サーバ1の機能がDBサーバ2自体に搭載されている。即ち、第2の実施の形態では、第1の実施の形態における分散データ管理システムにおいて存在していた管理サーバ1が存在せず、その管理サーバ1の機能がDBサーバに搭載されている。つまり、DBサーバにおいては、複数のネットワークスイッチ3により構成されるネットワーク99、及び、前段装置他ネットワーク4を介して、エンドユーザの端末によるデータアクセス要求に応じてデータアクセス処理を実行する一方、そのデータアクセス処理のバックグラウンドで、自らの指示で、上述したデータ移動処理を実行する構成となっている。
当該変形例としてのDBサーバは、所定時間内の自らの平均負荷を測定する負荷計測通知部24と、外部からのデータアクセスを受け付けるデータアクセス処理を実行するデータアクセス部23と、データアクセス処理のバックグラウンドでデータ移動処理を実行するデータ移動部26と、他のDBサーバとによって分散管理されたデータのデータ配置を記録するとともに当該他のDBサーバとによって分散管理されたデータの新たなデータ配置を記録する一方、新旧のデータ配置を比較してデータ移動処理が実行されるべきデータを検出するデータ配置管理部27と、自らの平均負荷の状況を管理しており、初期設定としてデータアクセス処理の優先順位を前記データ移動処理の優先順位よりも高く設定した上で、自らの平均負荷が予め設定された高負荷用閾値以上となると、データアクセス処理の優先順位よりもデータ移動処理の優先順位を高く設定する一方、その後、自らの平均負荷が予め設定された中低負荷用閾値以下となると、データアクセス処理の優先順位をデータ移動処理の優先順位よりも高く設定するサーバリソース管理部と、高負荷用閾値及び中低負荷用閾値並びに自らの平均負荷の状況に基づき、データ移動処理を実行させるべきタイミングを決定し、設定された優先順位に従って上記他のDBサーバ2との間で移動データを移動させる移動データ選択部とを備える。
なお、当該第2の実施の形態としてのDBサーバにおいては、上述した第1の実施の形態とは、次の構成が異なっている。つまり、負荷測定部24は、計測した負荷を管理サーバ1に通知する機能を含まない点を除いて、上述した管理サーバ1のデータ配置管理部16とほぼ同様の機能を有する。また、データアクセス部23、データ移動部26及びデータ配置管理部27は、それぞれ、管理サーバ1による制御によらず自ら制御する点を除いて、上述したデータアクセス部23、データ移動部26及びデータ配置管理部27とほぼ同様の機能を発揮する。第2の実施の形態におけるサーバリソース管理部は、ネットワーク99を介してリソースを管理しない点を除いて、上述した管理サーバ1のサーバリソース管理部12とほぼ同様の機能を発揮する。また、第2の実施の形態における移動データ選択部は、ネットワーク99を介してデータ移動処理のタイミングを決定しない点を除いて、上述した管理サーバ1の移動データ選択部15とほぼ同様の機能を発揮する。
以上のような第2の実施の形態によれば、管理サーバ1が存在しない構成の分散データ管理システムにおいても、第1の実施の形態とほぼ同様な効果を挙げることができる。
(4)その他の実施形態
上記実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その趣旨を逸脱しない限り、様々な形態で実施することができる。例えば、上記実施形態では、各種プログラムの処理をシーケンシャルに説明したが、特にこれにこだわるものではない。従って、処理結果に矛盾が生じない限り、処理の順序を入れ替え又は並行動作するように構成しても良い。
本発明は、データ再配置を行う分散データ管理システム及びデータ移動管理方法に適用することができる。
1 管理サーバ
2 DBサーバ
3 ネットワークスイッチ
4 前段装置又は他のネットワーク
12 サーバリソース管理部
13 回線リソース管理部
14 データ移動管理部
15 移動データ選択部

Claims (28)

  1. 外部からのデータアクセスを受け付けるデータアクセス処理を実行するとともに、前記データアクセスに係るデータを分散して管理する複数のサーバと、前記データアクセス処理のバックグラウンドで前記複数のサーバのうちの移動元サーバから移動先サーバへデータを移動させるためのデータ移動処理を実行させる管理サーバと、がネットワークを介して接続された分散データ管理システムにおいて、
    前記複数のサーバは、
    所定時間内の自らの平均負荷を測定して前記管理サーバに通知する負荷計測通知部と、
    前記管理サーバからの指示に基づいて、前記データアクセス処理を実行するデータアクセス部と、
    前記管理サーバからの指示に基づいて、前記データアクセス処理のバックグラウンドで前記データ移動処理を実行するデータ移動部と、
    を有し、
    前記管理サーバは、
    前記複数のサーバに分散管理されたデータのデータ配置を記録するとともに前記複数のサーバに分散管理されたデータの新たなデータ配置を記録する一方、新旧のデータ配置を比較して前記データ移動処理が実行されるべきデータを検出するデータ配置管理部と、
    前記複数のサーバの平均負荷の状況をそれぞれ管理しており、初期設定として前記複数のサーバを中低負荷状態にあると判定して前記データアクセス処理の優先順位を前記データ移動処理の優先順位よりも高く設定した上で、前記移動元サーバにおける平均負荷が予め設定された高負荷用閾値以上となると、高負荷状態であると判定して前記データアクセス処理の優先順位よりも前記データ移動処理の優先順位を高く設定する一方、その後、前記移動元サーバにおける平均負荷が予め設定された中低負荷用閾値以下となると、高負荷状態を脱して中低負荷状態にあると判定して前記データアクセス処理の優先順位を前記データ移動処理の優先順位よりも高く設定するサーバリソース管理部と、
    前記高負荷用閾値及び前記中低負荷用閾値並びに前記複数のサーバにおける平均負荷の状況に基づき、前記データ移動処理を実行させるべきタイミングを決定し、前記移動元サーバ及び前記移動先サーバのいずれか一方又は両方に対して、前記設定された優先順位に従って前記移動データを移動すべき旨を指示する移動データ選択部と
    を備えることを特徴とする分散データ管理システム。
  2. 前記サーバリソース管理部は、
    前記複数のサーバのうちの特定のサーバが高負荷状態である場合、予め設定された優先順位の高いデータ移動処理用の閾値を前記データ移動処理の閾値と決定するとともに、予め設定された高負荷時のデータアクセス処理用の閾値を前記データアクセス処理の閾値として決定する一方、
    前記複数のサーバのうちの特定のサーバが中低負荷状態である場合、予め設定された中低負荷状態における前記データアクセス処理用の閾値をデータアクセス用の閾値として決定するとともに、データアクセスによる負荷とサーバの性能保証値である負荷との差分を求め、その値を前記データ移動処理の閾値として決定する
    ことを特徴とする請求項1に記載の分散データ管理システム。
  3. 前記管理サーバは、
    前記移動データに関連付けて、前記移動元サーバ、前記移動先サーバ、前記移動データのデータ量及び前記移動データの移動状態を管理するデータ移動管理部を備える
    ことを特徴とする請求項2に記載の分散データ管理システム。
  4. 前記移動データ選択部は、
    前記移動元サーバに関しては、前記複数のサーバのうちから高負荷状態のサーバを移動元サーバとして優先に選択する一方、前記移動先サーバに関しては、前記移動データのデータ量が少ない順に選択すること、前記移動データのデータ量が多い順に選択すること、及び、平均負荷が低い順に選択することのうちから少なくとも1つを選択し、前記複数のサーバのうちから前記選択結果に関係する移動データに対応する移動先サーバを選択する選択処理を実行し、
    前記選択処理に基づく前記移動データに対して、前記データアクセス処理の閾値及び前記データ移動処理の閾値に従ってデータ移動を制限し、前記データ移動処理の実施が制限されるべきと判定された場合には、前記選択処理に従って新たな移動データを選択し、
    前記移動データが存在する移動元サーバ及び移動先サーバのいずれか一方又は両方に対して、前記移動データを移動すべき旨を指示する
    ことを特徴とする請求項1に記載の分散データ管理システム。
  5. 前記移動データ選択部は、
    前記移動元サーバに関しては、前記複数のサーバのうちから高負荷状態のサーバを移動元サーバとして優先に選択する一方、前記移動先サーバに関しては、データ量が少ない順にデータを移動した場合とデータ量が多い順にデータを移動した場合における前記移動元サーバの負荷の推移をそれぞれ推定することにより前記移動元サーバが高負荷状態を脱する時刻を予想し、より早く前記高負荷状態を脱すると予測される方法を選択して、前記複数のサーバのうちから前記移動先サーバを決定し、
    前記選択処理に基づく移動データに関して、前記データアクセス処理の閾値及び前記データ移動処理の閾値に従ってデータ移動を制限し、データ移動が制限されるべきと判定された場合には、前記選択処理に従って新たな移動データを選択し、
    最終的に選択した移動データの移動元サーバ及び移動先サーバのいずれか一方又は両方にデータの移動を指示する
    ことを特徴とする請求項4に記載の分散データ管理システム。
  6. 前記複数のサーバと前記管理サーバとの間において前記複数のサーバ間および前記管理サーバとを接続する回線を有し、前記回線の負荷を測定して前記管理サーバに通知する複数のネットワークスイッチを有し、
    前記管理サーバは、
    前記複数のサーバによるアクセスに応じた各前記ネットワークスイッチの負荷状況を管理する回線リソース管理部
    を有し、
    前記複数のネットワークスイッチのうち前記選択された移動データの移動経路上にあるネットワークスイッチを検出すると、前記検出されたネットワークスイッチの回線負荷を予め設定した回線負荷の閾値と比較し、この比較結果に基づいてデータ移動の可否判断を行う
    ことを特徴とする請求項1に記載の分散データ管理システム。
  7. 前記移動データ選択部は、
    前記データアクセス処理及び前記データ移動処理の閾値による制限を受けてデータ移動ができないデータが優先順位の高いデータ移動である場合、前記移動先サーバが優先順位の低いデータ移動を実行しており、前記優先順位の低いデータ移動を中断することにより、前記優先順位の高いデータ移動を受け付けることが可能であれば前記優先順位の低いデータ移動を中断し、前記優先順位の高いデータ移動を優先的に実行する請求項1に記載の分散データ管理システム。
  8. 前記移動データ選択部は、
    前記回線負荷の閾値を用いた判定によってデータ移動が制限される移動データが優先順位の高いデータ移動である場合、前記優先順位の低いデータ移動を中断することにより、前記優先順位の高いデータ移動を受け付けることが可能であれば前記優先順位の低いデータ移動を中断し、前記優先順位の高いデータ移動を優先的に実行する請求項7に記載の分散データ管理システム。
  9. 前記ネットワークスイッチは、
    前記管理サーバからの指示に従い、前記設定された優先順位に応じた優先制御を行うことを特徴とする請求項1に記載された分散データ管理システム。
  10. 前記移動データ選択部は、
    前記複数のサーバを複数のデータ管理グループに分けて管理する一方、
    各前記データ管理グループに分けた優先順位の高いデータ移動及び優先順位の低いデータ移動に優先順位を付与し、前記付与した優先順位に従って、対応する前記データ管理グループについてデータ移動のスケジューリングを行う請求項1に記載された分散データ管理システム。
  11. 前記移動データ選択部は、
    前記複数のサーバを少なくとも1つのデータ管理グループに分けて管理する一方、
    前記データ管理グループ毎にデータ移動開始時刻を設定し、
    前記設定した時刻に、該当するデータ管理グループについてデータ移動を開始させる請求項10に記載された分散データ管理システム。
  12. 前記移動データ選択部は、
    1つの移動元サーバから1つの移動先サーバへ移動するデータを複数の単位データに分割して、前記分割された複数の単位データの移動を並行して実行する請求項1に記載された分散データ管理システム。
  13. 前記移動データ選択部は、
    予め設定されたデータ移動終了予定時刻までにデータ移動が終了したか否かを判定し、予め設定した終了時刻までにデータ移動が終了しなかったと判定した場合、予め設定した方法に従って予め設定された通知先にアラームを通知することを特徴とする請求項1に記載された分散データ管理システム。
  14. 外部からのデータアクセスを受け付けるデータアクセス処理を実行するとともに、前記データアクセスに係るデータを分散して管理する複数のサーバと、前記データアクセス処理のバックグラウンドで前記複数のサーバのうちの移動元サーバから移動先サーバへデータを移動させるためのデータ移動処理を実行させる管理サーバと、がネットワークを介して接続された分散データ管理システムにおけるデータ移動管理方法において、
    前記複数のサーバが、
    所定時間内の自らの平均負荷を測定して前記管理サーバに通知する一方、前記管理サーバからの指示に基づいて、前記データアクセス処理を実行したり、前記データアクセス処理のバックグラウンドで前記データ移動処理を実行し、
    前記管理サーバが、
    前記複数のサーバに分散管理されたデータのデータ配置を記録するとともに前記複数のサーバに分散管理されたデータの新たなデータ配置を記録する一方、新旧のデータ配置を比較して前記データ移動処理が実行されるべきデータを検出するデータ配置管理ステップと、
    前記複数のサーバの平均負荷の状況をそれぞれ管理しており、初期設定として前記複数のサーバを中低負荷状態にあると判定して前記データアクセス処理の優先順位を前記データ移動処理の優先順位よりも高く設定した上で、前記移動元サーバ又は前記移動先サーバにおける平均負荷が予め設定された高負荷用閾値以上となると、高負荷状態にあると判定して前記データアクセス処理の優先順位よりも前記データ移動処理の優先順位を高く設定する一方、その後、前記移動元サーバ又は前記移動先サーバにおける平均負荷が予め設定された中低負荷用閾値以下となると、高負荷状態を脱して中低負荷状態にあると判定して前記データアクセス処理の優先順位を前記データ移動処理の優先順位よりも高く設定するサーバリソース管理ステップと、
    前記高負荷用閾値及び前記中低負荷用閾値並びに前記複数のサーバにおける平均負荷の状況に基づき、前記データ移動処理を実行させるべきタイミングを決定し、前記移動元サーバ及び前記移動先サーバのいずれか一方又は両方に対して、前記設定された優先順位に従って前記移動データを移動すべき旨を指示する移動データ選択ステップと、
    を実行することを特徴とするデータ移動管理方法。
  15. 前記サーバリソース管理ステップでは、
    前記管理サーバが、
    前記複数のサーバのうちの特定のサーバが高負荷状態である場合、予め設定された優先順位の高いデータ移動処理用の閾値を前記データ移動処理の閾値と決定するとともに、予め設定された高負荷時のデータアクセス処理用の閾値を前記データアクセス処理の閾値として決定する一方、
    前記複数のサーバのうちの特定のサーバが中低負荷状態である場合、予め設定された中低負荷状態における前記データアクセス処理用の閾値をデータアクセス用の閾値として決定するとともに、データアクセスによる負荷とサーバの性能保証値である負荷との差分を求め、その値を前記データ移動処理の閾値として決定する
    ことを特徴とする請求項14に記載のデータ移動管理方法。
  16. 前記管理サーバが、
    前記移動データに関連付けて、前記移動元サーバ、前記移動先サーバ、前記移動データのデータ量及び前記移動データの移動状態を管理する
    ことを特徴とする請求項15に記載のデータ移動管理方法。
  17. 前記管理サーバが、
    前記移動元サーバに関しては、前記複数のサーバのうちから高負荷状態のサーバを移動元サーバとして優先に選択する一方、前記移動先サーバに関しては、前記移動データのデータ量が少ない順に選択すること、前記移動データのデータ量が多い順に選択すること、及び、平均負荷が低い順に選択することのうちから少なくとも1つを選択し、前記複数のサーバのうちから前記選択結果に関係する移動データに対応する移動先サーバを選択する選択処理を実行し、
    前記選択処理に基づく前記移動データに対して、前記データアクセス処理の閾値及び前記データ移動処理の閾値に従って制限を行い、前記データ移動処理の実施が制限されるべきと判定された場合には、前記選択処理に従って新たな移動データを選択し、
    前記移動データが存在する移動元サーバ及び移動先サーバのいずれか一方又は両方に対して、前記移動データを移動すべき旨を指示する
    ことを特徴とする請求項14に記載のデータ移動管理方法。
  18. 前記移動データ選択ステップでは、
    前記管理サーバが、前記移動元サーバに関しては、前記複数のサーバのうちから高負荷状態のサーバを移動元サーバとして優先に選択する一方、前記移動先サーバに関しては、データ量が少ない順にデータを移動した場合とデータ量が多い順にデータを移動した場合における前記移動元サーバの負荷の推移をそれぞれ推定することにより前記移動元サーバが高負荷状態を脱する時刻を予想し、より早く前記高負荷状態を脱すると予測される方法を選択して、前記複数のサーバのうちから前記移動先サーバを決定し、
    前記選択処理に基づく移動データに関して、前記データアクセス処理の閾値及び前記データ移動処理の閾値に従ってデータ移動を制限し、データ移動が制限されるべきと判定された場合には、前記選択処理に従って新たな移動データを選択し、
    最終的に選択した移動データの移動元サーバ及び移動先サーバのいずれか一方又は両方にデータの移動を指示する
    ことを特徴とする請求項17に記載のデータ移動管理方法。
  19. 前記管理サーバは、
    前記複数のサーバによるアクセスに応じて、前記複数のサーバ間および前記管理サーバとの間において前記複数のサーバと前記管理サーバとを接続する回線を有するとともに前記回線の負荷を測定して前記管理サーバに通知する複数のネットワークスイッチの負荷状況を管理する一方、前記複数のネットワークスイッチのうち前記選択された移動データの移動経路上にあるネットワークスイッチを検出すると、前記検出されたネットワークスイッチの回線負荷を予め設定した回線負荷の閾値と比較し、この比較結果に基づいてデータ移動の可否判断を行う
    ことを特徴とする請求項14に記載のデータ移動管理方法。
  20. 前記管理サーバが、
    前記データアクセス処理及び前記データ移動処理の閾値による制限を受けてデータ移動ができないデータが優先順位の高いデータ移動である場合、前記移動先サーバが優先順位の低いデータ移動を実行しており、前記優先順位の低いデータ移動を中断することにより、前記優先順位の高いデータ移動を受け付けることが可能であれば前記優先順位の低いデータ移動を中断し、前記優先順位の高いデータ移動を優先的に実行する請求項14に記載のデータ移動管理方法。
  21. 前記管理サーバが、
    前記回線負荷の閾値を用いた判定によってデータ移動が制限される移動データが優先順位の高いデータ移動である場合、前記優先順位の低いデータ移動を中断することにより、前記優先順位の高いデータ移動を受け付けることが可能であれば前記優先順位の低いデータ移動を中断し、前記優先順位の高いデータ移動を優先的に実行する請求項20に記載のデータ移動管理方法。
  22. 前記ネットワークスイッチが、
    前記管理サーバからの指示に従い、前記設定された優先順位に応じた優先制御を行うことを特徴とする請求項14に記載されたデータ移動管理方法。
  23. 前記管理サーバが、
    前記複数のサーバを複数のデータ管理グループに分けて管理する一方、各前記データ管理グループに分けた優先順位の高いデータ移動及び優先順位の低いデータ移動に優先順位を付与し、前記付与した優先順位に従って、対応する前記データ管理グループについてデータ移動のスケジューリングを行う請求項14に記載されたデータ移動管理方法。
  24. 前記管理サーバが、
    前記複数のサーバを少なくとも1つのデータ管理グループに分けて管理する一方、前記データ管理グループ毎にデータ移動開始時刻を設定し、前記設定した時刻に、該当するデータ管理グループについてデータ移動を開始させる請求項23に記載されたデータ移動管理方法。
  25. 前記管理サーバが、
    1つの移動元サーバから1つの移動先サーバへ移動するデータを複数の単位データに分割して、前記分割された複数の単位データの移動を並行して実行する請求項14に記載されたデータ移動管理方法。
  26. 前記管理サーバが、
    予め設定されたデータ移動終了予定時刻までにデータ移動が終了したか否かを判定し、予め設定した終了時刻までにデータ移動が終了しなかったと判定した場合、予め設定した方法に従って予め設定された通知先にアラームを通知することを特徴とする請求項14に記載されたデータ移動管理方法。
  27. 所定時間内の自らの平均負荷を測定する負荷計測部と、
    外部からのデータアクセスを受け付けるデータアクセス処理を実行するデータアクセス部と、
    前記データアクセス処理のバックグラウンドで前記データ移動処理を実行するデータ移動部と、
    他のサーバとによって分散管理されたデータのデータ配置を記録するとともに前記他のサーバとによって分散管理されたデータの新たなデータ配置を記録する一方、新旧のデータ配置を比較して前記データ移動処理が実行されるべきデータを検出するデータ配置管理部と、
    前記自らの平均負荷の状況を管理しており、初期設定として中低負荷状態にあると判定して前記データアクセス処理の優先順位を前記データ移動処理の優先順位よりも高く設定した上で、前記自らの平均負荷が予め設定された高負荷用閾値以上となると、高負荷状態にあると判定して前記データアクセス処理の優先順位よりも前記データ移動処理の優先順位を高く設定する一方、その後、前記自らの平均負荷が予め設定された中低負荷用閾値以下となると、高負荷状態を脱して中低負荷状態にあると判定して前記データアクセス処理の優先順位を前記データ移動処理の優先順位よりも高く設定するサーバリソース管理部と、
    前記高負荷用閾値及び前記中低負荷用閾値並びに前記自らの平均負荷の状況に基づき、前記データ移動処理を実行させるべきタイミングを決定し、前記設定された優先順位に従って前記他のサーバとの間で前記移動データを移動させる移動データ選択部と、
    を備えることを特徴とするサーバ。
  28. 前記サーバリソース管理部は、
    前記自らの平均負荷が高負荷状態である場合、予め設定された優先順位の高いデータ移動処理用の閾値を前記データ移動処理の閾値と決定するとともに、予め設定された高負荷時のデータアクセス処理用の閾値を前記データアクセス処理の閾値として決定する一方、
    前記自らの平均負荷が中低負荷状態である場合、予め設定された中低負荷状態における前記データアクセス処理用の閾値をデータアクセス用の閾値として決定するとともに、データアクセスによる負荷と自らの性能保証値である負荷との差分を求め、その値を前記データ移動処理の閾値として決定する
    ことを特徴とする請求項27に記載のサーバ。
JP2012091354A 2012-04-12 2012-04-12 分散データ管理システム及びデータ移動管理方法 Pending JP2013222221A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012091354A JP2013222221A (ja) 2012-04-12 2012-04-12 分散データ管理システム及びデータ移動管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012091354A JP2013222221A (ja) 2012-04-12 2012-04-12 分散データ管理システム及びデータ移動管理方法

Publications (1)

Publication Number Publication Date
JP2013222221A true JP2013222221A (ja) 2013-10-28

Family

ID=49593167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012091354A Pending JP2013222221A (ja) 2012-04-12 2012-04-12 分散データ管理システム及びデータ移動管理方法

Country Status (1)

Country Link
JP (1) JP2013222221A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101563064B1 (ko) 2013-12-31 2015-10-23 주식회사 포스코아이씨티 빅데이터 분산 시스템
CN108509271A (zh) * 2018-03-21 2018-09-07 四川斐讯信息技术有限公司 一种数据处理方法及系统
US11029887B2 (en) 2018-12-19 2021-06-08 Fujitsu Limited Data process execution device, storage medium, and data process execution system
CN115348322A (zh) * 2022-07-11 2022-11-15 深圳市九洲电器有限公司 数据处理方法、组网设备及计算机可读存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101563064B1 (ko) 2013-12-31 2015-10-23 주식회사 포스코아이씨티 빅데이터 분산 시스템
CN108509271A (zh) * 2018-03-21 2018-09-07 四川斐讯信息技术有限公司 一种数据处理方法及系统
US11029887B2 (en) 2018-12-19 2021-06-08 Fujitsu Limited Data process execution device, storage medium, and data process execution system
CN115348322A (zh) * 2022-07-11 2022-11-15 深圳市九洲电器有限公司 数据处理方法、组网设备及计算机可读存储介质
CN115348322B (zh) * 2022-07-11 2023-07-18 深圳市九洲电器有限公司 数据处理方法、组网设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN112867050B (zh) 一种upf网元管理方法及系统
EP2915299B1 (en) A method for dynamic load balancing of network flows on lag interfaces
US8611217B2 (en) Subscriber/service differentiation in advanced wireless networks
US8665717B2 (en) Data rate aware scheduling in advanced wireless networks
US9112784B2 (en) Hierarchical occupancy-based congestion management
JP4574600B2 (ja) ゲートウェイ装置、データ集約装置、データ集約システム、データ送信方法、及びプログラム
EP3220681B1 (en) Adaptive and dynamic qos/qoe enforcement
WO2009141016A1 (en) Partitioning entity and method for partitioning capacity
WO2013163865A1 (zh) 虚拟机热迁移和部署的方法、服务器及集群系统
WO2017000657A1 (zh) 一种缓存管理的方法、装置和计算机存储介质
JP2013222221A (ja) 分散データ管理システム及びデータ移動管理方法
CN102521057A (zh) 资源调度方法和装置
WO2014117347A1 (zh) 一种数据调度方法和设备
KR20130065019A (ko) 이동통신망에서 집중화된 기지국의 자원 관리 시스템 및 방법
WO2014060032A1 (en) Method and arrangement for admission control based on priority level based differentiation
WO2015168834A1 (zh) 虚拟网络功能中网络资源的分配方法、编排器及管理器
JPH05216842A (ja) 資源管理装置
EP2839714A1 (en) Method and radio network node for managing radio resources
WO2016115846A1 (zh) 业务调度方法、装置、无线网络控制器及基站
JP5673057B2 (ja) 輻輳制御プログラム、情報処理装置および輻輳制御方法
CN109792411B (zh) 用于管理端到端连接的设备和方法
JPWO2015129211A1 (ja) ネットワーク制御方法およびシステム
CN109714223B (zh) Nfv架构下实现网络业务接入动态负载分担功能的系统及其方法
JP6185562B2 (ja) 無線ネットワークにおけるデューティサイクル制御
KR20120097985A (ko) 환자 모니터링 정보에 따른 우선순위와 모바일 디바이스 또는 유무선 게이트웨의 Idl e time을 이용한 환자 모니터링 방법 및 시스템