JP2016177578A - 管理システム、サーバ装置、およびデータ管理方法 - Google Patents

管理システム、サーバ装置、およびデータ管理方法 Download PDF

Info

Publication number
JP2016177578A
JP2016177578A JP2015057653A JP2015057653A JP2016177578A JP 2016177578 A JP2016177578 A JP 2016177578A JP 2015057653 A JP2015057653 A JP 2015057653A JP 2015057653 A JP2015057653 A JP 2015057653A JP 2016177578 A JP2016177578 A JP 2016177578A
Authority
JP
Japan
Prior art keywords
group
data
redundant
data group
storage unit
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
JP2015057653A
Other languages
English (en)
Inventor
和 三村
Kazu Mimura
和 三村
矢野 正
Tadashi Yano
正 矢野
通貴 奥野
Michitaka Okuno
通貴 奥野
大介 石井
Daisuke Ishii
大介 石井
恵理 川井
Eri Kawai
恵理 川井
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 JP2015057653A priority Critical patent/JP2016177578A/ja
Publication of JP2016177578A publication Critical patent/JP2016177578A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

【課題】運用データ群の冗長を他装置に分散配置してサーバ装置の利用効率の向上図ること。【解決手段】複数のサーバ装置の各々は、担当グループの入力データ群を処理することにより担当グループに所属する運用データ群を生成するデータ処理部と、当該運用データ群を記憶するデータ記憶部と、を有する。データ処理部は、担当グループに所属する運用データ群を運用キャッシュデータ群として保持し、データ記憶部は、担当グループに所属する運用データ群の複製である冗長データ群を、当該冗長データ群が記憶されていないサーバ装置のデータ記憶部に格納し、データ処理部は、データ記憶部に格納された第1の非担当グループに所属する冗長データ群の所属グループとは異なる第2の非担当グループに所属する冗長データ群の複製である冗長キャッシュデータ群を保持する。【選択図】図1

Description

本発明は、データを管理する管理システム、サーバ装置、およびデータ管理方法に関する。
通信処理装置群を冗長構成にする場合、高速性、高利用効率性、および高信頼性が求められる。
高速性とは、通信データを受信、加工、送信する処理性能を向上させることである。ここで言う高速性とは、通常時の処理性能だけでなく、故障発生時において縮退運用させても処理性能を劣化させないことが求められる。したがって、縮退運用時を見越して通常時において余力を持って運用することが必要である。また、ユーザごとの通信処理に必要な運用データ(ユーザごとの転送パス情報や課金情報など)を持つ場合には、その状態情報を縮退先の装置に冗長データとして常に保持しておいて、縮退運転開始時には即座に該当ユーザの通信処理を再開できる必要がある。
高利用効率性とは、通常運用時におけるリソース(CPUやメモリなど)利用率を向上させることである。特に、昨今メモリは廉価になり大量搭載が可能になったため、CPU利用率が重要である。上記で、縮退運用時を見越して通常時において余力を持って運用することの必要性を述べたが、この余力を極小化することでリソース利用率を向上する。通信処理装置では、従来、運用系(ACT:Active)と待機系(SBY:Standby)を1対1で配置していたが、この場合、利用率は全装置で見ると最大50%までとなる。そのため、全装置を全てACTとして運用して利用率を向上させる方法が採られ始めている。このような構成を、ALL−ACT構成、N分散構成、またはN−ACT構成などと呼ぶ。
高信頼性とは、RASIS(Reliability(信頼性)、Availability(可用性)、Serviceability(保守性)、Integrity(完全性)、Security(機密性))を向上させることである。特に、冗長構成を組む上では、障害時や復旧時においてデータの破壊や不整合を抑制する完全性が問題になる。
特許文献1では、磁気ディスク装置が持つ本体データを、マスタとなるコントローラにキャッシュするだけでなく、他のコントローラにも冗長データキャッシュを持たせることが開示されている。また、特許文献2では、データ処理装置において、運用データ群を複数グループに分割し、各グループの冗長データ群を他装置に分散配置することが開示されている。さらに、データ処理装置の増減設や故障時縮退の際に冗長系を再構築することが開示されている。
特開2008−47029号公報 特開2014−149592号公報
特許文献1では、冗長データキャッシュをどのコントローラに持たせるかまでは考慮されていない。そのため、縮退運用時において処理負荷が分散されない問題がある。つまり、いずれかのコントローラが故障した場合、他のコントローラのうちの1つに処理負荷が集中してしまう可能性がある。したがって、高速性と高利用効率性を両立することができない。
また、特許文献2では、二多重の冗長構成であるため、より信頼性を高めるためには冗長度を増加する必要がある。また、冗長度を増加した場合に、運用データと冗長データとの間で整合性を担保する必要もある。
本発明は、このような事情に鑑みてなされたものであり、運用データ群の冗長を他装置に分散配置してサーバ装置の利用効率の向上を図ることを目的とする。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記の通りである。管理システムは、複数のサーバ装置を有する。前記複数のサーバ装置の各々は、担当グループの入力データ群を処理することにより前記担当グループに所属する運用データ群を生成するデータ処理部と、前記データ処理部によって生成された前記担当グループに所属する運用データ群を記憶するデータ記憶部と、を有する。前記データ処理部は、前記担当グループに所属する運用データ群を前記担当グループに所属する運用キャッシュデータ群として保持し、前記データ記憶部は、前記担当グループに所属する運用データ群の複製である前記担当グループに所属する冗長データ群を、当該冗長データ群が記憶されていないサーバ装置のデータ記憶部に格納し、前記データ処理部は、前記データ記憶部に格納された第1の非担当グループに所属する冗長データ群の所属グループとは異なる第2の非担当グループに所属する冗長データ群の複製である前記第2の非担当グループに所属する冗長キャッシュデータ群を保持する。
本発明によれば、運用データ群の冗長を他装置に分散配置してサーバ装置の利用効率の向上を図ることができる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
実施例1にかかる管理システムのシステム構成例を示す説明図である。 コンピュータのハードウェア構成例を示す図である。 実施例1にかかる初期状態におけるデータ配置例を示す説明図である。 図3に示した初期状態におけるデータ配置例を構成するためのシーケンス例を示すシーケンス図である。 図3の状態におけるクラスタ構成テーブルの構成例を示す説明図である。 図3の状態におけるキャッシュデータ配置テーブルの構成例を示す図である。 図3の状態における転送テーブルの構成例を示す図である。 実施例1にかかるサーバ装置に故障が発生した際において構築されるデータ配置例を示す説明図である。 図8に示した状態におけるデータ配置例を構成するためのシーケンス例を示すシーケンス図である。 図8の状態におけるクラスタ構成テーブルの構成例を示す説明図である。 図8の状態における転送テーブルの構成例を示す図である。 サーバ装置を増設した際のデータ配置例を示す説明図である。 図12に示した状態におけるデータ配置例を構成するためのシーケンス例を示すシーケンス図である。 図12の状態におけるクラスタ構成テーブルの構成例を示す説明図である。 図12の状態におけるキャッシュデータ配置テーブルの構成例を示す図である。 図12の状態における転送テーブルの構成例を示す説明図である。 管理装置による図6のキャッシュデータ配置テーブルの作成処理手順例を示すフローチャートである。 管理装置による図7の転送テーブルの作成処理手順例を示すフローチャートである。 データ処理部により運用キャッシュデータ群を保存する処理手順を示すフローチャートである。 データ処理部により冗長キャッシュデータ群を事前取得する処理手順例を示すフローチャートである。 図3に示した初期状態におけるデータ配置例を構成するためのシーケンス例を示すシーケンス図である。 実施例3にかかる初期状態におけるデータ配置例を示す説明図である。 実施例3にかかるサーバ装置に故障が発生した際において構築されるデータ配置例を示す説明図である。 実施例4にかかる管理システムのシステム構成例を示す説明図である。 実施例5にかかる管理システムのシステム構成例を示す説明図である。 実施例6にかかる管理システムのシステム構成例を示す説明図である。 実施例6にかかる初期状態におけるデータ配置例を示す説明図である。 図27に示した初期状態におけるデータ配置例を構成するためのシーケンス例を示すシーケンス図である。 実施例6にかかるデータ記憶部による各データ処理部への冗長キャッシュデータ群の配置処理手順例を示すフローチャートである。
以下の実施例においては便宜上その必要があるときは、複数のセクションまたは実施例に分割して説明するが、特に明示した場合を除き、それらはお互い無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明などの関係にある。各実施の形態は、個別で実施してもよいが、組合せて実施してもよい。
また、以下の実施例において、要素の数など(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合及び原理的に明らかに特定の数に限定される場合などを除き、その特定の数に限定されるものではなく、特定の数以上でも特定の数未満でもよいものとする。
さらに、以下の実施例において、その構成要素(要素ステップなどを含む)は、特に明示した場合及び原理的に明らかに必須であると考えられる場合などを除き、必ずしも必須のものではないことは言うまでもない。
同様に、以下の実施例において、構成要素などの形状、位置関係等に言及するときは、特に明示した場合及び原理的に明らかにそうでないと考えられる場合などを除き、実質的にその形状などに近似または類似するものなどを含むものとする。このことは前記数値及び範囲についても同様である。
以下、添付図面を用いて、本発明にかかる管理システムの実施例について説明する。以下の例では、管理システムの一例として、ゲートウェイシステムを例に挙げて説明する。ゲートウェイシステムは、たとえば、EPC(Evolved Packet Core)におけるS−GW(Serving Gateway)、P−GW(PDN Gateway)、MME(Mobility Management Entity)をサーバ装置として構成する。なお、本明細書で「運用データ」とは現在扱われているデータである。また、「冗長データ」とは、運用データの複製データであり、たとえば、運用データのバックアップ用のデータとなる。また、運用データは、たとえば、受信されたパケットを解析することにより得られる、パケットの宛先アドレスや送信元アドレスなどパケットの特徴となるセッション情報とする。
<システム構成例>
図1は、実施例1(後述する実施例2、実施例3も同様)にかかる管理システムのシステム構成例を示す説明図である。管理システム1は、管理装置100、1台以上の振分装置101、サーバ装置SV1〜SVn(nは1以上の整数)と、を有する。各装置は、スイッチ、またはルータにより構成されるネットワーク103によって接続される。また、振分装置101は、外部ネットワーク104と接続し、管理システム1の対向となる装置、またはシステムとパケットの送受信を行う。
管理装置100は、制御部110を有する。制御部110は、サーバ装置SVi(iは1≦i≦nを満たす整数)の構成情報を取得し、各種テーブルの設定を行う。制御部110は、図1の構成例では管理装置100に独立して存在しているが、サーバ装置SViに存在しても良い。
振分装置101は、分散処理部111を備える。分散処理部111は、転送テーブル700(後述)に従って、外部ネットワーク104から受信したパケットを適切なサーバ装置SViに転送する。
サーバ装置SViは、データ処理部DPiとデータ記憶部DMiとを備える。データ処理部DPiは、さらにパケット処理部120、冗長データ取得部121、運用データキャッシュ部122、冗長データキャッシュ部123を備える。
パケット処理部120は、具体的には、たとえば、受信したパケットを解析することにより、パケットの宛先アドレスや送信元アドレスなどパケットの特徴となるセッション情報をパケットから抽出する。抽出したセッション情報が運用データである。
冗長データ取得部121は、パケット処理部120から運用データの複製データを取得する。取得した複製データが冗長データとなる。
運用データキャッシュ部122は、キャッシュメモリを有し、パケット処理部120からの運用データを当該キャッシュメモリに保存する。なお、運用データキャッシュ部122に保存された運用データ群を、「運用キャッシュデータ群」と称す。
冗長データキャッシュ部123は、キャッシュメモリを有し、冗長データ取得部121からの冗長データを当該キャッシュメモリに保存する。冗長データキャッシュ部123に保存された冗長データ群を、「冗長キャッシュデータ群」と称す。
データ記憶部DMiは、多重化部124と、運用データ保持部125と、冗長データ保持部126と、を有する。
多重化部124は、自サーバ装置SViのデータ記憶部DPiに記憶されている運用データ群を他のサーバ装置SVj(i≠j)上のデータ記憶部DPjに複製して格納することにより、多重化を実現する。
運用データ保持部125は、自サーバ装置SViのデータ処理部DPiからの運用データ群を、自サーバ装置SViのデータ記憶部DPiに格納する。
冗長データ保持部126は、多重化部124によって複製された運用データ群の複製データ群である冗長データ群を格納する。すなわち、自サーバ装置SViにおいて、冗長データ保持部126に保持される冗長データ群と、冗長データキャッシュ部123にキャッシュされる冗長キャッシュデータ群とは、異なるデータ群である。
<コンピュータのハードウェア構成例>
図2は、管理装置100、振分装置101、およびサーバ装置SVi(以下、総称して「コンピュータ」)のハードウェア構成例を示す図である。コンピュータは、CPU200と、メモリ201と、ストレージ202と、1個以上のネットワークインタフェース203と、を有する。OS(Operating System)や実施例1に関するソフトウェアプログラムは、ストレージ202に記憶されており、コンピュータの起動時にメモリ201に展開される。CPU200は、メモリ201内に展開されたソフトウェアプログラムを順次読み出して実行する。ネットワークインタフェース203は、管理システム1内の他装置や外部ネットワーク104と通信するためのインタフェースである。
<データ配置例>
つぎに、管理システムにおけるデータ配置例について説明する。具体的には、(A)初期状態において冗長キャッシュデータ群を配置する処理、(B)サーバ装置SViに故障が発生した際においてデータ配置を更新する処理、(C)サーバ装置SViを増設する際においてデータ配置を更新する処理の手順である。以降、サーバ装置SViの台数nを5台(n=5)として説明する。
(A)初期状態において冗長キャッシュデータ群を配置する処理
図3は、実施例1にかかる初期状態におけるデータ配置例を示す説明図である。振分装置101は、運用データ群および冗長データ群をグループにより管理する。具体的には、たとえば、振分装置101は、ハッシュ関数を用いて、入力されたパケットから特徴情報を抽出する。具体的には、たとえば、振分装置101は、は、セッションを識別するパケットの宛先アドレスをハッシュ関数に与え、ハッシュ値を抽出する。
転送テーブル700は、グループ番号と転送先サーバ装置番号とを対応付けたテーブルである。グループ番号とは、セッション情報に割り当てられるグループを特定する情報である。また、転送先サーバ装置番号とは、転送先となるサーバ装置SViを特定する番号iである。
サーバ装置SViの負荷状態を監視する指標の例として、サーバ装置SViのプロセッサ使用率や、サーバ装置SViの処理しているセッション情報の数がある。本実施例では、振分装置101は、入力されたパケットの宛先アドレスなどのセッションに関する特徴情報に基づき、入力されたパケットを、グループというサーバ装置SViへの振り分けに使用する単位に分類する。
すなわち、グループとは、パケットの属するセッション情報を複数集約した単位であり、より具体的には、セッションに関する特徴情報についてのハッシュ値が共通するセッション情報の集合である。すなわち、転送テーブル700におけるグループ番号とは、ハッシュ値の取りうる値である。
図3では、説明の便宜上、グループ数Nを「10」とする。パケットが振分装置101に入力されると、ハッシュ関数により、パケットから、たとえば、ハッシュ値であるグループ番号「2」が抽出されたとする。転送テーブル700において、グループ番号「2」に対応する転送先サーバ装置番号は「1」である。したがって、振分装置101は、パケットの転送先をサーバ装置SV1に決定し、パケットをサーバ装置SV1に転送する。
このように、振分装置101は、各グループの運用キャッシュデータ群がどのサーバ装置SViのデータ処理部DPiに保持されているかを、転送テーブル700により特定することができる。
サーバ装置SV1〜SV5は、データ処理部DP1〜DP5とデータ記憶部DM1〜DM5を備える。凡例に示すように、データ処理部DP1〜DP5には、運用キャッシュデータ群(N−0)と冗長キャッシュデータ群(N−1)が配置される。
また、データ記憶部DM1〜DM5の各々には、自サーバ装置SV1〜SV5における運用データ群[N−0]と、第1冗長データ群[N−1]と、第2冗長データ群[N−2]と、が配置される。第1冗長データ群[N−1]および第2冗長データ群[N−2]は、他のサーバ装置SVj上の運用データ群の複製データ群である。
ここで、グループ1の運用データ群[1−0]とグループ2の運用データ群[2−0]に着目して説明する。サーバ装置SV1は、グループ1およびグループ2に所属する。したがって、サーバ装置SV1のデータ処理部DP1は、パケット処理部120での処理結果であるグループ1に所属する運用データ群[1−0]とグループ2に所属する運用データ群[2−0]を、データ記憶部DM1に保存する。また、データ処理部DP1は、運用データ群[1−0]の複製である運用キャッシュデータ群(1−0)と運用データ群[2−0]の複製である運用キャッシュデータ群(2−0)とを、運用データキャッシュ部122に保存する。
データ記憶部DM1の多重化部124は、運用データ群[1−0]の複製である冗長データ群[1−1],[1−2]および運用データ群[2−0]の複製である冗長データ群[2−1],[2−2]を、自サーバ装置SV1以外の他のサーバ装置SV2、SV3に多重化する。冗長データ群[1−1],[2−1]が第1冗長データ群であり、サーバ装置SV2のデータ記憶部DM2に格納される。また、冗長データ群[1−2],[2−2]が第2冗長データ群であり、サーバ装置SV3のデータ記憶部DM3に格納される。これにより、三多重のバックアップが実現する。
また、サーバ装置SV4,SV5のデータ処理部DP4,DP5は、グループ1およびグループ2を担当するサーバ装置SV1のデータ処理部DP1からの指示により、グループ1に所属する冗長データ群[1−1]およびグループ2に所属する冗長データ群[2−1]を保持しているデータ記憶部DP2を特定する。サーバ装置SV4のデータ処理部DP4は、冗長データ群[1−1],[2−1]の配置とは異なるように、冗長データ群[2−1]の複製である冗長キャッシュデータ群(2−1)を事前取得し、その冗長データキャッシュ部123に保存する。サーバ装置SV5のデータ処理部DP5は、冗長データ群[1−1],[2−1]の配置とは異なるように、冗長データ群[1−1]の複製である冗長キャッシュデータ群(1−1)を事前取得し、その冗長データキャッシュ部123に保存する。
以上のように、データ処理部DP1〜DP5と、それらと対応するデータ記憶部DM1〜DM5は分離しており、各データ処理部DP1〜DP5は、冗長データ群[N−1],[N−2]を保持している他のサーバ装置SV1〜SV5のデータ記憶部DM1〜DM5を特定して、その冗長データ群[N−1],[N−2]の配置とは異なるように冗長キャッシュデータ群を保持する。
なお、冗長データ群[N−1],[N−2]の多重化先は、サーバ装置SV2,SV3に限らず、サーバ装置SV4、SV5でもよい。また、冗長キャッシュデータの取得元についても、サーバ装置SV2のデータ記憶部DM2ではなく、サーバ装置SV3のデータ記憶部DM3でもよく、また、両データ記憶部DM2,DM3でもよい。
図4は、図3に示した初期状態におけるデータ配置例を構成するためのシーケンス例を示すシーケンス図である。まず、データ記憶部DM1〜DM5は、クラスタ構築処理を実行する(ステップS400)。データ記憶部DM1〜DM5は、データ記憶部DM1〜DM5の間でそれぞれのサーバ名やIPアドレスなどを含むクラスタ構成情報を収集して共有し、お互いに死活監視し合う。また、データ記憶部DM1〜DM5は、どのグループの運用データ群および冗長データ群をどのデータ記憶部DPiが保持するかを決定し、クラスタ構成情報に含める。そして、データ記憶部DM1〜DM5は、クラスタ構成情報に基づいて共通のクラスタ構成テーブル500A(図5を参照)を生成し、内部に保持する。クラスタ構築処理(ステップS400)は、一般的な分散データベースソフトウェアが持つ機能であり、ここでの詳細な説明は割愛する。
次に、いずれかのデータ記憶部DMi(ここでは、例としてデータ記憶部DM1)が、管理装置100にクラスタ構成情報を送信する(ステップ401)。管理装置100は、このクラスタ構成情報に基づいてクラスタ構成テーブル500A(図5を参照)を生成する。
図5は、図3の状態におけるクラスタ構成テーブルの構成例を示す説明図である。上述したように、クラスタ構成テーブル500Aは、管理装置100およびデータ記憶部DMiが保持する。クラスタ構成テーブル500Aは、フィールドとして、サーバ装置番号501と、死活情報502と、管理対象データ群のグループ番号503と、を有する。サーバ装置番号501には、値として、サーバ装置SViの番号iが格納される。死活情報502には、値として、サーバ装置番号501の値iで特定されるサーバ装置SViの死活の有無を示す稼働/非稼働状態が格納される。「OK」が稼働状態を意味し、「NG」が非稼働状態(障害やメンテナンス)を意味する。
管理対象データ群のグループ番号503は、さらに、フィールドとして、運用データ群504と、第1冗長データ群505と、第2冗長データ群506と、を有する。運用データ群504には、値として、サーバ装置番号501の値iで特定されるサーバ装置SViが保持する運用データ群[N−0]の所属グループを特定するグループ番号Nが格納される。第1冗長データ群505には、値として、サーバ装置番号501の値iで特定されるサーバ装置SViが保持する第1冗長データ群[N−1]の所属グループを特定するグループ番号Nが格納される。第2冗長データ群506には、値として、サーバ装置番号501の値iで特定されるサーバ装置SViが保持する第2冗長データ群[N−2]の所属グループを特定するグループ番号Nが格納される。
たとえば、1行目のエントリでは、サーバ装置SV1については、死活情報502が「OK」(稼働状態)であり、グループ1の運用データ群[1−0]とグループ2の運用データ群[2−0]、グループ9の第1冗長データ群[9−1]とグループ10の第1冗長データ群[10−1]、グループ7の第2冗長データ群[7−2]とグループ8の第2冗長データ群[8−2]と、を保持していることを示す。
図4に戻り、管理装置100は、図5に示したクラスタ構成テーブル500Aに基づいてキャッシュデータ配置テーブルを生成し、全てのデータ処理部DP1〜DP5にキャッシュデータ配置テーブルを設定する(ステップS402)。
図6は、図3の状態におけるキャッシュデータ配置テーブルの構成例を示す図である。上述したように、キャッシュデータ配置テーブル600Aは、管理装置100およびデータ処理部DPiが保持する。キャッシュデータ配置テーブル600Aは、フィールドとして、サーバ装置番号601と、キャッシュデータ配置先グループ番号602と、を有する。サーバ装置番号601には、値として、サーバ装置SViの番号iが格納される。キャッシュデータ配置先グループ番号602は、フィールドとして、運用キャッシュデータ群603と、第1冗長キャッシュデータ群604と、第2冗長キャッシュデータ群605と、を有する。
運用キャッシュデータ群603には、値として、サーバ装置番号601の値iで特定されるサーバ装置SViが保持する運用データ群[N−0]のキャッシュデータ群(運用キャッシュデータ群(N−0))の所属グループを特定するグループ番号Nが格納される。第1冗長キャッシュデータ群604には、値として、サーバ装置番号601の値iで特定されるサーバ装置SViが保持する第1冗長データ群[N−1]のキャッシュデータ群(第1冗長キャッシュデータ群(N−1))の所属グループを特定するグループ番号Nが格納される。第2冗長キャッシュデータ群605には、値として、サーバ装置番号601の値iで特定されるサーバ装置SViが保持する第2冗長データ群[N−2]のキャッシュデータ群(第2冗長キャッシュデータ群(N−2))の所属グループを特定するグループ番号Nが格納される。
たとえば、1行目のエントリでは、サーバ装置SV1には、グループ1に所属する運用キャッシュデータ群(1−0)と、グループ2に所属する運用キャッシュデータ群(2−0)と、グループ3に所属する第1冗長キャッシュデータ群(3−1)と、グループ6に所属する第1冗長キャッシュデータ群(6−1)と、グループ4に所属する第2冗長キャッシュデータ群(4−2)と、グループ5に所属する第2冗長キャッシュデータ群(5−2)と、がデータ処理部DP1に配置されることを示す。
図3の状態の冗長キャッシュデータ群の配置を構成する場合には、第1冗長キャッシュデータ群グループを示す第1冗長キャッシュデータ群604の値列が参照される。一方、第2冗長キャッシュデータ群605の値列は、後述する「(B)サーバ装置に故障が発生した際においてデータ配置を更新する処理」において参照される。
図4に戻る。管理装置100は、図5のクラスタ構成テーブル500Aと図6のキャッシュデータ配置テーブル600Aに基づいて転送テーブル700Aを生成し、振分装置101に転送テーブル700Aを設定する(ステップ403)。
図7は、図3の状態における転送テーブル700の構成例を示す図である。転送テーブル700Aは、フィールドとして、グループ番号701と、転送先サーバ装置番号702と、を有する。グループ番号701には、値として、セッション情報に割り当てられるグループを特定するグループ番号が格納される。また、転送先サーバ装置番号702には、値として、転送先となるサーバ装置SViを特定するサーバ装置番号iが格納される。たとえば、3行目のエントリは、グループ3に所属する運用データ群[3−0]に係るパケットはサーバ装置SV2に転送すべきことを示す。
図4に戻る。ステップS403までに各種テーブル設定が完了した状態になる。次に、振分装置101が外部ネットワーク104からパケットを受信する。振分装置101は、そのパケットから特徴情報を抽出し、特徴情報からそのパケットが属するグループ番号を特定し、転送テーブル700Aを参照して、特定したグループ番号に対応する転送先サーバ装置SViのデータ処理部DPi(ここでは、例としてDP1)に転送する(ステップS404)。
データ処理部DP1では、このパケットを処理した結果として、そのパケットに係る運用データを作成または更新し、運用キャッシュデータとして保持する(ステップ405)。
データ処理部DP1は、任意のタイミングで自身が保持するグループ1に所属する運用データ群を、自サーバ装置SV1内のデータ記憶部DM1に保存する(ステップS406)。本シーケンス例では、グループ1に所属する運用データ群[1−0]とグループ2に所属する運用データ群[2−0]とが保存される。
データ記憶部DM1は、それら運用データ群[1−0],[2−0]を保存する。また、データ記憶部DM1は、クラスタ構成テーブル500Aの管理対象データ群のグループ番号503を参照して、クラスタを構成するサーバ装置SV2,SV3のデータ記憶部DM2,DM3に冗長データ群[1−1],[2−1],[1−2],[2−2]を保存することにより、多重化を実施する(ステップS407)。
ステップS407の後、データ処理部DP1は、図6のキャッシュデータ配置テーブル600Aの第1冗長キャッシュデータ群604を参照して、グループ2に所属する冗長キャッシュデータ群(2−1)を保持すべきサーバ装置SV4と、グループ1に所属する冗長キャッシュデータ群(1−1)を保持すべきサーバ装置SV5を特定し、それぞれのデータ処理部DP4、DP5に対して、当該冗長キャッシュデータ群の取得を促す事前取得通知を送信する(ステップS408)。
データ処理部DP4は、事前取得通知を受信すると、自サーバ装置SV4内のデータ記憶部DM4を介して、グループ2に所属する冗長データ群[2−0]をグループ2に所属する冗長キャッシュデータ群(2−1)として事前取得する(ステップS409)。具体的には、たとえば、データ処理部DP4は、データ記憶部DM4に、グループ2に属する冗長データ群の取得リクエストを送信する。データ処理部DP4は、取得リスエストに応じて、クラスタ構成テーブル500Aの管理対象データ群のグループ番号503を参照して、グループ番号2が存在する管理対象データ群を特定し、サーバ装置番号501を参照して、グループ2に所属するサーバ装置を特定する。本例の場合、管理対象データ群として、サーバ装置SV1の運用データ群[2−0],サーバ装置SV2の第1冗長データ群[2−1],およびサーバ装置SV3の第2冗長データ群[2−2]が特定される。
そして、データ記憶部DM4は、特定したいずれかの管理対象データ群(本例では、サーバ装置SV1の運用データ群[2−0])を保持するデータ記憶部DM1から、運用データ群[2−0]の複製を事前取得して、冗長キャッシュデータ群(2−1)として保存する。
なお、本シーケンス例では、グループ2の運用データ群[2−0]を保存するデータ記憶部DM1から冗長キャッシュデータ群(2−1)を取得しているが、同一内容である第1冗長データ群[2−1]を記憶するデータ記憶部DM2や、第2冗長データ群[2−2]を保存するデータ記憶部DM3から取得しても良い。
また、本シーケンス例では、データ処理部DP4は、自サーバ装置SV4内のデータ記憶部DM4を介して冗長キャッシュデータ群を取得しているが、グループ2の運用データ群を保存するデータ記憶部DM1から直接取得しても良い。
そして、ステップS409と同様に、データ処理部DP5は、事前取得通知を受信すると、同一サーバ装置SV5内のデータ記憶部DM5を介して、グループ1に属する冗長データ群の複製を事前取得して、冗長キャッシュデータ群(1−1)として保存する(ステップS410)。他のグループの冗長キャッシュデータ群についても、ステップS408〜ステップS410と同様の手順を踏むことで、各サーバ装置SViのデータ処理部DPiに配置される。
以上が、初期状態において冗長キャッシュデータ群を配置する処理を行う手順である。本手順に従えば、データ処理部DPiは、冗長データ群を保持しているデータ記憶部DMjを把握して、その冗長データ群の配置とは異なるように冗長データ群のキャッシュデータを保持することになる。
これにより、冗長データ群を他のサーバ装置SViに分散配置することによりサーバ装置SViの利用効率の向上を図ることができる。また、運用データ群や冗長データ群の整合性の喪失を抑制して信頼性を向上することができる。
データ処理部DPiでは、縮退運用時のパケット処理負荷の均等化を目的として冗長キャッシュデータ群(N−1)を分散配置することができる。つまり、データ処理部DPiでは、通常運用時における利用効率の向上を優先させたデータ配置を採用することが可能となる。また、データ配置の自由度を上げられるので、例えばサーバ装置SViのリソース量が異なる場合には、そのリソース量に応じて縮退時の処理負荷が分散されるように、冗長キャッシュデータ群の配置を決めることもできる。
一方、データ記憶部DMiでは、あるグループに所属する運用データ群または冗長データ群の多重化するサーバ装置SViの台数nを最小限に抑えることで、検証外の異常系動作が発生する可能性を抑制してデータ群の整合性の喪失を抑制することができる。つまり、データ記憶部DMiでは、信頼性の向上を優先させたデータ配置を採用することが可能となる。
また、データ記憶部DMiを高信頼化することで、データ処理部DPiがたとえ運用データ群[N−0]または冗長データ群[N−1]の一部を消失しても、データ記憶部DMiから取得して復旧することができる。さらに、データ処理部DPiとデータ記憶部DMiとの間で冗長データ群[N−1]の配置の重複を回避することで、管理システム1の全体としての多重度を上げる効果が得られる。
(B)サーバ装置に故障が発生した際においてデータ配置を更新する処理
図8は、実施例1にかかるサーバ装置SViに故障が発生した際において構築されるデータ配置例を示す説明図である。ここでは、図3の状態からサーバ装置SV1が故障したことを想定する。この場合、サーバ装置SV1のデータ処理部DP1がパケット処理を担当していたグループ1とグループ2について、他のサーバ装置SViのデータ処理部DPiがパケット処理を引き継ぐことになる。
図8では、図3においてグループ1に所属する運用キャッシュデータ群(1−0)に対応する冗長キャッシュデータ群(1−1)を保持していたサーバ装置SV5のデータ処理部DP5が、故障したサーバ装置SV1がおこなっていたグループ1のパケット処理を引き継ぐ。
同様に、図3においてグループ2に所属する運用キャッシュデータ群(2−0)に対応する冗長キャッシュデータ群(2−1)を保持していたサーバ装置SV4のデータ処理部DP4が、故障したサーバ装置SV1がおこなっていたグループ2のパケット処理を引き継ぐ。
図8では、グループ1に所属する冗長キャッシュデータ群(1−1)とグループ2に所属する冗長キャッシュデータ群(2−1)が活性化されて、運用キャッシュデータ群(1−0),(2−0)としてパケット処理の際に参照されることになる。このようにして冗長キャッシュデータ群(1−1),(2−1)を、同一グループの冗長データ群[1−1],[2−1],[1−2],[2−2]を記憶するサーバ装置SV2,SV3とは重複しないように分散配置しておくことで、サーバ装置SViの故障が発生して縮退する場合、データ処理部DPjでは負荷が均等化することができる。
また、残存するデータ処理部DPjでは、グループ1〜3、グループ6のデータ群については多重度が減少した状態となる。そのため、サーバ装置SV2、SV4,SV5のデータ処理部DP2,DP4,DP5が、グループ1〜3、グループ6の冗長キャッシュデータ群を新たに事前取得する。
一方、サーバ装置SV2のデータ記憶部DM2では、グループ1に所属する冗長データ群[1−1]とグループ2に所属する冗長データ群[2−1]がマスタ昇格して、グループ1の運用データ群[1−0]とグループ2の運用データ群[2−0]になる。ただし、図8の例では、データ記憶部DM2では、その分減少した多重度を修復する動作を行わない。故障時動作によるデータコピーは、サーバ装置SViの復旧と再故障が連続して起こった場合などにデータ群の整合性を失う可能性があることが経験的に知られている。したがって、信頼性を優先して減少した多重度を修復する動作を行わないこととする。
振分装置101は、各グループNに所属する運用キャッシュデータ群(N−0)がどのサーバ装置SViのデータ処理部DPiに保持されているかを、転送テーブル700Aにより特定する。図8の例では、グループ1に所属する運用キャッシュデータ群(1−0)とグループ2に所属する運用キャッシュデータ群(2−0)を保持するサーバ装置SViが、サーバ装置SV1からそれぞれサーバ装置SV5,SV4に変更されている。したがって、転送テーブル700Aの該当エントリも更新される。振分装置101は、変更後の転送テーブル700Aに従って、受信したパケットを適切なサーバ装置SViに転送する。
たとえば、変更後においては、グループ1のパケットは、サーバ装置SV5に送られる。サーバ装置SV5のデータ処理部DP5は、入力パケットを処理して運用データ群を生成し、マスタ昇格した運用データ群[1−0]を記憶するデータ記憶部DM2にアクセスして、生成した運用データ群でマスタ昇格した運用データ群[1−0]を更新する。また、データ処理部DP5は、生成した運用データ群を用いて、活性化した運用キャッシュデータ群(1−0)を更新する。これにより、データ群の整合性を担保することができる。
以上のように、データ処理部DP1〜DP5と、それらと対応するデータ記憶部DM1〜DM5は分離しており、データ処理部DP1〜DP5は、冗長データ群[N−1]を保持しているデータ記憶部DM1〜DM5を把握して、その冗長データ群の配置とは異なるように冗長キャッシュデータ群(N−1)を保持する。
図9は、図8に示した状態におけるデータ配置例を構成するためのシーケンス例を示すシーケンス図である。ここでは、例として、サーバ装置SV1に故障が発生したものとする(ステップS900)。
稼働状態であるデータ記憶部DM2〜DM5の間で、データ記憶部DM1の故障が検知される。これにより、データ記憶部DM2〜DM5は、クラスタ構成を縮退させる(ステップS901)。この際、データ記憶部DM2は、クラスタ構成テーブル500Aの第1冗長データ群505を参照して、グループ1およびグループ2を特定し、グループ1の冗長データ群[1−1]とグループ2の冗長データ群[2−1]を運用データ群[1−0],[2−0]にマスタ昇格させる(ステップS902)。データ記憶部DM2〜DM5は、変更後のクラスタ構成に基づいてクラスタ構成テーブル500Aを更新する。このようなクラスタ構成の縮退は、一般的な分散データベースソフトウェアが持つ機能であり、ここでの詳細な説明は割愛する。
次に、稼働状態であるいずれかのデータ記憶部(ここでは、データ記憶部DM3とする)が変更後のクラスタ構成情報を管理装置100に送信する(ステップS903)。管理装置100は、変更後のクラスタ構成情報に基づいてクラスタ構成テーブル500Bを再構成する。
図10は、図8の状態におけるクラスタ構成テーブル500Bの構成例を示す説明図である。クラスタ構成テーブル500Bは、変更後のクラスタ構成情報に基づいてクラスタ構成テーブル500Aから更新されたテーブルである。クラスタ構成テーブル500Bでは、サーバ装置SV1は死活情報502が「NG」となり、故障中であることを示す。
サーバ装置SV1の死活情報502の「NG」に伴い、クラスタは、「NG」であるサーバ装置SV1の運用データ群504のグループ番号1,2を第1冗長データ群505に保持するサーバ装置SV2を特定し、そのグループ番号1,2を、第1冗長データ群505から運用データ群504に移行させる。これにより、サーバ装置SV2のデータ記憶部DM2に格納されているグループ1の冗長データ群[1−1]およびグループ2の冗長データ群[2−1]が運用データ群[1−0],[2−0]に昇格する(マスタ昇格)。
また、クラスタは、「NG」であるサーバ装置SV1の運用データ群504のグループ番号1,2を第2冗長データ群506に保持するサーバ装置SV3を特定し、そのグループ番号1,2を、第2冗長データ群506から第1冗長データ群505に移行させる。これにより、サーバ装置SV3のデータ記憶部DM2に格納されているグループ1の冗長データ群[1−2]およびグループ2の冗長データ群[2−2]がグループ1の冗長データ群[1−1]およびグループ2の冗長データ群[2−1]に昇格する。クラスタは、変更後のクラスタ構成テーブル500Bに従って、データ群の移動を実行する。
図9に戻る。管理装置100は、図10のクラスタ構成テーブル500Bの死活情報502から、サーバ装置SV1が故障したことを検出する。管理装置100は、図6のキャッシュデータ配置テーブル600Aの運用キャッシュデータ群603と第1冗長キャッシュデータ群604を参照して、サーバ装置SV1が故障したことによって消滅するキャッシュデータ群のグループを特定する。ここでは、グループ1とグループ2の運用キャッシュデータ群(1−0),(2−0)、グループ3とグループ6の第1冗長キャッシュデータ群(3−1),(6−1)が該当する。そして、管理装置100は,図8の状態に合わせてキャッシュデータ配置テーブル600Aを更新する。
図11は、図8の状態におけるキャッシュデータ配置テーブル600Bの構成例を示す図である。グループ1の第1冗長キャッシュデータ群(1−1)の元の配置先がサーバ装置SV5であり、グループ2の第2冗長キャッシュデータ群(2−1)の元の配置先がサーバ装置SV4であったので、それぞれを運用キャッシュデータ群(1−0),(2−0)にとして活性化させる。また、グループ1、グループ2、グループ3、グループ6の第2冗長キャッシュデータ群(1−2),(2−2),(3−2),(6−2)を、それぞれ第1冗長キャッシュデータ群(1−1),(2−1),(3−1),(6−1)に移行させる。
図9に戻る。管理装置100は、各データ処理部DP2〜DP5に図11のキャッシュデータ配置テーブル600Bを再設定する。(ステップS904)。
データ処理部DP4とデータ処理部DP5では、再設定されたキャッシュデータ配置テーブル600Bに基づいて、それぞれグループ2の冗長キャッシュデータ群(2−1)とグループ1の冗長キャッシュデータ群(1−1)が活性化される(ステップS905、ステップS906)。その後、管理装置100は、図10のクラスタ構成テーブル500Bと図11のキャッシュデータ配置テーブル600Bに基づいて、転送テーブル700Aを再構成し、振分装置101に転送テーブル700Aを再設定する(ステップS907)。
ステップS907までに各種テーブル再設定が完了した状態になる。次に、振分装置101が外部ネットワーク104からパケットを受信する。ここでは、グループ1に属するパケットを受信することを想定する。振分装置101は、そのパケットから識別子を抽出し、そのパケットが属するグループ番号を特定し、図11のキャッシュデータ配置テーブル600Bを参照して適切なデータ処理部DP5に転送する(ステップS908)。
データ処理部DP1では、このパケットを処理した結果として、そのパケットに係る運用データを作成または更新し、運用キャッシュデータとして保持する(ステップS909)。
データ処理部DP5は、任意のタイミングで自身が保持するグループの運用データ群を、同一サーバ装置SV5内のデータ記憶部DM5に保存する(ステップS910)。本シーケンス例では、グループ1、グループ9、グループ10の運用データ群[1−0],[9−0][10−0]が保存される。以降ではグループ1に着目して説明する。
図10のクラスタ構成テーブル500Bによれば、グループ1の運用データ群[1−0]を管理するサーバ装置SViはサーバ装置SV2であるため、グループ1に属する運用データ群[1−0]は、データ記憶部DM2に保存されることになる(ステップS911)。
データ記憶部DM2は、グループ1の運用データ群[1−0]を保存すると同時に、クラスタを構成するサーバ装置SV3のデータ記憶部DM3に冗長データ群[1−1]を保存して多重化を実施する(ステップS912)。
ステップS910の後、データ処理部DP5は、図11のキャッシュデータ配置テーブル600Bの第1冗長キャッシュデータ群604を参照して、グループ1の冗長キャッシュデータ群(1−1)を保持すべきサーバ装置SV4を特定し、データ処理部DP4に対して、キャッシュ取得を促す事前取得通知を送信する(ステップS913)。
データ処理部DP4は、事前取得通知を受信すると、同一サーバ装置SV4内のデータ記憶部DM4を介して、グループ1に属する冗長データ群の複製をキャッシュデータとしてデータ記憶部DM2から事前取得する(ステップS914)。なお、本シーケンス例では、グループ1の運用データ群[1−0]を保存するデータ記憶部DM2から、グループ1の運用データ群[1−0]の複製を取得して、冗長キャッシュデータ群(1−1)として保存する。他のグループの冗長キャッシュデータ群についても、ステップS913〜ステップS914と同様の手順を踏むことで、サーバ装置SV2,SV5のデータ処理部DP2,DP5に再配置される。
以上が、サーバ装置SV1に故障が発生した際においてデータ配置を更新する処理を行う手順である。本手順に従えば、稼働状態であるデータ処理部DP2〜DP5は、冗長データ群を保持しているデータ記憶部DM2〜DM5を把握して、その冗長データ群の配置とは異なるように冗長キャッシュデータ群を保持することになる。
これにより、運用データ群の冗長を他装置に分散配置して装置の利用効率を向上すると共に、運用データまたは冗長データの整合性の喪失を抑制して信頼性を向上することができる。データ処理部DPiでは、縮退運用時のパケット処理負荷の均等化を目的として冗長データ群のキャッシュを分散配置することができる。
つまり、データ処理部DPiでは、通常運用時における利用効率の向上を優先させたデータ配置を採用することが可能となる。また、データ処理部DPiは冗長データ群をキャッシュしておくことで、縮退運用に切り替えた後すぐに状態を引き継ぐことができ、転送性能の劣化を発生させない。
一方、データ記憶部DMiでは、あるグループに属する運用データ群または冗長データ群の多重化するサーバ装置SViの台数nを最小限に抑えることで、検証外の異常系動作が発生する可能性を抑制してデータ群の整合性を失うことを抑制することができる。つまりデータ記憶部DMiでは、信頼性の向上を優先させたデータ配置を採用することが可能となる。
(C)サーバ装置を増設する際においてデータ配置を更新する処理
図12は、サーバ装置を増設した際のデータ配置例を示す説明図である。ここでは、図3の状態からサーバ装置SV6を増設することを想定する。この増設は、管理システム1全体の処理能力を拡大することを目的としたものである。
実施例1では、各データ記憶部DMiは、一例として、DM1→DM2→DM3→DM4→DM5→DM1の順の円環でクラスタを構成していることを想定しており、増設したサーバ装置SV6のデータ記憶部DM6は、データ記憶部DM5とDM1の間に入ってクラスタを構成する。
データ記憶部DM6がデータ記憶部DM5とDM1の間に入ってクラスタを構成するため、図12では、データ記憶部DM6は、グループ10の運用データ群[10−0]を管理するようになる。また、サーバ装置SV6の追加により、冗長データ群のデータ配置変更も発生する。上記データ記憶部DMiのクラスタ構成の変更に伴い、元々サーバ装置SV5のデータ処理部DP5がパケット処理を担当していたグループ10について、サーバ装置SV6のデータ処理部DP6がパケット処理を引き継ぐことになる。また、サーバ装置SV5のデータ処理部DP5は、グループ2の冗長キャッシュデータ群(2−1)をあらたに事前取得する。また、サーバ装置SV6のデータ処理部DP6は、グループ1の冗長キャッシュデータ群(1−1)およびグループ4の冗長キャッシュデータ群(4−1)をあらたに事前取得する。
振分装置101は、各グループの運用キャッシュデータ群(N−0)がどのサーバ装置SViのデータ処理部DPiに保持されているかを、転送テーブル700Aにより特定する。図12の例では、グループ10の運用キャッシュデータ群(10−0)を保持するサーバ装置SViが、サーバ装置SV6に変更されているため、転送テーブル700Aの該当エントリも更新される。振分装置101は、この転送テーブル700Aに従って、受信したパケットを適切なサーバ装置SViに転送する。
以上のように、データ処理部DP1〜DP6と、それらと対応するデータ記憶部DM1〜DM6は分離しており、各データ処理部DP1〜DP6は、冗長データ群を保持しているデータ記憶部を把握して、その冗長データ群の配置とは異なるように冗長データ群のキャッシュデータを保持する。
図13は、図12に示した状態におけるデータ配置例を構成するためのシーケンス例を示すシーケンス図である。まず、サーバ装置SV6が増設される(ステップS1300)。クラスタを構成するデータ記憶部DM1〜DM5の間で、データ記憶部DM6の追加を検知して、クラスタ構成を更新する(ステップS1301)。
これに伴い、図12で説明したように、データ記憶部DM1〜DM6間での運用データ群[N−0]と冗長データ群[N−1],[N−2]の移動が発生し、データ記憶部DM1〜DM6はクラスタ構成情報を更新する(ステップS1302)。クラスタ構成情報の更新は、一般的な分散データベースソフトウェアが持つ機能であり、ここでの詳細な説明は割愛する。
次に、いずれかのデータ記憶部DMi(ここでは例としてDM1)が管理装置100に更新後のクラスタ構成情報を送信する(ステップS1303)。管理装置100は、当該クラスタ構成情報に基づいてクラスタ構成テーブル500Aを再構成する。
図14は、図12の状態におけるクラスタ構成テーブル500Cの構成例を示す説明図である。クラスタ構成テーブル500Cは、ステップS1303で送信されたクラスタ情勢情報によりクラスタ構成テーブル500Aから更新されたテーブルである。クラスタ構成テーブル500Cは、図5のクラスタ構成テーブル500Aと比べて、サーバ装置SV6のエントリが追加されている。データ記憶部DM6に隣接するデータ記憶部DM5は、自サーバ装置SV5の運用データ群504のグループ番号「10」を、サーバ装置SV6の運用データ群504に移行させる。
また、データ記憶部DM6に隣接するデータ記憶部DM1は、自サーバ装置SV1の第1冗長データ群505のグループ番号「9」を、サーバ装置SV6の第1冗長データ群505に移行させる。また、データ記憶部DM1は、自サーバ装置SV1の第2冗長データ群506のグループ番号「7」,「8」を、サーバ装置SV6の第2冗長データ群506に移行させる。これにより、サーバ装置SV1の第2冗長データ群506にグループ番号が存在しなくなるため、データ記憶部DM1に隣接するデータ記憶部DM2は、自サーバ装置SV2の第2冗長データ群506のグループ番号「9」を、サーバ装置SV1の第2冗長データ群506に移行させる。
その後、管理装置100は、図14のクラスタ構成テーブル500Cに基づいてキャッシュデータ配置テーブル600Aを更新する。
図15は、図12の状態におけるキャッシュデータ配置テーブル600Cの構成例を示す図である。キャッシュデータ配置テーブル600Cは、キャッシュデータ配置テーブル600Aの更新後のテーブルである。キャッシュデータ配置テーブル600Cには、図6と比べて、サーバ装置SV6のエントリが追加されている。また、各サーバ装置SViに対して、キャッシュデータ配置先グループ番号602の第1冗長キャッシュデータ群604と第2冗長キャッシュデータ群605も再計算される。なお、第1冗長キャッシュデータ群604と第2冗長キャッシュデータ群605の再配置を計算する際には、データ移動を最小限に抑制するアルゴリズムを用いるのが良い。
具体的には、たとえば、管理装置100は、サーバ装置SV6に隣接するサーバ装置SV5の運用キャッシュデータ群603のグループ番号「10」を、サーバ装置SV6の運用キャッシュデータ群603に移行させる。また、管理装置100は、サーバ装置SV6に隣接するサーバ装置SV5の第1冗長キャッシュデータ群604のグループ番号「1」,「4」を、サーバ装置SV6の第1冗長キャッシュデータ群604に移行させる。また、管理装置100は、サーバ装置SV6に隣接するサーバ装置SV5の第2冗長キャッシュデータ群605のグループ番号「2」を、サーバ装置SV6の第2冗長キャッシュデータ群605に移行させる。また、管理装置100は、サーバ装置SV6に隣接するサーバ装置SV1の第2冗長キャッシュデータ群605のグループ番号「5」を、サーバ装置SV6の第2冗長キャッシュデータ群605に移行させる。
また、管理装置100は、サーバ装置SV5に隣接するサーバ装置SV4の第1冗長キャッシュデータ群604のグループ番号「2」を、サーバ装置SV5の第1冗長キャッシュデータ群604に移行させる。
また、管理装置100は、サーバ装置SV1に隣接するサーバ装置SV2の第2冗長キャッシュデータ群605のグループ番号「7」を、サーバ装置SV1の第2冗長キャッシュデータ群605に移行させる。
また、管理装置100は、サーバ装置SV2に隣接するサーバ装置SV3の第2冗長キャッシュデータ群605のグループ番号「9」を、サーバ装置SV2の第2冗長キャッシュデータ群605に移行させる。
図13に戻る。管理装置100は、図15のキャッシュデータ配置テーブル600Cから、グループ10の運用キャッシュデータ群(10−0)を保持するサーバ装置SViが、サーバ装置SV5からサーバ装置SV6に変更されたことを検出する。管理装置100は、サーバ装置SV5のデータ処理部DP5に対して、グループ10の運用キャッシュデータ群(10−0)を移動するよう指示する(ステップS1304)。
データ処理部DP5は、サーバ装置SV6のデータ処理部DP6に、グループ10の運用キャッシュデータ群(10−0)を移動する(ステップS1305)。そして、管理装置100は、図15のキャッシュデータ配置テーブル600Cを全てのデータ処理部DP1〜DP6に再設定する(ステップS1306)。
また、管理装置100は、図14のクラスタ構成テーブル500Cと図15のキャッシュデータ配置テーブル600Cに基づいて転送テーブル700Aを更新し、振分装置101に更新後の転送テーブル700Bを設定する(ステップS1307)。
図16は、図12の状態における転送テーブル700Bの構成例を示す説明図である。転送テーブル700Bは、クラスタ構成テーブル500Cとキャッシュデータ配置テーブル600Cに基づいて転送テーブル700Aから更新されたテーブルである。転送テーブル700Bは、転送テーブル700Aと比べて、グループ10の運用データ群[10−0]に係るパケットはサーバ装置SV6に転送するように変更されている。
図13に戻る。ステップS1307までに各種テーブル設定が完了した状態になる。次に、振分装置101が外部ネットワーク104からパケットを受信する。振分装置101は、そのパケットから識別子を抽出し、そのパケットが属するグループ番号を特定し、図16の転送テーブル700Bを参照して適切なデータ処理部DPi(ここではDP1)に転送する(ステップS1308)。
データ処理部DP1は、このパケットを処理した結果として、そのパケットに係る運用データを作成または更新し、運用キャッシュデータとして保持する(ステップS1309)。
データ処理部DP1は、任意のタイミングで自身が保持するグループの運用データ群を、同一サーバ装置SV1内のデータ記憶部DM1に保存する(ステップS1310)。本シーケンス例では、グループ1の運用データ群[1−0]とグループ2の運用データ群[2−0]が保存される。データ記憶部DM1は、それら運用データ群[1−0],[2−0]を保存する。また、データ記憶部DM1は、クラスタ構成テーブル500Cを参照して、運用データ群[1−0],[2−0]の複製である冗長データ群[1−1],[2−1]をサーバ装置SV2、SV3のデータ記憶部DM2に保存し、かつ、運用データ群[1−0],[2−0]の複製である冗長データ群[1−2],[2−2]をサーバ装置SV3のデータ記憶部DM3に保存して、多重化を実施する(ステップS1311)。
ステップS1310の後、データ処理部DP1は、図15のキャッシュデータ配置テーブル600Cを参照して、グループ2の冗長キャッシュデータ群(2−1)を保持すべきサーバ装置SV5と、グループ1の冗長キャッシュデータ群(1−1)を保持すべきサーバ装置SV6を特定し、それぞれのデータ処理部DP5、DP6に対して、キャッシュデータ取得を促す事前取得通知を送信する(ステップS1312)。
データ処理部DP5は、事前取得通知を受信すると、同一サーバ装置SV5内のデータ記憶部DM5を介して、グループ2に属する冗長データ群[2−0]の複製をサーバ装置SV1のデータ記憶部DM1から事前取得し、グループ2に属する冗長データ群(2−1)として保存する(ステップS1313)。
そして、ステップS1313と同様に、データ処理部DP6は、事前取得通知を受信すると、同一サーバ装置SV6内のデータ記憶部DM6を介して、グループ1に属する冗長データ群[1−1]の複製を事前取得し、グループ1に属する冗長キャッシュデータ群(1−1)として保存する(ステップS1314)。他のグループの冗長キャッシュデータ群(N−1)についても、ステップS1312〜ステップS1314と同様の手順を踏むことで、各サーバ装置SViのデータ処理部DPiに再配置される。
以上が、サーバ装置SV6を増設した際において冗長キャッシュデータ群(N−1)を配置する処理を行う手順である。本手順に従えば、データ処理部DPiは、冗長データ群[N−1]を保持しているデータ記憶部DPiを特定して、その冗長データ群[N−1]の配置とは異なるように冗長データ群[N−1]の複製を冗長キャッシュデータ群として保持することになる。
これにより、運用データ群[N−0]の冗長を他のサーバ装置SViに分散配置して装置の利用効率を向上すると共に、運用データまたは冗長データの整合性を失うことを抑制して信頼性を向上することができる。データ処理部DPiは、データ記憶部DMiとは異なるポリシでスケールアウトできるようになる。
<管理装置の動作処理手順例>
実施例1では、管理装置100は、2つの特徴となる動作を持つ。具体的には、キャッシュデータ配置テーブル600A、600Cを作成および更新する動作と、転送テーブル700A、700Bを作成および更新する動作である。
図17は、管理装置100による図6のキャッシュデータ配置テーブル600Aの作成処理手順例を示すフローチャートである。まず、管理装置100が処理を開始する(ステップS1700)。次に、管理装置100は、図5のクラスタ構成テーブル500Aを参照する(ステップS1701)。クラスタ構成テーブル500Aの死活情報502が「NG」となっているサーバ装置SViがあるか判断する(ステップS1702)。死活情報502が「NG」であるサーバ装置SViがある場合(ステップS1702:Yes)、キャッシュデータ配置テーブル600Aを正しく作成できないため、処理を終了する(ステップS1708)。
ステップS1702に戻り、死活情報502が「NG」であるサーバ装置SViがない場合(ステップS1702:No)、管理装置100は、キャッシュデータ配置テーブル600Aのそれぞれのサーバ装置番号601に対して、以下の処理(ステップS1704〜ステップS1706)をループする(ステップS1703)。まず、管理装置100は、キャッシュデータ配置テーブル600Aの処理対象となるサーバ装置番号601のエントリにおいて、キャッシュデータ配置先グループ番号602の運用キャッシュデータ群603に、クラスタ構成テーブル500Aの運用データ群504と同じグループ番号を設定する(ステップS1704)。
次に、管理装置100は、キャッシュデータ配置テーブル600Aの処理対象となるサーバ装置番号601のエントリにおいて、ステップS1704で設定したそれぞれのグループ番号に対して第1ハッシュ関数を用いてハッシュ値を計算し、そのハッシュ値に基づいて第1冗長キャッシュデータ群604に設定するサーバ装置番号を決定する(一般にコンシステント・ハッシュ法と呼ばれる)。すなわち、第1冗長キャッシュデータ群604に設定するサーバ装置番号は、ステップS1704で設定したグループ番号ごとに決定される。当該サーバ装置番号の決定元となるグループ番号を「対象グループ番号」と称す。
また、管理装置100は、クラスタ構成テーブル500Aを参照して、当該サーバ装置番号が、運用データ群の配置とは異なるサーバ装置番号であることを検査する。もし同じサーバ装置番号であった場合には、管理装置100は、サーバ装置番号を1つずつずらしながら、第1冗長キャッシュデータ群604に設定するサーバ装置番号を決定する。管理装置100は、上記決定したサーバ装置番号のエントリに対応する第1冗長キャッシュデータ群604に、上記決定したサーバ装置番号に対応する対象グループ番号を設定する(ステップS1705)。
また、同様にして、管理装置100は、対象グループ番号に対して第2ハッシュ関数を用いてハッシュ値を計算し、そのハッシュ値に基づいて第2冗長キャッシュデータ群として配置するサーバ装置番号を決定する。ただし、このとき、クラスタ構成テーブル500Aを参照して、運用データ群の配置とも第1冗長キャッシュデータ群の配置とも異なるサーバ装置番号であることを検査する。もし同じであった場合には、管理装置100は、サーバ装置番号を1つずつずらしながら決定する。管理装置100は、上記決定したサーバ装置番号に対応する第2冗長キャッシュデータ群605に、対象グループ番号を設定する(ステップS1706)。
管理装置100は、キャッシュデータ配置テーブル600Aの全てのサーバ装置番号601に対してステップS1703に始まるループを繰り返す(ステップS1707)。ループが終了すると、処理を終了する(ステップS1708)。
以上の手順によってキャッシュデータ配置テーブル600Aが作成される。これにより、データ処理部DPiは、自サーバ装置SViのデータ記憶部DMiに運用データ群および冗長データ群として保存されていないグループNの冗長キャッシュデータ群(N−1)、(N−2)を保持することができる。
図18は、管理装置100による図7の転送テーブル700Aの作成処理手順例を示すフローチャートである。まず、管理装置100が処理を開始する(ステップS1800)。次に、転送テーブル700Aのそれぞれのグループ番号701に対して、以下の処理(ステップS1802〜ステップS1307)をループする(ステップS1801)。ループ処理をしているグループ番号701を「対象グループ番号」と称す。
管理装置100は、図6のキャッシュデータ配置テーブル600Aの運用キャッシュデータ群603を参照して、対象グループ番号で特定されるグループに所属する運用キャッシュデータ群を保持しているサーバ装置SViのサーバ装置番号i(以下、第1サーバ装置番号)を特定する(ステップS1802)。たとえば、対象グループ番号が「3」である場合、運用キャッシュデータ群603の値「3」に対応するサーバ装置番号601の値「2」が第1サーバ装置番号として特定される。
つぎに、管理装置100は、図5のクラスタ構成テーブル500Aの死活情報502を参照して、特定した第1サーバ装置番号の死活情報502が「OK」であるかを判断する(ステップS1803)。
特定した第1サーバ装置番号の死活情報502が「OK」である場合(ステップS1803:Yes)、管理装置100は、第1サーバ装置番号を、対象グループ番号に対応する転送先サーバ装置番号702に設定する(ステップS1804)。
ステップS1803に戻り、特定した第1サーバ装置番号の死活情報502が「NG」である場合(ステップS1804:No)、管理装置100は、図6のキャッシュデータ配置テーブル600Aの第1冗長キャッシュデータ群604を参照して、対象グループ番号で特定されるグループに所属する第1冗長キャッシュデータ群(N−1)を保持しているサーバ装置SViのサーバ装置番号i(以下、第2サーバ装置番号)を特定する(ステップS1805)。
管理装置100は、図5のクラスタ構成テーブル500Aの死活情報502を参照して、特定した第2サーバ装置番号の死活情報502が「OK」であるかを判断する(ステップS1806)。
特定した第2サーバ装置番号の死活情報502が「OK」である場合(ステップS1806:Yes)、第2サーバ装置番号を、対象グループ番号に対応する転送先サーバ装置番号702に設定する(ステップS1804)。
ステップS1806に戻り、特定した第2サーバ装置番号の死活情報502が「NG」である場合(ステップS1806:No)、管理装置100は、図6のキャッシュデータ配置テーブル600Aの第2冗長キャッシュデータ群605を参照して、対象グループ番号で特定されるグループに所属する第2冗長キャッシュデータ群(N−2)を保持しているサーバ装置SViのサーバ装置番号i(以下、第3のサーバ装置番号)を特定する(ステップS1807)。
そして、管理装置100は、特定した第3のサーバ装置番号を、対象グループ番号に対応する転送先サーバ装置番号702に設定する(ステップS1804)。管理装置100は、全てのグループ番号に対してステップS1801に始まるループを繰り返す(ステップS1808)。ループが終了すると、一連の処理を終了する(ステップS1809)。
以上の手順によって転送テーブル700Aが作成される。これにより、振分装置101は、各グループNの運用キャッシュデータ群(N−0)がどのサーバ装置SViのデータ処理部DPiに保持されているかを特定し、受信したパケットを適切なサーバ装置SViに転送することができる。
一方、データ処理部DPiは、2つの特徴となる動作を持つ。具体的には、運用キャッシュデータ群(N−1)を保存する動作と、冗長キャッシュデータ群(N−1),(N−2)を事前取得する動作である。以下、図19と図20を用いて、データ処理部DPiの動作の処理フローを説明する。
図19は、データ処理部DPiにより運用キャッシュデータ群(N−0)を保存する処理手順を示すフローチャートである。本フローチャート例は、例えば図4のシーケンス例におけるステップS406およびステップS408の動作に相当する。まず、データ処理部DPiが処理を開始する(ステップS1900)。
データ処理部DPiは、自身が保持する運用キャッシュデータ群(N−0)のグループ番号Nそれぞれに対して、以下の処理(ステップS1902〜ステップS1903)をループする(ステップS1901)。ループ処理をしているグループ番号を「対象グループ番号」と称す。
データ処理部DPiは、対象グループ番号Nで特定されるグループNの運用データ群[N−0]を、自サーバ装置SViのデータ記憶部DMiに保存する(ステップS1902)。ステップS1902は、ステップS406に対応する。
次に、データ処理部DPiは、図6のキャッシュデータ配置テーブル600Aの第1冗長キャッシュデータ群604または第2冗長キャッシュデータ群605を参照して、対象グループ番号Nで特定されるグループNの冗長キャッシュデータ群(N−1),(N−2)を配置すべきサーバ装置SVjのサーバ装置番号を特定する。そして、特定したサーバ装置番号のデータ処理部DPjに対して事前取得通知を送信する(ステップS1903)。ステップS1902は、ステップS408に対応する。
データ処理部DPiは、全てのグループ番号Nに対してステップS1901に始まるループを繰り返す(ステップS1904)。ループが終了すると、処理を終了する(ステップS1905)。
以上の手順によって、データ処理部DPiは、自身が保持するグループNの運用データ群[N−0]をデータ記憶部DMiに保存すると共に、そのグループNの冗長キャッシュデータ群(N−1),(N−2)を保持すべきサーバ装置SVjのデータ処理部DPjに対して、グループNの冗長キャッシュデータ群(N−1),(N−2)の事前取得を促すことになる。
図20は、データ処理部DPiにより冗長キャッシュデータ群を事前取得する処理手順例を示すフローチャートである。データ処理部DPiが別のデータ処理部DPjから事前取得通知を受信することで開始する(ステップS2000)。本フローチャート例は、例えば図4のシーケンス例におけるステップS408〜ステップS410の動作に相当する。
まず、データ処理部DPiは、受信した事前取得通知が示すそれぞれのグループ番号Nに対して、以下の処理(ステップS2002)をループする(ステップS2001)。ループ処理をしているグループ番号Nを「対象グループ番号」と称す。
データ処理部DPiは、同一サーバ装置SVi内のデータ記憶部DMiを介して、対象グループ番号Nで特定されるグループNの冗長キャッシュデータ群(N−1),(N−2)を取得する(ステップS2002)。なお、本フローチャート例では、同一サーバ装置SVi内のデータ記憶部DMiを介さずに、対象グループ番号Nで特定されるグループNの運用データ群[N−0]を保存するデータ記憶部DMjからグループNの運用データ群[N−0]の複製となる冗長キャッシュデータ群(N−1),(N−2)を直接取得しても良い。事前取得通知が示す全てのグループ番号Nに対してステップS2001に始まるループを繰り返す(ステップS2003)。ループが終了すると、一連の処理を終了する(ステップS2004)。
以上の手順によって、データ処理部DPiは、冗長キャッシュデータ群(N−1),(N−2)を事前取得することになる。
上記全ての処理によって、データ処理部DPiは、冗長データ群[N−1]を保持しているデータ記憶部DMjを特定して、その冗長データ群[N−1]の配置とは異なるように冗長キャッシュデータ群(N−1)を保持することになる。これにより、運用データ群[N−0]の冗長データ群[N−1]を他のサーバ装置に分散配置してサーバ装置の利用効率の向上を図ることができると。また、運用データまたは冗長データの整合性を失うことを抑制して信頼性の向上を図ることができる。
実施例2は、データ処理部DPi間で、冗長データ群[N−1]の複製である冗長キャッシュデータ群を直接送受信する例である。なお、実施例2では、実施例1との相違点を中心に説明し、実施例1と同一内容については説明を省略する。実施例2では、データ配置の初期状態を図3に示した内容として説明する。具体的には、図3に示した初期状態において冗長キャッシュデータ群を配置する処理について説明する。
図21は、図3に示した初期状態におけるデータ配置例を構成するためのシーケンス例を示すシーケンス図である。ステップS2100〜ステップS2107は、実施例1で説明した図4のシーケンス例のステップS400〜ステップS407と同様であるため、ここでの説明を省略する。
ステップS2106の後、データ処理部DP1は、図6のキャッシュデータ配置テーブル600Aを参照して、グループ2の冗長キャッシュデータ群(2−1),(2−2)を保持すべきサーバ装置SV4と、グループ1の冗長キャッシュデータ群(1−1),(1−2)を保持すべきサーバ装置SV5を特定し、それぞれのデータ処理部DP4、DP5に対して、キャッシュ取得を促す事前取得通知を送信する(ステップS2108)。
データ処理部DP4は、事前取得通知を受信すると、事前取得通知の送信元であるサーバ装置SV1のデータ処理部DP1から、グループ2の冗長キャッシュデータ群(2−1),(2−2)を取得する(ステップS2109)。
また、同様に、データ処理部DP5は、事前取得通知を受信すると、事前取得通知の送信元であるサーバ装置SV1のデータ処理部DP1から、グループ1の冗長キャッシュデータ群(1−1),(1−2)を取得する(ステップS2110)。他のグループNの冗長キャッシュデータ群についても、ステップS2108〜ステップS2110と同様の手順を踏むことで、各サーバ装置SViのデータ処理部DPiに配置される。
以上が、初期状態において冗長キャッシュデータ群(N−1),(N−2)を配置する処理を行う手順である。本手順に従えば、実施例1と比べて、冗長キャッシュデータ群(N−1),(N−2)を事前取得する手順を簡略化することができる。
実施例3について説明する。実施例1では、図3に示した初期状態においてサーバ装置SV5のデータ処理部DP5、DP4が第1冗長キャッシュデータ群(1−1)、冗長キャッシュデータ群(2−1)を事前取得した例について説明した。実施例3では、初期状態において、さらに、第2冗長キャッシュデータ群(1−2),(2−2)も事前に取得される例である。なお、実施例3では、実施例1との相違点を中心に説明し、実施例1と同一内容については説明を省略する。
データ処理部DPiに運用データ群および冗長データ群のキャッシュデータを配置する処理について、2つの手順を説明する。具体的には、(A)初期状態において冗長キャッシュデータ群を配置する処理、(B)サーバ装置SViに故障が発生した際においてデータ配置を更新する処理の手順である。
(A)初期状態において冗長キャッシュデータ群を配置する処理
図22は、実施例3にかかる初期状態におけるデータ配置例を示す説明図である。ここでは、サーバ装置SV1〜SV5(DP1〜DP5)の5台が存在することを想定する。それぞれのサーバ装置SV1〜SV5は、データ処理部DP1〜DP5とデータ記憶部DM1〜DM5を備える。
凡例に示すように、データ処理部DP1〜DP5には、運用キャッシュデータ群(N−0)、第1冗長キャッシュデータ群(N−1)、第2冗長キャッシュデータ群(N−2)が配置される。また、データ記憶部DM1〜DM5には、運用データ群[N−0]、第1冗長データ群[N−1]、第2冗長データ群[N−2]が配置される。ここで、運用データ群[N−0]と、第1冗長データ群[N−1]および第2冗長データ群[N−2]とは、グループに分けて管理されている。
グループ番号は、運用データ群[N−0]を生成、参照するパケット処理に係るパケットに含まれる識別子(例えば、IPアドレス、トンネル番号、ユーザセッション番号など)に基づいて決定される。以降の説明では、運用データ群[N−0]と、第1冗長データ群[N−1]および第2冗長データ群[N−2]とは、このグループ単位で扱われる。
グループ1の運用データ群[1−0]とグループ2の運用データ群[2−0]に着目して説明する。サーバ装置SV1のデータ処理部DP1は、パケット処理結果であるグループ1の運用データ群[1−0]とグループ2の運用データ群[2−0]を、データ記憶部DM1に保存する。データ記憶部DM1は、グループ1の運用データ群[1−0]およびグループ2の運用データ群[2−0]の複製であるグループ1の冗長データ群[1−1]およびグループ2の冗長データ群[2−1]をサーバ装置SV2のデータ記憶部DM2に保存する。同様に、データ記憶部DM1は、グループ1の運用データ群[1−0]およびグループ2の運用データ群[2−0]の複製であるグループ1の冗長データ群[1−2]およびグループ2の冗長データ群[2−2]をサーバ装置SV3のデータ記憶部DM3に保存する。これにより、グループ1の運用データ群[1−0]およびグループ2の運用データ群[2−0]は多重化される。
ここでは、3台のサーバ装置SV1〜SV3を用いてグループ1の運用データ群[1−0]およびグループ2の運用データ群[2−0]は三多重されている。データ記憶部DM2に記憶された、グループ1の冗長データ群[1−1]およびグループ2の冗長データ群[2−1]が、第1冗長データ群である。データ記憶部DM3に記憶された、グループ1の冗長データ群[1−2]およびグループ2の冗長データ群[2−2]が、第2冗長データ群である。
一方、サーバ装置SV4のデータ処理部DP4は、グループ1の冗長データ群[1−1],[1−2]およびグループ2の冗長データ群[2−1],[2−2]を保持しているデータ記憶部DM2、DM3を特定する。
データ処理部DP4は、当該冗長データ群の配置とは異なるように、グループ2に属する第1冗長キャッシュデータ群(2−1)を事前取得し、データ処理部DP5は、当該冗長データ群の配置とは異なるように、グループ1に属する第1冗長キャッシュデータ群(1−1)を事前取得する。
同様に、データ処理部DP4は、当該冗長データ群の配置とは異なるように、グループ1に属する第2冗長キャッシュデータ群(1−2)を事前取得し、データ処理部DP5は、当該冗長データ群の配置とは異なるように、グループ2に属する第2冗長キャッシュデータ群(2−2)を事前取得する。これら冗長キャッシュデータ群の配置は、実施例1で説明した図6のキャッシュデータ配置テーブル600Aに従って決定される。
振分装置101は、各グループNの運用キャッシュデータ群(N−0)がどのサーバ装置SViのデータ処理部DPiに保持されているかを、転送テーブル700Aにより特定する。振分装置101は、転送テーブル700Aに従って、受信したパケットを適切なサーバ装置SViに転送する。
以上のように、データ処理部DP1〜DP5と、それらと対応するデータ記憶部DM1〜DM5とは、分離されている。各データ処理部DP1〜DP5は、冗長データ群[N−1],[N−2]を保持しているデータ記憶部DM1〜DM5を把握して、その冗長データ群[N−1],[N−2]の配置とは異なるように冗長キャッシュデータ群を保持する。
図22の状態を構築するために冗長キャッシュデータ群を配置するシーケンス例は、実施例1で説明した図4のシーケンス例において、ステップS408〜ステップS410の動作を第2冗長キャッシュデータ群(N−2)の事前取得にも適用した場合と同様であるため、ここでの説明を省略する。
以上が、初期状態において冗長キャッシュデータ群(N−1),(N−2)を配置する処理を行う手順である。本手順に従えば、データ処理部DPiは、冗長データ群[N−1],[N−2]を保持しているデータ記憶部DMiを特定して、その冗長データ群[N−1],[N−2]の配置とは異なるように冗長キャッシュデータ群(N−1),(N−2)を保持することになる。
(B)サーバ装置SViに故障が発生した際においてデータ配置を更新する処理
図23は、実施例3にかかるサーバ装置SViに故障が発生した際において構築されるデータ配置例を示す説明図である。ここでは、図22の状態からサーバ装置SV1が故障したことを想定する。この場合、サーバ装置SV1のデータ処理部DP1がパケット処理を担当していたグループ1とグループ2について、グループ1に属する第1冗長キャッシュデータ群を保持していたサーバ装置SV5のデータ処理部DP5と、グループ2に属する第1冗長キャッシュデータ群を保持していたサーバ装置SV4のデータ処理部DP4とが、パケット処理を引き継ぐ。グループ1の冗長キャッシュデータ群(1−1)とグループ2に属する冗長キャッシュデータ群(2−1)が活性化されて、運用キャッシュデータ群(1−0),(2−0)としてパケット処理の際に参照されることになる。
このようにして冗長キャッシュデータ群を分散配置しておくことで、サーバ装置SViの故障が発生して縮退する場合、データ処理部DPjでは負荷が均等化することができる。実施例1とは異なり、データ処理部DPjに第2冗長キャッシュデータ群(N−2)を事前に配置しているため、サーバ装置SViに故障が発生しても第1冗長キャッシュデータ群(N−1)の再配置を実施する必要がない。
一方、サーバ装置SV2のデータ記憶部DM2では、グループ1の冗長データ群[1−1]およびグループ2の冗長データ群[2−1]が運用データ群[1−0],[2−0]にマスタ昇格される。また、実施例1とは異なり、データ記憶部DM2は、サーバ装置SV4のデータ記憶部DM4に対して、第2冗長データ群(グループ1の冗長データ群[1−2]およびグループ2の冗長データ群[2−2])を再構築して、多重度を回復させている。当該多重化は、データ群のコピー完了までの時間が、サーバ装置SV1の復旧よりも十分早いことがあらかじめ設定されている場合に実施される。
振分装置101は、各グループNの運用キャッシュデータ群(N−0)がどのサーバ装置SViのデータ処理部DPiに保持されているかを、転送テーブル700Aにより特定する。図23の例では、グループ1の運用キャッシュデータ群(1−1),(1−2)およびグループ2の運用キャッシュデータ群(2−1),(2−2)を保持するサーバ装置SViが、それぞれサーバ装置SV5、SV4に変更されている。したがって、転送テーブル700Aの該当エントリも更新される。振分装置101は、変更後の転送テーブル700Aに従って、受信したパケットを適切なサーバ装置SViに転送する。
データ処理部DP2〜DP5と、それらと対応するデータ記憶部DM2〜DM5は分離している。各データ処理部DP2〜DP5は、冗長データ群[N−1],[N−2]を保持しているデータ記憶部DP2〜DP5を把握して、その冗長データ群[N−1],[N−2]の配置とは異なるように冗長キャッシュデータ群(N−1),(N−2)を保持する。
なお、図23の状態を構築するために冗長キャッシュデータ群を配置するシーケンス例は、実施例1で説明した図9のシーケンス例において、ステップS913〜ステップS914の動作を削除した内容と同様であるため、ここでの説明を省略する。
実施例4は、仮想サーバ(仮想マシン)がデータ処理部DPiとデータ記憶部DMiとを備える構成である。なお、実施例4では、実施例1との相違点を中心に説明し、実施例1と同一内容については説明を省略する。
図24は、実施例4にかかる管理システムのシステム構成例を示す説明図である。管理システム1は、管理装置100と、1台以上の振分装置101と、サーバ装置SV1〜SVnと、を有する。
サーバ装置SViでは、その内部で仮想サーバVMiが動作する。仮想サーバVMiは、ネットワーク103からパケットを送受信可能である。また、仮想サーバVMiは、データ処理部DPiとデータ記憶部DMiを備える。データ処理部DPiは、パケット処理部120と、冗長データ取得部121と、運用データキャッシュ部122と、冗長データキャッシュ部123とを有する。一方、データ記憶部DMiは、多重化部124と、運用データ保持部125と、冗長データ保持部126とを有する。また、仮想サーバVMiは、サーバ装置SViの中でソフトウェアとして実行されるが、論理的には図2のハードウェア構成例と同様の構成を持つ。
以上のように、仮想サーバVMiは、仮想サーバVMiを動作させるサーバ装置SViのハードウェアに依存されない。したがって、実施例1と比べて柔軟なサービス運用が可能である。
実施例5は、データ処理部DPiとデータ記憶部DMiが、それぞれ異なる仮想サーバ上で実行される例である。なお、実施例5では、実施例1との相違点を中心に説明し、実施例1と同一内容については説明を省略する。
図25は、実施例5にかかる管理システムのシステム構成例を示す説明図である。管理システム1は、管理装置100と、1台以上の振分装置101と、サーバ装置SV1〜SVnと、を有する。
サーバ装置SViでは、その内部で仮想サーバVMaiと仮想サーバVMbiが動作している。仮想サーバVMai,VMbiは、ネットワーク103からパケットを送受信可能である。また、仮想サーバVMaiは、データ処理部DPiを備える。仮想サーバVMbiは、データ記憶部DMiを備える。データ処理部DPiは、パケット処理部120と、冗長データ取得部121と、運用データキャッシュ部122と、冗長データキャッシュ部123とを有する。一方、データ記憶部DMiは、多重化部124と、運用データ保持部125と、冗長データ保持部126とを有する。また、仮想サーバVMai,VMbiは、サーバ装置SViの中でソフトウェアとして実行されるが、論理的には図2のハードウェア構成例と同様の構成を持つ。
以上のように、データ処理部とDPiそれに対応するデータ記憶部DMiがそれぞれ別の仮想サーバVMai,VMbi上に存在する場合においても、それら仮想サーバVMai,VMbiが同一のサーバ装置SVi上で動作していればよい。このように、実施例5では、仮想サーバVMai,VMbiを動作させるサーバ装置SViのハードウェアに依存しないなど、実施例1と比べて柔軟なサービス運用が可能である。
実施例6は、データ記憶部DMiが、データ処理部DPiに対して冗長データ群のキャッシュデータを事前配置する例である。なお、実施例6では、実施例1との相違点を中心に説明し、実施例1と同一内容については説明を省略する。
図26は、実施例6にかかる管理システムのシステム構成例を示す説明図である。管理システム1は、管理装置100と、1台以上の振分装置101と、サーバ装置SV1〜SVnと、を有する。
サーバ装置SV1は、データ処理部DPiとデータ記憶部DMiを備える。データ処理部DPiは、パケット処理部120と、運用データキャッシュ部122と、冗長データキャッシュ部123とを有する。一方、データ記憶部DMiは、多重化部124と、運用データ保持部125と、冗長データ保持部126と、キャッシュ配置部2600とを有する。
すなわち、実施例1の図1と比べて、データ処理部DPiの冗長データ取得部121が削除され、データ記憶部DMiのキャッシュ配置部2600が追加された構成となる。キャッシュ配置部2600は、データ処理部DPiに対して冗長キャッシュデータ群を配置する。
図27は、実施例6にかかる初期状態におけるデータ配置例を示す説明図である。ここでは、サーバ装置SV1〜SV5の5台が存在することを想定する。前述したように、それぞれのサーバ装置SV1〜SV5は、データ処理部DP1〜DP5とデータ記憶部DM1〜DM5を備える。データ処理部DP1〜DP5、およびデータ記憶部DM1〜DM5における各データの配置位置は、実施例1の図3と同様である。
しかし、実施例6では、例えばサーバ装置SV2のデータ記憶部DM2が、グループ1の冗長キャッシュデータ群(1−1)とグループ2の冗長キャッシュデータ群(2−1)を、それぞれサーバ装置SV5、SV4のデータ処理部DP5、DP4に対して、冗長データ群[1−1],[2−1]の配置とは異なるように事前に配置する。
なお、図27では、第1冗長データ群(冗長データ群[1−1],[2−1])を持つデータ記憶部DM2がキャッシュデータ(冗長キャッシュデータ群(1−1),(2−1))の事前配置を行っているが、同内容のデータ群を持つデータ記憶部DM1またはデータ記憶部DM3がキャッシュデータの事前配置を行っても良い。
振分装置101は、各グループの運用キャッシュデータ群がどのサーバ装置のデータ処理部に保持されているかを、転送テーブル700の形で把握している。振分装置101は、この転送テーブル700に従って、受信したパケットを適切なサーバ装置に転送する。
データ処理部DP1〜DP5と、それらと対応するデータ記憶部DM1〜DM5は分離している。各データ処理部DP1〜DP5は、冗長データ群を保持しているデータ記憶部DM1〜DM5によって、その冗長データ群の配置とは異なるように冗長データ群のキャッシュデータを保持する。
図28は、図27に示した初期状態におけるデータ配置例を構成するためのシーケンス例を示すシーケンス図である。まず、データ記憶部DM1〜DM5は、クラスタ構築処理を実行する(ステップS2800)。データ記憶部DM1〜DM5は、データ記憶部DM1〜DM5の間でそれぞれのサーバ名やIPアドレスなどを含むクラスタ構成情報を収集して共有し、お互いに死活監視し合う。また、データ記憶部DM1〜DM5は、どのグループの運用データ群および冗長データ群をどのデータ記憶部DPiが保持するかを決定し、クラスタ構成情報に含める。そして、データ記憶部DM1〜DM5は、クラスタ構成情報に基づいて共通のクラスタ構成テーブル500A(図5を参照)を生成し、内部に保持する。クラスタ構築処理(ステップS2800)は、一般的な分散データベースソフトウェアが持つ機能であり、ここでの詳細な説明は割愛する。
次に、いずれかのデータ記憶部DMi(ここでは、例としてデータ記憶部DM1)が管理装置100にクラスタ構成情報を送信する(ステップS2801)。管理装置100は、このクラスタ構成情報に基づいてクラスタ構成テーブル500A(図5を参照)を生成する。
クラスタ構成テーブル500Aは、実施例1で説明した図5と同様である。管理装置100は、図5のクラスタ構成テーブル500Aに基づいてキャッシュデータ配置テーブル600Aを構成し、全てのデータ記憶部DM1〜DM5にキャッシュデータ配置テーブル600Aを設定する(ステップS2802)。ここで構成するキャッシュデータ配置テーブル600Aは、実施例1で説明した図6と同様である。
管理装置100は、図5のクラスタ構成テーブル500Aと図6のキャッシュデータ配置テーブル600Aに基づいて転送テーブル700Aを生成し、振分装置101に転送テーブル700Aを設定する(ステップS2803)。ここで構成する転送テーブル700Aは、実施例1で説明した図7と同様である。ステップS2803までに各種テーブル設定が完了した状態になる。
次に、振分装置101が外部ネットワーク104からパケットを受信する。振分装置101は、そのパケットから識別子を抽出し、そのパケットが属するグループ番号を特定し、図7の転送テーブル700Aを参照して適切なデータ処理部DPi(ここではDP1)に転送する(ステップS2804)。データ処理部DP1は、このパケットを処理した結果として、そのパケットに係る運用データを作成、または更新し、キャッシュデータとして保持する(ステップS2805)。
データ処理部DP1は、任意のタイミングで自身が保持するグループの運用データ群を、同一サーバ装置SV1内のデータ記憶部DM1に保存する(ステップS2806)。本シーケンス例では、グループ1の運用データ群[1−0]とグループ2の運用データ群[2−0]が保存される。
データ記憶部DM1は、それら運用データ群[1−0],[2−0]を保存すると同時に、クラスタを構成するサーバ装置SV2、SV3のデータ記憶部DM2、DM3に冗長データ群[1−1],[2−1],[1−2],[2−2]を保存して多重化を実施する(ステップS2807)。
サーバ装置SV2のデータ記憶部DM2は、冗長データ群[1−1],[2−1]が保存されると、図6のキャッシュデータ配置テーブル600Aを参照して、グループ1の冗長キャッシュデータ群(1−1)とグループ2の冗長キャッシュデータ群(2−1)をそれぞれ配置すべきサーバ装置SV5、SV4を特定する。そして、データ記憶部DM2は、サーバ装置SV4のデータ処理部DP4に対して、グループ2の冗長キャッシュデータ群(2−1)を事前配置する(ステップS2808)。
また、データ記憶部DM2は、サーバ装置SV5のデータ処理部DP5に対して、グループ1の冗長キャッシュデータ群(1−1)を事前配置する(ステップS2809)。他のグループの冗長キャッシュデータ群についても、ステップS2807〜ステップS2809と同様の手順を踏むことで、各サーバ装置SViのデータ処理部DPiに配置される。
以上が、初期状態において冗長キャッシュデータ群を配置する処理を行う手順である。本手順に従えば、データ処理部DPiは、冗長データ群を保持しているデータ記憶部DMiによって、その冗長データ群の配置とは異なるように冗長データ群のキャッシュデータを保持することになる。
これにより、運用データ群の冗長を他のサーバ装置SViに分散配置してサーバ装置SViの利用効率を向上すると共に、運用データまたは冗長データの整合性を失うことを抑制して信頼性を向上することができる。
データ処理部DPiでは、縮退運用時のパケット処理負荷の均等化を目的として冗長データ群のキャッシュデータを分散配置することができる。つまり、データ処理部DPiでは、通常運用時における利用効率の向上を優先させたデータ配置を採用することが可能となる。
また、データ配置の自由度を上げられるので、例えばサーバ装置SViのリソース量が異なる場合には、そのリソース量に応じて縮退時の処理負荷が分散されるように、冗長キャッシュデータ群の配置を決めることもできる。
一方、データ記憶部DMiでは、あるグループNに属する運用データ群または冗長データ群の多重化するサーバ装置SViの台数nを最小限に抑えることで、検証外の異常系動作が発生する可能性を抑制してデータ群の整合性を失うことを抑制することができる。つまりデータ記憶部DMiでは、信頼性の向上を優先させたデータ配置を採用することが可能となる。
また、データ記憶部DMiを高信頼化することで、データ処理部DPiがたとえ運用データ群または冗長データ群の一部を消失しても、データ記憶部DMiから取得して復旧することができる。さらに、データ処理部DPiとデータ記憶部DMiの冗長データ群との配置の重複を回避することで、管理システム1全体としての多重度を上げる効果が得られる。
実施例6のデータ記憶部DMiは、特徴となる動作を持つ。具体的には、データ処理部DPiに冗長キャッシュデータ群を配置する動作である。以下、図29を用いて、データ記憶部DMiの動作の処理フローを説明する。
図29は、実施例6にかかるデータ記憶部DMiによる各データ処理部DPiへの冗長キャッシュデータ群の配置処理手順例を示すフローチャートである。なお、ここでは、第1冗長データ群を持つデータ記憶部DMiが第1冗長データ群の事前配置を行うことを想定して説明するが、運用データ群、または第2冗長データ群を持つデータ記憶部DMiが第1冗長データ群の事前配置を行っても良い。
データ記憶部DMiは、他のデータ記憶部DMjから第1冗長データ群の保存を指示されることで処理を開始する(ステップS2900)。
データ記憶部DMiは、保存指示のあった冗長データ群のそれぞれのグループ番号に対して、以下の処理(ステップS2902〜ステップS2906)をループする(ステップS2901)。ループの処理対象となるグループ番号を「対象グループ番号」と称す。
まず、データ記憶部DMiは、図6のキャッシュデータ配置テーブル600Aの運用キャッシュデータ群603を参照して、対象グループ番号Nで特定されるグループNの運用データ群[N−0]を保持するサーバ装置SViのサーバ装置番号(以下、第1サーバ装置番号)を特定する(ステップS2902)。
データ記憶部DMiは、図5のクラスタ構成テーブル500Aの死活情報502を参照して、特定した第1サーバ装置番号で特定されるサーバ装置SViの死活情報502が「OK」であるかを判断する(ステップS2903)。
特定したサーバ装置SViの死活情報502が「OK」である場合(ステップS2903:Yes)、データ記憶部DMiは、第1冗長キャッシュデータ群604を参照して、対象グループ番号で特定されるグループに属する第1冗長キャッシュデータ群を保持すべきサーバ装置のサーバ装置番号(以下、第2サーバ装置番号)を特定する(ステップS2904)。
一方、ステップS2903に戻り、サーバ装置SViが死活情報502が「NG」である場合(ステップS2903:No)、データ記憶部DMiは、第2冗長キャッシュデータ群605を参照して、対象グループ番号で特定されるググループに属する第2冗長キャッシュデータ群を保持すべきサーバ装置SViのサーバ装置番号(以下、第2サーバ装置番号)を特定する(ステップS2905)。
データ記憶部DMiは、上記特定した第2サーバ装置番号で特定されるデータ処理部DPiに対して、対象グループ番号で特定されるグループの冗長キャッシュデータ群を送信して、事前配置する(ステップS2906)。データ記憶部DMiは、保存指示のあった冗長データ群の全てのグループ番号に対してステップS2901に始まるループを繰り返す(ステップS2907)。ループが終了すると、一連の処理を終了する(ステップS2907)。
上記の処理によって、データ処理部DPiは、冗長データ群を保持しているデータ記憶部DMiによって、その冗長データ群の配置とは異なるように冗長データ群のキャッシュデータを保持することになる。これにより、運用データ群の冗長を他のサーバ装置に分散配置してサーバ装置の利用効率の向上を図ることができる。また、サーバ装置の縮退が発生した場合でも、故障したサーバ装置の運用データ群のキャッシュデータをキャッシュしているサーバ装置において、データ記憶部からデータ処理部へのデータ移動よりも優先して、当該キャッシュデータが高速で活性化される。したがって、運用データまたは冗長データの整合性の喪失を抑制して信頼性の向上を図ることができる。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
1 管理システム
100 管理装置
101 振分装置
103 ネットワーク
104 外部ネットワーク
110 制御部
111 分散処理部
120 パケット処理部
121 冗長データ取得部
122 運用データキャッシュ部
123 冗長データキャッシュ部
124 多重化部
125 運用データ保持部
126 冗長データ保持部
500A〜500C クラスタ構成テーブル
600A,600B キャッシュデータ配置テーブル
700A,700B 転送テーブル
DMi データ記憶部
DPi データ記憶部
SVi サーバ装置

Claims (12)

  1. 複数のサーバ装置を有する管理システムであって、
    前記複数のサーバ装置の各々は、担当グループの入力データ群を処理することにより前記担当グループに所属する運用データ群を生成するデータ処理部と、前記データ処理部によって生成された前記担当グループに所属する運用データ群を記憶するデータ記憶部と、を有し、
    前記データ処理部は、
    前記担当グループに所属する運用データ群を前記担当グループに所属する運用キャッシュデータ群として保持し、
    前記データ記憶部は、
    前記担当グループに所属する運用データ群の複製である前記担当グループに所属する冗長データ群を、当該冗長データ群が記憶されていないサーバ装置のデータ記憶部に格納し、
    前記データ処理部は、
    前記データ記憶部に格納された第1の非担当グループに所属する冗長データ群の所属グループとは異なる第2の非担当グループに所属する冗長データ群の複製である前記第2の非担当グループに所属する冗長キャッシュデータ群を保持する、
    ことを特徴とする管理システム。
  2. 前記複数のサーバ装置の複数のデータ記憶部の各々は、相互通信により他のデータ記憶部の稼働状態と、記憶するデータ群の所属グループと、を特定するクラスタを構成することにより、前記特定した他のデータ記憶部の稼働状態と所属グループとを含むクラスタ構成情報を生成し、
    前記データ処理部は、
    前記クラスタ構成情報に基づいて、前記第2の非担当グループに所属する冗長キャッシュデータ群を保持する、
    ことを特徴とする請求項1に記載の管理システム。
  3. 前記データ処理部は、
    前記クラスタ構成情報に基づいて、前記第2の非担当グループに所属する冗長データ群を記憶するデータ記憶部を有するサーバ装置のデータ処理部に、前記第2の非担当グループに所属する冗長キャッシュデータ群の事前取得通知を送信し、
    前記事前取得通知を送信した結果、前記第2の非担当グループに所属する冗長データ群を記憶するデータ記憶部から、前記第2の非担当グループに所属する冗長キャッシュデータ群を取得して保持する、
    ことを特徴とする請求項2に記載の管理システム。
  4. 前記データ記憶部は、
    前記クラスタ構成情報に基づいて、前記第1の非担当グループと同一のグループに所属する運用データ群および前記第1の非担当グループに所属する冗長データ群が記憶されていないデータ記憶部を他のデータ記憶部から特定し、
    特定したデータ記憶部を有するサーバ装置のデータ処理部に、前記第1の非担当グループに所属する冗長データ群の複製である第1の非担当グループに所属する冗長キャッシュデータ群を配置する、
    ことを特徴とする請求項2に記載の管理システム。
  5. 前記データ処理部は、
    前記複数のサーバ装置のうち自サーバ装置以外の他のサーバ装置のいずれかのサーバ装置が非稼働状態となった場合、非稼働状態のサーバ装置のデータ記憶部が記憶していた特定の運用データ群の複製である特定の冗長データ群に対応する特定の冗長キャッシュデータ群を保持しているか否かを判断し、
    前記特定の冗長キャッシュデータ群を保持している場合、前記特定の冗長キャッシュデータ群を特定の運用キャッシュデータ群に変更し、
    前記非稼働状態のサーバ装置の担当グループの入力データ群を処理して前記特定の運用キャッシュデータ群を更新するとともに、前記特定の運用データ群を記憶するデータ記憶部にアクセスして、前記特定の運用データ群を更新する、
    ことを特徴とする請求項2に記載の管理システム。
  6. 前記データ記憶部は、
    前記いずれかのサーバ装置が非稼働状態となった場合、前記特定の冗長データ群を記憶しているか否かを判断し、
    前記特定の冗長データ群を記憶している場合、前記特定の冗長データ群を前記特定の運用データ群に変更する、
    ことを特徴とする請求項5に記載の管理システム。
  7. 前記データ処理部は、
    前記非稼働状態のサーバ装置の担当グループ、前記非稼働状態のサーバ装置のデータ処理部が保持していた冗長キャッシュデータ群の所属グループ、および前記変更による前記特定の運用キャッシュデータ群の所属グループのうち、前記データ記憶部に前記冗長データ群として記憶されていないグループが存在する場合、前記特定の運用データ群または前記特定の運用データ群の複製である特定の冗長データ群を記憶しているデータ記憶部を特定し、当該データ記憶部から、他のデータ処理部と重複しないように、前記特定の冗長データ群の複製である前記特定の冗長キャッシュデータ群を取得して保持する、
    ことを特徴とする請求項5に記載の管理システム。
  8. 前記サーバ装置が追加された場合、前記各データ記憶部は、前記クラスタ構成情報を更新し、
    前記データ処理部は、
    更新後の前記クラスタ構成情報に基づいて、前記第2の非担当グループに所属する冗長キャッシュデータ群を保持する、
    ことを特徴とする請求項2に記載の管理システム。
  9. 前記サーバ装置は、仮想サーバを生成し、前記仮想サーバ上に前記データ処理部と前記データ記憶部とを設定することを特徴とする請求項1に記載の管理システム。
  10. 前記サーバ装置は、第1の仮想サーバと第2の仮想サーバとを生成し、前記第1の仮想サーバ上に前記データ処理部を設定し、前記第2の仮想サーバに前記データ記憶部を設定する、
    ことを特徴とする請求項1に記載の管理システム。
  11. 担当グループの入力データ群を処理することにより前記担当グループに所属する運用データ群を生成するデータ処理部と、
    前記データ処理部によって生成された前記担当グループに所属する運用データ群を記憶するデータ記憶部と、を有し、
    前記データ処理部は、
    前記担当グループに所属する運用データ群を前記担当グループに所属する運用キャッシュデータ群として保持し、
    前記データ記憶部は、
    前記担当グループに所属する運用データ群の複製である前記担当グループに所属する冗長データ群を、当該冗長データ群が記憶されていない他のサーバ装置のデータ記憶部に格納し、
    前記データ処理部は、
    前記データ記憶部に格納された第1の非担当グループに所属する冗長データ群の所属グループとは異なる第2の非担当グループに所属する冗長データ群の複製である前記第2の非担当グループに所属する冗長キャッシュデータ群を保持する、
    ことを特徴とするサーバ装置。
  12. 複数のサーバ装置を有する管理システムによるデータ管理方法であって、
    前記複数のサーバ装置の各々は、担当グループの入力データ群を処理することにより前記担当グループに所属する運用データ群を生成するデータ処理部と、前記データ処理部によって生成された前記担当グループに所属する運用データ群を記憶するデータ記憶部と、を有し、
    前記データ管理方法は、
    前記データ処理部が、
    前記担当グループに所属する運用データ群を前記担当グループに所属する運用キャッシュデータ群として保持し、
    前記データ記憶部が、
    前記担当グループに所属する運用データ群の複製である前記担当グループに所属する冗長データ群を、当該冗長データ群が記憶されていない他のサーバ装置のデータ記憶部に格納し、
    前記データ処理部が、
    前記データ記憶部に格納された第1の非担当グループに所属する冗長データ群の所属グループとは異なる第2の非担当グループに所属する冗長データ群の複製である前記第2の非担当グループに所属する冗長キャッシュデータ群を保持する、
    ことを特徴とするデータ管理方法。
JP2015057653A 2015-03-20 2015-03-20 管理システム、サーバ装置、およびデータ管理方法 Pending JP2016177578A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015057653A JP2016177578A (ja) 2015-03-20 2015-03-20 管理システム、サーバ装置、およびデータ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015057653A JP2016177578A (ja) 2015-03-20 2015-03-20 管理システム、サーバ装置、およびデータ管理方法

Publications (1)

Publication Number Publication Date
JP2016177578A true JP2016177578A (ja) 2016-10-06

Family

ID=57069196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015057653A Pending JP2016177578A (ja) 2015-03-20 2015-03-20 管理システム、サーバ装置、およびデータ管理方法

Country Status (1)

Country Link
JP (1) JP2016177578A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021535468A (ja) * 2018-08-29 2021-12-16 アリババ グループ ホウルディング リミテッド データ書き込みのための方法及び装置
JP2022541921A (ja) * 2019-07-22 2022-09-28 華為技術有限公司 記憶システムの信頼性を向上させる方法及び関連機器
JP2022145964A (ja) * 2020-09-28 2022-10-04 株式会社日立製作所 記憶システム及びその制御方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021535468A (ja) * 2018-08-29 2021-12-16 アリババ グループ ホウルディング リミテッド データ書き込みのための方法及び装置
JP7371087B2 (ja) 2018-08-29 2023-10-30 アリババ グループ ホウルディング リミテッド データ書き込みのための方法及び装置
JP2022541921A (ja) * 2019-07-22 2022-09-28 華為技術有限公司 記憶システムの信頼性を向上させる方法及び関連機器
JP7358613B2 (ja) 2019-07-22 2023-10-10 華為技術有限公司 記憶システムの信頼性を向上させる方法及び関連機器
JP2022145964A (ja) * 2020-09-28 2022-10-04 株式会社日立製作所 記憶システム及びその制御方法
JP7419456B2 (ja) 2020-09-28 2024-01-22 株式会社日立製作所 記憶システム及びその制御方法

Similar Documents

Publication Publication Date Title
US11487468B2 (en) Healing failed erasure-coded write attempts in a distributed data storage system configured with fewer storage nodes than data plus parity fragments
US20200175036A1 (en) Fault-tolerant key management system
JP6628730B2 (ja) ワイド・エリア・ネットワーク上で同等の名前空間レプリカを用いる地理的に分散したファイルシステム
JP5695660B2 (ja) クラスタ選択及び協調的レプリケーションのためのクラスタ・ファミリー
WO2011027775A1 (ja) 分散ストレージシステム、分散ストレージ方法および分散ストレージ用プログラムとストレージノード
US10353872B2 (en) Method and apparatus for conversion of virtual machine formats utilizing deduplication metadata
US9031906B2 (en) Method of managing data in asymmetric cluster file system
US20140188957A1 (en) Hierarchical storage system and file management method
CN111078121A (zh) 一种分布式存储***数据迁移方法、***、及相关组件
WO2018054079A1 (zh) 一种存储文件的方法、第一虚拟机及名称节点
US11789830B2 (en) Anti-entropy-based metadata recovery in a strongly consistent distributed data storage system
WO2016045428A1 (zh) 一种创建虚拟机的方法和创建虚拟机的装置
US20180205612A1 (en) Clustered containerized applications
KR102133840B1 (ko) 라이브 서비스를 위한 분산 파일 시스템 및 데이터 처리 방법
CN109407975B (zh) 写数据方法与计算节点以及分布式存储***
JP2016177578A (ja) 管理システム、サーバ装置、およびデータ管理方法
CN105760391A (zh) 数据动态重分布的方法、数据节点、名字节点及***
WO2024148824A1 (zh) 数据处理方法、***、装置、存储介质及电子设备
CN111752892B (zh) 分布式文件***及其实现方法、管理***、设备及介质
JP2022503583A (ja) 分散コンピューティング環境で分散調整エンジンを非破壊的にアップグレードする方法、装置およびシステム
JP2014016953A (ja) 無共有型データベースシステム、同期装置、データベースサーバ、その同期方法および同期プログラム
JP5956364B2 (ja) クラスタシステム
US20140215153A1 (en) Storage system, disk array apparatus and control method for storage system
US11586592B2 (en) Methods, devices and systems for writer pre-selection in distributed data systems
JP2016009341A (ja) 仮想マシン配備システムおよび配備方法、並びにコンピュータ・プログラム