JP4981952B2 - 分散コンピューティングシステム - Google Patents
分散コンピューティングシステム Download PDFInfo
- Publication number
- JP4981952B2 JP4981952B2 JP2010127357A JP2010127357A JP4981952B2 JP 4981952 B2 JP4981952 B2 JP 4981952B2 JP 2010127357 A JP2010127357 A JP 2010127357A JP 2010127357 A JP2010127357 A JP 2010127357A JP 4981952 B2 JP4981952 B2 JP 4981952B2
- Authority
- JP
- Japan
- Prior art keywords
- information processing
- server
- reader
- leader
- candidate
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
- G06F11/1425—Reconfiguring to eliminate the error by reconfiguration of node membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
Description
このような分散コンピューティングシステムにおいては、当該システムを構成するサーバに障害が発生した場合であっても、提供するサービスを継続することが求められているため、現行系サーバと待機系サーバ群を備える冗長構成が採用されていることが一般的である。
分散コンピューティングシステムにおいて、現行系サーバに障害が発生した場合において、待機系サーバ群の中から新たにリーダを選定する必要が生じる。従来のリーダの選定方法として、プロセッサグループのプロセッサの加入順に順序づけられたネームサーバに記憶されているメンバシップ・リストから、新しいリーダを選定する方法が存在している(特許文献1)。
この第1条件により、初期総数の過半数以上の情報処理装置の存在をリーダ候補の選択を開始する条件にしていることから、過半数未満の情報処理装置によるリーダ選定の攪乱を防止することができる。また、第2条件により、誤ったリーダ候補の選択を防止し、確実にリーダの選定をすることができる。
本発明の分散コンピューティングシステムSは、複数台のサーバ(情報処理装置)がインターネット等のネットワークN及びLAN(符号L)を介して接続されていることにより構成されている。以下、説明の便宜上、1台のリーダサーバE(旧リーダサーバ)と、4台のエージェントサーバA〜D(以下、5台のサーバを総称して「各サーバ」という場合がある。)を例として説明する。
図1及び図2に示すように、本実施形態の分散コンピューティングシステム(以下、「本システム」という。)Sは、5台のサーバA〜Eから構成されている。各サーバA〜Eは、互いに通信可能に接続され、それらのIPアドレスを把握するクライアントKにネットワークNを介して接続されている。各サーバA〜Eは、同一のデータベースDA〜DEに格納されているデータに対して、クライアントKからの指示を受け、操作実行手段(図示せず)を介して、演算処理等の操作コマンドを実行することにより所望のタスクを行うことができるようになっている。
各サーバA〜Eは、それぞれ汎用コンピュータであり、CPU(図示せず)を備えているが、説明の便宜上は、図2に示すように、そのCPU、記憶装置等のプロセッサ能力、ストレージ能力を合意形成部4A〜4Eと実行部5A〜5E(サーバA,C,Eのみを図示)に分けることができるように構成されている。
上記のように、本システムを構成するPaxos装置Pにおける本件タスクの実行には、リーダサーバEが非常に重要な役割を果たしている。
本件タスクの実行時において、クライアントKは、各サーバA〜Eに対し、いずれのサーバがリーダサーバであるかを問い合わせることができるようになっている。クライアントKは、各サーバA〜EのIPアドレスを把握しているため、それらのいずれかのサーバから、そのサーバがリーダサーバであるか否かを知得することができるようになっている。仮に、何らかの理由(リーダサーバの故障等)でリーダが不在になった場合(初期状態において、未だリーダが選出されたことがない場合も含む)には、早急に、新たなリーダサーバを選定する必要があるが、本システムSは、そのリーダサーバの選定を実現するためのシステムである。
通信データ制御装置10は、通信装置30であるデータ送信装置40及びデータ受信装置50を介して、各種データの送受信を制御するための手段であり、HB通信制御装置20(但し、HBは「ハートビート」の略である。)を備えている。このHB通信制御装置20は、各種の通信データのうち、自身以外の総てのサーバとの双方向通信を維持するためのハートビート通信を制御する装置であり、さらに、HB通信データ作成装置21、HB通信状態確認装置22及びHB通信データ記憶装置23を備えている。
「HB通信データ」は、予め割り当てられている送信元サーバの装置番号及び送信先サーバの装置番号、送信元サーバの計時機能に基づく送信時刻タイムスタンプ(送信時間データ)(以下、「送信時刻タイムスタンプ」という。)、送信先サーバが、後記HB通信データ記憶装置23に記憶している、HB通信データの送信元から一時点前に送られてきた送信時刻タイムスタンプ(以下、「記憶済送信時刻タイムスタンプ」という。)(但し、初回の通信時には存在しないため「0」)(詳細は後記)及び自身が本システムSに加入した日時及び時刻のタイムスタンプ(以下、「加入時刻タイムスタンプ」という。)のデータを少なくとも含んでいる(図4(a))。
例えば、本実施形態では、リーダサーバEは、所定時間間隔(Δt)で、自身以外の各エージェントサーバA〜DにHB通信データを送信し続けるようになっている。また、他のエージェントサーバA〜Dも、リーダサーバEと同様に、自身以外の各サーバA〜EにHB通信データを送信し続けるようになっている。
各サーバA〜Eでは、HB通信データの送信元サーバの送信時刻タイムスタンプを記憶済送信時刻タイムスタンプとして記憶することができるようになっている。そして、この記憶済送信時刻タイムスタンプは、上記送信元サーバを送信先として指定してHB通信データを作成するときに、読み出すことができるようになっている。
上記の通り、例えば、リーダサーバEのHB通信データ送信装置41Eは、所定時間間隔(Δt)で、自身以外の各エージェントサーバA〜DにHB通信データを送信している。送信先のエージェントサーバA〜Dは、障害等が生じて受信不可能な状態になっていない限りは、当該HB通信データを受信し続けているとともに、自らも、送信元のリーダサーバEに対して、同一の時間間隔(Δt)でHB通信データを送信し続けている(但し、送信開始時刻は一致していなくてもよい)。
すなわち、各サーバは、同一の時間間隔(Δt)で通信を行っているため、予め定められている各サーバ間の通信時間(以下、「サーバ間通信時間」という。)をΔdとすると、通信が確立されている場合には、リーダサーバEがHB通信データの送信を行った後、2Δd乃至Δt+2Δdの時間の間に、エージェントサーバA〜DからHB通信データが送信されることになる。
通信装置30は、データ送信装置40及びデータ受信装置50を備え、通信ネットワークNを介して、HB通信データ、リーダサーバ候補データ等の各種データの通信を行うための装置である。
リーダサーバ選定装置60は、新たなリーダサーバ(以下、「新リーダサーバ」という。)の選定が必要となった場合に、自律的に新リーダサーバの選定を行うための装置であり、リーダサーバ選定必要性検出装置61、サーバ接続状態判別装置62(接続維持情報処理装置数判別装置)、リーダサーバ候補選択装置63及びリーダサーバ認識装置64を備えている。
本リーダサーバ選定必要性検出装置61では、初期状態、以前のリーダサーバの回復状態、及び、HB通信状態確認装置22において、これまで認識していたリーダサーバEにおけるHB応答時間が、HB通信状態判別基準時間値を超えた場合には、リーダサーバEからのHB通信が遮断されたと判断し、その場合に、接続サーバ状態判別装置62に対して、各サーバA〜D間の通信状態の確認を命じることができるようになっている。
なお、初期総サーバ数は、記憶装置(図示せず)に予め記憶されている。
なお、加入時刻が同時刻のサーバが存在する場合には、予め定められた判断基準(例えば、一番最後に判断を行ったサーバを最長老サーバと判断する)に従って、最長老サーバが定められることになる。
一方、最長老サーバを調べ、初期総サーバ数の過半数以上のサーバがリーダ候補と認識しているサーバが存在していない場合には、新リーダサーバを認識しないようになっている。
また、新リーダサーバの選定に関与した各サーバは、クライアントKから新リーダサーバに関する問い合わせがあった場合には、新リーダサーバの装置番号を送信することができるようになっている。
続いて、図5を参照して、本システムSの動作について説明する。
なお、本システムSが動作を開始した初期状態においては、リーダサーバ選定必要性検出装置61により、リーダサーバEが存在していない状態であることが検知されることになり、下記とほぼ同様の動作によりリーダサーバEが認識されることになる(S1,S2)ため、以下は、本システムSの動作中におけるリーダ選定に関して説明する。
なお、図6における実線は各サーバの通信が維持されていることを示しており、×印は通信が遮断されていることを示している。また、( )は、本システムSへの加入時刻を示すものであり、各エージェントサーバA〜Dの加入時刻は順に1:00、2:00、3:00、4:00と一時間ずつ遅くなっている(月日は同日と仮定し、省略している)。
なお、仮に上記条件を満たすエージェントサーバが存在しなかった場合には、そのサーバ接続状態判別装置62は、当該エージェントサーバのリーダサーバ候補選択装置63に対して、リーダサーバ候補が不在であることを通知する(S7)。
また、クライアントKは、各サーバA〜Dに対して、新リーダサーバを問い合わせることにより、いずれかのサーバが新リーダサーバAの装置番号を送信することにより、クライアントKは新リーダサーバを認識することができる。そして、当該新リーダサーバAに対して以降の指示を行うことになる。
この第1条件により、初期総数の過半数以上のサーバの存在をリーダ候補サーバの選択を開始する条件にしていることから、過半数未満のサーバによるリーダ選定の攪乱を防止することができる。また、第2条件により、誤ったリーダ候補サーバの選択を防止し、確実にリーダサーバの選定をすることができる。
上記実施形態では、情報処理装置は、5台のサーバの場合を例として説明したが、複数台のコンピューティングデバイスであれば、その種類や数はこれに限られるものではない。また、複数台の情報処理装置は、インターネットやLAN以外にも、どのような接続手段により接続されているものであってもよい。
N ネットワーク
K クライアント
A〜D エージェントサーバ
E (旧)リーダサーバ
P Paxos装置
4A,4C,4E 合意形成部
5A,5C,5E 実行部
D データベース
10 通信データ制御装置
20 HB通信制御装置
21 HB通信データ作成装置
22 HB通信状態確認装置
23 HB通信データ記憶装置
30 通信装置
40 データ送信装置
41 HB通信データ送信装置(通信データ送信装置)
50 データ受信装置
51 HB通信データ受信装置(通信データ受信装置)
60 リーダサーバ選定装置
61 リーダサーバ選定必要性検出装置
62 サーバ接続状態判別装置(接続維持情報処理装置数判別装置)
63 リーダサーバ候補選択装置
64 リーダサーバ認識装置
Claims (3)
- 複数の情報処理装置が、Paxosによって一部がリーダとなり他がエージェントとなって合意を形成し、クライアントからの指示に従い、所定のデータを利用してタスクを行う分散コンピューティングシステムにおいて、
自身以外の前記各情報処理装置に対して、送信時間データと、自身が前記分散コンピューティングシステムに加入した加入時刻とを含む送信データを、ネットワークを介して、所望の時間間隔で送信するための通信データ送信装置と、
自身以外の前記各情報処理装置から、前記ネットワークを介して所望の時間間隔で送信された、前記送信データと同一構造の被送信データを受信する通信データ受信装置と、
前記リーダ選定が必要な状態であることを検出するリーダ選定必要性検出装置と、
前記リーダ選定が必要な場合に、自身と通信が維持されている自身以外の前記各情報処理装置の数である接続維持情報処理装置数を計数し、前記接続維持情報処理装置数が、前記分散コンピューティングシステムの稼働開始時に加入している前記情報処理装置の初期総数の過半数以上か否かを判別するための接続維持情報処理装置数判別装置と、
前記被送信データに記録されている前記自身以外の各情報処理装置の前記加入時刻と、前記自身の加入時刻を比較し、最も古い加入時刻である前記情報処理装置をリーダ候補情報処理装置として選択し、前記自身以外の各情報処理装置に対して、前記リーダ候補情報処理装置の識別情報を送信するリーダ候補選択装置と、
前記自身以外の各情報処理装置から受信した前記リーダ候補情報処理装置の識別情報と、自身の送信した前記リーダ候補情報処理装置の識別情報とを調べ、前記情報処理装置の初期総数の過半数以上の情報処理装置によってリーダ候補情報処理装置と認識されている同一の情報処理装置が存在している場合には、当該情報処理装置を新たなリーダとして認識するリーダ認識装置と、を備え、
前記リーダ認識装置によって認識された前記情報処理装置が当該システムにおける前記リーダとして選定されることを特徴とする分散コンピューティングシステム。 - 前記リーダ候補選択装置は、前記接続維持情報処理装置数が、前記情報処理装置の初期総数の過半数以上である場合に動作することを特徴とする請求項1に記載の分散コンピューティングシステム。
- 前記通信データ送信装置は、
一定時間間隔で、前記各情報処理装置との間で、前記送信データを送信していることを特徴とする請求項1又は請求項2に記載の分散コンピューティングシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010127357A JP4981952B2 (ja) | 2010-06-02 | 2010-06-02 | 分散コンピューティングシステム |
PCT/JP2011/058548 WO2011152117A1 (ja) | 2010-06-02 | 2011-04-04 | 分散コンピューティングシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010127357A JP4981952B2 (ja) | 2010-06-02 | 2010-06-02 | 分散コンピューティングシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011253391A JP2011253391A (ja) | 2011-12-15 |
JP4981952B2 true JP4981952B2 (ja) | 2012-07-25 |
Family
ID=45066503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010127357A Expired - Fee Related JP4981952B2 (ja) | 2010-06-02 | 2010-06-02 | 分散コンピューティングシステム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4981952B2 (ja) |
WO (1) | WO2011152117A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015215754A (ja) * | 2014-05-09 | 2015-12-03 | 日本電信電話株式会社 | クラスタシステムおよびSplit−BrainSyndrome発生防止方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08249196A (ja) * | 1995-03-13 | 1996-09-27 | Mitsubishi Electric Corp | タスクの冗長化実行方式 |
JP4299928B2 (ja) * | 1999-08-30 | 2009-07-22 | 株式会社東芝 | 分散監視制御システム及び方法並びに分散監視制御用ソフトウェアを記録した記録媒体 |
JP2002278787A (ja) * | 2001-03-22 | 2002-09-27 | Nec Corp | マスタ/スレーブ動的構成制御方式 |
US7711825B2 (en) * | 2003-12-30 | 2010-05-04 | Microsoft Corporation | Simplified Paxos |
EP1751660A4 (en) * | 2004-03-09 | 2010-06-16 | Scaleout Software Inc | ARCHITECTURE A QUORUM EVOLUTIVE BASED ON SOFTWARE |
US7334154B2 (en) * | 2004-06-18 | 2008-02-19 | Microsoft Corporation | Efficient changing of replica sets in distributed fault-tolerant computing system |
US7856502B2 (en) * | 2004-06-18 | 2010-12-21 | Microsoft Corporation | Cheap paxos |
US7698465B2 (en) * | 2004-11-23 | 2010-04-13 | Microsoft Corporation | Generalized Paxos |
-
2010
- 2010-06-02 JP JP2010127357A patent/JP4981952B2/ja not_active Expired - Fee Related
-
2011
- 2011-04-04 WO PCT/JP2011/058548 patent/WO2011152117A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2011152117A1 (ja) | 2011-12-08 |
JP2011253391A (ja) | 2011-12-15 |
WO2011152117A8 (ja) | 2012-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5863942B2 (ja) | ウィットネスサービスの提供 | |
US7350098B2 (en) | Detecting events of interest for managing components on a high availability framework | |
US8850575B1 (en) | Geolocation error tracking in transaction processing | |
US8743680B2 (en) | Hierarchical network failure handling in a clustered node environment | |
CN106330475B (zh) | 一种通信系统中管理主备节点的方法和装置及高可用集群 | |
US20140095925A1 (en) | Client for controlling automatic failover from a primary to a standby server | |
JP4695705B2 (ja) | クラスタシステムおよびノード切り替え方法 | |
EP3724761B1 (en) | Failure handling in a cloud environment | |
CN109728981A (zh) | 一种云平台故障监测方法及装置 | |
CN105637811B (zh) | 语义消重 | |
JP4981952B2 (ja) | 分散コンピューティングシステム | |
US8717167B2 (en) | Event detection control method and system | |
US11748217B2 (en) | Method for failure detection and role selection in a network of redundant processes | |
CN105516658A (zh) | 一种监控设备控制方法及装置 | |
US8055991B2 (en) | Error detection and recovery using an asynchronous transaction journal | |
US11102293B2 (en) | System and method for migrating an agent server to an agent client device | |
JP2009217504A (ja) | 計算機システム、計算機制御方法及び計算機制御プログラム | |
JP2009040199A (ja) | 運行管理用フォルトトレラントシステム | |
CN114844807B (zh) | 系统检测方法、装置、设备、存储介质、车辆和云控平台 | |
CN113055203A (zh) | Sdn控制平面的异常恢复方法及装置 | |
CN109219105B (zh) | 路由切换方法以及路由切换系统 | |
WO2021100140A1 (ja) | ネットワーク監視装置、方法およびプログラム | |
JP7167714B2 (ja) | 異常判定装置、異常判定方法、及び異常判定プログラム | |
JP2007323422A (ja) | 分散データベースシステム及びそのデータ同期方法 | |
CN109831342A (zh) | 一种基于分布式系统的故障恢复方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20111207 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20111220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120308 |
|
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: 20120417 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120420 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150427 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4981952 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |