JP2019021022A - 負荷分散装置、負荷分散方法、および、負荷分散プログラム - Google Patents
負荷分散装置、負荷分散方法、および、負荷分散プログラム Download PDFInfo
- Publication number
- JP2019021022A JP2019021022A JP2017138946A JP2017138946A JP2019021022A JP 2019021022 A JP2019021022 A JP 2019021022A JP 2017138946 A JP2017138946 A JP 2017138946A JP 2017138946 A JP2017138946 A JP 2017138946A JP 2019021022 A JP2019021022 A JP 2019021022A
- Authority
- JP
- Japan
- Prior art keywords
- node
- determined
- distribution
- data
- leaving
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
なお、非特許文献3には、SIPのプロトコル仕様について開示されている。
したがって、分散システムにおいて、ノードが離脱する際のデータ移行負荷を抑えることができる。
図1に示すように、負荷分散装置1は、ノード識別子管理部11(ノード識別子管理手段)と、振り分け処理部12(振り分け処理手段)と、ノード識別子管理テーブル13(ノード識別子管理情報)とを備える。
ノード識別子管理部11は、ノード2−1〜2−Nを識別するノード識別子を管理する。
ノード識別子管理テーブル13は、ノード識別子に関連付けられた情報を所定の形式で纏めたテーブルである。
なお、CH法で仮想IDを用いる場合、ノード識別子は、仮想IDごとに保持される。
また、離脱開始時刻は、少なくとも後記する離脱中フラグが1であるときに、対応のノードに対して設定されればよい。図2に示す「−」は、離脱開始時刻が設定されていないことを示す。
振り分け処理部12(図1参照)は、クライアント3−1〜3−Nから受信したメッセージから、当該メッセージの処理対象となるデータのkeyを抽出(取得)する。また、振り分け処理部12は、ノード識別子管理テーブル13を用いてCH法に従い、メッセージの振り分け先を決定する。
振り分け装置が離脱中であるか否かを判断する必要がある場合としては、例えば、TCP(Transmission Control Protocol)を使って通信する場合がある。この場合、離脱要求の対象となる振り分け装置にTCPセッションが張られている間は、当該振り分け装置のフラグを立てる(離脱中とする)。これにより、当該振り分け装置を離脱させないが、当該振り分け装置に新規のTCPセッションが作られないようにすることができる。また、離脱要求の対象となる振り分け装置は、すでに張られたTCPセッションが終了した後、所定のタイミングで離脱する。
図1に示すように、ノード2−1は、ノード識別子管理部21と、メッセージ処理部22と、データ抽出部23と、ノード識別子管理テーブル24と、抽出データ管理テーブル25と、データ記憶部26とを備える。
メッセージ処理部22は、振り分け処理部12から振り分けられたメッセージを処理し、処理結果をクライアント3−1〜3−Nに返すことにより、サービスを提供する。また、メッセージ処理部22は、メッセージを処理すると、対応のデータを生成し、保持する。また、メッセージ処理部22がデータを生成する際、他のノードにデータの複製を保持させデータの冗長化を実現することができる。データの複製を保持する「他のノード」とは、例えば、ノード識別子を昇順に並べたときの次のノードであり、ID空間の右隣のノードである。
データ抽出部23は、例えば、保守者または保守装置等の外部から保守観点のノード離脱要求(データ抽出部23を備えるノード自身に対するノード離脱要求)を受けた場合、ノードの離脱要求を受けたタイミング(離脱中フラグを1にするタイミング)でノード2−1自身が管理しているデータを抽出する。抽出されるデータには、原本、および、他のノードで保持する原本の複製を含む。
抽出データ管理テーブル25は、データ抽出部23が抽出したデータを管理するテーブルである。
ノード2−1自身が管理しているデータが原本であり、複製が存在する場合は、その複製を管理するノードのデータ抽出部23は、複製のデータを抽出する。
データ記憶部26は、ノード2−1が保持するデータを記憶する。データ記憶部26は、データ抽出部23が抽出の対象とするデータを記憶している。データが冗長化され、他のノードで複製が管理される場合には、データ記憶部26は、ノード2−1が保持する原本および複製を記憶する。
次に、負荷分散装置1の振り分け処理部12が実行する振り分け先確定処理について説明する。振り分け先確定処理は、負荷分散装置1がクライアント3−1〜3−Nからメッセージを受信したときに開始する。
離脱対象となるノードの離脱開始時刻より、データ生成時刻が前である場合、離脱対象となるノードの離脱は、生成されるデータについて、当該ノードによる処理が完了した後に実行するように調整される。離脱対象となるノードは、データに対する処理が完了したとき、完了したことを振り分け処理部12および他のノードに通知してもよい。
なお、負荷分散装置1がクライアント3−1〜3−Nから受信したメッセージが、例えば新規メッセージであって、データが未生成である場合も、便宜上、「ステップS5/No」に該当するとし、メッセージの振り分け先を探索する。
振り分け処理部12は、すべてのノードを確認しても複製先が見つからなかった場合は、例外的に、最初に複製先として決定したノードを複製先として確定し、原本を保持するノードのメッセージ処理部22にデータの複製を指示する。指示を受けたメッセージ処理部22は、複製先と確定したノードにデータを複製し、複製先と確定したノードのデータ記憶部26に複製のデータが記憶される。
したがって、分散システムにおいて、ノードが離脱する際のデータ移行負荷を抑えることができる。
また、分散システムを前提とせずに開発されたアプリケーションを分散システムに対応させる場合、すべてのデータをCH法によるデータ管理に移行することで開発コストが高くなる可能性がある。本発明により、CH法を利用した振り分け処理による負荷分散の効果を得つつ、ノード離脱におけるデータ移行を抑止することでアプリケーションによるデータ管理プログラムの変更を不要とすることが可能であり、開発コストの低減化に資する。
本実施形態で説明したソフトウェアをハードウェアとして実現することもでき、ハードウェアをソフトウェアとして実現することもできる。
その他、ハードウェア、ソフトウェア、フローチャートなどについて、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
2−1〜2−N ノード
3−1〜3−N クライアント
11 ノード識別子管理部(ノード識別子管理手段)
12 振り分け処理部(振り分け処理手段)
13 ノード識別子管理テーブル(ノード識別子管理情報)
21 ノード識別子管理部
22 メッセージ処理部
23 データ抽出部
24 ノード識別子管理テーブル
25 抽出データ管理テーブル
26 データ記憶部
Claims (4)
- クライアントからのメッセージを複数のノードのいずれかに振り分ける負荷分散装置であって、
前記ノードごとに、ノード識別子と、当該ノードが離脱中であるか否かを示す離脱中状態と、当該ノードが離脱するときの離脱開始時刻とを対応付けて記憶しているノード識別子管理情報を有し、
前記メッセージから抽出したkeyと前記ノード識別子との関係で所定の第1のルールに従って振り分け先と決定したノードが離脱中であるか否かを、前記ノード識別子管理情報を参照して判定し、
離脱中である場合、前記振り分け先と決定したノードの前記離脱開始時刻よりも、前記メッセージから抽出したデータ生成時刻が前であれば、前記振り分け先と決定したノードを振り分け先として確定し、前でなければ、前記振り分け先と決定したノード以外のノードのうち前記第1のルールに従って決定したノードを振り分け先として確定する振り分け処理部、を備える、
ことを特徴とする負荷分散装置。 - 前記複数のノードが保持するデータが冗長化されており、前記データの原本、および、前記データの1または複数の複製をそれぞれ、異なるノード間で保持する場合、
前記振り分け処理部は、
前記メッセージから抽出したkeyと前記ノード識別子との関係で所定の第2のルールに従って複製先と決定したノードが離脱中であるか否かを、前記ノード識別子管理情報を参照して判定し、
離脱中である場合、前記複製先と決定したノードの前記離脱開始時刻よりも、前記メッセージから抽出したデータ生成時刻が前であれば、前記複製先と決定したノードを複製先として確定し、前でなければ、前記複製先と決定したノード以外のノードのうち前記第2のルールに従って決定したノードを複製先として確定する、
ことを特徴とする請求項1に記載の負荷分散装置。 - クライアントからのメッセージを複数のノードのいずれかに振り分ける負荷分散装置における負荷分散方法であって、
前記負荷分散装置は、
前記ノードごとに、ノード識別子と、当該ノードが離脱中であるか否かを示す離脱中状態と、当該ノードが離脱するときの離脱開始時刻とを対応付けて記憶しているノード識別子管理情報を有しており、
前記メッセージから抽出したkeyと、前記ノード識別子管理情報で記憶されているノード識別子との関係で所定の第1のルールに従って振り分け先となるノードを決定するステップと、
前記振り分け先と決定したノードが離脱中であるか否かを、前記ノード識別子管理情報を参照して判定するステップと、
離脱中である場合、前記振り分け先と決定したノードの前記離脱開始時刻よりも、前記メッセージから抽出したデータ生成時刻が前であれば、前記振り分け先と決定したノードを振り分け先として確定し、前でなければ、前記振り分け先と決定したノード以外のノードのうち前記第1のルールに従って決定したノードを振り分け先として確定するステップと、を実行する、
ことを特徴とする負荷分散方法。 - クライアントからのメッセージを複数のノードのいずれかに振り分ける負荷分散装置としてのコンピュータを、
前記ノードごとに、ノード識別子と、当該ノードが離脱中であるか否かを示す離脱中状態と、当該ノードが離脱するときの離脱開始時刻とを対応付けて記憶しているノード識別子管理情報を管理するノード識別子管理手段、
前記メッセージから抽出したkeyと前記ノード識別子との関係で所定の第1のルールに従って振り分け先と決定したノードが離脱中であるか否かを、前記ノード識別子管理情報を参照して判定し、
離脱中である場合、前記振り分け先と決定したノードの前記離脱開始時刻よりも、前記メッセージから抽出したデータ生成時刻が前であれば、前記振り分け先と決定したノードを振り分け先として確定し、前でなければ、前記振り分け先と決定したノード以外のノードのうち前記第1のルールに従って決定したノードを振り分け先として確定する振り分け処理手段、
として機能させるための負荷分散プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017138946A JP6714547B2 (ja) | 2017-07-18 | 2017-07-18 | 負荷分散装置、負荷分散方法、および、負荷分散プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017138946A JP6714547B2 (ja) | 2017-07-18 | 2017-07-18 | 負荷分散装置、負荷分散方法、および、負荷分散プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019021022A true JP2019021022A (ja) | 2019-02-07 |
JP6714547B2 JP6714547B2 (ja) | 2020-06-24 |
Family
ID=65354688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017138946A Active JP6714547B2 (ja) | 2017-07-18 | 2017-07-18 | 負荷分散装置、負荷分散方法、および、負荷分散プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6714547B2 (ja) |
-
2017
- 2017-07-18 JP JP2017138946A patent/JP6714547B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP6714547B2 (ja) | 2020-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10185497B2 (en) | Cluster federation and trust in a cloud environment | |
US9405781B2 (en) | Virtual multi-cluster clouds | |
US9659075B2 (en) | Providing high availability in an active/active appliance cluster | |
US20090157776A1 (en) | Repartitioning live data | |
CN105493474B (zh) | 用于支持用于同步分布式数据网格中的数据的分区级别日志的系统及方法 | |
JP2013054521A (ja) | 分散制御プログラム、分散制御方法、および情報処理装置 | |
CN112035422B (zh) | 基于ipfs的分布式实时数据同步方法、节点设备及系统 | |
JP5969315B2 (ja) | データ移行処理システムおよびデータ移行処理方法 | |
US20160226963A1 (en) | Load balancing using predictable state partitioning | |
JP5526015B2 (ja) | ゲートウェイシステム、ゲートウェイ装置、負荷分散方法 | |
JP5544521B2 (ja) | 状態管理方法、処理装置、および状態管理プログラム | |
JP6714547B2 (ja) | 負荷分散装置、負荷分散方法、および、負荷分散プログラム | |
JP6432392B2 (ja) | ストレージシステム、ストレージ、管理サーバおよびファイル管理方法 | |
JP5658621B2 (ja) | 信号振分複製先決定システム、信号振分複製先決定方法およびプログラム | |
JP5690296B2 (ja) | 負荷分散プログラムおよび負荷分散装置 | |
JP2024514467A (ja) | 地理的に分散されたハイブリッドクラウドクラスタ | |
JP5711771B2 (ja) | ノード離脱処理システム | |
JP6093320B2 (ja) | 分散処理システム | |
JP6506156B2 (ja) | ノードおよびグラビテーション抑止方法 | |
JP5815000B2 (ja) | ノードおよびプログラム | |
JP6383338B2 (ja) | サーバ、データ一覧作成方法、および、データ一覧作成プログラム | |
JP5845298B2 (ja) | ノードおよびプログラム | |
JP6473425B2 (ja) | ノードおよびデータ配置方法 | |
JP5299448B2 (ja) | 情報通信システム、ノード装置、情報処理方法及びプログラム | |
CN114466013A (zh) | 基于Git的代码管理方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190627 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200318 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200324 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200520 |
|
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: 20200602 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200605 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6714547 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |