JP2017167783A - ノードおよびデータ配置方法 - Google Patents

ノードおよびデータ配置方法 Download PDF

Info

Publication number
JP2017167783A
JP2017167783A JP2016051977A JP2016051977A JP2017167783A JP 2017167783 A JP2017167783 A JP 2017167783A JP 2016051977 A JP2016051977 A JP 2016051977A JP 2016051977 A JP2016051977 A JP 2016051977A JP 2017167783 A JP2017167783 A JP 2017167783A
Authority
JP
Japan
Prior art keywords
node
invalid
information
data
original data
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.)
Granted
Application number
JP2016051977A
Other languages
English (en)
Other versions
JP6473425B2 (ja
Inventor
篤史 外山
Atsushi Toyama
篤史 外山
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
Priority to JP2016051977A priority Critical patent/JP6473425B2/ja
Publication of JP2017167783A publication Critical patent/JP2017167783A/ja
Application granted granted Critical
Publication of JP6473425B2 publication Critical patent/JP6473425B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】低信頼のノードへの原本データの配置を抑止した上で、各ノードの処理負荷の増加を抑えることができる、ノードおよびデータ配置方法を提供する。
【解決手段】分散処理システムを構成するノード1は、ID空間上における各ノード1の担当領域を示す振り分けID情報200、および、ノード1それぞれについて、原本データを配置しないノードであることを示す無効ノードであるか否かの情報が格納される無効ノード情報300、が記憶される記憶部30を備え、被災確率情報を受信し、所定の閾値以上のノード1を無効ノードに決定し、受信したメッセージを担当するノード1を振り分けID情報200を参照して抽出し、抽出したノード1が、無効ノードとして設定されている場合に、ID空間上で次のノード1を、メッセージを処理するノード1として特定する。
【選択図】図3

Description

本発明は、ネットワーク上に分散配置されるノードをクラスタ化してデータを格納する分散処理システムにおいて、信頼性の低いノードへの原本データの配置を抑止する、ノードおよびデータ配置方法に関する。
近年、クラウドコンピューティングの隆盛に伴い、多量のデータの処理や保持を効率的に行うことが求められている。そこで、複数のサーバを協調動作させることにより効率的な処理を実現する分散処理技術が発展している。
分散処理を行う際には、クラスタ構成からなる分散処理システムを構成する各サーバ(以下、「ノード」と称する。)が担当するデータを決定する必要がある。このとき、分散処理システム全体での処理能力を高めるためには、各ノードが担当するデータ数は平均化されていることが望ましい。
代表的なデータの管理手法として、各データのkeyをハッシュ関数にかけた値(以下、「hash(key)」と称する。)をノード数Nで割った余り、即ち「hash(key) mod N」を番号として持つノードがデータを管理する手法がある。この場合、各ノードに事前に「0」から「N−1」までの番号を割り当てていることが前提となる。このような管理手法を用いた場合、ノードの追加・離脱が発生すると、Nの値が変化して、多くのデータについて、そのデータの保存を担当するノードが変更になるため、担当するデータを再配置することが必要になる。
そこで、ノードの追加・離脱に伴い担当するノードが変更になるデータ数を約1/Nに抑える方法として、コンシステント・ハッシュ(Consistent Hashing)法(非特許文献1参照)を用いたデータ管理手法がある。
このコンシステント・ハッシュ法を用いたデータ管理手法では、ノードとデータの双方にID(IDentifier)を割り当てる。そして、データのIDから閉じたID空間を時計回りに辿った場合に最初に当たったノードをそのデータの担当とする。ノードに対するIDの与え方の例としては、IPアドレスをハッシュ関数にかけた値(hash(IPアドレス))が挙げられる。
クラスタ構成の分散処理システムでは、各ノードの処理性能が等しい場合には、各ノードが担当するデータ量を等しくする、即ち、コンシステント・ハッシュ法のID空間(以下、単に「ID空間」と称する場合がある。)におけるノード間の距離(以下、「ノードの担当領域」と称する。)を等しくすることが望ましい。この点を実現するため、各ノードに仮想的に複数のIDを持たせる手法が用いられている。各ノードが複数の仮想IDを持つことで、仮想ID毎の担当領域の大きさは異なっていても、大数の法則に従いノード毎の担当領域の大きさは平均化される。
これらのコンシステント・ハッシュ法や仮想ID等を用いた技術により、ノード間で担当するデータを均一化し負荷を分散させることが可能となる。
一方、昨今、災害の状況から各ノードが被災する確率を特定する研究(非特許文献2参照)が進んでおり、実用化すれば障害発生ノードを事前に特定することができるようになる。災害等により障害の発生が高いと予測されたノード、つまり、信頼性が低いと予め判定されたノードについて、原本データを配置することは、データ欠損リスクを高めるため、避けた方がよい。この対策として、信頼性の低いノードから高いノードへ原本データを移管することによって、信頼性を担保する技術が公開されている(非特許文献3参照)。
David Karger, et al.,"Consistent Hashing and Random Trees:Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web",[online],1997,ACM,[平成28年 3月 3日検索],インターネット<URL:http://www.akamai.com/dl/technical_publications/ConsistenHashingandRandomTreesDistributedCachingprotocolsforrelievingHotSpotsontheworldwideweb.pdf> Hiroshi Saito,et al.,"Proposal of Disaster Avoidance Control," Proc. of Telecommunications Network Strategy and Planning Symposium (Networks),2014 16th International. 栗生敬子、金子雅志、「高可用サーバクラスタにおける激甚災害を考慮したデータ管理方式の一検討」、社団法人電子情報通信学会、電子情報通信学会通信ソサイエティ大会講演論文集 2015年、通信(2) 21、B-6-21、2015-08-25
しかしながら、非特許文献3に記載の技術を、一般的なコンシステント・ハッシュ法を利用する分散処理システムに適用した場合、新規データを配置する際には、ハッシュ分散により信頼性の低いノードにも原本データが配置されてしまう。よって、一度、信頼性の低いノードに原本データが配置された後に、信頼性の高いノードへ原本データを移管する処理が必要になる。
図11は、分散処理システムにおいてコンシステント・ハッシュ法を用いてデータを管理する場合における、上記の問題を説明するための図である。なお、図11を含め、コンシステント・ハッシュのID空間を示す各図において、ノードそれぞれのID空間上の担当領域を楕円で示している。
図11(a)に示すように、コンシステント・ハッシュのID空間上に、原本データ「G」がノード「D」の担当領域に配置されている。また、その複製データ「g」が、ID空間上で時計回りに次のノードであるノード「E」と、さらにその次のノード(次々ノード)であるノード「A」に配置されているものとする。このような原本データと複製データの管理手法において、次に新たなデータを配置する場合を考える。その際に、ノード「C」は、例えば非特許文献2に記載の技術により、信頼性の低いノード(以下、「低信頼のノード」と称する場合がある。)であると判定されたノードであるとする。また、新たに配置するデータ(原本データ)のIDが、低信頼のノード「C」の担当領域に含まれるデータであるとする。
非特許文献3に記載の技術を、コンシステント・ハッシュ法を利用する分散処理システムに適用する場合には、図11(a)に示すように、まず、新たに配置する原本データ「G」が、ID空間上の低信頼のノード「C」の担当領域に配置される。そして、その複製データ「g」が、ID空間上で時計回りに次のノードであるノード「D」と、さらにその次のノードであるノード「E」に配置される。
その後、図11(b)に示すように、ノード「C」が低信頼のノードであるため、ノード「C」の担当領域に位置する原本データ「G」と、例えば、ノード「D」に格納されている複製データ「g」とに対し、原本変更通知がネットワーク管理サーバ(図示省略)等から送信される。これにより、ノード「D」に格納されていた複製データ「g」は、原本に昇格し原本データ「G」となる。また、低信頼のノード「C」の担当領域に位置する原本データ「G」は、複製に降格し複製データ「g」となる。続いて、ノード「D」は、昇格した原本データ「G」の複製データ「g」を、ID空間上で時計回りに次のノードであるノード「E」と、さらにその次のノードであるノード「A」に送信するレプリケーション(データの一貫性を保つためのデータ複製処理)を実行する。
このように、コンシステント・ハッシュ法を利用した分散処理システムに、従来技術を適用する場合には、新規データを配置する際に、ハッシュ分散により信頼性の低いノードも、原本データの配置先として選択されてしまう。その結果、新規データの配置の度に、複製から原本へのデータ移管を行い、データの一貫性を保つためのレプリケーションが必要となる。よって、各ノードのCPU(Central Processing Unit)の処理負荷を増大させるとともに、最適なデータ配置となるための余分な時間を要していた。
なお、図11(b)に示すように、非特許文献3に記載の技術を、コンシステント・ハッシュ法を利用する分散処理システムに適用した場合には、その結果として、原本データから複製データに降格した複製データが、システムに設定された冗長度(図11においては、原本データ「1」と複製データ「2」とで、冗長度「3」である。)を超えて、ID空間上に複製データを配置する結果となってしまう(図11においては、ノード「C」の複製データ「g」が冗長度の設定を超えて記憶されたままとなる。)。これにより、当該ノードの記憶資源を無駄に占有することとなる。
このような背景を鑑みて本発明がなされたのであり、本発明は、低信頼のノードへの原本データの配置を抑止した上で、各ノードの処理負荷の増加を抑えることができる、ノードおよびデータ配置方法を提供することを課題とする。
前記した課題を解決するため、請求項1に記載の発明は、クラスタを構成する複数のノードそれぞれに、コンシステント・ハッシュ法によりメッセージを振り分けて処理させる分散処理システムの前記ノードであって、ID空間上における各ノードの担当領域を示す振り分けID情報、および、前記ノードそれぞれについて、原本データを配置しないノードであることを示す無効ノードであるか否かの情報が格納される無効ノード情報、が記憶される記憶部と、前記ノード毎の被災により障害が発生する確率を示す被災確率情報を受信し、前記被災確率情報の値が所定の閾値以上のノードを前記無効ノードに決定し、前記無効ノード情報に記憶する無効ノード設定部と、受信したメッセージを担当する前記ノードを、前記振り分けID情報を参照して抽出し、前記抽出したノードが、前記無効ノードとして設定されているか否かを、前記無効ノード情報を参照して判定し、前記判定したノードが無効ノードとして設定されている場合に、前記振り分けID情報および前記無効ノード情報を参照し、前記ID空間上における所定回りで前記無効ノードとして設定されていない次のノードを、前記メッセージを処理するノードとして特定し、前記特定したノードに前記メッセージを送信する振り分け部と、前記送信されたメッセージを受信し、当該メッセージに基づく処理結果を原本データとして自身の前記記憶部に記憶するとともに、前記原本データの複製を記憶させる複製ノードを、前記振り分けID情報を参照し、前記ID空間上における所定回りで冗長度に応じた数だけ前記無効ノードとして設定されているノードも含めて決定し、前記決定した複製ノードに、前記原本データの複製データを送信することにより記憶させる信号処理部と、を備えることを特徴とするノードとした。
また、請求項3に記載の発明は、クラスタを構成する複数のノードそれぞれに、コンシステント・ハッシュ法によりメッセージを振り分けて処理させる分散処理システムの前記ノードによるデータ配置方法であって、前記ノードが、ID空間上における各ノードの担当領域を示す振り分けID情報、および、前記ノードそれぞれについて、原本データを配置しないノードであることを示す無効ノードであるか否かの情報が格納される無効ノード情報、が記憶される記憶部を備えており、前記ノード毎の被災により障害が発生する確率を示す被災確率情報を受信し、前記被災確率情報の値が所定の閾値以上のノードを前記無効ノードに決定し、前記無効ノード情報に記憶するステップと、受信したメッセージを担当する前記ノードを、前記振り分けID情報を参照して抽出し、前記抽出したノードが、前記無効ノードとして設定されているか否かを、前記無効ノード情報を参照して判定し、前記判定したノードが無効ノードとして設定されている場合に、前記振り分けID情報および前記無効ノード情報を参照し、前記ID空間上における所定回りで前記無効ノードとして設定されていない次のノードを、前記メッセージを処理するノードとして特定し、前記特定したノードに前記メッセージを送信するステップと、前記送信されたメッセージを受信し、当該メッセージに基づく処理結果を原本データとして自身の前記記憶部に記憶するとともに、前記原本データの複製を記憶させる複製ノードを、前記振り分けID情報を参照し、前記ID空間上における所定回りで冗長度に応じた数だけ前記無効ノードとして設定されているノードも含めて決定し、前記決定した複製ノードに、前記原本データの複製データを送信することにより記憶させるステップと、を実行することを特徴とするデータ配置方法とした。
このようにすることで、ノードは、受信した被災確率情報に基づき、被災する確率の高い(低信頼の)ノードを無効ノードに決定する。そして、受信したメッセージの担当が無効ノードである場合には、ID空間上の所定回りで無効ノードとして設定されていない次のノードを、そのメッセージを処理するノードとして特定することができる。また、原本データの複製データは、コンシステント・ハッシュ法に基づき、無効ノードとして設定されているノードにも配置することができる。
よって、一度低信頼のノードに原本データを配置した後に、無効ノードではない高信頼のノードに原本データを移管する処理を不要とすることができ、不要なレプリケーションを行わないようにすることができる。また、無効ノードには、複製データを配置することができるため、低信頼の無効ノードの記憶資源を有効に活用することができる。
請求項2に記載の発明は、前記ID空間上での前記ノードの配置を、前記無効ノードと前記無効ノードとして設定されていないノードとの位置関係を保った上で、リバランシングを実行するリバランシング部を、さらに備えること、を特徴とする請求項1に記載のノードとした。
また、請求項4に記載の発明は、前記ノードが、前記ID空間上での前記ノードの配置を、前記無効ノードと前記無効ノードとして設定されていないノードとの位置関係を保った上で、リバランシングを実行するステップを、さらに含むことを特徴とする請求項3に記載のデータ配置方法とした。
このようにすることで、ノードは、負荷の偏りを低減するためのリバランシングを行う際に、レプリケーションが発生することを抑止することができる。
本発明によれば、低信頼のノードへの原本データの配置を抑止した上で、各ノードの処理負荷の増加を抑える、ノードおよびデータ配置方法を提供することができる。
本実施形態に係るノードを含む分散処理システムの全体構成を示す図である。 本実施形態に係るノードの処理概要を説明するための図である。 本実施形態に係るノードの構成例を示す機能ブロック図である。 本実施形態に係るノード識別子管理情報のデータ構成例を示す図である。 本実施形態に係る振り分けID情報のデータ構成例を示す図である。 本実施形態に係る無効ノード情報のデータ構成例を示す図である。 本実施形態に係るノードが実行するメッセージ処理の流れを示すフローチャートである。 本実施形態に係るノードにおいて、リバランシングを行う場合の課題を説明するための図である。 本実施形態の変形例に係るノードの構成例を示す機能ブロック図である。 本実施形態の変形例に係るノードがリバランシング(ノード増設)を行う場合の処理を説明するための図である。 分散処理システムにおいてコンシステント・ハッシュ法を用いてデータを管理する場合における問題を説明するための図である。
<全体構成>
まず、本発明を実施するための形態(以下、「本実施形態」と称する。)に係るノード1を含む分散処理システム1000について説明する。
図1は、本実施形態に係るノード1を含む分散処理システム1000の全体構成を示す図である。
この分散処理システム1000は、複数のノード1から構成される。各ノード1は、コンピュータなどの物理装置や仮想マシンなどの論理装置である。ロードバランサ3は、クライアント2から受信したメッセージを、単純なラウンドロビン等により振り分けて各ノード1に送信する。そして、ノード1の振り分け部13は、クライアント2からのメッセージを、例えば、コンシステント・ハッシュ法等に基づき、メッセージを担当するノード1に振り分ける。この際、振り分け部13は、振り分け先となるノード1が、低信頼のノード(後記する「無効ノード」)であるか否かを確認した上で、振り分けを行う(詳細は後記する。)。メッセージを担当するノード1では、信号処理部14において、信号処理を行い、クライアント2にサービスを提供する。
なお、ロードバランサ3が存在せず、クライアント2から任意のノード1(振り分け部13)にメッセージを送信することも可能である。また、振り分け部13と信号処理部14とは、同じノード1上に同時に存在してもよいし、別々のノード1上に存在してもよい。
<ノード>
次に、分散処理システム1000を構成するノード1について、具体的に説明する。
≪概要≫
まず、本実施形態に係るノード1の処理の概要を説明する。
本実施形態に係るノード1は、分散処理システム1000を構成するノード1それぞれについて、低信頼と判定されるノードであるか、若しくは、高信頼(低信頼ではない)と判定されるノードであるかを示す情報(後記する、「被災確率情報」)を取得し、低信頼のノード1に関して、「無効ノード」として設定しておく。本実施形態において、無効ノードとは、原本データの配置先として設定しないノード、つまり、原本データを配置しないノードを意味する。なお、後記するように、無効ノードには、原本データは配置されないが、複製データは配置される。
本実施形態に係るノード1は、新規原本データの設定や、リクエスト等を受信した際に行われる、コンシステント・ハッシュ法に基づくID空間上での時計回り探索において、無効ノードとして設定されたノード1はスキップする。そして、次の非無効ノード(無効ノードとして設定されてない通常の(高信頼の)ノード)が見つかったとき、そのノード1に原本データを配置する、若しくは、そのノード1が担当する原本データを用いて信号処理を実行する。以下、図2を参照して具体的に説明する。
図2は、本実施形態に係るノード1の処理概要を説明するための図である。図2(a)は、比較例として、通常のコンシステント・ハッシュ法に基づくデータ配置を示す図である。図2(b)は、本実施形態に係るノード1が実行するデータ配置の処理を示す図である。
コンシステント・ハッシュ法に基づく通常のデータ配置では、図2(a)に示すように、各ノード1が、低信頼のノード1か高信頼のノード1であるかは考慮されない。よって、ID空間上において、例えば、原本データ「G」が、低信頼のノード「C」の担当領域に配置され、その複製データ「g」が、ID空間上で時計回りに次のノードであるノード「D」と、さらに次のノードであるノード「E」に配置される。同様に、原本データ「G」が、高信頼のノード「A」の担当領域に配置され、その複製データ「g」が、ID空間上で時計回りに次のノードであるノード「B」と、さらに次のノードである低信頼のノード「C」に配置される。つまり、低信頼のノード「C」にも、原本データが配置されてしまう。
これに対し、本実施形態に係るノード1は、低信頼のノード1を予め無効ノードとして設定しておく。そして、各ノード1は、低信頼のノード1が本来担当すべきID空間上の領域に原本データを配置する際には、その無効ノードのID空間上で時計回りに次に位置する無効ノードではないノード(高信頼ノード)を、その原本データを担当するノードとして処理する。
具体的には、図2(b)に示すように、低信頼のノード「C」が無効ノードとして設定されているとする。そして、そのノード「C」が本来担当すべきID空間上の領域に配置される原本データ「G」について、本実施形態においては、無効ノードであるノード「C」ではなく、ID空間上で時計回りに次に位置する無効ノードではないノード(高信頼ノード)であるノード「D」が担当する。つまり、無効ノードであるノード「C」の担当領域(図2(b)において、破線の楕円で示す。)上に位置するデータ(原本データ)の担当を、ID空間上で時計回りに次のノード(高信頼ノード)であるノード「D」とする。よって、ノード「D」は、原本データについては、ID空間上で自身の担当領域に加え、ノード「C」が従来担当すべき領域(ノード「C」が無効ノードでなかった場合の担当領域)も自身の担当領域として処理する(図2(b)において、太実線の楕円で示す。)。ノード「D」が、原本データ「G」の担当となることから、ノード「D」には、原本データ「G」の複製データ「g」は配置されない。また、ノード「C」ではなく、ノード「D」が、ノード「E」とノード「A」とに複製データ「g」を送信するレプリケーションを実行する。
このようにすることで、一度、低信頼ノードに原本データを配置した後に、高信頼のノードへ原本データを移管する処理を不要にすることができるとともに、この原本データの移管に伴う、不要なレプリケーションを実行しないようにすることができる。また、本実施形態に係るノード1の処理においても、各ノード1の信頼性は従来と同様に確保することができる。
≪ノードの構成≫
次に、本実施形態に係る分散処理システム1000を構成するノード1について、具体的に説明する。なお、本実施形態に係るノード1は、分散処理システム1000を構成する複数のノード1のうち、後記するノード識別子管理情報100(図4参照)、振り分けID情報200(図5参照)および無効ノード情報300(図6参照)を管理する特権ノードとなる場合と、特権ノードからノード識別子管理情報100、振り分けID情報200および無効ノード情報300を受け取り、各情報を更新して記憶する非特権ノードとなる場合とが存在する。なお、特権ノードが行う処理等については、後記する。
ノード1は、図1に示したように、ロードバランサ3と通信可能に接続されるともに、クラスタを構成する自身以外の他のノード1と通信可能に接続される。また、このノード1は、ロードバランサ3を介してクライアント2からメッセージを受け取ると、そのメッセージを、振り分けID情報200および無効ノード情報300を参照して、担当するノード1(自身を含む)に振り分け、そのメッセージの信号処理を実行する。また、各ノード1は、新たに自身が原本データを保持することとなったデータについて、当該原本データを自身の記憶部(後記する「記憶部30」)に記憶するとともに、その原本データの複製データを格納するノード1を、振り分けID情報200を参照して決定し、そのノード1に複製データを送信(レプリケーション)する。なお、複製データを格納するノード1は、冗長度の数から1を引いた数のノードが、ID空間上で時計回りの順で決定される。以下、本実施形態においては、冗長度が「3」、つまり、原本データ1つの他に、複製データを2つ生成するものとして説明する。
図3は、本実施形態に係るノード1の構成例を示す機能ブロック図である。
図3に示すように、ノード1は、制御部10と、入出力部20と、記憶部30とを含んで構成される。
入出力部20は、ロードバランサ3や、自身以外の他のノード1等との間の情報の入出力を行う。また、この入出力部20は、通信回線を介して情報の送受信を行う通信インタフェース(図示省略)と、キーボード等の入力手段やモニタ等の出力手段等との間で入出力を行う入出力インタフェース(図示省略)とから構成される。
記憶部30は、ハードディスクやフラッシュメモリ、RAM(Random Access Memory)等の記憶手段からなり、処理の対象となるデータ400や、ノード識別子管理情報100(図4参照)、振り分けID情報200(図5参照)、無効ノード情報300(図6参照)等が記憶される。なお、この記憶部30に記憶される各情報についての詳細は後記する。
制御部10は、ノード1全体の制御を司り、ノード識別子管理部11、無効ノード設定部12、振り分け部13、信号処理部14、原本データ移管部15を含んで構成される。なお、この制御部10は、例えば、記憶部30に格納されたプログラムをCPU(図示省略)がRAM(図示省略)に展開し実行することで実現される。
ノード識別子管理部11は、分散処理システム1000においてクラスタを構成する各ノード1のノード情報(IPアドレス等)および各ノード1が担当するID空間を管理する。
具体的には、ノード識別子管理部11は、自身が属する分散処理システム1000へのノードの離脱(減設)や追加(増設)が発生した場合に、その情報を外部から受信し、分散処理システム1000を構成するノード1の識別情報等が記憶されたノード識別子管理情報100(図4)を更新する。
図4は、本実施形態に係るノード識別子管理情報100のデータ構成例を示す図である。
図4に示すように、ノード識別子管理情報100には、分散処理システム1000を構成する各ノード1のノード識別子101とアドレス102(例えば、IPアドレス)とが対応付けられて格納される。
このノード識別子101は、例えば、当該分散処理システム1000内において予め設定される特定のノード(例えば、ノード識別子101の昇順に設定)のノード識別子管理部11で付与され、当該分散処理システム1000内の各ノード1に配信される。なお、このノード識別子101は、コンシステント・ハッシュのID空間において仮想IDを用いる場合、仮想ID毎に付与される。
ノード識別子管理部11は、外部から受信したノードIDの変更情報に基づき、ノード識別子管理情報100を更新(ノード1の減設・増設を反映)し、さらに、ノード1のID空間上での担当領域を変更するため、振り分けID情報200(図5)を更新する。
図5は、本実施形態に係る振り分けID情報200のデータ構成例を示す図である。
図5に示すように、振り分けID情報200には、ノード識別子201に対応付けて、そのノード1が担当するID空間202(担当領域)が格納される。このノード識別子201は、図4のノード識別子101と同様の情報である。図5に示す例では、ID空間の全ID数が「0」〜「999」の1000であり、例えば、ノード識別子201が「A」のノード1が、担当するID空間202として「0〜199」について担当することを示している。また、この振り分けID情報200において、ノード識別子201が「A」のノード1(ノード「A」)のID空間上のノードIDは、「199」であり、以下同様に、ノード「B」のID空間上でのノードIDは「399」であり、ノード「C」のID空間上でのノードIDは「599」であり、ノード「D」のID空間上でのノードIDは「799」であり、ノード「E」のID空間上でのノードIDは「999」である。そして、ノード識別子管理部11は、振り分けID情報200において、各ノード1のノードIDを昇順にソートし、連続したID空間202として管理する。
なお、本実施形態においては、閉じたID空間(コンシステント・ハッシュのID空間)上において各IDを時計回りに配置し、データのIDから時計回りに辿った場合に最初に当たったノードをそのデータの担当として説明する。しかしながら、ID空間上において各IDを反時計回りに配置し、データのIDから反時計回りに辿った場合に最初に当たったノードをそのデータの担当とするように構成してもよい。つまり、所定の方向回りにID空間上におけるIDを設定することができる。
分散処理システム1000内の特権ノードのノード識別子管理部11は、各ノード1に対して、最新のノード識別子管理情報100および振り分けID情報200を送信する。これにより、各ノード1のノード識別子管理部11は、ノード識別子管理情報100および振り分けID情報200を常に最新の状態に更新して保持する。このようにすることにより、分散処理システム1000内の各ノード1には、同一のノード識別子管理情報100および振り分けID情報200が保持される。
また、特権ノードは、例えば、このノード識別子管理情報100(図4)の一番上の行のノード1から順に、特権ノードとなるように設定される。ノード1が新たに特権ノードになった場合、自身が特権ノードであることを示す情報を、各ノード1等に送信する。そして、特権ノードは、クラスタ内のノード1について、ID空間上での配置変更(ノードIDの変更等)があった場合に、自身の振り分けID情報200を更新し、その更新情報を、各ノード1に配信する。
図3に戻り、無効ノード設定部12は、分散処理システム1000を構成する各ノード1が、低信頼のノードであるか高信頼のノードであるかを判定するための被災確率情報を取得する。そして、ノード1それぞれについて被災確率情報を参照し、所定の被災確率以上のノード1(被災して障害が発生する確率の高いノード)を、無効ノードとして決定する。無効ノード設定部12は、無効ノードとして決定したノード1について、無効ノード情報300(図6参照)の無効フラグを「ON」にする。
なお、この被災確率情報は、例えば、上記の非特許文献2に記載の技術により実現される。非特許文献2に記載の技術では、災害(地震等)の発生位置と、ネットワーク上の各装置の位置関係に基づき被災確率を算出する。本実施形態に係る特権ノードの無効ノード設定部12は、分散処理システム1000を構成する各ノード1の被災確率情報を、例えばネットワーク管理装置(図示省略)等を介して外部装置から取得する。
図6は、本実施形態に係る無効ノード情報300のデータ構成例を示す図である。
図6に示すように、無効ノード情報300には、ノード識別子301に対応付けて、そのノード1が無効ノードか否かを示す無効フラグ302が格納される。このノード識別子301は、図4のノード識別子101および図5のノード識別子201と同様の情報である。無効フラグ302は、ノード識別子301で示されるノード1が、無効ノードか否かを示すフラグである。例えば、ノード識別子301が「C」のノード1(ノード「C」)は、無効フラグ302が「ON」であるため、ノード「C」が無効ノードであることを示している。なお、無効ノードとは、上記のように、原本データの配置先として設定しないノードを意味する。また、無効ノード以外のノード、つまり、無効フラグ302が「OFF」のノードを高信頼のノードとする。
分散処理システム1000内の特権ノードの無効ノード設定部12は、外部から被災確率情報を受信し、無効ノードに該当するか否かを判定した上で、無効ノード情報300を更新するとともに、各ノード1に対して、最新の無効ノード情報300を送信する。これにより、各ノード1の無効ノード設定部12が、自身の記憶部30に記憶された無効ノード情報300を常に最新の状態に更新して保持する。このようにすることにより、分散処理システム1000内の各ノード1には、同一の無効ノード情報300が保持される。
図3に戻り、振り分け部13は、ロードバランサ3(図1)等を介してクライアント2から受信したメッセージ内の情報(「振り分けキー」)をもとに「hash(key)」を算出し、振り分けID情報200(図5)を参照して、そのメッセージの処理を担当するノード1を抽出する。そして、振り分け部13は、その抽出したノード1について、無効ノード情報300(図6)を参照し、当該ノードが無効ノードであるか否かを確認する。振り分け部13は、当該ノードが無効ノードでなければ、その抽出したノード1のアドレス情報を、ノード識別子管理情報100(図4)を参照して取得し、その抽出したノード1へメッセージの振り分け(送信)を行う。
一方、振り分け部13は、抽出したノード1が無効ノードであれば、振り分けID情報200(図5)および無効ノード情報300(図6)を参照し、その無効ノードのID空間上で時計回りに次に位置する無効ノードではないノード(高信頼のノード)を、振り分け先のノード1として特定する。そして、振り分け部13は、特定したノード1(高信頼のノード)へメッセージの振り分け(送信)を行う。
信号処理部14は、自身のノード1が担当するデータに関するメッセージの信号処理を実行する。このメッセージにより信号処理部14が実行する処理は、例えば、データの登録、更新、検索、削除等である。また、信号処理部14は、データの登録や更新等のメッセージを受信した場合に、振り分けID情報200を参照し、冗長度に応じて、自身のノード1からID空間上で時計回りに次のノードというようにして、データの複製を行うノード(複製ノード)を決定する(冗長度が「3」の場合は、2つの複製ノードを決定する。)。そして、信号処理部14は、決定した複製ノードに対して、原本データを複製した複製データの送信(レプリケーション)を実行する。
この信号処理部14は、信号処理後に送付するメッセージに、例えば、SIP(Session Initiation Protocol)においては「Call-id」をもとに算出したハッシュ値を振り分けキーとして埋め込む(SIPにおいては、例えばTo/FromヘッダのTagに記載する。)ようにしてもよい。これにより、振り分け部13がそのメッセージの後続呼を受信した場合に、振り分けキーとして埋め込まれたハッシュ値を用いて、ノード識別子管理情報100(図4)を参照し、その後続呼を担当するノード1を特定することができる。
原本データ移管部15は、自身が特権ノードである場合には、無効ノード設定部12が、外部から被災確率情報を受信し、無効ノード情報300(図6)を更新した際に、または、自身が特権ノードではない場合は、最新の無効ノード情報300を受信し、自身の記憶部30に記憶された無効ノード情報300を更新した際に、次の処理を行う。
原本データ移管部15は、無効ノード情報300(図6)において、自身の無効フラグ302が、「OFF」から「ON」に変更されたことを確認した場合には、自身が記憶する原本データについてレプリケーションを実行した上で、当該原本データを削除する処理を行う。つまり、ノード1は、原本データを削除する前に、原本データと複製データとの同期をとるためのレプリケーションを実行し、複製データを最新の状態にする。一方、ノード1は、自身が無効ノードとなった場合には、原本データの処理を行わない。よって、無効ノードとなったノード1は、当該原本データを保持する必要がないため削除する。
原本データ移管部15は、無効ノード情報300(図6)において、自身の一つ上の行(レコード)、つまり、ID空間上で反時計回りに隣接する、直近の高信頼のノード1の無効フラグ302を監視し、そのノードの無効フラグ302が「OFF」から「ON」になった場合に、自身が当該ノード1の担当領域について、原本データを処理するノードになったと認識し、自身が記憶部30に格納する複製データを原本データに昇格させる。そして、その原本データの複製データを送信するレプリケーションを実行する。具体的には、原本データ移管部15は、冗長度に応じて、自身のノード1からID空間上で時計回りに次のノードというようにして、その原本データの複製を行うノード(複製ノード)を決定する(冗長度が「3」の場合は、2つの複製ノードを決定する。)。そして、原本データ移管部15は、決定した複製ノードに対して、原本データを複製した複製データの送信(レプリケーション)を実行する。
このようにすることにより、原本データ移管部15は、分散処理システム1000に予め設定されている冗長度を超えた複製データを、余分に記憶しておくことをなくした上で、低信頼と判定されたノード1から、高信頼のノード1に原本データを移管させることができる。
<処理の流れ>
次に、本実施形態に係るノード1が実行する、メッセージ処理の流れについて説明する。なお、ここでは、ノード1が、新規データを登録する処理を例に説明する。また、各ノード1のノード識別子管理部11により、ノード識別子管理情報100および振り分けID情報200についての最新の情報が各ノード1の記憶部30に格納されているものとする。
図7は、本実施形態に係るノード1が実行するメッセージ処理の流れを示すフローチャートである。
まず、特権ノードのノード1は、メッセージ処理を実行するに際して、各ノード1の被災確率情報を常に最新の情報に更新しておく。詳細には、次の処理を実行する。
特権ノードのノード1(無効ノード設定部12)は、ネットワーク管理装置(図示省略)等から、分散処理システム1000内の各ノード1の被災確率情報を受信する(ステップS10)。
そして、無効ノード設定部12は、ノード1それぞれについての被災確率情報を参照し、所定の被災確率以上のノード1を、無効ノードとして決定する。無効ノード設定部12は、無効ノードとして決定したノード1について、無効ノード情報300(図6)を参照し、無効フラグを「ON」に設定することにより、無効ノード情報300を更新する(ステップS11)。
続いて、無効ノード設定部12は、無効ノード情報300の更新情報を生成し、分散処理システム1000内の各ノード1に送信する(ステップS12)。なお、ここで、更新情報には、無効ノード情報300内のデータすべてを送信してもよいし、現時点で各ノード1が記憶している無効ノード情報300との差分を更新情報として送信してもよい。
次に、各ノード1の無効ノード設定部12は、受信した更新情報(無効ノード情報300)を用いて、自身の記憶部30に記憶されている無効ノード情報300を更新する(ステップS13)。
ステップS10〜S13の処理を所定の時間間隔で繰り返し、各ノード1には常に最新の無効ノード情報300を格納させておく。
ここで、分散処理システム1000(図1参照)のいずれかのノード1が、クライアント2からのメッセージ(新規データ登録)を受信する(ステップS14)。
メッセージを受信したノード1の振り分け部13は、振り分けID情報200(図5)および無効ノード情報300(図6)を参照し、振り分け先となるノード1を特定し、メッセージを送信する(ステップS15)。
具体的には、メッセージを受信したノード1の振り分け部13は、受信したメッセージ内の情報(「振り分けキー」)をもとに「hash(key)」を算出し、振り分けID情報200を参照して、そのメッセージの処理を担当するノード1を抽出する。そして、振り分け部13は、その抽出したノード1について、無効ノード情報300を参照し、当該ノードが無効ノードであるか否かを確認する。振り分け部13は、当該ノードが無効ノードでなければ、その抽出したノード1を、メッセージの処理を担当するノードとして特定する。一方、振り分け部13は、抽出したノード1が無効ノードであれば、その無効ノードのID空間上で時計回りに次に位置する無効ノードではないノード(高信頼のノード)を、振り分けID情報200および無効ノード情報300を参照して抽出し、その抽出したノードを、メッセージの処理を担当するノード1として特定する。
そして、振り分け部13は、特定したノード1にメッセージを送信する。なお、振り分け部13は、自身のノード1をメッセージの処理を担当するノードとして特定する場合もある。
振り分け先として特定されたノード1は、メッセージを受信すると、信号処理部14が、そのメッセージに付されたデータを原本データとして、自身の記憶部30に記憶する(ステップS16)。
また、信号処理部14は、振り分けID情報200(図5)を参照し、冗長度に応じて、自身のノード1からID空間上で時計回りに次のノードというようにして、原本データの複製(複製データ)の配置先となるノード(複製ノード)を決定し、その複製データの送信(レプリケーション)を実行する(ステップS17)。そして、メッセージ処理(新規データの登録処理)を終了する。
このようにすることにより、本実施形態に係るノードおよびデータ配置方法によれば、一度、低信頼のノードに原本データを配置した後に、高信頼のノードへ原本データを移管する処理を不要にすることができるとともに、この原本データの移管に伴う、不要なレプリケーションを実行しないようにすることができる。
(本実施形態の変形例)
次に本実施形態の変形例に係るノード1a(図9参照)について説明する。
本実施形態の変形例に係るノード1aは、分散処理システム1000の各ノード1aの負荷を分散するように、つまり、特定のノード1aに負荷が偏らないように、リバランシングを実行する際に、不要なレプリケーションが発生しないようにすることを特徴とする。
図8は、本実施形態に係るノード1(図3参照)において、リバランシングを行う場合の課題を説明するための図である。
ここでは、図8(a)に示すように、低信頼のノード「C」が無効ノードとして設定されているとする。そして、そのノード「C」が本来担当すべきID空間上の領域に配置されている原本データ「G」について、本実施形態においては、無効ノードであるノード「C」ではなく、ID空間上で時計回りに次に位置する無効ノードないノード(高信頼ノード)であるノード「D」が担当している。よって、ノード「D」により、複製ノード「g」が、ID空間上で時計回りに次のノードであるノード「E」と、さらにその次のノードであるノード「A」に配置されている。また、ID空間上において、原本データ「G」が、高信頼のノード「A」の担当領域に配置され、その複製データ「g」が、ID空間上で時計回りに次のノードであるノード「B」と、さらにその次のノードである低信頼のノード「C」に配置されているとする。
この状態において、図8(a)に示すように、無効ノードであるノード「C」の担当領域に、新たなノード「F」が、負荷低減等のリバランシングのために増設されることを想定する。ここで、ノード「C」は、無効ノードであるため、原本データは保持していないが、複製データ「g」は記憶している。新たなノード「F」が、無効ノードであるノード「C」の担当領域に配置されると、図8(b)に示すように、冗長度を保つため、ノード「A」は、新たなノード「F」を自身の原本データの複製を配置する複製ノードとして決定する。そして、ノード「A」は、ノード「F」に対し原本データ「G」の複製データ「g」を送信するレプリケーションを実行する。また、無効ノードであるノード「C」は、不要となった複製データ「g」を削除する処理を行う必要がある。
このように、本実施形態に係るノード1を含む分散処理システム1000において、無効ノードの担当領域に、新たなノード1を増設するようなリバランシングを行おうとすると、必ず新たなノード1へのレプリケーションが発生してしまう。
本実施形態の変形例に係るノード1aでは、上記したレプリケーションの発生を不要とする。以下、具体的に説明する。
図9は、本実施形態の変形例に係るノード1aの構成例を示す機能ブロック図である。図3に示した、本実施形態に係るノード1と、同様の機能については、同一の名称と符号を付し、説明を省略する。
図9に示すように、本実施形態の変形例に係るノード1aは、図3に示すノード1の各構成に加えて、制御部10にリバランシング部16を備える。
リバランシング部16は、分散処理システム1000を構成するノード1の増設や減設を行ったり、ID空間上の各ノード1のノードIDを変更したりすることにより、各ノード1の負荷の偏りの低減(リバランシング)を実現する。
このリバランシング部16は、リバランシング処理を実行する際に、レプリケーションの発生を不要とするため、以下の所定のロジックに基づき、リバランシングを実行する。
〔リバランシングの所定のロジック〕
・無効ノードと高信頼ノードの位置関係を保つ。
図8において説明したように、無効ノードの担当領域に、新たに増設するノードを配置すると、無効ノードと高信頼ノードとのID空間上での位置関係が変更され、必ずレプリケーションが発生してしまう。そのため、リバランシング部16は、リバランシングを実行する際に、無効ノードの担当領域には増設ノードを配置せず、無効ノードと高信頼ノードとのID空間上での位置関係を保つようにする。
具体的には、リバランシング部16は、無効ノードのID空間上のID値を、反時計回りで最初のノード1の次のID値、つまり、反時計回りで最初のノード1のID値に「+1」としたID値に設定する。なお、このID値の設定は、特権ノードのノード識別子管理部11を介して、振り分けID情報200(図5参照)を更新することにより行われる。
このようにすることにより、無効ノードの担当領域に、新たなノードが配置されることを防いだ上で、無効ノードには、複製ノードを配置することが可能となる。
図10は、本実施形態の変形例に係るノード1aがリバランシング(ノード増設)を行う場合の処理を説明するための図である。
本実施形態の変形例に係るノード1aでは、図10(a)に示すように、無効ノード設定部12により、低信頼のノード「C」が無効ノードとして設定されるとともに、リバランシング部16により、ノード「C」のID空間上の位置が、反時計回りで最初のノード1であるノード「B」の次の値(「+1」した値)として設定される。
また、原本データ「G」が、高信頼のノード「D」に配置され、その複製データ「g」が、ID空間上で時計回りに次のノードであるノード「E」と、さらにその次のノードであるノード「A」に配置されている。さらに、原本データ「G」が、高信頼のノード「A」に配置され、その複製データ「g」が、ID空間上で時計回りに次のノードであるノード「B」と、さらにその次のノードである無効ノードのノード「C」に配置されているとする。
この場合において、リバランシング部16は、無効ノードと高信頼ノードの位置関係を保った上で、増設するノード(ここでは、ノード「F」)のID空間上での位置を決定する。例えば、リバランシング部16は、図10(a)に示すように、ノード「D」の担当領域において、原本「G」からみてID空間上で反時計回り側の位置に、増設ノードを配置する位置を決定する。
このリバランシング部16の処理により、リバランシングの際のノードの増設位置が、無効ノードと高信頼ノードの位置関係を保つような位置に決定されると、図10(b)に示すように、新たなノード「F」がID空間上に配置されてもレプリケーションを発生しないようにすることができる。なお、図10においては、無効ノード「C」のIDの値を、反時計回りで最初のノード1であるノード「B」の次の値(「+1」した値)に設定しているため、常に無効ノードと高信頼ノードの位置関係を保つことが可能となる。
以上より、本実施形態の変形例に係るノード1aによれば、分散処理システム1000においてリバランシングを実行する際のレプリケーションを抑制することが可能となる。
なお、本実施形態の変形例に係るノード1aのリバランシング部16は、各ノード1のノード負荷(例えば、CPU使用率、メモリ使用量、処理データの個数等)を監視し、各ノード1の負荷を平均した平均負荷値に基づき、各ノード1の負荷の偏りを低減するようなリバランシング処理を実行する場合においては、原本データの処理を行わない無効ノードを、平均負荷値の計算対象から外すようにする。このようにすることにより、原本データを実際に処理する高信頼ノードそれぞれについての負荷の偏りをより正確に低減することが可能となる。
1,1a ノード
2 クライアント
3 ロードバランサ
10 制御部
11 ノード識別子管理部
12 無効ノード設定部
13 振り分け部
14 信号処理部
15 原本データ移管部
16 リバランシング部
20 入出力部
30 記憶部
100 ノード識別子管理情報
200 振り分けID情報
300 無効ノード情報
400 データ
1000 分散処理システム

Claims (4)

  1. クラスタを構成する複数のノードそれぞれに、コンシステント・ハッシュ法によりメッセージを振り分けて処理させる分散処理システムの前記ノードであって、
    ID空間上における各ノードの担当領域を示す振り分けID情報、および、前記ノードそれぞれについて、原本データを配置しないノードであることを示す無効ノードであるか否かの情報が格納される無効ノード情報、が記憶される記憶部と、
    前記ノード毎の被災により障害が発生する確率を示す被災確率情報を受信し、前記被災確率情報の値が所定の閾値以上のノードを前記無効ノードに決定し、前記無効ノード情報に記憶する無効ノード設定部と、
    受信したメッセージを担当する前記ノードを、前記振り分けID情報を参照して抽出し、前記抽出したノードが、前記無効ノードとして設定されているか否かを、前記無効ノード情報を参照して判定し、前記判定したノードが無効ノードとして設定されている場合に、前記振り分けID情報および前記無効ノード情報を参照し、前記ID空間上における所定回りで前記無効ノードとして設定されていない次のノードを、前記メッセージを処理するノードとして特定し、前記特定したノードに前記メッセージを送信する振り分け部と、
    前記送信されたメッセージを受信し、当該メッセージに基づく処理結果を原本データとして自身の前記記憶部に記憶するとともに、前記原本データの複製を記憶させる複製ノードを、前記振り分けID情報を参照し、前記ID空間上における所定回りで冗長度に応じた数だけ前記無効ノードとして設定されているノードも含めて決定し、前記決定した複製ノードに、前記原本データの複製データを送信することにより記憶させる信号処理部と、
    を備えることを特徴とするノード。
  2. 前記ID空間上での前記ノードの配置を、前記無効ノードと前記無効ノードとして設定されていないノードとの位置関係を保った上で、リバランシングを実行するリバランシング部を、さらに備えること、
    を特徴とする請求項1に記載のノード。
  3. クラスタを構成する複数のノードそれぞれに、コンシステント・ハッシュ法によりメッセージを振り分けて処理させる分散処理システムの前記ノードによるデータ配置方法であって、
    前記ノードは、
    ID空間上における各ノードの担当領域を示す振り分けID情報、および、前記ノードそれぞれについて、原本データを配置しないノードであることを示す無効ノードであるか否かの情報が格納される無効ノード情報、が記憶される記憶部を備えており、
    前記ノード毎の被災により障害が発生する確率を示す被災確率情報を受信し、前記被災確率情報の値が所定の閾値以上のノードを前記無効ノードに決定し、前記無効ノード情報に記憶するステップと、
    受信したメッセージを担当する前記ノードを、前記振り分けID情報を参照して抽出し、前記抽出したノードが、前記無効ノードとして設定されているか否かを、前記無効ノード情報を参照して判定し、前記判定したノードが無効ノードとして設定されている場合に、前記振り分けID情報および前記無効ノード情報を参照し、前記ID空間上における所定回りで前記無効ノードとして設定されていない次のノードを、前記メッセージを処理するノードとして特定し、前記特定したノードに前記メッセージを送信するステップと、
    前記送信されたメッセージを受信し、当該メッセージに基づく処理結果を原本データとして自身の前記記憶部に記憶するとともに、前記原本データの複製を記憶させる複製ノードを、前記振り分けID情報を参照し、前記ID空間上における所定回りで冗長度に応じた数だけ前記無効ノードとして設定されているノードも含めて決定し、前記決定した複製ノードに、前記原本データの複製データを送信することにより記憶させるステップと、
    を実行することを特徴とするデータ配置方法。
  4. 前記ノードは、
    前記ID空間上での前記ノードの配置を、前記無効ノードと前記無効ノードとして設定されていないノードとの位置関係を保った上で、リバランシングを実行するステップを、
    さらに含むことを特徴とする請求項3に記載のデータ配置方法。
JP2016051977A 2016-03-16 2016-03-16 ノードおよびデータ配置方法 Active JP6473425B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016051977A JP6473425B2 (ja) 2016-03-16 2016-03-16 ノードおよびデータ配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016051977A JP6473425B2 (ja) 2016-03-16 2016-03-16 ノードおよびデータ配置方法

Publications (2)

Publication Number Publication Date
JP2017167783A true JP2017167783A (ja) 2017-09-21
JP6473425B2 JP6473425B2 (ja) 2019-02-20

Family

ID=59909031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016051977A Active JP6473425B2 (ja) 2016-03-16 2016-03-16 ノードおよびデータ配置方法

Country Status (1)

Country Link
JP (1) JP6473425B2 (ja)

Citations (3)

* 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 バックアップシステム
JP2014164554A (ja) * 2013-02-26 2014-09-08 Nippon Telegr & Teleph Corp <Ntt> 負荷分散判定システム
JP2015162099A (ja) * 2014-02-27 2015-09-07 日本電信電話株式会社 サーバリソース管理装置

Patent Citations (3)

* 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 バックアップシステム
JP2014164554A (ja) * 2013-02-26 2014-09-08 Nippon Telegr & Teleph Corp <Ntt> 負荷分散判定システム
JP2015162099A (ja) * 2014-02-27 2015-09-07 日本電信電話株式会社 サーバリソース管理装置

Also Published As

Publication number Publication date
JP6473425B2 (ja) 2019-02-20

Similar Documents

Publication Publication Date Title
US10122595B2 (en) System and method for supporting service level quorum in a data grid cluster
JP7270755B2 (ja) 分散システムでのメタデータルーティング
US20190075084A1 (en) Distributed Lock Management Method, Apparatus, and System
US20130346513A1 (en) Migrating a chat message service provided by a chat server to a new chat server
JP6582445B2 (ja) シンクライアントシステム、接続管理装置、仮想マシン稼働装置、方法、および、プログラム
CN105493474A (zh) 用于支持用于同步分布式数据网格中的数据的分区级别日志的系统及方法
CN113010313A (zh) 一种负载均衡方法、装置、电子设备及计算机存储介质
JP5969315B2 (ja) データ移行処理システムおよびデータ移行処理方法
CN107508700B (zh) 容灾方法、装置、设备及存储介质
US8230086B2 (en) Hidden group membership in clustered computer system
JP6473425B2 (ja) ノードおよびデータ配置方法
US20240176762A1 (en) Geographically dispersed hybrid cloud cluster
JP5658621B2 (ja) 信号振分複製先決定システム、信号振分複製先決定方法およびプログラム
JP6322161B2 (ja) ノード、データ救済方法およびプログラム
JP6506156B2 (ja) ノードおよびグラビテーション抑止方法
JP5815000B2 (ja) ノードおよびプログラム
JP5711771B2 (ja) ノード離脱処理システム
JP5711772B2 (ja) クラスタシステム
JP2017220846A (ja) 保守減設システム、ノードおよび保守減設方法
CN110958182B (zh) 一种通信方法及相关设备
CN110221916B (zh) 一种内存扩容方法、装置、配置中心系统及电子设备
JP6714547B2 (ja) 負荷分散装置、負荷分散方法、および、負荷分散プログラム
JP5890452B2 (ja) クラスタシステムのサーバ装置およびそのプログラム
JP5845298B2 (ja) ノードおよびプログラム
JP6127005B2 (ja) クラスタシステムのサーバ装置およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190109

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: 20190122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190125

R150 Certificate of patent or registration of utility model

Ref document number: 6473425

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150