IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特許7132386ストレージシステム及びストレージシステムの負荷分散方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-08-29
(45)【発行日】2022-09-06
(54)【発明の名称】ストレージシステム及びストレージシステムの負荷分散方法
(51)【国際特許分類】
   G06F 9/50 20060101AFI20220830BHJP
   G06F 9/455 20060101ALI20220830BHJP
   G06F 11/07 20060101ALI20220830BHJP
   G06F 11/20 20060101ALI20220830BHJP
【FI】
G06F9/50 120Z
G06F9/455 150
G06F11/07 196
G06F11/07 140A
G06F11/20 630
【請求項の数】 11
(21)【出願番号】P 2021062015
(22)【出願日】2021-03-31
【審査請求日】2021-07-30
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】特許業務法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】小川 直記
(72)【発明者】
【氏名】坂井 伸圭
(72)【発明者】
【氏名】齋藤 響
【審査官】坂庭 剛史
(56)【参考文献】
【文献】特開2009-134687(JP,A)
【文献】国際公開第2015/068299(WO,A1)
【文献】国際公開第2014/162601(WO,A1)
【文献】特開2016-053928(JP,A)
【文献】特開2012-093992(JP,A)
【文献】特開2011-118525(JP,A)
【文献】特表2015-531091(JP,A)
【文献】国際公開第2017/068623(WO,A1)
【文献】特表2015-518587(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/50
G06F 9/455
G06F 11/07
G06F 11/20
(57)【特許請求の範囲】
【請求項1】
ネットワークを介して接続された複数の計算機システムを含んで構成されるストレージシステムであって、
各前記計算機システムは、管理サーバと、アプリケーション、仮想マシン、及びコンテナの少なくとも何れかを含む実行対象の実行制御を行うと共に前記実行対象の実行に用いるリソースの稼働状況を収集するコントローラとを有し、
前記管理サーバは、
前記稼働状況が閾値を超過するか否かを判定し、
前記稼働状況が閾値を超過したことを検知すると、
前記計算機システムで動作する前記実行対象を移動させて他の前記計算機システムで動作させた際のコスト、信頼性、及び性能の少なくとも何れかに関する情報と、前記計算機システムに適用されている法令又は規則を指標化した指標化情報とに基づく前記実行対象毎の第1指標を計算し、
前記実行対象の移動先として他の前記計算機システムが選択される度合いを無次元量で表す第2指標を他の前記計算機システムから取得し、
前記第1指標及び前記第2指標の何れか又は両方に基づいて、他の前記計算機システムの中から、前記実行対象の移動先の計算機システムを決定する
ことを特徴とするストレージシステム。
【請求項2】
請求項1に記載のストレージシステムであって、
前記管理サーバは、
少なくとも前記第1指標に基づいて、前記移動先の計算機システムと共に、移動させる前記実行対象を決定する
ことを特徴とするストレージシステム。
【請求項3】
請求項1に記載のストレージシステムであって、
前記管理サーバは、
他の前記計算機システムで動作する前記実行対象の移動先として前記計算機システムが選択される度合いを表す前記第2指標を算出し、
算出した前記第2指標を、要求に応じて他の前記計算機システムへ送信する
ことを特徴とするストレージシステム。
【請求項4】
請求項1に記載のストレージシステムであって、
前記管理サーバは、
移動元の前記計算機システムの前記コントローラを前記移動先の計算機システムへスケールアウトし、
移動元の前記計算機システムで動作する前記実行対象を移動させて前記移動先の計算機システムで動作させる
ことを特徴とするストレージシステム。
【請求項5】
請求項4に記載のストレージシステムであって、
前記管理サーバは、
前記移動先の計算機システムで動作する前記実行対象を戻して、移動元の前記計算機システムで動作させ、
スケールアウトした前記コントローラをスケールインする
ことを特徴とするストレージシステム。
【請求項6】
請求項4に記載のストレージシステムであって、
前記管理サーバは、
移動元の前記計算機システムで動作する前記実行対象を移動させた際の前記稼働状況を履歴として保存し、
前記移動先の計算機システムで動作する前記実行対象を戻して移動元の前記計算機システムで動作させた場合の前記稼働状況が閾値を超過するか否かを、前記履歴に基づいて予測し、
前記稼働状況が閾値を超過しないと予測される場合に、前記移動先の計算機システムで動作する前記実行対象を戻して移動元の前記計算機システムで動作させ、スケールアウトした前記コントローラをスケールインする
ことを特徴とするストレージシステム。
【請求項7】
請求項4に記載のストレージシステムであって、
前記管理サーバは、
前記移動先の計算機システムで動作する前記実行対象を戻して、移動元の前記計算機システムで動作させ、
前記稼働状況が閾値を超過するか否かを判定し、
前記稼働状況が閾値を超過しない場合に、前記第1指標を再計算し、前記第2指標を再取得し、該第1指標及び該第2指標の何れか又は両方に基づいて前記実行対象の再移動先の計算機システムを決定し、前記再移動先が前記移動先と一致する場合には、前記計算機システムで動作する前記実行対象を移動させて前記移動先の計算機システムで動作させ、前記再移動先が前記移動先と一致しない場合には、前記計算機システムの前記コントローラを前記再移動先の計算機システムへスケールアウトし、前記計算機システムで動作する前記実行対象を移動させて前記再移動先の計算機システムで動作させ、前記移動先の計算機システムへスケールアウトした前記コントローラをスケールインする
ことを特徴とするストレージシステム。
【請求項8】
請求項1に記載のストレージシステムであって、
前記管理サーバは、
前記ストレージシステムに追加された新規の前記計算機システムの地理又は組織に関する新規情報を取得し、
前記新規情報と、前記ストレージシステムの既存の前記計算機システムの地理又は組織に関する既存情報と、を比較し、
前記新規情報と前記既存情報との包含関係及び位置関係に応じて、既存の前記計算機システムに適用されている前記法令又は前記規則を、新規の前記計算機システムに対して適用する
ことを特徴とするストレージシステム。
【請求項9】
請求項1に記載のストレージシステムであって、
前記管理サーバは、
前記法令又は規則の記載内容をデータ化した法令規則データと、前記第1指標を計算する際に用いる前記指標化情報と、前記法令規則データの記載内容に基づいて前記指標化情報に格納する指標値を判定するための判定規則と、を保持し、
前記法令又は規則の記載内容の解析結果に基づいて前記法令規則データを更新し、前記法令規則データの更新内容と前記判定規則とに基づいて、前記指標化情報の前記指標値を更新する
ことを特徴とするストレージシステム。
【請求項10】
請求項1に記載のストレージシステムであって、
前記管理サーバは、
所定の入力画面を介して、前記コスト、前記信頼性、及び前記性能の少なくとも何れかに関する情報と共に、前記法令又は前記規則に基づいて各前記計算機システムを前記移動先の計算機システムと決定し得るか否かの可否情報の入力を受け付け、前記可否情報から前記指標化情報を生成する
ことを特徴とするストレージシステム。
【請求項11】
ネットワークを介して接続された複数の計算機システムを含んで構成されるストレージシステムの負荷分散方法であって、
各前記計算機システムは、管理サーバと、アプリケーション、仮想マシン、及びコンテナの少なくとも何れかを含む実行対象の実行制御を行うと共に前記実行対象の実行に用いるリソースの稼働状況を収集するコントローラとを有し、
前記管理サーバが、
前記稼働状況が閾値を超過するか否かを判定し、
前記稼働状況が閾値を超過したことを検知すると、
前記計算機システムで動作する前記実行対象を移動させて他の前記計算機システムで動作させた際のコスト、信頼性、及び性能の少なくとも何れかに関する情報と、前記計算機システムに適用されている法令又は規則を指標化した指標化情報とに基づく前記実行対象毎の第1指標を計算し、
前記実行対象の移動先として他の前記計算機システムが選択される度合いを無次元量で表す第2指標を他の前記計算機システムから取得し、
前記第1指標及び前記第2指標の何れか又は両方に基づいて、他の前記計算機システムの中から、前記実行対象の移動先の計算機システムを決定する
ことを特徴とするストレージシステムの負荷分散方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージシステム及びストレージシステムの負荷分散方法に関する。
【背景技術】
【0002】
例えば特許文献1には、「負荷分散装置は、第1のクラウドにおけるリソース利用率と第1のクラウドにおいて動作している仮想マシンのリソース利用率とを取得する利用率取得手段と、仮想マシンのリソース利用率が予め定められた第1の閾値を超えている場合において、第1のクラウドのリソース利用率が予め定められた第2の閾値を超えているとき、第2のクラウドにおいて新たな仮想マシンを起動させ、第2のクラウドにおけるリソース利用率が第2の閾値以下であるとき、第1のクラウドにおいて新たな仮想マシンを起動させる仮想マシン管理手段とを有する。」が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2015-153370号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら上述の従来技術では、性能やコストを考慮した仮想マシンの移動を行っているが、仮想マシンの状態や、移動先の法令や規則の遵守、移動先のリソース使用状況等を考慮した移動を行うものではない。
【0005】
すなわち、コントローラ上で動作する仮想マシンを含むアプリケーションの刻々と変化する状態を把握し、コントローラのスケールアウト先の法令や規則を遵守しながらアプリケーションを手動で再配置することは、困難を伴う。また、スケールアウト先のリソース使用状況の収集は、スケールアウト先が別組織による管理の場合に、セキュリティの観点から現実的でない。
【0006】
本発明は、上記に鑑み、コントローラのスケールアウトとアプリケーションの移動を、アプリケーションの状態、スケールアウト先の法令や規則、及びリソース使用状況を考慮して行うことを1つの目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決するため、本発明の一態様では、ネットワークを介して接続された複数の計算機システムを含んで構成されるストレージシステムであって、各前記計算機システムは、管理サーバと、アプリケーション、仮想マシン、及びコンテナの少なくとも何れかを含む実行対象の実行制御を行うと共に前記実行対象の実行に用いるリソースの稼働状況を収集するコントローラとを有し、前記管理サーバは、前記稼働状況が閾値を超過するか否かを判定し、前記稼働状況が閾値を超過したことを検知すると、前記計算機システムで動作する前記実行対象を移動させて他の前記計算機システムで動作させた際のコスト、信頼性、及び性能の少なくとも何れかに関する情報と、前記計算機システムに適用されている法令又は規則を指標化した指標化情報とに基づく前記実行対象毎の第1指標を計算し、前記実行対象の移動先として他の前記計算機システムが選択される度合いを無次元量で表す第2指標を他の前記計算機システムから取得し、前記第1指標及び前記第2指標の何れか又は両方に基づいて、他の前記計算機システムの中から、前記実行対象の移動先の計算機システムを決定することを特徴とする。
【発明の効果】
【0008】
本発明によれば、例えば、コントローラのスケールアウトとアプリケーションの移動を、アプリケーションの状態、スケールアウト先の法令や規則、及びリソース使用状況を考慮しつつ容易かつ適切に行うことができる。
【図面の簡単な説明】
【0009】
図1】実施形態に係るストレージシステムの構成を例示する図。
図2】管理クライアントの構成を例示する図。
図3】実施形態に係るリージョンの構成を例示する図。
図4】APPスコア設定画面の構成を例示する図。
図5A】スケール許可テーブルの構成を例示する図。
図5B】APPスコア設定テーブルの構成を例示する図。
図5C】リージョンスコア格納テーブルの構成を例示する図。
図5D】該非判定テーブルの構成を例示する図。
図5E】リージョン毎グループテーブルの構成を例示する図。
図5F】国別グループ分類テーブルの構成を例示する図。
図6】評価スコアの計算例を説明するための説明図。
図7】宣言スコアの計算例を説明するための説明図。
図8】実施形態に係るスケールアウト処理を例示するフローチャート。
図9】APP毎の評価スコア計算処理を例示するフローチャート。
図10】実施形態に係るAPP定期再配置処理を例示するフローチャート。
図11】変形例1に係るAPP定期再配置処理を例示するフローチャート。
図12】変形例2に係るAPP定期再配置処理を例示するフローチャート。
図13】変形例2に係るリソース使用状況履歴テーブルの構成を例示する図。
図14】実施形態に係るリージョングループ追加設定処理(国及び地域単位)を例示するフローチャート。
図15】実施形態に係るリージョングループ追加設定処理(国及び地域単位)を説明するための説明図。
図16】変形例3に係るリージョングループ追加設定処理(社内規則)を例示するフローチャート。
図17】変形例3に係るリージョングループ追加設定処理(社内規則)を説明するための説明図。
図18】実施形態に係るスケール許可テーブル自動更新処理を例示するフローチャート。
図19】規則データ解析処理を例示するフローチャート。
図20】実施形態に係る規則データ解析処理を説明するための説明図。
図21】実施形態に係るスケール許可テーブルの自動更新処理を説明するための説明図。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施形態を説明する。実施形態は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略及び簡略化がなされている。本発明は、他の種々の形態や各形態の一部又は全部を組合せた形態でも実施することが可能である。特に限定しない限り、各構成要素は単数でも複数でもよい。
【0011】
同一あるいは同様の機能を有する構成要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。また、これらの複数の構成要素を区別する必要がない場合には、添字を省略して説明する場合がある。
【0012】
(ストレージシステム1の構成)
図1は、実施形態に係るストレージシステム1の構成を例示する図である。ストレージシステム1は、ネットワーク2を介して互いに通信可能に接続された管理クライアント3及び1以上のリージョン4を含んで構成される。図1では、3つのリージョン4(#0)、4(#1)、4(#2)を例示するが、これに限られない。リージョン4は、ネットワーク2を介してWebサイト5にアクセス可能である。
【0013】
管理クライアント3は、後述するAPP(アプリケーション)スコア設定のためのユーザ入力を受付ける。図2に示すように、管理クライアント3は、入力デバイス31、表示デバイス32、CPU(Central Processing Unit)33、メモリ34、及びI/F(Inter/Face)35を有する。メモリ34には、CPU33によって実行されるWebブラウザ341のプロセスが格納されている。
【0014】
管理クライアント3は、APPスコア設定のための入力画面をWebブラウザ341を介して表示デバイス32に表示し、入力デバイス31を介したユーザ入力を受け付ける。I/F35は、管理クライアント3がネットワーク2に接続するための通信インタフェースである。図2では、APPスコア設定のための入力画面の表示の際にWebブラウザ341を用いる管理クライアント3を例示しているが、その他の入出力機能を用いてもよい。
【0015】
リージョン4は、ストレージシステム1及びリージョン4の管理制御を行う管理ソフトウェアが動作する管理サーバ41、1以上のコントローラ42、及びストレージ43を含んで構成される。リージョン4は、管理サーバ41と、コントローラ42及びコントローラ42上で動作する実行対象とが存在する場所を指し、例えば地理的に異なる地点に配置される計算機システムである。実行対象とは、アプリケーション、VM(Virtual Machine)、及びコンテナの少なくとも何れかを含む。実行対象を、以下「APP」(APPlication)と称する。
【0016】
コントローラ42は、CPU421やメモリ422といったリソースを有し、リソースの性能情報の収集と、APPの実行制御を行う。但し、リージョン4では、必ずしもAPPが動作しているとは限らない。
【0017】
ストレージ43は、管理サーバ41及びコントローラ42が用いる記憶領域を提供する1以上のドライブを含んで構成される。ストレージ43及びドライブは、必ずしもリージョン4内に存在しなくてもよく、管理サーバ41及びコントローラ42とネットワークを介して通信可能であればよい。
【0018】
Webサイト5は、法令規則情報51、SNS(Social Networking Service)52、ハザードマップ情報53等を提供するインターネット上又はイントラネット内の1以上のサーバである。法令規則情報51は、国や自治体の法令や、企業といった組織の規則等の条文を含む。SNS52は、SNSによって発信された情報を含む。ハザードマップ情報53は、国や自治体、その他の組織によって提供される自然災害の被害範囲の予測を含んだ地図情報である。Webサイト5は、これらの情報に限らず、各リージョン4を評価するための情報となり得る様々な情報が利用できる。
【0019】
本実施形態では、あるリージョン4内のリソース(CPU421又はメモリ422等)の稼働状況がひっ迫したときに、管理サーバ41が、リソースを一時的にスケールアウトしAPPを移動させる移動先のリージョンを決定する。APPの移動先のリージョンを決定する際、移動先の法令や規則の遵守や、刻々と変わるAPPの状況、移動先の運用コスト、リスク、及び性能等を考慮するため、これらの情報を反映したスコア(以下「評価スコア」と呼ぶ)が計算される。評価スコア計算の基礎となる情報は、ユーザ入力及びWebサイト5から取得される。
【0020】
(リージョン4の構成)
図3は、実施形態に係るリージョン4の構成を例示する図である。リージョン4は、ネットワーク44を介して接続された管理サーバ41、1以上のコントローラ42、及びストレージ43を含んで構成される。ストレージ43は、必ずしもリージョン4内に存在するとは限らず、外部に存在してもよい。また、管理サーバ41、コントローラ42、及びアプリケーション424、VM425、及びコンテナ426は、ネットワーク44を介して外部と通信可能である。
【0021】
コントローラ42は、CPU421、メモリ422、及びI/F42Fを含んで構成され、I/F42Fを介してネットワーク44に接続される。コントローラ42は、メモリ422に、CPU421及びメモリ422の協働によるプログラム実行で実現される制御部427、及びAPP424を格納する。
【0022】
制御部427は、リソース使用状況採取部428及びAPP動作処理部429を有する。リソース使用状況採取部428は、コントローラ42のCPU及びメモリ422等のリソースの使用状況を採取する。リソース使用状況は、管理ソフトウェア実行部411の宣言スコア計算部411eによって、宣言スコアSdeclare の計算の際に取得される。
【0023】
APP423は、APP動作処理部429の制御よって動作するアプリケーション424、VM425、及びコンテナ426の少なくとも何れかを含む。但し、VM425及びコンテナ426は、同時には動作せず何れか一方が動作する。また、アプリケーション424、VM425、及びコンテナ426が必ずしも動作していなくてもよい。
【0024】
ストレージ43は、1以上のドライブ及びI/F43Fを含んで構成され、I/F43Fを介してネットワーク44に接続される。ストレージ43は、リージョン4の外部に存在してもよい。
【0025】
管理サーバ41は、CPU41P、メモリ41M、及びI/F41Fを含んで構成され、I/F41Fを介してネットワーク44に接続される。管理サーバ41は、メモリ41Mに、CPU41Pとの協働によるプログラム実行で実現される管理ソフトウェアの機能である管理ソフトウェア実行部411、及びテーブル群412を格納する。
【0026】
管理ソフトウェア実行部411は、APPスコア設定入力部411a、評価スコア計算部411b、信用スコア計算部411c、リージョンスコア計算部411d、宣言スコア計算部411e、宣言スコア送受信部411f、配置処理部411g、スケール処理部411h、APP移動処理部411i、性能閾値超過検知部411j、法令規則適用部411k、及び、スケール許可テーブル更新部411mを有する。
【0027】
また、テーブル群412には、スケール許可テーブル412a(図5A)、APPスコア設定テーブル412b(図5B)、リージョンスコア格納テーブル412c(図5C)、該非判定テーブル412d(図5D)、リージョン毎グループテーブル412e(図5E)、及び、国別グループ分類テーブル412f(図5F)が含まれる。該非判定テーブル412d、リージョン毎グループテーブル412e、及び、国別グループ分類テーブル412fは、法令や規則の内容をデータ化したテーブルである。
【0028】
スケール許可テーブル412aは、図5Aに示すように、APP#、リージョン#0、リージョン#1、・・・の列を有し、APP毎に法令や規則の遵守の観点に基づく各リージョンへのスケール可否のスコアを格納する。スケール許可テーブル412aには、APP#A(A=0,1,・・・)及びリージョン#R(R=0,1,・・・)に対応して法令スコアLA,Rが格納される。法令スコアLA,Rは、{0,1}の何れかの値を取る無次元量である。
【0029】
APPスコア設定テーブル412bは、図5Bに示すように、APP#、コスト:スコア#0:通信コスト、リスク:スコア#1:自然災害、リスク:スコア#2:検閲、性能:スコア#3:レイテンシ、性能:スコア#4:通信速度、・・・の列を有する。APPスコア設定テーブル412bには、APP#A(A=0,1,・・・)及びスコア#i(i=0,1,・・・)に対応してAPPスコアS が格納される。APPスコアS は、[0,1]の範囲で正規化された無次元量である。図5Bは、APPスコア設定テーブル412bの列項目の一例を示すに過ぎず、その他の項目を含んでもよい。
【0030】
リージョンスコア格納テーブル412cは、図5Cに示すように、APP#、コスト:スコア#0:通信コスト、リスク:スコア#1:自然災害、リスク:スコア#2:検閲、性能:スコア#3:レイテンシ、性能:スコア#4:通信速度、・・・の列を有する。リージョンスコア格納テーブル412cには、リージョン#R(R=0,1,・・・)及びスコア#i(i=0,1,・・・)に対応してリージョンスコアS が格納される。リージョンスコアS は、[0,1]の範囲で正規化された無次元量である。リージョンスコア格納テーブル412cの列項目は、APPスコア設定テーブル412bの列項目と同一である。図5Cは、リージョンスコア格納テーブル412cの列項目の一例を示すに過ぎず、その他の項目を含んでもよい。
【0031】
該非判定テーブル412dは、図5Dに示すように、APP#、該非判定書登録、該非判定、許可の列を有する。該非判定テーブル412dは、国別グループ分類テーブル412fのグループの変更やその他の該非判定の再実行に際し、スケール許可テーブル412aの該当項目に対して該非判定に基づくスコアを与えるテーブルである。該非判定テーブル412dの許可の列は、省略可能である。
【0032】
リージョン毎グループテーブル412eは、図5Eに示すように、リージョン#、グループ#の列を有し、各リージョン4が属するグループを示す。
【0033】
国別グループ分類テーブル412fは、図5Fに示すように、カントリーコード、グループ#の列を有し、カントリーコードに対応するグループを示す。
【0034】
なお、上述の各テーブルは、必ずしもメモリ41M上に存在する必要はなく、管理ソフトウェア実行部411からアクセス可能な記憶領域に存在すればよい。
【0035】
図4は、実施形態に係るAPPスコア設定画面341Dの構成を例示する図である。APPスコア設定入力部411aは、管理クライアント3のWebブラウザ341に表示されるAPPスコア設定画面341Dから入力された設定を受け付け、スケール許可テーブル412a及びAPPスコア設定テーブル412bに設定を格納する。
【0036】
ユーザは、APPスコア設定画面341Dを介して、APP毎に、スケールアウトに際して何れのリージョン4への移動を許可するか(輸出管理法判定)、及び、スケール先のリージョン4に関する重視点(スケール先重視点)を入力する。輸出管理法判定は必ず守られるべき事項とするが、スケール先重視点は全ての要件を充足できるリージョンが存在するとは限らないためベストエフォートとする。
【0037】
APPスコア設定画面341Dは、プルダウン341a、トグルスイッチ341b、及びスライダーバー341cを備える。プルダウン341aから設定対象のAPPの選択が入力される。
【0038】
トグルスイッチ341bから設定対象のAPPのスケール先としての可否がリージョン毎に入力される。各リージョン4について、スケール先として許可(Yes)である場合にはスケール許可テーブル412aの該当のAPP#及びリージョン#の欄に“1”が格納され、不許可(No)である場合には“0”が格納される。スケール許可テーブル412aにおけるスケール先としての可否情報は、例えば輸出管理法で輸出規制されていない国は“1”(スケール許可)、輸出規制されている国は“0”(スケール不許可)とされる法令スコアである。なお、可否情報では、スケール許可を“1”に代えて、スケール先のその他の事情を考慮した(0,1]の値で表してもよい。
【0039】
スライダーバー341cから設定対象のAPPの各スケール先重視点について、ユーザが要求するレベルが入力される。スケール先重視点の例としては、“コスト”、“リスク”、及び“性能”等があるが、これらに限られない。また、各スケール先重視点は、APPスコア設定入力部411aの内部処理によってさらに項目が詳細化されてもよい。スケール先のリージョン4に求める“コスト”、“リスク”、及び“性能”の要求レベルがスライダーバー341cから入力され、内部処理によって[0,1]の数値へ変換されてAPPスコア設定テーブル412bの該当欄に格納される。
【0040】
なお、新規のリージョン追加時には、スケール許可テーブル412a及びAPPスコア設定テーブル412bに、初期値を自動設定してもよいし、ユーザ入力に基づいて設定してもよい。
【0041】
評価スコア計算部411b、信用スコア計算部411c、リージョンスコア計算部411d、宣言スコア計算部411e、及び宣言スコア送受信部411fの説明は後述する。
【0042】
配置処理部411gは、後述のように評価スコア計算部411bによって計算された評価スコアSA,Rに基づいて、移動させるAPP及び移動先のリージョン4を決定する。例えば、配置処理部411gは、最大の評価スコアSA,Rのリージョン#RへAPP#Aを移動させると決定する。そして、配置処理部411gは、スケール処理部411hに対してAPPの移動先のリージョン4でコントローラ42のリソースを確保するスケールアウトを指示する。また、配置処理部411gは、APP移動処理部411iに対しスケールアウトした移動先のリージョン4のコントローラ42へのAPPの移動を指示する。
【0043】
また、配置処理部411gは、APP移動処理部411iに対し移動先のリージョン4のコントローラ42からのAPPの戻しを指示する。また、配置処理部411gは、スケール処理部411hに対してAPPの移動先のリージョン4でスケールアウトしたコントローラ42のリソースを解放するスケールインを指示する。
【0044】
スケール処理部411hは、配置処理部411gが指示する移動先のリージョン4の配置処理部411gと共に、移動元のコントローラ42を移動先のリージョン4へスケールアウトする。また、スケール処理部411hは、配置処理部411gが指示する移動先のリージョン4の配置処理部411gと共に、APPの移動先のコントローラ42をスケールインする。
【0045】
APP移動処理部411iは、配置処理部411gが指示する移動先のリージョン4のAPP移動処理部411iと共に、移動元のAPPを移動先のコントローラ42へ移動させる。また、APP移動処理部411iは、配置処理部411gが指示する移動先のリージョン4のAPP移動処理部411iと共に、移動したAPPを移動元のコントローラ42へ戻す。
【0046】
性能閾値超過検知部411jは、コントローラ42のリソース(CPU421、メモリ422等)の使用率等の負荷状況を監視し、負荷が性能閾値を超過したことを検知する。なお、リソースには、コントローラ42のCPU421やメモリ422に限らず、APPの実行に必要なネットワークリソース、ストレージ43、及びその他のリソースが含まれてもよい。
【0047】
法令規則適用部411kは、後述するリージョングループ追加設定処理(図14図15図16図17)を実行する。
【0048】
スケール許可テーブル更新部411mは、後述するスケール許可テーブル自動更新処理を実行する。スケール許可テーブル自動更新処理では、国別グループ分類テーブル412fに対して変更が加えられたことが検知されると、該非判定テーブル412d及びリージョン毎グループテーブル412eをもとに、スケール許可テーブル412aが自動更新される。スケール許可テーブル自動更新処理は、図18図19図20図21を参照して後述する。
【0049】
(評価スコアSA,Rの計算例)
図6は、評価スコアSA,Rの計算例を説明するための説明図である。評価スコアとは、あるリージョン4のAPPを他のリージョン4へさせる際に、移動させやすさの観点で他のリージョン4を評価する指標である。図6では、リージョン#0がAPP#Aの移動に関してリージョン#Rを評価する評価スコアSA,Rを算出する例を示す。APP#Aをリージョン#Rに移動する際の評価スコアSA,Rは、式(1)に基づいて、信用スコアSreliability A,Rと宣言スコアSdeclare の積として計算される。
【0050】
【数1】
【0051】
信用スコアSreliability A,Rは、APPスコア設定テーブル412b及びリージョンスコア格納テーブル412cにおけるAPP#Aに対応するk個のAPPスコアS 及びリージョンスコアS に基づく(0,1]の値を取る関数f(S ,S )の和を表す。信用スコアSreliability A,Rは、スケール先として法令を遵守しかつスケール先重視点の要求レベルを充足するスコア項目が多いリージョン4であるほど値が大きくなる正数である。スケール先として法令を遵守していないリージョン4の信用スコアSreliability A,Rは“0”である。
【0052】
APPスコアS は、APPスコア設定テーブル412bにおけるAPP#Aのスコア#iである。リージョンスコアS は、リージョンスコア格納テーブル412cにおけるリージョン#Rのスコア#iである。法令スコアLA,Rは、スケール許可テーブル412aにおけるAPP#Aかつリージョン#Rに対応するスコアである。
【0053】
ステップS11では、リージョン#0のAPPスコア設定入力部411aは、APPスコア設定画面341DからAPPスコア設定入力を受け付け、スケール許可テーブル412aに法令スコアLA,Rを、APPスコア設定テーブル412bにAPPスコアS を格納する。
【0054】
ステップS12では、リージョン#0のリージョンスコア計算部411dは、Webサイト5等から外部情報を収集し、収集した外部情報に基づいてリージョンスコアS を計算し、リージョンスコア格納テーブル412cに格納する。リージョンスコア格納テーブル412cに格納されるリージョンスコアS は、定期的に更新される。なお、リージョンスコア格納テーブル412cを省略してもよい。リージョンスコア計算部411dは、必要時に外部情報を収集してリアルタイムでリージョンスコアS を算出してもよい。
【0055】
リージョンスコアS は、法令情報や、ハザードマップ等による静的情報、SNSといった動的情報、料金表等を解析し、リスクの値をリアルタイムに計算することで、外部からリージョン#Rを評価する指標である。例えば“自然災害”であれば、洪水や地震のハザードマップとSNS解析によりリスクの高い地域を動的に計算可能である。また、“障害”や“検閲(通信遮断)”等の信頼性のリスクは、テキスト情報のネガティブスコア及びポジティブスコアを機械学習等を用いることで計算できる。また、“レイテンシ”や“通信速度”等の性能は、リージョン間の通信の実測値を用いることができる。
【0056】
また、リージョンスコアS は、項目によって単位が異なるため、式(2)に基づいて、各取得値xをその最大値Max及び最小値Minに基づいて[0,1]の無次元量に正規化される。
【0057】
【数2】
【0058】
ステップS13では、リージョン#0の信用スコア計算部411cは、スケール許可テーブル412a、APPスコア設定テーブル412b、及びリージョンスコア格納テーブル412cからそれぞれ法令スコアLA,R、APPスコアS 、及びリージョンスコアS を取得する。そして、式(1)に基づいて、信用スコアSreliability A,Rを算出する。
【0059】
ステップS14では、リージョン#Rの宣言スコア計算部411eは、リージョン#Rのコントローラ42等のリソース使用状況に基づいて、リージョン#1の宣言スコアSdeclare を算出する。宣言スコア計算部411eは、リージョン#Rの管理サーバ41の管理下のコントローラ42等のリソース性能値及びメンテナンス時期から宣言スコアSdeclare を計算する。
【0060】
宣言スコア計算部411eは、例えば式(3)に基づいて宣言スコアSdeclare を計算する。式(3)では、リージョン#Rの管理サーバ41の管理下のリソース、例えばCPU421及びメモリ422の使用率の平均値(瞬間値や移動平均値)をそれぞれScpu及びSmem(0~1(0%~100%))としている。また、メンテナンス日入力時点をMinput、メンテナンス日をMexec、現時点をMnow(0~1)としている。
【0061】
【数3】
【0062】
図7を参照して、宣言スコアSdeclare の計算を説明する。図7は、実施形態に係る宣言スコアSdeclare の計算例を説明するための模式図である。図7に示すように、式(3)の右辺第1因子は[0,1]の値を取り、CPU421及びメモリ422の使用率の平均値のうちの大きい方が100%に近いほど小さい値となる。また、式(3)の右辺第2因子は[0,1]の値を取り、現時点Mnowがメンテナンス日Mexecに近いほど小さい値となる。
【0063】
すなわち、宣言スコアSdeclare は、リソース使用率が高く、メンテナンス日が近いほど小さくなる[0,1]の範囲の無次元量となる。よって、宣言スコアSdeclare は、該当のリージョン4のリソース状況といった情報が反映されつつも詳細内容を外部に対して秘匿するスコアである。式(1)に基づいて、他のリージョン4から取得した宣言スコアSdeclare を信用スコアSreliability A,Rに乗じることで、評価スコアSA,Rの値を抑制し、APP#Aのリージョン#Rへの移動しやすさを調整できる。また、各管理サーバ41で自身の宣言スコアSdeclare を計算し、他のリージョン4の管理サーバ41へ通知することで互いに交換し合うことで、宣言スコアSdeclare の算出負荷を軽減できる。
【0064】
ステップS15では、リージョン#Rの宣言スコア送受信部411fは、リージョン#0の管理ソフトウェア実行部411からの要求に応じて、ステップS14で算出された宣言スコアSdeclare をリージョン#Rへ送信する。
【0065】
ステップS16では、リージョン#0の宣言スコア送受信部411fは、リージョン#Rの管理サーバ41に対する問い合わせに応じて、リージョン#Rの宣言スコア送受信部411fによって送信された宣言スコアSdeclare を受信する。
【0066】
ステップS17では、評価スコア計算部411bは、式(1)に基づいて、ステップS13で計算された信用スコアSreliability A,R、及び、ステップS16で受信されたリージョン#Rの宣言スコアSdeclare を乗算して、APP毎の評価スコアSA,Rを計算する。
【0067】
なお、常に宣言スコアSdeclare =1とすることで、スケールアウト先のリージョン4の選択の際に、信用スコアSreliability A,Rのみに基づくことができる。この場合、他のリージョン4から宣言スコアSdeclare が取得できない状況下でも、法令を遵守しつつスケール先重視点に合致するリージョン4をスケール先として選択できる。
【0068】
また、常に信用スコアSreliability A,R=1とすることで、スケールアウト先のリージョン4の選択の際に、宣言スコアSdeclare のみに基づくことができる。例えば、運営企業が異なるが同じ国内のリージョンのみをスケールアウト先として選択する場合には、輸出管理法上の問題がないことが明らかであるため、信用スコアSreliability A,Rの情報を省略しても、詳細なスケール先の内部情報を必要とせずスケール先を適切に選択できる。
【0069】
(スケールアウト処理)
図8は、実施形態に係るスケールアウト処理を例示するフローチャートである。また図9は、図8のステップS22のAPP毎の評価スコア計算処理を例示するフローチャートである。本スケールアウト処理は、性能閾値の変更、法令や規則の変更、又は所定周期を契機として実行される。また、本スケールアウト処理は、後述のAPP定期再配置処理(図10)からも呼び出される。
【0070】
ステップS21では、性能閾値超過検知部411jは、コントローラ42等のリソース使用率といった稼働状況が性能閾値を超過したか否かを判定する。性能閾値超過検知部411jは、性能閾値を超過した場合(ステップS21YES)にステップS22へ処理を移し、性能閾値を超過していない場合(ステップS21NO)に本スケールアウト処理を終了する。
【0071】
ステップS22では、評価スコア計算部411bは、図9を参照して後述するAPP毎の評価スコア計算処理を実行する。ステップS22の処理により、APP毎かつリージョン毎の複数の評価スコアSA,Rが計算される。
【0072】
ステップS23では、配置処理部411gは、スケール処理部411hに指示し、ステップS22で算出した評価スコアSA,Rのうちの例えば最大の評価スコアSA,Rのリージョン4へコントローラ42をスケールアウトする。ステップS24では、配置処理部411gは、APP移動処理部411iに指示し、ステップS23でスケールアウトしたリージョン4へ該当のAPPを移動させる。
【0073】
図9を参照して図8のステップS22のAPP毎の評価スコア計算処理の詳細を説明する。ステップS221では、信用スコア計算部411cは、スケール許可テーブル412a、APPスコア設定テーブル412b、及びリージョンスコア格納テーブル412cから、法令スコアLA,R、APPスコアS 、及びリージョンスコアS をそれぞれ取得する。
【0074】
次にステップS222では、信用スコア計算部411cは、式(1)に基づいて、APP毎の信用スコアSreliability A,Rを計算する。次にステップS223では、宣言スコア送受信部411fは、他のリージョン4の宣言スコアSdeclare を取得する。
【0075】
次にステップS224では、評価スコア計算部411bは、式(1)に基づいて評価スコアSA,Rを算出する。
【0076】
(APP定期再配置処理)
本実施形態では、法令を遵守した一時的なスケールアウトを目的としている。このため、スケール先の負荷を考慮して、スケール元もしくはスケール先の性能閾値の変更、法令や規則の変更、又は所定周期を契機として、スケールイン又は再配置を実施する。但し、負荷が高いスケールアウト及びAPP移動の再度の実行を抑制するため、評価スコアSA,Rが当初のスケールアウト時から一定以上低下したことや、ある程度の長さの所定周期を契機とし、スケール元のリソースのひっ迫が解消された可能性が高い状態でスケールイン又は再配置を実施するようにしてもよい。
【0077】
図10は、実施形態に係るAPP定期再配置処理を例示するフローチャートである。ステップS31では、配置処理部411gは、APP移動処理部411iに指示し他のリージョン4へスケールアウトしたスケールAPPのうちの例えば最小の評価スコアSA,RのスケールAPPを移動元である自身のリージョン4へ戻す。
【0078】
次にステップS32では、性能閾値超過検知部411jは、スケールAPPを自身のリージョン4へ戻したことによりコントローラ42のリソース使用率等の稼働状況が性能閾値を超過したか否かを判定する。性能閾値超過検知部411jは、性能閾値を超過した場合(ステップS32YES)にステップS33へ処理を移し、性能閾値を超過していない場合(ステップS32NO)にステップS37へ処理を移す。
【0079】
ステップS33では、評価スコア計算部411bは、図9のAPP毎の評価スコア計算処理を実行する。次にステップS34では、配置処理部411gは、ステップS33で計算した評価スコアSA,Rが最大のリージョンが、ステップS31で移動元へ戻したスケールAPPのスケール先のリージョンから変わったか否かを判定する。配置処理部411gは、評価スコアSA,Rが最大のリージョンが変わった場合(ステップS34YES)にステップS35へ処理を移し、変わっていない場合(ステップS34NO)にステップS39へ処理を移す。
【0080】
ステップS35では、配置処理部411gは、スケール処理部411hに指示しステップS33で計算した評価スコアSA,Rが最大のリージョン4へコントローラ42をスケールアウトする。次にステップS36では、配置処理部411gは、APP移動処理部411iに指示しステップS35のスケール先へ該当のAPPを移動する。次にステップS37では、配置処理部411gは、スケール処理部411hを指示しステップS31の処理前にスケールAPPが動作していた元の移動先のリージョン4のコントローラをスケールインする。ステップS35~S37は、APPのスケール先の再配置である。
【0081】
次にステップS38では、配置処理部411gは、他にスケールAPPが存在するか否かを判定し、存在する場合(ステップS38YES)にステップS31へ処理を戻し、存在しない場合(ステップS38NO)に本APP定期再配置処理を終了する。ステップS38から処理を移したステップS31では、前回までに選択された評価スコアSA,Rを除いて例えば最小の評価スコアSA,RのスケールAPPが処理対象となる。
【0082】
一方ステップS39では、配置処理部411gは、ステップS31で戻したスケールAPPを元のスケール先に再度移動する。ステップS39は、APPのスケール先の変更がない場合である。
【0083】
(APP定期再配置処理の変形例1)
図9を参照して説明したAPP定期再配置処理は、APPの移動とコントローラのスケールとを切り離して実行し、APPのスケールイン後に同一のリージョン4が再度スケールアウトされる重複を排除している。この他のAPP定期再配置処理として、APPのスケールイン後に、戻した先のコントローラ42の性能閾値を超過する場合に、改めてスケール先を決定する変形例1が考えらえる。図11を参照して、APP定期再配置処理の変形例1を説明する。図11の説明では、図10と同一処理には同一符号を付与して説明を省略する。
【0084】
図11は、変形例1に係るAPP定期再配置処理を例示するフローチャートである。ステップS31Bでは、配置処理部411gは、APP移動処理部411iに指示し他のリージョン4へスケールアウトしたスケールAPPのうち評価スコアSA,Rが最小のスケールAPPを自身のリージョン4へ戻す。そして、配置処理部411gは、スケール処理部411hに指示し該当のスケール先のコントローラをスケールインする。
【0085】
次に性能閾値超過検知部411jは、ステップS32の処理を行い、性能閾値を超過した場合(ステップS32YES)にステップS33Bへ処理を移し、性能閾値を超過していない場合(ステップS32NO)にステップS38へ処理を移す。
【0086】
ステップS33Bでは、配置処理部411gは、図8のスケールアウト処理を実行する。配置処理部411gは、ステップS33Bの終了後、本APP定期再配置処理を終了する。
【0087】
一方ステップS38では、配置処理部411gは、他にスケールAPPが存在するか否かを判定し、存在する場合(ステップS38YES)にステップS31Bへ処理を戻し、存在しない場合(ステップS38NO)に本APP定期再配置処理を終了する。ステップS38から処理を移したステップS31Bでは、前回までに選択された評価スコアSA,Rを除いて最小の評価スコアSA,RのスケールAPPが処理対象となる。
【0088】
(APP定期再配置処理の変形例2)
図11を参照して説明した変形例1のAPP定期再配置処理は、APPの移動とコントローラのスケールとを続けて実行し処理を簡略化しているが、APPのスケールイン後に同一のリージョン4が再度スケールアウトされる重複がある。この他のAPP定期再配置処理として、移動元にAPPを戻した場合にコントローラ42の性能閾値を超過しないと予測される場合にのみ実際にAPPを戻してコントローラ42をスケールインする変形例2が考えらえる。図12を参照して、APP定期再配置処理の変形例2を説明する。図12の説明では、図10と同一処理には同一符号を付与して説明を省略する。
【0089】
図12は、変形例2に係るAPP定期再配置処理を例示するフローチャートである。ステップS31Cでは、配置処理部411gは、他のリージョン4へスケールアウトしたスケールAPPのうち評価スコアSA,Rが最小のスケールAPPを選択する。
【0090】
次にステップS32Cでは、性能閾値超過検知部411jは、リソース使用状況履歴テーブル412g(図12)を参照し、ステップS31Cでの選択APPを自身のリージョンへ戻した場合にコントローラが性能閾値を超過するか否かを予測する。性能閾値超過検知部411jは、性能閾値を超過すると予想される場合(ステップS32CYES)にステップS31Cへ処理を戻し、性能閾値を超過しないと予想される場合(ステップS32CNO)にステップS33Cへ処理を移す。なお、性能閾値超過検知部411jは、性能閾値を超過すると予想される場合(ステップS32CYES)に、ステップS31CではなくステップS38へ処理を移し、他のスケールAPPの有無を判定してもよい。
【0091】
図13は、リソース使用状況履歴テーブル412gの構成を例示する図である。リソース使用状況履歴テーブル412gは、メモリ41Mのテーブル群412に含まれる。リソース使用状況履歴テーブル412gは、APP#、スケール元リージョン#、リソース使用率:CPU、リソース使用率:メモリ、・・・の列を有し、APP#毎にスケール前のリージョン#及びリソース使用状況を記録する。性能閾値超過検知部411jは、ステップS32Cの判定処理の際、リソース使用状況履歴テーブル412gに記録されているコントローラ42のスケール前のリソース使用状況を現在の使用状況に加算する。このように、該当APPをスケール前のリージョンへ戻した場合に、該当リージョンのコントローラの使用状況が性能閾値を超過するかが予測される。
【0092】
ステップS33Cでは、配置処理部411gは、APP移動処理部411iに指示し選択APPをスケール前のリージョンへ戻し、スケール処理部411hに指示しスケール先のコントローラをスケールインする。
【0093】
次にステップS38では、配置処理部411gは、他にスケールAPPが存在するか否かを判定し、存在する場合(ステップS38YES)にステップS31Cへ処理を戻し、存在しない場合(ステップS38NO)に本APP定期再配置処理を終了する。ステップS32C又はS38から処理を移したステップS31Cでは、前回までに選択された評価スコアSA,Rを除いて最小の評価スコアSA,RのスケールAPPが選択される。
【0094】
(新規リージョン追加時の法令適用処理)
さて、新規リージョンが追加された際に、追加リージョンに関する法令又は規則を全て新規設定することは負担が大きく時間がかかる。そこで、地理情報に基づいて既存の法令又は規則を伝搬させて設定することで、追加リージョンに関する法令又は規則の設定負荷を軽減する。地理情報は、GeoIP等のIPアドレスに基づくGeolocationやGPS(Global Positioning System)、手動設定等から取得できる。
【0095】
図14は、実施形態に係るリージョングループ追加設定処理(国及び地域単位)を例示するフローチャートである。図14は、実施形態に係るリージョングループ追加設定処理(国及び地域単位)を説明するための説明図である。
【0096】
各リージョン4の管理サーバ41の法令規則適用部411kは、新規のリージョン4が追加されたことを例えばIP通信によって認識するとリージョングループ追加設定処理(国・地域単位)を実行する。
【0097】
ステップS51では、法令規則適用部411kは、地理情報に基づいて新規のリージョン4のコントローラ42の国及び地域を特定する。ステップS52では、法令規則適用部411kは、ステップS51で特定した国と「同じ国内の情報」があるか否かを判定する。法令規則適用部411kは、「同じ国内の情報」がある場合(ステップS52YES)にステップS53へ処理を移し、「同じ国内の情報」がない場合(ステップS52NO)にステップS56へ処理を移す。
【0098】
ステップS53では、法令規則適用部411kは、ステップS51で特定されたコントローラの地域が「同じ国内の情報」に内包されているか否かを判定する。法令規則適用部411kは、ステップS51で特定されたコントローラの地域が「同じ国内の情報」に内包されている場合(ステップS53YES)にステップS54へ処理を移し、内包されていない場合(ステップS53NO)にステップS57へ処理を移す。
【0099】
ステップS54では、法令規則適用部411kは、「同じ国内の情報」に内包されている他の地域があるか否かを判定する。法令規則適用部411kは、「同じ国内の情報」に内包されている他の地域がある場合(ステップS54YES)にステップS58へ処理を移し、他の地域がない場合(ステップS54NO)にステップS55へ処理を移す。
【0100】
ステップS55では、法令規則適用部411kは、ステップS52で判定された「同じ国内の情報」の法令又は規則を追加リージョンに対して設定する。図15(a)に示すように、追加リージョンB=Tokyo(JP)で「同じ国内の情報」(リージョンA=JP)が存在する(ステップS52YES)。また、コントローラの地域(リージョンB=Tokyo(JP))が「同じ国内の情報」(リージョンA=JP)に内包される(ステップS53YES)。また、「同じ国内の情報」(リージョンA=JP)に内包されている他の地域が存在しない(ステップS54NO)。このため、ステップS55でリージョンA=JPの法令又は規則を伝搬して、リージョンBに設定される。
【0101】
ステップS56では、法令規則適用部411kは、新たなリージョンの国及び地域に関する法令又は規則の既存情報が存在しないため、新規入力する。
【0102】
ステップS57では、法令規則適用部411kは、「同じ国内の情報」のうち追加リージョンの最近傍の地域の規則を追加リージョンに対して設定する。図15(b)に示すように、リージョンC=Osaka(JP)で「同じ国内の情報」(リージョンB=Tokyo(JP)が存在する(ステップS52YES)。また、コントローラの地域(リージョンC=Osaka(JP))が「同じ国内の情報」(リージョンB=Tokyo(JP))に内包されない(ステップS53NO)。このため、ステップS57で最近傍のリージョンB=Tokyo(JP)の規則を伝搬して、リージョンCに設定される。但し、最近傍であるかの判定は、同一国内や、EU(European Union)といった同一経済圏内といったルールを設ける。
【0103】
ステップS58では、法令規則適用部411kは、内包されている新たなリージョンの最近傍の他の地域の規則を追加リージョンに対して設定する。図14(c)に示すように、新たなリージョンC=Osaka(JP)で「同じ国内の情報」(リージョンB=Tokyo(JP)が存在する(ステップS52YES)。また、コントローラの地域(リージョンC=Osaka(JP))が「同じ国内の情報」(リージョンA=JP)に内包される(ステップS53YES)。また、「同じ国内の情報」(リージョンA=JP)に内包されている他の地域が存在する(リージョンB=Tokyo(JP))(ステップS54NO)。このため、より厳格な規則を適用するため、ステップS58で最近傍のリージョンB=Tokyo(JP)の規則を伝搬して、リージョンCに設定される。
【0104】
(新規リージョン追加時の情報設定処理の変形例)
さて、図14図15では、国又は地域単位での規則伝搬を例に説明したが、企業といった組織であっても同様の規則伝搬を適用することができる。以下、変形例3として同様のリージョン追加時の社内規則等の自動設定について説明する。地理情報は、GeoIP等のIPアドレスに基づくGeolocationやWhois情報等から取得できる。
【0105】
図16は、変形例3に係るリージョングループ追加設定処理(社内規則)を例示するフローチャートである。図17は、実施形態に係るリージョングループ追加設定処理(社内規則)を説明するための説明図である。
【0106】
ステップS61では、法令規則適用部411kは、地理情報から追加リージョンの国及び企業を特定する。次にステップS62では、法令規則適用部411kは、「同じ国内の情報」があるか否かを判定する。法令規則適用部411kは、「同じ国内の情報」がある場合(ステップS62YES)にステップS63へ処理を移し、「同じ国内の情報」がない場合(ステップS62NO)にステップS65へ処理を移す。同じ国内で同じ企業内かどうかは、GeoIP及びWhois情報を併用することで判断できる。
【0107】
次にステップS63では、法令規則適用部411kは、「同じ企業内」かつ「上位の情報」があるか否かを判定する。法令規則適用部411kは、「同じ企業内」かつ「上位の情報」がある場合(ステップS63YES)にステップS64へ処理を移し、「同じ企業内」かつ「上位の情報」がない場合(ステップS63NO)にステップS65へ処理を移す。
【0108】
ステップS64では、法令規則適用部411kは、「上位の情報」の規則を追加リージョンに適用する。図17に示すように、追加リージョンB=YYY部(JP,XXX社)じは、「同じ国内の情報」(リージョンA=XXX社(JP))があり(ステップS62YES)、「同じ企業内の情報」かつ「上位の情報」(リージョンA=XXX社(JP))がある(ステップS63YES)。このため、ステップS64で「上位の情報」のリージョンA=XXX社(JP)の規則を伝搬して、リージョンBに設定される。
【0109】
ステップS65では、法令規則適用部411kは、追加リージョンの規則情報を新規入力する。
【0110】
(スケール許可テーブル自動更新処理)
以下、スケール許可テーブル412aのルール自動更新の例を説明する。例えば、輸出管理法上における国別カテゴリーが変更された場合や、外為法変更に伴って、該非判定の再実行の必要が生じた場合に、管理サーバ41が保持する規則データの更新及びスケール先の設定変更を自動で行う。
【0111】
図18は、実施形態に係るスケール許可テーブル412aの自動更新処理を例示するフローチャートである。図19は、図18のステップS72の規則データ解析処理を例示するフローチャートである。図19は、規則データ解析処理を説明するための説明図である。図20は、実施形態に係るスケール許可テーブルの自動更新処理を説明するための説明図である。
【0112】
ステップS71では、スケール許可テーブル更新部411mは、規則データを読み込む。規則データは、法令又は規則の条文のテキストデータある。次にステップS72では、スケール許可テーブル更新部411mは、図19を参照して後述する規則データ解析処理を実行する。次にステップS73では、スケール許可テーブル更新部411mは、国別にグループ情報所定の記憶領域に保存する規則データを更新する。
【0113】
ステップS72の規則データ解析処理において、図19に示すように、ステップS721では、スケール許可テーブル更新部411mは、ステップS71で読み込んだ規則データから対象条文を取得する。次にステップS722では、スケール許可テーブル更新部411mは、ステップS721で読み込んだ対象条文を分かち書きし、表毎の国を取得する。次にステップS723では、スケール許可テーブル更新部411mは、ステップS722で取得した国別にグループ情報を返却する。
【0114】
図20に示すように、更新があった規則データ(図20では輸出例別表)に基づいて、例えばカントリーコードAAのグループ#が1から0へと変更されたとする。図20及び図21に示すように、国別グループ分類テーブル412fのカントリーコード=AAのグループ#が0に変更されると、リージョン毎グループテーブル412eのリージョン#0がカントリーコード=AAに属していた場合、グループ#を0と更新する。その後、リージョン毎グループテーブル412eのグループ#及び該非判定テーブル412dの該非判定書登録及び該非判定の列を用いて、事前に定められた規則に則って、グループ#が更新されたリージョン#のスケール許可テーブル412aの対応箇所を0から1へ更新する。事前に定められた規則によって、例えばグループ#=0、該非判定書登録=登録、該非判定=非該当ならば1(許可)というように、変更されたグループ#に含まれるリージョン#及びAPP#の組合せをもとに該非判定テーブル412dを参照してスケール許可テーブル412aの格納値が決まる。該非判定テーブル412dにおいてAPP#、該非判定書登録、及び該非判定の組合せに対応する許可の列の値を取得してスケール許可テーブル412aが自動更新される。
【0115】
上述の実施形態では、法令及び規則の遵守の観点及びスケールアウト先として他のリージョンに対して求める性能情報を信用スコアへ織り込み、他のリージョンがスケールアウト先として選択される妥当性を宣言スコアへ織り込み、これらに基づく評価スコアが高いリージョン及びAPPをスケールアウト先として決定する。よって、スケールアウト先のリージョン4として様々な観点に基づく多くの選択肢が存在する状況で、リージョン同士が内部情報を外部へ出さずにセキュリティを維持しつつ、相互の法令遵守、運用コスト、運用リスク、装置性能等を考慮して、適時に適切なスケールアウト先のリージョンを選択するスケールアウトを低コストかつ自動で実施できる。
【0116】
なお、上述の実施形態では、1つのリージョン4の管理サーバ41は、1つのコントローラ42を管理すると説明した。しかし、1つのリージョン4の管理サーバ41は、複数のコントローラ42を管理する場合もある。この場合、管理サーバ41は、コントローラ42毎にスケールアウト及びスケールインを管理してもよいし、管理下の複数のコントローラ42を単位としてスケールアウト及びスケールインを管理してもよい。
【0117】
また、上述の実施形態では、リージョン4は、管理サーバ41、コントローラ42、及びストレージ43の3Tier構成で説明したが、CI(Converged Infrastructure)構成、HCI(Hyper-Converged Infrastructure)構成であっても本発明は適用可能である。
【0118】
本発明は上述の実施形態に限定されるものではなく、様々な変形例を含む。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、矛盾しない限りにおいて、ある実施形態の構成の一部を他の実施形態の構成で置き換え、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、構成の追加、削除、置換、統合、又は分散をすることが可能である。また、実施形態で示した構成及び処理は、処理効率又は実装効率に基づいて適宜分散、統合、又は入れ替えることが可能である。
【符号の説明】
【0119】
1:ストレージシステム、3:管理クライアント、4:リージョン、5:Webサイト、41:管理サーバ、42:コントローラ、43:ストレージ
【要約】      (修正有)
【課題】コントローラのスケールアウトとアプリケーションの移動を、アプリケーションの状態、スケールアウト先の法令や規則及びリソース使用状況を考慮して行うストレージシステム及び負荷分散方法を提供する。
【解決手段】ストレージシステム1において、計算機システムである複数のリージョン4の管理サーバは、稼働状況が閾値を超過すると、リージョンで動作するアプリケーション、仮想マシン及びコンテナの少なくとも何れかを含む実行対象を移動させて他のリージョンで動作させた際のコスト、信頼性及び性能の少なくとも何れかに関する情報と、リージョンに適用されている法令又は規則を指標化した指標化情報とに基づく実行対象毎の第1指標を計算し、実行対象の移動先として他のリージョンが選択される度合いを無次元量で表す第2指標を他のリージョンから取得し、両指標の何れか又は両方に基づいて、他のリージョンの中から実行対象の移動先を決定する。
【選択図】図1
図1
図2
図3
図4
図5A
図5B
図5C
図5D
図5E
図5F
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21