(57)【要約】【課題】  複数のサーバの間で矛盾が生じないように情報を管理することができるようにする。【解決手段】  ＤＨＣＰサーバ＃２が、あるクライアントコンピュータに対してＩＰアドレスＡを割り当てた後、障害が発生し、他のＤＨＣＰサーバと連絡不能に陥り、複数のＤＨＣＰサーバで構成される論理的リングから外れる。ＤＨＣＰサーバ＃０は、ＤＨＣＰサーバ＃２の代わりにＩＰアドレスの再割り当てを行う。一方、他と通信不能になった後も動作するＤＨＣＰサーバ＃２は、ＩＰアドレスＡの割り当てが終了した後、新たなＩＰアドレスの割り当てを行うときにも、障害発生時に割り当てていたＩＰアドレスＡ以外のアドレスを用いる。この状態は、例えば障害の全てが復旧した後にリセットされる。【選択図】図２１
2006252238.tif 000002
【特許請求の範囲】
【請求項１】
処理に用いられる処理用データが、それぞれに重複なく割り当てられた複数のサーバ装置を含むサーバシステムであって、
前記複数のサーバ装置それぞれは、
前記複数のサーバ装置の一部に障害が発生したときに、障害が発生したサーバ装置に割り当てられた処理用データの内、処理に用いられている第１の処理用データに、前記障害が発生したときに使用されていたことを示す使用データを付加する使用データ付加手段と、
障害が発生したサーバ装置の代行を行うサーバ装置において、前記処理を、このサーバ装置に割り当てられた処理用データを用いて代行する代行手段と、
障害が発生したサーバ装置において、前記処理を、このサーバ装置に割り当てられた処理用データの内、前記第１の処理用データ以外の処理用データを用いて行う処理手段と
を有するサーバシステム。
【請求項２】
複数のサーバ装置を含むサーバシステムの前記サーバ装置であって、前記サーバ装置それぞれには、処理に用いられる処理用データが重複なく割り当てられ、
前記複数のサーバ装置の一部に障害が発生したときに、障害が発生したサーバ装置に割り当てられた処理用データの内、処理に用いられている第１の処理用データに、前記障害が発生したときに使用されていたことを示す使用データを付加する使用データ付加手段と、
障害が発生したサーバ装置の代行を行うサーバ装置において、前記処理を、このサーバ装置に割り当てられた処理用データを用いて代行する代行手段と、
障害が発生したサーバ装置において、前記処理を、このサーバ装置に割り当てられた処理用データの内、前記第１の処理用データ以外の処理用データを用いて行う処理手段と
を有するサーバ装置。
【請求項３】
前記サーバシステムのサーバ装置の一部に発生した障害の回数と、この障害の復旧とにより定義される状態を示す状態データを作成する状態データ作成手段
をさらに有し、
前記使用データ付加手段は、前記作成された状態データを、前記使用データとして、前記第１の処理用データに付加し、
前記処理手段は、前記処理を、このサーバ装置に割り当てられた処理用データの内、前記状態データが付された第１の処理用データ以外の処理用データを用いて代行する
請求項２に記載のサーバ装置。
【請求項４】
前記状態データは、前記システムにおける障害の発生と、前記発生した障害の復旧とを示し、
前記代行手段は、処理を代行すべきサーバ装置に障害が発生してから、このサーバ装置に発生した障害が復旧するまで、このサーバ装置の処理を代行し、
前記処理手段は、前記状態データが、少なくとも、当該サーバ装置に発生した障害と、この障害が発生する前に発生した障害とが復旧していることを示すときに、前記割り当てられた処理用データを用いて処理を行い、このとき以外は、前記第１の処理用データ以外の処理用データを用いて処理を行う
請求項３に記載のサーバ装置。
【請求項５】
前記状態データは、前記システムにおける障害の発生の回数から、前記発生した障害の復旧の回数を減算して得られる差を示し、
前記処理手段は、処理を行う時点における前記状態データが示す差が、前記第１の処理用データに使用データとして付された状態データが示す差以下のときに、当該サーバ装置に割り当てられた処理用データを用いて処理を行い、このとき以外は、前記第１の処理データ以外の処理用データを用いて処理を行う
請求項４に記載のサーバ装置。
【請求項６】
前記状態データは、前記発生した障害の復旧の回数から、前記システムにおける障害の発生の回数を減算して得られる差を示し、
前記処理手段は、処理を行う時点における前記状態データが示す差が、前記第１の処理用データに使用データとして付された状態データが示す差以上であるときに、当該サーバ装置に割り当てられた処理用データを用いて処理を行い、このとき以外は、前記第１の処理データ以外の処理用データを用いて処理を行う
請求項４に記載のサーバ装置。
【請求項７】
前記複数のサーバ装置は、ＤＨＣＰによりＩＰアドレスを割り当てるＤＨＣＰサーバであって、
前記処理用データは、前記複数のサーバ装置が割り当てるＩＰアドレスである
請求項２〜６のいずれかに記載のサーバ装置。
【請求項８】
複数のサーバ装置を含むサーバシステムの前記サーバ装置における処理方法であって、前記サーバ装置それぞれには、処理に用いられる処理用データが重複なく割り当てられ、
前記割り当てられた処理用データを用いて処理を行う処理ステップと、
前記複数のサーバの一部に障害が発生したときに、障害が発生したサーバに割り当てられた処理用データの内、処理に用いられている第１の処理用データに、前記障害が発生したときに使用されていたことを示す使用データを付加する使用データ付加ステップと、
障害が発生したサーバ装置の１つ以上の処理を、このサーバ装置に割り当てられた処理用データの内、前記第１の処理用データ以外を用いて代行する代行処理ステップと
を有する処理方法。
【請求項９】
それぞれコンピュータを有する複数のサーバ装置を含むサーバシステムの前記サーバ装置におけるプログラムであって、前記サーバ装置それぞれには、処理に用いられる処理用データが重複なく割り当てられ、
前記割り当てられた処理用データを用いて処理を行う処理ステップと、
前記複数のサーバの一部に障害が発生したときに、障害が発生したサーバに割り当てられた処理用データの内、処理に用いられている第１の処理用データに、前記障害が発生したときに使用されていたことを示す使用データを付加する使用データ付加ステップと、
障害が発生したサーバ装置の１つ以上の処理を、このサーバ装置に割り当てられた処理用データの内、前記第１の処理用データ以外を用いて代行する代行処理ステップと
を前記コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数のサーバの一部に障害が発生したときに、その処理を代行するサーバシステム、サーバ装置およびその方法に関する。
【背景技術】
【０００２】
特許文献１，２は、ＤＨＣＰ(Dynamic Host Configuration Protocol;動的ホスト構成プロトコル)に従って、コンピュータなどのノードにＩＰアドレスを付与する方法を開示する。
ＤＨＣＰによりネットワーク内の各ノードにＩＰアドレスを付与するＤＨＣＰサーバなど、特定の機能を備えたサーバを、１つのネットワーク内に複数、設置し、冗長化すると、その信頼性を高めることができる。
しかしながら、例えば、ＤＨＣＰサーバを冗長化するときには、いずれのアドレスをいずれのノードに付与したかなどを示す情報を、複数のサーバの間で矛盾が生じないように管理する必要がある。
しかしながら、複数のサーバの間で矛盾が生じないように情報を管理することは、必ずしも容易ではない。
【特許文献１】特開２０００−５９３８７号公報
【特許文献２】特開２００１−２０３８０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、上述のような背景からなされたものであり、複数のサーバの間で矛盾が生じないように情報を管理することができるように改良されたサーバシステム、このようなシステムにおいて用いられるサーバ装置およびその方法を提供することを目的とする。
また、特定的には、本発明は、冗長化された複数のＤＨＣＰサーバの一部が機能しなくなったときに、他のＤＨＣＰサーバが、機能しなくなったＤＨＣＰサーバノードを代行しても、ＩＰアドレスの割り当てに矛盾が生じないように改良されたサーバシステム、サーバ装置およびこれらの方法を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するために、本発明にかかるサーバシステムは、処理に用いられる処理用データが、それぞれに重複なく割り当てられた複数のサーバ装置を含むサーバシステムであって、前記複数のサーバ装置それぞれは、前記複数のサーバ装置の一部に障害が発生したときに、障害が発生したサーバ装置に割り当てられた処理用データの内、処理に用いられている第１の処理用データに、前記障害が発生したときに使用されていたことを示す使用データを付加する使用データ付加手段と、障害が発生したサーバ装置の代行を行うサーバ装置において、前記処理を、このサーバ装置に割り当てられた処理用データを用いて代行する代行手段と、障害が発生したサーバ装置において、前記処理を、このサーバ装置に割り当てられた処理用データの内、前記第１の処理用データ以外の処理用データを用いて行う処理手段とを有する。
【０００５】
また、本発明にかかるサーバ装置は、複数のサーバ装置を含むサーバシステムの前記サーバ装置であって、前記サーバ装置それぞれには、処理に用いられる処理用データが重複なく割り当てられ、前記複数のサーバ装置の一部に障害が発生したときに、障害が発生したサーバ装置に割り当てられた処理用データの内、処理に用いられている第１の処理用データに、前記障害が発生したときに使用されていたことを示す使用データを付加する使用データ付加手段と、障害が発生したサーバ装置の代行を行うサーバ装置において、前記処理を、このサーバ装置に割り当てられた処理用データを用いて代行する代行手段と、障害が発生したサーバ装置において、前記処理を、このサーバ装置に割り当てられた処理用データの内、前記第１の処理用データ以外の処理用データを用いて行う処理手段とを有する。
好適には、前記サーバシステムのサーバ装置の一部に発生した障害の回数と、この障害の復旧とにより定義される状態を示す状態データを作成する状態データ作成手段をさらに有し、前記使用データ付加手段は、前記作成された状態データを、前記使用データとして、前記第１の処理用データに付加し、前記処理手段は、前記処理を、このサーバ装置に割り当てられた処理用データの内、前記状態データが付された第１の処理用データ以外の処理用データを用いて代行する。
【０００６】
好適には、前記状態データは、前記システムにおける障害の発生と、前記発生した障害の復旧とを示し、前記代行手段は、処理を代行すべきサーバ装置に障害が発生してから、このサーバ装置に発生した障害が復旧するまで、このサーバ装置の処理を代行し、前記処理手段は、前記状態データが、少なくとも、当該サーバ装置に発生した障害と、この障害が発生する前に発生した障害とが復旧していることを示すときに、前記割り当てられた処理用データを用いて処理を行い、このとき以外は、前記第１の処理用データ以外の処理用データを用いて処理を行う。
【０００７】
好適には、前記状態データは、前記システムにおける障害の発生の回数から、前記発生した障害の復旧の回数を減算して得られる差を示し、前記処理手段は、処理を行う時点における前記状態データが示す差が、前記第１の処理用データに使用データとして付された状態データが示す差以下のときに、当該サーバ装置に割り当てられた処理用データを用いて処理を行い、このとき以外は、前記第１の処理データ以外の処理用データを用いて処理を行う。
【０００８】
好適には、前記状態データは、前記発生した障害の復旧の回数から、前記システムにおける障害の発生の回数を減算して得られる差を示し、前記処理手段は、処理を行う時点における前記状態データが示す差が、前記第１の処理用データに使用データとして付された状態データが示す差以上のときに、当該サーバ装置に割り当てられた処理用データを用いて処理を行い、このとき以外は、前記第１の処理データ以外の処理用データを用いて処理を行う。
【０００９】
好適には、前記複数のサーバ装置は、ＤＨＣＰによりＩＰアドレスを割り当てるＤＨＣＰサーバであって、前記処理用データは、前記複数のサーバ装置が割り当てるＩＰアドレスである。
【００１０】
また、本発明にかかる処理方法は、複数のサーバ装置を含むサーバシステムの前記サーバ装置における処理方法であって、前記サーバ装置それぞれには、処理に用いられる処理用データが重複なく割り当てられ、前記割り当てられた処理用データを用いて処理を行う処理ステップと、前記複数のサーバの一部に障害が発生したときに、障害が発生したサーバに割り当てられた処理用データの内、処理に用いられている第１の処理用データに、前記障害が発生したときに使用されていたことを示す使用データを付加する使用データ付加ステップと、障害が発生したサーバ装置の１つ以上の処理を、このサーバ装置に割り当てられた処理用データの内、前記第１の処理用データ以外を用いて代行する代行処理ステップとを有する。
【００１１】
また、本発明にかかるプログラムは、それぞれコンピュータを有する複数のサーバ装置を含むサーバシステムの前記サーバ装置におけるプログラムであって、前記サーバ装置それぞれには、処理に用いられる処理用データが重複なく割り当てられ、前記割り当てられた処理用データを用いて処理を行う処理ステップと、前記複数のサーバの一部に障害が発生したときに、障害が発生したサーバに割り当てられた処理用データの内、処理に用いられている第１の処理用データに、前記障害が発生したときに使用されていたことを示す使用データを付加する使用データ付加ステップと、障害が発生したサーバ装置の１つ以上の処理を、このサーバ装置に割り当てられた処理用データの内、前記第１の処理用データ以外を用いて代行する代行処理ステップとを前記コンピュータに実行させる。
【発明の効果】
【００１２】
本発明にかかるサーバシステム、サーバ装置およびその方法によれば、複数のサーバの間で矛盾が生じないように情報を管理することができる。
また、特定的には、本発明にかかるサーバシステム、サーバ装置およびその方法によれば、冗長化された複数のＤＨＣＰサーバの一部が機能しなくなったときに、他のＤＨＣＰサーバが、機能しなくなったＤＨＣＰサーバノードを代行しても、ＩＰアドレスの割り当てに矛盾が生じない。
【発明を実施するための最良の形態】
【００１３】
［ネットワークシステム１］
以下、本発明の実施形態を説明する。
図１は、本発明にかかるデータ処理方法が適用されるネットワークシステム１の構成を例示する図である。
図１に示すように、ネットワークシステム１は、ｎ台のクライアントコンピュータ１０−０〜１０−（ｎ−１）、管理サーバ１２およびＤＨＣＰサーバ２−０〜２−（ｎ−１）が、ＬＡＮ、ＷＡＮあるいはインターネットなどのネットワーク１４を介して、互いに通信可能に接続されて構成される。
但し、各図において、ｎは２以上の整数を示し、また、ｎは常に同じ数を示すとは限らない。
また、以下、ＤＨＣＰサーバ２−０〜２−（ｎ−１）など、複数あり得る構成部分・処理のいずれかが、特定されずに記載されるときには、単にＤＨＣＰサーバ２と略記されることがあり、実質的に同一な構成部分および処理には、同じ符号が付される。
【００１４】
また、ＤＨＣＰサーバ２、クライアントコンピュータ１０、および、ＤＨＣＰサーバ２に対するデータの設定などの管理を行う管理サーバ１２など、ネットワークシステム１において、データ処理あるいは通信の主体となりうる構成部分は、以下、ノードと総称されることがある。
ネットワークシステム１においては、複数のＤＨＣＰサーバ２は冗長構成とされ、クライアントコンピュータ１０は、これらのＤＨＣＰサーバ２から、ＤＨＣＰ(Dynamic Host Configuration Protocol;動的ホスト構成プロトコル)により、ＩＰアドレスの割り当てを動的に受けて、他のノードとの通信を行う。
なお、以下、適宜、具体例を挙げて説明するが、この具体例は、説明の具体化および明確化のために挙げられ、本発明の技術範囲の限定のために挙げられるのではない。
【００１５】
［ハードウエア］
図２は、図１に示したクライアントコンピュータ１０、管理サーバ１２およびＤＨＣＰサーバ２のハードウエアを例示する図である。
図２に示すように、これらのノードは、ＣＰＵ１０２およびメモリ１０４などを含む本体１００、表示装置およびキーボードなどを含む入出力装置１０６、他のノードとの通信を行う通信装置１１０、および、ＣＤ装置、ＦＤ装置およびＨＤＤ装置などの記録装置１１２から構成される。
つまり、これらのノードは、ネットワーク１４（図１）を介して他のノードと通信が可能なコンピュータとしての構成部分を有している。
【００１６】
［ＤＨＣＰサーバ２の冗長構成］
次に、ネットワークシステム１におけるＤＨＣＰサーバ２の冗長構成を説明する。
図３は、図１，図２に示したＤＨＣＰサーバ２の冗長構成を示す図であって、ネットワークシステム１に含まれる全てのＤＨＣＰサーバ２が、１つの論理的リング（第１の論理的リング）１６−１を構成する場合を示す（但し、図３は、ｎ＝８の場合を例示）。
図３に示すように、例えば、ネットワークシステム１に含まれる全てのＤＨＣＰサーバ２−１〜２−（ｎ−１）は、論理的に１つのループ状の冗長構成（第１の論理的リング１６−１）を形成し、これらのＤＨＣＰサーバ２それぞれには、＃０〜＃（ｎ−１）のうちのいずれかが、一意な識別子（サーバＩＤ）として、この論理的リング１６−１のＩＤ（リングＩＤ＝１）とともに付される。
【００１７】
なお、このサーバＩＤは、ＩＰアドレスの割り当てのために用いられる信号の伝送順序の他に、論理的リング１６−１におけるＤＨＣＰサーバ２−０〜２−（ｎ−１）の優先順位を示し、例えば、サーバＩＤの値が小さければ小さいほど、そのサーバＩＤが付されたＤＨＣＰサーバ２の優先順位が高くなる。
また、ネットワークシステム１には、複数の論理的リング１６が含まれうるが、以下、図示およびその説明の具体化および明確化のために、ネットワークシステム１に論理的リング１６−１が１つだけ含まれる場合を具体例とする。
【００１８】
また、論理的リング１６−１においては、ＤＨＣＰによりクライアントコンピュータ１０にＩＰアドレスを割り当てるために、ＤＨＣＰサーバ２−ｉ（ｉ＝０〜（ｎ−１））から送信される信号は、サーバＩＤ＃０〜＃（ｎ−１）が示す順序で（但し、ｎ−１の次は０）、論理的リング１６−１を構成する全てのＤＨＣＰサーバ２を経由して、元のＤＨＣＰサーバ２−ｉに返される。
つまり、例えば、ＤＨＣＰサーバ２−０が、ＤＨＣＰサーバ２−１に対して送信した信号は、ＤＨＣＰサーバ２−２，２−３，・・・，２−７（ｎ−１）の順序で、順次、中継され、最後にＤＨＣＰサーバ２−０に返される。
【００１９】
また、論理的リング１６−１においては、論理的リング１６−１に含まれるＤＨＣＰサーバ２が、全体として、クライアントコンピュータ１０に割り当てうる全てのＩＰアドレスの集合（スコープ、但し、図９に示す論理的リング１６−２などにおいてはＶＳ）は、それぞれ、ＤＨＣＰサーバ２−０〜２−（ｎ−１）に対応し、１つ以上のＩＰアドレスを、他と重複しないように含む仮想サブスコープ（ＶＳＳ; Virtual Sub Scope）＃０〜＃７（ｎ−１）に分けられる。
論理的リング１６−１においては、例えば、サーバＩＤの値が最も小さいＤＨＣＰサーバ２が、マスタＤＨＣＰサーバ２として動作し、これ以外のＤＨＣＰサーバ２は、スレーブＤＨＣＰサーバ２として動作する。
【００２０】
論理的リング１６−１においては、ＶＳＳ＃０〜＃７（ｎ−１）それぞれを、対応するＤＨＣＰサーバ２−０〜２−７（ｎ−１）それぞれが作成し、自らに設定する。
ＤＨＣＰサーバ２−０〜２−（ｎ−１）それぞれは、設定されたＶＳＳ＃０〜＃７（ｎ−１）のいずれかに含まれるＩＰアドレスを、ＩＰアドレスの割り当てを要求したクライアントコンピュータ１０に割り当てることができる。
なお、ＶＳＳの作成方法は、図１８，図２０および式１〜３などを参照して後述される。
【００２１】
［論理的リング１６−１によるＩＰアドレス割り当て］
以下、論理的リング１６−１によるクライアントコンピュータ１０に対するＩＰアドレスの割り当てを説明する。
図４は、図３に示した論理的リング１６−１によるクライアントコンピュータ１０に対するＩＰアドレスの割り当て処理（Ｓ１０）を示す通信シーケンス図であって、ＩＰアドレスが正常に割り当てられる場合を例示する。
なお、以下の各通信シーケンス図において、ＤＨＣＰサーバ２−０などに付された（Ｍ）は、ＤＨＣＰサーバ２−０などがマスタＤＨＣＰサーバ２であることを、ＤＨＣＰサーバ２−１などに付された（Ｓ）は、ＤＨＣＰサーバ２−１などがスレーブＤＨＣＰサーバ２であることを示している。
図４に示すように、ステップ１００（Ｓ１００）において、クライアントコンピュータ１０は、ＤＨＣＰサーバ２−０に対して、ＩＰアドレスの割り当てを要求する。
【００２２】
ステップ１０２（Ｓ１０２）において、ＤＨＣＰサーバ２−０〜２−（ｎ−１）のいずれか（図４においてはＤＨＣＰサーバ２−０）は、ＩＰアドレスの割り当てを要求したクライアントコンピュータ１０に対して、ＶＳＳ＃０に含まれるＩＰアドレスＡを提供する旨を示す信号(Offer)を返す。
ステップ１０４（Ｓ１０４）において、クライアントコンピュータ１０は、ＤＨＣＰサーバ２−０に対して、ＩＰアドレスＡの割り当てを要求する。
ステップ１０６−１〜１０６−ｎ（Ｓ１０６−１〜Ｓ１０６−ｎ）において、クライアントコンピュータ１０にＩＰアドレスの提供を申し出たＤＨＣＰサーバ２−０は、サーバＩＤに従って、ＤＨＣＰサーバ２−１に対して、ＩＰアドレスＡを提供する旨を示す信号（アドレス割り当て通知信号）を送信する。
【００２３】
このアドレス割り当て通知信号は、論理的リング１６−１に含まれる全てのＤＨＣＰサーバ２を経由して中継され、ＤＨＣＰサーバ２−０に返される。
ステップ１０８（Ｓ１０８）において、ＤＨＣＰサーバ２−０は、ＩＰアドレスの割り当てを要求したクライアントコンピュータ１０に対して、ＩＰアドレスＡを割り当てるための処理（ＡＣＫ送信）を行う。
なお、図５を参照して後述するように、ステップ１０６（Ｓ１０６）には、クライアントコンピュータ１０からＤＨＣＰサーバ２−０に対して、ＩＰアドレスＡの割り当てを要求する信号(Request)と、ＤＨＣＰサーバ２−０からクライアントコンピュータ１０に対して、この要求を受け入れる旨を示す信号(ACK)とが含まれる。
【００２４】
論理的リング１６−１において、複数のクライアントコンピュータ１０からのＩＰアドレス割り当て要求に応じて、複数のＤＨＣＰサーバ２が、クライアントコンピュータ１０に対して同一または異なるＩＰアドレスを提供することがある。
次に、このようなＩＰアドレス提供の衝突が起こった場合の処理を説明する。
図５は、図３に示した論理的リング１６−１によるクライアントコンピュータ１０に対するＩＰアドレスの割り当て処理（Ｓ１０'）を示す通信シーケンス図であって、ＩＰアドレスの提供に衝突が生じた場合を例示する。
図４に示したＳ１０の処理と同様に、ステップ１００−１，１００−２（Ｓ１００−１，Ｓ１００−２）において、例えば、クライアントコンピュータ１０−０，１０−１は、ＤＨＣＰサーバ２−０，２−２に対して、ＩＰアドレスの割り当てを要求する。
【００２５】
ステップ１０２−１，１０２−２（Ｓ１０２−１，Ｓ１０２−２）において、ＤＨＣＰサーバ２−０，２−２は、ＩＰアドレスの割り当てを要求したクライアントコンピュータ１０−０，１０−２に対して、仮想スコープ（ＶＳ）に含まれるＩＰアドレスＡを提供する旨を示す信号(Offer)を返す。
ステップ１０４−１，１０４−２（Ｓ１０４−１，Ｓ１０４−２）において、クライアントコンピュータ１０−０，１０−１は、ＤＨＣＰサーバ２−０，２−２に対して、ＩＰアドレスＡの割り当て要求を出す。
ステップ１０６−１〜（Ｓ１０６−１〜１０６−ｎ）において、クライアントコンピュータ１０−０にＩＰアドレスの提供を申し出たＤＨＣＰサーバ２−０は、ＤＨＣＰサーバ２−１に対して、ＩＰアドレスＡを提供する旨を示す信号（アドレス割り当て通知信号）を送信する。
このアドレス割り当て通知信号は、論理的リング１６−１に含まれる全てのＤＨＣＰサーバ２を経由して中継され、ＤＨＣＰサーバ２−０がＩＰアドレスＡを提供する旨の信号を送出した後、制限時間中に、ＤＨＣＰサーバ２−０に返される。
【００２６】
一方、ステップ１０６'−１，１０６'−２（Ｓ１０６'−１，Ｓ１０６'−２）において、クライアントコンピュータ１０−１にＩＰアドレスの提供を申し出たＤＨＣＰサーバ２−２は、ＤＨＣＰサーバ２−３（図５において図示せず）に対して、ＩＰアドレスＡを提供する旨を示す信号（アドレス割り当て通知信号）を送信する。
このアドレス割り当て通知信号は、同じクライアントコンピュータ１０−０に対してＩＰアドレスＡを提供したより高い優先順位のＤＨＣＰサーバ２−０によりブロックされ、ＤＨＣＰサーバ２−２がＩＰアドレスＡを提供する旨の信号を送出した後、制限時間中に、ＤＨＣＰサーバ２−２は返されない。
また、ＤＨＣＰサーバ２−０が送信し、ＤＨＣＰサーバ２−１が中継したＳ１０６−１において送信されたアドレス割り当て通知信号の受信により、ＤＨＣＰサーバ２−２は、ＩＰアドレスＡが、優先順位が高いＤＨＣＰサーバ２−０によって使われることを知ることができるので、ＤＨＣＰサーバ２−０よりも優先順位が低いＤＨＣＰサーバ２−２は、ＩＰアドレスＡを割り当てない。
【００２７】
ステップ１０８（Ｓ１０８）において、ＤＨＣＰサーバ２−０は、クライアントコンピュータ１０−０に対して、ＩＰアドレスＡを割り当てる旨の信号（ＡＣＫ）を返す。
一方、ステップ１１０（Ｓ１１０）において、ＤＨＣＰサーバ２−２は、クライアントコンピュータ１０−１に対して、ＩＰアドレスＡを割り当てない旨の信号（ＮＡＣＫ）を返す。
【００２８】
［リングアップデート］
また、マスタＤＨＣＰサーバ２−０は、例えば一定周期で、ＤＨＣＰサーバ２−０に対して、論理的リング１６−１における通信が正常に維持されているか否かを試験する。
図６は、図３に示した論理的リング１６−１における通信が正常に維持されているか否かの試験（リングアップデート）を示す信号シーケンスであって、リングアップデートにより、論理的リング１６−１における通信が正常に維持されている場合を例示する。
図６に示すように、ステップ１２０−１（Ｓ１２０−１）において、マスタＤＨＣＰサーバ２−０が、スレーブＤＨＣＰサーバ２−１に対してリングアップデート信号を送信する。
ステップ１２０−２〜１２０−ｎ（Ｓ１２０−２〜Ｓ１２０−ｎ）において、ＤＨＣＰサーバ２−１〜２−（ｎ−１）により、リングアップデート信号が、順次、中継され、最終的に、ＤＨＣＰサーバ２−０に返される。
ＤＨＣＰサーバ２−０は、リングアップデート信号が、リングアップデート信号送信から制限時間内に返されたことをもって、論理的リング１６−１内の通信が正常に維持されていると判断することができる。
【００２９】
［障害発生時］
以下、障害発生時の論理的リング１６−１（図３）の動作を説明する。
図７は、論理的リング１６−１（図３）に発生する障害を例示する図である。
以下、図７に示すように、ネットワークシステム１（図１）のネットワーク１４に障害が生じたなどの理由により、論理的リング１６−１（図３）において、ＤＨＣＰサーバ２−０〜２−３と、ＤＨＣＰサーバ２−４〜２−７（ｎ−１）との間の通信が不可能になった場合を具体例とする。
【００３０】
図８は、図７に示したように論理的リング１６−１（図３）に障害が発生したときに、クライアントコンピュータ１０（図１）からＤＨＣＰサーバ２にＩＰアドレスが要求されたときの異常な通信シーケンス（Ｓ１４）を例示する図である。
正常時（図４；Ｓ１０）と同様に、図８に示すように、ステップ１００（Ｓ１００）において、クライアントコンピュータ１０からＤＨＣＰサーバ２に対して、ＩＰアドレスの割り当てが要求される。
ステップ１０２（Ｓ１０２）において、ＤＨＣＰサーバ２−０は、クライアントコンピュータ１０に対してＩＰアドレスＡを提供する。
ステップ１０４（Ｓ１０４）において、クライアントコンピュータ１０は、ＤＨＣＰサーバ２−０に対してＩＰアドレスＡの割り当てを要求する。
【００３１】
ステップ１０６−１〜１０６−３（Ｓ１０６−１〜Ｓ１０６−３）において、正常時（図４）と同様に、ＤＨＣＰサーバ２−０からＤＨＣＰサーバ２−３への順序で、ＩＰアドレスＡをクライアントコンピュータ１０に割り当てる旨が通知される。
しかしながら、ステップ１０６−４〜１０６−ｎ（Ｓ１０６−４〜Ｓ１０６−ｎ；但し、一部、図示されず）に破線で示すように、正常時とは異なり、ＤＨＣＰサーバ２−３とＤＨＣＰサーバ２−４との間の通信が不可能なので、ＤＨＣＰサーバ２−４には、この通知は届かない。
従って、この通知は、制限時間内にＤＨＣＰサーバ２−０に返ってこない。
【００３２】
このようなときに、ステップ２０−１（Ｓ２０−１）において、ＤＨＣＰサーバ２−０は、相互に通信可能なＤＨＣＰサーバ２−０〜２−３（図７）の間で、リング再構成のための処理（Ｓ２０−１）を行う（リング再構成（Ｓ２０）のための通信シーケンスは、図１１を参照して後述）。
同様に、ステップ１４０（Ｓ１４０）において、例えば、ＤＨＣＰサーバ２−４〜２−（ｎ−１）に、リングアップデートの周期が訪れても、これらに、ＤＨＣＰサーバ２−０からのリングアップデート信号は届かない。
この事象を契機として、ＤＨＣＰサーバ２−４〜２−（ｎ−１）は、相互に通信が可能なＤＨＣＰサーバ２−４〜２−（ｎ−１）の間で、リング再構成のための処理（Ｓ２０−２）を行う。
【００３３】
図９は、図３に示した論理的リング１６−１に含まれるＤＨＣＰサーバ２の間の通信に、図７に示したように障害が生じたときに、リング再構成処理（Ｓ２０−１，Ｓ２０−２；図１１）により構成される第２の論理的リング１６−２および第３の論理的リング１６−３を例示する図である。
この結果、図９に示すように、第１の論理的リング１６−１（図３）は、図７に示した障害発生部分で分けられ、２つの論理的リング１６（第２の論理的リング１６−２および第３の論理的リング１６−３）に再構成される。
このとき、論理的リング１６−１（図３）において、ＤＨＣＰサーバ２−０〜２−７（ｎ−１）に対応付けられていたＶＳＳ＃０〜＃７からなるＶＳもまた、論理的リング１６−２におけるＶＳＳ＃０〜＃３、および、論理的リング１６−３におけるＶＳＳ＃４〜＃７（ｎ−１）からなるＶＳに再構成される。
【００３４】
さらに、図８に示すように、ＤＨＣＰサーバ２−０〜２−３の間、および、ＤＨＣＰサーバ２−４〜２−（ｎ−１）の間それぞれにおいて、ＤＨＣＰサーバ２がクライアントコンピュータ１０に割り当てたＩＰアドレスの矛盾を解消するためのアドレス同期のための処理（Ｓ３０−１，Ｓ３０−２；図１３，図１４を参照して後述）が行われる。
【００３５】
なお、図７に示したように論理的リング１６−１に障害が発生しているときには、図８に示したＩＰアドレスの割り当て時の他に、リングアップデート時にも、リングの再構成のための処理（Ｓ２０−１，Ｓ２０−２）が行われて論理的リング１６−２，１６−３（図９）が作成され、これらのリングそれぞれにおいて、アドレス同期のための処理（Ｓ３０−１，Ｓ３０−２）が行われる。
【００３６】
図１０は、図７に示したように論理的リング１６−１（図３）に障害が発生したときに、マスタＤＨＣＰサーバ２−０が行うリングアップデートの異常な通信シーケンス（Ｓ１６）を例示する図である。
図１０に示すように、ステップ１６０−１〜１６０−３（Ｓ１６０−１〜Ｓ１６０−３）において、マスタＤＨＣＰサーバ２−０が、スレーブＤＨＣＰサーバ２−１に対してリングアップデート信号を送信し、この信号は、ＤＨＣＰサーバ２−３まで中継される。
しかしながら、ＤＨＣＰサーバ２−３とＤＨＣＰサーバ２−４との間の通信が不可能になっているので、リングアップデート信号は、制限時間内にＤＨＣＰサーバ２−０に返されることはない。
【００３７】
このようなときには、ＤＨＣＰサーバ２−０は、リング再構成のための処理（Ｓ２０−１）およびアドレス同期のための処理（Ｓ３０−１）を行う。
一方、ＤＨＣＰサーバ２−４〜２−７（ｎ−１）は、所定の時間、ＤＨＣＰサーバ２−０からリングアップデート信号が送られてこないことなどを契機として、リング再構成のための処理（Ｓ２０−１）およびアドレス同期のための処理（Ｓ３０−１）を行う。
これらの処理の結果、リングアップデートが正常に終了しなかったときにも、論理的リング１６−２，１６−３（図９）が作成され、さらに、ＶＳおよびＶＳＳが再構成される。
【００３８】
図１１は、図８，図１０に示したＤＨＣＰサーバ２−０〜２−４（論理的リング１６−２；図９）におけるリング再構成処理（Ｓ２０−１）を示す通信シーケンスを示す図である。
ステップ２００−１〜２００−４（Ｓ２００−１〜Ｓ２００−４）において、ＤＨＣＰサーバ２−０〜２−３は、それぞれ、ネットワークシステム１（図１）のネットワーク１４に対して、パラメータとしてリングＩＤ＝１を含み、リングの再構成を通知する信号をブロードキャストまたはマルチキャストする。
このリング再構成信号は、互いに通信が可能なＤＨＣＰサーバ２−０〜２−３の間でのみ伝送され、破線で示すように、その他のＤＨＣＰサーバ２−４〜２−７（ｎ−１）に対しては伝送されない。
【００３９】
ステップ２０４−１〜２０４−４（Ｓ２０４−１〜Ｓ２０４−４）において、それぞれのリング再構成信号の送信から、制限時間が経過すると、ＤＨＣＰサーバ２−０〜２−３それぞれは、制限時間内にリング再構成信号を受信したＤＨＣＰサーバ２−０〜２−３が、同じ論理的リング１６−２に含まれると判断し、自らが属する論理的リング１６−２に含まれるＤＨＣＰサーバ２（リングメンバ）を固定する。
さらに、ＤＨＣＰサーバ２−０は、自らに論理的リング１６−２において、最も小さい値のサーバＩＤが付され、マスタＤＨＣＰサーバ２になるべきであると判断し、その他のＤＨＣＰサーバ２−１〜２−３は、スレーブＤＨＣＰサーバ２になるべきであると判断する。
また、さらに、ＤＨＣＰサーバ２−０〜２−３は、それぞれ、自らに付されたサーバＩＤと、他のＤＨＣＰサーバ２から通知された論理的リング１６−１におけるサーバＩＤとから、論理的リング１６−２における自らの優先順位を識別する。
容易に分かるように、この場合、論理的リング１６−２においては、ＤＨＣＰサーバ２−０〜２−３の優先順位は０〜３となる。
【００４０】
ステップ１２（Ｓ１２）において、ＤＨＣＰサーバ２−０は、図６に示したリングアップデートのための処理を行う。
ステップ２１０−１〜２１０−４（Ｓ２１０−１〜Ｓ２１０−４）において、マスタＤＨＣＰサーバ２−０〜２−３は、それぞれ、他のＤＨＣＰサーバ２に対して、リングの再構成が起こる以前に設定されていたＶＳＳを通知する。
このＶＳＳの通知は、ＤＨＣＰサーバ２それぞれがが、他のＤＨＣＰサーバ２から受けたＶＳＳの通知に、自らのＶＳＳを追加して次のＤＨＣＰサーバ２に中継することにより行われる。
これらのＶＳＳの通知は、論理的リング１６−２を一回りして、ＤＨＣＰサーバ２−０〜２−３に返される。
【００４１】
ステップ２１２−１〜２１２−４（Ｓ２１２−１〜Ｓ２１２−４）において、ＤＨＣＰサーバ２−０〜２−３は、それぞれ、他のＤＨＣＰサーバ２から通知されたＶＳＳ、および、自らに設定されたＶＳＳから、リングの再構成が生じる前の古い論理的リング１６−１において、リングの再構成後、新たな論理的リング１６−２に含まれることになるＤＨＣＰサーバ２に設定されていたＶＳＳの集合（仮想スコープ（ＶＳ：Virtual Scope））を求める（図９）。
さらに、ＤＨＣＰサーバ２−０〜２−３は、それぞれ、求めたＶＳと、論理的リング１６−２に含まれるＤＨＣＰサーバ２の数と、自らの優先順位とに従って、自らに設定されるべきＶＳＳを求める。
なお、図１１には、第２の論理的リング１６−２（図９）におけるリング再構成処理（Ｓ２０−１）のみを示したが、第３の論理的リング１６−３におけるリング再構成処理（Ｓ２０−２）も、同様に行われる（以下、各論理的リング１６について同様）。
【００４２】
図１２は、図１などに示したＤＨＣＰサーバ２それぞれに設定されるＶＳと、ＶＳを管理するために用いられるＶＳテーブルとを例示する図であって、（Ａ）は、テーブルの形式で定義されるＶＳＳを示し、（Ｂ）は、図３に示した第１の論理的リング１６−１におけるＶＳ（スコープ）のテーブルを示す。
ＤＨＣＰサーバ２それぞれにおいて、ＶＳおよびＶＳＳは、式１〜式３を参照して後述する漸化式を用いた方法により、あるいは、図１２（Ａ）に示すように、ＤＨＣＰサーバそれぞれに設定されるＩＰアドレスとそのインデックスのテーブルの形式で定義される。
このように、数式あるいはテーブルの形式で定義されたＶＳが、ＤＨＣＰサーバ２それぞれに設定される。
【００４３】
図１２（Ｂ）に示すように、例えば、論理的リング１６−１（図３）において、ＤＨＣＰサーバ２がＶＳを管理するために用いるＶＳテーブルには、ＩＰアドレスのインデックスと、ＩＰアドレスおよびＭＡＣアドレスと、このＩＰアドレスをクライアントコンピュータ１０に割り当てるＤＨＣＰサーバ２の識別子（サーバＩＤ）と、このＩＰアドレスが割り当てられているか否か（割り当て中／未割り当て）と、そのＩＰアドレスの同期が取れているかいないか（同期／非同期）と、割り当て期限（リース期限）と、そのＩＰアドレスがクライアントコンピュータ１０に割り当てられたときの分割次数（分割次数については、図１８などが参照されて後述される）を示すデータが対応付けられて含まれる。
【００４４】
図３を参照して既に述べたように、分割されていない状態の第１の論理的リング１６−１においては、ＶＳは、ＤＨＣＰサーバ２−０〜２−（ｎ−１）が全体としてクライアントコンピュータ１０に割り当てることができるスコープに他ならない。
第２の論理的リング１６−２など、リングの再構成により得られた論理的リング１６においては、ＶＳは、上述のように、リングの再構成の後にその論理的リング１６に含まれることとなったＤＨＣＰサーバ２に、リングの再構成前に設定されていた全てのＶＳＳの集合として定義される。
【００４５】
図１３は、図８，図１０に示したＤＨＣＰサーバ２−０〜２−４（論理的リング１６−２；図９）におけるアドレス同期処理（Ｓ３０−１）を示す通信シーケンスを示す第１の図である。
なお、図１３には、ＤＨＣＰサーバ２−０がＤＨＣＰサーバ２−２が使用中であると認識しているＩＰアドレスＡが、実際に、ＤＨＣＰサーバ２−２によりクライアントコンピュータ１０に割り当てられている（使用中である）場合が例示されている。
【００４６】
図１３に示すように、ステップ３００−１（Ｓ３００−１）において、ＤＨＣＰサーバ２−０は、ＤＨＣＰサーバ２−２に対して、ＩＰアドレスＡをクライアントコンピュータ１０に割り当てている（ＩＰアドレスＡが使用中である）か否かを問い合わせる信号を、ＤＨＣＰサーバ２−２に対して送信する。
ステップ３００−２（Ｓ３００−２）において、ＤＨＣＰサーバ２−１は、ＤＨＣＰサーバ２−０からの信号を、ＤＨＣＰサーバ２−２に中継する。
【００４７】
ステップ３０２−１（Ｓ３０２−１）において、ＤＨＣＰサーバ２−２は、ＤＨＣＰサーバ２−３に対して、ＩＰアドレスＡが使用中である旨を示す信号を送信する。
ステップ３０２−２（Ｓ３０２−２）において、ＤＨＣＰサーバ２−３は、ＤＨＣＰサーバ２−０に対して、ＩＰアドレスＡが使用中である旨を示す信号を送信する。
ＤＨＣＰサーバ２−０は、制限時間内に、ＤＨＣＰサーバ２−３からこの信号が返されると、ＩＰアドレスＡが、ＤＨＣＰサーバ２−２によって実際に使用されていると判断し、その旨を記憶する。
ステップ３０２−３，３０２−４（Ｓ３０２−３，Ｓ３０２−４）において、ＩＰアドレスＡが使用中である旨を示す信号は、論理的リング１６−２を一周して、ＤＨＣＰサーバ２−２に返される。
なお、ＤＨＣＰサーバ２−０の場合と同様に、ＩＰアドレスＡが使用中である旨を示す信号を受信したＤＨＣＰサーバ２−３，２−１は、ＤＨＣＰサーバ２−２によって実際に使用されていると判断し、その旨を記録する。
【００４８】
図１４は、図８，図１０に示したＤＨＣＰサーバ２−０〜２−４（論理的リング１６−２；図９）におけるアドレス同期処理（Ｓ３０−１）を示す第２の通信シーケンスを示す図である。
なお、図１４には、ＤＨＣＰサーバ２−０がＤＨＣＰサーバ２−２が使用中であると認識しているＩＰアドレスＡが、実際には、ＤＨＣＰサーバ２−２によりクライアントコンピュータ１０に割り当てられていない（使用中でない）場合、つまり、ＤＨＣＰサーバ２−０とＤＨＣＰサーバ２−２との間で、アドレスが非同期の状態になっている場合が例示されている。
図１４に示すように、図１３に示した場合と同様に、ステップ３００−１（Ｓ３００−１）において、ＤＨＣＰサーバ２−０は、ＤＨＣＰサーバ２−２に対して、ＩＰアドレスＡが使用中であるか否かを問い合わせる信号を、ＤＨＣＰサーバ２−２に対して送信する。
ステップ３００−２（Ｓ３００−２）において、ＤＨＣＰサーバ２−１は、ＤＨＣＰサーバ２−０からの信号を、ＤＨＣＰサーバ２−２に中継する。
【００４９】
ステップ３０４−１（Ｓ３０４−１）において、ＤＨＣＰサーバ２−２は、ＩＰアドレスＡを使用していないので、図１３に示した場合とは異なり、ＤＨＣＰサーバ２−３に対して、ＩＰアドレスＡの不使用を示す信号を送信する。
ステップ３０４−２（Ｓ３０４−２）において、ＤＨＣＰサーバ２−３は、ＩＰアドレスＡの不使用を示す信号を、ＤＨＣＰサーバ２−０に中継する。
このような場合には、ＤＨＣＰサーバ２−０は、ＩＰアドレスＡが、ＤＨＣＰサーバ２−２によって使用されていないと判断し、その旨を記憶する。
ステップ３０４−３，３０４−４（Ｓ３０４−３，Ｓ３０４−４）において、ＩＰアドレスＡの不使用を示す信号は、ＤＨＣＰサーバ２−２に返される。
なお、ＤＨＣＰサーバ２−０の場合と同様に、ＩＰアドレスＡが不使用である旨を示す信号を受信したＤＨＣＰサーバ２−３，２−１は、ＤＨＣＰサーバ２−２によって実際に使用されていないと判断し、その旨を記録する。
【００５０】
図１５は、図９に示した第３の論理的リング１６−３に障害が発生したときに、第３の論理的リング１６−３から、第４の論理的リング１６−４および第５の論理的リング１６−５に再構成される態様を例示する図である。
図１６は、図１５に示した第５の論理的リング１６−５に障害が発生したときに、第３の論理的リング１６−３から、２つのＤＨＣＰサーバ２−６，ＤＨＣＰサーバ２−７（ｎ−１）が、単独で動作するように再構成される態様を例示する図である。
【００５１】
以上、図３〜図１４を参照して説明された処理を繰り返すことにより、図１５に示すように、第３の論理的リング１６−３にさらに障害が発生し、ＤＨＣＰサーバ２−５とＤＨＣＰサーバ２−６との間の通信が不能になったときに、第３の論理的リング１６−３から、第４の論理的リング１６−４および第５の論理的リング１６−５が再構成されうる。
さらに、図１６に示すように、第５の論理的リング１６−５にさらに障害が発生し、ＤＨＣＰサーバ２−６とＤＨＣＰサーバ２−７（ｎ−１）との間の通信が不能になったときに、ＤＨＣＰサーバ２−６，２−７（ｎ−１）それぞれが、単独で動作するように、第５の論理的リング１６−５が再構成されうる。
【００５２】
以上、図９，図１５，図１６には、論理的リング１６に障害が発生して、ＤＨＣＰサーバ２の間の通信が不可能になった場合が例示されたが、ＤＨＣＰサーバ２の内の１つ以上がダウンして、ＩＰアドレスの割り当て処理が不可能になった場合など、様々な障害が発生した場合にも、同様な論理的リング１６の再構成、ＶＳＳの再構成およびアドレスの同期のための処理が行われる。
また、例えば、図９に示した第２の論理的リング１６−２と、第３の論理的リング１６−３の通信が復旧したときには、例えば、マスタＤＨＣＰサーバ２−０が、定期的に、図１１に示したリング再構成処理（Ｓ２０）を行うことにより、複数の論理的リング１６を、１つの論理的リング１６−１（図３）にまとめ、それに合わせてＶＳＳを再構成し、アドレスを同期させることができる。
【００５３】
［ＶＳＳの再構成］
図１７は、４つのＤＨＣＰサーバ２−０〜２−３により構成される第６の論理的リング１６−６を例示する図である。
以下、説明の明確化のため、図１７に示すように、４つのＤＨＣＰサーバ２−０〜２−３から構成される論理的リング１６−６を具体例として、１つの論理的リング１６から複数の論理的リング１６への分裂に伴うＶＳＳの再構成を説明する。
【００５４】
図１８は、図１７に示した論理的リング１６−６に与えられたＩＰアドレスの集合（スコープ）から、ＤＨＣＰサーバ２−０〜２−３それぞれに対応するＶＳＳを作成する処理を示す図である。
ＤＨＣＰサーバ２−０〜２−３それぞれは初期値として同一のスコープが与えられており、最初は、ＶＳＳを保持していない。したがって論理的リング１６−６において各ＤＨＣＰサーバ２−０〜２−３のＶＳＳをすべて集めても空（大きさが０）のＶＳとなる。この場合は、各ＤＨＣＰサーバ２−０〜２−３それぞれは、それぞれがもつスコープをＶＳとみなす。このときのＶＳは、図１８の左側に示すような、ＩＰアドレス＃０００，＃００１，・・・を含む、初期値として与えられたスコープと同一のＩＰアドレス集合である。
このように、ＶＳが分割されていない状態は、ＶＳの０次分割と定義される。
なお、０次分割のＶＳは、論理的リング１６の各ＤＨＣＰサーバ２に与えられたスコープと一致する。
【００５５】
この０次分割のＶＳを分割して、論理的リング１６−６を構成する４つのＤＨＣＰサーバ２−０〜２−３（優先順位０〜３）それぞれに、できるだけ等しい数のＩＰアドレスを割り当てるためには、図１８の右側に示すようにすればよい。
つまり、０次分割のＶＳに含まれるＩＰアドレス＃ｋ（ｋ＝０，１，２，３・・・（Ｓ−１））のインデックスｋに着目し、０次分割のＶＳを、ＩＰアドレス＃ｋのインデックスｋが、ｋ［ｍｏｄ］４＝０〜３を与えるＩＰアドレスをそれぞれ含むＶＳＳ＃０〜＃３に１次分割し、ＶＳＳ＃０〜＃３それぞれを、論理的リング１６−６を構成するＤＨＣＰサーバ２−０〜２−３それぞれに対応付ければよい。
なお、ＶＳＳの１次分割の状態では、論理的リング１６を構成するＤＨＣＰサーバ２−０〜２−３のＶＳＳをすべて集めた論理的リング１６のＶＳは、０次分割となり、ＤＨＣＰサーバ２−０〜２−３それぞれが持つ、初期値としてのスコープと一致する。
このように、ＶＳＳの分割の次数は、常にＶＳの分割の次数より１だけ大きくなる。
【００５６】
０次分割のＶＳを持つ論理的リング１６に含まれるＡ１台（添え字はＶＳＳの分割の次数を示す）のＤＨＣＰサーバ２−０〜２−（Ａ１−１）それぞれに設定されるＶＳＳ１＃ｉ１（ｉ＝０，１，２，・・・，Ａ１−１）の中のＩＰアドレスのインデックスＹ１ｉ１は、下式１により定義されうる。
Ｙ１ｉ１＝Ａ１Ｘ＋Ｂ１ｉ１      ・・・（１），
ただし、式１において、ＤＨＣＰサーバ２−ｉ１の優先順位をＢ１ｉ１とし、Ｘを、Ｙ１ｉ１≦Ｓ−１を与える０以上の整数とする。
【００５７】
図１９は、図１７に示した論理的リング１６−６に生じた障害を例示する第１の図である。
以下、図１９に示すように、論理的リング１６−６において、他のＤＨＣＰサーバ２から、ＤＨＣＰサーバ２−２への通信が不可能になった場合を具体例とする。
このような場合、マスタＤＨＣＰサーバ２−０は、既に述べたように、第６の論理的リング１６−６から、ＤＨＣＰサーバ２−０，２−１，２−３のみを含む第７の論理的リング１６−７を再構成する。
論理的リング１６−７においては、ＤＨＣＰサーバ２−０，２−１，２−３の優先順位Ａ２０〜Ａ２２は０〜２となる。
【００５８】
図２０は、図１９に示したＤＨＣＰサーバ２−０，２−１，２−３によるＶＳＳの再構成を例示する図である。
一方、ＤＨＣＰサーバ２−０，２−１，２−３は、ＤＨＣＰサーバ２−２が動作しているか否かを知ることができないので、図１８に示したように、ＤＨＣＰサーバ２−２に対応付けられたＶＳＳ＃２を用いずに、クライアントコンピュータ１０に対するＩＰアドレスの割り当てが可能なように、ＶＳおよびＶＳＳを再構成する必要がある。
このような必要を満たすために、ＤＨＣＰサーバ２−０，２−１，２−３は、図１８の左側および図２０の左側に示すように、ＤＨＣＰサーバ２−０およびＤＨＣＰサーバ２−０と通信可能なＤＨＣＰサーバ２−１，２−３に対応付けられた障害発生前のＶＳＳ＃０，＃１，＃３に含まれるＩＰアドレスを、図２０の中央に示すような態様で集め、障害発生後に再構成されるＤＨＣＰサーバ２−０，２−１，２−３を含む論理的リング１６のＶＳとする。
なお、このＶＳは、１次分割のＶＳである。
【００５９】
さらに、このように集められたＶＳＳ＃０，＃１，＃３に含まれるＩＰアドレスの集合、すなわち１次分割のＶＳを、図２０の右側に示すように、０次分割のＶＳから１次分割した時と同様な方法で２次分割し、障害後の新たなＶＳＳ＃０，＃１，＃３とすることにより、論理的リング１６−６におけるＶＳＳを、論理的リング１６−７におけるＶＳＳに再構成することができる。
ある論理的リング１６が、さらに複数の論理的リング１６に分割されるたびに、各論理的リング１６を構成するＤＨＣＰサーバ２に対応するＶＳＳに含まれるＩＰアドレスを集めてＶＳとし、さらに、そのＶＳを新たなＶＳＳに分割して再構成することにより、その論理的リング１６を構成するＤＨＣＰサーバ２それぞれに、新たなＶＳＳを対応付けることができる。
【００６０】
リングの再構成の後、論理的リング１６に含まれるＡ２台のＤＨＣＰサーバ２−０〜２−（Ａ２−１）それぞれに設定される２次分割の状態のＶＳＳ２＃ｉ２（ｉ＝０，２，・・・，Ａ２−１）の中のＩＰアドレスのインデックスＹ２ｉ２は、下式２に示すＢ１の総数をＧ１としたとき、Ｇ１本の数式により定義されうる。
Ｙ２ｉ２
＝Ａ１（Ａ２Ｘ＋Ｂ２ｉ２）＋Ｂ１ｊ１（０），
・
・
＝Ａ１（Ａ２Ｘ＋Ｂ２ｉ２）＋Ｂ１ｊ１（Ｂ１−２），および，
＝Ａ１（Ａ２Ｘ＋Ｂ２ｉ２）＋Ｂ１ｊ１（Ｂ１−１），      ・・・（２），
ただし、式２において、
ＤＨＣＰサーバ２−ｉ２の優先順位をＢ２ｉ２とし、
Ｘを、Ｙ２ｉ２≦Ｓ−１を与える０以上の整数とし、
ｊ１（０）〜ｊ１（Ｂ１−１）を、リングの再構成により得られた論理的リング１６に含まれることとなったＤＨＣＰサーバ２それぞれに、リングの再構成の前に与えられていた優先順位とし（ただし、リングの再構成の前に与えられていた優先順位を持たないＤＨＣＰサーバ２の優先順位は除外される）、
他の記号は式１と同様とする。
【００６１】
以上説明したＶＳＳの再構成を、さらに説明する。
図１８を参照して既に述べたように、論理的リング１６を構成する各ＤＨＣＰサーバ２が持つ初期値としてのスコープに一致するＶＳが、分割されていない状態を、０次分割のＶＳとする。
また、図１７および図１８を参照して既に述べたように、０次分割のＶＳに含まれるＩＰアドレスが、論理的リング１６を構成するＤＨＣＰサーバ２それぞれに対応するＶＳＳに分割されている状態を、１次分割のＶＳＳとする。
さらに、図１９および図２０を参照して既に述べたように、１次分割により得られたＶＳＳを集めてできたＶＳが、一部のＶＳＳを欠くことによって０次分割に戻らず（すなわち１次分割のまま）、さらに新たなＶＳＳに再構成された状態を２次分割のＶＳＳとする。
このように、ｎ−１回の論理的リング１６のＶＳの分割に伴って再構成されたＶＳＳを、ｎ次分割により得られたＶＳＳと定義することができ、以下、このＶＳを分割した回数ｎを、分割次数と定義する。
【００６２】
上述した式２は、さらに一般化することができ、リングの再構成の後、論理的リング１６に含まれるＡｎ台のＤＨＣＰサーバ２−１０〜２−（Ａｎ−１）それぞれに設定される、ｎ次分割の状態のＶＳＳｎ＃ｉｎ（ｉｎ＝０，１，２，・・・，Ａｎ−１）の中のＩＰアドレスのインデックスＹｎｉｎは、下式２に示すように、Ｂｎの総数をＧｎとしたとき、Ｇ０Ｇ１・・・Ｇｎ−１本の数式により、帰納的に定義されうる。
以下、分割次数ｎのＶＳＳにおける式の数Ｇ０Ｇ１・・・Ｇｎ−１をＦｎとする。
Ｙｎｉｎ
＝Ａｎ−１（ＡｎＸ＋Ｂｎｉｎ）＋Ｂｎ−１ｊｎ−１（０），
・
・
＝Ａｎ−１（ＡｎＸ＋Ｂｎｉｎ）＋Ｂｎ−１ｊｎ−１（Ｂｎ−１−２），および，
＝Ａｎ−１（ＡｎＸ＋Ｂｎｉｎ）＋Ｂｎ−１ｊｎ−１（Ｂｎ−１−１）      ・・・（３），
ただし、式３において、
ＤＨＣＰサーバ２−ｉｎの優先順位をＢｎｉｎとし、
Ｘを、Ｙｎｉｎ≦Ｓ−１を与える０以上の整数とし、
ｊｎ−１（０）〜ｊｎ−１（Ｂｎ−１−１）を、リングの再構成により得られた論理的リング１６に含まれることとなったＤＨＣＰサーバ２それぞれに、リングの再構成の前に与えられていた優先順位とする（ただし、リングの再構成の前に与えられていた優先順位を持たないＤＨＣＰサーバ２の優先順位は除外）。
【００６３】
このように、０次分割状態の論理的リング１６のＶＳから、ｎ−１次分割状態の論理的リング１６のＶＳ、そして論理的リング１６を構成する各ＤＨＣＰサーバ２の、ｎ次分割状態のＶＳＳに至るまでのＶＳＳの変化の履歴は、ＤＨＣＰサーバ２それぞれにおいて、式１〜式３に示したように、漸化式の形式で保存されうる。
障害の復旧などに伴って、再び１つの論理的リング１６が復元されるときに、復元後のＤＨＣＰサーバ２それぞれは、保存していた漸化式を逆にたどって、復元された論理的リング１６において用いていたＶＳＳを計算し、再び設定することができる。
【００６４】
［ＶＳＳの重複判定］
以上説明したように、ＤＨＣＰサーバ２それぞれに割り当てられたＶＳＳは、原理的には、論理的リング１６−１（図３）から再構成されたいかなる論理的リング１６においても重複しない。
従って、複数の論理的リング１６を１つの論理的リング１６に再構成するときに、ＶＳＳを合成しても、合成の対象となるＶＳＳに含まれるＩＰアドレスに重複が生じることはない。
しかしながら、何らかの処理上のエラーにより、複数のＶＳＳの間でＩＰアドレスの重複が生じてしまう可能性は０ではないので、このような重複の発生を判定し、重複を生じているＶＳＳのいずれかを、合成の対象から外すなどの手当をすることができれば、論理的リング１６の信頼性をさらに高めることができる。
【００６５】
ここで、下のような形式で表された式３は、
Ｙｎｉｎ
＝Ａｎ−１（ＡｎＸ＋Ｂｎｉｎ）＋Ｂｎ−１ｊｎ−１（０），
・
・
＝Ａｎ−１（ＡｎＸ＋Ｂｎｉｎ）＋Ｂｎ−１ｊｎ−１（Ｂｎ−１−２），および，
＝Ａｎ−１（ＡｎＸ＋Ｂｎｉｎ）＋Ｂｎ−１ｊｎ−１（Ｂｎ−１−１）      ・・・（３），
下式４のように簡略化した形式で表されうる。
Ｙｎｉｎ
＝ＣｎＸ＋Ｅｎｉｎ（０），
・
・
＝ＣｎＸ＋Ｅｎｉｎ（Ｆｎ−２），および，
＝ＣｎＸ＋Ｅｎｉｎ（Ｆｎ−１）      ・・・（４），
【００６６】
ここで、２つのＤＨＣＰサーバ２に設定されたＶＳＳに含まれるＩＰアドレスのインデックスＹｎｉ１ｎ，Ｙｎｉ２ｎを、下式５−１，５−２で表す。
Ｙｎｉ１ｎ
＝ＣｎＸ１＋Ｅｎｉ１ｎ（０），
・
・
＝ＣｎＸ１＋Ｅｎｉ１ｎ（Ｆｎ−２），または，
＝ＣｎＸ１＋Ｅｎｉ１ｎ（Ｆｎ−１）      ・・・（５−１），
Ｙｎｉ２ｎ
＝ＣｎＸ２＋Ｅｎｉ２ｎ（０），
・
・
＝ＣｎＸ２＋Ｅｎｉ２ｎ（Ｆｎ−２），または，
＝ＣｎＸ２＋Ｅｎｉ２ｎ（Ｆｎ−１）      ・・・（５−２），
但し、Ｘ１，Ｘ２は、Ｙｎｉ１ｎ，Ｙｎｉ２ｎ≦Ｓ−１を与える０以上の整数。
【００６７】
これら２つのＶＳＳが重複するときには、下式６が成り立つ。
Ｙｎｉ１ｎ＝Ｙｎｉ２ｎ      ・・・（６），
従って、これら２つのＶＳＳが重複するときには、下式７のいずれかが成り立つ。
ＣｎＸ１＋Ｅｎｉ１ｎ（０）
＝ＣｎＸ２＋Ｅｎｉ２ｎ（０），
・
・
＝ＣｎＸ２＋Ｅｎｉ２ｎ（Ｆｎ−２），または，
＝ＣｎＸ２＋Ｅｎｉ２ｎ（Ｆｎ−１），
または、
ＣｎＸ１＋Ｅｎｉ１ｎ（１）
＝ＣｎＸ２＋Ｅｎｉ２ｎ（０），
・
・
＝ＣｎＸ２＋Ｅｎｉ２ｎ（Ｆｎ−２），または，
＝ＣｎＸ２＋Ｅｎｉ２ｎ（Ｆｎ−１），
または、
・
・
・
ＣｎＸ１＋Ｅｎｉ１ｎ（Ｆｎ−１）
＝ＣｎＸ２＋Ｅｎｉ２ｎ（０），
・
・
＝ＣｎＸ２＋Ｅｎｉ２ｎ（Ｆｎ−２），または，
＝ＣｎＸ２＋Ｅｎｉ２ｎ（Ｆｎ−１），
・・・（６）
【００６８】
式６に含まれる各等式は、下式７の通りに簡略化して表されうる。
ａＸ１＋ｂ＝ｃＸ２＋ｄ      ・・・（７），
【００６９】
但し、式７において、
０≦ｂ＜ａ      ・・・（８），
０≦ｄ＜ｃ      ・・・（９），
０≦ａＸ１＋ｂ＜Ｓ、０≦ｃＸ２＋ｄ＜Ｓ      ・・・（１０），
【００７０】
式７を変形すると、下式１１が得られ、下式１１のａＸ１およびｃＸ２＋ｄ−ｂは、いずれもａの倍数となる。
ａＸ１＝ｃＸ２＋（ｄ−ｂ）      ・・・（１１），
【００７１】
従って、ｃＸ２および（ｄ−ｂ）の両方がａの倍数であるとき、つまり、下式１２が成り立つときと、ｃＸ２のａの剰余系と（ｄ−ｂ）のａの剰余系との和がａであるとき、つまり、下式１３が成り立つときに、これら２つのＶＳＳが重複する。
従って、下式１２，１３を、式６に含まれる各等式について実行することにより、２つのＶＳＳが重複するか否かを判定することができる。
ｃＸ２［ｍｏｄ］ａ＝０かつ（ｄ−ｂ）［ｍｏｄ］ａ＝０      ・・・（１２），または，
ｃＸ２［ｍｏｄ］ａ＋（ｄ−ｂ）［ｍｏｄ］ａ＝ａ      ・・・（１３），
【００７２】
ここで、下式１４，１５に示すように、Ａ，Ｂを定義すると、ａ−Ｂの値が、Ａの集合に含まれると、これら２つのＶＳＳに含まれるＩＰアドレスが重複すると判定できる。
Ａ＝ｃＸ２［ｍｏｄ］ａ      ・・・（１４），
Ｂ＝（ｄ−ｂ）［ｍｏｄ］ａ      ・・・（１５），
または、Ｂの値が０であって、ｃの値がａの倍数であるとき、ＶＳＳ１，ＶＳＳ２に含まれるＩＰアドレスが重複すると判定できる。
【００７３】
下式１６に、式１４，１５を代入すると、下式１７を得ることができる。
Ａ＝ａ−Ｂ      ・・・（１６），
ｃＸ２［ｍｏｄ］ａ＝ａ−（ｄ−ｂ）［ｍｏｄ］ａ      ・・・（１７），
【００７４】
式１７を満たすＸ２を求め、さらに、このＸ２が、式（９），（１１）を満たすとき、下式１８により、重複するＩＰアドレスのインデックスＹを得ることができる。
このような処理を、式６に示した各等式について行うことにより、２つのＶＳＳの間で重複するＩＰアドレス（ＩＰアドレスのインデックス）を求めることができる。
Ｙ＝ｃＸ２＋ｄ      ・・・（１８），
【００７５】
［あるＩＰアドレスのインデックス値がＶＳＳに含まれているか否かの判定］
以下、あるＩＰアドレスのインデックス値がＶＳＳに含まれているか否かの判定を説明する。
この判定は、ＩＰアドレス＃ｋのインデックス値ｋを用いて、このＩＰアドレスが、判定の対象となるＶＳＳに含まれているか否か、および、このＩＰアドレスが、クライアントコンピュータ１０に割り当てられ得るか否かを判定するために利用される。
判定対象となるＩＰアドレスのインデックス値Ｙは、上記式１１を満たさなければならず、また、インデックス値Ｙは、下式１９により表されるので、下式２０を満たせば、このＩＰアドレスのインデックス値は、判定対象のＶＳＳに含まれると判定することができる。
Ｙ＝ａＸ１＋ｂ      ・・・（１９），
（Ｙ−ｂ）［ｍｏｄ］ａ＝０      ・・・（２０），
【００７６】
以上説明した方法によると、各論理的リング１６の分割次数および漸化式の形式により保存された各ＤＨＣＰサーバ２のＶＳＳの変化の履歴に基づいて、
（ａ）ＶＳＳの再構成を容易に行うことができ、また、
（ｂ）ＶＳＳの分割と合成、
（ｃ）ＶＳＳの重複判定、および、
（ｄ）あるＩＰアドレスが、判定対象となるＶＳＳに含まれるか否かの判定
を、簡単な演算により容易に行うことができる。
従って、漸化式によりＶＳＳを定義し、ＤＨＣＰサーバ２の間の通知に用いるようにすると、ＶＳＳをテーブルの形式で定義する場合（図１２（Ａ））のように、ＤＨＣＰサーバ２の間でＶＳＳに含まれる全てのＩＰアドレスを伝送する必要がないので、論理的リング１６の再構成、および、ＶＳＳの分割および合成のときに、ＤＨＣＰサーバ２の間で伝送すべき情報量を少なくすることができる。
【００７７】
［ＩＰアドレス再割り当て代行］
以下、論理的リング１６に障害が発生したときのＩＰアドレス割り当ての代行処理を説明する。
図２１は、図１７に示した論理的リング１６−６に生じた障害を例示する第２の図である。
図２１に示すように、図１９に示した場合と同様に、論理的リング１６−６のＤＨＣＰサーバ２−２と、他のＤＨＣＰサーバ２−０，２−１，２−３との間の通信が不能となり、ＤＨＣＰサーバ２−０，２−１，２−３から、ＤＨＣＰサーバ２−２が正常に動作しているか否かなどの動作状態が不明となることがある。
このようなときには、例えば、リングの再構成により得られた論理的リング１６−７のマスタＤＨＣＰサーバ２−０が、ＤＨＣＰサーバ２−２の処理を代行するようにする。
ＤＨＣＰサーバ２−２との間で通信が不能となったクライアントコンピュータ１０が、ＩＰアドレスの割当期限がくる前に、ＤＨＣＰサーバ２−２に対して、ＩＰアドレスの再割り当てなどを行ったときに、マスタＤＨＣＰサーバ２−０が、ＤＨＣＰサーバ２−２を代行してＩＰアドレスの再割り当てを行うようにすると、このクライアントコンピュータ１０に対するＩＰアドレスの割り当ては途絶えず、通信の中断を防止することができる。
【００７８】
ここで、ＤＨＣＰサーバ２−０，２−２の間の通信が不能となっただけで、ＤＨＣＰサーバ２−２自体は、正常に処理を行いうる状態にあるときを考える。
このようなとき、リンクの再構成が生じた時点で、代行処理によりＤＨＣＰサーバ２−０がクライアントコンピュータ１０に割り当てていたＩＰアドレスを、その後もクライアントコンピュータ１０に再割り当てし続け、一方、ＤＨＣＰサーバ２−２は、クライアントコンピュータ１０からのＩＰアドレス再割り当て要求を受け取ることができず、割り当て期限をもってそのＩＰアドレスを開放する。
その後、ＤＨＣＰサーバ２−２が、ＤＨＣＰサーバ２−０とは別途、他のクライアントコンピュータ１０に、同じ（開放された）ＩＰアドレスを割り当てるようなことがあると、ＤＨＣＰサーバ２−０，２−２の間で、ＩＰアドレスの割り当て状態についての矛盾が生じることがある。
【００７９】
このような矛盾を解消させるためには、以下（１）〜（７）に説明するような手当をすることにより、論理的リング１６−７におけるＤＨＣＰサーバ２−２に対するＩＰアドレスの再割り当て要求などに応じて、ＤＨＣＰサーバ２−０が代行して処理を行えるようにすればよい。
（１）ＤＨＣＰサーバ２に、これまで説明したＤＨＣＰサーバとしての機能の他に、ＡＲＰ(Address Resolution Protocol)を実現するプロキシＡＲＰサーバの機能を付加する。
（２）リングの再構成後の新たな論理的リング１６のマスタＤＨＣＰサーバ２が、リングの再構成前の論理的リング１６には含まれながら、新たな論理的リング１６に含まれていないＤＨＣＰサーバ２のＩＰアドレスを、マスタＤＨＣＰサーバ２自身のＭＡＣアドレスに解決する「根拠のないＡＲＰリクエスト（「詳解ＴＣＰ／ＩＰ  Ｖｏｌ１．１  プロトコル；Ｗ．リチャードスティーヴンス著、橘康雄、井上尚司（邦訳）、ピアソンエデュケーション」における訳語による；gratuitous ARP request）」を、新たな論理的リング１６のスレーブＤＨＣＰサーバ２に対して行うようにする。
また、リングの再構成後、各DHCPサーバ２は、自分自身のIPアドレスを自分自身のMACアドレスに解決する「根拠のないARPリクエスト」を行うようにする。
【００８０】
（３）論理的リング１６−６において、ＤＨＣＰサーバ２−２と他のＤＨＣＰサーバ２−０，２−１，２−３との間の通信に障害が生じ、リングの再構成が発生したときに、論理的リング１６−７のマスタＤＨＣＰサーバ２−０は、図１２（Ｂ）に示したＶＳテーブルを参照することにより、リングの再構成が発生した時点で、クライアントコンピュータ１０に対してＩＰアドレスの割り当てを行っていた論理的リング１６−６のＤＨＣＰサーバ２の内、リングの再構成の後、論理的リング１６−７に含まれていないＤＨＣＰサーバ２（図２１に示した例においてはＤＨＣＰサーバ２−２）を求める。
（４）論理的リング１６−７のマスタＤＨＣＰサーバ２−０は、リングの再構成の時点で、クライアントコンピュータ１０にＩＰアドレスの割り当てを行っていながら、リングの再構成の後に論理的リング１６−７に含まれなくなったＤＨＣＰサーバ２−２のＩＰアドレスを、代理応答リストに記憶する。
【００８１】
（５）マスタＤＨＣＰサーバ２−０は、代理応答リストに含まれるＤＨＣＰサーバ２−２のＩＰアドレスを、ＤＨＣＰサーバ２−０のＭＡＣアドレスに解決するように、論理的リング１６−７の他のＤＨＣＰサーバ２（ＤＨＣＰサーバ２−１，２−３）に対して根拠のないＡＲＰリクエストを出し、論理的リング１６−７において、クライアントコンピュータ１０からＤＨＣＰサーバ２−２に対して出されたＩＰアドレスの再割り当て要求などを、マスタＤＨＣＰサーバ２−０が受けられるようにする。
（６）マスタＤＨＣＰサーバ２−０は、自らに出されたＩＰアドレスの再割り当て要求などの他に、ＤＨＣＰサーバ２−２に対して出されたＩＰアドレスの再割り当て要求などを受けて、ＤＨＣＰサーバ２−２の処理を代行する。
【００８２】
（７）ＤＨＣＰサーバ２−０〜２−３は、リング再構成が発生した以降、新たに割り当てられるすべてのＩＰアドレスについて、リング再構成が発生した時点のＶＳの分割次数（例えばｎ）とを対応付けて記憶する（図１２（Ｂ））。ＶＳの分割次数は、論理的リング１６の分割回数に一致する。
また、対応付けられて、記憶されているＶＳ分割次数が、リング再構成が発生した時点のＶＳの分割次数よりも大きいＩＰアドレスについて、対応付けられているＶＳの分割次数を、リング再構成が発生した時点のＶＳの分割次数に再設定する。
ＤＨＣＰサーバ２−０，２−２は、リング再構成が発生した時点ですでにＤＨＣＰサーバ２−２があるクライアントコンピュータ１０に割り当てていたＩＰアドレスについて、たとえ割り当て期限が過ぎても、障害が復旧して、あるいは、管理者によりネットワークシステム１が初期状態に戻されて、論理的リング１６のＶＳの分割次数が、ＩＰアドレスとともに記憶されているＶＳの分割次数以下になるまで、再利用して他のクライアントコンピュータ１０に割り当てない。
このようにすると、ＤＨＣＰサーバ２−２と他のＤＨＣＰサーバ２−０，２−１，２−３との間でＩＰアドレスの割り当て状況に矛盾が生じ得ない。
【００８３】
なお、ＶＳの分割次数は、以下のように扱われる。
（ｉ）ＩＰアドレスとともに記録される分割次数として、ＩＰアドレス割り当て時に、その時点での論理的リング１６のＶＳの分割次数が記録される。
（ii）ＩＰアドレスとともに記録される分割次数が、リング再構成時に、その時点の論理的リング１６のＶＳの分割次数より大きい場合に、論理的リング１６のＶＳの分割次数で上書きされる。
（iii）ＩＰアドレスは、割り当て期限が過ぎた後も、その時点の論理的リング１６のＶＳの分割次数が、それとともに記録されているＶＳの分割次数以下にならなければ割り当てられない。
このようにＶＳの分割次数を扱うことにより、０次分割を特殊とみなさなくても、ＩＰアドレスの再割り当て代行処理が行えるようになる。
【００８４】
図２２は、図２１に示した論理的リング１６−７のＤＨＣＰサーバ２が、論理的リング１６−７から外れたＤＨＣＰサーバ２−２の機能を代行する処理（Ｓ３０）を示すフローチャートである。
図２３は、図２２に示した代行処理におけるＶＳテーブルの分割次数へのデータの設定を示す図である。
論理的リング１６において、論理的リング１６−６のＤＨＣＰサーバ２それぞれは、図２２に示すように、何らかの事象（ＶＳテーブルの分割次数のクリア、ＩＰアドレス割り当て要求、ＩＰアドレス再割り当て要求、障害の発生および障害の復旧など）が生じると、ステップ３００（Ｓ３００）において、ＤＨＣＰサーバ２は、発生した事象が、ネットワークシステム１の管理者によるＶＳテーブル（図１２（Ｂ））の分割次数をクリアして、論理的リング１６に何らの障害が発生していないことを示す初期データ（Ｄｏｎ’ｔ  Ｃａｒｅ；図２３に示したインデックス＃（Ａ＋１）のエントリを参照）を設定する指示であるか否かを判断する。
事象がＶＳテーブルのクリアの指示であるときには、ＤＨＣＰサーバ２はＳ３１２の処理に進み、これ以外のときにはＳ３０２の処理に進む。
【００８５】
ステップ３０２（Ｓ３０２）において、論理的リング１６−６のＤＨＣＰサーバ２は、事象が障害の発生か、障害の復旧か、あるいは、クライアントコンピュータ１０からのＩＰアドレスの再割り当て要求／割り当て要求などであるか判断する。
論理的リング１６−６のＤＨＣＰサーバ２は、事象が障害の発生を示すときにはＳ３２０の処理に進み、障害の復旧を示すときにはＳ３１０の処理に進み、これら以外のときにはＳ３３０の処理に進む。
ステップ３１０（Ｓ３１０）において、論理的リング１６−６のＤＨＣＰサーバ２は、それ以前に発生した障害に起因するリングの再構成により生じた複数の論理的リング１６を併合する。
さらに、論理的リング１６−６のＤＨＣＰサーバ２は、式１〜式３を参照して説明した漸化式を用いて、これら複数の論理的リング１６のＤＨＣＰサーバ２それぞれに対応付けられたＶＳＳを合わせて新たなＶＳを作成し、さらに、新たなＶＳを各ＤＨＣＰサーバ２に分割して対応付け、リングの再構成を行う。
【００８６】
ステップ３１２（Ｓ３１２）において、論理的リング１６−６のＤＨＣＰサーバ２は、ＶＳテーブルの全てのエントリの分割次数に、初期データを設定する。
ステップ３２０（Ｓ３２０）において、論理的リング１６−６のＤＨＣＰサーバ２は、リングの再構成およびＶＳＳの再構成のための処理を行う。
ステップ３２２（Ｓ３２２）において、ＤＨＣＰサーバ２−０〜２−３は、ＶＳテーブルを参照し、リングの再構成の前に（論理的リング１６-６の時に）クライアントコンピュータ１０に対して割り当てていて、割り当て期限が切れていないＩＰアドレスのエントリについて、リングの再構成が発生した時点の分割次数よりも大きい分割次数をもつものについて、リングの再構成が発生した時点の分割次数（論理的リング１６−７の分割次数）を設定する（図２３に示したインデックス＃Ａのエントリを参照）。
また、Ｓ３２２において、ＤＨＣＰサーバ２は、自身のＩＰアドレスを自身のＭＡＣアドレスに解決する「根拠のないＡＲＰリクエスト」を発行する。
【００８７】
ステップ３２４（Ｓ３２４）において、論理的リング１６−７のＤＨＣＰサーバ２は、ＤＨＣＰサーバ２−２のＩＰアドレスの再割り当てを代行する必要があるか否かを判断する。
論理的リング１６−７のいずれのＤＨＣＰサーバ２が、ＤＨＣＰサーバ２−２の代行処理を行うかは、例えば、各ＤＨＣＰサーバ２に対する事前の設定、あるいは、新たな論理的リング１６のマスタＤＨＣＰサーバ２が代行するという規則に従って選択される（ここでは、ＤＨＣＰサーバ２−０が代行する場合が具体例とされている）。
ＤＨＣＰサーバ２−２の代行をする必要がないときには、論理的リング１６−７のＤＨＣＰサーバ２は処理を終了し、これ以外のときにはＳ３２６の処理に進む。
ステップ３２６（Ｓ３２６）において、論理的リング１６−７のＤＨＣＰサーバ２は、論理的リング１６−７の他のＤＨＣＰサーバ２、およびクライアントコンピュータ１０に対して、根拠のないＡＲＰリクエストを送信し、ＤＨＣＰサーバ２−２の代わりに、ＤＨＣＰサーバ２−２に対するＩＰアドレスの再割り当て要求を受け取ることができるようにする。
ＤＨＣＰサーバ２−２の代行をする必要がないときには、論理的リング１６−７のＤＨ    
【００８８】
ステップ３３０（Ｓ３３０）において、ＤＨＣＰサーバ２−０〜２−３は、自らに対するＩＰアドレスの再割り当て要求を処理し、ＤＨＣＰサーバ２−０，２−１，２−３は、自らに対するＩＰアドレスの割り当て要求を処理する。
さらに、ＤＨＣＰサーバ２−０、２−２は、ＤＨＣＰサーバ２−２に対するＩＰアドレスの割り当て要求および再割り当て要求を処理する。
但し、ＤＨＣＰサーバ２−０は、新たなＩＰアドレスの割り当て要求が生じたときには、ＤＨＣＰサーバ２−０が参加している論理的リング１６のＶＳにあって、ＶＳテーブルにはまだ登録されていないか、ＶＳテーブル内にあって、割り当て期限が切れており、分割次数として、リング再構成が発生した時点のＶＳの分割次数以上のものからＩＰアドレスを選択し、要求したクライアントコンピュータ１０に割り当てる。
同様に、ＤＨＣＰサーバ２−２が、新たにＩＰアドレスを割り当てるときには、ＤＨＣＰサーバ２−２が参加している論理的リング１６のＶＳにあって、ＶＳテーブルにはまだ登録されていないか、ＶＳテーブル内にあって、割り当て期限が切れており、分割次数として、リング再構成が発生した時点の分割次数以上のものからＩＰアドレスを選択し、要求したクライアントコンピュータ１０に割り当てる（但し、これは、分割次数が、障害発生の回数から障害復旧の回数を減算した値である場合。分割次数が、障害復旧の回数から障害発生の回数を減算した値である場合には、ＶＳテーブル中の分割次数と、割り当て時の論理的リング１６の分割次数とにより定義される条件は、これとは逆になる）。
【００８９】
図２４は、図２１に示した論理的リング１６−７のＤＨＣＰサーバ２が、論理的リング１６−７から外れたＤＨＣＰサーバ２−２の機能を代行する処理（Ｓ３４）を例示する第１の通信シーケンス図である。
図２４に示すように、ステップ３４０（Ｓ３４０）において、論理的リング１６−６のＤＨＣＰサーバ２−２が、あるクライアントコンピュータ１０に対してＩＰアドレスＡを割り当て、ＶＳの分割次数ｎとともにＶＳテーブルに記憶する。
ステップ３４２，３４４（Ｓ３４２，Ｓ３４４）において、リングの再構成およびＶＳＳの再構成が発生し、ＤＨＣＰサーバ２−２が、論理的リング１６−７から外れる。
このとき、論理的リング１６−７およびＤＨＣＰサーバ２−２のＶＳの分割次数は、ｎからｎ＋１に増加するが、リングの再構成が生じた後も、ＤＨＣＰサーバ２−２が、クライアントコンピュータ１０に割り当てていたＩＰアドレスAの分割次数（図１２（Ｂ），図２３）は、ｎのままとなる。
【００９０】
ステップ３４６（Ｓ３４６）において、ＤＨＣＰサーバ２−０は、論理的リング１６−７内の他のＤＨＣＰサーバ２およびクライアントコンピュータ１０に対して、根拠のないＡＲＰリクエストを出し、論理的リング１６−７において、ＤＨＣＰサーバ２−２のＩＰアドレスの再割り当てを代行可能とする。
ステップ３５０（Ｓ３５０）において、クライアントコンピュータ１０が、ＤＨＣＰサーバ２−２に対して、ＩＰアドレスＡの再割り当てを要求するが、この要求は、ＤＨＣＰサーバ２−０にのみ受信され、破線で示すように、ＤＨＣＰサーバ２−２には受信されない。
ステップ３５２（Ｓ３５２）において、ＤＨＣＰサーバ２−０は、ＤＨＣＰサーバ２−２の代わりに、ＩＰアドレスＡを再割り当てする。
このとき、ＤＨＣＰサーバ２−２がクライアントコンピュータ１０にＩＰアドレスＡを割り当てる期間が超過し、ＤＨＣＰサーバ２−２において、ＩＰアドレスＡは、いずれのクライアントコンピュータ１０にも割り当てられていない状態となる。
【００９１】
ステップ３６２（Ｓ３６２）において、あるクライアントコンピュータ１０が、ＤＨＣＰサーバ２−２に対して、ＩＰアドレスの割り当てを要求する。
ステップ３６４（Ｓ３６４）において、ＤＨＣＰサーバ２−２は、自らが参加する論理的リング１６のＶＳに含まれる未使用ＩＰアドレスの内、ＩＰアドレスＡについては、ＶＳの分割次数ｎ＋１がＩＰアドレスＡとともに記憶されている分割次数ｎを上回るため使用できない。よってＤＨＣＰサーバ２−２が参加している論理的リング１６のＶＳにあって、ＶＳテーブルにはまだ登録されていないか、ＶＳテーブル内にあって、割り当て期限が切れており、分割次数がｎ＋１以上のものからＩＰアドレスを選択し、新規にＩＰアドレスの割り当てを要求したクライアントコンピュータ１０に割り当てる。
【００９２】
ステップ３７０（Ｓ３７０）において、論理的リング１６−６において発生していた障害がさらに復旧し、論理的リング１６−６と他の論理的リング１６（図示せず）とが併合され、ＶＳＳの再構成が行われる。
さらに、併合後の論理的リング１６のＶＳの分割次数がｎに戻る。
また、ＤＨＣＰサーバ２−０による代行によって、ＩＰアドレスの再割り当てが行われていた旨は、同期処理によって、ＤＨＣＰサーバ２−２にも伝わる。
ＤＨＣＰ２−２は、自身のＩＰアドレスを自身のＭＡＣアドレスに解決する、根拠のないＡＲＰリクエストを送信し、ＩＰアドレスＡを使用中のクライアントコンピュータ１０からのＩＰアドレス再割り当て要求を自らが受信できるようにする。
論理的リング１６の併合が生じた後、ＤＨＣＰサーバ２−２は、ＩＰアドレスＡを開放したままとせず、同期処理により使用中とする。
ステップ３７２（Ｓ３７２）において、ＩＰアドレスＡを使用中のクライアントコンピュータ１０が、ＤＨＣＰサーバ２−２に対してＩＰアドレスの割り当て要求を出す。
ステップ３７４（Ｓ３７４）において、ＤＨＣＰサーバ２−２は、ＩＰアドレスＡの再割り当て要求を受け入れ、処理する。
【００９３】
図２５は、図２１に示した論理的リング１６−７のＤＨＣＰサーバ２が、論理的リング１６−７から外れたＤＨＣＰサーバ２−２の機能を代行する処理（Ｓ３８）を例示する第２の通信シーケンス図である。
図２５に示すように、Ｓ３４０〜Ｓ３５２において、各ＤＨＣＰサーバ２は、図２４において同じ符号が付されている処理を行う。
ステップ３８０（Ｓ３８０）において、あるクライアントコンピュータ１０が、ＤＨＣＰサーバ２−０に対して、新規にＩＰアドレスの割り当てを要求する。
ステップ３８２（Ｓ３８２）において、ＤＨＣＰサーバ２−０は、自らが参加している論理的リング１６のＶＳにあって、ＶＳテーブルにはまだ登録されていないか、ＶＳテーブル内にあって、割り当て期限が切れており、分割次数として、リング再構成が発生した時点のＶＳの分割次数以上のものからＩＰアドレスを選択し、ＩＰアドレスの割り当てを要求したクライアントコンピュータ１０に割り当てる。
Ｓ３７０〜Ｓ３７４において、各ＤＨＣＰサーバ２は、図２４において同じ符号が付されている処理を行う。
【００９４】
［ＤＨＣＰサーバプログラム２０］
以下、ＤＨＣＰサーバプログラム２０を説明する。
図２６は、図１に示したＤＨＣＰサーバ２において実行され、図３〜図２０に示した処理を実行するＤＨＣＰサーバプログラム２０の構成を示す図である。
図２６に示すように、ＤＨＣＰサーバプログラム２０は、通信処理部２００、ＤＨＣＰ処理部２０２、プロキシＡＲＰ処理部２０４およびリング制御プログラム２２から構成される。
【００９５】
リング制御プログラム２２は、リング管理部２２０、リングアップデート部２２２、リングメッセージ受信部２２４、アドレス割り当て部２２６、割り当てメッセージ受信部２２８、ＶＳＳメッセージ受信部２３０、アドレス割り当て部２３２、ＶＳＳ管理部２４０、ＶＳＳ分割部２４２、ＶＳＳ重複判定部２４４、ＶＳＳデータベース（ＶＳＳ−ＤＢ）２４６、所属ＶＳＳ判定部２４８およびＡＲＰリクエスト処理部２５０から構成される。
ＤＨＣＰサーバプログラム２０は、例えば、記録媒体１１４（図２）を介してＤＨＣＰサーバ２に供給され、ＤＨＣＰサーバ２にインストールされたＯＳ上で、ＤＨＣＰサーバ２のハードウエアを具体的に利用して実行される。
ＤＨＣＰサーバプログラム２０は、これらの構成部分により、図３〜図２５を参照して説明した処理を実現する。
【００９６】
ＤＨＣＰサーバプログラム２０において、通信処理部２００は、ＤＨＣＰサーバ２それぞれにおいて、他のノードとの通信に必要な処理を行う。
ＤＨＣＰ処理部２０２は、後述するように、アドレス割り当て部２２６と連携して動作し、そのＤＨＣＰサーバ２に割り当てられたＶＳＳ（図１２（Ａ），式１〜３）に含まれるＩＰアドレスの内、図２１〜図２５を参照して説明したＩＰアドレス再割り当て代行が行われている際に割り当てを禁止されたＩＰアドレス以外を用いて、ＤＨＣＰに従って、クライアントコンピュータ１０に対するＩＰアドレスの割り当てを行う。
プロキシＡＲＰ処理部２０４は、ＡＲＰの機能を提供し、さらに、ＡＲＰリクエスト処理部２５０の制御に従って、図２１〜図２５を参照して説明した根拠のないＡＲＰリクエストの送信を行う。
【００９７】
ＤＨＣＰサーバプログラム２０において、リング制御プログラム２２は、図３〜図２５を参照して説明した論理的リング１６の形成およびその再構成、ＶＳＳの再構成、ＩＰアドレスの再割り当ての代行のための処理を行う。
【００９８】
［リング管理部２２０，リング試験部２２２］
リング管理部２２０およびリングアップデート部２２２は、論理的リング１６に参加しているＤＨＣＰサーバ２のＩＰアドレスおよび識別子（サーバＩＤ(node_id)）の組のリスト（ネットワークシステム１（図１）に接続されているＤＨＣＰサーバ２の内、そのＤＨＣＰサーバ２と同じリングＩＤが付されているものの集合）を用いて処理を行う。
この論理的リング１６に参加しているＤＨＣＰサーバ２のＩＰアドレスおよび識別子（サーバＩＤ）の組のリストは、テーブル形式でリング管理部２２０に記憶される。
以下、このテーブルを、リングメンバーテーブルと記す。
【００９９】
また、リング管理部２２０およびリング試験部２２２は、以下のタイマを用いる。
タイマassociation_timer：論理的リング１６に参加するＤＨＣＰサーバ２からの応答の制限時間を計るためのタイマ（図１１など），
タイマring_update_timer：論理的リング１６を維持するためのリングアップデートを最後に受信してからの時間を計るためのタイマ，
タイマperiodic_timer：
リングアップデートを行う間隔を図るためのタイマ，
【０１００】
図２７は、図２６に示したリング管理部２２０およびリングアップデート部２２２の処理のために、ＤＨＣＰサーバ２の間で伝送されるリングメッセージを示す図である。
図２７に示すように、リング管理部２２０およびリングアップデート部２２２が処理するリングメッセージは、
このメッセージを送信するＤＨＣＰサーバ２が属する論理的リング１６（図３など）のリングＩＤ、
このメッセージを送信するＤＨＣＰサーバ２のＩＰアドレス、および、
以下のフラグを含むフラグ群
フラグC/U：真(True)のときリングの形成・再構成、偽(False)のときリングアップデート
フラグA：１のとき、リング管理部２２０は、形成済み状態Ｄ１、
フラグD：１のとき、サーバＩＤ(node_id)が重複
を含む。
【０１０１】
また、リング管理部２２０およびリングアップデート部２２２は、以下の変数を用いる。
変数IARM：そのＤＨＣＰサーバ２が、マスタＤＨＣＰサーバ２であるとき真，
変数ASSOC：リングが形成済である間、真の値を取る，
変数RBRK：リングを再構成する必要があるとき、真の値を取る，
変数NNODE：冗長構成に含まれうる最大のＤＨＣＰサーバ２の数（ネットワークシステム１に含まれるＤＨＣＰサーバ２の数），
【０１０２】
［リング管理部２２０の状態遷移］
図２８は、図２６に示したリング管理部２２０の状態遷移図である。
図２８に示すように、各ＤＨＣＰサーバ２において、リング管理部２２０は、未形成(NOT ASSOCIATED)状態Ａ１、形成中(ASSOCIATING)状態Ｂ１、仮スレーブ(TENTATIVE SLAVE)状態Ｃ１、形成済み(ASSOCIATED)状態Ｄ１、孤立(ISOLATED)状態Ｅ１および仮マスタ(TENTATIVE MASTER)状態Ｆ１のいずれかの状態をとりうる。
【０１０３】
未形成状態Ａ１は、そのＤＨＣＰサーバ２が、論理的リング１６に加わっていない状態である。
形成状態Ｂ１は、そのＤＨＣＰサーバ２が、論理的リング１６０の形成・再構成のためのリングメッセージを交換して論理的リング１６を形成・再構成している状態である。
【０１０４】
仮スレーブ状態Ｃ１は、そのＤＨＣＰサーバ２が、スレーブＤＨＣＰサーバ２として、次のＤＨＣＰサーバ２に接続する状態である。
形成済状態Ｄ１は、論理的リング１６が形成された状態である。
孤立状態Ｅ１は、そのＤＨＣＰサーバ２が単独で動作している状態であり、孤立状態Ｅ１にあるＤＨＣＰサーバ２は、論理的リング１６には参加できない。
仮マスタ状態Ｆ１は、そのＤＨＣＰサーバ２が、試験的にマスタＤＨＣＰサーバ２に昇格する状態である。
【０１０５】
処理が開始されると、リング管理部２２０は、未形成状態Ａ１となる。
未形成状態Ａ１において、リング管理部２２０は、変数ASSOC、変数IARMおよび変数RBRKをそれぞれ偽に設定する。
そのＤＨＣＰサーバ２が、前回、論理的リング１６を構成しているときには、リング管理部２２０は、論理的リング１６を切るために、リング上の次のＤＨＣＰサーバ２へのコネクションを切断する。
また、リング構成メッセージ（図２７に示したリングメッセージにおいて、C/Uフラグが１のメッセージ）を送信する。
【０１０６】
未形成状態Ａ１において、リング管理部２２０は、無条件に、形成中状態Ｂ１に移行する（ａ１）。
【０１０７】
形成中状態Ｂ１に移行すると、リング管理部２２０は、
タイマassociation_timerの計数を開始させ、他のノードからの同一のリングIDを持つリング構成メッセージの受信を待ち（これは、図１１に示したＳ２００−１〜Ｓ２００−の処理に対応）、
リングメンバーテーブルにない他のＤＨＣＰサーバ２から、同じリングＩＤを含むリング構成メッセージを受信すると、リングメンバーテーブルにそのノードを登録し、同時に、タイマassociation_timerの計数をリセットして再開し（ｄ１）、
また、自分が発行したものではない、自分と同一のリングIDおよびＩＰアドレスを含むリング構成メッセージを受信すると、孤立状態Ｅ１に移行し（ｃ１）、
タイマassociation_timerが満了(expire)するまでに、リングメンバーテーブルにない他のノードからの同一リングIDを持つリング構成メッセージが受信されなければ、仮スレーブ状態Ｃ１に移行する（ｂ１）。
【０１０８】
仮スレーブ状態Ｃ１に移行すると、リング管理部２２０は、形成中状態Ｂ１において作成された、リングメンバーテーブルを参照し、自分の次に高い優先順位が設定されているＤＨＣＰサーバ２（但し、最低の優先順位が設定されたＤＨＣＰサーバ２は、最高の優先順位が設定されたＤＨＣＰサーバ２）に対して、ＴＣＰ(Transmission Control Protocol)によって接続を行う。
仮スレーブ状態Ｃ１において、リング管理部２２０は、
リングメンバーテーブルにない他のＤＨＣＰサーバ２から、同一のリングＩＤを含むリング構成メッセージを受信すると、未形成状態Ａ１に移行し（ｆ１）、
変数ASSOCが真(TRUE)となる条件で、形成済状態Ｄ１に移行し（ｇ１）、
リングメンバーテーブルを参照して、自分のＤＨＣＰサーバ２の優先順位が最高となる条件で、仮マスタ状態Ｆ１（ｉ１）に移行する。
【０１０９】
形成済状態Ｄ１に移行すると、リング管理部２２０は、タイマring_update_timeの計数を開始させ、リングアップデートメッセージ（図２７に示したリングメッセージにおいて、C/Uフラグが０のメッセージ）の受信を待つ。
リング管理部２２０は、タイマring_update_timeの計数が満了する前に、リングアップデートメッセージが受信されれば、形成済状態Ｄ１に留まり（ｈ１）、タイマring_update_timeの計数が満了するか、または変数RBRKが真となると、未形成状態Ａ１に移行する（ｊ１）。
【０１１０】
孤立状態Ｅ１において、リング管理部２２０は、リセットされると（リング管理部２２０が再起動されると）、未形成状態Ａ１に移行する（ｅ１）。
【０１１１】
仮マスタ状態Ｆ１において、リング管理部２２０は、変数IARMを真に設定し、
リングメンバーテーブルにない他のノードから、リングIDが同一のリング構成メッセージを受信する条件で、未形成状態Ａ１に移行し（ｋ１）、
変数ASSOCが真(TRUE)となる条件で、形成済状態Ｄ１に移行する（ｌ１）。
【０１１２】
［リング試験部２２２の状態遷移］
図２９は、図２６に示したリング試験部２２２の状態遷移図である。
リング試験部２２２は、図６などに示したリングアップデートを定期的に行う。
リング試験部２２２は、以下のリングアップデートのためのリングアップデートメッセージを作成し、送信部２３２のリング送信キューに入れる。
処理を開始すると、リング試験部２２２は、初期化(INIT)状態Ａ２をとる。
初期化状態Ａ２において、リング試験部２２２は、タイマperiodic_timerを停止させる。
初期化状態Ａ２において、リング試験部２２２は、リング管理部２２０が仮マスタ状態F1に遷移したことを示す変数IARMが真になる条件で、送信(TRANSMITTING)状態Ｂ２に移行する（ａ２）。
【０１１３】
送信状態Ｂ２において、リング試験部２２２は、リングアップデートメッセージを作成し、送信部２３２のリング送信キューに入れ、変数IARMが真となる条件で、待ち(WAITING)状態Ｃ２に移行する（ｂ２）。
待ち状態Ｃ２において、リング試験部２２２は、タイマperiodic_timerの計数を開始させる。
リング試験部２２２は、待ち状態Ｃ２において、含まれるＩＰアドレスが自己のＩＰアドレスと同一のリングアップデートメッセージが受信された条件で、形成中状態Ｄ２に移行し（ｃ２）、
変数IARMが偽となる条件で、初期化状態Ａ２に移行し（ｄ２）、
タイマperiodic_timerが満了すると、送信状態Ｃ２に移行する（ｅ２）。
【０１１４】
形成中状態Ｄ２において、リング試験部２２２は、変数ASSOCを真とする。
リング試験部２２２は、形成中状態Ｄ２において、無条件に、リング試験部２２２は、送信状態Ｂ２に移行する（ｆ２）。
【０１１５】
［リングメッセージ受信部２２４］
図３０は、図２６に示したリングメッセージ受信部２２４の状態遷移図である。
リングメッセージ受信部２２４は、リングメッセージを受信して処理を行う。
【０１１６】
処理が開始されると、リングメッセージ受信部２２４は、待ち状態Ａ３をとる。
待ち状態Ａ３において、リングメッセージ受信部２２４は、リングメッセージを受信すると、受信(RECEIVING)状態Ｂ３に移行する（ａ３）。
【０１１７】
受信状態Ｂ３において、リングメッセージ受信部２２４は、
リングアップデートメッセージを受信したときには、更新中(UPDATING)状態Ｃ３に移行し（ｃ３）、
含まれるリングＩＤが、そのＤＨＣＰサーバ２のリングＩＤと同一で、かつ、リングメンバーテーブルに存在しないＤＨＣＰサーバ２のＩＰアドレスを含むリング構成メッセージを受信したとき、変数ASSOCが真である条件で、分割(BREAKUP)状態Ｅ３に移行し（ｄ３）、
含まれるリングＩＤが、そのＤＨＣＰサーバ２のリングＩＤと同一で、かつ、リングメンバーテーブルに存在しないＤＨＣＰサーバ２のＩＰアドレスを含むリング構成メッセージを受信したとき、変数ASSOCが偽となる条件で、構成中(CONFIGURING)状態Ｆ３に移行し（ｅ３）、
上記以外の条件で、待ち状態Ａ３に移行する（ｂ３）。
【０１１８】
更新中状態Ｃ３において、リングメッセージ受信部２２４は、受信したリングアップデートメッセージをリング送信部２３２のリング送信キューに入れる。
更新中状態Ｃ３において、リングメッセージ受信部２２４は、
フラグＡの値が１のリングアップデートメッセージを受信したとき、形成中状態Ｄ３に移行し（ｇ３）、
その他のときには待ち状態Ａ３に移行する（ｆ３）。
【０１１９】
形成中状態Ｄ３において、リングメッセージ受信部２２４は、変数ASSOCの値を真とする。
形成中状態Ｄ３において、リングメッセージ受信部２２４は、無条件に、待ち状態Ａ３に移行する（ｈ３）。
【０１２０】
分割中状態Ｅ３において、リングメッセージ受信部２２４は、変数RBRKの値を真とする。
分割中状態Ｅ３において、リングメッセージ受信部２２４は、無条件に、構成中状態Ｆ３に移行する（ｊ３）。
【０１２１】
構成中状態Ｆ３において、リングメッセージ受信部２２４は、変数RCRCVの値を真とし、リングメンバーテーブルに、受信したリング構成メッセージに含まれるＩＰアドレスを登録する。
構成中状態Ｆ３において、リングメッセージ受信部２２４は、無条件に、待ち状態Ａ３に移行する（ｉ３）。
【０１２２】
リングメッセージ受信部２２４は、以下の規則に従って、論理的リング１６の形成・再構成を行う。
（１）各論理的リング１６にはリングＩＤが付され、同一リングＩＤが付されたＤＨＣＰサーバ２同士が、論理的リング１６を形成する。
（２）ＤＨＣＰサーバ２は、自らが送信した信号が戻ってくるまで、情報をコミット(commit)できない。
（３）ＤＨＣＰサーバ２は、自らが送信した情報が自分に戻ってくるまでに、他のＤＨＣＰサーバ２から送信された同一の情報を受信したときには、
ａ）ＤＨＣＰサーバ２は、自らの優先度が、他のＤＨＣＰサーバ２の優先度よりも高いときには、他のＤＨＣＰサーバ２への情報の中継をしない。
ｂ）ＤＨＣＰサーバ２は、自らの優先度が、他のＤＨＣＰサーバ２よりも低いときには、他のＤＨＣＰサーバ２の情報を転送し、自分が発行した情報をコミットできない。
（４）ＤＨＣＰサーバ２は、自らが送信した情報が、制限時間内に返ってこないときには、その情報をコミットできない。
（５）タイマring_update_timerが満了した（時間切れになった）ら、ＤＨＣＰサーバ２は、リング構成信号をブロードキャストし、論理的リング１６の再構成を行う。
（６）論理的リング１６のマスタＤＨＣＰサーバ２（論理的リング１６内で最小のサーバＩＤが付されたＤＨＣＰサーバ２）は、
タイマring_update_timerが時間切れになる前に、リングアップデート信号を論理的リング１６に送出して、論理的リング１６を維持する。
【０１２３】
［アドレス割り当て部２２６］
アドレス割り当て部２２６は、リング管理部２２０およびＤＨＣＰ処理部２０２と協調して動作する。
スコープは、仮想スコープ(Virtual Scope)として論理的リング１６内で共有される。
仮想スコープは、論理的リング１６内の各ＤＨＣＰサーバ２の間で重複が生じないように分割されてＶＳＳとされ、各ＤＨＣＰサーバ２に対応付けられる。
【０１２４】
スコープ・ＶＳＳのテーブルのエントリは、以下の各項目を含む。
ＩＰアドレスを割り当てたＤＨＣＰサーバ２のＩＰアドレス、
フラグ：
Ｓ：同期がとれているエントリは１、
Ｐ：割り当て（リース）を行うために同期中のエントリは１、
ＩＰアドレス、
ＭＡＣアドレス、
割り当て（リース）期限。
【０１２５】
図３１は、アドレス割り当て部２２６が処理に用いる割り当てメッセージ（リースメッセージ）を示す図であって、（Ａ）は、割り当てメッセージ全体を示し、（Ｂ）は、（Ａ）に示した割り当て情報を示し、（Ｃ）は、ＶＳＳメッセージを示す。
図３１（Ａ）に示すように、割り当てメッセージは、フラグ群と、送信者と、サーバと、割り当て情報とを含む。
割り当てメッセージのフラグ群は、フラグDとフラグQ/Rとを含み、フラグDは真のときに、図１４に示した不使用を示し、フラグQ/Rは、真のときに問い合わせ（図１３，図１４）を示し、偽のときに応答を示す。
送信者は、このメッセージを送信したＤＨＣＰサーバ２のＩＰアドレスを示し、サーバは、このメッセージによって同期を取ろうとしている、クライアント１０のＩＰアドレスを割り当てたＤＨＣＰサーバ２のＩＰアドレスを示す。
【０１２６】
また、図３１（Ｂ）に示すように、割り当て情報は、ＩＰアドレスと、ＭＡＣアドレスと、割り当て期限（リース期限）とを含む。
また、図３１（Ｃ）に示すように、ＶＳＳメッセージは、フラグDUPと、送信者と、ＶＳＳ情報とを含む。
ＶＳＳメッセージにおいて、
フラグDUPの値は、ＶＳＳが重複しているときに１となり、
送信者は、このＶＳＳメッセージを送信したＤＨＣＰサーバ２のＩＰアドレスを示し、
ＶＳＳ情報は、図１８に示したような論理的リング１６内で共有されるＶＳ（仮想スコープ）を分割して得られるＶＳＳを示し、例えば、式１に示したＶＳＳの分割次数１と、係数Ａ１，Ｂ１ｉ１を対応付けて得られる。
ＶＳＳ情報は、０回以上繰り返される。
【０１２７】
アドレス割り当て部２２６は、以下の変数を用いる。
変数NDESYNC：スコープ・図１２（Ｂ）に示したＶＳテーブル中のフラグSの値が０のエントリ数、
変数DHREQRCV：ＤＨＣＰサーバプログラム２０２が、クライアントコンピュータ１０からの割り当て要求に対して応答するときに値が真となる。
変数VSIMP：合成のためにＶＳＳがインポートされたときに値が真となる。
変数RSTVSS：ＶＳＳをリセットするときに値が真となる。
【０１２８】
リングメッセージ受信部２２４と、ＤＨＣＰ処理部２０２との間は、例えば、双方向ＦＩＦＯ（図示せず）により接続される。
ＤＨＣＰ処理部２０２から、リングメッセージ受信部２２４への方向には、この双方向ＦＩＦＯを介して、
クライアントコンピュータ１０からのＩＰアドレス割り当て要求（ＤＨＣＰリクエスト）を受けて、割り当てを開始しようとする割り当て情報、および、
ＩＰアドレスの割り当て（ＤＨＣＰ割り当て(lease)）の通知を受け、ＩＰアドレスの割り当てを終了した旨の通知
が出力される。
また、リングメッセージ受信部２２４からＤＨＣＰ処理部２０２への方向には、この双方向ＦＩＦＯを介して、
ＩＰアドレス割り当て要求への応答（ＡＣＫ）または拒否応答（ＮＡＣＫ）の送信許可が出力される。
【０１２９】
ＤＨＣＰ処理部２０２は、ＩＰアドレスの割り当て要求を受けたときには、アドレス割り当て部２２６により、他のＤＨＣＰサーバ２との間で、ＩＰアドレスの同期をとらなければならない。
ＤＨＣＰ処理部２０２は、アドレス割り当て部２２６から返される結果に応じて、ＩＰアドレス割り当て要求（ＤＨＣＰリクエスト）に対する応答を行う。
ＤＨＣＰ処理部２０２は、アドレス割り当て部２２６が計算したスコープの範囲から、ＩＰアドレスを提供しなければならない。
【０１３０】
マスタＤＨＣＰサーバ２のＤＨＣＰ処理部２０２は、論理的リング１６から外れているが、本来、その論理的リング１６に含まれるべきＤＨＣＰサーバ２へのＩＰアドレス割り当て要求（ＤＨＣＰリクエスト）を受けたときには、そのＤＨＣＰサーバ２の代理で、ＡＣＫを返す。
【０１３１】
図１２（Ａ），（Ｂ）に示したように、ＶＳは、論理的リング１６に含まれるＤＨＣＰサーバ２により共有される。
ＤＨＣＰサーバ２は、図１２（Ｂ）に示すように、論理的リング１６から孤立したときに占有するＶＳＳが対応付けられ、そのＶＳＳを含むリング内のＶＳから、ＩＰアドレスを提供することができる。
また、論理的リング１６に留まったＤＨＣＰサーバ２は、論理的リング１６から外れたＤＨＣＰサーバ２に対応付けられたＶＳＳの範囲からＩＰアドレスを提供することはできない。
ＶＳＳは、論理的リング１６の管理者などにより、明示的にリセットされない限り保持される。
ＶＳＳが明示的にリセットされたときには、リセットされたＶＳＳに対応付けられたＤＨＣＰサーバ２によるＩＰアドレスの割り当ては取り消される。
【０１３２】
［アドレス割り当て部２２６の状態遷移］
図３２は、図２６に示したアドレス割り当て部２２６の状態遷移図である。
図３２に示すように、アドレス割り当て部２２６は、７つの状態をとりうる。
これらの７つの状態の内、待機(STANDBY)状態Ｃ４は、論理的リング１６の形成を待つ状態である。
同期中(SYNCHRONIZING)状態Ｄ４は、他のＤＨＣＰサーバ２とＶＳＳおよび割り当て情報の同期を行っており、ＤＨＣＰサーバプログラム２０２は、ＩＰアドレスの割り当てを行ってはいけない状態である。
孤立(ISOLATED)状態Ｇ４は、ＶＳＳの重複が検出され、ＩＰアドレスの割り当てを行ってはいけない状態である。
準備済み(READY)状態Ｅ４は、他のＤＨＣＰサーバ２との同期が確立していいて、ＩＰアドレスの割り当てが可能な状態である。
割り当て保留(PENDING＿LEASE)状態Ｆ４は、要求に応じてＩＰアドレスを割り当てるときに、他のＤＨＣＰサーバ２と同期をとっている状態である。
【０１３３】
処理が開始されると、アドレス割り当て部２２６は、初期化状態Ａ４をとる。
初期化状態Ａ４において、アドレス割り当て部２２６は、変数RSTＶＳＳの値が１となる条件でＶＳＳリセット状態Ｂ４に移行し（ａ４）、これ以外のときには待機状態Ｃ４に移行する（ｂ４）。
アドレス割り当て部２２６は、無条件にＶＳＳリセット状態Ｂ４から待機状態Ｃ４に移行する（ｃ４）。
【０１３４】
待機状態Ｃ４において、アドレス割り当て部２２６は、変数ASSOCの値が真のときに、同期中状態Ｄ４に移行する（ｄ４）。
同期中状態Ｄ４において、アドレス割り当て部２２６は、変数ＶＳＳDUPの値を偽とし、変数VSIMPの値を偽とし、自分の持つＶＳＳを、図３１（Ｃ）に示したＶＳＳメッセージによって論理的リング１６に送出する。
その後、VSIMPが真になるのを待ち、図１２（Ｂ）に示したＶＳテーブルの中で、同期済みフラグが偽のものについて、図３１（Ａ）に示したメッセージによって論理的リング１６に送出する。
同期中状態Ｄ４において、アドレス割り当て部２２６は、
変数ＶＳＳDUPの値が真となる条件で孤立状態Ｇ４に移行し（ｇ４）、
変数ASSOCの値が偽となる条件で待機状態Ｃ４に移行する（ｅ４）、
変数NDESYNCの値が０であり、変数VSIMPの値が真となる条件で、準備済み状態Ｅ４に移行する（ｆ４）。
【０１３５】
孤立状態Ｇ４において、アドレス割り当て部２２６は、変数ASSOCの値が偽となる条件で待機状態Ｃ４に移行する（ｋ４）。
準備済み状態Ｅ４において、アドレス割り当て部２２６は、
変数DHREQRCVの値が１となる条件で、割り当て保留状態Ｆ４に移行し（ｈ４）、
変数ASSOCの値が偽となる条件で、待機状態Ｃ４に移行する（ｊ４）。
【０１３６】
割り当て保留状態Ｆ４において、アドレス割り当て部２２６は、割り当てようとするＩＰアドレスを図１２（Ｂ）に示したＶＳテーブルに、割り当て中フラグを真として登録し、併せて、そのＩＰアドレスについての割り当て付加情報（図３１（Ｂ）に示したＭＡＣアドレスと割当期限）を含み、フラグDが偽、送信者とサーバが自分自身のＩＰアドレスとなる割り当てメッセージを作成して論理的リング１６に送信する。
割り当て保留状態Ｆ４において、アドレス割り当て部２２６は、無条件に、準備済み状態Ｅ４に移行する（ｉ４）。
【０１３７】
［割り当てメッセージ受信部２２８］
割り当てメッセージ受信部２２８は、アドレス割り当て部２２６と連携動作する。
割り当てメッセージ受信部２２８は、以下の変数を用いる。
割り当てメッセージ中のフラグ群
フラグD,  削除対象を示す
フラグQ/R,  問い合わせのとき真、応答のとき偽
【０１３８】
［割り当てメッセージ受信部２２８の状態遷移］
図３３は、図２６に示した割り当てメッセージ受信部２２８の状態遷移図である。
図３３に示すように、割り当てメッセージ受信部２２８は、８つの状態をとりうる。
これら８つの状態の内、
待ち(waiting)状態Ａ５は、割り当てメッセージ受信部２２８が、割り当てメッセージを待っている状態である。
応答中(replying)状態Ｄ５は、そのＤＨＣＰサーバ２へのクエリ（問い合わせ）を受信したので応答を返す状態である。
転送(forwarding)状態Ｈ５は、他のＤＨＣＰサーバ２の割り当てメッセージを転送する状態である。
同期マーク(mark_sync)状態Ｂ５は、他のＤＨＣＰサーバ２との同期が確立した状態である。
割り当て(commit)状態Ｃ５は、ＩＰアドレスの割り当てのＡＣＫを返す許可を与える状態である。
キャンセル中(cancel)状態E５は、ＩＰアドレスが他のDHCPサーバ２によって割り当て済みのため、割り当てを取り消す状態である。
拒否(reject)状態Ｆ５は、ＩＰアドレス割り当てのＮＡＣＫを返す許可を与え、他のＤＨＣＰサーバ２にそのＩＰアドレスの削除を指示する状態である
【０１３９】
処理を開始すると、割り当てメッセージ受信部２２８は、待ち状態Ａ５をとる。
待ち状態Ａ５において、割り当てメッセージ受信部２２８は、
送信者が自分である応答割り当てメッセージを受信し、かつメッセージ中のフラグDUPが偽であるときに、同期マーク状態Ｂ５に移行し（ｂ５）、
送信者が自分ではなく、サーバが自分である問い合わせ割り当てメッセージを受信したとき、応答中状態Ｄ５に移行し（ｆ５）、
送信者が自分ではない応答割り当てメッセージを受信し、応答割り当てメッセージ中の割り当て対象ＩＰアドレスに相当するＶＳテーブルのエントリの割り当て中フラグが真であって、かつ送信者の優先度が自分よりも高いとき、キャンセル中状態Ｅ５に移行し（ｈ５）、
送信者が自分ではない問い合わせ割り当てメッセージを受信したときに、転送状態Ｈ５に移行し（ｍ５）、
応答割り当てメッセージを受信し、かつメッセージ中のサーバが自分のＩＰアドレスと異なるときに、適用状態Ｇ５に移行し（ｌ５）、
これら以外のときには、待ち状態Ａ５に留まる（ａ５）。
【０１４０】
同期マーク状態Ｂ５において、割り当てメッセージ受信部２２８は、受信した割り当てメッセージ中の割り当て対象ＩＰアドレスに相当するＶＳテーブルのエントリが存在すれば、割り当て中フラグを偽とし、同期済みフラグを真とする。また、同期マーク状態Ｂ５において、
割り当てようとするＩＰアドレスのエントリがＶＳテーブルに存在するときには、割り当て状態Ｃ５に移行し（ｄ５）、
これ以外のときには、待ち状態Ａ５に移行する（ｃ５）。
【０１４１】
割り当て状態Ｃ５において、割り当てメッセージ受信部２２８は、割り当て対象のＩＰアドレスについて、ＤＨＣＰ処理部２０２に対して割り当て応答許可を与えた後、無条件に、待ち状態Ａ５に移行する（ｅ５）。
応答中状態Ｄ５において、割り当てメッセージ受信部２２８は、受信した問い合わせ割り当てメッセージに対する応答割り当てメッセージを、送信者およびサーバを自分のＩＰアドレスとし、割り当て情報には、問い合わせメッセージの割り当て対象ＩＰアドレスに相当するＶＳテーブルのエントリからＭＡＣアドレスおよび割り当て期限を取り出して埋めて作成し、リングに送信する。
また、割り当てメッセージ受信部２２８は、ＶＳテーブル中に問い合わせに相当するエントリが見つからない場合は、その割り当て対象ＩＰアドレスについて、フラグDを真とした応答割り当てメッセージを作成し、リングに送信する。
その後、無条件に、待ち状態Ａ５に移行する（ｇ５）。
【０１４２】
キャンセル状態において、割り当てメッセージ受信部２２８は、受信した応答割り当てメッセージ中の割り当て対象IPアドレスについて、それに相当するVSテーブルのエントリを、受信した応答割り当てメッセージの割り当て情報で上書き更新する。
キャンセル状態において、割り当てメッセージ受信部２２８は、ＶＳテーブルに割り当てるべきＩＰアドレスのエントリの更新に成功したときには、拒否状態Ｆ５に移行し（ｊ５）、
これ以外のときには、待ち状態Ａ５に移行する（ｉ５）。
【０１４３】
拒否状態Ｆ５において、割り当てメッセージ受信部２２８は、DHCP処理部に割り当て拒否応答許可を与えた後、無条件に、待ち状態Ａ５に移行する（ｋ５）。
適用状態Ｇ５において、割り当てメッセージ受信部２２８は、受信した応答割り当てメッセージ中の割り当て対象ＩＰアドレスについて、それに相当するＶＳテーブルのエントリの同期済みフラグが偽であれば、変数NDESYNCを１減じ、エントリを、受信した応答割り当てメッセージの割り当て情報で上書き更新した後、無条件に待ち状態Ａ５に移行する（ｎ５）。
転送状態Ｈ５において、割り当てメッセージ受信部２２８は、受信した割り当てメッセージをリングに送信した後、無条件に、待ち状態Ａ５に移行する（ｏ５）。
【０１４４】
［ＶＳＳメッセージ受信部２３０］
ＶＳＳメッセージ受信部２３０は、アドレス割り当て部２２６と連動して動作する。
ＶＳＳメッセージ受信部２３０は、以下の変数を用いる。
ＶＳＳメッセージのフラグフィールド，
ＶＳＳメッセージは、ＶＳＳ情報、すなわちＶＳＳの分割次数ｎ、式１のＡ１およびＢ１ｉ１を一般化した、ＡｎおよびＢｎｉｎの繰り返しが含まれたメッセージである。
また、ＶＳＳ情報は１つではなく、０個以上繰り返され、ＶＳＳが存在しないとき（論理的リング１６全体がリセットされた直後など）には、０個となる。
【０１４５】
［ＶＳＳメッセージ受信部２３０の状態遷移］
図３４は、図２６に示したＶＳＳメッセージ受信部２３０の状態遷移図である。
図３４に示すように、ＶＳＳメッセージ受信部２３０は、５つの状態をとり、これらのうち、待ち(waiting)状態Ａ６は、ＶＳＳメッセージを待っている状態である。
併合(merging)状態Ｂ６は、他のＤＨＣＰサーバ２のＶＳＳに、自らのＤＨＣＰサーバ２のＶＳＳを併合させる（並列表記する）状態である。
ＶＳＳ重複(duplicate_ＶＳＳ)状態Ｃ６は、他のＤＨＣＰサーバ２との間で、ＶＳＳの重複が検出された状態である。
転送(forwarding)状態Ｄ６は、併合状態Ｂ６において併合されたＶＳＳを転送する状態である。
インポート中(importing)状態Ｅ６は、戻ってきたＶＳＳをＶＳとして取り入れる状態である。
【０１４６】
処理を開始すると、ＶＳＳメッセージ受信部２３０は、待ち状態Ａ６をとる。
待ち状態において、ＶＳＳメッセージ受信部２３０は、ＶＳＳを含むＶＳＳメッセージを受け取ると、併合状態Ｂ６に移行し（ａ６）、
ＶＳＳを含むＶＳＳメッセージを受け取り、このＶＳＳメッセージの送信者が、メッセージを送信したＤＨＣＰサーバ２自身のＩＰアドレスであるときには、インポート中状態Ｅ６に移行する（ｆ６）。
【０１４７】
併合状態Ｂ６において、ＶＳＳメッセージ受信部２３０は、受信したＶＳＳと自己のＶＳＳの重複を検査し、ＶＳＳの重複を検出すると、ＶＳＳ重複状態に移行し（ｂ６）、
これ以外のときには、自己のＶＳＳを受信したＶＳＳメッセージに併合して転送状態Ｄ６に移行する（ｄ６）。
ＶＳＳ重複状態Ｃ６において、ＶＳＳメッセージ受信部２３０は変数ＶＳＳDUPを真に設定した後、無条件に、転送状態Ｄ６に移行する（ｃ６）。
【０１４８】
転送状態Ｄ６において、ＶＳＳメッセージ受信部２３０は、受信したＶＳＳメッセージについて、変数VSSDUPが偽の時にはそのまま、真のときにはＶＳＳメッセージ中のフラグDUPを真に設定して、リングに送信した後、無条件に、待ち状態Ａ６に移行する（ｅ６）。
インポート中状態Ｅ６において、ＶＳＳメッセージ受信部２３０は、受信したＶＳＳメッセージのフラグDUPが偽であるとき、併合されたＶＳＳ群をＶＳとしてインポートし、インポートしたＶＳをｎ−１次分割とするとき、式３に基づいてｎ次分割してＶＳＳを導出して保存する。
そして、変数VSIMPを真に設定する。また受信したＶＳＳメッセージのフラグDUPが真である場合、インポート処理を行わず、変数VSSDUPを真に設定する。以上の処理の後、無条件に、待ち状態Ａ６に移行する（ｇ６）。
【０１４９】
［送信部２３２］
送信部２３２は、以下の変数を用いる。
変数NXMITQUE：送信部２３２の送信キューに入っているメッセージの個数を保持する。
【０１５０】
［送信部２３２の状態遷移］
図３５は、図２６に示した送信部２３２の状態遷移図である。
図３５に示すように、送信部２３２は、送信部２３２の送信キュー（図示せず）を含み、３つの状態をとる。
【０１５１】
初期化(init)状態Ａ７は、送信部２３２の送信キューを空にする状態である。
待ち(waiting)状態Ｂ７は、送信部２３２の送信キューが空でなくなることを待つ状態である。
送信(transmitting)状態Ｄ７は、メッセージが送信部２３２の送信キューにあって、送信キューにあるメッセージを送信する状態である。
【０１５２】
処理を開始すると、送信部２３２は、初期化状態Ａ７をとる。
初期化状態Ａ７において、送信部２３２は、送信部２３２の送信キューを空にする。
初期化状態Ａ７において、送信部２３２は、リング管理２２０の状態が仮スレーブ状態C1の時に次のリングメンバへのTCPコネクションが確立した条件で待ち状態Ｂ７に移行する（ａ７）。
【０１５３】
待ち状態Ｂ７において、送信部２３２は、変数ASSOCの値が偽となる条件で初期化状態Ａ７に移行し（ｂ７）、
変数NXMITQUEの値が０ではないという条件で、送信状態Ｄ７に移行する（ｃ７）。
送信状態Ｄ７において、送信部２３２は、送信部２３２の送信キューに入っているメッセージを論理的リング１６に送信し、送信のたびに、変数NXMITQUEを１減じる。そして、変数NXMITQUEの値が０という条件で、初期化状態Ａ７に移行する（ｄ７）。
【０１５４】
［ＶＳＳ管理部２４０など］
ＶＳＳ管理部２４０は、ＶＳテーブル（図１２（Ｂ））を作成してＶＳＳ−ＤＢ２４６に記憶して、記憶したＶＳテーブルを、リング制御プログラム２２の他の構成部分、ＤＨＣＰ処理部２０２およびプロキシＡＲＰ処理部２０４の処理の用に供する。
さらに、ＶＳＳ管理部２４０は、リング制御プログラム２２の他の構成部分の処理に従って、記憶したＶＳテーブルその内容を変更し、管理する。
【０１５５】
ＶＳＳ分割・合成部２４２は、リング制御プログラム２２の他の構成部分に対して、ＶＳＳの再構成のために必要な機能を提供する。
ＶＳＳ分割・合成部２４２の機能としては、ＶＳＳメッセージ受信部２３０の状態Ｅ６における処理に必要とされる機能（図３４）、および、漸化式（式１〜式３）の記憶・管理のための機能などを例として挙げることができる。
【０１５６】
ＶＳＳ重複判定部２４４は、リング制御プログラム２２の他の構成部分に対して、ＶＳＳの重複判定（式４〜式１８）のために必要な機能を提供する。
ＶＳＳ重複判定部２４４の機能を利用する処理として、ＶＳＳメッセージ受信部２３０の状態Ｂ６における処理などを、例として挙げることができる。
【０１５７】
所属ＶＳＳ判定部２４８は、リング制御プログラム２２の他の構成部分に対して、あるＩＰアドレスが、いずれのＶＳＳに属しているかを判定するために必要とされる機能（式１９，式２０）を提供する。
ＡＲＰリクエスト処理部２５０は、プロキシＡＲＰ処理部２０４を制御して、そのＤＨＣＰサーバ２が、他のＤＨＣＰサーバ２のＩＰアドレスの再割り当てを代行するときに必要とされる根拠のないＡＲＰリクエストを送信させるための処理を行う。
【産業上の利用可能性】
【０１５８】
本発明は冗長構成としたサーバ装置などに利用することができる。
【図面の簡単な説明】
【０１５９】
【図１】本発明にかかるデータ処理方法が適用されるネットワークシステムの構成を例示する図である。
【図２】図１に示したクライアントコンピュータ、管理サーバおよびＤＨＣＰサーバのハードウエアを例示する図である。
【図３】図１，図２に示したＤＨＣＰサーバの冗長構成を示す図であって、ネットワークシステムに含まれる全てのＤＨＣＰサーバが、１つの論理的リング（第１の論理的リング）を構成する場合を示す。
【図４】図３に示した論理的リングによるクライアントコンピュータに対するＩＰアドレスの割り当て処理を示す通信シーケンス図であって、ＩＰアドレスが正常に割り当てられる場合を例示する。
【図５】図３に示した論理的リングによるクライアントコンピュータに対するＩＰアドレスの割り当て処理を示す通信シーケンス図であって、ＩＰアドレスの提供に衝突が生じた場合を例示する。
【図６】図３に示した論理的リングにおける通信が正常に維持されているか否かの試験（リングアップデート）を示す信号シーケンスであって、リングアップデートにより、論理的リングにおける通信が正常に維持されている場合を例示する。
【図７】論理的リング（図３）に発生する障害を例示する図である。
【図８】図７に示したように論理的リング（図３）に障害が発生したときに、クライアントコンピュータ（図１）からＤＨＣＰサーバにＩＰアドレスが要求されたときの異常な通信シーケンス（Ｓ１４）を例示する図である。
【図９】図３に示した論理的リングに含まれるＤＨＣＰサーバの間の通信に、図７に示したように障害が生じたときに、リング再構成処理（図１１）により構成される第２の論理的リングおよび第３の論理的リングを例示する図である。
【図１０】図７に示したように論理的リング（図３）に障害が発生したときに、マスタＤＨＣＰサーバが行うリングアップデートの異常な通信シーケンスを例示する図である。
【図１１】図８，図１０に示したＤＨＣＰサーバ（論理的リング；図９）におけるリング再構成処理を示す通信シーケンスを示す図である。
【図１２】図１などに示したＤＨＣＰサーバそれぞれに設定されるＶＳと、ＶＳを管理するために用いられるＶＳテーブルとを例示する図であって、（Ａ）は、テーブルの形式で定義されるＶＳＳを示し、（Ｂ）は、図３に示した第１の論理的リングにおけるＶＳ（スコープ）のテーブルを示す。
【図１３】図８，図１０に示したＤＨＣＰサーバ（論理的リング；図９）におけるアドレス同期処理を示す通信シーケンスを示す第１の図である。
【図１４】図８，図１０に示したＤＨＣＰサーバ（論理的リング；図９）におけるアドレス同期処理を示す第２の通信シーケンスを示す図である。
【図１５】図９に示した第３の論理的リングに障害が発生したときに、第３の論理的リングから、第４の論理的リングおよび第５の論理的リングに再構成される態様を例示する図である。
【図１６】図１５に示した第５の論理的リングに障害が発生したときに、第３の論理的リングから、２つのＤＨＣＰサーバが、単独で動作するように再構成される態様を例示する図である。
【図１７】４つのＤＨＣＰサーバにより構成される第６の論理的リングを例示する第１の図である。
【図１８】図１７に示した論理的リングに与えられたＩＰアドレスの集合（スコープ）から、ＤＨＣＰサーバそれぞれに対応するＶＳＳを作成する処理を示す図である。
【図１９】図１７に示した論理的リングに生じた障害を例示する第１の図である。
【図２０】図１９に示したマスタＤＨＣＰサーバによるＶＳＳの再構成を例示する図である。
【図２１】図１７に示した論理的リングに生じた障害を例示する第２の図である。
【図２２】図２２は、図２１に示した論理的リングＤＨＣＰサーバが、論理的リングから外れたＤＨＣＰサーバの機能を代行する処理（Ｓ３０）を示すフローチャートである。
【図２３】図２２に示した代行処理におけるＶＳテーブルの分割次数へのデータの設定を示す図である。
【図２４】図２１に示した論理的リングのＤＨＣＰサーバ＃０が、論理的リングから外れたＤＨＣＰサーバ＃２の機能を代行する処理（Ｓ３４）を例示する第１の通信シーケンス図である。
【図２５】図２１に示した論理的リングのＤＨＣＰサーバ＃０が、論理的リングから外れたＤＨＣＰサーバ＃２の機能を代行する処理（Ｓ３８）を例示する第２の通信シーケンス図である。
【図２６】図１に示したＤＨＣＰサーバにおいて実行され、図３〜図２０に示した処理を実行するＤＨＣＰサーバプログラムの構成を示す図である。
【図２７】図２６に示したリング管理部およびリングアップデート部の処理のために、ＤＨＣＰサーバの間で伝送されるリングメッセージを示す図である。
【図２８】図２６に示したリング管理部の状態遷移図である。
【図２９】図２６に示したリングアップデート部の状態遷移図である。
【図３０】図２６に示したリングメッセージ受信部の状態遷移図である。
【図３１】アドレス割り当て部が処理に用いる割り当てメッセージ（リースメッセージ）を示す図であって、（Ａ）は、割り当てメッセージ全体を示し、（Ｂ）は、（Ａ）に示した割り当て情報を示し、（Ｃ）は、ＶＳＳメッセージを示す。
【図３２】図２６に示したアドレス割り当て部の状態遷移図である。
【図３３】図２６に示した割り当てメッセージ受信部の状態遷移図である。
【図３４】図２６に示したＶＳＳメッセージ受信部の状態遷移図である。
【図３５】図２６に示した送信部の状態遷移図である。
【符号の説明】
【０１６０】
１・・・ネットワークシステム、
１０・・・クライアントコンピュータ、
１００・・・本体、
１０２・・・ＣＰＵ、
１０４・・・メモリ、
１０６・・・入出力装置、
１１０・・・通信装置、
１１２・・・記録装置、
１１４・・・記録媒体、
１２・・・管理サーバ、
１４・・・ネットワーク、
２・・・ＤＨＣＰサーバプログラム、
２０・・・ＤＨＣＰサーバプログラム、
２００・・・通信処理部、
２０２・・・ＤＨＣＰ処理部、
２０４・・・プロキシＡＲＰ処理部、
２２・・・リング制御プログラム、
２２０・・・リング管理部、
２２２・・・リング試験部、
２２４・・・リングメッセージ受信部、
２２６・・・アドレス割り当て部、
２２８・・・割り当てメッセージ受信部、
２３０・・・ＶＳＳメッセージ受信部、
２３２・・・送信部、
２４０・・・ＶＳＳ管理部、
２４２・・・ＶＳＳ分割・合成部、
２４４・・・ＶＳＳ重複判定部、
２４６・・・ＶＳＳ−ＤＢ、
２４８・・・所属ＶＳＳ判定部、
２５０・・・ＡＲＰリクエスト処理部、
【図１】
2006252238.tif 000003
【図２】
2006252238.tif 000004
【図３】
2006252238.tif 000005
【図４】
2006252238.tif 000006
【図５】
2006252238.tif 000007
【図６】
2006252238.tif 000008
【図７】
2006252238.tif 000009
【図８】
2006252238.tif 000010
【図９】
2006252238.tif 000011
【図１０】
2006252238.tif 000012
【図１１】
2006252238.tif 000013
【図１２】
2006252238.tif 000014
【図１３】
2006252238.tif 000015
【図１４】
2006252238.tif 000016
【図１５】
2006252238.tif 000017
【図１６】
2006252238.tif 000018
【図１７】
2006252238.tif 000019
【図１８】
2006252238.tif 000020
【図１９】
2006252238.tif 000021
【図２０】
2006252238.tif 000022
【図２１】
2006252238.tif 000023
【図２２】
2006252238.tif 000024
【図２３】
2006252238.tif 000025
【図２４】
2006252238.tif 000026
【図２５】
2006252238.tif 000027
【図２６】
2006252238.tif 000028
【図２７】
2006252238.tif 000029
【図２８】
2006252238.tif 000030
【図２９】
2006252238.tif 000031
【図３０】
2006252238.tif 000032
【図３１】
2006252238.tif 000033
【図３２】
2006252238.tif 000034
【図３３】
2006252238.tif 000035
【図３４】
2006252238.tif 000036
【図３５】
2006252238.tif 000037