JP6325995B2 - 分散システム、負荷分散方法及びプログラム - Google Patents
分散システム、負荷分散方法及びプログラム Download PDFInfo
- Publication number
- JP6325995B2 JP6325995B2 JP2015031180A JP2015031180A JP6325995B2 JP 6325995 B2 JP6325995 B2 JP 6325995B2 JP 2015031180 A JP2015031180 A JP 2015031180A JP 2015031180 A JP2015031180 A JP 2015031180A JP 6325995 B2 JP6325995 B2 JP 6325995B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- nodes
- virtual
- load
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Description
仮想ノード数=現状の仮想ノード数×(全ノードの負荷の平均値/現状の仮想ノードを有するノードの負荷の実測値)…数式(1)
前記ノード毎の負荷の状況に応じて、現状の仮想ノード数、全ノードの負荷の平均値、当該現状の仮想ノードを有するノードの負荷の実測値を求め、これら求めた数値を前記数式(1)に当て嵌めることにより、前記ノード毎に持つ仮想ノード数を算出し、前記現状の仮想ノードの仮想ノード当たりの担当領域のサイズを変更し、この変更後の担当領域のサイズを有する仮想ノードが、前記算出された仮想ノード数だけ存在するように、該当ノードに仮想ノードを割り当てるリバランスを行うリバランス部を備えることを特徴とする分散システムである。
仮想ノード数=現状の仮想ノード数×(全ノードの負荷の平均値/現状の仮想ノードを有するノードの負荷の実測値)…数式(1)
前記ノード毎の負荷の状況に応じて、現状の仮想ノード数、全ノードの負荷の平均値、当該現状の仮想ノードを有するノードの負荷の実測値を求め、これら求めた数値を前記数式(1)に当て嵌めることにより、前記ノード毎に持つ仮想ノード数を算出するステップと、前記現状の仮想ノードの仮想ノード当たりの担当領域のサイズを変更し、この変更後の担当領域のサイズを有する仮想ノードが、前記算出された仮想ノード数だけ存在するように、該当ノードに仮想ノードを割り当てるリバランスを行うステップとを実行することを特徴とする負荷分散方法である。
仮想ノード数=現状の仮想ノード数×(全ノードの負荷の平均値/現状の仮想ノードを有するノードの負荷の実測値)…数式(1)
前記ノード毎の負荷の状況に応じて、現状の仮想ノード数、全ノードの負荷の平均値、当該現状の仮想ノードを有するノードの負荷の実測値を求め、これら求めた数値を前記数式(1)に当て嵌めることにより、前記ノード毎に持つ仮想ノード数を算出する手段、前記現状の仮想ノードの仮想ノード当たりの担当領域のサイズを変更し、この変更後の担当領域のサイズを有する仮想ノードが、前記算出された仮想ノード数だけ存在するように、該当ノードに仮想ノードを割り当てるリバランスを行う手段として機能させるためのプログラムである。
<第1実施形態の構成>
図1は、本発明の第1実施形態に係る分散システムの構成を示すブロック図である。
図1に示す分散システム10は、コンシステント・ハッシュ法を用いた複数のノード15を利用し、データ管理を行うシステムである。本発明の特徴は、分散システム10を構成するノード15間で負荷の偏りが生じた際に、現行ノード15数で対処が可能な場合に、現行ノード15の負荷の偏り状況を踏まえて、効率的にリバランスを行い負荷の偏りを是正するものである。
図2(a)に示すように、制御部18は、ノード識別子管理部18aと、振分部18bと、信号処理部18cと、ノード負荷計測部18dと、分散システム負荷リバランス部(単に、リバランス部ともいう)18eとを備える。
信号処理部18cは、クライアント11からのメッセージに応じて、所定の信号処理を行い、クライアント11にサービスを提供する。つまり、メッセージを担当するノード15では、信号処理部18cにて所定の信号処理を行ってクライアント11にサービスを提供する。この振分部18b及び信号処理部18cの処理動作については後述で更に詳細に説明する。
ノード負荷計測部18dは、ノード15の負荷を計測し、この計測結果を記憶部19にノード負荷計測データ19dとして記録すると共に、必要に応じて定められる特権ノード15(図3に示す例えばノードB)に送付する。
また、記憶部19に記憶される呼制御状態フラグ19fは、新規呼を制御する状態か否かを判別するための情報である。
新規呼か後続呼かの識別は、呼に後述の振分キーが埋め込まれているか否かで判定できる。例えば、SIPにおいては、To/FromヘッダのTag等で判定できる。
ノード識別子管理部18aは、分散システム10へのノード15の追加や離脱が発生した際に、分散システム10を構成するノード15の識別子情報(ノード識別子)を更新し、これを、図4(a)に示すノード識別子管理表19aとして管理する。図4(a)の例においては、ノード識別子(又はノードID)(例えば、「Node1」)に、アドレス(例えば、「10.45.0.1」)が対応付けられている。そのノード識別子は、特権ノードのノード識別子管理部18aで付与され、全ノード15へと配信される。
ノード負荷計測部18dは、所定の周期で当該ノード15の負荷を計測し、これをノード負荷計測データ19dとして記憶部19に記録して蓄積する。また、ノード負荷計測部18dは、所定の周期で特権ノード(例えば図3に示すノードB)に蓄積したノード負荷計測データ19dを送付する。
図5(a)に示す1つのノード15(例えばノードID=Node1)において、図5(b)に示す2つの仮想ノードID(Node1_1,Node1_2)による2つの仮想ノードを保持する。更に、図5(c)に示す1つの仮想ノードID(例えばNode1_1)による仮想ノード当り2つのデータ(data1,data2)を保有する場合を想定してある。他のノードも同様である。
リバランスは、負荷の高いノード15の担当領域(担当のID空間)中の移譲領域(後述)を、負荷の低いノード15へ移譲することで負荷の偏りを是正する。この時、負荷の乖離を是正するために、担当領域の必要な移譲領域のサイズを推定の上、その移譲領域のみを移譲する。但し、移譲領域は、担当領域の全てであったり、担当領域の100%未満の割合の領域であったりする。
(T1)全てのノード15の中で最も負荷の高いノード15の担当領域中の移譲領域を、最も低いノード15に対して移譲していくものとする。
仮想ノード単位の負荷計測の場合、後述のリバランス粒度が粗い場合及びリバランス粒度が中間(粗いと細かいとの中間)の場合の方式が可能となる。
データ単位の負荷計測の場合、後述のリバランス粒度が粗い場合、中間の場合及び細かい場合の3つ全ての方式が採用可能となる。
ノード15全体における負荷の総量を、ノード15全ての仮想ノードID数で割った仮想ノード当たりの平均負荷量「Lv_ave」を算出する。次に、ノード15内において最も負荷の高いノード15に着目し、このノード15について解消すべき負荷量の偏差(この偏差の符号は+であることから、プラス偏差ともいう)「Ltarget」を算出する。次に、「Ltarget」を「Lv_ave」で割った値を、解消すべき負荷量を解消するために必要な仮想ノードID数「Vtarget_num」と考える。
基本的に上述したリバランス粒度が粗い場合と同じであるため、粗い場合との差分のみを説明する。
上述したようにノード15の仮想ノードの中から無作為に仮想ノードを抽出するのではなく、解消すべき負荷量のプラス偏差を発生させている仮想ノードを選択的に抽出し、この抽出した仮想ノードの担当領域中の移譲領域を移譲するものとする。この場合、仮想ノード単位で負荷量を計測しているため、計測負荷は粒度が粗い場合よりも高くなるが、負荷の乖離を是正するための移譲領域の移譲を、より正確に行うことが可能となる。
基本的に上述したリバランス粒度が粗い場合と同じであるため、粗い場合との差分のみを説明する。
次に、第1実施形態に係る分散システム10において、ノード15間の負荷の偏りを是正するリバランスを実行する際の動作(第1のリバランス動作)を、図8〜図12を参照して説明する。
以上説明した第1実施形態の分散システム10は、通信サービスを利用する複数のクライアントマシン11にネットワーク12を介して接続されたロードバランサ13によりクライアント11からの情報が振り分けられる複数のノード15を有して構成されている。
本発明の第2実施形態に係る分散システムについて説明する。第2実施形態の分散システムが、第1実施形態の分散システム10と異なる点は、分散システム負荷リバランス部18eが行うリバランス処理の違いにある。
この際、リバランス部18eは、各ノード15の仮想ノード数を、負荷の状況に合わせて下式(1)により算出し、この算出された各ノード15の仮想ノード数に基づきリバランスする。
但し、式(1)中の「該当ノードの負荷の実測値」は、現状の仮想ノードを有するノードの負荷の実測値である。また、式(1)はリバランス部18eの図示せぬ記憶部に保持されるものとする。
リバランス部18eは、まず、自ノード15が持つ仮想ノード数を再設定する。この再設定の処理を図13(a)及び(b)を参照して説明する。但し、図13(a)及び(b)に示す仮想ノードID「Node1−1」,「Node1−2」は、ノードID「Node1」のノード1(図示せず)に従属する仮想ノード1−1,1−2(図示せず)に対応するものとする。他の仮想ノードIDにおいても同様であり、例えば、仮想ノードID「Node5−1」,「Node5−2」,「Node5−3」は、ノードID「Node5」のノード5(図示せず)に従属する仮想ノード5−1,5−2,5−3(図示せず)に対応するものとする。
以上説明した第2実施形態の分散システムの特徴は、ノード15のリバランス部18eが、上述した式(1)を保持する。更に、リバランス部18eは、ノード15毎の負荷の状況に応じた、現状の仮想ノード数、全ノード15の負荷の平均値、当該現状の仮想ノードを有するノード15の負荷の実測値を求め、これら求めた数値を式(1)に当て嵌めることにより、ノード15毎に持つ仮想ノード数を算出する。そして、リバランス部18eは、現状の仮想ノードの仮想ノード当たりの負荷容量を変更し、この変更後の負荷容量を有する仮想ノードが、算出された仮想ノード数だけ存在するように、該当ノード15に割り当てるリバランスを行うようにした。
11 クライアントマシン
12 ネットワーク
13 ロードバランサ
14 クラスタ
15 ノード
18 制御部
18a ノード識別子管理部
18b 振分部
18c 信号処理部
18d ノード負荷計測部
18e 分散システム負荷リバランス部
19 記憶部
19a ノード識別子管理表
19b 振分ID表
19c データ
19d ノード負荷計測データ
19e 分散システム負荷集計データ
19f 呼制御状態フラグ
Claims (3)
- 通信サービスを利用する複数のクライアントマシンからの情報がネットワークを介して振り分けられる複数のノードを有する分散システムであって、
前記ノードは、記憶部に以下の数式(1)を記憶しており、
仮想ノード数=現状の仮想ノード数×(全ノードの負荷の平均値/現状の仮想ノードを有するノードの負荷の実測値)…数式(1)
前記ノード毎の負荷の状況に応じて、現状の仮想ノード数、全ノードの負荷の平均値、当該現状の仮想ノードを有するノードの負荷の実測値を求め、これら求めた数値を前記数式(1)に当て嵌めることにより、前記ノード毎に持つ仮想ノード数を算出し、
前記現状の仮想ノードの仮想ノード当たりの担当領域のサイズを変更し、この変更後の担当領域のサイズを有する仮想ノードが、前記算出された仮想ノード数だけ存在するように、該当ノードに仮想ノードを割り当てるリバランスを行うリバランス部
を備えることを特徴とする分散システム。 - 通信サービスを利用する複数のクライアントマシンからの情報がネットワークを介して振り分けられる複数のノードを有する負荷分散方法であって、
前記ノードは、
記憶部に以下の数式(1)を記憶しており、
仮想ノード数=現状の仮想ノード数×(全ノードの負荷の平均値/現状の仮想ノードを有するノードの負荷の実測値)…数式(1)
前記ノード毎の負荷の状況に応じて、現状の仮想ノード数、全ノードの負荷の平均値、当該現状の仮想ノードを有するノードの負荷の実測値を求め、これら求めた数値を前記数式(1)に当て嵌めることにより、前記ノード毎に持つ仮想ノード数を算出するステップと、
前記現状の仮想ノードの仮想ノード当たりの担当領域のサイズを変更し、この変更後の担当領域のサイズを有する仮想ノードが、前記算出された仮想ノード数だけ存在するように、該当ノードに仮想ノードを割り当てるリバランスを行うステップと
を実行することを特徴とする負荷分散方法。 - 通信サービスを利用する複数のクライアントマシンからの情報がネットワークを介して振り分けられる複数のノードを有する分散システムの当該ノードとして記憶部に以下の数式(1)を記憶しているコンピュータを、
仮想ノード数=現状の仮想ノード数×(全ノードの負荷の平均値/現状の仮想ノードを有するノードの負荷の実測値)…数式(1)
前記ノード毎の負荷の状況に応じて、現状の仮想ノード数、全ノードの負荷の平均値、当該現状の仮想ノードを有するノードの負荷の実測値を求め、これら求めた数値を前記数式(1)に当て嵌めることにより、前記ノード毎に持つ仮想ノード数を算出する手段、
前記現状の仮想ノードの仮想ノード当たりの担当領域のサイズを変更し、この変更後の担当領域のサイズを有する仮想ノードが、前記算出された仮想ノード数だけ存在するように、該当ノードに仮想ノードを割り当てるリバランスを行う手段
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015031180A JP6325995B2 (ja) | 2015-02-20 | 2015-02-20 | 分散システム、負荷分散方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015031180A JP6325995B2 (ja) | 2015-02-20 | 2015-02-20 | 分散システム、負荷分散方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016153929A JP2016153929A (ja) | 2016-08-25 |
JP6325995B2 true JP6325995B2 (ja) | 2018-05-16 |
Family
ID=56761208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015031180A Active JP6325995B2 (ja) | 2015-02-20 | 2015-02-20 | 分散システム、負荷分散方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6325995B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7014130B2 (ja) * | 2018-11-02 | 2022-02-01 | 日本電信電話株式会社 | 負荷平準化装置、負荷平準化方法および負荷平準化プログラム |
CN115695434A (zh) * | 2022-09-28 | 2023-02-03 | 聚好看科技股份有限公司 | 一种负载均衡方法、装置和电子设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10283330A (ja) * | 1997-04-04 | 1998-10-23 | Hitachi Ltd | 並列計算機の負荷分散制御方法 |
JP2002351853A (ja) * | 2001-05-28 | 2002-12-06 | Fujitsu Ltd | ロード・バランス方式 |
US7979460B2 (en) * | 2006-02-15 | 2011-07-12 | Sony Computer Entainment America Inc. | Systems and methods for server management |
US7716238B2 (en) * | 2006-02-15 | 2010-05-11 | Sony Computer Entertainment America Inc. | Systems and methods for server management |
JP2011150472A (ja) * | 2010-01-20 | 2011-08-04 | Nec Software Chubu Ltd | ウェブサービスシステム、サーバ選択基準決定装置、サーバ選択基準決定方法およびプログラム |
JP5600573B2 (ja) * | 2010-12-07 | 2014-10-01 | 日本放送協会 | 負荷分散装置及びプログラム |
JP6011786B2 (ja) * | 2012-08-06 | 2016-10-19 | 日本電気株式会社 | 分散ストレージシステム、分散ストレージデータ配置制御方法及び分散ストレージデータ配置制御用プログラム |
JP6059558B2 (ja) * | 2013-02-26 | 2017-01-11 | 日本電信電話株式会社 | 負荷分散判定システム |
JP2014186364A (ja) * | 2013-03-21 | 2014-10-02 | Kddi Corp | 分散システム |
-
2015
- 2015-02-20 JP JP2015031180A patent/JP6325995B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016153929A (ja) | 2016-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230379381A1 (en) | Load balanced network file accesses | |
US8850002B1 (en) | One-to many stateless load balancing | |
US10616370B2 (en) | Adjusting cloud-based execution environment by neural network | |
US20130332608A1 (en) | Load balancing for distributed key-value store | |
US8713125B2 (en) | Method and system for scaling usage of a social based application on an online social network | |
JP6428012B2 (ja) | 分散処理プログラム、分散処理管理装置及び分散処理方法 | |
KR20170029263A (ko) | 부하 분산 장치 및 방법 | |
CN105516369A (zh) | 视频云平台负载均衡方法及视频云平台负载均衡调度器 | |
US9641431B1 (en) | System and methods for utilization-based balancing of traffic to an information retrieval system | |
JPWO2018220708A1 (ja) | 資源割当システム、管理装置、方法およびプログラム | |
JP6272190B2 (ja) | 計算機システム、計算機、負荷分散方法及びそのプログラム | |
JP2014186364A (ja) | 分散システム | |
JP6325995B2 (ja) | 分散システム、負荷分散方法及びプログラム | |
CN108200185B (zh) | 一种实现负载均衡的方法及装置 | |
CN103825963B (zh) | 虚拟服务迁移方法 | |
CN106878356B (zh) | 一种调度方法及计算节点 | |
JP6383336B2 (ja) | サーバ管理装置およびサーバ管理方法 | |
JP2017215933A (ja) | 情報処理装置、及び、負荷分散制御方法 | |
Oral et al. | Supporting performance isolation in software as a service systems with rich clients | |
JP2017146848A (ja) | リバランス装置、リバランス方法、及びプログラム | |
JP2017041185A (ja) | 管理サーバ装置及び管理プログラム | |
JP6259408B2 (ja) | 分散処理システム | |
JP6433926B2 (ja) | リバランス装置、リバランス方法、及びプログラム | |
JP6129698B2 (ja) | ソフトウェア配布システム、およびソフトウェア配布方法 | |
JP6219771B2 (ja) | 負荷分散装置、負荷分散方法、および、負荷分散システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180206 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180316 |
|
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: 20180410 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180413 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6325995 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |