【文献】
関元洋,クラウドのライブマイグレーションによるネットワークの不安定化を抑制するトラヒックエンジニアリング手法の提案と評価,電子情報通信学会技術研究報告 IN2011−137〜IN2011−204 情報ネットワーク,日本,社団法人電子情報通信学会,2012年 3月 1日,第111巻,第469号,p.217−222
【文献】
山川聡,ファイルサーバ仮想化環境におけるファイルデータ自律配置制御技術の開発,情報処理学会研究報告,日本,社団法人情報処理学会,2005年 3月18日,第2005巻,第31号,p.19−24
(58)【調査した分野】(Int.Cl.,DB名)
データセンタ及び地点の組み合わせ毎に、ある地点に位置するユーザ端末と各データセンタとの間で生じる遅延に関する地点間遅延評価値を取得する地点間遅延評価値取得部と、
前記ユーザ端末から各データへのアクセスの履歴情報を取得する履歴情報取得部と、
を更に備え、
前記評価部は、前記地点間遅延評価値及び前記履歴情報に基づいて前記遅延評価値を評価する、請求項1に記載の配置先決定システム。
【発明を実施するための形態】
【0011】
[概要]
まず、本発明の一実施形態であるデータ分散システムの概要について説明する。データ分散システムは、複数のデータセンタを備える。また、データ分散システムは、配置先決定システムを備える。各データセンタは異なる地点に設置されている。配置先決定システムは、ユーザ端末から各データセンタへのアクセスにおいて生じる遅延に関する評価値(遅延評価値)を評価する。配置先決定システムは、遅延評価値が低くなるように、各ファイルの配置先となるデータセンタを決定する。例えば、配置先決定システムは、ユーザ端末とデータセンタとの間ので生じる遅延に関する評価値(地点間遅延評価値)と、ユーザ端末から各ファイルへのアクセスの履歴情報とを取得する。配置先決定システムは、配置先が決定されるファイルについて、そのファイルを配置した場合にそのファイルへのアクセスにおいて生じる遅延に関する遅延評価値をデータセンタ毎に評価しても良い。データ分散システムは、配置先決定システムによって決定された配置先に応じて、各ファイルを決定された配置先に移動させる。
【0012】
[詳細]
次に、本発明の一実施形態であるデータ分散システムの詳細について説明する。
図1は、データ分散システムのシステム構成例を表すシステム構成図である。
図1に示すデータ分散システムは、7台のデータセンタ10(10−A〜10−G)と、配置先決定装置50とを備える。
【0013】
各データセンタ10は、それぞれ異なる地点に配置されている。そのため、あるユーザ端末から各データセンタ10に対してアクセスする際に生じる遅延は、同一のファイルにアクセスした場合であっても、データセンタ10毎に異なる。このような遅延の差は、ユーザ端末とデータセンタ10との間の物理的な距離や、ユーザ端末とデータセンタ10との間のネットワーク設備などに応じて生じる。
配置先決定装置50は、本発明の配置先決定システムとして機能し、各ファイルの配置先となるデータセンタを決定する。
【0014】
図2は、データセンタ10の機能構成の具体例を示す概略ブロック図である。データセンタ10は、ファイル配置最適化装置20、DC間接続装置205、リダイレクト装置401、ゲートウェイ(Gate Way:GW)402、1台以上の記憶装置30を備える。
図2の例では、データセンタ10はn台の記憶装置30(30−1〜30−n)を備える(nは1以上の整数)。
ファイル配置最適化装置20は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、ゲートウェイプログラムを実行することによって、アクセス履歴管理部201、アクセス履歴記憶部202、地点間遅延評価値管理部203、地点間遅延評価値記憶部204を備える装置として機能する。なお、ファイル配置最適化装置20の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されても良い。
【0015】
アクセス履歴管理部201は、自身が備えられるデータセンタ10に対してユーザ端末からアクセスが発生する度に、アクセス履歴に関する情報(アクセス履歴情報)をアクセス履歴記憶部202に記録する。また、アクセス履歴管理部201は、所定のタイミングで、アクセス履歴記憶部202に記録されているアクセス履歴情報を通知する。
アクセス履歴記憶部202は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。アクセス履歴記憶部202は、アクセス履歴情報の具体例としてアクセス履歴テーブルを記憶する。
【0016】
図3は、アクセス履歴テーブルの具体例を示す図である。アクセス履歴テーブルは、ファイルID毎にアクセス地点情報を対応付けたテーブルである。ファイルIDは、自身(アクセス履歴記憶部202)が備えられるデータセンタ10に配置されているファイルの識別情報である。ファイルがデータセンタ10に配置されているということは、ファイルがデータセンタ10の記憶装置30に記録されていることを示す。アクセス地点情報は、ファイルIDが示すファイルに対してアクセスしたユーザ端末の位置を表す情報である。例えば、
図3に示されるアクセス履歴テーブルは、ファイルIDが“0001”であるファイルに対して、A地点に位置するユーザ端末と、D地点に位置するユーザ端末と、C地点に位置するユーザ端末と、からアクセスがあったことを表している。
【0017】
地点間遅延評価値管理部203は、自身が備えられるデータセンタ10が位置する地点のユーザ端末からのアクセスにおいて生じる遅延に関する評価値(地点間遅延評価値)を、データセンタ10毎に取得する。地点間遅延評価値管理部203は、取得した地点間遅延評価値を地点間遅延評価値記憶部204に記録する。
地点間遅延評価値記憶部204は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。地点間遅延評価値記憶部204は、地点間遅延評価値テーブルを記憶する。
図4は、地点間遅延評価値テーブルの具体例を示す図である。
図4に示される地点間遅延評価値テーブルは、A地点に位置するデータセンタ10の地点間遅延評価値テーブルの具体例を示す。地点間遅延評価値テーブルは、ある地点(
図4の場合はA地点)に位置するユーザ端末から、各地点(A、B、C、D、・・・)に設置されたデータセンタ10との間で生じる遅延に関する地点間遅延評価値を表す。
図4の場合、地点Aに位置するユーザ端末から、地点A、B、C、Dに設置されたデータセンタ10との間で生じる地点間遅延評価値は、それぞれ“1”、“2”、“3”、“4”である。
【0018】
次に、地点間遅延評価値テーブルの取得処理の具体例について説明する。まず、地点間遅延評価値管理部203は、自身が備えられるデータセンタ10が備える各記憶装置30のアクセス性能(アクセスに関する性能)を評価する。例えば、地点間遅延評価値管理部203は、各記憶装置30に対して、ディスク負荷テスト等のベンチマークを実行することによって、アクセス性能の評価値(アクセス評価値T(Mbps))を評価しても良い。アクセス評価値Tは、例えば記憶装置30に格納されているファイルにGW402からアクセスする際に要する時間(アクセス速度)を表す値である。
【0019】
次に、地点間遅延評価値管理部203は、自身と各地点のデータセンタ10のGW402との間の通信時間を測定する。例えば、地点間遅延評価値管理部203は、各地点のデータセンタ10のGW402に対してpingを行うことによって、RTT(Round Trip Time)を通信時間として測定しても良い。地点間遅延評価値管理部203は、RTTの値を、自身が備えられるデータセンタ10が位置する地点のユーザ端末から各データセンタ10に対するアクセス時間として用いる。
【0020】
次に、地点間遅延評価値管理部203は、アクセス評価値及び通信時間に基づいて、地点間遅延評価値をデータセンタ毎に取得する。例えば、地点間遅延評価値管理部203は、データセンタ毎にレスポンスタイムRTを以下の式1で算出し、レスポンスタイムRTに応じたスコアを地点間遅延評価値として取得しても良い。
RT=SIZE÷(1024÷RTT+T)(式1)
式1において、SIZEは定数である。地点間遅延評価値管理部203は、レスポンスタイムRTが大きいほど、大きな地点間遅延評価値(スコア)を設定する。
【0021】
DC間接続装置205は、配置先決定装置50によってファイルの配置先を変更することについて指示を受けた場合に、他のデータセンタ10のDC間接続装置205との間で通信することによって、ファイルの配置換えを行う。DC間接続装置205は、自身が備えられたデータセンタ10に配置されているファイルを他のデータセンタ10に配置することについて指示を受けると、対象となっているファイルを記憶装置30から読み出す。そして、DC間接続装置205は、読み出したファイルを、新たな配置先となっているデータセンタ10のDC間接続装置205に対して送信する。また、DC間接続装置205は、他のデータセンタのDC間接続装置205からファイルを受信すると、受信したファイルを、自身が備えられたデータセンタ10の記憶装置30に記録する。
リダイレクト装置401及びGW402については、従来と変わらない装置であるため詳細な説明を省く。なお、リダイレクト装置401及びGW402が行う処理については、
図14を用いて簡単に説明する。
【0022】
図5は、配置先決定装置50の機能構成の具体例を示す概略ブロック図である。配置先決定装置50は、バスで接続されたCPUやメモリや補助記憶装置などを備え、配置先決定プログラムを実行する。配置先決定プログラムの実行によって、配置先決定装置50は、履歴情報取得部501、アクセス履歴記憶部502、評価値取得部503、地点間遅延評価値記憶部504、評価部505、決定部506を備える装置として機能する。なお、配置先決定装置50の各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されても良い。
なお、配置先決定装置50の機能は、必ずしも単体の装置において実装される必要は無い。例えば、配置先決定装置50の機能は、複数の装置に分散して実装されても良い。また、配置先決定装置50の機能は、いずれか1つ又は複数のデータセンタ10に実装されても良い。
【0023】
履歴情報取得部501は、各データセンタ10のファイル配置最適化装置20と通信し、各ファイル配置最適化装置20において記録されているアクセス履歴情報を取得する。履歴情報取得部501は、取得したアクセス履歴情報をアクセス履歴記憶部502に記録する。
アクセス履歴記憶部502は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。アクセス履歴記憶部502は、各データセンタ10におけるアクセス履歴情報を記憶する。
【0024】
評価値取得部503は、各データセンタ10のファイル配置最適化装置20と通信し、各ファイル配置最適化装置20において記憶されている地点間遅延評価値テーブルを取得する。評価値取得部503は、取得した地点間遅延評価値テーブルを地点間遅延評価値記憶部504に記録する。
地点間遅延評価値記憶部504は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。地点間遅延評価値記憶部504は、各データセンタ10における地点間遅延評価値テーブルを記憶する。
図6は、地点間遅延評価値記憶部504が記憶する地点間遅延評価値テーブルの具体例を示す図である。
図6に示されるように、地点間遅延評価値記憶部504に記憶される地点間遅延評価値テーブルは、複数の地点のデータセンタ10において取得された地点間遅延評価値を有する。
【0025】
図6に示される地点間遅延評価値テーブルの最上段のレコード61−1は、
図4に示される地点間遅延評価値テーブルと同じである。すなわち、
図6に示される地点間遅延評価値テーブルの最上段のレコード61−1は、A地点に位置するユーザ端末から、各地点(A、B、C、D、・・・)に設置されたデータセンタ10との間で生じる遅延に関する地点間遅延評価値を表す。レコード61−2は、B地点に位置するユーザ端末から、各地点(A、B、C、D、・・・)に設置されたデータセンタ10との間で生じる遅延に関する地点間遅延評価値を表す。レコード61−3は、C地点に位置するユーザ端末から、各地点(A、B、C、D、・・・)に設置されたデータセンタ10との間で生じる遅延に関する地点間遅延評価値を表す。レコード61−4は、D地点に位置するユーザ端末から、各地点(A、B、C、D、・・・)に設置されたデータセンタ10との間で生じる遅延に関する地点間遅延評価値を表す。
【0026】
以上より、
図6に示される地点間遅延評価値テーブルにおいて、縦に並んだ地点名(A、B、C、D、・・・)は、ユーザ端末が位置すると仮定される地点を表す。一方、横に並んだ地点名(A、B、C、D、・・・)は、アクセスされるファイルが格納されているデータセンタ10が位置する地点を表す。例えば、地点Dに位置するユーザ端末から地点Aに位置するデータセンタ10のファイルにアクセスする際に生じる地点間遅延の評価値は、上から5行目左から2列目の矩形が示す数値“5”である。
【0027】
評価部505は、各ファイルについて、そのファイルを配置した場合にユーザ端末からのアクセスにおいて生じる遅延に関する遅延評価値をデータセンタ毎に評価する。
図7は、遅延評価値の評価内容の具体例を示す図である。
図7におけるレコード62−1は、ファイル0001についての遅延評価値の評価結果を表す図である。ファイル0001が地点Aのデータセンタ10に配置されたと仮定すると、アクセス履歴記憶部502に記憶されているアクセス履歴(
図3参照)と同様のアクセスが生じた場合の遅延評価値は、1+5+4=10と算出される。加算される“1”は、地点Aに位置するユーザ端末から地点Aのデータセンタ10のファイルにアクセスした場合の地点間遅延評価値である。加算される“5”は、地点Dに位置するユーザ端末から地点Aのデータセンタ10のファイルにアクセスした場合の地点間遅延評価値である。加算される“4”は、地点Cに位置するユーザ端末から地点Aのデータセンタ10のファイルにアクセスした場合の地点間遅延評価値である。評価部505は、このような演算を各ファイルについて行うことによって、
図7に示されるような遅延評価値を算出する。
【0028】
決定部506は、評価部505の評価結果に基づいて、ファイル毎に配置先となるデータセンタ10を決定する。例えば、決定部506は、ファイル毎に、遅延評価値が最小となる地点のデータセンタ10を配置先として決定する。決定部506は、決定結果(ファイルID及び配置先のデータセンタ10の識別情報)を、決定に関するファイルが配置されているデータセンタ10に通知する。通知を受けたデータセンタ10は、自身に配置されているファイルを読み出し、決定結果が示す新たな配置先のデータセンタ10に読み出したファイルを送信する。新たな配置先のデータセンタ10は、ファイルを受信すると、受信したファイルを自身の記憶装置30に記録する。
【0029】
このように構成されたデータ分散システムでは、ネットワーク遅延によって生じるアクセス品質の低下を抑えることが可能となる。その詳細は以下の通りである。上記のデータ分散システムでは、評価部505によって、記録されるファイル(データ)について、遅延評価値がデータセンタ毎に評価される。遅延評価値は、そのファイルを、あるデータセンタに配置した場合に、各ユーザ端末からのアクセスによって生じるネットワーク遅延の推定値を表す値である。このような遅延評価値は、各ファイルに対する実際のアクセス履歴と、地点間の遅延の評価値(地点間遅延評価値)と、に基づいて算出される。そして、遅延評価値が少ないデータセンタ10に対してファイルが配置される。そのため、各ファイルに対するアクセスによって生じるネットワーク遅延を小さく抑え、アクセス品質の低下を抑えることが可能となる。
【0030】
図8は、遅延により生じるデータ分散システムへの悪影響の大きさの具体例を表す図である。Tier1は、遅延が負荷されていないデータセンタ10を表す。Tier2は、20ミリ秒の遅延が負荷されたデータセンタ10を表す。どのようなファイルサイズであっても、読出時間(Read)や書込時間(Write)に10倍以上の差が生じていることがわかる。このように、わずか20ミリ秒の遅延が、アクセス品質を大きく低下させてしまう。すなわち、データ分散システムにおいて、遅延の発生はわずかであっても大きな悪影響となってしまう。上記のデータ分散システムでは、このようなアクセス品質の低下を抑えることが可能となる。
【0031】
また、上記のデータ分散システムでは以下のような効果もある。地点間遅延評価値管理部203から各データセンタ10に格納されているファイルへのアクセスに要する時間を測定すると、ネットワーク帯域が圧迫されてしまうおそれがある。このような問題に対し、地点間遅延評価値管理部203は、自身から各データセンタ10のGW402との間の通信時間と、GW402から各記憶装置30のファイルへのアクセスに要する時間とをそれぞれ取得し、その結果に応じて地点間遅延評価値を評価する。そのため、ネットワーク帯域を圧迫することを防止できる。さらに、ボトルネックの箇所を明確に判定することが可能となる。したがって、プロビジョニングが容易となる。
【0032】
<変形例>
決定部506は、所定の条件を満たしたデータセンタ10について、そのデータセンタ10に配置されている各ファイルの配置先を決定するように構成されても良い。以下、このような構成の具体例について説明する。
【0033】
図9は、配置先決定装置の変形例(配置先決定装置50a)の機能構成の具体例を表す概略ブロック図である。配置先決定装置50aは、決定部506に代えて決定部506aを備える。また、配置先決定装置50aは、タイミング情報記憶部511を備える。
タイミング情報記憶部511は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。タイミング情報記憶部511は、決定部506aが配置先となるデータセンタ10を決定する処理を行うタイミングに関する情報を記憶する。
図10は、タイミング情報記憶部511が記憶するタイミング情報テーブルの具体例を表す図である。
【0034】
タイミング情報テーブルは、データセンタ10毎に、閾値、累積値、実行禁止時間帯を有する。閾値は、予め設定された値である。累積値は、そのデータセンタ10において発生したアクセスに応じた地点間遅延評価値の累積値を表す。実行禁止時間帯は、決定部506aがデータセンタ10に対してファイルの配置先を変更することを指示する処理の実行が禁止された時間帯を表す。
【0035】
決定部506aは、アクセス履歴記憶部502に新たなアクセス情報が書き込まれる度に、新たなアクセスに応じた地点間遅延評価値を累積値に加算する。例えば、新たに書き込まれたアクセス情報が、地点Aのデータセンタ10に配置されているファイル0001に対し地点Dに位置するユーザ端末からアクセスが生じたことを表す場合、決定部506aは、DCの値が“A”のレコードの累積値“153”に対し、さらに“5”を加算する。決定部506aは、累積値が閾値を超えた場合、そのデータセンタに配置されている各ファイルについて、新たな配置先となるデータセンタ10を決定する。そして、決定部506aは、決定された配置先をデータセンタ10に通知し、配置先を変更することを指示する。ただし、その時間帯が実行禁止時間帯である場合には、決定部506aは、実行禁止時間帯を過ぎてから指示を行う。
【0036】
図11は、変形例における決定部506aの処理の流れを表すフローチャートである。決定部506aは、新たに書き込まれたアクセス情報に基づいて累積値を更新する(ステップS101)。次に決定部506aは、更新後の累積値が閾値を超えているか否か判定する(ステップS102)。累積値が閾値を超えていない場合(ステップS102−NO)、決定部506aは、ステップS101の処理に戻る。一方、累積値が閾値を超えている場合(ステップS102−YES)、決定部506aは、実行禁止時間帯であるか否か判定する(ステップS103)。実行禁止時間帯である場合(ステップS104−YES)、決定部506aは、実行禁止時間帯が終わるまで待機する。一方、実行禁止時間帯で無い場合(ステップS104−NO)、決定部506aは、決定した配置先をデータセンタ10に指示する(ステップS105)。
【0037】
このように変形して構成された配置先決定装置50aによれば、アクセスが集中しているデータセンタ10について優先的にファイルの分散を行うことが可能となる。そのため、アクセス品質が大幅に低下してしまう前にファイルを分散させ、アクセス品質の大幅な低下を抑えることが可能となる。
【0038】
地点間遅延評価値管理部203は、所定のタイミングで繰り返し地点間遅延評価値の取得処理を行っても良い。このように構成されることによって、地点間遅延評価値記憶部204が記憶する情報を、より実情に即した値に維持することが可能となる。
各データセンタ10は、各データセンタ10に配置されているファイルの識別情報を表す配置先テーブルを記憶するように構成されても良い。
図12は、配置先テーブルの具体例を示す図である。配置先テーブルは、データセンタ10の識別情報(例えば地点名)毎に、そのデータセンタ10に配置されているファイルの識別情報(ファイルID)を有する。
図12の例では、地点Aに位置するデータセンタ10には、0001及び0005のファイルが配置されている。
【0039】
決定部506は、遅延評価値及び他の要素に基づいて、配置先となるデータセンタ10を決定しても良い。他の要素とは、例えば、各データセンタ10における空き容量を表す値であっても良い。
図13は、このように構成された決定部506の処理の具体例を示すフローチャートである。
決定部506は、まず、処理対象となっているファイルについて、遅延評価値が最も低いデータセンタ10を配置先として選択する(ステップS201)。次に、決定部506は、選択したデータセンタ10の空き容量に、配置対象となっているファイルのサイズが収まるか否か判定する。すなわち、選択したデータセンタ10に余力リソースがあるか否か判定する(ステップS202)。余力リソースが無い場合(ステップS202−NO)、決定部506は、前回選択したデータセンタ10の次に遅延評価値が低いデータセンタ10を配置先として選択する(ステップS201)。決定部506は、ステップS202において余力リソースがあるデータセンタ10が選択されるまで処理を繰り返す。
【0040】
選択したデータセンタ10に余力リソースがある場合(ステップS202−YES)、決定部506は、選択したデータセンタ10を配置先として決定する。そして、処理対象となっているファイルを記憶しているデータセンタ10に対し、決定した配置先のデータセンタ10に送信することを指示する(ステップS203)。そして、決定部506は、配置先テーブル(
図12参照)を更新する(ステップS204)。
【0041】
図14は、ユーザ端末がファイルにアクセスする際の処理の流れの具体例を表す図である。次に、上述した配置先決定装置50によってファイルの配置先が決定された後に、ユーザ端末が各ファイルにアクセスする際の処理の流れについて説明する。
まず、ユーザ端末は、最寄りのデータセンタ10を所定のDNSに問い合わせる(1)。DNSは、ユーザ端末の位置情報を、ユーザ端末に割り当てられているIPアドレスに基づいて判定する(2)。そして、DNSは、ユーザ端末の位置情報に最も近いデータセンタ10のIPアドレスをユーザ端末に通知する。例えば、DNSは、ユーザ端末の位置情報が表す行政区分と同じ行政区分に位置するデータセンタ10のIPアドレスをユーザ端末に通知する。
【0042】
ユーザ端末は、通知されたIPアドレスに基づいて、アクセス対象のファイルへのアクセス要求をデータセンタ10に送信する(3)。アクセス対象のファイルが、アクセス要求を受けたデータセンタ10に配置されている場合、リダイレクト装置401は、リダイレクト処理を実行しない。この場合、データセンタ10の記憶装置30(ストレージ)に記録されているファイルに対し、ユーザ端末からのアクセスが許可される(4)。
【0043】
一方、アクセス対象のファイルが、アクセス要求を受けたデータセンタ10に配置されていない場合、リダイレクト装置401は、配置先テーブル(
図12参照)を参照して、アクセス対象のファイルが配置されているデータセンタ10を判定する。そして、リダイレクト装置401は、アクセス対象のファイルが配置されているデータセンタ10へリダイレクトする(5)。このリダイレクトによって、ユーザ端末は、アクセス対象のファイルへアクセスする。
【0044】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。