JP4167238B2 - サーバシステム、サーバ装置およびその方法 - Google Patents
サーバシステム、サーバ装置およびその方法 Download PDFInfo
- Publication number
- JP4167238B2 JP4167238B2 JP2005068670A JP2005068670A JP4167238B2 JP 4167238 B2 JP4167238 B2 JP 4167238B2 JP 2005068670 A JP2005068670 A JP 2005068670A JP 2005068670 A JP2005068670 A JP 2005068670A JP 4167238 B2 JP4167238 B2 JP 4167238B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- data
- server
- ring
- dhcp server
- 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
Landscapes
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Description
DHCPによりネットワーク内の各ノードにIPアドレスを付与するDHCPサーバなど、特定の機能を備えたサーバを、1つのネットワーク内に複数、設置し、冗長化すると、その信頼性を高めることができる。
しかしながら、例えば、DHCPサーバを冗長化するときには、いずれのアドレスをいずれのノードに付与したかなどを示す情報を、複数のサーバの間で矛盾が生じないように管理する必要がある。
しかしながら、複数のサーバの間で矛盾が生じないように情報を管理することは、必ずしも容易ではない。
また、特定的には、本発明は、冗長化された複数のDHCPサーバの一部が機能しなくなったときに、他のDHCPサーバが、機能しなくなったDHCPサーバノードを代行しても、IPアドレスの割り当てに矛盾が生じないように改良されたサーバシステム、サーバ装置およびこれらの方法を提供することを目的とする。
好適には、前記サーバシステムのサーバ装置の一部に発生した障害の回数と、この障害の復旧とにより定義される状態を示す状態データを作成する状態データ作成手段をさらに有し、前記使用データ付加手段は、前記作成された状態データを、前記使用データとして、前記第1の処理用データに付加し、前記処理手段は、前記処理を、このサーバ装置に割り当てられた処理用データの内、前記状態データが付された第1の処理用データ以外の処理用データを用いて代行する。
また、特定的には、本発明にかかるサーバシステム、サーバ装置およびその方法によれば、冗長化された複数のDHCPサーバの一部が機能しなくなったときに、他のDHCPサーバが、機能しなくなったDHCPサーバノードを代行しても、IPアドレスの割り当てに矛盾が生じない。
以下、本発明の実施形態を説明する。
図1は、本発明にかかるデータ処理方法が適用されるネットワークシステム1の構成を例示する図である。
図1に示すように、ネットワークシステム1は、n台のクライアントコンピュータ10−0〜10−(n−1)、管理サーバ12およびDHCPサーバ2−0〜2−(n−1)が、LAN、WANあるいはインターネットなどのネットワーク14を介して、互いに通信可能に接続されて構成される。
但し、各図において、nは2以上の整数を示し、また、nは常に同じ数を示すとは限らない。
また、以下、DHCPサーバ2−0〜2−(n−1)など、複数あり得る構成部分・処理のいずれかが、特定されずに記載されるときには、単にDHCPサーバ2と略記されることがあり、実質的に同一な構成部分および処理には、同じ符号が付される。
ネットワークシステム1においては、複数のDHCPサーバ2は冗長構成とされ、クライアントコンピュータ10は、これらのDHCPサーバ2から、DHCP(Dynamic Host Configuration Protocol;動的ホスト構成プロトコル)により、IPアドレスの割り当てを動的に受けて、他のノードとの通信を行う。
なお、以下、適宜、具体例を挙げて説明するが、この具体例は、説明の具体化および明確化のために挙げられ、本発明の技術範囲の限定のために挙げられるのではない。
図2は、図1に示したクライアントコンピュータ10、管理サーバ12およびDHCPサーバ2のハードウエアを例示する図である。
図2に示すように、これらのノードは、CPU102およびメモリ104などを含む本体100、表示装置およびキーボードなどを含む入出力装置106、他のノードとの通信を行う通信装置110、および、CD装置、FD装置およびHDD装置などの記録装置112から構成される。
つまり、これらのノードは、ネットワーク14(図1)を介して他のノードと通信が可能なコンピュータとしての構成部分を有している。
次に、ネットワークシステム1におけるDHCPサーバ2の冗長構成を説明する。
図3は、図1,図2に示したDHCPサーバ2の冗長構成を示す図であって、ネットワークシステム1に含まれる全てのDHCPサーバ2が、1つの論理的リング(第1の論理的リング)16−1を構成する場合を示す(但し、図3は、n=8の場合を例示)。
図3に示すように、例えば、ネットワークシステム1に含まれる全てのDHCPサーバ2−1〜2−(n−1)は、論理的に1つのループ状の冗長構成(第1の論理的リング16−1)を形成し、これらのDHCPサーバ2それぞれには、#0〜#(n−1)のうちのいずれかが、一意な識別子(サーバID)として、この論理的リング16−1のID(リングID=1)とともに付される。
また、ネットワークシステム1には、複数の論理的リング16が含まれうるが、以下、図示およびその説明の具体化および明確化のために、ネットワークシステム1に論理的リング16−1が1つだけ含まれる場合を具体例とする。
つまり、例えば、DHCPサーバ2−0が、DHCPサーバ2−1に対して送信した信号は、DHCPサーバ2−2,2−3,・・・,2−7(n−1)の順序で、順次、中継され、最後にDHCPサーバ2−0に返される。
論理的リング16−1においては、例えば、サーバIDの値が最も小さいDHCPサーバ2が、マスタDHCPサーバ2として動作し、これ以外のDHCPサーバ2は、スレーブDHCPサーバ2として動作する。
DHCPサーバ2−0〜2−(n−1)それぞれは、設定されたVSS#0〜#7(n−1)のいずれかに含まれるIPアドレスを、IPアドレスの割り当てを要求したクライアントコンピュータ10に割り当てることができる。
なお、VSSの作成方法は、図18,図20および式1〜3などを参照して後述される。
以下、論理的リング16−1によるクライアントコンピュータ10に対するIPアドレスの割り当てを説明する。
図4は、図3に示した論理的リング16−1によるクライアントコンピュータ10に対するIPアドレスの割り当て処理(S10)を示す通信シーケンス図であって、IPアドレスが正常に割り当てられる場合を例示する。
なお、以下の各通信シーケンス図において、DHCPサーバ2−0などに付された(M)は、DHCPサーバ2−0などがマスタDHCPサーバ2であることを、DHCPサーバ2−1などに付された(S)は、DHCPサーバ2−1などがスレーブDHCPサーバ2であることを示している。
図4に示すように、ステップ100(S100)において、クライアントコンピュータ10は、DHCPサーバ2−0に対して、IPアドレスの割り当てを要求する。
ステップ104(S104)において、クライアントコンピュータ10は、DHCPサーバ2−0に対して、IPアドレスAの割り当てを要求する。
ステップ106−1〜106−n(S106−1〜S106−n)において、クライアントコンピュータ10にIPアドレスの提供を申し出たDHCPサーバ2−0は、サーバIDに従って、DHCPサーバ2−1に対して、IPアドレスAを提供する旨を示す信号(アドレス割り当て通知信号)を送信する。
ステップ108(S108)において、DHCPサーバ2−0は、IPアドレスの割り当てを要求したクライアントコンピュータ10に対して、IPアドレスAを割り当てるための処理(ACK送信)を行う。
なお、図5を参照して後述するように、ステップ106(S106)には、クライアントコンピュータ10からDHCPサーバ2−0に対して、IPアドレスAの割り当てを要求する信号(Request)と、DHCPサーバ2−0からクライアントコンピュータ10に対して、この要求を受け入れる旨を示す信号(ACK)とが含まれる。
次に、このようなIPアドレス提供の衝突が起こった場合の処理を説明する。
図5は、図3に示した論理的リング16−1によるクライアントコンピュータ10に対するIPアドレスの割り当て処理(S10')を示す通信シーケンス図であって、IPアドレスの提供に衝突が生じた場合を例示する。
図4に示したS10の処理と同様に、ステップ100−1,100−2(S100−1,S100−2)において、例えば、クライアントコンピュータ10−0,10−1は、DHCPサーバ2−0,2−2に対して、IPアドレスの割り当てを要求する。
ステップ104−1,104−2(S104−1,S104−2)において、クライアントコンピュータ10−0,10−1は、DHCPサーバ2−0,2−2に対して、IPアドレスAの割り当て要求を出す。
ステップ106−1〜(S106−1〜106−n)において、クライアントコンピュータ10−0にIPアドレスの提供を申し出たDHCPサーバ2−0は、DHCPサーバ2−1に対して、IPアドレスAを提供する旨を示す信号(アドレス割り当て通知信号)を送信する。
このアドレス割り当て通知信号は、論理的リング16−1に含まれる全てのDHCPサーバ2を経由して中継され、DHCPサーバ2−0がIPアドレスAを提供する旨の信号を送出した後、制限時間中に、DHCPサーバ2−0に返される。
このアドレス割り当て通知信号は、同じクライアントコンピュータ10−0に対してIPアドレスAを提供したより高い優先順位のDHCPサーバ2−0によりブロックされ、DHCPサーバ2−2がIPアドレスAを提供する旨の信号を送出した後、制限時間中に、DHCPサーバ2−2は返されない。
また、DHCPサーバ2−0が送信し、DHCPサーバ2−1が中継したS106−1において送信されたアドレス割り当て通知信号の受信により、DHCPサーバ2−2は、IPアドレスAが、優先順位が高いDHCPサーバ2−0によって使われることを知ることができるので、DHCPサーバ2−0よりも優先順位が低いDHCPサーバ2−2は、IPアドレスAを割り当てない。
一方、ステップ110(S110)において、DHCPサーバ2−2は、クライアントコンピュータ10−1に対して、IPアドレスAを割り当てない旨の信号(NACK)を返す。
また、マスタDHCPサーバ2−0は、例えば一定周期で、DHCPサーバ2−0に対して、論理的リング16−1における通信が正常に維持されているか否かを試験する。
図6は、図3に示した論理的リング16−1における通信が正常に維持されているか否かの試験(リングアップデート)を示す信号シーケンスであって、リングアップデートにより、論理的リング16−1における通信が正常に維持されている場合を例示する。
図6に示すように、ステップ120−1(S120−1)において、マスタDHCPサーバ2−0が、スレーブDHCPサーバ2−1に対してリングアップデート信号を送信する。
ステップ120−2〜120−n(S120−2〜S120−n)において、DHCPサーバ2−1〜2−(n−1)により、リングアップデート信号が、順次、中継され、最終的に、DHCPサーバ2−0に返される。
DHCPサーバ2−0は、リングアップデート信号が、リングアップデート信号送信から制限時間内に返されたことをもって、論理的リング16−1内の通信が正常に維持されていると判断することができる。
以下、障害発生時の論理的リング16−1(図3)の動作を説明する。
図7は、論理的リング16−1(図3)に発生する障害を例示する図である。
以下、図7に示すように、ネットワークシステム1(図1)のネットワーク14に障害が生じたなどの理由により、論理的リング16−1(図3)において、DHCPサーバ2−0〜2−3と、DHCPサーバ2−4〜2−7(n−1)との間の通信が不可能になった場合を具体例とする。
正常時(図4;S10)と同様に、図8に示すように、ステップ100(S100)において、クライアントコンピュータ10からDHCPサーバ2に対して、IPアドレスの割り当てが要求される。
ステップ102(S102)において、DHCPサーバ2−0は、クライアントコンピュータ10に対してIPアドレスAを提供する。
ステップ104(S104)において、クライアントコンピュータ10は、DHCPサーバ2−0に対してIPアドレスAの割り当てを要求する。
しかしながら、ステップ106−4〜106−n(S106−4〜S106−n;但し、一部、図示されず)に破線で示すように、正常時とは異なり、DHCPサーバ2−3とDHCPサーバ2−4との間の通信が不可能なので、DHCPサーバ2−4には、この通知は届かない。
従って、この通知は、制限時間内にDHCPサーバ2−0に返ってこない。
同様に、ステップ140(S140)において、例えば、DHCPサーバ2−4〜2−(n−1)に、リングアップデートの周期が訪れても、これらに、DHCPサーバ2−0からのリングアップデート信号は届かない。
この事象を契機として、DHCPサーバ2−4〜2−(n−1)は、相互に通信が可能なDHCPサーバ2−4〜2−(n−1)の間で、リング再構成のための処理(S20−2)を行う。
この結果、図9に示すように、第1の論理的リング16−1(図3)は、図7に示した障害発生部分で分けられ、2つの論理的リング16(第2の論理的リング16−2および第3の論理的リング16−3)に再構成される。
このとき、論理的リング16−1(図3)において、DHCPサーバ2−0〜2−7(n−1)に対応付けられていたVSS#0〜#7からなるVSもまた、論理的リング16−2におけるVSS#0〜#3、および、論理的リング16−3におけるVSS#4〜#7(n−1)からなるVSに再構成される。
図10に示すように、ステップ160−1〜160−3(S160−1〜S160−3)において、マスタDHCPサーバ2−0が、スレーブDHCPサーバ2−1に対してリングアップデート信号を送信し、この信号は、DHCPサーバ2−3まで中継される。
しかしながら、DHCPサーバ2−3とDHCPサーバ2−4との間の通信が不可能になっているので、リングアップデート信号は、制限時間内にDHCPサーバ2−0に返されることはない。
一方、DHCPサーバ2−4〜2−7(n−1)は、所定の時間、DHCPサーバ2−0からリングアップデート信号が送られてこないことなどを契機として、リング再構成のための処理(S20−1)およびアドレス同期のための処理(S30−1)を行う。
これらの処理の結果、リングアップデートが正常に終了しなかったときにも、論理的リング16−2,16−3(図9)が作成され、さらに、VSおよびVSSが再構成される。
ステップ200−1〜200−4(S200−1〜S200−4)において、DHCPサーバ2−0〜2−3は、それぞれ、ネットワークシステム1(図1)のネットワーク14に対して、パラメータとしてリングID=1を含み、リングの再構成を通知する信号をブロードキャストまたはマルチキャストする。
このリング再構成信号は、互いに通信が可能なDHCPサーバ2−0〜2−3の間でのみ伝送され、破線で示すように、その他のDHCPサーバ2−4〜2−7(n−1)に対しては伝送されない。
さらに、DHCPサーバ2−0は、自らに論理的リング16−2において、最も小さい値のサーバIDが付され、マスタDHCPサーバ2になるべきであると判断し、その他のDHCPサーバ2−1〜2−3は、スレーブDHCPサーバ2になるべきであると判断する。
また、さらに、DHCPサーバ2−0〜2−3は、それぞれ、自らに付されたサーバIDと、他のDHCPサーバ2から通知された論理的リング16−1におけるサーバIDとから、論理的リング16−2における自らの優先順位を識別する。
容易に分かるように、この場合、論理的リング16−2においては、DHCPサーバ2−0〜2−3の優先順位は0〜3となる。
ステップ210−1〜210−4(S210−1〜S210−4)において、マスタDHCPサーバ2−0〜2−3は、それぞれ、他のDHCPサーバ2に対して、リングの再構成が起こる以前に設定されていたVSSを通知する。
このVSSの通知は、DHCPサーバ2それぞれがが、他のDHCPサーバ2から受けたVSSの通知に、自らのVSSを追加して次のDHCPサーバ2に中継することにより行われる。
これらのVSSの通知は、論理的リング16−2を一回りして、DHCPサーバ2−0〜2−3に返される。
さらに、DHCPサーバ2−0〜2−3は、それぞれ、求めたVSと、論理的リング16−2に含まれるDHCPサーバ2の数と、自らの優先順位とに従って、自らに設定されるべきVSSを求める。
なお、図11には、第2の論理的リング16−2(図9)におけるリング再構成処理(S20−1)のみを示したが、第3の論理的リング16−3におけるリング再構成処理(S20−2)も、同様に行われる(以下、各論理的リング16について同様)。
DHCPサーバ2それぞれにおいて、VSおよびVSSは、式1〜式3を参照して後述する漸化式を用いた方法により、あるいは、図12(A)に示すように、DHCPサーバそれぞれに設定されるIPアドレスとそのインデックスのテーブルの形式で定義される。
このように、数式あるいはテーブルの形式で定義されたVSが、DHCPサーバ2それぞれに設定される。
第2の論理的リング16−2など、リングの再構成により得られた論理的リング16においては、VSは、上述のように、リングの再構成の後にその論理的リング16に含まれることとなったDHCPサーバ2に、リングの再構成前に設定されていた全てのVSSの集合として定義される。
なお、図13には、DHCPサーバ2−0がDHCPサーバ2−2が使用中であると認識しているIPアドレスAが、実際に、DHCPサーバ2−2によりクライアントコンピュータ10に割り当てられている(使用中である)場合が例示されている。
ステップ300−2(S300−2)において、DHCPサーバ2−1は、DHCPサーバ2−0からの信号を、DHCPサーバ2−2に中継する。
ステップ302−2(S302−2)において、DHCPサーバ2−3は、DHCPサーバ2−0に対して、IPアドレスAが使用中である旨を示す信号を送信する。
DHCPサーバ2−0は、制限時間内に、DHCPサーバ2−3からこの信号が返されると、IPアドレスAが、DHCPサーバ2−2によって実際に使用されていると判断し、その旨を記憶する。
ステップ302−3,302−4(S302−3,S302−4)において、IPアドレスAが使用中である旨を示す信号は、論理的リング16−2を一周して、DHCPサーバ2−2に返される。
なお、DHCPサーバ2−0の場合と同様に、IPアドレスAが使用中である旨を示す信号を受信したDHCPサーバ2−3,2−1は、DHCPサーバ2−2によって実際に使用されていると判断し、その旨を記録する。
なお、図14には、DHCPサーバ2−0がDHCPサーバ2−2が使用中であると認識しているIPアドレスAが、実際には、DHCPサーバ2−2によりクライアントコンピュータ10に割り当てられていない(使用中でない)場合、つまり、DHCPサーバ2−0とDHCPサーバ2−2との間で、アドレスが非同期の状態になっている場合が例示されている。
図14に示すように、図13に示した場合と同様に、ステップ300−1(S300−1)において、DHCPサーバ2−0は、DHCPサーバ2−2に対して、IPアドレスAが使用中であるか否かを問い合わせる信号を、DHCPサーバ2−2に対して送信する。
ステップ300−2(S300−2)において、DHCPサーバ2−1は、DHCPサーバ2−0からの信号を、DHCPサーバ2−2に中継する。
ステップ304−2(S304−2)において、DHCPサーバ2−3は、IPアドレスAの不使用を示す信号を、DHCPサーバ2−0に中継する。
このような場合には、DHCPサーバ2−0は、IPアドレスAが、DHCPサーバ2−2によって使用されていないと判断し、その旨を記憶する。
ステップ304−3,304−4(S304−3,S304−4)において、IPアドレスAの不使用を示す信号は、DHCPサーバ2−2に返される。
なお、DHCPサーバ2−0の場合と同様に、IPアドレスAが不使用である旨を示す信号を受信したDHCPサーバ2−3,2−1は、DHCPサーバ2−2によって実際に使用されていないと判断し、その旨を記録する。
図16は、図15に示した第5の論理的リング16−5に障害が発生したときに、第3の論理的リング16−3から、2つのDHCPサーバ2−6,DHCPサーバ2−7(n−1)が、単独で動作するように再構成される態様を例示する図である。
さらに、図16に示すように、第5の論理的リング16−5にさらに障害が発生し、DHCPサーバ2−6とDHCPサーバ2−7(n−1)との間の通信が不能になったときに、DHCPサーバ2−6,2−7(n−1)それぞれが、単独で動作するように、第5の論理的リング16−5が再構成されうる。
また、例えば、図9に示した第2の論理的リング16−2と、第3の論理的リング16−3の通信が復旧したときには、例えば、マスタDHCPサーバ2−0が、定期的に、図11に示したリング再構成処理(S20)を行うことにより、複数の論理的リング16を、1つの論理的リング16−1(図3)にまとめ、それに合わせてVSSを再構成し、アドレスを同期させることができる。
図17は、4つのDHCPサーバ2−0〜2−3により構成される第6の論理的リング16−6を例示する図である。
以下、説明の明確化のため、図17に示すように、4つのDHCPサーバ2−0〜2−3から構成される論理的リング16−6を具体例として、1つの論理的リング16から複数の論理的リング16への分裂に伴うVSSの再構成を説明する。
DHCPサーバ2−0〜2−3それぞれは初期値として同一のスコープが与えられており、最初は、VSSを保持していない。したがって論理的リング16−6において各DHCPサーバ2−0〜2−3のVSSをすべて集めても空(大きさが0)のVSとなる。この場合は、各DHCPサーバ2−0〜2−3それぞれは、それぞれがもつスコープをVSとみなす。このときのVSは、図18の左側に示すような、IPアドレス#000,#001,・・・を含む、初期値として与えられたスコープと同一のIPアドレス集合である。
このように、VSが分割されていない状態は、VSの0次分割と定義される。
なお、0次分割のVSは、論理的リング16の各DHCPサーバ2に与えられたスコープと一致する。
つまり、0次分割のVSに含まれるIPアドレス#k(k=0,1,2,3・・・(S−1))のインデックスkに着目し、0次分割のVSを、IPアドレス#kのインデックスkが、k[mod]4=0〜3を与えるIPアドレスをそれぞれ含むVSS#0〜#3に1次分割し、VSS#0〜#3それぞれを、論理的リング16−6を構成するDHCPサーバ2−0〜2−3それぞれに対応付ければよい。
なお、VSSの1次分割の状態では、論理的リング16を構成するDHCPサーバ2−0〜2−3のVSSをすべて集めた論理的リング16のVSは、0次分割となり、DHCPサーバ2−0〜2−3それぞれが持つ、初期値としてのスコープと一致する。
このように、VSSの分割の次数は、常にVSの分割の次数より1だけ大きくなる。
Y1i1=A1X+B1i1 ・・・(1),
ただし、式1において、DHCPサーバ2−i1の優先順位をB1i1とし、Xを、Y1i1≦S−1を与える0以上の整数とする。
以下、図19に示すように、論理的リング16−6において、他のDHCPサーバ2から、DHCPサーバ2−2への通信が不可能になった場合を具体例とする。
このような場合、マスタDHCPサーバ2−0は、既に述べたように、第6の論理的リング16−6から、DHCPサーバ2−0,2−1,2−3のみを含む第7の論理的リング16−7を再構成する。
論理的リング16−7においては、DHCPサーバ2−0,2−1,2−3の優先順位A20〜A22は0〜2となる。
一方、DHCPサーバ2−0,2−1,2−3は、DHCPサーバ2−2が動作しているか否かを知ることができないので、図18に示したように、DHCPサーバ2−2に対応付けられたVSS#2を用いずに、クライアントコンピュータ10に対するIPアドレスの割り当てが可能なように、VSおよびVSSを再構成する必要がある。
このような必要を満たすために、DHCPサーバ2−0,2−1,2−3は、図18の左側および図20の左側に示すように、DHCPサーバ2−0およびDHCPサーバ2−0と通信可能なDHCPサーバ2−1,2−3に対応付けられた障害発生前のVSS#0,#1,#3に含まれるIPアドレスを、図20の中央に示すような態様で集め、障害発生後に再構成されるDHCPサーバ2−0,2−1,2−3を含む論理的リング16のVSとする。
なお、このVSは、1次分割のVSである。
ある論理的リング16が、さらに複数の論理的リング16に分割されるたびに、各論理的リング16を構成するDHCPサーバ2に対応するVSSに含まれるIPアドレスを集めてVSとし、さらに、そのVSを新たなVSSに分割して再構成することにより、その論理的リング16を構成するDHCPサーバ2それぞれに、新たなVSSを対応付けることができる。
Y2i2
=A1(A2X+B2i2)+B1j1(0),
・
・
=A1(A2X+B2i2)+B1j1(B1−2),および,
=A1(A2X+B2i2)+B1j1(B1−1), ・・・(2),
ただし、式2において、
DHCPサーバ2−i2の優先順位をB2i2とし、
Xを、Y2i2≦S−1を与える0以上の整数とし、
j1(0)〜j1(B1−1)を、リングの再構成により得られた論理的リング16に含まれることとなったDHCPサーバ2それぞれに、リングの再構成の前に与えられていた優先順位とし(ただし、リングの再構成の前に与えられていた優先順位を持たないDHCPサーバ2の優先順位は除外される)、
他の記号は式1と同様とする。
図18を参照して既に述べたように、論理的リング16を構成する各DHCPサーバ2が持つ初期値としてのスコープに一致するVSが、分割されていない状態を、0次分割のVSとする。
また、図17および図18を参照して既に述べたように、0次分割のVSに含まれるIPアドレスが、論理的リング16を構成するDHCPサーバ2それぞれに対応するVSSに分割されている状態を、1次分割のVSSとする。
さらに、図19および図20を参照して既に述べたように、1次分割により得られたVSSを集めてできたVSが、一部のVSSを欠くことによって0次分割に戻らず(すなわち1次分割のまま)、さらに新たなVSSに再構成された状態を2次分割のVSSとする。
このように、n−1回の論理的リング16のVSの分割に伴って再構成されたVSSを、n次分割により得られたVSSと定義することができ、以下、このVSを分割した回数nを、分割次数と定義する。
以下、分割次数nのVSSにおける式の数G0G1・・・Gn−1をFnとする。
Ynin
=An−1(AnX+Bnin)+Bn−1jn−1(0),
・
・
=An−1(AnX+Bnin)+Bn−1jn−1(Bn−1−2),および,
=An−1(AnX+Bnin)+Bn−1jn−1(Bn−1−1) ・・・(3),
ただし、式3において、
DHCPサーバ2−inの優先順位をBninとし、
Xを、Ynin≦S−1を与える0以上の整数とし、
jn−1(0)〜jn−1(Bn−1−1)を、リングの再構成により得られた論理的リング16に含まれることとなったDHCPサーバ2それぞれに、リングの再構成の前に与えられていた優先順位とする(ただし、リングの再構成の前に与えられていた優先順位を持たないDHCPサーバ2の優先順位は除外)。
障害の復旧などに伴って、再び1つの論理的リング16が復元されるときに、復元後のDHCPサーバ2それぞれは、保存していた漸化式を逆にたどって、復元された論理的リング16において用いていたVSSを計算し、再び設定することができる。
以上説明したように、DHCPサーバ2それぞれに割り当てられたVSSは、原理的には、論理的リング16−1(図3)から再構成されたいかなる論理的リング16においても重複しない。
従って、複数の論理的リング16を1つの論理的リング16に再構成するときに、VSSを合成しても、合成の対象となるVSSに含まれるIPアドレスに重複が生じることはない。
しかしながら、何らかの処理上のエラーにより、複数のVSSの間でIPアドレスの重複が生じてしまう可能性は0ではないので、このような重複の発生を判定し、重複を生じているVSSのいずれかを、合成の対象から外すなどの手当をすることができれば、論理的リング16の信頼性をさらに高めることができる。
Ynin
=An−1(AnX+Bnin)+Bn−1jn−1(0),
・
・
=An−1(AnX+Bnin)+Bn−1jn−1(Bn−1−2),および,
=An−1(AnX+Bnin)+Bn−1jn−1(Bn−1−1) ・・・(3),
下式4のように簡略化した形式で表されうる。
Ynin
=CnX+Enin(0),
・
・
=CnX+Enin(Fn−2),および,
=CnX+Enin(Fn−1) ・・・(4),
Yni1n
=CnX1+Eni1n(0),
・
・
=CnX1+Eni1n(Fn−2),または,
=CnX1+Eni1n(Fn−1) ・・・(5−1),
Yni2n
=CnX2+Eni2n(0),
・
・
=CnX2+Eni2n(Fn−2),または,
=CnX2+Eni2n(Fn−1) ・・・(5−2),
但し、X1,X2は、Yni1n,Yni2n≦S−1を与える0以上の整数。
Yni1n=Yni2n ・・・(6),
従って、これら2つのVSSが重複するときには、下式7のいずれかが成り立つ。
CnX1+Eni1n(0)
=CnX2+Eni2n(0),
・
・
=CnX2+Eni2n(Fn−2),または,
=CnX2+Eni2n(Fn−1),
または、
CnX1+Eni1n(1)
=CnX2+Eni2n(0),
・
・
=CnX2+Eni2n(Fn−2),または,
=CnX2+Eni2n(Fn−1),
または、
・
・
・
CnX1+Eni1n(Fn−1)
=CnX2+Eni2n(0),
・
・
=CnX2+Eni2n(Fn−2),または,
=CnX2+Eni2n(Fn−1),
・・・(6)
aX1+b=cX2+d ・・・(7),
0≦b<a ・・・(8),
0≦d<c ・・・(9),
0≦aX1+b<S、0≦cX2+d<S ・・・(10),
aX1=cX2+(d−b) ・・・(11),
従って、下式12,13を、式6に含まれる各等式について実行することにより、2つのVSSが重複するか否かを判定することができる。
cX2[mod]a=0かつ(d−b)[mod]a=0 ・・・(12),または,
cX2[mod]a+(d−b)[mod]a=a ・・・(13),
A=cX2[mod]a ・・・(14),
B=(d−b)[mod]a ・・・(15),
または、Bの値が0であって、cの値がaの倍数であるとき、VSS1,VSS2に含まれるIPアドレスが重複すると判定できる。
A=a−B ・・・(16),
cX2[mod]a=a−(d−b)[mod]a ・・・(17),
このような処理を、式6に示した各等式について行うことにより、2つのVSSの間で重複するIPアドレス(IPアドレスのインデックス)を求めることができる。
Y=cX2+d ・・・(18),
以下、あるIPアドレスのインデックス値がVSSに含まれているか否かの判定を説明する。
この判定は、IPアドレス#kのインデックス値kを用いて、このIPアドレスが、判定の対象となるVSSに含まれているか否か、および、このIPアドレスが、クライアントコンピュータ10に割り当てられ得るか否かを判定するために利用される。
判定対象となるIPアドレスのインデックス値Yは、上記式11を満たさなければならず、また、インデックス値Yは、下式19により表されるので、下式20を満たせば、このIPアドレスのインデックス値は、判定対象のVSSに含まれると判定することができる。
Y=aX1+b ・・・(19),
(Y−b)[mod]a=0 ・・・(20),
(a)VSSの再構成を容易に行うことができ、また、
(b)VSSの分割と合成、
(c)VSSの重複判定、および、
(d)あるIPアドレスが、判定対象となるVSSに含まれるか否かの判定
を、簡単な演算により容易に行うことができる。
従って、漸化式によりVSSを定義し、DHCPサーバ2の間の通知に用いるようにすると、VSSをテーブルの形式で定義する場合(図12(A))のように、DHCPサーバ2の間でVSSに含まれる全てのIPアドレスを伝送する必要がないので、論理的リング16の再構成、および、VSSの分割および合成のときに、DHCPサーバ2の間で伝送すべき情報量を少なくすることができる。
以下、論理的リング16に障害が発生したときのIPアドレス割り当ての代行処理を説明する。
図21は、図17に示した論理的リング16−6に生じた障害を例示する第2の図である。
図21に示すように、図19に示した場合と同様に、論理的リング16−6のDHCPサーバ2−2と、他のDHCPサーバ2−0,2−1,2−3との間の通信が不能となり、DHCPサーバ2−0,2−1,2−3から、DHCPサーバ2−2が正常に動作しているか否かなどの動作状態が不明となることがある。
このようなときには、例えば、リングの再構成により得られた論理的リング16−7のマスタDHCPサーバ2−0が、DHCPサーバ2−2の処理を代行するようにする。
DHCPサーバ2−2との間で通信が不能となったクライアントコンピュータ10が、IPアドレスの割当期限がくる前に、DHCPサーバ2−2に対して、IPアドレスの再割り当てなどを行ったときに、マスタDHCPサーバ2−0が、DHCPサーバ2−2を代行してIPアドレスの再割り当てを行うようにすると、このクライアントコンピュータ10に対するIPアドレスの割り当ては途絶えず、通信の中断を防止することができる。
このようなとき、リンクの再構成が生じた時点で、代行処理によりDHCPサーバ2−0がクライアントコンピュータ10に割り当てていたIPアドレスを、その後もクライアントコンピュータ10に再割り当てし続け、一方、DHCPサーバ2−2は、クライアントコンピュータ10からのIPアドレス再割り当て要求を受け取ることができず、割り当て期限をもってそのIPアドレスを開放する。
その後、DHCPサーバ2−2が、DHCPサーバ2−0とは別途、他のクライアントコンピュータ10に、同じ(開放された)IPアドレスを割り当てるようなことがあると、DHCPサーバ2−0,2−2の間で、IPアドレスの割り当て状態についての矛盾が生じることがある。
(1)DHCPサーバ2に、これまで説明したDHCPサーバとしての機能の他に、ARP(Address Resolution Protocol)を実現するプロキシARPサーバの機能を付加する。
(2)リングの再構成後の新たな論理的リング16のマスタDHCPサーバ2が、リングの再構成前の論理的リング16には含まれながら、新たな論理的リング16に含まれていないDHCPサーバ2のIPアドレスを、マスタDHCPサーバ2自身のMACアドレスに解決する「根拠のないARPリクエスト(「詳解TCP/IP Vol1.1 プロトコル;W.リチャードスティーヴンス著、橘康雄、井上尚司(邦訳)、ピアソンエデュケーション」における訳語による;gratuitous ARP request)」を、新たな論理的リング16のスレーブDHCPサーバ2に対して行うようにする。
また、リングの再構成後、各DHCPサーバ2は、自分自身のIPアドレスを自分自身のMACアドレスに解決する「根拠のないARPリクエスト」を行うようにする。
(4)論理的リング16−7のマスタDHCPサーバ2−0は、リングの再構成の時点で、クライアントコンピュータ10にIPアドレスの割り当てを行っていながら、リングの再構成の後に論理的リング16−7に含まれなくなったDHCPサーバ2−2のIPアドレスを、代理応答リストに記憶する。
(6)マスタDHCPサーバ2−0は、自らに出されたIPアドレスの再割り当て要求などの他に、DHCPサーバ2−2に対して出されたIPアドレスの再割り当て要求などを受けて、DHCPサーバ2−2の処理を代行する。
また、対応付けられて、記憶されているVS分割次数が、リング再構成が発生した時点のVSの分割次数よりも大きいIPアドレスについて、対応付けられているVSの分割次数を、リング再構成が発生した時点のVSの分割次数に再設定する。
DHCPサーバ2−0,2−2は、リング再構成が発生した時点ですでにDHCPサーバ2−2があるクライアントコンピュータ10に割り当てていたIPアドレスについて、たとえ割り当て期限が過ぎても、障害が復旧して、あるいは、管理者によりネットワークシステム1が初期状態に戻されて、論理的リング16のVSの分割次数が、IPアドレスとともに記憶されているVSの分割次数以下になるまで、再利用して他のクライアントコンピュータ10に割り当てない。
このようにすると、DHCPサーバ2−2と他のDHCPサーバ2−0,2−1,2−3との間でIPアドレスの割り当て状況に矛盾が生じ得ない。
(i)IPアドレスとともに記録される分割次数として、IPアドレス割り当て時に、その時点での論理的リング16のVSの分割次数が記録される。
(ii)IPアドレスとともに記録される分割次数が、リング再構成時に、その時点の論理的リング16のVSの分割次数より大きい場合に、論理的リング16のVSの分割次数で上書きされる。
(iii)IPアドレスは、割り当て期限が過ぎた後も、その時点の論理的リング16のVSの分割次数が、それとともに記録されているVSの分割次数以下にならなければ割り当てられない。
このようにVSの分割次数を扱うことにより、0次分割を特殊とみなさなくても、IPアドレスの再割り当て代行処理が行えるようになる。
図23は、図22に示した代行処理におけるVSテーブルの分割次数へのデータの設定を示す図である。
論理的リング16において、論理的リング16−6のDHCPサーバ2それぞれは、図22に示すように、何らかの事象(VSテーブルの分割次数のクリア、IPアドレス割り当て要求、IPアドレス再割り当て要求、障害の発生および障害の復旧など)が生じると、ステップ300(S300)において、DHCPサーバ2は、発生した事象が、ネットワークシステム1の管理者によるVSテーブル(図12(B))の分割次数をクリアして、論理的リング16に何らの障害が発生していないことを示す初期データ(Don’t Care;図23に示したインデックス#(A+1)のエントリを参照)を設定する指示であるか否かを判断する。
事象がVSテーブルのクリアの指示であるときには、DHCPサーバ2はS312の処理に進み、これ以外のときにはS302の処理に進む。
論理的リング16−6のDHCPサーバ2は、事象が障害の発生を示すときにはS320の処理に進み、障害の復旧を示すときにはS310の処理に進み、これら以外のときにはS330の処理に進む。
ステップ310(S310)において、論理的リング16−6のDHCPサーバ2は、それ以前に発生した障害に起因するリングの再構成により生じた複数の論理的リング16を併合する。
さらに、論理的リング16−6のDHCPサーバ2は、式1〜式3を参照して説明した漸化式を用いて、これら複数の論理的リング16のDHCPサーバ2それぞれに対応付けられたVSSを合わせて新たなVSを作成し、さらに、新たなVSを各DHCPサーバ2に分割して対応付け、リングの再構成を行う。
ステップ320(S320)において、論理的リング16−6のDHCPサーバ2は、リングの再構成およびVSSの再構成のための処理を行う。
ステップ322(S322)において、DHCPサーバ2−0〜2−3は、VSテーブルを参照し、リングの再構成の前に(論理的リング16-6の時に)クライアントコンピュータ10に対して割り当てていて、割り当て期限が切れていないIPアドレスのエントリについて、リングの再構成が発生した時点の分割次数よりも大きい分割次数をもつものについて、リングの再構成が発生した時点の分割次数(論理的リング16−7の分割次数)を設定する(図23に示したインデックス#Aのエントリを参照)。
また、S322において、DHCPサーバ2は、自身のIPアドレスを自身のMACアドレスに解決する「根拠のないARPリクエスト」を発行する。
論理的リング16−7のいずれのDHCPサーバ2が、DHCPサーバ2−2の代行処理を行うかは、例えば、各DHCPサーバ2に対する事前の設定、あるいは、新たな論理的リング16のマスタDHCPサーバ2が代行するという規則に従って選択される(ここでは、DHCPサーバ2−0が代行する場合が具体例とされている)。
DHCPサーバ2−2の代行をする必要がないときには、論理的リング16−7のDHCPサーバ2は処理を終了し、これ以外のときにはS326の処理に進む。
ステップ326(S326)において、論理的リング16−7のDHCPサーバ2は、論理的リング16−7の他のDHCPサーバ2、およびクライアントコンピュータ10に対して、根拠のないARPリクエストを送信し、DHCPサーバ2−2の代わりに、DHCPサーバ2−2に対するIPアドレスの再割り当て要求を受け取ることができるようにする。
DHCPサーバ2−2の代行をする必要がないときには、論理的リング16−7のDH
さらに、DHCPサーバ2−0、2−2は、DHCPサーバ2−2に対するIPアドレスの割り当て要求および再割り当て要求を処理する。
但し、DHCPサーバ2−0は、新たなIPアドレスの割り当て要求が生じたときには、DHCPサーバ2−0が参加している論理的リング16のVSにあって、VSテーブルにはまだ登録されていないか、VSテーブル内にあって、割り当て期限が切れており、分割次数として、リング再構成が発生した時点のVSの分割次数以上のものからIPアドレスを選択し、要求したクライアントコンピュータ10に割り当てる。
同様に、DHCPサーバ2−2が、新たにIPアドレスを割り当てるときには、DHCPサーバ2−2が参加している論理的リング16のVSにあって、VSテーブルにはまだ登録されていないか、VSテーブル内にあって、割り当て期限が切れており、分割次数として、リング再構成が発生した時点の分割次数以上のものからIPアドレスを選択し、要求したクライアントコンピュータ10に割り当てる(但し、これは、分割次数が、障害発生の回数から障害復旧の回数を減算した値である場合。分割次数が、障害復旧の回数から障害発生の回数を減算した値である場合には、VSテーブル中の分割次数と、割り当て時の論理的リング16の分割次数とにより定義される条件は、これとは逆になる)。
図24に示すように、ステップ340(S340)において、論理的リング16−6のDHCPサーバ2−2が、あるクライアントコンピュータ10に対してIPアドレスAを割り当て、VSの分割次数nとともにVSテーブルに記憶する。
ステップ342,344(S342,S344)において、リングの再構成およびVSSの再構成が発生し、DHCPサーバ2−2が、論理的リング16−7から外れる。
このとき、論理的リング16−7およびDHCPサーバ2−2のVSの分割次数は、nからn+1に増加するが、リングの再構成が生じた後も、DHCPサーバ2−2が、クライアントコンピュータ10に割り当てていたIPアドレスAの分割次数(図12(B),図23)は、nのままとなる。
ステップ350(S350)において、クライアントコンピュータ10が、DHCPサーバ2−2に対して、IPアドレスAの再割り当てを要求するが、この要求は、DHCPサーバ2−0にのみ受信され、破線で示すように、DHCPサーバ2−2には受信されない。
ステップ352(S352)において、DHCPサーバ2−0は、DHCPサーバ2−2の代わりに、IPアドレスAを再割り当てする。
このとき、DHCPサーバ2−2がクライアントコンピュータ10にIPアドレスAを割り当てる期間が超過し、DHCPサーバ2−2において、IPアドレスAは、いずれのクライアントコンピュータ10にも割り当てられていない状態となる。
ステップ364(S364)において、DHCPサーバ2−2は、自らが参加する論理的リング16のVSに含まれる未使用IPアドレスの内、IPアドレスAについては、VSの分割次数n+1がIPアドレスAとともに記憶されている分割次数nを上回るため使用できない。よってDHCPサーバ2−2が参加している論理的リング16のVSにあって、VSテーブルにはまだ登録されていないか、VSテーブル内にあって、割り当て期限が切れており、分割次数がn+1以上のものからIPアドレスを選択し、新規にIPアドレスの割り当てを要求したクライアントコンピュータ10に割り当てる。
さらに、併合後の論理的リング16のVSの分割次数がnに戻る。
また、DHCPサーバ2−0による代行によって、IPアドレスの再割り当てが行われていた旨は、同期処理によって、DHCPサーバ2−2にも伝わる。
DHCP2−2は、自身のIPアドレスを自身のMACアドレスに解決する、根拠のないARPリクエストを送信し、IPアドレスAを使用中のクライアントコンピュータ10からのIPアドレス再割り当て要求を自らが受信できるようにする。
論理的リング16の併合が生じた後、DHCPサーバ2−2は、IPアドレスAを開放したままとせず、同期処理により使用中とする。
ステップ372(S372)において、IPアドレスAを使用中のクライアントコンピュータ10が、DHCPサーバ2−2に対してIPアドレスの割り当て要求を出す。
ステップ374(S374)において、DHCPサーバ2−2は、IPアドレスAの再割り当て要求を受け入れ、処理する。
図25に示すように、S340〜S352において、各DHCPサーバ2は、図24において同じ符号が付されている処理を行う。
ステップ380(S380)において、あるクライアントコンピュータ10が、DHCPサーバ2−0に対して、新規にIPアドレスの割り当てを要求する。
ステップ382(S382)において、DHCPサーバ2−0は、自らが参加している論理的リング16のVSにあって、VSテーブルにはまだ登録されていないか、VSテーブル内にあって、割り当て期限が切れており、分割次数として、リング再構成が発生した時点のVSの分割次数以上のものからIPアドレスを選択し、IPアドレスの割り当てを要求したクライアントコンピュータ10に割り当てる。
S370〜S374において、各DHCPサーバ2は、図24において同じ符号が付されている処理を行う。
以下、DHCPサーバプログラム20を説明する。
図26は、図1に示したDHCPサーバ2において実行され、図3〜図20に示した処理を実行するDHCPサーバプログラム20の構成を示す図である。
図26に示すように、DHCPサーバプログラム20は、通信処理部200、DHCP処理部202、プロキシARP処理部204およびリング制御プログラム22から構成される。
DHCPサーバプログラム20は、例えば、記録媒体114(図2)を介してDHCPサーバ2に供給され、DHCPサーバ2にインストールされたOS上で、DHCPサーバ2のハードウエアを具体的に利用して実行される。
DHCPサーバプログラム20は、これらの構成部分により、図3〜図25を参照して説明した処理を実現する。
DHCP処理部202は、後述するように、アドレス割り当て部226と連携して動作し、そのDHCPサーバ2に割り当てられたVSS(図12(A),式1〜3)に含まれるIPアドレスの内、図21〜図25を参照して説明したIPアドレス再割り当て代行が行われている際に割り当てを禁止されたIPアドレス以外を用いて、DHCPに従って、クライアントコンピュータ10に対するIPアドレスの割り当てを行う。
プロキシARP処理部204は、ARPの機能を提供し、さらに、ARPリクエスト処理部250の制御に従って、図21〜図25を参照して説明した根拠のないARPリクエストの送信を行う。
リング管理部220およびリングアップデート部222は、論理的リング16に参加しているDHCPサーバ2のIPアドレスおよび識別子(サーバID(node_id))の組のリスト(ネットワークシステム1(図1)に接続されているDHCPサーバ2の内、そのDHCPサーバ2と同じリングIDが付されているものの集合)を用いて処理を行う。
この論理的リング16に参加しているDHCPサーバ2のIPアドレスおよび識別子(サーバID)の組のリストは、テーブル形式でリング管理部220に記憶される。
以下、このテーブルを、リングメンバーテーブルと記す。
タイマassociation_timer:論理的リング16に参加するDHCPサーバ2からの応答の制限時間を計るためのタイマ(図11など),
タイマring_update_timer:論理的リング16を維持するためのリングアップデートを最後に受信してからの時間を計るためのタイマ,
タイマperiodic_timer:
リングアップデートを行う間隔を図るためのタイマ,
図27に示すように、リング管理部220およびリングアップデート部222が処理するリングメッセージは、
このメッセージを送信するDHCPサーバ2が属する論理的リング16(図3など)のリングID、
このメッセージを送信するDHCPサーバ2のIPアドレス、および、
以下のフラグを含むフラグ群
フラグC/U:真(True)のときリングの形成・再構成、偽(False)のときリングアップデート
フラグA:1のとき、リング管理部220は、形成済み状態D1、
フラグD:1のとき、サーバID(node_id)が重複
を含む。
変数IARM:そのDHCPサーバ2が、マスタDHCPサーバ2であるとき真,
変数ASSOC:リングが形成済である間、真の値を取る,
変数RBRK:リングを再構成する必要があるとき、真の値を取る,
変数NNODE:冗長構成に含まれうる最大のDHCPサーバ2の数(ネットワークシステム1に含まれるDHCPサーバ2の数),
図28は、図26に示したリング管理部220の状態遷移図である。
図28に示すように、各DHCPサーバ2において、リング管理部220は、未形成(NOT ASSOCIATED)状態A1、形成中(ASSOCIATING)状態B1、仮スレーブ(TENTATIVE SLAVE)状態C1、形成済み(ASSOCIATED)状態D1、孤立(ISOLATED)状態E1および仮マスタ(TENTATIVE MASTER)状態F1のいずれかの状態をとりうる。
形成状態B1は、そのDHCPサーバ2が、論理的リング160の形成・再構成のためのリングメッセージを交換して論理的リング16を形成・再構成している状態である。
形成済状態D1は、論理的リング16が形成された状態である。
孤立状態E1は、そのDHCPサーバ2が単独で動作している状態であり、孤立状態E1にあるDHCPサーバ2は、論理的リング16には参加できない。
仮マスタ状態F1は、そのDHCPサーバ2が、試験的にマスタDHCPサーバ2に昇格する状態である。
未形成状態A1において、リング管理部220は、変数ASSOC、変数IARMおよび変数RBRKをそれぞれ偽に設定する。
そのDHCPサーバ2が、前回、論理的リング16を構成しているときには、リング管理部220は、論理的リング16を切るために、リング上の次のDHCPサーバ2へのコネクションを切断する。
また、リング構成メッセージ(図27に示したリングメッセージにおいて、C/Uフラグが1のメッセージ)を送信する。
タイマassociation_timerの計数を開始させ、他のノードからの同一のリングIDを持つリング構成メッセージの受信を待ち(これは、図11に示したS200−1〜S200−の処理に対応)、
リングメンバーテーブルにない他のDHCPサーバ2から、同じリングIDを含むリング構成メッセージを受信すると、リングメンバーテーブルにそのノードを登録し、同時に、タイマassociation_timerの計数をリセットして再開し(d1)、
また、自分が発行したものではない、自分と同一のリングIDおよびIPアドレスを含むリング構成メッセージを受信すると、孤立状態E1に移行し(c1)、
タイマassociation_timerが満了(expire)するまでに、リングメンバーテーブルにない他のノードからの同一リングIDを持つリング構成メッセージが受信されなければ、仮スレーブ状態C1に移行する(b1)。
仮スレーブ状態C1において、リング管理部220は、
リングメンバーテーブルにない他のDHCPサーバ2から、同一のリングIDを含むリング構成メッセージを受信すると、未形成状態A1に移行し(f1)、
変数ASSOCが真(TRUE)となる条件で、形成済状態D1に移行し(g1)、
リングメンバーテーブルを参照して、自分のDHCPサーバ2の優先順位が最高となる条件で、仮マスタ状態F1(i1)に移行する。
リング管理部220は、タイマring_update_timeの計数が満了する前に、リングアップデートメッセージが受信されれば、形成済状態D1に留まり(h1)、タイマring_update_timeの計数が満了するか、または変数RBRKが真となると、未形成状態A1に移行する(j1)。
リングメンバーテーブルにない他のノードから、リングIDが同一のリング構成メッセージを受信する条件で、未形成状態A1に移行し(k1)、
変数ASSOCが真(TRUE)となる条件で、形成済状態D1に移行する(l1)。
図29は、図26に示したリング試験部222の状態遷移図である。
リング試験部222は、図6などに示したリングアップデートを定期的に行う。
リング試験部222は、以下のリングアップデートのためのリングアップデートメッセージを作成し、送信部232のリング送信キューに入れる。
処理を開始すると、リング試験部222は、初期化(INIT)状態A2をとる。
初期化状態A2において、リング試験部222は、タイマperiodic_timerを停止させる。
初期化状態A2において、リング試験部222は、リング管理部220が仮マスタ状態F1に遷移したことを示す変数IARMが真になる条件で、送信(TRANSMITTING)状態B2に移行する(a2)。
待ち状態C2において、リング試験部222は、タイマperiodic_timerの計数を開始させる。
リング試験部222は、待ち状態C2において、含まれるIPアドレスが自己のIPアドレスと同一のリングアップデートメッセージが受信された条件で、形成中状態D2に移行し(c2)、
変数IARMが偽となる条件で、初期化状態A2に移行し(d2)、
タイマperiodic_timerが満了すると、送信状態C2に移行する(e2)。
リング試験部222は、形成中状態D2において、無条件に、リング試験部222は、送信状態B2に移行する(f2)。
図30は、図26に示したリングメッセージ受信部224の状態遷移図である。
リングメッセージ受信部224は、リングメッセージを受信して処理を行う。
待ち状態A3において、リングメッセージ受信部224は、リングメッセージを受信すると、受信(RECEIVING)状態B3に移行する(a3)。
リングアップデートメッセージを受信したときには、更新中(UPDATING)状態C3に移行し(c3)、
含まれるリングIDが、そのDHCPサーバ2のリングIDと同一で、かつ、リングメンバーテーブルに存在しないDHCPサーバ2のIPアドレスを含むリング構成メッセージを受信したとき、変数ASSOCが真である条件で、分割(BREAKUP)状態E3に移行し(d3)、
含まれるリングIDが、そのDHCPサーバ2のリングIDと同一で、かつ、リングメンバーテーブルに存在しないDHCPサーバ2のIPアドレスを含むリング構成メッセージを受信したとき、変数ASSOCが偽となる条件で、構成中(CONFIGURING)状態F3に移行し(e3)、
上記以外の条件で、待ち状態A3に移行する(b3)。
更新中状態C3において、リングメッセージ受信部224は、
フラグAの値が1のリングアップデートメッセージを受信したとき、形成中状態D3に移行し(g3)、
その他のときには待ち状態A3に移行する(f3)。
形成中状態D3において、リングメッセージ受信部224は、無条件に、待ち状態A3に移行する(h3)。
分割中状態E3において、リングメッセージ受信部224は、無条件に、構成中状態F3に移行する(j3)。
構成中状態F3において、リングメッセージ受信部224は、無条件に、待ち状態A3に移行する(i3)。
(1)各論理的リング16にはリングIDが付され、同一リングIDが付されたDHCPサーバ2同士が、論理的リング16を形成する。
(2)DHCPサーバ2は、自らが送信した信号が戻ってくるまで、情報をコミット(commit)できない。
(3)DHCPサーバ2は、自らが送信した情報が自分に戻ってくるまでに、他のDHCPサーバ2から送信された同一の情報を受信したときには、
a)DHCPサーバ2は、自らの優先度が、他のDHCPサーバ2の優先度よりも高いときには、他のDHCPサーバ2への情報の中継をしない。
b)DHCPサーバ2は、自らの優先度が、他のDHCPサーバ2よりも低いときには、他のDHCPサーバ2の情報を転送し、自分が発行した情報をコミットできない。
(4)DHCPサーバ2は、自らが送信した情報が、制限時間内に返ってこないときには、その情報をコミットできない。
(5)タイマring_update_timerが満了した(時間切れになった)ら、DHCPサーバ2は、リング構成信号をブロードキャストし、論理的リング16の再構成を行う。
(6)論理的リング16のマスタDHCPサーバ2(論理的リング16内で最小のサーバIDが付されたDHCPサーバ2)は、
タイマring_update_timerが時間切れになる前に、リングアップデート信号を論理的リング16に送出して、論理的リング16を維持する。
アドレス割り当て部226は、リング管理部220およびDHCP処理部202と協調して動作する。
スコープは、仮想スコープ(Virtual Scope)として論理的リング16内で共有される。
仮想スコープは、論理的リング16内の各DHCPサーバ2の間で重複が生じないように分割されてVSSとされ、各DHCPサーバ2に対応付けられる。
IPアドレスを割り当てたDHCPサーバ2のIPアドレス、
フラグ:
S:同期がとれているエントリは1、
P:割り当て(リース)を行うために同期中のエントリは1、
IPアドレス、
MACアドレス、
割り当て(リース)期限。
図31(A)に示すように、割り当てメッセージは、フラグ群と、送信者と、サーバと、割り当て情報とを含む。
割り当てメッセージのフラグ群は、フラグDとフラグQ/Rとを含み、フラグDは真のときに、図14に示した不使用を示し、フラグQ/Rは、真のときに問い合わせ(図13,図14)を示し、偽のときに応答を示す。
送信者は、このメッセージを送信したDHCPサーバ2のIPアドレスを示し、サーバは、このメッセージによって同期を取ろうとしている、クライアント10のIPアドレスを割り当てたDHCPサーバ2のIPアドレスを示す。
また、図31(C)に示すように、VSSメッセージは、フラグDUPと、送信者と、VSS情報とを含む。
VSSメッセージにおいて、
フラグDUPの値は、VSSが重複しているときに1となり、
送信者は、このVSSメッセージを送信したDHCPサーバ2のIPアドレスを示し、
VSS情報は、図18に示したような論理的リング16内で共有されるVS(仮想スコープ)を分割して得られるVSSを示し、例えば、式1に示したVSSの分割次数1と、係数A1,B1i1を対応付けて得られる。
VSS情報は、0回以上繰り返される。
変数NDESYNC:スコープ・図12(B)に示したVSテーブル中のフラグSの値が0のエントリ数、
変数DHREQRCV:DHCPサーバプログラム202が、クライアントコンピュータ10からの割り当て要求に対して応答するときに値が真となる。
変数VSIMP:合成のためにVSSがインポートされたときに値が真となる。
変数RSTVSS:VSSをリセットするときに値が真となる。
DHCP処理部202から、リングメッセージ受信部224への方向には、この双方向FIFOを介して、
クライアントコンピュータ10からのIPアドレス割り当て要求(DHCPリクエスト)を受けて、割り当てを開始しようとする割り当て情報、および、
IPアドレスの割り当て(DHCP割り当て(lease))の通知を受け、IPアドレスの割り当てを終了した旨の通知
が出力される。
また、リングメッセージ受信部224からDHCP処理部202への方向には、この双方向FIFOを介して、
IPアドレス割り当て要求への応答(ACK)または拒否応答(NACK)の送信許可が出力される。
DHCP処理部202は、アドレス割り当て部226から返される結果に応じて、IPアドレス割り当て要求(DHCPリクエスト)に対する応答を行う。
DHCP処理部202は、アドレス割り当て部226が計算したスコープの範囲から、IPアドレスを提供しなければならない。
DHCPサーバ2は、図12(B)に示すように、論理的リング16から孤立したときに占有するVSSが対応付けられ、そのVSSを含むリング内のVSから、IPアドレスを提供することができる。
また、論理的リング16に留まったDHCPサーバ2は、論理的リング16から外れたDHCPサーバ2に対応付けられたVSSの範囲からIPアドレスを提供することはできない。
VSSは、論理的リング16の管理者などにより、明示的にリセットされない限り保持される。
VSSが明示的にリセットされたときには、リセットされたVSSに対応付けられたDHCPサーバ2によるIPアドレスの割り当ては取り消される。
図32は、図26に示したアドレス割り当て部226の状態遷移図である。
図32に示すように、アドレス割り当て部226は、7つの状態をとりうる。
これらの7つの状態の内、待機(STANDBY)状態C4は、論理的リング16の形成を待つ状態である。
同期中(SYNCHRONIZING)状態D4は、他のDHCPサーバ2とVSSおよび割り当て情報の同期を行っており、DHCPサーバプログラム202は、IPアドレスの割り当てを行ってはいけない状態である。
孤立(ISOLATED)状態G4は、VSSの重複が検出され、IPアドレスの割り当てを行ってはいけない状態である。
準備済み(READY)状態E4は、他のDHCPサーバ2との同期が確立していいて、IPアドレスの割り当てが可能な状態である。
割り当て保留(PENDING_LEASE)状態F4は、要求に応じてIPアドレスを割り当てるときに、他のDHCPサーバ2と同期をとっている状態である。
初期化状態A4において、アドレス割り当て部226は、変数RSTVSSの値が1となる条件でVSSリセット状態B4に移行し(a4)、これ以外のときには待機状態C4に移行する(b4)。
アドレス割り当て部226は、無条件にVSSリセット状態B4から待機状態C4に移行する(c4)。
同期中状態D4において、アドレス割り当て部226は、変数VSSDUPの値を偽とし、変数VSIMPの値を偽とし、自分の持つVSSを、図31(C)に示したVSSメッセージによって論理的リング16に送出する。
その後、VSIMPが真になるのを待ち、図12(B)に示したVSテーブルの中で、同期済みフラグが偽のものについて、図31(A)に示したメッセージによって論理的リング16に送出する。
同期中状態D4において、アドレス割り当て部226は、
変数VSSDUPの値が真となる条件で孤立状態G4に移行し(g4)、
変数ASSOCの値が偽となる条件で待機状態C4に移行する(e4)、
変数NDESYNCの値が0であり、変数VSIMPの値が真となる条件で、準備済み状態E4に移行する(f4)。
準備済み状態E4において、アドレス割り当て部226は、
変数DHREQRCVの値が1となる条件で、割り当て保留状態F4に移行し(h4)、
変数ASSOCの値が偽となる条件で、待機状態C4に移行する(j4)。
割り当て保留状態F4において、アドレス割り当て部226は、無条件に、準備済み状態E4に移行する(i4)。
割り当てメッセージ受信部228は、アドレス割り当て部226と連携動作する。
割り当てメッセージ受信部228は、以下の変数を用いる。
割り当てメッセージ中のフラグ群
フラグD, 削除対象を示す
フラグQ/R, 問い合わせのとき真、応答のとき偽
図33は、図26に示した割り当てメッセージ受信部228の状態遷移図である。
図33に示すように、割り当てメッセージ受信部228は、8つの状態をとりうる。
これら8つの状態の内、
待ち(waiting)状態A5は、割り当てメッセージ受信部228が、割り当てメッセージを待っている状態である。
応答中(replying)状態D5は、そのDHCPサーバ2へのクエリ(問い合わせ)を受信したので応答を返す状態である。
転送(forwarding)状態H5は、他のDHCPサーバ2の割り当てメッセージを転送する状態である。
同期マーク(mark_sync)状態B5は、他のDHCPサーバ2との同期が確立した状態である。
割り当て(commit)状態C5は、IPアドレスの割り当てのACKを返す許可を与える状態である。
キャンセル中(cancel)状態E5は、IPアドレスが他のDHCPサーバ2によって割り当て済みのため、割り当てを取り消す状態である。
拒否(reject)状態F5は、IPアドレス割り当てのNACKを返す許可を与え、他のDHCPサーバ2にそのIPアドレスの削除を指示する状態である
待ち状態A5において、割り当てメッセージ受信部228は、
送信者が自分である応答割り当てメッセージを受信し、かつメッセージ中のフラグDUPが偽であるときに、同期マーク状態B5に移行し(b5)、
送信者が自分ではなく、サーバが自分である問い合わせ割り当てメッセージを受信したとき、応答中状態D5に移行し(f5)、
送信者が自分ではない応答割り当てメッセージを受信し、応答割り当てメッセージ中の割り当て対象IPアドレスに相当するVSテーブルのエントリの割り当て中フラグが真であって、かつ送信者の優先度が自分よりも高いとき、キャンセル中状態E5に移行し(h5)、
送信者が自分ではない問い合わせ割り当てメッセージを受信したときに、転送状態H5に移行し(m5)、
応答割り当てメッセージを受信し、かつメッセージ中のサーバが自分のIPアドレスと異なるときに、適用状態G5に移行し(l5)、
これら以外のときには、待ち状態A5に留まる(a5)。
割り当てようとするIPアドレスのエントリがVSテーブルに存在するときには、割り当て状態C5に移行し(d5)、
これ以外のときには、待ち状態A5に移行する(c5)。
応答中状態D5において、割り当てメッセージ受信部228は、受信した問い合わせ割り当てメッセージに対する応答割り当てメッセージを、送信者およびサーバを自分のIPアドレスとし、割り当て情報には、問い合わせメッセージの割り当て対象IPアドレスに相当するVSテーブルのエントリからMACアドレスおよび割り当て期限を取り出して埋めて作成し、リングに送信する。
また、割り当てメッセージ受信部228は、VSテーブル中に問い合わせに相当するエントリが見つからない場合は、その割り当て対象IPアドレスについて、フラグDを真とした応答割り当てメッセージを作成し、リングに送信する。
その後、無条件に、待ち状態A5に移行する(g5)。
キャンセル状態において、割り当てメッセージ受信部228は、VSテーブルに割り当てるべきIPアドレスのエントリの更新に成功したときには、拒否状態F5に移行し(j5)、
これ以外のときには、待ち状態A5に移行する(i5)。
適用状態G5において、割り当てメッセージ受信部228は、受信した応答割り当てメッセージ中の割り当て対象IPアドレスについて、それに相当するVSテーブルのエントリの同期済みフラグが偽であれば、変数NDESYNCを1減じ、エントリを、受信した応答割り当てメッセージの割り当て情報で上書き更新した後、無条件に待ち状態A5に移行する(n5)。
転送状態H5において、割り当てメッセージ受信部228は、受信した割り当てメッセージをリングに送信した後、無条件に、待ち状態A5に移行する(o5)。
VSSメッセージ受信部230は、アドレス割り当て部226と連動して動作する。
VSSメッセージ受信部230は、以下の変数を用いる。
VSSメッセージのフラグフィールド,
VSSメッセージは、VSS情報、すなわちVSSの分割次数n、式1のA1およびB1i1を一般化した、AnおよびBninの繰り返しが含まれたメッセージである。
また、VSS情報は1つではなく、0個以上繰り返され、VSSが存在しないとき(論理的リング16全体がリセットされた直後など)には、0個となる。
図34は、図26に示したVSSメッセージ受信部230の状態遷移図である。
図34に示すように、VSSメッセージ受信部230は、5つの状態をとり、これらのうち、待ち(waiting)状態A6は、VSSメッセージを待っている状態である。
併合(merging)状態B6は、他のDHCPサーバ2のVSSに、自らのDHCPサーバ2のVSSを併合させる(並列表記する)状態である。
VSS重複(duplicate_VSS)状態C6は、他のDHCPサーバ2との間で、VSSの重複が検出された状態である。
転送(forwarding)状態D6は、併合状態B6において併合されたVSSを転送する状態である。
インポート中(importing)状態E6は、戻ってきたVSSをVSとして取り入れる状態である。
待ち状態において、VSSメッセージ受信部230は、VSSを含むVSSメッセージを受け取ると、併合状態B6に移行し(a6)、
VSSを含むVSSメッセージを受け取り、このVSSメッセージの送信者が、メッセージを送信したDHCPサーバ2自身のIPアドレスであるときには、インポート中状態E6に移行する(f6)。
これ以外のときには、自己のVSSを受信したVSSメッセージに併合して転送状態D6に移行する(d6)。
VSS重複状態C6において、VSSメッセージ受信部230は変数VSSDUPを真に設定した後、無条件に、転送状態D6に移行する(c6)。
インポート中状態E6において、VSSメッセージ受信部230は、受信したVSSメッセージのフラグDUPが偽であるとき、併合されたVSS群をVSとしてインポートし、インポートしたVSをn−1次分割とするとき、式3に基づいてn次分割してVSSを導出して保存する。
そして、変数VSIMPを真に設定する。また受信したVSSメッセージのフラグDUPが真である場合、インポート処理を行わず、変数VSSDUPを真に設定する。以上の処理の後、無条件に、待ち状態A6に移行する(g6)。
送信部232は、以下の変数を用いる。
変数NXMITQUE:送信部232の送信キューに入っているメッセージの個数を保持する。
図35は、図26に示した送信部232の状態遷移図である。
図35に示すように、送信部232は、送信部232の送信キュー(図示せず)を含み、3つの状態をとる。
待ち(waiting)状態B7は、送信部232の送信キューが空でなくなることを待つ状態である。
送信(transmitting)状態D7は、メッセージが送信部232の送信キューにあって、送信キューにあるメッセージを送信する状態である。
初期化状態A7において、送信部232は、送信部232の送信キューを空にする。
初期化状態A7において、送信部232は、リング管理220の状態が仮スレーブ状態C1の時に次のリングメンバへのTCPコネクションが確立した条件で待ち状態B7に移行する(a7)。
変数NXMITQUEの値が0ではないという条件で、送信状態D7に移行する(c7)。
送信状態D7において、送信部232は、送信部232の送信キューに入っているメッセージを論理的リング16に送信し、送信のたびに、変数NXMITQUEを1減じる。そして、変数NXMITQUEの値が0という条件で、初期化状態A7に移行する(d7)。
VSS管理部240は、VSテーブル(図12(B))を作成してVSS−DB246に記憶して、記憶したVSテーブルを、リング制御プログラム22の他の構成部分、DHCP処理部202およびプロキシARP処理部204の処理の用に供する。
さらに、VSS管理部240は、リング制御プログラム22の他の構成部分の処理に従って、記憶したVSテーブルその内容を変更し、管理する。
VSS分割・合成部242の機能としては、VSSメッセージ受信部230の状態E6における処理に必要とされる機能(図34)、および、漸化式(式1〜式3)の記憶・管理のための機能などを例として挙げることができる。
VSS重複判定部244の機能を利用する処理として、VSSメッセージ受信部230の状態B6における処理などを、例として挙げることができる。
ARPリクエスト処理部250は、プロキシARP処理部204を制御して、そのDHCPサーバ2が、他のDHCPサーバ2のIPアドレスの再割り当てを代行するときに必要とされる根拠のないARPリクエストを送信させるための処理を行う。
10・・・クライアントコンピュータ、
100・・・本体、
102・・・CPU、
104・・・メモリ、
106・・・入出力装置、
110・・・通信装置、
112・・・記録装置、
114・・・記録媒体、
12・・・管理サーバ、
14・・・ネットワーク、
2・・・DHCPサーバプログラム、
20・・・DHCPサーバプログラム、
200・・・通信処理部、
202・・・DHCP処理部、
204・・・プロキシARP処理部、
22・・・リング制御プログラム、
220・・・リング管理部、
222・・・リング試験部、
224・・・リングメッセージ受信部、
226・・・アドレス割り当て部、
228・・・割り当てメッセージ受信部、
230・・・VSSメッセージ受信部、
232・・・送信部、
240・・・VSS管理部、
242・・・VSS分割・合成部、
244・・・VSS重複判定部、
246・・・VSS−DB、
248・・・所属VSS判定部、
250・・・ARPリクエスト処理部、
Claims (9)
- 処理に用いられる処理用データが、それぞれに重複なく割り当てられた複数のサーバ装置を含むサーバシステムであって、
前記複数のサーバ装置それぞれは、
前記複数のサーバ装置の一部に障害が発生したときに、障害が発生したサーバ装置に割り当てられた処理用データの内、処理に用いられている第1の処理用データに、前記障害が発生したときに不使用だったことを示す不使用データを付加する不使用データ付加手段と、
障害が発生したサーバ装置の代行を行うサーバ装置において、前記処理を、このサーバ装置に割り当てられた処理用データを用いて代行する代行手段と、
障害が発生したサーバ装置において、前記処理を、このサーバ装置に割り当てられた処理用データの内、前記第1の処理用データ以外の処理用データを用いて行う処理手段と
を有するサーバシステム。 - 複数のサーバ装置を含むサーバシステムの前記サーバ装置であって、前記サーバ装置それぞれには、処理に用いられる処理用データが重複なく割り当てられ、
前記複数のサーバ装置の一部に障害が発生したときに、障害が発生したサーバ装置に割り当てられた処理用データの内、処理に用いられている第1の処理用データに、前記障害が発生したときに不使用だったことを示す不使用データを付加する不使用データ付加手段と、
障害が発生したサーバ装置の代行を行うサーバ装置において、前記処理を、このサーバ装置に割り当てられた処理用データを用いて代行する代行手段と、
障害が発生したサーバ装置において、前記処理を、このサーバ装置に割り当てられた処理用データの内、前記第1の処理用データ以外の処理用データを用いて行う処理手段と
を有するサーバ装置。 - 前記サーバシステムのサーバ装置の一部に発生した障害の回数と、この障害の復旧とにより定義される状態を示す状態データを作成する状態データ作成手段
をさらに有し、
前記使用データ付加手段は、前記作成された状態データを、前記使用データとして、前記第1の処理用データに付加し、
前記処理手段は、前記処理を、このサーバ装置に割り当てられた処理用データの内、前記状態データが付された第1の処理用データ以外の処理用データを用いて代行する
請求項2に記載のサーバ装置。 - 前記状態データは、前記システムにおける障害の発生およびその復旧の履歴を示し、
前記代行手段は、処理を代行すべきサーバ装置に障害が発生してから、このサーバ装置に発生した障害が復旧するまで、このサーバ装置の処理を代行し、
前記処理手段は、前記状態データが、少なくとも、当該サーバ装置に発生した障害と、この障害が発生する前に発生した障害とが復旧していることを示すときに、前記割り当てられた処理用データを用いて処理を行い、このとき以外は、前記第1の処理用データ以外の処理用データを用いて処理を行う
請求項3に記載のサーバ装置。 - 前記状態データは、前記システムにおける障害の発生の回数から、前記発生した障害の復旧の回数を減算して得られる差を示し、
前記処理手段は、処理を行う時点における前記状態データが示す差が、前記第1の処理用データに使用データとして付された状態データが示す差以下のときに、当該サーバ装置に割り当てられた処理用データを用いて処理を行い、このとき以外は、前記第1の処理データ以外の処理用データを用いて処理を行う
請求項4に記載のサーバ装置。 - 前記状態データは、前記発生した障害の復旧の回数から、前記システムにおける障害の発生の回数を減算して得られる差を示し、
前記処理手段は、処理を行う時点における前記状態データが示す差が、前記第1の処理用データに使用データとして付された状態データが示す差以上であるときに、当該サーバ装置に割り当てられた処理用データを用いて処理を行い、このとき以外は、前記第1の処理データ以外の処理用データを用いて処理を行う
請求項4に記載のサーバ装置。 - 前記複数のサーバ装置は、DHCPによりIPアドレスを割り当てるDHCPサーバであって、
前記処理用データは、前記複数のサーバ装置が割り当てるIPアドレスである
請求項2〜6のいずれかに記載のサーバ装置。 - 複数のサーバ装置を含むサーバシステムの前記サーバ装置における処理方法であって、前記サーバ装置それぞれには、処理に用いられる処理用データが重複なく割り当てられ、
前記割り当てられた処理用データを用いて処理を行う処理ステップと、
前記複数のサーバ装置の一部に障害が発生したときに、障害が発生したサーバ装置に割り当てられた処理用データの内、処理に用いられている第1の処理用データに、前記障害が発生したときに不使用だったことを示す不使用データを付加する不使用データ付加ステップと、
障害が発生したサーバ装置の1つ以上の処理を、このサーバ装置に割り当てられた処理用データの内、前記第1の処理用データ以外を用いて代行する代行処理ステップと
を有する処理方法。 - それぞれコンピュータを有する複数のサーバ装置を含むサーバシステムの前記サーバ装置におけるプログラムであって、前記サーバ装置それぞれには、処理に用いられる処理用データが重複なく割り当てられ、
前記割り当てられた処理用データを用いて処理を行う処理ステップと、
前記複数のサーバ装置の一部に障害が発生したときに、障害が発生したサーバ装置に割り当てられた処理用データの内、処理に用いられている第1の処理用データに、前記障害が発生したときに不使用だったことを示す不使用データを付加する不使用データ付加ステップと、
障害が発生したサーバ装置の1つ以上の処理を、このサーバ装置に割り当てられた処理用データの内、前記第1の処理用データ以外を用いて代行する代行処理ステップと
を前記コンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005068670A JP4167238B2 (ja) | 2005-03-11 | 2005-03-11 | サーバシステム、サーバ装置およびその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005068670A JP4167238B2 (ja) | 2005-03-11 | 2005-03-11 | サーバシステム、サーバ装置およびその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006252238A JP2006252238A (ja) | 2006-09-21 |
JP4167238B2 true JP4167238B2 (ja) | 2008-10-15 |
Family
ID=37092663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005068670A Expired - Fee Related JP4167238B2 (ja) | 2005-03-11 | 2005-03-11 | サーバシステム、サーバ装置およびその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4167238B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4662477B2 (ja) * | 2006-03-31 | 2011-03-30 | Kddi株式会社 | 複数のdhcpサーバにおけるアドレス管理方法、dhcpサーバ及びプログラム |
JP4909392B2 (ja) * | 2009-08-28 | 2012-04-04 | 日本電信電話株式会社 | Ipアドレス払い出しシステム,ipアドレス払い出し装置、ipアドレス払い出し方法、およびipアドレス払い出しプログラム |
JP5818362B2 (ja) * | 2012-05-21 | 2015-11-18 | 日本電信電話株式会社 | ネットワークシステム、ネットワーク管理装置、ネットワーク管理プログラム及びネットワーク管理方法 |
-
2005
- 2005-03-11 JP JP2005068670A patent/JP4167238B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006252238A (ja) | 2006-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4041518B2 (ja) | サーバシステム、サーバ装置およびその方法 | |
US10979286B2 (en) | Method, device and computer program product for managing distributed system | |
US11894972B2 (en) | System and method for data replication using a single master failover protocol | |
US20210406279A1 (en) | System and method for maintaining a master replica for reads and writes in a data store | |
JP5498594B2 (ja) | フェデレーションインフラストラクチャ内の一貫性 | |
JP6084624B2 (ja) | 高可用性クラスタにおけるスプリット・ブレイン耐性フェイルオーバ | |
EP2996308B1 (en) | Massively scalable object storage system | |
US8346719B2 (en) | Multi-node replication systems, devices and methods | |
US9367261B2 (en) | Computer system, data management method and data management program | |
JP2008533564A (ja) | データ管理のための方法および装置 | |
US10320905B2 (en) | Highly available network filer super cluster | |
US20090049172A1 (en) | Concurrent Node Self-Start in a Peer Cluster | |
CN109462511A (zh) | 网络的建立方法及装置 | |
JP4167238B2 (ja) | サーバシステム、サーバ装置およびその方法 | |
US7433928B1 (en) | System pre-allocating data object replicas for a distributed file sharing system | |
JP6091376B2 (ja) | クラスタシステムおよびSplit−BrainSyndrome検出方法 | |
CN109189854B (zh) | 提供持续业务的方法及节点设备 | |
JP4023748B2 (ja) | データ作成装置およびその方法 | |
JP5416490B2 (ja) | 分散データ管理システム、データ管理装置、データ管理方法、およびプログラム | |
JP6697158B2 (ja) | 情報管理プログラム、情報管理方法、及び情報管理装置 | |
CN113138879A (zh) | 用于混合边缘复制的方法和系统 | |
WO2015054883A1 (zh) | 数据同步方法及节点设备 | |
JP2018005456A (ja) | イメージ配信プログラム、イメージ配信装置およびイメージ配信方法 | |
CN114896341A (zh) | 一种基于Gossip的分布式数据库多区域分布方法及系统 | |
JP2024035121A (ja) | ブロック同期方法、ブロックチェーンシステム、デバイス及び記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071226 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080314 |
|
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: 20080704 |
|
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: 20080731 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110808 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110808 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120808 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130808 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees | ||
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
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 |