JP7260801B2 - バックアップシステム及びその方法並びにプログラム - Google Patents

バックアップシステム及びその方法並びにプログラム Download PDF

Info

Publication number
JP7260801B2
JP7260801B2 JP2020569350A JP2020569350A JP7260801B2 JP 7260801 B2 JP7260801 B2 JP 7260801B2 JP 2020569350 A JP2020569350 A JP 2020569350A JP 2020569350 A JP2020569350 A JP 2020569350A JP 7260801 B2 JP7260801 B2 JP 7260801B2
Authority
JP
Japan
Prior art keywords
node
information
backup
disaster
backup destination
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.)
Active
Application number
JP2020569350A
Other languages
English (en)
Other versions
JPWO2020158016A1 (ja
Inventor
拓磨 鍔木
亮太 石橋
孝太郎 小野
悠希 中原
健 桑原
直樹 肥後
健太 川上
悠介 浦田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2020158016A1 publication Critical patent/JPWO2020158016A1/ja
Application granted granted Critical
Publication of JP7260801B2 publication Critical patent/JP7260801B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A10/00TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
    • Y02A10/40Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

特許法第30条第2項適用 (1)2019年4月11日、電子情報通信学会 信学技報 ネットワークシステム研究会(NS) vol.119 No.5 NS2019-13 pp.73-77において発表した。
本発明は、ネットワーク内のあるノードに配備されたストレージに格納されたデータを他のノードに配備されたストレージに格納するバックアップシステムに関する。
近年、映像IoT(Internet of Things)の普及によって、店舗の防犯や動物の生態記録等、様々な目的で監視カメラを配置し、作成した映像ファイル(以下、単に「ファイル」と言う)をネットワーク経由で拠点(ノード)にあるストレージに長期保存し、遠隔地にて映像の視聴や解析等を行うことが可能となってきている。
ここで、ストレージ故障などによってファイルが消失することを防ぐため、同一拠点の別ストレージまたは別拠点のストレージにレプリケーションすることが行われている。特に災害回避を想定したケースでは、複数拠点(例えば、複数データセンタ)にファイルをレプリケーションすることで災害によるファイルの消失を回避している。国内であれば500km(例えば、東京-大阪間)離隔しているデータセンタ、国外であれば他の国のデータセンタにレプリケーションすることで災害によるファイル消失を回避できると考えられる。
Qasmi, Wasiq Noor Ahmad, et al. "A comparative study of failover schemes for IaaS recovery." Information Networking (ICOIN), 2018 International Conference on. IEEE, 2018 Li, Xiaole, et al. "Redundancy-Guaranteed and Receiving-Constrained Disaster Backup in Cloud Data Center Network." IEEE Access 6 (2018): 47666-47681 Ferdousi, Sifat, et al. "Disaster-aware data-center and content placement in cloud networks." 2013 IEEE International Conference on Advanced Networks and Telecommunications Systems (ANTS). IEEE, 2013. Alshammari, Mohammad M., et al. "Disaster recovery in single-cloud and multi-cloud environments: Issues and challenges." 2017 4th IEEE International Conference on Engineering Technologies and Applied Sciences (ICETAS). IEEE, 2017.
しかし、レプリケーションによりファイルを保管するリソース(ストレージ)、すなわちレプリケーション先となる拠点は広域に多数分散しているため、想定する災害に応じて物理的なレプリケーション先を選定することが困難である。また、物理的なレプリケーション先を決定したとしても、実際にレプリケーションを実施しようとした際に、当該レプリケーション先の残りリソースが少なくなっていることを原因として、レプリケーションできないことがある。
一方、バックアップ箇所へのアクセス方法(非特許文献1)やバックアップ手法(非特許文献2)については既存技術がある。しかし、非特許文献1には、アプリケーションのフェイルオーバー方法は予め決められたバックアップ箇所へのどのようにアクセスするかのみ記載されているが、物理的な振り分け先を指定する技術には記載されていない。また、非特許文献2には、帯域利用状況を考慮して送る順番とスループットをどのように設定するか記載されているが、こちらも物理的に配置する内容は記載されていない。
このように、従来、物理的にどこにレプリケーションするかを決定する方法については確立した技術が存在していなかった。
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、災害を考慮したバックアップ先を決定することができるバックアップシステム及びその方法を提供することにある。
上記目的を達成するために、本願発明は、それぞれストレージが配備された複数のノードを含むネットワークにおいて、第1のノードのストレージに格納されたオリジナルデータを第2のノードのストレージに複製して格納するバックアップシステムであって、災害情報並びにネットワーク情報及びノード情報を取得する情報取得部と、災害情報並びにネットワーク情報及びノード情報に基づき、オリジナルデータが格納されている第1のノードと当該オリジナルデータのバックアップ先の候補となる1以上の第2のノードとの関連付け情報を含むバックアップ先ノード情報を生成するとともに当該バックアップ先ノード情報を所定の記憶部に保存するバックアップ先ノード情報生成部と、オリジナルデータのバックアップを実施する際に、少なくとも前記バックアップ先ノード情報に含まれるバックアップ先の候補となる1以上の第2のノードからバックアップ先の第2のノードを算出するバックアップ先ノード算出部と、オリジナルデータを第1のノードのストレージから前記算出された第2ノードのストレージに複製して格納するバックアップ実行部とを備えたことを特徴とする。
本発明によれば、災害情報を考慮してバックアップ先のノードが決定されるので、適切な災害に強いバックアップシステムを構築できる。また、本発明では、オリジナルデータが格納されている第1のノードと当該オリジナルデータのバックアップ先の候補となる1以上の第2のノードとの関連付け情報を含むバックアップ先ノード情報を予め生成する。そして、オリジナルデータのバックアップの際に、当該バックアップ先ノード情報に含まれるバックアップ先の候補となる1以上の第2のノードからバックアップ先の第2のノードを算出する。これにより、バックアップ先の算出処理では全てのノードについて考慮しなくてよいので当該算出処理の負荷が軽減する。
本発明が想定するネットワーク構成図 本発明の一実施の形態に係るレプリケーションシステムの構成図 本発明の一実施の形態に係るマスターサーバの機能ブロック図 災害情報の一例を説明する図 レプリケーショングループを説明する図 レプリケーショングループ構築処理を説明するフローチャート レプリケーショングループの構築例を示す図 レプリケーション先算出部の処理を説明するフローチャート レプリケーション先の算出例を示す図 レプリケーション実行装置の機能ブロック図 本発明の実施例1を説明する図(レプリケーショングループ構築例1) 本発明の実施例2を説明する図(レプリケーショングループ構築例2) 本発明の実施例3を説明する図(レプリケーション先ノード算出例1) 本発明の実施例4を説明する図(レプリケーション先ノード算出例2) 本発明の実施例5を説明する図(レプリケーション先ノード算出例3) 他の実施形態のマスターサーバの機能ブロック図 他の実施形態のレプリケーション実行装置の機能ブロック図 静的な災害情報によるレプリケーション実行済状態を説明する図 動的な災害情報に対する処理を説明するフローチャート 動的な災害情報を説明する図 動的な災害情報に対する被災判定を説明する図 動的な災害情報に対する実施判定を説明する図 動的な災害情報に対する追加ノードの選定を説明する図 追加ノードへのバックアップを説明する図 優先度を用いた追加ノードへのバックアップを説明する図 優先度を用いた追加ノードへのバックアップを説明する図 追加ノードのテンポラリデータの削除を説明する図
まず、本発明が想定するネットワーク構成について図1を参照して説明する。図1は本発明が想定するネットワーク構成図である。
図1に示すように、ネットワークは複数のノード10がそれぞれリンク20により他のノード10に接続して構成される。各ノード10にはファイルを保管するストレージ(図示省略)が配備されている。各ノード10は、地理的に互いに隔離した拠点に対応する。ノード10は、例えばデータセンタや基地局などが挙げられる。リンク20は、各ノード10間を接続する回線である。なお、ネットワークトポロジーについては図1に示すものに限られることなく、メッシュ構造、階層構造、ツリー構造、これらを組み合わせなど何れであってもよい。ネットワークは、単一の事業者網により構成されていてもよいし、複数の事業者網により構成されていてもよいし、インターネットを含んで構成されていてもよい。
ノード10には、映像IoT端末などのようにデータを生成し、ノード10のストレージに保存する端末1が接続している。換言すれば、アプリケーションレベルにおいて、ノード10は端末1を収容する。端末1の種別、形態等については不問である。なお、本願では、ノード10に接続された端末1により生成され、当該端末1に接続しているノード10のストレージに保存されたデータ(換言すればバックアップの対象となるオリジナルデータ)を、プライマリデータ12と呼ぶものとする。また、プライマリデータ12を複製して他のノード10のストレージに保存されたデータを、レプリケーションデータ13と呼ぶものとする。
本実施形態に係るバックアップシステムは、プライマリデータ12のバップアップ先のノード10の候補を示すグループを予め構築しておき、バックアップ実行時に前記グループの中からバックアップ先のノード10を算出し、算出したノード10のストレージにプライマリデータ12をバックアップする。
なお、本実施形態に係る「バックアップ」は、ノード10に格納されたデータをリアルタイムにバックアップするレプリケーションであってもよいし、ノード10に格納されたデータを定期バックアップなどのように定期的又は任意時にバックアップするものであってもよい。以下、本発明の一実施の形態としてレプリケーションシステムについて図面を参照して説明する。
図2は本実施の形態に係るレプリケーションシステムの構成図である。図2に示すように、レプリケーションシステムは、レプリケーションを制御するマスターサーバ100と、各ノード10に配備にされたレプリケーション実行装置200とを備えている。マスターサーバ100は、各ノード10と通信可能であればネットワーク内においてどこに配備されていてもよい。マスターサーバ100及びレプリケーション実行装置200の実装形態は不問であり、それぞれ専用装置として実装してもよいし、汎用装置やその仮想化環境上にプログラムをインストールして実装してもよいし、また分散して実装してもよい。
図3はマスターサーバの機能ブロック図である。図3に示すように、マスターサーバ100は、災害情報、ネットワーク情報、ノード情報などの各種データを取得するデータ取得部110と、取得したデータを記憶保持するとともに後述するレプリケーショングループ情報を記憶保持する記憶部120と、後述するレプリケーショングループを構築するレプリケーショングループ構築部130(バックアップ先ノード情報生成部)と、レプリケーション先計算部140(バックアップ先ノード算出部)とを備えている。
データ取得部110は、所定のクラウドサーバや管理者からの入力により災害情報を取得し記憶部120に記憶する。ここで災害情報(静的な災害情報)とは、地震などの災害により被害の発生が予想される地域(災害地域)についての情報であり、エリア情報(どの範囲に災害が発生するか)と強度情報(震度であれば震度7,6強など、津波であれば高さなど)を含む。対象とする災害としては、特定の地震(南海トラフ巨大地震,首都直下大地震等)などの災害だけでなく、当該災害に付随する災害(例えば地震に付随する津波)も加味する。また、災害情報は、震度データや津波データに限らず、ストレージなどが収容されている建物に被害を与えるものであればよい。なお、図4に示すように、ある災害の災害地域と、当該災害に付随する災害の災害地域とは必ずしも一致しない点に留意されたい。図4の例では、震度7地震に係るエリア91にノードID「A」及び「B」のノード10が含まれ、当該地震7に付随する津波に係るエリア92にノードID「B」及び「C」のノード10が含まれていることを示している。災害情報は政府や民間企業がネットワークを介して提供しているので、データ取得部110はネットワークを介して取得することができる。
また、データ取得部110は、ネットワーク情報を、ネットワークを構成するネットワーク装置やネットワークを管理する管理装置などからネットワークを介して取得するほか、管理者からの入力により取得し、記憶部120に記憶する。ここでネットワーク情報は、図1及び図2に示すネットワーク構成を示す情報であり、各ノード10の地理的な位置情報、各ノード10間のネットワーク接続状況(ネットワークトポロジー)、各リンク20の帯域、リンクコスト、各ノード10間のホップ数などの静的な情報を含む。幾つかの実施例では、各リンク20の帯域利用率など動的に変化する情報を含むことができる。なお、前記ホップ数はネットワークトポロジーから算出することができるので、記憶部120に記憶しなくてもよい。
また、データ取得部110は、ノード情報を、各ノード10に配備された管理装置や各ノード10を集中管理する管理装置などからネットワークを介して取得するほか、管理者からの入力により取得し、記憶部120に記憶する。ここでノード情報は、自ノード10の識別情報、自ノード10におけるストレージの各種情報を含む。ストレージの各種情報としては、例えば自ノード10全体におけるストレージ容量やストレージの書き込み速度などの静的な情報を含む。幾つかの実施例では、残ストレージ容量などの動的に変化する情報を含むことができる。
レプリケーショングループ構築部130は、記憶部120に記憶された各種情報のうち静的な情報が更新された際に、記憶部120に記憶された各種情報に基づきレプリケーショングループを作成し、作成したレプリケーショングループの情報を記憶部120に記憶する。
レプリケーショングループについて図5を参照して説明する。レプリケーショングループとは、プライマリデータ12の保存されたノード10と、当該プライマリデータ12のレプリケーション先の候補となる1又は複数のノード10とを関連づけた(紐付けた)情報を意味する。本実施の形態では、レプリケーショングループ情報は、図5に示すように、複数のノード10の識別情報を含む順序付きの集合からなり、第1の要素がプライマリデータ12の保存されたノード10の識別情報を表し、続く1以上の要素がレプリケーション先の候補となるノード10の識別情報を表している。グループ内のノード数n_pは、予め記憶部120に記憶しておいてもよいし、SLA(Service Level Agreement)などに基づいて動的に計算してもよい。なお本願の図面では、必要に応じてレプリケーショングループを「RG」と省略して表記している。
レプリケーショングループの構築処理について図6を参照して説明する。図6はレプリケーショングループ構築処理を説明するフローチャートである。当該構築処理を実施する契機は、データ取得部110によって収集される災害情報の更新時、ネットワーク情報のうち静的な情報の更新時、ノード情報のうち静的な情報の更新時である。
まず、データ取得部110は、災害情報、ネットワーク情報、ノード情報を取得する(ステップS1)。次に、レプリケーショングループ構築部130は、記憶部120から、レプリケーション内のノード数n_pと、プライマリデータ12が格納されるノード10のノードIDを取得する(ステップS2)。次に、レプリケーショングループ構築部130は、当該ノード10のレプリケーション先候補を全ノード10の中から抽出するため、まず、当該ノード10が災害地域に含まれる災害について当該災害に含まれる他のノード10を全ノード10から除外し、さらに所定の選定アルゴリズムにより、残余のノード10の中からノード数n_p-1のノード10をレプリケーション先候補として選定する(ステップS3)。以上の処理をプライマリデータ12が格納されている全ノード10について実行する(ステップS4)。レプリケーショングループ構築部130は、生成したレプリケーショングループ情報を記憶部120に記憶する。
レプリケーショングループ構築部130における前記ステップS3の選定処理では、記憶部120に記憶されているノード情報を参照して、所定の選定アルゴリズムにより、残余のノード10の中からノード数n_p-1のノード10をレプリケーション先候補として選定する。
選定アルゴリズムとしては、例えば、(a)ランダムに選定する、(b)プライマリデータ12の格納ノードからのネットワーク的な距離(ホップ数)が小さいものから選定する、(c)ストレージ容量が大きいものから選定する、などが挙げられる。なお、前記(b)や(c)の選定処理では、ノード数n_pまで絞りきれない場合には、更に、各ノード10が含まれる災害の数が少ないものを選定してもよいし、ランダムに選定するようにしてもよい。
前記(a)は、実装が最も簡易であるという利点がある。前記(b)は、レプリケーション時におけるネットワークリソースの消費量の軽減や処理時間の軽減という利点がある。また前記(c)は、レプリケーショングループ内全体のストレージ容量がなくなる頻度を小さくすることが可能であるという利点がある。図7に、ノードID「A」であるノード10についてのレプリケーショングループ構築の例を示す。図7の例では、選定アルゴリズムとして上記(b)を用いている。
レプリケーション先計算部140の機能について図8を参照して説明する。図8は、レプリケーション先の算出処理を説明するフローチャートである。
レプリケーション先計算部140は、ノード10のレプリケーション実行装置200から受信したデータ検知通知に基づきレプリケーション先の算出処理を開始する。レプリケーション先計算部140は、まず、データ検知通知の送信元のノード10についてのレプリケーショングループを記憶部120から取得する(ステップS11)。次に、レプリケーション先計算部140は、算出に必要なネットワーク情報およびノード情報を記憶部120から取得する(ステップS12)。幾つかの実施例では、ここで取得する情報として、レプリケーション先計算部140は、後述する算出アルゴリズムに応じて静的な情報だけでなく動的な情報を取得する。動的な情報は、当該情報が記憶部120に記憶されている場合はそれを取得することができる。また、動的な情報は、データ取得部110を用いてリアルタイムに取得してもよい。
次に、レプリケーション先計算部140は、データ検知通知の送信元のノード10のストレージに格納されているプライマリデータ12のレプリケーション先である他のノード10を、所定の算出アルゴリズムを用いて、前記ステップS11及びS12で取得した各種情報に基づき算出する(ステップS13)。レプリケーション先計算部140は、算出したレプリケーション先ノード10のノードIDをレプリケーション実行装置200に送信する(ステップS14)。
レプリケーション先計算部140における前記算出処理について説明する。ノード数n_pが2の場合、レプリケーション先は一意に決定される。ノード数n_pが2より大きい場合、すなわちレプリケーショングループ内にレプリケーション先の候補となるノード10が複数ある場合は、前記算出アルゴリズムによりノード10を算出する。
算出アルゴリズムとしては、システム全体としてのストレージの利用効率やコストなどの指標値や、レプリケーション時におけるスループットなどの指標値に基づき、指標値が最適となるようなレプリケーション先のノード10を算出する。例えば、レプリケーション先計算部140は、(a)残ストレージ容量にもとづきレプリケーション先を決定する、(b)帯域の空き帯域幅にもとづきレプリケーション先を決定する、(c)ディスクの書き込み速度(低コストなディスク)にもとづきレプリケーション先を決定する、(d)プライマリデータ12の格納されたノード10との間のホップ数によりレプリケーション先を決定する、などが挙げられる。
前記(a)は、ストレージ容量が足りなくなる頻度を低減可能という利点がある。前記(b)は、リンク20の帯域逼迫を最小化可能という利点がある。前記(c)は低コストミニマムなレプリケーションが可能という利点がある。前記(d)はネットワークのリソース利用の効率化やRTT(Round trip time)の低減という利点がある。
なお、前述したレプリケーショングループ構築部130における選定アルゴリズムと、レプリケーション先計算部140における算出アルゴリズムは独立しており、任意の組み合わせが可能である。
図9にレプリケーショングループを(A,C,E)としたときに、残ストレージ容量が多いノードにレプリケーションする例を示す。ここでは、ノードCおよびノードEの総ストレージ容量は同じであって、残ストレージ容量を%で示している。
図10は、レプリケーション実行装置の機能ブロック図である。図10に示すように、レプリケーション実行装置200は、データ検知部210と、レプリケーション先問い合わせ部220と、レプリケーション処理部230とを備えている。データ検知部210は、ノード10のストレージ11を監視し、端末1によりプライマリデータ12が保存されたことを検出する。レプリケーション先問い合わせ部220は、データ検知部210がプライマリデータ12の保存を検知すると、レプリケーション先のノード10をマスターサーバ100のレプリケーション先計算部140に問い合わせる。レプリケーション先問い合わせ部220は、レプリケーション先計算部140から応答を受領すると、レプリケーション処理部230にレプリケーション先のノード10を指定してレプリケーションの実行を指示する。レプリケーション処理部230は、プライマリデータ12を、指定されたノード10に対してレプリケーションする。
<実施例1>
本発明の実施例1について図11を参照して説明する。本実施例1はレプリケーショングループ構築部130によるレプリケーショングループの構築例である。本実施例1では、レプリケーショングループ構築部130における選定アルゴリズムとして、ホップ数に基づく選定を行うものとする。また、ホップ数による選定の結果、候補となるノードが複数ある場合には、さらに、自身が属する災害情報の数に基づき選定を行う(好ましくは災害情報に含まれないノードを選定する)。なお、レプリケーショングループ内のノード数n_pは3とする。
以下の説明では、ノードIDが「X」であるノード10をノードXと表記するものとする。
レプリケーショングループ構築部130は、まず、プライマリデータ12がノードAに保存される場合のレプリケーショングループを構築する。ここで、ノードAは震度7エリアに含まれるため、震度7エリアに含まれないノードC,ノードD,ノードEがレプリケーショングループの対象となる。次に、ホップ数が少ない上位2つ(レプリケーショングループには自身のノード、つまりノードAが含まれるため)のノードを選定する。図11の例では、ホップ数1としてノードEがあり、ホップ数2としてノードCとノードDがある。そこで、さらにホップ数2のノードCとノードDのうち、災害情報に含まれていない、すなわち自身が属する災害情報の数が少ないノードDを選定する。以上により、プライマリデータ12がノードAに保存される場合のレプリケーショングループは、図11に示すように(A,D,E)となる。
その他のノードB~ノードEに対しても同様な計算を行うことにより、図11に示すように、プライマリデータ12が各ノードに含まれる場合のレプリケーショングループが構築される。
<実施例2>
本発明の実施例2について図12を参照して説明する。本実施例2はレプリケーショングループ構築部130によるレプリケーショングループの構築例である。本実施例2では、レプリケーショングループ構築部130における選定アルゴリズムとして、ストレージ容量の多いノードを選定するものである。なお、レプリケーショングループ内のノード数n_pは3とする。
レプリケーショングループ構築部130は、まず、プライマリデータ12がノードAに保存される場合のレプリケーショングループを構築する。ここで、ノードAは震度7エリアに含まれるため、震度7エリアに含まれないノードC,ノードD,ノードEがレプリケーショングループの対象となる。次に、ストレージ容量が多い上位2つ(レプリケーショングループには自身のノード、つまりノードAが含まれるため)のノードを選定する。図12の例では、ノードDとノードEが選定される。以上により、プライマリデータ12がノードAに保存される場合のレプリケーショングループは、図12に示すように(A,D,E)となる。
その他のノードB~ノードEに対しても同様な計算を行うことにより、図12に示すように、プライマリデータ12が各ノードに含まれる場合のレプリケーショングループが構築される。
<実施例3>
本発明の実施例3について図13を参照して説明する。本実施例3はレプリケーション先計算部140によるレプリケーション先の算出例である。本実施例3では、レプリケーション先計算部140における算出アルゴリズムとして、残ストレージ容量にもとづきレプリケーション先を決定するものである。なお、本実施例3では、前述した実施例1によってレプリケーショングループが既に構築されているものとする。
本実施例3では、プライマリデータ12がノードAに保存されたことをデータ検知部210が検知し、レプリケーション先計算部140がレプリケーション先を算出することを想定する。また、本実施例3では、図13に示すレプリケーショングループが既に構築されているものとする。
図13に示すように、ノードAはレプリケーショングループ(A,C,E)に含まれるため、レプリケーション先の候補としてはノードC,Eの2つが挙げられる。本実施例3では「残ストレージ容量にもとづきレプリケーション先を決定」するため、記憶部120又はデータ取得部110から各ノードの残ストレージ容量を取得する。ここでは、ノードC,ノードEの残ストレージ容量がそれぞれ50%,10%だったとする。そこで、レプリケーション先計算部140は、レプリケーション先として残ストレージ容量が多いノードCを算出する。なお、ノードCおよびノードEの総ストレージ容量は、同じであるとする。
<実施例4>
本発明の実施例4について図14を参照して説明する。本実施例4はレプリケーション先計算部140によるレプリケーション先の算出例である。本実施例4では、レプリケーション先計算部140における算出アルゴリズムとして、帯域の空き帯域幅にもとづきレプリケーション先を決定するものである。なお、本実施例4では、前述した実施例1によってレプリケーショングループが既に構築されているものとする。
本実施例4では、プライマリデータ12がノードAに保存されたことをデータ検知部210が検知し、レプリケーション先計算部140がレプリケーション先を算出することを想定する。また、本実施例4では、図14に示すレプリケーショングループが既に構築されているものとする。
図14に示すように、ノードAはレプリケーショングループ(A,C,E)に含まれるため、レプリケーション先の候補としてはノードC,Eの2つが挙げられる。本実施例4では「帯域の空き帯域幅にもとづきレプリケーション先を決定」するため、記憶部120又はデータ取得部110から各ノード間のリンクの帯域の空き容量を取得する。ここで、ノードi,j間のリンクをL_ijと表記するものとする。各リンクの帯域の空き容量は、図14に示すようなものであったとする。
レプリケーション先計算部140は、途中のリンクの帯域逼迫を防ぐため,各ノード間(ノードA-ノードC,ノードA-ノードE)の空き帯域幅の最小値が大きいノード(CorE)をレプリケーション先とする。図14の例では、ノードA-ノードC間はそれぞれ,10,3の空き帯域幅があるため3,ノードA-ノードE間は7の空き帯域幅があるため7となる。つまり、ノードA-ノードE間のほうが空き帯域幅の最小値が大きいため、レプリケーション先計算部140は、レプリケーション先としてノードEを算出する。
<実施例5>
本発明の実施例5について図15を参照して説明する。本実施例5はレプリケーション先計算部140によるレプリケーション先の算出例である。本実施例5では、レプリケーション先計算部140における算出アルゴリズムとして、ディスクの書き込み速度(低コストなディスク)にもとづきレプリケーション先を決定するものである。なお、本実施例5では、前述した実施例1によってレプリケーショングループが既に構築されているものとする。
本実施例5では、プライマリデータ12がノードAに保存されたことをデータ検知部210が検知し、レプリケーション先計算部140がレプリケーション先を算出することを想定する。また、本実施例5では、図15に示すレプリケーショングループが既に構築されているものとする。
図15に示すように、ノードAはレプリケーショングループ(A,C,E)に含まれるため、レプリケーション先の候補としてはノードC,Eの2つが挙げられる。本実施例5では「ディスクの書き込み速度(低コストなディスク)にもとづきレプリケーション先を決定」するため、記憶部120又はデータ取得部110から各ノードにあるディスクの書き込み速度(またはコスト)を取得する。
図15に示すように、ノードC,ノードEのディスクの書き込み速度(コスト)がそれぞれ、40Mbps($80/1TB),60Mbps($100/1TB)だった場合、レプリケーション先計算部140は、レプリケーション先として低コストなノードCを算出する。
以上本発明の一実施の形態について詳述したが本発明はこれに限定されるものではない。例えば、上記実施の形態では、ノード10に格納されたデータをリアルタイムにバックアップするレプリケーションシステムについて説明したが、ノード10に格納されたデータを定期バックアップなどのように定期的又は任意時にバックアップするシステムであっても本発明を適用できる。
また、上記実施の形態では、端末1として映像を出力するIoT端末について例示したが、他の種類の端末であっても本発明を適用できる。
また、上記実施の形態では、バックアップの対象として、データ(ファイル)を例示したが、データ以外のVM(Virtual Machine)、コンテナなどの仮想化環境についてもバックアップの対象としてもよい。VMは、物理サーバを複数に分割した仮想的なサーバである。コンテナは、1つのOSの上で提供される仮想的なユーザ空間である。
以下に、本発明の他の実施の形態について説明する。
<他の実施の形態>
エッジコンピューティング(Edge computing; EC)環境では、サーバ故障、ストレージ故障などによるVM(Virtual Machine)またはコンテナの可用性低下、データ(ファイル)の消失などを防ぐ必要がある。このため、同一拠点あるいは別拠点の他のサーバ、他のストレージなどに、バックアップ(レプリケーションを含む)することが想定される。
特に自然災害の回避(Disaster recovery; DR)を想定したケースでは、複数拠点(例えば、複数データセンタ; DC)にVM、コンテナ、ファイルをバックアップすることで、災害による可用性低下やファイル消失を回避する。
ECでは、リソース(CPU、メモリ、ストレージ、ネットワーク帯域など)が広域に分散しているため、一般的に各拠点のリソースが少ない。また、確実なバックアップとのトレードオフとして、リソースの利用効率が低いという問題がある。
そのため、従来のバックアップ技術をECに適用する場合、ノード(局舎)間の通信帯域、ノード内のサーバおよびストレージを増強する必要があり、CAPEXまたはOPEXの増加につながる。CAPEX (capital expenditure)は設備投資であり、OPEX(operating expenditure)は運用コストである。
すなわち、地理的に離れた拠点のノードのみをバックアップ先とすると、バックアップ先の拠点数が少なく、かつ、各拠点のリソース量は少ないため、バックアップできないことがある。また、予測情報の更新頻度が高い災害に追従するようにバックバックアップを行う場合、事前にネットワーク帯域、ストレージ容量などのリソースを多く用意する必要があるため、CAPEXの増加につながる。
本実施形態では、台風、雷などの動的な災害の予測情報、及びユーザが求めるDRの要求レベル(ユーザ故障率)を用いて、バックアップの必要性を判定する。これにより、本実施形態では、ユーザのDRの要求レベルに応じたバックアップができるようになる。このため、本実施形態では、インフラ提供者のCAPEXを低減することができ、ユーザがインフラ提供者へ支払うコストも低減することができる。
(マスターサーバの構成)
図16は、本実施形態のマスターサーバの機能ブロック図である。本実施形態のマスターサーバ101は、上記実施形態と同様に、リアルタイムにバックアップするレプリケーションを制御するが、レプリケーションに限定されない。図示するマスターサーバ101は、データ取得部110と、レプリケーショングループ構築部130と、レプリケーション先計算部140と、被災判定部150と、実施判定部160と、優先度計算部170と、削除部180と、記憶部120とを備える。
データ取得部110は、所定のクラウドサーバまたは管理者からの入力により、災害情報(災害予測情報)、ネットワーク情報、ノード情報などの各種データを取得し、記憶部120に記憶する。本実施形態の災害情報には、上記の実施形態で記載した静的な災害情報だけでなく、動的な災害予測情報も含まれる。
静的な災害情報は、情報の更新頻度(例えば数年に1回など)が低い災害情報である。動的な災害情報は、情報の更新頻度(例えば数時間に1回など)が高い災害情報である。動的な災害情報としては、例えば、雷、台風、大雨などがある。
レプリケーショングループ構築部130(バックアップ先ノード情報生成部)は、静的な災害情報に基づいて、データ、VMおよびコンテナの少なくとも1つを備えるプライマリノード(第1のノード)と、プライマリノードのバックアップ先候補となる1以上の第2のノードとを含むレプリケーショングループ情報を生成する。
レプリケーション先計算部140(バックアップ先ノード算出部)は、ネットワーク情報およびノード情報の少なくとも1つを用いて、レプリケーショングループ情報の第2のノードの中からレプリケーション先のセカンダリノードを決定する。また、レプリケーション先計算部140は、動的な災害情報に対する追加ノード(第3のノード)を決定し、レプリケーショングループ情報に追加ノードを追加する。
被災判定部150は、データ取得部110が取得した動的な災害情報の災害エリアにプライマリノードとセカンダリノードの両方が含まれるか否かを判定する。実施判定部160は、災害エリアにプライマリノードとセカンダリノードの両方が含まれる場合、プライマリノードおよびセカンダリノードの被災率(EC被災率)が、ユーザが要求するユーザ故障率(ユーザのDRの要求レベル)より大きいか否かを判定する。すなわち、被災判定部150は、バックアップまたはレプリケーションの必要性を判定する。
優先度計算部170は、ネットワーク帯域、災害到達予測時間、バックアップ先の残ストレージ容量などを用いて、バックアップ可能なデータサイズなどのリソース容量を計算する。バックアップ可能なリソース容量より、バックアップが必要なリソース容量が大きい場合、優先度計算部170は、データ、VM、コンテナに優先度を設定する。
削除部180は、動的な災害情報により追加ノードにバックアップされた不要なテンポラリデータ、テンポラリVM、テンポラリコンテナを削除する。
記憶部120には、データ取得部110が取得した災害情報、ネットワーク情報、ノード情報などの各種データデータが記憶される。また、記憶部120には、レプリケーショングループ情報が記憶される。
(レプリケーション実行装置の構成)
図17は、本実施形態のレプリケーション実行装置の機能ブロック図である。図示するレプリケーション実行装置201(バックアップ実行部)は、データ検知210と、レプリケーション先問い合わせ部220と、レプリケーション処理部230とを備える。
本実施形態のデータ検知210は、ノード10のストレージなどを監視し、端末1によりデータ12、VM14、コンテナ16の少なくとも1つが更新されたことを検知する。
レプリケーション先問い合わせ部220は、データ検知部210が更新を検知すると、レプリケーション先のノードをマスターサーバ101のレプリケーション先計算部140に問い合わせる。レプリケーション先問い合わせ部220は、レプリケーション先計算部140から通知されたレプリケーション先のノードを指定して、レプリケーション処理部230にレプリケーションの実行を指示する。
レプリケーション処理部230は、指定されたレプリケーション先のノードに、データ12、VM14、コンテナ16の少なくとも1つを複製する。また、動的な災害情報については、レプリケーション処理部230は、EC被災率がユーザ故障率以上の場合に、プライマリノードまたはバックアップ先のノードに格納されたデータ、VMおよびコンテナの少なくとも1つを、追加ノードに複製する。
(本実施形態の処理)
ここでは、上記の実施形態で説明した、静的な災害情報にもとづくレプリケーションが実施済の状態において、動的な災害情報を取得した際の処理について説明する。
図18は、静的な災害情報にもとづくレプリケーションが実行されている実行済状態の一例を示す図である。ここでは、静的な災害情報として、震度7地震が予測され、災害エリアにはノードAおよびノードBが含まれる。また、ノードAのレプリケーショングループ(RG)は、(A,E)であり、ノードAのレプリケーション先はノードEである。レプリケーショングループのノード数は2である。この場合、ノードAのプライマリデータ12およびプライマリVM14は、ノードEにレプリケーションされ、セカンダリデータ13(レプリケーションデータ)およびセカンダリVM15(レプリケーションVM)としてノードEに格納されている。本実施形態のセカンダリデータは、上記実施形態のレプリケーションデータと同じものである。
図示する例では、レプリケーションの対象は、データとVMとするが、これに限定されない。レプリケーションの対象は、コンテナであってもよい。すなわち、レプリケーションの対象は、データ、VM、コンテナの少なくとも1つであってもよい。
図19は、本実施形態の処理を示すフローチャートである。ここでは、図18に示す静的な災害情報にもとづくレプリケーションが実行済みの状態において、動的な災害情報を取得した場合の処理を説明する。
データ取得部110は、あらかじめ、ユーザがユーザ端末を用いて入力したユーザ故障率、SLA(Service level agreement)、コストなどを取得しておく(S21)。ユーザ故障率は、ユーザがEC(例えば図1)に求める故障率である。ユーザは、インフラ提供者への支払いコストを考量して、所望のユーザ故障率Pu(例えばPu=f(cost))を設定する。
ユーザは、ユーザ故障率のかわりに、SLA、コストなどをマスターサーバ101に入力してもよい。この場合、データ取得部110は、ユーザが入力したSLAまたはコストを取得し、SLAまたはコストを用いて、ユーザ故障率Puを算出してもよい。
データ取得部110は、所定のクラウドサーバまたは管理者からの入力により、動的な災害情報を取得する(S22)。データ取得部110は、政府、民間企業などが高い頻度で更新している動的な災害情報(例えば雷、台風など)を、ネットワークを介して取得する。動的な災害情報には、エリア情報(災害の発生範囲)、強度情報(災害の規模)、発生確率情報(災害の発生確率)、到達時間情報(災害の到達予測時間)などが含まれる。動的な災害情報は高い頻度で更新され、データ取得部は、動的な災害情報が更新されるたびに取得する。
被災判定部150は、動的な災害情報のエリア情報を用いて、災害エリアにプライマリデータおよびプライマリVMを保持するプライマリノードと、セカンダリデータおよびセカンダリVMを保持するセカンダリノードの両方が含まれるか否かを判定する(S23)。すなわち、被災判定部150は、プライマリデータおよびプライマリVMと、セカンダリデータおよびセカンダリVMとが、同時に被災するか否かを判定する。被災判定部150は、動的な災害情報の災害種類ごとに判定する。
本実施形態では、プライマリノード(プライマリデータ、プライマリVM等)およびセカンダリノード(セカンダリデータ、セカンダリVM等)の同時被災を防ぐことを目的としている。このため、動的な災害情報に対しては、プライマリノードとセカンダリノードが同時に被災する可能性がある場合のみバックアップを行う。このバックアップには、レプリケーションも含まれる。
図20は、図18に示すレプリケーション実施済み状態で、動的な災害情報を取得した場合を説明する説明図である。図示する動的な災害情報には、台風と雷の2つの災害情報が含まれる。台風の災害エリアTには、ノードAおよびノードBが含まれ、雷の災害エリアKには、ノードAおよびノードEが含まれる。ノードA(プライマリノード)の災害発生確率は、台風が70%で、雷が10%である。ノードE(セカンダリノード)の災害発生確率は、台風が0%で、雷が20%である。雷の災害エリアKには、ノードAおよびノードEが含まれるため、雷に対する同時被災のリスクがある。一方、台風の災害エリアTには、ノードAが含まれるが、ノードEは含まれないため、台風による同時被災のリスクはない。
したがって、図21に示すように、被災判定部150は、雷については、災害エリアKにプライマリノードとセカンダリノードの両方が含まれると判定し(S23:YES)、バックアップの対象とする。一方、被災判定部150は、台風については、災害エリアTにプライマリノードとセカンダリノードの両方が含まれないと判定し(S23:NO)、バックアップの対象とせずにS22に戻り、次に動的な災害情報が更新されるのを待つ。
プライマリノードとセカンダリノードの両方が含まれる場合(S23:YES)、実施判定部160は、災害の発生確率、強度、ECの故障率、耐障害性、局舎の築年数、地理情報などを用いてEC被災率Pmを算出する(S24)。EC被災率Pmは、現在発生しうる災害の発生確率を加味したうえで、どの程度の確率でプライマリノードおよびセカンダリノードが被災(故障)するかを示す指標である。本実施形態では、EC被災率Pmを、以下の式により算出する。
EC被災率Pm=α×Pi×Pj
αは、耐障害性、局舎の築年数、地理情報などを用いて算出される災害発生時の故障率である。すなわち、αは、仮に災害が発生した場合、どの程度の確率でECが故障(被災)するかを示す指標である。ここでは、最も安全側の評価であるα=1(災害が発生した場合は、必ず故障する)を用いて評価する。Piは、プライマリノードiでの災害発生確率である。Pjは、セカンダリノードjの災害発生確率である。PiおよびPjには、動的な災害情報を用いる。
図22の例では、ノードA(プライマリノード)の災害発生確率をPa=0.1とし、ノードE(セカンダリノード)の災害発生確率Pe=0.2とする。この場合、EC被災率は以下のとおりである。
EC被災率Pm=1×0.1×0.2=0.02
実施判定部160は、算出したEC被災率Pmと、S21で取得したユーザ故障率Puとを比較し、バックアップするか否かを判定する(S25)。具体的には、実施判定部160は、EC被災率Pmがユーザ故障率Pu以上か否か(EC被災率Pm≧ユーザ故障率Pu)を判定する。EC被災率Pmがユーザ故障率Pu以上の場合、ユーザが求める故障率を満たせていないため、実施判定部160は、バックアップすると判定する。実施判定部160は、対象の種類毎(データ、VM)に判定する。
図22では、VMのユーザ故障率Pu,vmを0.3とし、データのユーザ故障率Pu,dataを0.01とする。実施判定部160は、VMについては、EC被災率Pmがユーザ故障率Pu,vmより小さい(Pm<Pu,vm)と判定し(S25:NO)、バックアップ不要と判定する。一方、実施判定部160は、データについては、EC被災率Pmはユーザ故障率Pu,dataより大きい(Pm<Pu,data)と判定し(S25:YES)、バックアップは必要と判定する。
レプリケーション先計算部140は、動的な災害情報に対する追加ノード(第3のノード)を選定し、当該追加ノードを記憶部120に記憶したレプリケーショングループに追加する(S26)。レプリケーション先計算部140は、上記実施形態のレプリケーション構築処理と同様の選定アルゴリズムを用いて、動的な災害情報に対するバックアップ先となる追加ノードを決定する。追加ノード数Mは、少なくとも1つであって、あらかじめ記憶部120に記憶されている。
ここでは、レプリケーション先計算部140は、災害エリアに含まれないノードの中から、プライマリノードまたはセカンダリノードからのホップ数を用いて、追加ノードを決定する。この場合、レプリケーション先計算部140は、災害エリアに含まれないノードであって、かつ、プライマリノードまたはセカンダリノードからのホップ数が小さいノードから順に追加ノード数Mになるまで選択する。ホップ数が同じノードが複数存在することで、選定した追加ノードの数が追加ノード数Mを超える場合は、例えば、残ストレージ容量に基づいて選択する。
図23に示す例では、追加ノード数M=1とする。この場合、雷の災害エリアKに含まれず、ノードAまたはノードEからホップ数1のノードは、ノードBおよびノードDである。ノードBの残ストレージ容量は500Tbitで、ノードDの残ストレージ容量は400Tbitである。この場合、レプリケーション先計算部140は、残ストレージ容量が多いノードBを追加ノードとして選択し、追加ノードBをレプリケーショングループに加える。これにより、雷の動的な災害情報に対するノードAのデータ用のレプリケーショングループは、元の(A,E)から、(A,E,[B])に更新される。
レプリケーション実行装置201は、更新後のレプリケーショングループに従って、動的な災害情報に対するバックアップを実行する(S27)。具体的には、レプリケーション実行装置201は、追加ノードから近い(ホップ数が少ない)プライマリノードまたはセカンダリノードから、バックアップが必要と判定した対象(データ、VM)を、追加ノードにバックアップする。
バックアップの実行に際し、優先度計算部170は、ネットワーク帯域、災害到達予測時間、バックアップ先の残ストレージ容量などを用いて、バックアップ可能なリソース容量(例えばデータサイズなど)を計算する。バックアップ可能なリソース容量より、バックアップが必要なリソース容量が大きい場合、優先度計算部170は、データおよびVMに優先度を設定する。例えば、優先度計算部170は、データ種別、データアクセス時刻、データ更新時刻などを用いて、各データ(ファイル)に優先度を設定する。また、優先度計算部170は、バックアップするファイルの数が最大となるように、各ファイルに優先度を設定してもよい。レプリケーション実行装置201は、データの優先度に従い、順にデータをバックアップする。
バックアップの対象がVM、コンテナの場合であっても、優先度計算部170は、データと同様に、種別、アクセス時刻、更新時刻などを用いて、VMまたはコンテナに優先度を設定する。
なお、追加ノード数Mが複数ある場合、上記実施形態と同様の算定アルゴリズムを用いて、レプリケーション先計算部140は、いずれか1つの追加ノードを決定する。例えば、レプリケーション先計算部140は、(a)ネットワーク帯域およびストレージ容量に空きがある追加ノード、(b)ネットワーク帯域に空きがないがストレージ容量の空きはある追加ノード、(c)ストレージ容量に空きがないが、ネットワーク帯域の空きはある追加ノードなどを選択する。レプリケーション実行装置201は、レプリケーション先計算部140が決定した追加ノードに対し、データまたはVMをコピーする。
図24に示す例では、ノードB(追加ノード)に近いノードA(プライマリノード)のレプリケーション実行装置201が、ノードAのプライマリデータをノードBに、テンポラリデータ17としてバックアップする。ここでは、優先度計算部170が算出したバックアップ可能なデータサイズが、バックアップが必要なデータサイズより大きいものとする。この場合、雷の到達時間までに、全てのプライマリデータをノードBにバックアップできるため、レプリケーション実行装置201は、単純なバックアップ行う。
図25に示す例では、バックアップ可能なデータサイズに対して、バックアップが必要なデータサイズが大きい場合を示す。この場合、優先度計算部170は、データに優先度を設定する。図示する例では、優先度計算部170は、最終アクセス時刻を用いてデータの優先度を設定する。
ここで、災害情報に含まれる災害到達予定時刻は1時間後とし、ノードAおよびノードB間のネットワーク帯域は10Gbpsとする。優先度計算部170は、バックアップ可能なデータサイズとして、10 Gbps×3600s=36Tbitを算出する。レプリケーション実行装置201は、最終アクセス時刻を用いてノードAのデータを並べ替え(ソート)、最終アクセス時刻が直近のデータから順にバックアップする。図示する例では、レプリケーション実行装置201は、ノードAのデータ40の中から、データa、bの順にバックアップする。データa、bの総量は36Tbitであるため、データaおよびデータbは確実にバックアップされるが、それ以外のデータは、バックアップされない可能性がある。
図26に示す例では、バックアップ可能なデータサイズに対して、バックアップが必要なデータサイズが大きい場合を示す。図示する例では、優先度計算部170は、最終更新時刻を用いてデータの優先度を設定する。
ここで、優先度計算部170は、バックアップ先のノードBの残ストレージ容量を用いてバックアップ可能なデータサイズを算出する。すなわち、優先度計算部170は、残ストレージ容量500 Tbitをバックアップ可能なデータサイズとする。レプリケーション実行装置201は、最終更新時刻を用いてノードAのデータを並べ替え、最終更新時刻が直近のデータから順にバックアップする。図示する例では、レプリケーション実行装置201は、ノードAのデータ50の中から、データaaaa、bbbbの順にバックアップする。データaaaa、bbbbの総量は500Tbitであるため、データaaaaおよびデータbbbbは確実にバックアップされるが、それ以外のデータは、バックアップされない。
図27は、削除部180の処理を示す図である。ノードAおよびノードEが被災することなく雷が通過した場合、または、雷が発生しなかった場合は、ノードBにバックアップされたテンポラリデータ17は不要となる。削除部180は、不要になったテンポラリデータ17を削除する。これにより、リソースの利用効率を高めることができる。
以上説明した本実施形態では、動的な災害情報に対するバックアップの必要性を、ユーザ故障率を用いて判定する。これにより、本実施形態では、ユーザが要求する災害対策の要求レベルに応じたバックアップができる。このため、本実施形態では、インフラ提供者のCAPEXを低減できるとともに、ユーザのインフラ提供者への支払コストも低減できる。
1…端末
10…ノード
11…ストレージ
12…プライマリデータ
20…リンク
100、101…マスターサーバ
110…データ取得部
120…記憶部
130…レプリケーショングループ構築部
140…レプリケーション先計算部
150…被災判定部
160…実施判定部
170…優先度計算部
180…削除部
200、201…レプリケーション実行装置
210…データ検知部
220…レプリケーション先問い合わせ部
230…レプリケーション処理部

Claims (7)

  1. それぞれストレージが配備された複数のノードを含むネットワークにおいて、第1のノードのストレージに格納されたオリジナルデータを第2のノードのストレージに複製して格納するバックアップシステムであって、
    災害情報並びにネットワーク情報及びノード情報を取得する情報取得部と、
    災害情報並びにネットワーク情報及びノード情報に基づき、オリジナルデータが格納されている第1のノードと当該オリジナルデータのバックアップ先の候補となる1以上の第2のノードとの関連付け情報を含むバックアップ先ノード情報を生成するとともに当該バックアップ先ノード情報を所定の記憶部に保存するバックアップ先ノード情報生成部と、
    オリジナルデータのバックアップを実施する際に、前記バックアップ先ノード情報に含まれるバックアップ先の候補となる1以上の第2のノードからバックアップ先の第2のノードを算出するバックアップ先ノード算出部と、
    オリジナルデータを第1のノードのストレージから前記算出された第2ノードのストレージに複製して格納するバックアップ実行部と、
    前記情報取得部が取得した更新頻度が高い動的災害情報の災害エリアに第1のノードと前記バックアップ先の第2のノードの両方が含まれるか否かを判定する被災判定部と、
    前記災害エリアに第1のノードと前記バックアップ先の第2のノードの両方が含まれる場合、第1のノードおよび前記バックアップ先の第2のノードの被災率が、ユーザが要求するユーザ故障率以上か否かを判定する実施判定部と、を備え、
    前記バックアップ実行部は、前記被災率が前記ユーザ故障率以上の場合、第1のノードまたは前記バックアップ先の第2のノードに格納された前記オリジナルデータまたは複製されたデータを、第3のノードに複製する
    ことを特徴とするバックアップシステム。
  2. 前記バックアップ先ノード情報生成部は、全てのノードから、災害発生場所が第1のノードを含む災害情報に含まれる他のノードを除外し、除外したノードの中からバックアップ先の候補となる1以上の第2のノードを選定する
    ことを特徴とする請求項1記載のバックアップシステム。
  3. 前記バックアップ先ノード算出部は、前記バックアップ先ノード情報に含まれるバックアップ先の候補となる複数の第2ノードの中から、システム全体としてのストレージの利用効率やコストの指標値又はバックアップ時におけるスループットの指標値に基づき、指標値が最適となるようなノードを算出する
    ことを特徴とする請求項1又は2記載のバックアップシステム。
  4. 第1のノードにおいてストレージにオリジナルデータが保存されたことを検知するデータ検知部を備え、
    前記バックアップ実行部は、前記データ検知部がオリジナルデータの保存を検知すると、前記バックアップ先ノード算出部に対してバックアップ先の第2のノードを問い合わせ、当該問い合わせに対する応答に係る第2のノードのストレージに対してオリジナルデータを複製して格納する
    ことを特徴とする請求項1乃至3何れか1項記載のバックアップシステム。
  5. それぞれストレージが配備された複数のノードを含むネットワークにおいて、第1のノードのストレージに格納されたオリジナルデータを第2のノードのストレージに複製して格納するバックアップシステムにおけるバックアップ方法であって、
    情報取得部が、災害情報並びにネットワーク情報及びノード情報を取得するステップと、
    バックアップ先ノード情報生成部が、災害情報並びにネットワーク情報及びノード情報に基づき、オリジナルデータが格納されている第1のノードと当該オリジナルデータのバックアップ先の候補となる1以上の第2のノードとの関連付け情報を含むバックアップ先ノード情報を生成するとともに当該バックアップ先ノード情報を所定の記憶部に保存するステップと、
    バックアップ先ノード算出部が、オリジナルデータのバックアップを実施する際に、少なくとも前記バックアップ先ノード情報に含まれるバックアップ先の候補となる1以上の第2のノードからバックアップ先の第2のノードを算出するステップと、
    バックアップ実行部が、オリジナルデータを第1のノードのストレージから前記算出された第2ノードのストレージに複製して格納するステップと、
    被災判定部が、前記情報取得部が取得した更新頻度が高い動的災害情報の災害エリアに第1のノードと前記バックアップ先の第2のノードの両方が含まれるか否かを判定するステップと、
    実施判定部が、前記災害エリアに第1のノードと前記バックアップ先の第2のノードの両方が含まれる場合、第1のノードおよび前記バックアップ先の第2のノードの被災率が、ユーザが要求するユーザ故障率以上か否かを判定するステップと、
    前記バックアップ実行部が、前記被災率が前記ユーザ故障率以上の場合、第1のノードまたは前記バックアップ先の第2のノードに格納された前記オリジナルデータまたは複製されたデータを、第3のノードに複製するステップと、を備える
    ことを特徴とするバックアップ方法。
  6. 災害情報を取得する情報取得部と、
    前記災害情報に基づいて、データ、VMおよびコンテナの少なくとも1つを備える第1のノードと、第1のノードのバックアップ先候補となる1以上の第2のノードとを含むグループ情報を生成するバックアップ先ノード情報生成部と、
    ネットワーク情報およびノード情報の少なくとも1つを用いて、前記グループ情報の第2のノードの中からバックアップ先ノードを、決定するバックアップ先ノード算出部と、
    前記データ、前記VMおよび前記コンテナの少なくとも1つを、前記バックアップ先ノードに複製するバックアップ実行部と、
    前記情報取得部が取得した更新頻度が高い動的災害情報の災害エリアに第1のノードと前記バックアップ先ノードの両方が含まれるか否かを判定する被災判定部と、
    前記災害エリアに第1のノードと前記バックアップ先ノードの両方が含まれる場合、第1のノードおよび前記バックアップ先ノードの被災率が、ユーザが要求するユーザ故障率以上か否かを判定する実施判定部と、を備え、
    前記バックアップ実行部は、前記被災率が前記ユーザ故障率以上の場合、第1のノードまたは前記バックアップ先ノードに格納された前記データ、前記VMおよび前記コンテナの少なくとも1つを、第3のノードに複製する
    ことを特徴とするバックアップシステム。
  7. コンピュータを請求項1乃至4及び請求項6何れか1項記載のバックアップシステムの各部として機能させることを特徴とするプログラム。
JP2020569350A 2019-01-29 2019-08-07 バックアップシステム及びその方法並びにプログラム Active JP7260801B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019013050 2019-01-29
JP2019013050 2019-01-29
PCT/JP2019/031226 WO2020158016A1 (ja) 2019-01-29 2019-08-07 バックアップシステム及びその方法並びにプログラム

Publications (2)

Publication Number Publication Date
JPWO2020158016A1 JPWO2020158016A1 (ja) 2021-11-25
JP7260801B2 true JP7260801B2 (ja) 2023-04-19

Family

ID=71840528

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020569350A Active JP7260801B2 (ja) 2019-01-29 2019-08-07 バックアップシステム及びその方法並びにプログラム

Country Status (3)

Country Link
US (1) US11977450B2 (ja)
JP (1) JP7260801B2 (ja)
WO (1) WO2020158016A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102398076B1 (ko) * 2020-10-30 2022-05-13 펜타시큐리티시스템 주식회사 데이터 분산 저장 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008112358A (ja) 2006-10-31 2008-05-15 Hitachi Software Eng Co Ltd バックアップシステム
JP2014006771A (ja) 2012-06-26 2014-01-16 Nec Corp リモートバックアップ装置、リモートバックアップシステム、方法およびプログラム
JP2014174634A (ja) 2013-03-06 2014-09-22 Fujitsu Ltd ストレージシステム、データ格納先の選択方法及びプログラム
JP2017010237A (ja) 2015-06-22 2017-01-12 日本電信電話株式会社 ノード、データ救済方法およびプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7861111B2 (en) * 2007-06-15 2010-12-28 Savvis, Inc. Shared data center disaster recovery systems and methods
JP2014017462A (ja) 2012-03-02 2014-01-30 Fujifilm Corp 半導体装置の製造方法
JP2014046771A (ja) 2012-08-31 2014-03-17 Daihatsu Motor Co Ltd 車両用樹脂ガラス
US9858162B2 (en) * 2015-10-23 2018-01-02 International Business Machines Corporation Creation of a provisioning environment based on probability of events
US10747630B2 (en) * 2016-09-30 2020-08-18 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including operations by a master monitor node

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008112358A (ja) 2006-10-31 2008-05-15 Hitachi Software Eng Co Ltd バックアップシステム
JP2014006771A (ja) 2012-06-26 2014-01-16 Nec Corp リモートバックアップ装置、リモートバックアップシステム、方法およびプログラム
JP2014174634A (ja) 2013-03-06 2014-09-22 Fujitsu Ltd ストレージシステム、データ格納先の選択方法及びプログラム
JP2017010237A (ja) 2015-06-22 2017-01-12 日本電信電話株式会社 ノード、データ救済方法およびプログラム

Also Published As

Publication number Publication date
WO2020158016A1 (ja) 2020-08-06
US11977450B2 (en) 2024-05-07
US20220083425A1 (en) 2022-03-17
JPWO2020158016A1 (ja) 2021-11-25

Similar Documents

Publication Publication Date Title
JP5914245B2 (ja) 多階層の各ノードを考慮した負荷分散方法
US7702947B2 (en) System and method for enabling site failover in an application server environment
US9450700B1 (en) Efficient network fleet monitoring
CN109819004B (zh) 用于部署多活数据中心的方法和***
CN111130835A (zh) 数据中心双活***、切换方法、装置、设备及介质
CN103124299A (zh) 一种异构环境下的分布式块级别存储***
CN103677967A (zh) 一种数据库的远程数据服务***及任务调度方法
CN106959820B (zh) 一种数据提取方法和***
US10764165B1 (en) Event-driven framework for filtering and processing network flows
CN106713378B (zh) 实现多个应用服务器提供服务的方法和***
Jiang et al. Efficient joint approaches for location-constrained survivable virtual network embedding
CN114338670B (zh) 一种边缘云平台和具有其的网联交通三级云控平台
JP7260801B2 (ja) バックアップシステム及びその方法並びにプログラム
CN110209498B (zh) 基于私有云的跨可用区资源调度方法
JP6011786B2 (ja) 分散ストレージシステム、分散ストレージデータ配置制御方法及び分散ストレージデータ配置制御用プログラム
US10664190B1 (en) Geographically dispersed data protection and replication
JP2011209811A (ja) 仮想マシンシステムおよび仮想マシン配置方法
CN113630317B (zh) 一种数据传输方法、装置、非易失性存储介质及电子装置
US20240176762A1 (en) Geographically dispersed hybrid cloud cluster
JP6322161B2 (ja) ノード、データ救済方法およびプログラム
US11687269B2 (en) Determining data copy resources
JP2013214184A (ja) ミラーリングシステム、ノード、ミラーリング方法、及びプログラム
US11809292B2 (en) Adaptive application recovery
Yan et al. Power communication network fault recovery algorithm based on service characteristics and node reliability
US9734017B2 (en) Methods for dynamically determining and readjusting failover targets and devices thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210715

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A801

Effective date: 20210715

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20210730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230320

R150 Certificate of patent or registration of utility model

Ref document number: 7260801

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150