JP2010198442A - Distributed system with failover function and failover method in the same - Google Patents
Distributed system with failover function and failover method in the same Download PDFInfo
- Publication number
- JP2010198442A JP2010198442A JP2009043912A JP2009043912A JP2010198442A JP 2010198442 A JP2010198442 A JP 2010198442A JP 2009043912 A JP2009043912 A JP 2009043912A JP 2009043912 A JP2009043912 A JP 2009043912A JP 2010198442 A JP2010198442 A JP 2010198442A
- Authority
- JP
- Japan
- Prior art keywords
- computer
- system configuration
- computers
- agreement
- protocol 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
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
Description
本発明は、ネットワークで接続されたm台(mは5より大きい整数)のコンピュータのうちn台(nは4<n<mを満たす整数)のコンピュータを同期的に動作させ、(n−t)台(tは3t<nを満たす整数)以上での多重化を保証する分散システムに係り、特に当該n台のコンピュータのいずれかの動作が停滞している場合に、当該停滞しているコンピュータから残りの(m−n)台のコンピュータのうちの1台にフェイルオーバするフェイルオーバ機能を持つ分散システムおよび同システムにおけるフェイルオーバ方法に関する。 The present invention synchronously operates n computers (m is an integer satisfying 4 <n <m) among m computers (m is an integer greater than 5) connected by a network, and (n−t ) Related to a distributed system that guarantees multiplexing over t (t is an integer satisfying 3t <n), and particularly when any of the n computers is stagnant, the stagnating computer The present invention relates to a distributed system having a failover function for failing over to one of the remaining (mn) computers and a failover method in the system.
近年、コンピュータ技術やネットワーク技術の向上は目覚ましく、これに伴って、業務のコンピュータ化が広く行われている。また、その業務の内容によっては、故障などによる中断が許されないものも多く、最近では、複数のコンピュータをネットワークで結合した分散システムを構築することが一般的になりつつある。そして、この分散システムの運用手法の1つに、整列マルチキャストを用いた決定性のプログラムの実行の多重化が存在する。 In recent years, computer technology and network technology have been remarkably improved, and along with this, computerization of business has been widely performed. In addition, depending on the contents of the business, there are many things that cannot be interrupted due to a failure or the like, and recently, it is becoming common to construct a distributed system in which a plurality of computers are connected via a network. One of the distributed system operation techniques is multiplexing of execution of a deterministic program using ordered multicast.
整列マルチキャストは、分散システムへの入力をすべてのコンピュータに配送する仕組みであり、データの到着順序がすべてのコンピュータで同じであることを保証するものである。 The ordered multicast is a mechanism for delivering the input to the distributed system to all computers, and guarantees that the arrival order of data is the same on all computers.
分散システムにおける多重化の手法として、例えば特許文献1は、n台(nは4以上の整数)のコンピュータ(つまり4台以上のコンピュータ)がネットワークで接続された分散システムにおいて、スプリットブレインを原理的に発生させず、タイムアウトによる故障発生時の処理の中断も発生させることがない手法を開示している。
As a multiplexing method in a distributed system, for example,
この特許文献1が開示する従来の多重化手法(先行技術)においては、n台(nは4以上の整数)のコンピュータから構成される分散システムを例にとると、当該n台のコンピュータを同期的に動作させ、当該n台のコンピュータのうちの(n−f)台(fは、最大許容障害数と呼ばれる、3f<nを満たす最大の整数)以上での多重化を保証するために、当該n台のコンピュータの各々は、入力候補収集手段と入力候補選定制御手段(第1の入力候補選定制御手段)とを具備する。入力候補収集手段は、n台のコンピュータそれぞれが次に処理する候補として選択した入力データをネットワークを介して収集する。入力候補選定制御手段は、入力候補収集手段により収集された入力データが(n−f)個以上存在する場合に、その中に同一内容の入力データが(n−f)個以上あるか否かを判定し、(n−f)個以上あったときに、その入力データを次に処理する対象として確定する。これにより入力データが整列マルチキャストされる。このように、収集された(n−f)個以上の入力データの中に同一内容の入力データが(n−f)個以上あることを入力候補選定制御手段が判定することは、(n−f)台以上のコンピュータで入力データの合意をとることに他ならない。つまり入力候補選定制御手段は合意手段として機能することを意味する。
In the conventional multiplexing method (prior art) disclosed in
例えば、特許文献2では、最大許容障害数fに相当する変数としてtが用いられる。この場合、(n−t)台以上のコンピュータで入力データの合意をとることにより、n台のコンピュータのうちの最大t台の故障(いわゆるビザンチン型の故障)が許容される。このようなアルゴリズムは、t−耐故障ビザンチン合意アルゴリズム、t−耐故障ビザンチン将軍アルゴリズム、或いは単にt−耐故障アルゴリズムと呼ばれる。以下の説明では、上述のアルゴリズムをt−耐故障アルゴリズムと称し、特許文献1が開示する先行技術に関しても、煩雑さを防ぐために最大許容障害数として「t」を用いることにする。また以下の説明では、上述のn台のコンピュータを、多重化を構成するコンピュータまたは同期的に動作させられるべきコンピュータと称することもある。
For example, in
t−耐故障アルゴリズムでは、tは、3t<nを満たす0より大きい整数であればよく、必ずしも特許文献1に記載されているように、3t<nを満たす最大の整数である必要はない。
In the t-fault tolerance algorithm, t may be an integer larger than 0 that satisfies 3t <n, and does not necessarily need to be the maximum integer that satisfies 3t <n as described in
特許文献1に記載の先行技術によれば、n台(nは4以上の整数)のコンピュータから構成される分散システム、つまり多重化を構成するコンピュータがn台の分散システムでは、t台までのコンピュータの故障が許容される。
According to the prior art described in
ここで、n台のコンピュータの中に定常的に遅延している(つまり動作が停滞している)コンピュータが存在する場合を想定する。この場合、遅延しているコンピュータの台数がt台までであれば、残りの(n−t)台のコンピュータで合意をとることができるため、リアルタイム性を確保できる。 Here, it is assumed that there are computers that are constantly delayed (that is, whose operations are stagnant) among the n computers. In this case, if the number of delayed computers is t, the remaining (nt) computers can be agreed, so that real-time performance can be ensured.
次に、t台のコンピュータが故障して、動作しているコンピュータが(n−t)台となった状態を想定する。このような状態では、動作している(n−t)台のコンピュータの中に遅延しているコンピュータがあると、その遅延しているコンピュータを含めて合意をとる必要がある。このような場合、分散システムにおける処理速度が、遅延しているコンピュータの処理速度になってしまう。 Next, it is assumed that t computers have failed and there are (nt) computers operating. In such a state, if there is a delayed computer among the (nt) computers in operation, it is necessary to obtain an agreement including the delayed computer. In such a case, the processing speed in the distributed system becomes the processing speed of the computer that is delayed.
つまり先行技術においては、t台までのコンピュータの故障が許容されるものの、t台のコンピュータが故障して、(n−t)台のコンピュータの中に遅延しているコンピュータがあると、分散システム全体の処理速度の低下を招く。 That is, in the prior art, a failure of up to t computers is allowed, but if t computers fail and there are (nt) computers that are delayed, the distributed system The overall processing speed is lowered.
本発明は上記事情を考慮してなされたものでその目的は、多重化を構成するコンピュータのうちで動作が停滞しているコンピュータを検出して待機状態にあるコンピュータにフェイルオーバすることで、リアルタイム性を確保できるフェイルオーバ機能を持つ分散システムおよび同システムにおけるフェイルオーバ方法を提供することにある。 The present invention has been made in consideration of the above circumstances, and its purpose is to detect a computer that is stagnant among computers constituting a multiplex and to fail over to a computer in a standby state, thereby realizing real-time performance. It is an object to provide a distributed system having a failover function capable of ensuring the above and a failover method in the system.
本発明の1つの観点によれば、ネットワークで接続されたm台(mは5以上の整数)のコンピュータのうちn台(nは4≦n<mを満たす整数)のコンピュータを稼動状態に設定して、t−耐故障アルゴリズムの適用により同期的に動作させる、フェイルオーバ機能を持つ分散システムが提供される。この分散システムを構成する前記m台のコンピュータの各々は、前記m台のコンピュータが、それぞれ同期的に動作させられるべき稼動状態にあるか、或いは待機状態にあるかを示すシステム構成情報を格納するシステム構成記憶手段と、前記システム構成記憶手段に格納されているシステム構成情報によって稼動状態にあることが示されているn台のコンピュータのうちの(n−t)台(tは3t<nを満たす0より大きい整数)以上での多重化を保証するために、当該(n−t)台以上のコンピュータで入力データの合意をとることで当該入力データを整列マルチキャストする合意手段と、前記n台のコンピュータのうち、自身と比較して予め定められたレベル以上停滞しているコンピュータを、前記合意手段による整列マルチキャストの実行状況に基づいて検出し、前記停滞しているコンピュータを検出した場合、前記停滞しているコンピュータの検出に関し、前記n台のコンピュータのうちの自身を含む(n−t)台以上のコンピュータで合意をとることで、前記停滞しているコンピュータの検出を確認する検出手段と、前記停滞しているコンピュータの検出の確認に応じて、確認された前記停滞しているコンピュータを待機状態とし、待機状態にあるコンピュータを稼動状態とするように、前記システム構成記憶手段に格納されているシステム構成情報情報を更新することによって、前記停滞しているコンピュータから前記待機状態にあるコンピュータへフェイルオーバするシステム構成設定手段とを具備する。 According to one aspect of the present invention, n (n is an integer satisfying 4 ≦ n <m) computers among m computers (m is an integer of 5 or more) connected via a network are set to an operating state. Thus, a distributed system having a failover function that operates synchronously by application of the t-fault tolerance algorithm is provided. Each of the m computers constituting the distributed system stores system configuration information indicating whether the m computers are in an operating state to be operated synchronously or in a standby state. The system configuration storage means and (nt) computers (n is 3t <n) among the n computers indicated to be in the operating state by the system configuration information stored in the system configuration storage means. In order to guarantee multiplexing at an integer greater than or equal to 0), an agreement means for arranging and multicasting the input data by agreeing the input data with the (nt) or more computers, and the n units Computers that are stagnant more than a predetermined level compared to itself, are arranged multicast by the agreement means When detecting based on the execution status and detecting the stagnant computer, the detection of the stagnant computer is performed by (nt) or more computers including itself among the n computers. According to the agreement, the detection means for confirming the detection of the stagnant computer and the confirmed stagnant computer are put into a standby state in accordance with the confirmation of the detection of the stagnant computer, and the standby System configuration for failing over from the stagnated computer to the computer in the standby state by updating the system configuration information information stored in the system configuration storage means so that the computer in the state is in the operating state Setting means.
本発明によれば、停滞しているコンピュータを検出した場合、この停滞しているコンピュータの検出に関し、停滞しているコンピュータを検出したコンピュータを含む(n−t)台以上のコンピュータで合意をとることで、停滞しているコンピュータを正しく検出できたことを確認することができる。また本発明によれば、この確認に応じて、確認された停滞しているコンピュータを待機状態とし、待機状態にあるコンピュータを稼動状態とするシステム変更を行うことで、つまり停滞しているコンピュータから待機状態にあるコンピュータにフェイルオーバすることで、アルタイム性を確保することができる。 According to the present invention, when a stagnant computer is detected, an agreement is reached between (nt) or more computers including the computer that has detected the stagnant computer regarding the detection of the stagnant computer. Thus, it can be confirmed that the stagnant computer has been correctly detected. Further, according to the present invention, in response to this confirmation, by making a system change in which the confirmed stagnated computer is set in a standby state and the computer in a standby state is in an operating state, that is, from a stagnant computer By failing over to a computer in a standby state, it is possible to ensure real-time performance.
以下、本発明の実施の形態につき図面を参照して説明する。
図1は本発明の一実施形態に係る分散システムの構成を示すブロック図である。図1において、分散システム10は、例えば5台のコンピュータ100-1(#1)〜100-5(#5)から構成されている。コンピュータ100-1〜100-5のうち、t−耐故障アルゴリズムによる多重化を保証するのに必要な台数以上のコンピュータ、例えば4台のコンピュータ100-1〜100-4は稼動状態にあるものとする。この稼動状態にあるコンピュータ100-1〜100-4は多重化を構成する。コンピュータ100-1〜100-5のうち、残りのコンピュータ100-5は待機状態にある。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram showing a configuration of a distributed system according to an embodiment of the present invention. In FIG. 1, the distributed system 10 includes, for example, five computers 100-1 (# 1) to 100-5 (# 5). Of the computers 100-1 to 100-5, it is assumed that more than the number of computers necessary for guaranteeing multiplexing by the t-fault tolerance algorithm, for example, four computers 100-1 to 100-4 are in operation. . The computers 100-1 to 100-4 in this operating state constitute multiplexing. Of the computers 100-1 to 100-5, the remaining computer 100-5 is in a standby state.
ここで、分散システム10を構成するコンピュータの数をmで表し、分散システム10において現在多重化されている(稼動状態にある)コンピュータの数をnで表すものとする。nは上記特許文献1と同様に4以上の整数であり、mはnより大きい整数である。つまり、nは、4≦n<mを満たす整数である。この場合、tを3t<nを満たす0より大きい整数とすると、t−耐故障アルゴリズムにより、n台のコンピュータのうちの最大t台の故障が許容される。図1の分散システムの例では、nは4であり、mは5である。nが4の場合、tは1となり、1台のコンピュータの故障が許容される。tが1の場合、t台のコンピュータの故障を許容するのに必要なn、つまりt−耐故障アルゴリズムによる多重化を保証するのに必要なコンピュータの台数の最小値は4である。図1の分散システムの例は、この場合に相当する。
Here, the number of computers constituting the distributed system 10 is represented by m, and the number of computers currently multiplexed in the distributed system 10 (in an operating state) is represented by n. n is an integer of 4 or more as in
コンピュータ100-1〜100-5は、ネットワークAを介してクライアント装置200と接続されている。コンピュータ100-1〜100-5は、クライアント装置200以外のクライアント装置(図示せず)ともネットワークAを介して接続されているものとする。本実施形態においてネットワークAはパブリックネットワーク(外部ネットワーク)である。コンピュータ100-1〜100-5間は、ネットワークBを介して接続されている。本実施形態においてネットワークBはプライベートネットワーク(内部ネットワーク)である。
The computers 100-1 to 100-5 are connected to the
稼動状態にあるコンピュータ100-1〜100-4、つまり分散システム10において多重化を構成しているコンピュータ100-1〜100-4は、前記特許文献1に記載された分散システムにおけるコンピュータと同様に、ネットワークAを介してクライアント装置200から受け取った入力パケット(入力)を他のコンピュータと同じ順序で処理していく。なお、クライアント装置200からの入力パケットは、コンピュータ100-1〜100-4のうちのいずれかのコンピュータに入力される。
The computers 100-1 to 100-4 in operation, that is, the computers 100-1 to 100-4 constituting multiplexing in the distributed system 10, are the same as the computers in the distributed system described in
コンピュータ100-1〜100-5は、それぞれ同一のアプリケーションプログラム3(図2参照)を有している。コンピュータ100-1〜100-5のうち、多重化を構成するコンピュータ100-1〜100-4は、同一の初期状態から始まる。その後、クライアント装置200から分散システムに入力されるデータは、必ず整列マルチキャストを通して、コンピュータ100-1〜100-4に同一順序で配送される。これにより、コンピュータ100-1〜100-4においてそれぞれのアプリケーションプログラム3が実行される。
Each of the computers 100-1 to 100-5 has the same application program 3 (see FIG. 2). Among the computers 100-1 to 100-5, the computers 100-1 to 100-4 constituting the multiplexing start from the same initial state. Thereafter, data input from the
コンピュータ100-1〜100-4がそれぞれ有するアプリケーションプログラム3への入力データ列は、整列マルチキャストにより同一順序となっている。このため、前記特許文献1に記載されているような決定性のプログラムの特徴により、コンピュータ100-1〜100-4の状態が同一に保たれ、出力データ列もすべて同じとなる。つまり、プログラムの実行が多重化される。
The input data string to the
図2は、図1に示されるコンピュータ100-i(i=1,2,…-5)の構成を示すブロック図である。図2において、クライアント装置200からネットワークAを介してコンピュータ100-iに送信されて、当該コンピュータ100-iの入力受付キュー部(以下、受付キューと称する)1で受け付けられた入力パケットは、当該受付キュー1に受付順に積まれる。受付キュー1に積まれた入力パケットは、整列マルチキャスト部2(内の入力パケット確定判定部26に含まれている合意部262)によってアプリケーションプログラム3または後述するシステム構成管理部6に配送される。なお、受付キュー1に積まれる入力パケットには、クライアント装置200からの入力パケットの他に、システム構成管理部6のシステム構成変更検出部63から送られるシステム構成変更を要求する特定の入力パケット(システム構成変更要求パケット)がある。
FIG. 2 is a block diagram showing a configuration of the computer 100-i (i = 1, 2,... -5) shown in FIG. In FIG. 2, an input packet transmitted from the
アプリケーションプログラム3は、配送された入力パケットを受けて、プログラム状態管理部4に保存されている状態に従って当該入力パケットを処理し、出力パケットを生成する。生成された出力パケットは、出力フィルタ部5で選別されてから、ネットワークAを介してクライアント装置200に返却される(出力)。
The
次に、コンピュータ100-iの整列マルチキャスト部2の構成について説明する。整列マルチキャスト部2は、前記特許文献1に記載された整列マルチキャスト部と同様に、入力順序番号記憶部21、入力パケットジャーナル記憶部22、整列マルチキャストプロトコルデータ送受信部23、ステップ番号記憶部24、候補パケット記憶部25、入力パケット確定判定部26、最大確定入力順序番号記憶部27、遅延記憶部28およびスキップ判定部29の周知の構成を含んでいる。
Next, the configuration of the ordered
入力順序番号記憶部21は、整列マルチキャストによってコンピュータ100-iへ次に配送される入力パケットの順序番号(つまり整列マルチキャストにシリアルに付される最新の順序番号)を格納する。入力パケットジャーナル記憶部22は、整列マルチキャストによってコンピュータ100-iへの配送が確定した入力パケットの列を最近のものから一定の量だけ格納する。
The input sequence
整列マルチキャストプロトコルデータ送受信部23は、システム構成管理部6の後述するシステム構成記憶部61を参照して、他の稼動状態にあるコンピュータの整列マルチキャストプロトコルデータ送受信部23とネットワークBを介してプロトコルデータ(整列マルチキャストプロトコルデータ)を授受する。
The ordered multicast protocol data transmission /
本実施形態では、クライアント装置200とコンピュータ100-iとの間のデータの授受と、コンピュータ100-i相互間のデータの授受とで、使用するネットワークが切り替えられる。これによりネットワーク負荷が軽減される。しかし、クライアント装置200とコンピュータ100-iとの間のデータの授受と、コンピュータ100-i相互間のデータの授受とが、例えばネットワークAを介して行われる構成であっても構わない。またネットワークAが必ずしもパブリックネットワークである必要はない。
In this embodiment, the network to be used is switched between data exchange between the
ステップ番号記憶部24、候補パケット記憶部25および入力パケット確定判定部26は、整列マルチキャストによってコンピュータ100-iへ次に配送される入力パケットを決定し、またシステム構成を変更するアルゴリズムで用いられる。
The step number storage unit 24, the candidate packet storage unit 25, and the input packet
ステップ番号記憶部24は、プロトコルのステップを示すステップ番号を格納する。候補パケット記憶部25は、そのステップにおける各コンピュータの「入力候補」となる入力パケットを計n個格納する。 The step number storage unit 24 stores a step number indicating a protocol step. The candidate packet storage unit 25 stores a total of n input packets that are “input candidates” for each computer in that step.
入力パケット確定判定部26は、候補パケット記憶部25の情報から入力パケットの確定の判定および次ステップの「入力候補」の決定を行う。入力パケット確定判定部26はさらに、前記特許文献1に記載された入力パケット確定判定部と異なり、入力パケットをアプリケーションプログラム3およびシステム構成管理部6(内のシステム構成設定部64)のいずれに渡すかを決定する。この決定のために、受付キュー1に積まれる入力パケットには、処理種別を示す情報(処理種別情報)が付加される。入力パケット確定判定部26は、入力候補収集部261および合意部262を含む。
The input packet
図3は受付キュー1に積まれるデータ(入力パケットデータ)のデータ構造例を示す。図3に示されるように、入力パケットデータは、処理種別および入力パケットの各フィールドを含む。入力パケットフィールドには入力パケットが格納(設定)され、処理種別フィールドには処理種別情報が格納(設定)される。
FIG. 3 shows an example of the data structure of data (input packet data) accumulated in the
本実施形態において処理種別情報は、入力パケットフィールドに格納されている入力パケットをアプリケーションプログラム3またはシステム構成管理部6(内のシステム構成設定部64)のいずれに渡すかを入力パケット確定判定部26(内の合意部262)が決定するための処理種別を示す。そのため、処理種別情報の示す処理種別は、(1)アプリケーションと(2)構成とに分けられる。処理種別が「アプリケーション」の場合、入力パケットが外部のクライアント装置2000から入力されたものであることをも示し、処理種別が「構成」の場合、入力パケットが分散システム10を構成するいずれかのコンピュータのシステム構成管理部6(内のシステム構成変更検出部63)から当該いずれかのコンピュータの受付キュー1に入力されたものであることをも示す。
In the present embodiment, the processing type information indicates whether the input packet stored in the input packet field is to be passed to the
再び図2を参照すると、最大確定入力順序番号記憶部27は、多重化を構成している(稼動状態にある)他のコンピュータも含め、配送が確定したことがわかっている最大の入力順序番号を格納する。遅延記憶部28は、多重化を構成している他の(n−1)台(n=4)のコンピュータよりも遅延しているかどうかを示す(n−1)個の遅延フラグ(n=4の本実施形態では、3個のフラグ)を格納する。スキップ判定部29は、遅延記憶部28の情報からスキップ動作の必要性を判定およびスキップ動作を実行する。
Referring to FIG. 2 again, the maximum confirmed input sequence
以降の説明では、入力順序番号記憶部21に格納された入力順序番号を該当入力順序番号と呼び、ステップ番号記憶部24に格納されたステップ番号を該当ステップ番号と呼ぶ。コンピュータ100-iの整列マルチキャスト部2に含まれている候補パケット記憶部25に格納されているn個の「入力候補」のうち、当該コンピュータ100-i自身(自コンピュータ)に対応する「入力候補」を自候補と呼び、当該自候補以外の「入力候補」を他候補と呼ぶ。
In the following description, the input sequence number stored in the input sequence
次に、整列マルチキャストプロトコルデータ送受信部23によって送受信される整列マルチキャストプロトコルデータについて説明する。
図4は、整列マルチキャストプロトコルデータのレイアウトを示す図である。図4に示されるように、整列マルチキャストプロトコルデータ送受信部23によって送受信される整列マルチキャストプロトコルデータは、種類、送信者、入力順序番号、ステップ番号(整列マルチキャストステップ番号)、最大確定入力順序番号、処理種別および入力パケットの各フィールドを含む。図4に示される整列マルチキャストプロトコルデータが前記特許文献1に記載されているプロトコルデータと相違するのは、前述の処理種別フィールドが追加されている点にある。
Next, the ordered multicast protocol data transmitted / received by the ordered multicast protocol data transmitting / receiving
FIG. 4 is a diagram showing a layout of the ordered multicast protocol data. As shown in FIG. 4, the ordered multicast protocol data transmitted / received by the ordered multicast protocol data transmitting / receiving
整列マルチキャストプロトコルデータは先頭の種類フィールドによって、次の3つに使い分けられる。
(1)候補種類
入力順序番号フィールド、ステップ番号フィールド、入力パケットフィールドには、それぞれ、送信者(送信側コンピュータ)の送信時における該当入力順序番号、該当ステップ番号、自候補が格納される。
The ordered multicast protocol data is used in the following three types depending on the type field at the top.
(1) Candidate type The input order number field, the step number field, and the input packet field respectively store a corresponding input order number, a corresponding step number, and a self-candidate at the time of transmission by the sender (transmission side computer).
(2)確定種類
その入力順序番号(入力順序番号フィールドに格納されている入力順序番号)に対応する入力パケットが、送信者の送信時における入力パケットジャーナル記憶部22にあることを示し、入力パケットフィールドには、その入力パケットが格納される。この場合、ステップ番号フィールドは使用されない。
(2) Determined type Indicates that the input packet corresponding to the input sequence number (the input sequence number stored in the input sequence number field) is in the input packet
(3)遅延種類
その入力順序番号に対応する入力パケットが、送信者の送信時における入力パケットジャーナル記憶部22にないことを示す。この場合、ステップ番号フィールドおよび入力パケットフィールドは使用されない。
(3) Delay type Indicates that there is no input packet corresponding to the input sequence number in the input packet
いずれの種類の整列マルチキャストプロトコルデータにおいても、最大確定入力順序番号フィールドには、送信者(送信側コンピュータ)からの整列マルチキャストプロトコルデータ送信時における該当最大確定入力順序番号が格納される。また、整列マルチキャストプロトコルデータの受信側コンピュータにおける該当最大確定入力順序番号は、当該受信側コンピュータで確定された入力パケットの順序番号と、当該受信側コンピュータで受信された整列マルチキャストプロトコルデータ中の最大確定入力順序番号とのうち、最も大きいものに更新される。 In any type of ordered multicast protocol data, the maximum determined input sequence number field stores the corresponding maximum determined input sequence number at the time of transmitting the ordered multicast protocol data from the sender (sender computer). In addition, the corresponding maximum confirmed input sequence number in the receiving computer of the ordered multicast protocol data is the sequence number of the input packet determined in the receiving computer and the maximum determined in the ordered multicast protocol data received in the receiving computer. The input sequence number is updated to the largest one.
本実施形態では、分散システム10内のコンピュータ100-iは、前記特許文献1に記載されたコンピュータと異なり、多重化を構成するコンピュータを、当該システム10の状況に応じて動的に変更するための新規の構成を含む。即ちコンピュータ100-iは、図2に示されるように、システム構成管理部6をさらに有する。システム構成管理部6は、分散システム10の構成を管理・決定する。この分散システム10の構成の決定は、多重化を構成するコンピュータ間の合意に基づいて行われる。
In the present embodiment, unlike the computer described in
システム構成管理部6は、システム構成記憶部61、最大確定入力順序番号履歴記憶部62、システム構成変更検出部63、システム構成設定部64、システム構成変更合意プロトコルデータ送受信部65、およびシステム構成通知プロトコルデータ送受信部66から構成される。
The system
システム構成記憶部61は、分散システム10の構成に関するシステム構成情報を格納する。システム構成情報は、分散システム10を構成するコンピュータと当該コンピュータの状態とを示す情報を含む。コンピュータの状態は、当該コンピュータが稼動している稼動状態(つまり多重化を構成している状態)、或いは待機している待機状態(つまり多重化を構成していない状態)のいずれかである。システム構成情報はさらに、分散システム10を構成するコンピュータの優先度を示す情報(優先度情報)を含む。この優先度は、稼動状態にあったコンピュータの停滞の検出に応じてフェイルオーバを実施する際に優先的に使用するコンピュータを決定するのに用いられる。
The system
図5は、システム構成記憶部61のデータ構造例を示す。図5の例では、分散システム10を構成するコンピュータを示す情報として、コンピュータ名が用いられている。本実施形態において、コンピュータ100-1〜100-5のコンピュータ名がコンピュータ#1〜#5であるものとすると、図5に示すシステム構成記憶部61は、分散システム10がコンピュータ100-1〜100-5から構成されていることを示す。
FIG. 5 shows an exemplary data structure of the system
また図5に示すシステム構成記憶部61は、コンピュータ100-1〜100-4が稼動状態にあり、コンピュータ100-5が待機状態にあることを示す。つまり図5に示すシステム構成記憶部61は、図1の状態の分散システム10の構成を示している。
The system
図5に示すシステム構成記憶部61はさらに、コンピュータ100-1,100-2,100-3,100-4,100-5の優先度が、それぞれ1,2,3,4,5であることを示す。本実施形態では、優先度の値が小さいほど高優先度となる。したがって図5の例では、コンピュータの優先度は、コンピュータ100-1が最も高く、以下コンピュータ100-2,100-3,100-4,100-5の順となる。但し、nが4、mが5である本実施形態では、待機状態にあるコンピュータはコンピュータ100-5のみであることから、フェイルオーバを実施する際には、当該コンピュータ100-5が優先度に無関係に使用される。もし、mが5よりも大きく、したがって待機状態にあるコンピュータがコンピュータ100-5を含めて複数存在するならば、フェイルオーバを実施する際には、この複数の待機状態にあるコンピュータのうち最も優先度が高いコンピュータが使用される。
In the system
最大確定入力順序番号履歴記憶部62は、多重化を構成している(稼動状態にある)各コンピュータの、配送が確定したことが分かっている最大の入力順序番号(最大確定入力順序番号)の履歴を格納する。より詳細には、最大確定入力順序番号履歴記憶部62は、自コンピュータの最大確定入力順序番号記憶部27に格納されている最大確定入力順序番号が変更される毎に、その時刻を示すタイムスタンプに加えて、多重化を構成している各コンピュータ(図1の例ではコンピュータ100-1〜100-4)の、配送が確定したことがわかっている最大の入力順序番号を、時系列順に格納するのに用いられる。
The maximum confirmed input sequence number
図6は最大確定入力順序番号履歴記憶部62のデータ構造例を示す。図6の例では、ある時点以降のコンピュータ100-4(#4)における最大確定入力順序番号が、他のコンピュータ100-1(#1)〜100-3(#3)よりも小さく、遅延していることが示されている。
FIG. 6 shows an example of the data structure of the maximum confirmed input sequence number
システム構成変更検出部63は、最大確定入力順序番号履歴記憶部62に格納されている最大確定入力順序番号履歴に基づいて停滞しているコンピュータを検出することにより、システム構成を変更すべきことを検出(決定)する。システム構成変更検出部63はまた、停滞しているコンピュータを検出した場合、当該検出された停滞しているコンピュータを、他の稼動状態にあるすべてのコンピュータに対してシステム構成変更合意プロトコルデータ送受信部65を介して報告する。この報告には、報告種類のシステム構成変更合意プロトコルデータが用いられる。
The system configuration change detection unit 63 detects that the computer configuration is stagnant based on the maximum confirmed input sequence number history stored in the maximum confirmed input sequence number
システム構成変更検出部63はまた、上述の報告に対して、他の稼動状態にあるコンピュータのうちの(n−t−1)台以上(n=4、t=1の本実施形態では2台以上)から、同意する旨がシステム構成変更合意プロトコルデータ送受信部65を介して返された場合、停滞しているコンピュータの検出に関し、自コンピュータを含めて(n−t)台以上で合意がとれたと判断する。
In response to the above-described report, the system configuration change detection unit 63 also includes (n−t−1) or more (n = 4, t = 1 in this embodiment) among the computers in other operating states. From the above, if an agreement is returned via the system configuration change agreement protocol data transmission /
システム構成変更検出部63はまた、他のコンピュータから停滞しているコンピュータが報告された場合、最大確定入力順序番号履歴記憶部62に格納されている最大確定入力順序番号履歴に基づいて、その報告に同意するかを判定する。システム構成変更検出部63は、この判定結果(つまり、同意するか或いは非同意とするか)を、停滞しているコンピュータを報告したコンピュータに通知する。この通知には、同意種類または非同意種類のシステム構成変更合意プロトコルデータが用いられる。
The system configuration change detection unit 63 also reports the report based on the maximum confirmed input sequence number history stored in the maximum confirmed input sequence number
システム構成変更検出部63はまた、停滞しているコンピュータの検出に関し、自コンピュータを含めて(n−t)台以上で合意がとれたことにより、停滞しているコンピュータの検出を確認する。システム構成変更検出部63はさらに、停滞しているコンピュータの検出の確認に応じて、確認された停滞しているコンピュータを待機状態とし、待機状態にあるコンピュータを稼動状態とするように分散システムの構成の変更を要求するためのシステム構成変更要求パケットを、入力パケットとして受付キュー1に渡す。
The system configuration change detection unit 63 also confirms the detection of a stagnant computer when an agreement has been reached on (nt) or more units including its own computer regarding the detection of the stagnant computer. Further, the system configuration change detection unit 63 sets the confirmed stagnated computer in a standby state and sets the computer in the standby state in an operating state in response to confirmation of detection of the stagnating computer. A system configuration change request packet for requesting a configuration change is passed to the
システム構成設定部64は、システム構成変更要求パケットについて合意部262によって合意された結果、つまりシステム構成変更要求パケットが合意部262によって確定された結果、当該システム構成変更要求パケットが合意部262から渡された場合、当該システム構成変更要求パケットで要求された分散システムの構成の変更を行う。
The system configuration setting unit 64 sends the system configuration change request packet from the
システム構成変更合意プロトコルデータ送受信部65は、停滞しているコンピュータがシステム構成変更検出部63によって検出された際に、他のコンピュータと合意を形成するためのシステム構成変更合意プロトコルデータの通信を行う。
The system configuration change agreement protocol data transmission /
図7は、システム構成変更合意プロトコルデータ送受信部65によって送受信されるシステム構成変更合意プロトコルデータのレイアウトを示す図である。図7に示されるように、システム構成変更合意プロトコルデータは、種類、送信者、提案者、提案時タイムスタンプ、および停滞確認対象コンピュータ名(停滞している疑いをかけられているコンピュータ名)の各フィールドを含んでいる。停滞確認対象コンピュータ名フィールドは、整列マルチキャストプロトコルデータの入力パケットフィールドに相当する。つまり本実施形態では、停滞確認対象コンピュータ名フィールドの内容は、入力パケットとして扱われる。
FIG. 7 is a diagram showing a layout of system configuration change agreement protocol data transmitted / received by the system configuration change agreement protocol data transmission /
システム構成変更合意プロトコルデータは、先頭の種類フィールドによって次の3つに使い分けられる。
(1)報告種類
提案者フィールドで示される提案者(コンピュータ)が、定常的に停滞している他のコンピュータを検出したことを示す。送信者フィールド、および提案時タイムスタンプフィールドには、それぞれ、報告種類を示す種類フィールドを含むシステム構成変更合意プロトコルデータ(つまり報告種類のシステム構成変更合意プロトコルデータ)の送信者(送信側コンピュータ)を示すコンピュータ名、および停滞しているコンピュータを検出した際のタイムスタンプ(提案時のタイムスタンプ)が格納される。停滞確認対象コンピュータ名フィールドには、停滞の検出に関して確認が必要なコンピュータ(つまり停滞確認の対象となるコンピュータ)のコンピュータ名が格納される。送信者フィールドの示す送信者は、提案者フィールドの示す提案者に一致する。
The system configuration change agreement protocol data is divided into the following three types according to the type field at the top.
(1) Report type This indicates that the proposer (computer) indicated in the proposer field has detected another computer that is constantly stagnating. In the sender field and the proposal time stamp field, the sender (sender computer) of the system configuration change agreement protocol data (that is, the report type system configuration change agreement protocol data) including the type field indicating the report type, respectively. The computer name to be shown and the time stamp when the stagnating computer is detected (time stamp at the time of proposal) are stored. In the stagnation confirmation target computer name field, the computer name of the computer that needs to be confirmed regarding the detection of stagnation (that is, the computer subject to stagnation confirmation) is stored. The sender indicated by the sender field matches the proposer indicated by the proposer field.
(2)同意種類
報告種類のシステム構成変更合意プロトコルデータを受信したコンピュータが、同等な停滞を検出したことを示す。送信者フィールドには、同意種類を示す種類フィールドを含むシステム構成変更合意プロトコルデータ(つまり同意種類のシステム構成変更合意プロトコルデータ)の送信者を示すコンピュータ名が格納される。提案者フィールド、提案時タイムスタンプフィールド、および停滞確認対象コンピュータ名フィールドには、それぞれ報告種類のシステム構成変更合意プロトコルデータの対応するフィールドの内容のコピーが用いられる。
(2) Consent type Indicates that the computer that received the report type system configuration change agreement protocol data has detected an equivalent stagnation. The sender field stores the computer name indicating the sender of the system configuration change agreement protocol data (that is, the agreement type system configuration change agreement protocol data) including the type field indicating the agreement type. For the proposer field, the proposal time stamp field, and the stagnation confirmation target computer name field, copies of the contents of the corresponding fields of the report type system configuration change agreement protocol data are used.
(3)非同意種類
報告種類のシステム構成変更合意プロトコルデータを受信したコンピュータが、同等な停滞を検出していないことを示す。送信者フィールドには、非同意種類を示す種類フィールドを含むシステム構成変更合意プロトコルデータ(つまり非同意種類のシステム構成変更合意プロトコルデータ)の送信者を示すコンピュータ名が格納される。提案者フィールド、提案時タイムスタンプフィールド、および停滞確認対象コンピュータ名フィールドには、それぞれ報告種類のシステム構成変更合意プロトコルデータの対応するフィールドの内容のコピーが用いられる。
(3) Disagreement type Indicates that the computer that received the report type system configuration change agreement protocol data has not detected an equivalent stagnation. The sender field stores the computer name indicating the sender of the system configuration change agreement protocol data including the type field indicating the non-agreement type (that is, the system configuration change agreement protocol data of the non-agreement type). For the proposer field, the proposal time stamp field, and the stagnation confirmation target computer name field, copies of the contents of the corresponding fields of the report type system configuration change agreement protocol data are used.
システム構成通知プロトコルデータ送受信部66は、システム構成を変更すべきことがシステム構成変更検出部63によって検出されたタイミングで、待機状態にあったコンピュータを稼動状態にするためのシステム構成通知プロトコルデータを送受信する。システム構成通知プロトコルデータは、システム構成記憶部61に格納されているデータ(システム構成情報)それ自体(つまりシステム構成記憶部61のダンプ情報)を含む。
The system configuration notification protocol data transmission /
次に、分散システム10内で稼動状態にあるコンピュータの動作原理について具体的に説明する。
(初期化処理)
まず、コンピュータ100-1〜100-5のシステム構成記憶部61は、分散システム10の初期状態を示す情報を格納する。図5は、このときのシステム構成記憶部61のデータ構造例を示しているものとする。ここでは、コンピュータ100-1〜100-4が稼動状態にあり、コンピュータ100-5が待機状態にある。
Next, the operation principle of the computer in the operating state in the distributed system 10 will be specifically described.
(Initialization process)
First, the system
稼動状態にあるコンピュータ100-j(j=1〜4)の入力順序番号記憶部21は、初期状態の入力順序番号、つまり初期入力順序番号(例えば1)を格納する。コンピュータ100-jの入力パケットジャーナル記憶部22および候補パケット記憶部25は空の状態にある。
The input sequence
コンピュータ100-jのステップ番号記憶部24は初期ステップ番号(例えば1)を記憶し、最大確定入力順序番号記憶部27は初期入力順序番号を格納する。コンピュータ100-jの遅延記憶部28の(n−1)個のフラグ(ここでは3個のフラグ)はすべてリセットされており、最大確定入力順序番号履歴記憶部62は現在のタイムスタンプとコンピュータ100-1〜100-4の各々の初期入力順序番号を記憶する。
The step number storage unit 24 of the computer 100-j stores an initial step number (for example, 1), and the maximum determined input sequence
コンピュータ100-jの整列マルチキャスト部2が実行する整列マルチキャストによって各コンピュータへ配送される入力パケットを決定する処理は、アルゴリズム1〜9により実現される。
The process of determining the input packet delivered to each computer by the ordered multicast executed by the ordered
まず、アルゴリズム1〜4について、図8および図9を参照して説明する。図8および図9は、整列マルチキャストの1回の配送を行う基本的な部分の動作手順を示すフローチャートである。図8のフローチャート(第1のフローチャート)のステップA1はアルゴリズム1〜3全体を表し、残りのステップA2〜A13はアルゴリズム4を表す。図9のフローチャート(第2のフローチャート)のステップB1〜B4はアルゴリズム1を、ステップB5〜B8はアルゴリズム2を、そしてステップB9,B10はアルゴリズム3を、それぞれ示す。
First,
(アルゴリズム1)
整列マルチキャスト部2内の入力パケット確定判定部26に含まれる入力候補収集部261は、コンピュータ100-1〜100-4(n=4)がそれぞれ次に処理する候補(入力候補)として選択した入力パケット(入力データ)を収集するための候補一覧作成処理(図8のステップA1)の一部(図9のステップB1〜B4)を次のように実行する。
(Algorithm 1)
The input
入力候補収集部261は、ステップ番号記憶部24に格納されている該当ステップ番号が初期値であるときは(図9のステップB1のYES)、受付キュー1に入力パケットが存在するかを判定する(図9のステップB2)。
When the corresponding step number stored in the step number storage unit 24 is an initial value (YES in step B1 in FIG. 9), the input
もし、入力パケットが存在するならば(図9のステップB2のYES)、入力候補収集部261はステップ番号記憶部24に格納されている該当ステップ番号を次に進める(図9のステップB3)。そして入力候補収集部261は、入力パケットを自候補として候補パケット記憶部25に格納し、かつ、この自候補が入力パケットフィールドに設定された候補種類のプロトコルデータ(整列マルチキャストプロトコルデータ)を整列マルチキャストプロトコルデータ送受信部23によりネットワークBを介して他のすべてのコンピュータ(つまりコンピュータ100-1〜100-4のうち、コンピュータ100-jを除くすべてのコンピュータ)に送信させる(図9のステップB4)。このステップB4において、入力候補収集部261は、候補パケット記憶部25内のすべての他候補を空にする。
If there is an input packet (YES in step B2 in FIG. 9), the input
(アルゴリズム2)
一方、該当ステップ番号が初期値でないか(図9のステップB1のNO)、または受付キュー1に入力パケットがないとき(図9のステップB2のNO)、入力候補収集部261は、入力順序番号記憶部21に格納されている該当入力順序番号に一致する入力順序番号(が設定された入力順序番号フィールド)を持つ候補種類の整列マルチキャストプロトコルデータが整列マルチキャストプロトコルデータ送受信部23によって受信されているかを判定する(図9のステップB5)。もし、受信されているならば(図9のステップB5のYES)、入力候補収集部261は、受信されている整列マルチキャストプロトコルデータ(受信整列マルチキャストプロトコルデータ)内の(ステップ番号フィールドに設定されている)ステップ番号は該当ステップ番号よりも大きいかを判定する(図9のステップB6)。
(Algorithm 2)
On the other hand, when the corresponding step number is not the initial value (NO in step B1 in FIG. 9) or there is no input packet in the reception queue 1 (NO in step B2 in FIG. 9), the input
もし、受信整列マルチキャストプロトコルデータ内のステップ番号が該当ステップ番号よりも大きいならば(図9のステップB6のYES)、入力候補収集部261は、ステップ番号記憶部24に格納されている該当ステップ番号を受信整列マルチキャストプロトコルデータ内のステップ番号に更新する(図9のステップB7)。
If the step number in the reception aligned multicast protocol data is larger than the corresponding step number (YES in step B6 in FIG. 9), the input
次に入力候補収集部261は、受信整列マルチキャストプロトコルデータ内の(入力パケットフィールドに設定されている)入力パケットを自候補として候補パケット記憶部25に格納し、かつ、この自候補が入力パケットフィールドに設定された(つまり受信整列マルチキャストプロトコルデータ内の入力パケットフィールドのコピーを含む)候補種類の整列マルチキャストプロトコルデータを整列マルチキャストプロトコルデータ送受信部23によりネットワークBを介して他のすべてのコンピュータに送信させる(図9のステップB8)。このステップB8において入力候補収集部261は、受信整列マルチキャストプロトコルデータ内の入力パケット(ここでは自候補とされた入力パケット)を、当該受信整列マルチキャストプロトコルデータの(送信者フィールドの示す)送信者に対応する他候補として、候補パケット記憶部25に格納する。つまりステップB8では、受信整列マルチキャストプロトコルデータ中の入力パケットが、自候補として設定されるとともに、当該受信整列マルチキャストプロトコルデータの送信者に対応する他候補としても設定される。このとき入力候補収集部261は、候補パケット記憶部25内の、受信整列マルチキャストプロトコルデータの送信者に対応する他候補以外の他候補をすべて破棄する(空にする)。
Next, the input
(アルゴリズム3)
これに対し、受信整列マルチキャストプロトコルデータ内のステップ番号と該当ステップ番号とが等しいならば(図9のステップB6のNO,ステップB9のYES)、入力候補収集部261は、受信整列マルチキャストプロトコルデータ内の入力パケットを、当該受信整列マルチキャストプロトコルデータの送信者に対応する他候補として候補パケット記憶部25に格納する(図9のステップB10)。
(Algorithm 3)
On the other hand, if the step number in the reception aligned multicast protocol data is equal to the corresponding step number (NO in step B6 in FIG. 9, YES in step B9), the input
入力候補収集部261は、ステップB6またはステップB10を実行すると、候補パケット記憶部25に格納された候補数が(n−t)個以上(n=4、t=1の例では3個以上)になったかを判定する(図9のステップB11)。
When the input
入力候補収集部261は、候補数が(n−t)個以上になっていないならば(図9のステップB11のNO)、ステップB1からの処理を再び実行する。これに対し、候補数が(n−t)個以上になっているならば(図9のステップB11のYES)、入力候補収集部261は候補一覧作成処理を終了する。なお、ステップB5またはステップB9の判定がNOの場合にも、ステップB1からの処理が再び実行される。
If the number of candidates does not reach (nt) or more (NO in step B11 in FIG. 9), the input
(アルゴリズム4)
候補一覧作成処理(図8のステップA1)が終了すると、即ち候補パケット記憶部25に格納された候補(入力候補)数(空でない候補数)が(n−t)個以上になると、入力パケット確定判定部26内の合意部262は第1の入力候補選定制御手段として機能して、当該候補パケット記憶部25に(n−t)個以上の同一の候補が存在するか、つまり(n−t)台以上のコンピュータで合意がとられた(合意が形成された)候補が存在するかを判定する(図8のステップA2)。
(Algorithm 4)
When the candidate list creation process (step A1 in FIG. 8) is completed, that is, when the number of candidates (input candidates) (number of non-empty candidates) stored in the candidate packet storage unit 25 becomes (nt) or more, the input packet The
もし、(n−t)個以上の同一(同一内容)の候補が存在するならば(図8のステップA2のYES)、合意部262は、その候補を該当入力順序番号における入力パケットとして確定する(図8のステップA3)。このステップA3において合意部262は、最大確定入力順序番号記憶部27に格納されている該当最大確定入力順序番号を該当入力順序番号に更新する。また、ステップA3において合意部262は、確定された入力パケットが受付キュー1に存在するならば、当該入力パケットを受付キュー1から削除する。
If there are (nt) or more (same content) candidates (YES in step A2 in FIG. 8), the
このように、該当入力順序番号における入力パケットが確定すると、つまり該当入力順序番号における入力パケットに関して合意がとられて、整列マルチキャストが確定すると、合意部262は図8のステップA4に進む。このステップA4において合意部262は、候補出力先切り替え手段として機能して、確定された入力パケットに付されている処理種別情報の示す処理種別が「構成」であるか否(「アプリケーション」である)か、つまり確定された入力パケットがシステム構成変更を要求するシステム構成変更要求パケットであるかを判定する。システム構成変更要求パケットの詳細については、後述するアルゴリズム12の処理の中で説明する。
As described above, when the input packet at the corresponding input sequence number is confirmed, that is, when the input packet at the corresponding input sequence number is agreed and the ordered multicast is confirmed, the
もし、処理種別が「構成」であるならば、つまり確定された入力パケットがシステム構成変更要求パケットであるならば(図8のステップA4のYES)、合意部262は、確定された入力パケットをシステム構成管理部6内のシステム構成設定部64に渡すとともに、当該入力パケットを入力パケットジャーナル記憶部22に格納する(図8のステップA5)。
If the processing type is “configuration”, that is, if the confirmed input packet is a system configuration change request packet (YES in step A4 in FIG. 8), the
システム構成設定部64は、合意部262から確定された入力パケットを受け取ると、当該パケットがコンピュータ100-j自身(自コンピュータ)を待機状態に変更することを要求するシステム構成変更要求パケットであるかを判定する(図8のステップA6)。もし、自コンピュータを待機状態に変更することを要求するシステム構成変更要求パケットである場合(図8のステップA6のYES)、システム構成設定部64は上述の初期化処理を実施して自コンピュータを待機状態にする(図8のステップA7)。待機状態となったコンピュータのシステム構成管理部6は、稼動状態にあるコンピュータから、待機状態から稼動状態への変更を通知するシステム構成通知プロトコルデータが送られるのを待つ。一方、待機状態となったコンピュータの整列マルチキャスト部2は、例えば省電力化のために動作を停止する。
When the system configuration setting unit 64 receives the input packet determined from the
これに対し、確定された入力パケットが、他のコンピュータを待機状態に変更することを要求するシステム構成変更要求パケットである場合(図8のステップA6のNO)、システム構成設定部64は、システム構成記憶部61に格納されているシステム構成情報を、変更後のシステム構成を示すように更新するとともに、その更新後のシステム構成情報を含むシステム構成通知プロトコルデータ(つまり変更後のシステム構成を通知するためのシステム構成通知プロトコルデータ)をシステム構成通知プロトコルデータ送受信部66により、分散システムを構成する他のすべてのコンピュータに送信させる(図8のステップA8)。この場合、合意部262は、次工程へ移行すべく、入力順序番号記憶部21に格納されている該当入力順序番号を次に進め(1インクリメントし)、ステップ番号記憶部24に格納されている該当ステップ番号を初期化する(図8のステップA9)。このステップA9において合意部262は、候補パケット記憶部25に格納されているすべての候補を破棄し(空にし)、遅延記憶部28に格納されている(n−1)個の遅延フラグをすべてリセットする。
On the other hand, when the determined input packet is a system configuration change request packet requesting that another computer be changed to a standby state (NO in step A6 in FIG. 8), the system configuration setting unit 64 The system configuration information stored in the
一方、処理種別が「構成」でないならば、つまり確定された入力パケットがシステム構成変更要求パケットでない場合(図8のステップA4のNO)、合意部262は、当該入力パケットをアプリケーションプログラム3に配送するとともに、当該入力パケットを入力パケットジャーナル記憶部22に格納する(図8のステップA10)。ここでは、確定された入力パケットは、現在入力パケットジャーナル記憶部22に格納されている入力パケットの列の後ろに位置するように格納される。なお、入力パケットジャーナル記憶部22に格納されている入力パケットの列が一定の量に達しているならば、先頭の入力パケット(つまり最も古い入力パケット)が破棄される。その後、合意部262は、次工程へ移行すべく、上記ステップA9を実行する。
On the other hand, if the processing type is not “configuration”, that is, if the determined input packet is not a system configuration change request packet (NO in step A4 in FIG. 8), the
一方、(n−t)個以上の同一の候補が存在しなかった場合(図8のステップA2のNO)、合意部262は第2の入力候補選定制御手段として機能して、今度は、候補パケット記憶部25に過半数以上の同一の候補が存在するかを判定する(図8のステップA11)。もし、過半数以上の同一の候補が存在するならば(図8のステップA11のYES)、合意部262は、その候補を選択して自候補として候補パケット記憶部25に格納し(つまり、その候補を候補パケット記憶部25内の自候補とし)、かつ、この自候補が入力パケットフィールドに設定された候補種類のプロトコルデータ(整列マルチキャストプロトコルデータ)を整列マルチキャストプロトコルデータ送受信部23によりネットワークBを介して他のすべてのコンピュータに送信させる(図8のステップA12)。このステップA12において合意部262は、候補パケット記憶部25に格納されているすべての他候補を破棄する。
On the other hand, when there are not (nt) or more identical candidates (NO in step A2 in FIG. 8), the
これに対し、過半数以上の同一の候補が存在しないならば(図8のステップA11のNO)、合意部262は第3の入力候補選定制御手段として機能して、候補パケット記憶部25に格納されている入力候補の中からランダムに候補(入力パケット)を自候補として選択し、かつ、この自候補が入力パケットフィールドに設定された候補種類のプロトコルデータ(整列マルチキャストプロトコルデータ)を整列マルチキャストプロトコルデータ送受信部23によりネットワークBを介して他のすべてのコンピュータに送信させる(図8のステップA13)。このステップA13において合意部262は、候補パケット記憶部25に格納されているすべての他候補を破棄する。
On the other hand, if more than a majority of the same candidates do not exist (NO in step A11 in FIG. 8), the
ステップA12(第2の入力候補選定制御手段としての動作)またはステップA13(第3の入力候補選定制御手段としての動作)が終了すると、ステップA1からの処理が再び実行される。一方、ステップA7またはステップA9が終了すると、整列マルチキャストの1回の配送処理が終了する。 When step A12 (operation as the second input candidate selection control means) or step A13 (operation as the third input candidate selection control means) is completed, the processing from step A1 is executed again. On the other hand, when step A7 or step A9 ends, one delivery process of the ordered multicast ends.
以上の手順で、多重化を構成する各コンピュータ100-j、つまりコンピュータ100-1〜100-4は、(n−t)台(ここでは3台)以上のコンピュータでの入力パケットの一致を確認しながら処理を進めていく。 With the above procedure, each computer 100-j constituting the multiplexing, that is, the computers 100-1 to 100-4, confirms the coincidence of input packets in (nt) computers (three computers in this case). While proceeding.
次に、アルゴリズム5〜9について、図10乃至図13を参照して説明する。図10乃至図13は、多重化実行の遅延を解消するための処理の手順を示すフローチャートである。図10のフローチャート(第1のフローチャート)のステップC1,C2はアルゴリズム5を表し、ステップC3はアルゴリズム7を表す。図11のフローチャート(第2のフローチャート)はアルゴリズム6を、図12のフローチャート(第3のフローチャート)はアルゴリズム8を、そして図13のフローチャート(第1のフローチャート)はアルゴリズム9を、それぞれ示す。
Next,
(アルゴリズム5)
整列マルチキャスト部2内の合意部262は、該当入力順序番号より小さい入力順序番号を持つ候補種類の整列マルチキャストプロトコルデータが整列マルチキャストプロトコルデータ送受信部23によって受信された場合に、その入力順序番号に対応する入力パケットが入力パケットジャーナル記憶部22に存在するかを判定する(図10のステップC1)。
(Algorithm 5)
The
もし、該当入力順序番号より小さい入力順序番号に対応する入力パケットが入力パケットジャーナル記憶部22に存在するならば(図10のステップC1のYES)、つまり短い多重化実行の遅延のために、該当入力順序番号より小さい入力順序番号に対応する入力パケットが入力パケットジャーナル記憶部22に残されているならば、合意部262は、その入力パケットが入力パケットフィールドに設定された確定種類の整列マルチキャストプロトコルデータを整列マルチキャストプロトコルデータ送受信部23によりネットワークBを介して受信整列マルチキャストプロトコルデータの送信者に返送させる(図10のステップC2)。
If an input packet corresponding to an input sequence number smaller than the corresponding input sequence number exists in the input packet journal storage unit 22 (YES in step C1 in FIG. 10), that is, because of a short multiplexing execution delay, If an input packet corresponding to an input sequence number smaller than the input sequence number is left in the input packet
(アルゴリズム6)
また、合意部262は、該当入力順序番号に一致する入力順序番号を持つ確定種類の整列マルチキャストプロトコルデータが整列マルチキャストプロトコルデータ送受信部23によって受信された場合には、その受信整列マルチキャストプロトコルデータ内の入力パケットを入力パケットとして確定する(図11のステップD1)。このステップD1において合意部262は、確定された入力パケットが受付キュー1に存在するならば、当該入力パケットを受付キュー1から削除する。またステップD1では、受信整列マルチキャストプロトコルデータ内の最大確定入力順序番号が、最大確定入力順序番号記憶部27に格納されている該当最大確定入力順序番号よりも大きいならば、該当最大確定入力順序番号が受信整列マルチキャストプロトコルデータ内の最大確定入力順序番号に更新される。
(Algorithm 6)
In addition, when the ordered multicast protocol data having a definite type having an input sequence number that matches the input sequence number is received by the ordered multicast protocol data transmitting / receiving
ステップD1の後、前述のアルゴリズム4におけるステップA4乃至A9に相当する処理D2乃至D7が次のように実行される。まず合意部262は、確定された入力パケットに付されている処理種別情報の示す処理種別が「構成」であるか否(「アプリケーション」である)か、つまり確定された入力パケットがシステム構成変更を要求するシステム構成変更要求パケットであるかを判定する(図11のステップD2)。
After step D1, processes D2 to D7 corresponding to steps A4 to A9 in
もし、処理種別が「構成」であり、したがって確定された入力パケットがシステム構成変更要求パケットであるならば(図11のステップD2のYES)、合意部262は、確定された入力パケットをシステム構成管理部6内のシステム構成設定部64に渡すとともに、当該入力パケットを入力パケットジャーナル記憶部22に格納する(図11のステップD3)。
If the processing type is “configuration”, and therefore the confirmed input packet is a system configuration change request packet (YES in step D2 in FIG. 11), the
システム構成設定部64は、合意部262から確定された入力パケットを受け取ると、当該パケットが自コンピュータを待機状態に変更することを要求するシステム構成変更要求パケットであるかを判定する(図11のステップD4)。もし、自コンピュータを待機状態に変更することを要求するシステム構成変更要求パケットである場合(図11のステップD4のYES)、システム構成設定部64は初期化処理を実施して自コンピュータを待機状態にする(図11のステップD5)。
When the system configuration setting unit 64 receives the input packet determined from the
これに対し、確定された入力パケットが、他のコンピュータを待機状態に変更することを要求するシステム構成変更要求パケットである場合(図11のステップD4のNO)、システム構成設定部64は、システム構成記憶部61に格納されているシステム構成情報を、変更後のシステム構成を示すように更新するとともに、その更新後のシステム構成情報を含むシステム構成通知プロトコルデータ(つまり変更後のシステム構成を通知するためのシステム構成通知プロトコルデータ)をシステム構成通知プロトコルデータ送受信部66により、分散システム10を構成する他のすべてのコンピュータに送信させる(図11のステップD6)。この場合、合意部262は、次工程へ移行すべく、入力順序番号記憶部21に格納されている該当入力順序番号を次に進め(1インクリメントし)、ステップ番号記憶部24に格納されている該当ステップ番号を初期化する(図11のステップD7)。このステップD7において合意部262は、候補パケット記憶部25に格納されているすべての候補を破棄し、遅延記憶部28に格納されている(n−1)個の遅延フラグをすべてリセットする。
On the other hand, when the determined input packet is a system configuration change request packet that requests that another computer be changed to a standby state (NO in step D4 in FIG. 11), the system configuration setting unit 64 The system configuration information stored in the
一方、処理種別が「構成」でないならば、つまり確定された入力パケットがシステム構成変更を要求する入力パケットでない場合(図11のステップD2のNO)、合意部262は、当該入力パケットをアプリケーションプログラム3に配送するとともに、当該入力パケットを入力パケットジャーナル記憶部22に格納する(図11のステップD8)。その後、合意部262は、次工程へ移行すべく、上記ステップD7を実行する。
On the other hand, if the processing type is not “configuration”, that is, if the determined input packet is not an input packet for requesting a system configuration change (NO in step D2 in FIG. 11), the
(アルゴリズム7)
一方、該当入力順序番号より小さい入力順序番号を持つ候補種類の整列マルチキャストプロトコルデータが受信された場合で、該当入力順序番号より小さい入力順序番号に対応する入力パケットが入力パケットジャーナル記憶部22に存在しないならば(図10のステップC1のNO)、合意部262はステップC3に進む。つまり長い多重化実行の遅延のために、該当入力順序番号より小さい入力順序番号に対応する入力パケットが入力パケットジャーナル記憶部22から既に捨てられている場合には(図10のステップC1のNO)、合意部262は、遅延種類の整列マルチキャストプロトコルデータを整列マルチキャストプロトコルデータ送受信部23によりネットワークBを介して受信整列マルチキャストプロトコルデータの送信者に返送させる(図10のステップC3)。
(Algorithm 7)
On the other hand, when the candidate type of ordered multicast protocol data having an input sequence number smaller than the corresponding input sequence number is received, an input packet corresponding to the input sequence number smaller than the corresponding input sequence number exists in the input packet
(アルゴリズム8)
一方、整列マルチキャスト部2内のスキップ判定部29は、該当入力順序番号に一致する入力順序番号を持つ遅延種類の整列マルチキャストプロトコルデータが整列マルチキャストプロトコルデータ送受信部23によって受信された場合に、遅延記憶部28に格納されている(n−1)個の遅延フラグのうち、当該プロトコルデータの送信者に対応する遅延フラグをセットする(図12のステップE1)。
(Algorithm 8)
On the other hand, the
(アルゴリズム9)
スキップ判定部29は、遅延記憶部28に格納されている(n−1)個の遅延フラグのうちのセットされた遅延フラグの数と、候補パケット記憶部25に格納されている入力候補の数との和が、(n−t)個以上に達したかどうかを監視する(図13のステップF1)。もし、(n−t)個以上に達しているならば(図13のステップF1のYES)、スキップ判定部29は、候補パケット記憶部25に格納されている入力候補の数が(n−t)個未満かを判定する(図13のステップF2)。もし、(n−t)個未満であるならば(図13のステップF2のYES)、スキップ判定部29はスキップ動作を行う(図13のステップF3)。即ちスキップ判定部29は、入力順序番号記憶部21に格納されている該当入力順序番号を最大確定入力順序番号記憶部27に格納されている該当最大確定入力順序番号に更新し、ステップ番号記憶部24に格納されている該当ステップ番号を初期ステップ番号にする。またスキップ判定部29は、候補パケット記憶部25を空にし、遅延記憶部28のすべての遅延フラグをリセットした上で、システム構成管理部6およびプログラム状態管理部4にスキップを通知する。
(Algorithm 9)
The
システム構成管理部6のシステム構成設定部64は、スキップ判定部29からスキップが通知されると、他のコンピュータのシステム構成記憶部61に格納されているシステム構成情報を自コンピュータのシステム構成記憶部61にコピーする(図13のステップF4)。システム構成設定部64は、コピーされたシステム構成情報に基づき、自コンピュータを待機状態に変更する必要があるかを判定する(図13のステップF5)。
When the skip is notified from the
もし、自コンピュータを待機状態に変更する必要があるならば(図13のステップF5のYES)、システム構成設定部64は上述の初期化処理を実施して自コンピュータを待機状態にする(図13のステップF6)。これに対し、自コンピュータを待機状態に変更する必要がないならば(図13のステップF5のNO)、システム構成設定部64は何もせずに、処理を終了する。 If it is necessary to change the own computer to the standby state (YES in step F5 in FIG. 13), the system configuration setting unit 64 performs the initialization process described above to place the own computer in the standby state (FIG. 13). Step F6). On the other hand, if it is not necessary to change the own computer to the standby state (NO in step F5 in FIG. 13), the system configuration setting unit 64 does nothing and ends the process.
一方、プログラム状態管理部4は、スキップ判定部29からスキップが通知されると、該当入力順序番号の直前の状態を他のコンピュータのプログラム状態管理部4からコピーする(図13のステップF7)。このために、プログラム状態管理部4は、各入力順序番号の直前の状態を最近のものから一定の量だけ保持している。
On the other hand, when the skip is notified from the
なお、図13のフローチャートでは、システム構成設定部64による処理の後にプログラム状態管理部4による処理(ステップF7)が実行されている。しかし、この処理の順序が逆であっても、或いは両方の処理が並行して実行されても構わない。 In the flowchart of FIG. 13, the process by the program state management unit 4 (step F7) is executed after the process by the system configuration setting unit 64. However, the order of the processes may be reversed, or both processes may be executed in parallel.
次に、システム構成管理部6が実行するシステム構成変更のための処理について説明する。この処理は、アルゴリズム10〜14により実現される。
(アルゴリズム10)
まず、アルゴリズム10について、図14を参照して説明する。図14は、システム構成管理部6のシステム構成変更検出部63によって実行される、停滞しているコンピュータを探すための処理の手順を示すフローチャートである。
Next, processing for system configuration change executed by the system
(Algorithm 10)
First, the algorithm 10 will be described with reference to FIG. FIG. 14 is a flowchart showing a procedure of processing for searching for a stagnant computer executed by the system configuration change detection unit 63 of the system
システム構成変更検出部63は、一定時間間隔Δt1毎に以下の処理を実行する(図14のステップG1)。
まずシステム構成変更検出部63は、最大確定入力順序番号履歴記憶部62を参照し、当該記憶部62に格納されている最大確定入力順序番号履歴のうち、直近の時間Δt2(Δt2>Δt1)の間に追加された最大確定入力順序番号の情報を取得する(図14のステップG2)。この直近の時間Δt2の間に追加された最大確定入力順序番号の情報は、タイムスタンプに基づいて特定される。
The system configuration change detection unit 63 performs the following processing at regular time intervals Δt1 (step G1 in FIG. 14).
First, the system configuration change detection unit 63 refers to the maximum confirmed input sequence number
次にシステム構成変更検出部63は、稼動状態にある他のコンピュータについて、自コンピュータの最大確定入力順序番号と比べてΔi(Δiは1より大きい整数)以上最大確定入力順序番号が下回る(つまり自コンピュータよりもΔiに相当する時間以上遅延している)という条件を満たす回数が一定回数以上発生しているかを、取得された最大確定入力順序番号の情報に基づいて判定する(図14のステップG3)。システム構成変更検出部63は、このステップG3の判定を、稼動状態にある他のすべてのコンピュータについて繰り返す(図14のステップG4)。これによりシステム構成変更検出部63は、上記条件を満たす回数が一定回数以上の稼動状態にあるコンピュータを探す。 Next, the system configuration change detection unit 63 determines that other computers in the operating state have a maximum confirmed input sequence number that is less than or equal to Δi (Δi is an integer greater than 1) than the maximum confirmed input sequence number of the own computer (that is, the own computer Whether or not the number of times satisfying the condition that the computer is delayed by a time corresponding to Δi from the computer) is more than a certain number is determined based on the acquired information on the maximum confirmed input sequence number (step G3 in FIG. 14). ). The system configuration change detection unit 63 repeats the determination in step G3 for all other computers in the operating state (step G4 in FIG. 14). As a result, the system configuration change detection unit 63 searches for a computer in an operating state in which the number of times satisfying the above condition is equal to or greater than a certain number.
もし、このようなコンピュータを探したならば(図14のステップG3のYES)、システム構成変更検出部63は、当該コンピュータは停滞(定常的に停滞)していると認定する。そこでシステム構成変更検出部63は、例えば、停滞していると認定されたコンピュータを除く、他の稼動状態にあるコンピュータに対して、当該認定されたコンピュータを停滞確認の対象とする報告種類のシステム構成変更合意プロトコルデータを、システム構成変更合意プロトコルデータ送受信部65により送信させる(図14のステップG5)。 If such a computer is found (YES in step G3 in FIG. 14), the system configuration change detection unit 63 determines that the computer is stagnant (steadily stagnating). Therefore, the system configuration change detection unit 63, for example, a report type system that targets the certified computer as a stagnation confirmation target for computers in other operating states except for the computer that is certified to be stagnant. The configuration change agreement protocol data is transmitted by the system configuration change agreement protocol data transmission / reception unit 65 (step G5 in FIG. 14).
(アルゴリズム11)
次に、アルゴリズム11について、図15を参照して説明する。図15は、システム構成変更検出部63によって実行される、他のコンピュータから報告種類のシステム構成変更合意プロトコルデータを受け取った場合の処理の手順を示すフローチャートである。
(Algorithm 11)
Next, the
今、システム構成変更検出部63が、他のコンピュータのシステム構成変更合意プロトコルデータ送受信部65から送信された報告種類のシステム構成変更合意プロトコルデータを、自コンピュータのシステム構成変更合意プロトコルデータ送受信部65を介して受け取ったものとする。するとシステム構成変更検出部63は、最大確定入力順序番号履歴記憶部62を参照し、当該記憶部62に格納されている最大確定入力順序番号履歴のうち、直近の時間Δt2の間に追加された最大確定入力順序番号の情報を取得する(図15のステップH1)。
Now, the system configuration change detection unit 63 uses the report type system configuration change agreement protocol data transmission /
次にシステム構成変更検出部63は、受け取ったシステム構成変更合意プロトコルデータで報告された停滞確認の対象となるコンピュータについて、自コンピュータの最大確定入力順序番号と比べてΔi以上下回るという条件を満たす回数が一定回数以上発生しているかを、取得された最大確定入力順序番号の情報に基づいて判定する(図15のステップH2)。つまりシステム構成変更検出部63は、報告された停滞確認の対象となるコンピュータが停滞しているかを検出する。 Next, the system configuration change detecting unit 63 satisfies the condition that the stagnation confirmation target computer reported in the received system configuration change agreement protocol data satisfies a condition that the computer is less than Δi compared to the maximum confirmed input sequence number of the own computer. Is determined based on the acquired information on the maximum confirmed input sequence number (step H2 in FIG. 15). That is, the system configuration change detection unit 63 detects whether or not the reported stagnation confirmation target computer is stagnant.
もし、ステップH2の判定がYESであるならば、つまり報告された停滞確認の対象となるコンピュータの停滞が検出されたならば、システム構成変更検出部63は、報告種類のシステム構成変更合意プロトコルデータの送信元のコンピュータに対して、同意種類のシステム構成変更合意プロトコルデータを、システム構成変更合意プロトコルデータ送受信部65により返送させる(図15のステップH3)。これに対し、ステップH2の判定がNOであるならば、つまり報告された停滞確認の対象となるコンピュータの停滞が検出されなかったならば、システム構成変更検出部63は、報告種類のシステム構成変更合意プロトコルデータの送信元のコンピュータに対して、非同意種類のシステム構成変更合意プロトコルデータを、システム構成変更合意プロトコルデータ送受信部65により返送させる(図15のステップH4)。
If the determination in step H2 is YES, that is, if a stagnation of the computer subject to the reported stagnation confirmation is detected, the system configuration change detection unit 63 reports the system configuration change agreement protocol data of the report type. The system configuration change agreement protocol data transmission /
(アルゴリズム12)
次に、アルゴリズム12について、図16を参照して説明する。図16は、システム構成変更検出部63によって実行される、報告種類のシステム構成変更合意プロトコルデータに対する応答として、他のコンピュータから同意種類または非同意種類のシステム構成変更合意プロトコルデータを受け取った場合の処理の手順を示すフローチャートである。
(Algorithm 12)
Next, the
今、システム構成変更検出部63が、他のコンピュータのシステム構成変更合意プロトコルデータ送受信部65から返された同意種類または非同意種類のシステム構成変更合意プロトコルデータを、自コンピュータのシステム構成変更合意プロトコルデータ送受信部65を介して受け取ったものとする。するとシステム構成変更検出部63は、受け取った同意種類または非同意種類のシステム構成変更合意プロトコルデータの提案者フィールドおよび提案時タイムスタンプフィールドを参照する(図16のステップI1)。
Now, the system configuration change detection unit 63 uses the system configuration change agreement protocol data of the own computer as the agreement type or non-agreement type system configuration change agreement protocol data returned from the system configuration change agreement protocol data transmission /
次にシステム構成変更検出部63は、今回受け取ったシステム構成変更プロトコルデータを含めて、提案者および提案時タイムスタンプがいずれも報告種類のシステム構成変更合意プロトコルデータと同一の同意種類または非同意種類のシステム構成変更合意プロトコルデータを(n−t−1)個以上受け取ったかを判定する(図16のステップI2)。 Next, the system configuration change detection unit 63 includes the system configuration change protocol data received this time, and both the proposer and the proposal time stamp are the same agreement type or non-agreement type as the report type system configuration change agreement protocol data. It is determined whether (nt-1) or more system configuration change agreement protocol data has been received (step I2 in FIG. 16).
もし、このようなシステム構成変更合意プロトコルデータを(n−t−1)個以上受け取ったならば(図16のステップI2のYES)、システム構成変更検出部63は、そのうちの(n−t−1)個以上が同意種類のシステム構成変更合意プロトコルデータであるかを判定する(図16のステップI3)。つまり、ステップI3においてシステム構成変更検出部63は、提案者および提案時タイムスタンプがいずれも報告種類のシステム構成変更合意プロトコルデータと同一の同意種類のシステム構成変更合意プロトコルデータを(n−t−1)個以上受け取ったかを判定する。この判定は、(n−t)台以上の稼動状態にあるコンピュータの間で、停滞が検出されたコンピュータについて合意がとられているかを判定することと等価である。 If (nt-1) or more of such system configuration change agreement protocol data is received (YES in step I2 in FIG. 16), the system configuration change detection unit 63 (nt-t-) 1) It is determined whether or not the number of pieces of data is agreement type system configuration change agreement protocol data (step I3 in FIG. 16). That is, in step I3, the system configuration change detection unit 63 obtains (nt−t−) the system configuration change agreement protocol data of the same agreement type as the report type system configuration change agreement protocol data. 1) It is determined whether or not it has been received. This determination is equivalent to determining whether or not an agreement has been reached for computers in which stagnation has been detected among computers in the operating state of (nt) or more.
ステップI3の判定がYESの場合、つまり停滞が検出されたコンピュータについて(n−t)台以上の稼動状態にあるコンピュータの間で合意がとられていると判定された場合、システム構成変更検出部63は、ステップI4に進む。このステップI4において、システム構成変更検出部63はシステム構成記憶部61を参照して、待機状態にあるコンピュータが存在するかを判定する。即ちシステム構成変更検出部63は、停滞が検出されたコンピュータからフェイルオーバ可能なコンピュータが存在するかを判定する(図16のステップI4)。
If the determination in step I3 is YES, that is, if it is determined that an agreement has been reached between computers in the operating state of (nt) or more computers with stagnation detected, the system configuration change detection unit 63 proceeds to step I4. In step I4, the system configuration change detection unit 63 refers to the system
ステップI4の判定がYESの場合、システム構成変更検出部63は、システム構成変更要求パケットを生成し、当該システム構成変更要求パケットを入力パケットとして受付キュー1に積む(図16のステップI5)。このシステム構成変更要求パケット(入力パケット)には、「構成」を示す処理種別情報が付されている。受付キュー1に積まれたシステム構成変更要求パケットは、入力パケットとして前述のアルゴリズム4で処理される。
If the determination in step I4 is YES, the system configuration change detection unit 63 generates a system configuration change request packet and places the system configuration change request packet in the
システム構成変更要求パケットは、システム構成情報を含む。システム構成変更検出部63は、このシステム構成情報を、現在自コンピュータのシステム構成記憶部61に格納されているシステム構成情報のコピーを利用して生成する。即ちシステム構成変更検出部63は、システム構成情報のコピーのうち、停滞が検出されたことの合意がとられたコンピュータの状態を示す情報を待機状態を示すように更新するとともに、当該コンピュータの優先度を他の待機状態にあるコンピュータよりも低くなるように更新し、さらに、最も優先度の高い待機状態にあるコンピュータの状態を示す情報を稼動状態を示すように更新する。この更新されたシステム構成情報のコピーが、システム構成変更要求パケットに用いられる。したがってシステム構成変更要求パケットは、停滞が検出されたことの合意がとられたコンピュータを待機状態とすることを要求するとともに、当該コンピュータの優先度を他の待機状態にあるコンピュータよりも低く設定し、かつ最も優先度の高い待機状態にあるコンピュータを稼動状態とすることを要求する。つまりシステム構成変更要求パケットは、停滞が検出されたことの合意がとられたコンピュータから最も優先度の高い待機状態にあるコンピュータにフェイルオーバすることを要求するパケットである。
一方、ステップI2,I3またはI4の判定がNOの場合、システム構成変更検出部63は処理を終了する。
The system configuration change request packet includes system configuration information. The system configuration change detection unit 63 generates the system configuration information using a copy of the system configuration information currently stored in the system
On the other hand, if the determination in step I2, I3, or I4 is NO, the system configuration change detection unit 63 ends the process.
(アルゴリズム13)
次に、アルゴリズム13について、図17を参照して説明する。図17は、システム構成設定部64によって実行される、整列マルチキャスト部2の合意部262から確定されたシステム構成変更要求パケットを受け取った場合の処理の手順を示すフローチャートである。
(Algorithm 13)
Next, the
システム構成設定部64は、合意部262から確定されたシステム構成変更要求パケットを受け取ると、以下の処理を分散システム10を構成するすべてのコンピュータについて実行する(図17のステップJ1)。
When the system configuration setting unit 64 receives the confirmed system configuration change request packet from the
まずシステム構成設定部64は、合意部262から渡されたシステム構成変更要求パケットに含まれているシステム構成情報(以下、新たなシステム構成情報と称する)を現在システム構成記憶部61に格納されているシステム構成情報(以下、現システム構成情報と称する)と比較する(図17のステップJ2)。この比較の結果に基づき、システム構成設定部64は、現在対象としているコンピュータについて、待機状態から稼動状態への変更が要求されているかを判定する(図17のステップJ3)。なお、稼動状態から待機状態への変更が要求されている場合、アルゴリズム4(具体的にはステップA4以降)で処理される。
First, the system configuration setting unit 64 stores system configuration information (hereinafter referred to as new system configuration information) included in the system configuration change request packet passed from the
もし、現在対象としているコンピュータについて、待機状態から稼動状態への変更が要求されているならば(図17のステップJ3のYES)、システム構成設定部64は、自コンピュータのシステム構成通知プロトコルデータ送受信部66から現在対象としているコンピュータ(つまり待機状態から稼動状態への変更が要求されたコンピュータ)のシステム構成通知プロトコルデータ送受信部66に対して、システム構成通知プロトコルデータにより新たなシステム構成情報を送信させる(図17のステップJ4)。このシステム構成通知プロトコルデータ(新たなシステム構成情報)の送信により、送信先のコンピュータに対して、待機状態から稼動状態への変更が通知される。
If the current target computer is requested to change from the standby state to the operating state (YES in step J3 in FIG. 17), the system configuration setting unit 64 transmits / receives the system configuration notification protocol data of its own computer. New system configuration information is transmitted from the
またシステム構成設定部64は、自コンピュータ内の各記憶部に格納されている、稼動状態への変更が要求されたコンピュータに関する情報を初期化する(図17のステップJ5)。ここでは、遅延記憶部28内の(n−1)個の遅延フラグうちの、稼動状態への変更が要求されたコンピュータに新たに対応付けられる遅延フラグ、および、最大確定入力順序番号履歴記憶部62内の最大確定入力順序番号履歴のうちの、稼動状態への変更が要求されたコンピュータに新たに対応付けられる最大確定入力順序番号履歴が初期化される。また、ステップJ5では、システム構成記憶部61に格納されている現システム構成情報が新たなシステム構成情報に更新される。
Further, the system configuration setting unit 64 initializes information related to the computer requested to be changed to the operating state, which is stored in each storage unit in the own computer (step J5 in FIG. 17). Here, among the (n−1) delay flags in the
(アルゴリズム14)
次に、アルゴリズム14について、図18を参照して説明する。図18は、システム構成設定部64によって実行される、システム構成通知プロトコルデータ送受信部66からシステム構成通知プロトコルデータを受け取った場合の処理の手順を示すフローチャートである。
(Algorithm 14)
Next, the
今、自コンピュータのシステム構成通知プロトコルデータ送受信部66が他のコンピュータのシステム構成通知プロトコルデータ送受信部66から送信されたシステム構成通知プロトコルデータを受信したものとする。システム構成通知プロトコルデータ送受信部66は、自身が受信したシステム構成通知プロトコルデータを自コンピュータ内のシステム構成設定部64に渡す。
Assume that the system configuration notification protocol data transmission /
システム構成設定部64は、システム構成通知プロトコルデータ送受信部66からシステム構成通知プロトコルデータを受け取ると、自コンピュータが待機状態にあるかを判定する(図18のステップK1)。もし、自コンピュータが待機状態にあるならば(図18のステップK1のYES)、システム構成設定部64は受け取ったシステム構成通知プロトコルデータが、自コンピュータを稼動状態に変更することを示すシステム構成情報を含んでいるかを判定する(図18のステップK2)
もし、システム構成通知プロトコルデータが自コンピュータを稼動状態に変更することを示しているならば(図18のステップK2のYES)、システム構成設定部64は、システム構成記憶部61に格納されているシステム構成情報を、当該プロトコルデータに含まれているシステム構成情報に更新する(図18のステップK3)。そしてシステム構成設定部64は、初期化処理を行い、整列マルチキャスト部2を動作可能状態にする(図18のステップK4)。
Upon receiving the system configuration notification protocol data from the system configuration notification protocol data transmission /
If the system configuration notification protocol data indicates that the own computer is to be changed to the operating state (YES in step K2 in FIG. 18), the system configuration setting unit 64 is stored in the system
一方、ステップK1またはK2の判定がNOの場合、システム構成設定部64は処理を終了する。例えば、システム構成変更要求パケットによって稼動状態から待機状態に変更することが要求されているコンピュータのシステム構成変更検出部63では、ステップK1の判定がNOとなる。この場合、システム構成変更検出部63は、システム構成記憶部61に格納されているシステム構成情報を新たなシステム構成情報に更新することなく処理を終了する。このようにしても、待機状態に変更することが要求されているコンピュータは、他の稼動状態にあるコンピュータから無視されるため何ら問題とならない。なお、稼動状態から待機状態に変更することが要求されているコンピュータにおいてシステム構成情報の更新が行われても構わない。
On the other hand, if the determination in step K1 or K2 is NO, the system configuration setting unit 64 ends the process. For example, in the system configuration change detection unit 63 of the computer that is requested to change from the operating state to the standby state by the system configuration change request packet, the determination in step K1 is NO. In this case, the system configuration change detection unit 63 ends the process without updating the system configuration information stored in the system
なお、以上に述べたアルゴリズム1〜14の順序は、必ずしもこの順序で実行されるというものではない。つまり、これらは、その動作条件が成立すれば独立して実行されるものである。
The order of the
本実施形態において、システム構成管理部6内のシステム構成変更検出部63は、最大確定入力順序番号履歴記憶部62に格納されている情報のうち、直近の一定時間(Δt2)における各コンピュータの整列マルチキャスト部2の処理状況を反映した情報に基づき、自コンピュータよりも最大確定入力順序番号がΔi(Δiは1より大きい整数)以上下回ったコンピュータ(さらに詳細には、Δi以上下回った回数が一定回数以上となるコンピュータ)を、停滞しているコンピュータとして検出している(アルゴリズム10)。Δiを1より大きい整数としている理由は、t−耐故障アルゴリズムを適用した分散システムでは、当該アルゴリズムが(n−t)台のコンピュータの合意があれば次の処理を実行できることによる。つまり、t−耐故障アルゴリズムを適用すると、原理的に、分散システム内のあるコンピュータにとって、t台のコンピュータは入力順序番号が1遅れている状態に見えてしまうためである。よって、Δiを1より大きい整数とすることにより、停滞しているコンピュータの誤検出を防ぐことができる。
In the present embodiment, the system configuration change detection unit 63 in the system
また本実施形態では、停滞しているコンピュータを検出するための時間範囲Δt2を設定することで、一時的に停滞しているコンピュータが停滞しているコンピュータとして検出される不具合を防止できる。 Further, in this embodiment, by setting the time range Δt2 for detecting a stagnant computer, it is possible to prevent a problem that a temporarily stagnating computer is detected as a stagnating computer.
また本実施形態では、停滞しているコンピュータの検出について、(n−t)台以上のコンピュータで合意がとれたことを、フェイルオーバのきっかけとしている(アルゴリズム12)。これにより、コンピュータ間で通信ができないという理由だけで、各々のコンピュータが通信相手のコンピュータを停滞していると判定して、スプリットブレインが発生するのを防ぐことができる。 In the present embodiment, the detection of a stagnant computer is triggered by a failover (algorithm 12) that an agreement is reached between (nt) or more computers. Accordingly, it is possible to prevent the occurrence of split brain by determining that each computer is stagnating with the communication partner computer only because the computers cannot communicate with each other.
また本実施形態では、システム構成変更要求パケットを整列マルチキャストの入力パケットとしている(アルゴリズム12)。これにより、停滞が確認されたために待機状態に変更されたコンピュータが復帰してきた際に、変更される前の処理は実行し、変更された後の処理は実行しないようにできる。 In this embodiment, the system configuration change request packet is used as an input packet for ordered multicast (algorithm 12). As a result, when the computer that has been changed to the standby state because of the stagnation is restored, the process before the change is executed, and the process after the change is not executed.
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。例えば、上記実施形態では、稼動状態に設定されるコンピュータ(多重化を構成するコンピュータ)の数nが4で、tが1である。しかし、nは4以上の整数であればよく、つまり稼動状態に設定されるコンピュータは4台以上であればよく、tは3t<nを満たす0より大きい整数であればよい。この場合、t−耐故障アルゴリズムにより、n台のコンピュータのうちの最大t台の故障を許容することができる。 Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. For example, in the above-described embodiment, the number n of computers set in the operating state (computers constituting the multiplexing) is 4, and t is 1. However, n may be an integer equal to or greater than 4, that is, four or more computers may be set in the operating state, and t may be an integer greater than 0 that satisfies 3t <n. In this case, the t-fault tolerance algorithm can tolerate a maximum of t faults among the n computers.
特に、{n,t}を、上記条件を満たし、かつ(n−t)の値が最小値となるように設定するならば、n台のコンピュータのうちの最大t台の故障を許容するのに、最も少ない台数のコンピュータで合意をとることができる。ここで、tの条件3t<nを変形すると、tはt<n/3を満たす0より大きい整数であるといえる。このことから、(n−t)の値は、nに対して(n−t)>2n/3のような関係がある。したがって、{n,t}を、上記条件を満たし、かつ(n−t)の値が2n/3を超える最小値となるように設定するならば、つまり{n,t}を、いわゆる過2/3の合意をとるように設定するならば、最も少ない台数のコンピュータで合意をとることができる。(n−t)の値が2n/3を超える最小値となる{n,t}は、{4,1},{7,2},{10,3},{13,4}…である。 In particular, if {n, t} is set so that the above condition is satisfied and the value of (n−t) is the minimum value, failure of a maximum of t computers out of n computers is allowed. In addition, an agreement can be reached with the smallest number of computers. Here, if the condition 3t <n of t is modified, it can be said that t is an integer larger than 0 that satisfies t <n / 3. From this, the value of (nt) has a relationship such that (nt)> 2n / 3 with respect to n. Therefore, if {n, t} is set so that the above condition is satisfied and the value of (nt) exceeds 2n / 3, that is, {n, t} If it is set so that an agreement of / 3 is obtained, an agreement can be reached with the smallest number of computers. {N, t} at which the value of (nt) exceeds 2n / 3 is {4, 1}, {7, 2}, {10, 3}, {13, 4}. .
また上記実施形態では、システム構成変更検出部63が停滞しているコンピュータを検出するのに、最大確定入力順序番号履歴記憶部62に直近の時間Δt2の間に追加された最大確定入力順序番号の情報の数(つまり標本数)を特に考慮していない。しかし、この標本数が一定数以下、つまり時間Δt2における最大確定入力順序番号の変更が一定回数以下である場合、停滞しているコンピュータの検出を抑止するようにしても良い。このように、停滞しているコンピュータの検出に標本数が少ない場合を排除することで、誤検出を防止することができる。
In the above embodiment, the system configuration change detection unit 63 detects the stagnant computer, and the maximum confirmed input sequence number added during the most recent time Δt2 to the maximum confirmed input sequence number
また、Δt2の間に最大確定入力順序番号履歴記憶部62に追加された最大確定入力順序番号の情報を用いる代わりに、一定数の最大確定入力順序番号の情報を用いようにしてもよい。具体的には、自コンピュータについての変更された最大確定入力順序番号の情報の数(つまり自コンピュータについての標本数)を一定数として、これらの最大確定入力順序番号と対応する他のコンピュータについての最大確定入力順序番号とを比較して、最大確定入力順序番号が自コンピュータよりもΔi以上下回る数(つまり割合)が一定数以上となるコンピュータを、停滞しているコンピュータとして検出するようにしてもよい。このように、標本数を一定数とすることで、誤検出を防止することができる。
Further, instead of using the information on the maximum confirmed input sequence number added to the maximum confirmed input sequence number
また、時間Δt2の間に最大確定入力順序番号履歴記憶部62に追加された各コンピュータの最大確定入力順序番号の情報に基づき、自コンピュータと比べてΔi以上最大確定入力順序番号が下回り、その番号の差分が時間の経過に応じて拡大しているコンピュータを、停滞しているコンピュータとして検出するようにしてもよい。このようにすると、停滞しているコンピュータを高精度で検出できる。
Further, based on the information of the maximum determined input sequence number of each computer added to the maximum determined input sequence number
また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。 In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment.
1…入力受付キュー部(受付キュー)、2…整列マルチキャスト部、3…アプリケーションプログラム、4…プログラム状態管理部、5…出力フィルタ部、6…システム構成管理部、10…分散システム、21…入力順序番号記憶部、22…入力パケットジャーナル記憶部、23…整列マルチキャストプロトコルデータ送受信部、24…ステップ番号記憶部、25…候補パケット記憶部、26…入力パケット確定判定部、27…最大確定入力順序番号記憶部、28…遅延記憶部、29…スキップ判定部、61…システム構成記憶部、62…最大確定入力順序番号履歴記憶部、63…システム構成変更検出部、64…システム構成設定部、65…システム構成変更合意プロトコルデータ送受信部、66…システム構成通知プロトコルデータ送受信部、100-1〜100-5,100-i…コンピュータ、200…クライアント装置、261…入力候補収集部、262…合意部。
DESCRIPTION OF
Claims (6)
前記m台のコンピュータの各々は、
前記m台のコンピュータが、それぞれ同期的に動作させられるべき稼動状態にあるか、或いは待機状態にあるかを示すシステム構成情報を格納するシステム構成記憶手段と、
前記システム構成記憶手段に格納されているシステム構成情報によって稼動状態にあることが示されているn台のコンピュータのうちの(n−t)台(tは3t<nを満たす0より大きい整数)以上での多重化を保証するために、当該(n−t)台以上のコンピュータで入力データの合意をとることで当該入力データを整列マルチキャストする合意手段と、
前記n台のコンピュータのうち、自身と比較して予め定められたレベル以上停滞しているコンピュータを、前記合意手段による整列マルチキャストの実行状況に基づいて検出し、前記停滞しているコンピュータを検出した場合、前記停滞しているコンピュータの検出に関し、前記n台のコンピュータのうちの自身を含む(n−t)台以上のコンピュータで合意をとることで、前記停滞しているコンピュータの検出を確認する検出手段と、
前記停滞しているコンピュータの検出の確認に応じて、確認された前記停滞しているコンピュータを待機状態とし、待機状態にあるコンピュータを稼動状態とするように、前記システム構成記憶手段に格納されているシステム構成情報情報を更新することによって、前記停滞しているコンピュータから前記待機状態にあるコンピュータへフェイルオーバするシステム構成設定手段と
を具備することを特徴とするフェイルオーバ機能を持つ分散システム。 By setting n computers (n is an integer satisfying 4 ≦ n <m) out of m computers (m is an integer of 5 or more) connected by a network, and applying the t-fault tolerance algorithm A distributed system with failover function that operates synchronously,
Each of the m computers is
System configuration storage means for storing system configuration information indicating whether each of the m computers is in an operating state to be operated synchronously or in a standby state;
(N−t) computers (n is an integer larger than 0 satisfying 3t <n) among n computers indicated to be in an operating state by the system configuration information stored in the system configuration storage unit. In order to guarantee the multiplexing described above, an agreement means for arranging and multicasting the input data by agreeing the input data with the (nt) computers or more,
Among the n computers, a computer stagnating more than a predetermined level compared to itself is detected based on the execution status of the ordered multicast by the agreement means, and the stagnating computer is detected. In this case, regarding the detection of the stagnant computer, the detection of the stagnant computer is confirmed by agreeing with (nt) or more computers including itself among the n computers. Detection means;
In response to the confirmation of the detection of the stagnant computer, the confirmed stagnant computer is set in the standby state, and the computer in the standby state is stored in the system configuration storage means so as to be in the operating state. And a system configuration setting unit that performs failover from the stagnating computer to the computer in the standby state by updating the system configuration information information.
前記システム構成設定手段は、前記合意手段により前記システム構成変更要求データが整列マルチキャストさせられたことをもって、前記システム構成変更要求データの示す前記分散システムの構成への変更を行う
ことを特徴とする請求項1記載のフェイルオーバ機能を持つ分散システム。 When the detection unit confirms the stagnated computer, the detection unit changes the configuration of the distributed system so that the confirmed stagnant computer is set in a standby state and the computer in the standby state is set in an operating state. Providing the system configuration change request data for requesting the agreement means as the input data to align and multicast the system configuration change request data;
The system configuration setting unit performs a change to the configuration of the distributed system indicated by the system configuration change request data when the system configuration change request data is subjected to ordered multicast by the agreement unit. A distributed system having a failover function according to Item 1.
前記m台のコンピュータの各々は、前記n台のコンピュータの各々について、他の稼動状態にあるコンピュータとの間で合意された入力データに付された最大の順序番号の履歴を格納する順序番号履歴記憶手段をさらに具備し、
前記検出手段は、前記停滞しているコンピュータを、前記順序番号履歴記憶手段に格納されている前記n台のコンピュータの各々についての最大の順序番号の履歴に基づいて検出する
ことを特徴とする請求項1または2に記載のフェイルオーバ機能を持つ分散システム。 The agreement means manages the input data to be agreed by a sequence number serially attached to the input data,
Each of the m computers stores, for each of the n computers, a sequence number history for storing a history of the maximum sequence numbers attached to input data agreed with other computers in operation. A storage means;
The detection means detects the stagnated computer based on a history of maximum sequence numbers for each of the n computers stored in the sequence number history storage means. Item 3. A distributed system having a failover function according to item 1 or 2.
前記検出手段は、前記停滞しているコンピュータを検出することによって前記システム構成変更合意プロトコルデータ送受信手段により前記報告種類のプロトコルデータが他の稼動状態にあるコンピュータに送信され、当該報告種類のプロトコルデータに対し、(n−t−1)台以上のコンピュータから前記同意種類のプロトコルデータが返されたことをもって、前記停滞しているコンピュータの検出に関し、自身を含む(n−t)台以上のコンピュータで合意がとれたとする請求項1乃至4のいずれかに記載のフェイルオーバ機能を持つ分散システム。 When the detection means detects the stagnated computer, the report type protocol data for reporting the detected stagnant computer to all computers in other operating states, other operating System configuration change agreement protocol that transmits agreement type protocol data indicating that the report type protocol data transmitted from the computer in the state agrees, and non-agreement type protocol data indicating that the report is not agreed System configuration change agreement protocol data transmission / reception means for receiving the report type protocol data, the agreement type protocol data and the non-agreement type protocol data transmitted from a computer in another operating state Further comprising means,
The detection means detects the stagnated computer, and the system configuration change agreement protocol data transmission / reception means transmits the report type protocol data to another computer in the operating state, and the report type protocol data. On the other hand, when (n-t-1) or more computers return the protocol data of the consent type, the (n-t) or more computers including itself are related to the detection of the stagnant computer. 5. A distributed system having a failover function according to any one of claims 1 to 4, wherein an agreement is reached.
前記m台のコンピュータの各々は、前記m台のコンピュータが、それぞれ同期的に動作させられるべき稼動状態にあるか、或いは待機状態にあるかを示すシステム構成情報を格納するシステム構成記憶手段と、合意手段と、検出手段と、システム構成設定手段とを具備し、
前記フェイルオーバ方法は、
前記m台のコンピュータの各々の前記合意手段が、前記システム構成記憶手段に格納されているシステム構成情報によって稼動状態にあることが示されているn台のコンピュータのうちの(n−t)台(tは3t<nを満たす0より大きい整数)以上での多重化を保証するために、当該(n−t)台以上のコンピュータで入力データの合意をとることで当該入力データを整列マルチキャストするステップと、
前記検出手段が、前記n台のコンピュータのうち、自身と比較して予め定められたレベル以上停滞しているコンピュータを、前記合意手段による整列マルチキャストの実行状況に基づいて検出するステップと、
前記停滞しているコンピュータを検出した場合、前記検出手段が、前記停滞しているコンピュータの検出に関し、前記n台のコンピュータのうちの自身を含む(n−t)台以上のコンピュータで合意をとることで、前記停滞しているコンピュータの検出を確認するステップと、
前記停滞しているコンピュータの検出の確認に応じて、確認された前記停滞しているコンピュータを待機状態とし、待機状態にあるコンピュータを稼動状態とするように、前記システム構成記憶手段に格納されているシステム構成情報情報を更新することによって、前記停滞しているコンピュータから前記待機状態にあるコンピュータへフェイルオーバするステップと
を具備することを特徴とするフェイルオーバ方法。 By setting n computers (n is an integer satisfying 4 ≦ n <m) out of m computers (m is an integer of 5 or more) connected by a network, and applying the t-fault tolerance algorithm In a distributed system that operates synchronously, when the operation of any one of the n computers is stagnant, a failover method for failing over from the stagnating computer to a computer in a standby state Because
Each of the m computers includes system configuration storage means for storing system configuration information indicating whether the m computers are in an operation state to be operated synchronously or in a standby state, respectively. An agreement means, a detection means, and a system configuration setting means,
The failover method is:
(N−t) of the n computers in which the agreement means of each of the m computers is shown to be in operation by the system configuration information stored in the system configuration storage means. (T is an integer greater than 0 satisfying 3t <n) In order to guarantee multiplexing at or above, the input data is agreed by the (n−t) or more computers, and the input data is arranged and multicast. Steps,
The detecting means detecting, among the n computers, a computer that has stagnated more than a predetermined level in comparison with itself based on an execution status of the ordered multicast by the agreement means;
When the stagnant computer is detected, the detection means agrees on (nt) or more computers including itself among the n computers with respect to detection of the stagnant computer. Confirming the detection of the stagnant computer;
In response to the confirmation of the detection of the stagnant computer, the confirmed stagnant computer is set in the standby state, and the computer in the standby state is stored in the system configuration storage means so as to be in the operating state. And failover to the computer in the standby state by updating the system configuration information information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009043912A JP4818379B2 (en) | 2009-02-26 | 2009-02-26 | Distributed system having failover function and failover method in the same system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009043912A JP4818379B2 (en) | 2009-02-26 | 2009-02-26 | Distributed system having failover function and failover method in the same system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010198442A true JP2010198442A (en) | 2010-09-09 |
JP4818379B2 JP4818379B2 (en) | 2011-11-16 |
Family
ID=42823085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009043912A Active JP4818379B2 (en) | 2009-02-26 | 2009-02-26 | Distributed system having failover function and failover method in the same system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4818379B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012056487A1 (en) * | 2010-10-25 | 2012-05-03 | 株式会社日立製作所 | Computer system |
KR101444783B1 (en) * | 2013-05-16 | 2014-09-26 | 국방과학연구소 | System managing method for improving system availability |
JPWO2015140942A1 (en) * | 2014-03-18 | 2017-04-06 | 株式会社東芝 | Information processing system, server device, information processing method, and program |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04307633A (en) * | 1991-04-05 | 1992-10-29 | Hitachi Ltd | Multiplex controller |
JPH1040229A (en) * | 1996-04-30 | 1998-02-13 | Internatl Business Mach Corp <Ibm> | System for managing subscription to processor group in distribution computing environment |
JP2003036101A (en) * | 2001-07-25 | 2003-02-07 | Yokogawa Electric Corp | Redundant controller |
JP2003067215A (en) * | 2001-06-15 | 2003-03-07 | Toshiba Corp | Distributed system, distributed system multiplexing control method, and time management method |
JP2006004434A (en) * | 2004-06-18 | 2006-01-05 | Microsoft Corp | Efficient changing of replica set in distributed fault-tolerant computing system |
-
2009
- 2009-02-26 JP JP2009043912A patent/JP4818379B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04307633A (en) * | 1991-04-05 | 1992-10-29 | Hitachi Ltd | Multiplex controller |
JPH1040229A (en) * | 1996-04-30 | 1998-02-13 | Internatl Business Mach Corp <Ibm> | System for managing subscription to processor group in distribution computing environment |
JP2003067215A (en) * | 2001-06-15 | 2003-03-07 | Toshiba Corp | Distributed system, distributed system multiplexing control method, and time management method |
JP2003036101A (en) * | 2001-07-25 | 2003-02-07 | Yokogawa Electric Corp | Redundant controller |
JP2006004434A (en) * | 2004-06-18 | 2006-01-05 | Microsoft Corp | Efficient changing of replica set in distributed fault-tolerant computing system |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012056487A1 (en) * | 2010-10-25 | 2012-05-03 | 株式会社日立製作所 | Computer system |
JPWO2012056487A1 (en) * | 2010-10-25 | 2014-02-24 | 株式会社日立製作所 | Computer system |
JP5596793B2 (en) * | 2010-10-25 | 2014-09-24 | 株式会社日立製作所 | Computer system |
US9942107B2 (en) | 2010-10-25 | 2018-04-10 | Hitachi, Ltd. | Computer system including plural computer nodes synchronized with each other |
KR101444783B1 (en) * | 2013-05-16 | 2014-09-26 | 국방과학연구소 | System managing method for improving system availability |
JPWO2015140942A1 (en) * | 2014-03-18 | 2017-04-06 | 株式会社東芝 | Information processing system, server device, information processing method, and program |
US10303565B2 (en) | 2014-03-18 | 2019-05-28 | Kabushiki Kaisha Toshiba | Multicasting system voting on server data |
Also Published As
Publication number | Publication date |
---|---|
JP4818379B2 (en) | 2011-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4818349B2 (en) | Distributed system and multiplexing control method for the same | |
US8788565B2 (en) | Dynamic and distributed queueing and processing system | |
Amir et al. | Prime: Byzantine replication under attack | |
US8185649B2 (en) | Subscription propagation in a high performance highly available content-based publish/subscribe system | |
US7457257B2 (en) | Apparatus, system, and method for reliable, fast, and scalable multicast message delivery in service overlay networks | |
US7975016B2 (en) | Method to manage high availability equipments | |
US8743881B2 (en) | Link data transmission method, node and system | |
US8032578B2 (en) | Using distributed queues in an overlay network | |
Tang et al. | GoCast: Gossip-enhanced overlay multicast for fast and dependable group communication | |
US20100268808A1 (en) | Distributed aggregation on an overlay network | |
US20080310444A1 (en) | Group Communication System Achieving Efficient Total Order and State Synchronization in a Multi-tier Environment | |
Volz et al. | Supporting strong reliability for distributed complex event processing systems | |
Zhai et al. | Reliability-aware service function chain backup protection method | |
JP4818379B2 (en) | Distributed system having failover function and failover method in the same system | |
Veeresh et al. | Reliable fault tolerance system for service composition in mobile Ad Hoc network. | |
Canini et al. | Renaissance: A self-stabilizing distributed SDN control plane using in-band communications | |
JP3655263B2 (en) | Distributed system and multiplexing control method for the same | |
JP4806044B2 (en) | Distributed system having failover function and failover method in the same system | |
CN115022340A (en) | Method for operating alliance chain network | |
US8321543B2 (en) | System and method for determining weak membership in set of computer nodes | |
CN106664217B (en) | Methods, systems, and media for identification of candidate problem network entities | |
Venâncio et al. | Nfv-rbcast: Enabling the network to offer reliable and ordered broadcast services | |
Gorawski et al. | Towards reliability and fault-tolerance of distributed stream processing system | |
JP4228193B2 (en) | Information sharing method, network system, and node device | |
Birman et al. | Group communication systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110517 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110715 |
|
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: 20110802 |
|
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: 20110830 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140909 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4818379 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 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |