(57)【特許請求の範囲】
【請求項１】
連係して動作する複数のコンピュータをリンクするコンピュータリンク方法において、
前記各コンピュータは、他コンピュータへの能動的リンクと他コンピュータからの受動的リンクとが可能であると共に、前記能動的リンクの上限数である最大能動リンク数と、他コンピュータとのリンクの上限数である最大リンク数とを満たすように、複数の他コンピュータとリンクすることを特徴とするコンピュータリンク方法。
【請求項２】
前記複数のコンピュータから構成されるコンピュータシステムに新たに追加されるコンピュータは、前記各コンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグを格納するフラグ管理表を参照して、リンク受け入れ可能なコンピュータにリンクを張ることを特徴とする請求項１記載のコンピュータリンク方法。
【請求項３】
前記最大能動リンク数は２、最大リンク数は４であることを特徴とする請求項１又は２記載のコンピュータリンク方法。
【請求項４】
いずれかのコンピュータに障害が発生した場合、前記障害が発生したコンピュータにリンクしていたコンピュータは、前記最大能動リンク数と前記最大リンク数とを満たし、障害が発生していない複数のコンピュータとリンクするように再リンクすることを特徴とする請求項１乃至３のいずれか一に記載のコンピュータリンク方法。
【請求項５】
いずれかのコンピュータに障害が発生した場合、前記障害が発生したコンピュータにリンクしていたコンピュータは、前記最大能動リンク数と前記最大リンク数とを満たし、他の同じコンピュータと複数リンクしないように再リンクすることを特徴とする請求項１乃至４のいずれか一に記載のコンピュータリンク方法。
【請求項６】
いずれかのコンピュータに障害が発生した場合、前記障害が発生したコンピュータにリンクしていたコンピュータのうち、リンクを張っている数が最も少ないコンピュータが優先的に前記最大能動リンク数と前記最大リンク数とを満たすよう再リンクすることを特徴とする請求項１乃至５のいずれか一に記載のコンピュータリンク方法。
【請求項７】
前記各コンピュータはリンクしている他コンピュータと負荷情報を定期的に交換することにより前記他コンピュータの障害可能性を発見してサーバへ通知し、
前記サーバは前記各コンピュータから障害可能性の情報を集めて障害が発生したコンピュータを特定し、前記特定されたコンピュータにリンクしていたコンピュータに対して、前記最大能動リンク数と前記最大リンク数とを満たし障害が発生していない複数のコンピュータとリンクするように定めたリンク再構成方法を通知し、
前記特定されたコンピュータにリンクしていたコンピュータは、前記サーバから通知を受けたリンク再構成方法に従って、前記最大能動リンク数と前記最大リンク数とを満たし障害が発生していない複数のコンピュータとリンクするように再リンクすることを特徴とする請求項１乃至６のいずれか一に記載のコンピュータリンク方法。
【請求項８】
いずれかのコンピュータに障害が発生した場合、前記障害が発生したコンピュータにリンクしていたコンピュータは、再リンク前の能動的リンクの数と受動的リンクの数とを保つことが可能と前記サーバから通知された場合、前記能動的リンクの数と前記受動的リンクの数とを保ちながら他コンピュータと再リンクすることを特徴とする請求項７記載のコンピュータリンク方法。
【請求項９】
他コンピュータに負荷情報を要求するコンピュータである負荷情報問い合わせ元コンピュータが他コンピュータと負荷情報を交換することによって障害可能性を発見した場合、前記障害可能性の情報として、障害可能性のあるコンピュータのコンピュータ名、当該コンピュータを除いたリンク数、当該コンピュータとのリンクが能動的か受動的かを表すリンク種別及びリンク先のコンピュータ名を前記サーバへ通知することを特徴とする請求項７又は８記載のコンピュータリンク方法。
【請求項１０】
他コンピュータに負荷情報を要求するコンピュータである負荷情報問い合わせ元コンピュータは、前記負荷情報問い合わせ元コンピュータから負荷情報を要求されたコンピュータである負荷情報問い合わせ先コンピュータから所定時間内に当該コンピュータの負荷情報を受け取らなかった場合、前記負荷情報問い合わせ先コンピュータに障害発生可能性有りと判定して前記障害可能性の情報を前記サーバへ通知することを特徴とする請求項７乃至９のいずれか一に記載のコンピュータリンク方法。
【請求項１１】
前記サーバが、同一のコンピュータに関して複数のコンピュータから所定時間内に前記障害可能性の情報の通知を受けた場合に、当該コンピュータを障害が発生したコンピュータとして特定することを特徴とする請求項７乃至１０のいずれか一に記載のコンピュータリンク方法。
【請求項１２】
連係して動作する複数のコンピュータを備え、
前記各コンピュータは、他コンピュータへの能動的リンクと他コンピュータからの受動的リンクとが可能であると共に、前記能動的リンクの上限数である最大能動リンク数と、他コンピュータとのリンクの上限数である最大リンク数とを満たすように、複数の他コンピュータとリンクすることを特徴とするコンピュータシステム。
【請求項１３】
前記各コンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグを格納するフラグ管理表を備え、
前記複数のコンピュータから構成されるコンピュータシステムに新たに追加されるコンピュータは、前記フラグ管理表を参照して、リンク受け入れ可能なコンピュータにリンクを張ることを特徴とする請求項１２記載のコンピュータシステム。
【請求項１４】
前記最大能動リンク数は２、最大リンク数は４であることを特徴とする請求項１２又は１３記載のコンピュータシステム。
【請求項１５】
いずれかのコンピュータに障害が発生した場合、前記障害が発生したコンピュータにリンクしていたコンピュータは、前記最大能動リンク数と前記最大リンク数とを満たし、障害が発生していない複数のコンピュータとリンクするように再リンクすることを特徴とする請求項１２乃至１４のいずれか一に記載のコンピュータシステム。
【請求項１６】
いずれかのコンピュータに障害が発生した場合、前記障害が発生したコンピュータにリンクしていたコンピュータは、前記最大能動リンク数と前記最大リンク数とを満たし、他の同じコンピュータと複数リンクしないように再リンクすることを特徴とする請求項１２乃至１５のいずれか一に記載のコンピュータシステム。
【請求項１７】
いずれかのコンピュータに障害が発生した場合、前記障害が発生したコンピュータにリンクしていたコンピュータのうち、リンクを張っている数が最も少ないコンピュータが優先的に前記最大能動リンク数と前記最大リンク数とを満たすよう再リンクすることを特徴とする請求項１２乃至１６のいずれか一に記載のコンピュータシステム。
【請求項１８】
前記各コンピュータはリンクしている他コンピュータと負荷情報を定期的に交換することにより前記他コンピュータの障害可能性を発見してサーバへ通知し、
前記サーバは前記各コンピュータから障害可能性の情報を集めて障害が発生したコンピュータを特定し、前記特定されたコンピュータにリンクしていたコンピュータに対して、前記最大能動リンク数と前記最大リンク数とを満たし障害が発生していない複数のコンピュータとリンクするように定めたリンク再構成方法を通知し、
前記特定されたコンピュータにリンクしていたコンピュータは、前記サーバから通知を受けたリンク再構成方法に従って、前記最大能動リンク数と前記最大リンク数とを満たし障害が発生していない複数のコンピュータとリンクするように再リンクすることを特徴とする請求項１２乃至１７のいずれか一に記載のコンピュータシステム。
【請求項１９】
いずれかのコンピュータに障害が発生した場合、前記障害が発生したコンピュータにリンクしていたコンピュータは、再リンク前の能動的リンクの数と受動的リンクの数とを保つことが可能と前記サーバから通知された場合、前記能動的リンクの数と前記受動的リンクの数とを保ちながら他コンピュータと再リンクすることを特徴とする請求項１８記載のコンピュータシステム。
【請求項２０】
前記各コンピュータに設けられた負荷情報交換手段であって、リンクしている他コンピュータと負荷情報を定期的に交換することにより障害可能性を発見する負荷情報交換手段と、
前記負荷情報交換手段から障害可能性の情報を集めて障害が発生したコンピュータを特定する障害情報収集手段と、
前記サーバに設けられ、前記障害情報収集手段が収集した情報に基づいて、前記特定されたコンピュータにリンクしていたコンピュータが前記最大能動リンク数と前記最大リンク数とを満たし障害が発生していない複数のコンピュータとリンクするように定めたリンク再構成方法を決定する障害情報解析手段とを備え、
前記特定されたコンピュータにリンクしていたコンピュータは、前記障害情報解析手段が決定したリンク再構成方法に従って前記最大能動リンク数と前記最大リンク数とを満たすよう再リンクすることを特徴とする請求項１８又は１９記載のコンピュータシステム。
【請求項２１】
前記障害情報収集手段は、前記負荷情報交換手段が障害可能性を発見した場合、該負荷情報交換手段を有するコンピュータから前記障害可能性の情報として、障害可能性のあるコンピュータのコンピュータ名、当該コンピュータを除いたリンク数、当該コンピュータとのリンクが能動的か受動的かを表すリンク種別及びリンク先のコンピュータ名を受け取ることを特徴とする請求項２０記載のコンピュータシステム。
【請求項２２】
前記負荷情報交換手段は、負荷情報要求先のコンピュータである負荷情報問い合わせ先コンピュータから所定時間内に当該コンピュータの負荷情報を受け取らなかった場合、当該コンピュータに障害発生の可能性有りと判定して前記障害情報収集手段に前記障害可能性の情報を通知することを特徴とする請求項２０又は２１記載のコンピュータシステム。
【請求項２３】
前記障害情報収集手段は、同一のコンピュータに関して複数のコンピュータから所定時間内に前記障害可能性の情報を受け取った場合に、当該コンピュータを障害が発生したコンピュータとして特定することを特徴とする請求項２０乃至２２のいずれか一に記載のコンピュータシステム。
【請求項２４】
前記フラグ管理表はディレクトリサーバに設けられて成ることを特徴とする請求項１３記載のコンピュータシステム。
【請求項２５】
前記障害情報収集手段及び障害情報解析手段はディレクトリサーバに設けられて成ることを特徴とする請求項２０乃至２３のいずれか一に記載のコンピュータシステム。
【請求項２６】
前記各コンピュータは相互に連係して負荷を分散処理する負荷分散サーバであることを特徴とする請求項１２乃至２５のいずれか一に記載のコンピュータシステム。
【請求項２７】
他コンピュータと連係して動作するコンピュータにおいて、
連携して動作するコンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグをフラグ管理表から取得する取得手段と、
前記フラグ管理表から取得した情報を参照して、リンク受け入れ可能なコンピュータにリンクを張る負荷融通リンク管理手段とを備え、
前記負荷融通リンク管理手段は、他コンピュータへの能動的リンクと他コンピュータからの受動的リンクとが可能であると共に、前記能動的リンクの上限数である最大能動リンク数と、他コンピュータとのリンクの上限数である最大リンク数とを満たすように複数の他コンピュータとリンクすることを特徴とするコンピュータ。
【請求項２８】
前記最大能動リンク数は２、最大リンク数は４であることを特徴とする請求項２７記載のコンピュータ。
【請求項２９】
リンクしている他コンピュータと負荷情報を定期的に交換することにより障害可能性を発見する負荷情報交換手段と、
前記負荷情報交換手段が発見した障害可能性の情報を外部へ出力する通知手段とを備え、
前記負荷融通リンク管理手段は、外部から通知された、前記最大能動リンク数と前記最大リンク数とを満たし障害が発生していない複数のコンピュータとリンクするように再リンクする方法を定めたリンク再構成方法に従って、前記最大能動リンク数と前記最大リンク数とを満たし複数のコンピュータとリンクするように再リンクすることを特徴とする請求項２７又は２８記載のコンピュータ。
【請求項３０】
前記負荷情報交換手段は、負荷情報問い合わせ先のコンピュータから所定時間内に当該コンピュータの負荷情報を受け取らなかった場合、当該コンピュータに障害発生の可能性有りと判定することを特徴とする請求項２９記載のコンピュータ。
【請求項３１】
前記通知手段は、前記負荷情報交換手段が障害可能性を発見した場合、前記障害可能性の情報として、障害可能性のあるコンピュータのコンピュータ名、当該コンピュータを除いたリンク数、当該コンピュータとのリンクが能動的か受動的かを表すリンク種別及び現在のリンク先のコンピュータ名を、前記障害可能性の情報を集めて障害が発生したコンピュータを特定し前記特定されたコンピュータにリンクしていたコンピュータに対して前記リンク再構成方法を通知するサーバへ通知することを特徴とする請求項２９又は３０記載のコンピュータ。
【請求項３２】
連係して動作する複数のコンピュータを管理するコンピュータにおいて、
前記連係して動作するコンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグを格納したフラグ管理表を記憶すると共に、新たに連係するコンピュータからの要求に応じて前記フラグ管理表に記憶した情報を送信するフラグ管理表管理手段と、
前記各コンピュータから障害可能性の情報を集めて障害が発生したコンピュータを特定する障害情報収集手段と、
前記障害情報収集手段が収集した障害可能性の情報に基づいて、前記特定したコンピュータにリンクしていたコンピュータが他のコンピュータと再リンクする方法を定めたリンク再構成方法を決定して該コンピュータに通知する障害情報解析手段とを備えて成り、
前記障害情報解析手段は、前記特定されたコンピュータにリンクしていたコンピュータが、自コンピュータから他コンピュータへの能動的リンクの上限数である最大能動リンク数と、自コンピュータと他コンピュータ間のリンクの上限数である最大リンク数とを満たし障害が発生していない複数のコンピュータとリンクするように再リンクするよう前記リンク再構成方法を決定することを特徴とするコンピュータ。
【請求項３３】
前記障害情報収集手段は、前記障害可能性の情報として、障害可能性のあるコンピュータのコンピュータ名、当該コンピュータを除いたリンク数、当該コンピュータとのリンクが能動的か受動的かを表すリンク種別及びリンク先のコンピュータ名を受け取ることを特徴とする請求項３２記載のコンピュータ。
【請求項３４】
前記障害情報収集手段は、同一のコンピュータに関して複数のコンピュータから所定時間内に前記障害可能性の情報を受け取った場合に、当該コンピュータを障害が発生したコンピュータとして特定することを特徴とする請求項３２又は３３記載のコンピュータ。
【請求項３５】
前記最大能動リンク数は２、最大リンク数は４であることを特徴とする請求項３２乃至３４のいずれか一に記載のコンピュータ。
【請求項３６】
前記障害情報解析手段は、前記特定されたコンピュータにリンクしていたコンピュータが、再リンク前の能動的リンクの数と受動的リンクの数とを保つことが可能な場合、前記能動的リンクの数と前記受動的リンクの数とを保ちながら他コンピュータと再リンクするように決定することを特徴とする請求項３２乃至３５のいずれか一に記載のコンピュータ。
【請求項３７】
前記障害情報解析手段は、前記特定されたコンピュータにリンクしていたコンピュータが、前記最大能動リンク数と前記最大リンク数とを満たし、他の同じコンピュータと複数リンクしないように再リンクするよう決定することを特徴とする請求項３２乃至３６のいずれか一に記載のコンピュータ。
【請求項３８】
前記障害情報解析手段は、前記特定されたコンピュータにリンクしていたコンピュータのうち、リンクを張っている数が最も少ないコンピュータが優先的に前記最大能動リンク数と前記最大リンク数とを満たすように再リンクするよう決定することを特徴とする請求項３２乃至３７のいずれか一に記載のコンピュータ。
【請求項３９】
コンピュータを、
連携して動作するコンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグをフラグ管理表から取得する取得手段と、
前記フラグ管理表から取得した情報を参照して、リンク受け入れ可能なコンピュータにリンクを張る負荷融通リンク管理手段とを備え、
前記負荷融通リンク管理手段が、他コンピュータへの能動的リンクと他コンピュータからの受動的リンクとが可能であると共に、前記能動的リンクの上限数である最大能動リンク数と、他コンピュータとのリンクの上限数である最大リンク数とを満たすように複数の他コンピュータとリンクするよう機能させることを特徴とするプログラム。
【請求項４０】
コンピュータを、
前記最大能動リンク数が２、最大リンク数が４であるように機能させることを特徴とする請求項３９記載のプログラム。
【請求項４１】
コンピュータを、
リンクしている他コンピュータと負荷情報を定期的に交換することにより障害可能性を発見する負荷情報交換手段と、
前記負荷情報交換手段が発見した障害可能性の情報を外部へ出力する通知手段とを備え、
前記負荷融通リンク管理手段が、外部から通知された、前記最大能動リンク数と前記最大リンク数とを満たし障害が発生していない複数のコンピュータとリンクするように再リンクする方法を定めたリンク再構成方法に従って、前記最大能動リンク数と前記最大リンク数とを満たし複数のコンピュータとリンクするように再リンクするよう機能させることを特徴とする請求項３９又は４０記載のプログラム。
【請求項４２】
コンピュータを、
前記負荷情報交換手段が、負荷情報問い合わせ先のコンピュータから所定時間内に当該コンピュータの負荷情報を受け取らなかった場合、当該コンピュータに障害発生の可能性有りと判定するように機能させることを特徴とする請求項４１記載のプログラム。
【請求項４３】
コンピュータを、
前記通知手段が、前記負荷情報交換手段が障害可能性を発見した場合、前記障害可能性の情報として、障害可能性のあるコンピュータのコンピュータ名、当該コンピュータを除いたリンク数、当該コンピュータとのリンクが能動的か受動的かを表すリンク種別及び現在のリンク先のコンピュータ名を、前記障害可能性の情報を集めて障害が発生したコンピュータを特定し前記特定されたコンピュータにリンクしていたコンピュータに対して前記リンク再構成方法を通知するサーバへ通知するように機能させることを特徴とする請求項４１又は４２記載のプログラム。
【請求項４４】
コンピュータを、
連係して動作するコンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグを格納したフラグ管理表を記憶すると共に、新たに連係するコンピュータからの要求に応じて前記フラグ管理表に記憶した情報を送信するフラグ管理表管理手段と、
前記各コンピュータから障害可能性の情報を集めて障害が発生したコンピュータを特定する障害情報収集手段と、
前記障害情報収集手段が収集した障害可能性の情報に基づいて、前記特定したコンピュータにリンクしていたコンピュータが他のコンピュータと再リンクする方法を定めたリンク再構成方法を決定して該コンピュータに通知する障害情報解析手段として機能させるように構成され、
前記障害情報解析手段が、前記特定されたコンピュータにリンクしていたコンピュータが自コンピュータから他コンピュータへの能動的リンクの上限数である最大能動リンク数と、自コンピュータと他コンピュータ間のリンクの上限数である最大リンク数とを満たし障害が発生していない複数のコンピュータとリンクするように再リンクするよう前記リンク再構成方法を決定するように機能させることを特徴とするプログラム。
【請求項４５】
コンピュータを、
前記障害情報収集手段が、前記障害可能性の情報として、障害可能性のあるコンピュータのコンピュータ名、当該コンピュータを除いたリンク数、当該コンピュータとのリンクが能動的か受動的かを表すリンク種別及びリンク先のコンピュータ名を受け取るように機能させることを特徴とする請求項４４記載のプログラム。
【請求項４６】
コンピュータを、
前記障害情報収集手段が、同一のコンピュータに関して複数のコンピュータから所定時間内に前記障害可能性の情報を受け取った場合に、当該コンピュータを障害が発生したコンピュータとして特定するように機能させることを特徴とする請求項４４又は４５記載のプログラム。
【請求項４７】
コンピュータを、
前記最大能動リンク数が２、最大リンク数が４であるように機能させることを特徴とする請求項４４乃至４６のいずれか一に記載のプログラム。
【請求項４８】
コンピュータを、
前記障害情報解析手段が、前記特定されたコンピュータにリンクしていたコンピュータが、再リンク前の能動的リンクの数と受動的リンクの数とを保つことが可能な場合、前記能動的リンクの数と前記受動的リンクの数とを保ちながら他コンピュータと再リンクするよう決定するように機能させることを特徴とする請求項４４乃至４７のいずれか一に記載のプログラム。
【請求項４９】
コンピュータを、
前記障害情報解析手段が、前記特定されたコンピュータにリンクしていたコンピュータが前記最大能動リンク数と最大リンク数とを満たし、他の同じコンピュータと複数リンクせずに再リンクするよう決定するように機能させることを特徴とする請求項４４乃至４８のいずれか一に記載のプログラム。
【請求項５０】
コンピュータを、
前記障害情報解析手段が、前記特定されたコンピュータにリンクしていたコンピュータのうちリンクを張っている数が最も少ないコンピュータが、優先的に前記最大能動リンク数と前記最大リンク数とを満たして再リンクするよう決定するように機能させることを特徴とする請求項４４乃至４９のいずれか一に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、負荷分散サーバ等の複数のコンピュータが連携して動作するコンピュータシステムにおいて複数のコンピュータをリンクするコンピュータリンク方法、前記コンピュータリンク方法に用いて好適なコンピュータシステム、コンピュータ、及びプログラムに関する。
【背景技術】
【０００２】
従来から、負荷分散サーバ等の複数のコンピュータが連携して動作するコンピュータシステムが開発されている。
従来の前記コンピュータシステムとして分散基盤システムの一例が、非特許文献１に記載されている。この従来の分散基盤システムを「ＣＡＮ」と呼ぶ。
【０００３】
図２１に示すように、この従来の分散基盤システムは、複数個の領域分割可能サーバとして、サーバ群でデータを読み書き可能な領域分割可能サーバ１（１１００）、同じくサーバ群でデータを読み書き可能な領域分割可能サーバ２（１２００）、同じくサーバ群でデータを読み書き可能な領域分割可能サーバ３（１３００）、同じくサーバ群でデータを読み書き可能な領域分割可能サーバ４（１４００）、同じくサーバ群でデータを読み書き可能な領域分割可能サーバ５（１５００）、各領域分割可能サーバ１（１１００）〜５（１５００）、領域分割可能サーバ１（１１００）〜５（１５００）と同じ機能を持つ複数の領域分割可能サーバ６、７、８、・・・、及びそれらを繋ぐネットワーク７００を備えている。
【０００４】
各領域分割可能サーバ１（１１００）〜５（１５００）、６、７、８は同じ構成要素を持ち、例えば、領域分割可能サーバ１（１１００）は、ノード発見手段１１１０、領域分割手段１１２０、通知手段１１３０、隣接管理手段１１４０、障害対応手段１１５０、再構成手段１１６０から構成されている。
ノード発見手段１１１０は、分散基盤システムに参加するときに既存の他の領域分散サーバ等を発見したり、他の領域分割可能サーバが分散基盤システムに参加するときに当該他の領域分散サーバを発見する場合等に用いられる。
【０００５】
領域分割手段１１２０は、分散基盤システムにはいった後、サーバ群で読み書きの対象とするデータの範囲を分割するのに用いる。例えば、領域分割可能サーバ１のみで全データの読み書きを担当していたのを、領域分割可能サーバ１が湿度が０％から５０％までのデータの読み書きを担当し、領域分割可能サーバ２が湿度が５１％から１００％までのデータの読み書きを担当するというように、領域を分割する役割をはたす。
【０００６】
通知手段１１３０は、領域分割が行われたとき、それを他の領域分割可能サーバに通知する機能を持つ。隣接管理手段１１４０は、ＣＡＮでは２次元の空間を分割して各領域分割可能サーバが担当しているが、その２次元空間上で隣の領域分割可能サーバのＩＰ（Internet Protocol）アドレス情報及び隣の領域分割可能サーバがどの領域分割可能サーバを隣として持つかを管理する。
【０００７】
障害対応手段１１５０は、領域分割可能サーバが離脱したときの、離脱したサーバが受け持っていた領域を、残った領域分割可能サーバのうちどのサーバが担当するか決定する。再構成手段１１６０はサーバの離脱が何度かおこった後、領域分割可能サーバが担当する領域が２分木の枝ひとつになるように再構成する。
【０００８】
このような構成を有する従来の分散基盤システムは次のように動作する（図２２を参照）。
既存の領域分割可能サーバは、２次元の空間で示されるある領域を担当し、その領域に入るデータが、外部から書き込まれたとき、格納しているデータが読み出される場合に用いられる。その担当領域を２次元のマップ上で分割して管理している。
【０００９】
新しい領域分割可能サーバ５（１５００）が既存の４つの領域分割可能サーバからなるネットワークにはいると、ノード発見手段１５１０はまず最初に４つノードのうちいずれかのノードを発見しなければならない。これは例えば既存ネットワーク上の領域分割可能サーバのうち１つのＩＰアドレスをコンフィグレーションファイルとして与えることにより対応可能である。
【００１０】
次に、この分散基盤システムのどの領域が分割可能か発見する。図２２を参照すると、この場合領域分割サーバ４の領域が分割可能であることがわかる。次に、領域分割可能サーバ４（１４００）の領域分割手段１４２０が領域を分割して、新しい領域分割サーバ５がネットワーク上にはいったことを通知手段１５３０を用いて通知する。また、領域分割サーバ４（１４００）は、自身が隣接する領域分割可能サーバ及び、自身が隣接する領域分割可能サーバに隣接するサーバを隣接管理手段１４２０を最新の状態にかえる。
【００１１】
ＣＡＮのあるノードが離脱する場合、書き込まれていたデータを他のノードに引き継ぐ。どのノードに引き継ぐかは、１つの隣のノードに妥当に引き継がれ１つの領域となる場合はそのノードに引き継ぐ。そのようなノードがなかった場合、隣のノードで担当する領域の面積が一番小さいものが自分の領域と離脱した領域の両方を引き継ぐこととする。ある領域分割可能サーバが離脱する場合、その隣となるノードが領域を受け継ぐことになるが、どのノードが受け継ぐかを決めるために、受け継ぐ候補のノードは離脱したノードの隣接ノードなので、自身からみて隣である離脱したノード、及びその離脱したノードに隣接した領域分割可能サーバとなるためである。
【００１２】
この引継ぎを行うために、隣接ノードと隣接ノードのさらに隣接ノードの情報も隣接管理手段で管理する必要がある。隣となるノードが変わってしまうと、ＣＡＮでは、隣の隣のノード情報も通知する必要がある。そこで、１ノードが隣接管理手段で管理する情報が多くなるという問題がある。
図２３のように、領域が分割されており、１から１１までの領域分割可能サーバで管理されていたとする。
【００１３】
そこで、９の領域分割可能サーバが離脱したとすると、障害対応手段が動作し９の隣のノードで担当する面積が１番すくないものが受け継ぐ。この場合、６、７、１０、１１のいずれもが受け継ぐ可能性があるが、もし６が受け継いだとすると、再構成が必要となる。その理由は、引き継ぐ前の状況を２分木グラフで表すと図２４のようになり、このうち、６と９の領域を受け持つということは、６と９は２分木の１番目の分岐でも分かれており、２分木の２つの末端に６が現れることになり６のノードの負荷が重くなり悪い。
【００１４】
この場合、再構成手段の動作の１例としては、１１が１０と１１の領域を受け持ち、受け持ちがなくなった１０が元の９番の領域を受け持つ例が示されている。ただし、再構成を行うということは、再構成をおこなっている間再構成に関連する領域への書き込み、読み込みなどがうまくできないことになり実運用上の問題となる。
【００１５】
障害発生からの回復アルゴリズムを適用すると、１つ領域分割可能サーバが管理する領域を、木構造にマップすると複数の末端を管理することになり都合が悪いから再構成が必要となるため、分散基盤システムを構成する領域分割可能サーバに障害発生した際に回復アルゴリズムを適用すると定期的に領域全体の再構成を行う必要がある。
したがって、再構成をおこなっている間再構成に関連する領域への書き込み、読み込みなどを行うと一貫性が崩れるので、再構成中書き込み読み込みができず、障害発生時に、これらへのレスポンスタイムが遅れるという問題がある。
【００１６】
また、ある領域分割可能サーバが離脱する場合、その隣となるノードが領域を受け継ぐことになるが、どのノードが受け継ぐかを決めるために、受け継ぐ候補のノードは離脱したノードの隣接ノードなので、自身からみて隣である離脱したノード、及びその離脱したノードに隣接した領域分割可能サーバとなるため、それら全てのノードにノード情報を渡しておく必要がある。
【００１７】
したがって、分散基盤システムを構成する領域分割可能サーバが、自身に隣接する領域分割可能サーバと、隣接する領域分割可能サーバにさらに隣接する領域分割可能サーバの情報を持たなければならず、１台の分散基盤システムの構成要素が多数の情報を管理しなければならなく、ある領域分割可能サーバに変更が起るとそれを多数の領域分割可能サーバに通知しなければならず通信量が増えるという問題がある。
【００１８】
一方、特許文献１には、アクセス頻度の高いサーバを検出して、負荷の低いサーバにコンテンツを移動するようにした負荷分散方法が開示されている。しかしながら、特許文献１記載には単に負荷を移動する方式の負荷分散方法が開示されているにすぎず、前述したレスポンスタイムの遅れや通信量が増加する問題への対処方法には触れられていない。
また、特許文献２には、切り替え元が接続換え元に対して、接続元と接続先を決定して切り換え信号を送信し、接続切り換えを行うようにしたネットワーク構成方法が開示されている。しかしながら、切り替え元は依然としてリンクを張っており、切り替え元に物理的な障害が発生した場合を想定した発明ではない。
【００１９】
【非特許文献１】Sylvia Ratnasamy他著「ア・スケーラブル・コンテンツ・アドレス・ネット−ワーク（A Scalable Content-Address Network）」、http://www.sigcomm.org/sigcomm2001/p13-ratnasamy.pdf、2001年8月27日
【特許文献１】特開２００２−２７８８２３号公報
【特許文献２】特開２００５−２５２５９６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
本発明は、複数のコンピュータが連携して動作するコンピュータシステムにおいて、前記コンピュータ障害発生時にレスポンスタイムが遅延しないようにすることを課題としている。
また本発明は、前記コンピュータシステム構築の際の通信量を抑制することを課題としている。
【課題を解決するための手段】
【００２１】
本発明によれば、連係して動作する複数のコンピュータをリンクするコンピュータリンク方法において、前記各コンピュータは、他コンピュータへの能動的リンクと他コンピュータからの受動的リンクとが可能であると共に、前記能動的リンクの上限数である最大能動リンク数と、他コンピュータとのリンクの上限数である最大リンク数とを満たすように、複数の他コンピュータとリンクすることを特徴とするコンピュータリンク方法が提供される。
【００２２】
各コンピュータは、他コンピュータへの能動的リンクと他コンピュータからの受動的リンクとが可能であると共に、前記能動的リンクの上限数である最大能動リンク数と、他コンピュータとのリンクの上限数である最大リンク数とを満たすように、複数の他コンピュータとリンクする。
【００２３】
また、本発明によれば、連係して動作する複数のコンピュータを備え、前記各コンピュータは、他コンピュータへの能動的リンクと他コンピュータからの受動的リンクとが可能であると共に、前記能動的リンクの上限数である最大能動リンク数と、他コンピュータとのリンクの上限数である最大リンク数とを満たすように、複数の他コンピュータとリンクすることを特徴とするコンピュータシステムが提供される。
【００２４】
各コンピュータは、他コンピュータへの能動的リンクと他コンピュータからの受動的リンクとが可能であると共に、前記能動的リンクの上限数である最大能動リンク数と、他コンピュータとのリンクの上限数である最大リンク数とを満たすように、複数の他コンピュータとリンクする。
【００２５】
また、本発明によれば、他コンピュータと連係して動作するコンピュータにおいて、連携して動作するコンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグをフラグ管理表から取得する取得手段と、前記フラグ管理表から取得した情報を参照して、リンク受け入れ可能なコンピュータにリンクを張る負荷融通リンク管理手段とを備え、前記負荷融通リンク管理手段は、他コンピュータへの能動的リンクと他コンピュータからの受動的リンクとが可能であると共に、前記能動的リンクの上限数である最大能動リンク数と、他コンピュータとのリンクの上限数である最大リンク数とを満たすように複数の他コンピュータとリンクすることを特徴とするコンピュータが提供される。
【００２６】
取得手段は、連携して動作するコンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグをフラグ管理表から取得する。負荷融通リンク管理手段は、前記フラグ管理表から取得した情報を参照して、リンク受け入れ可能なコンピュータにリンクを張る。このとき前記負荷融通リンク管理手段は、他コンピュータへの能動的リンクと他コンピュータからの受動的リンクとが可能であると共に、前記能動的リンクの上限数である最大能動リンク数と、他コンピュータとのリンクの上限数である最大リンク数とを満たすように複数の他コンピュータとリンクする。
【００２７】
また、本発明によれば、連係して動作する複数のコンピュータを管理するコンピュータにおいて、前記連係して動作するコンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグを格納したフラグ管理表を記憶すると共に、新たに連係するコンピュータからの要求に応じて前記フラグ管理表に記憶した情報を送信するフラグ管理表管理手段と、前記各コンピュータから障害可能性の情報を集めて障害が発生したコンピュータを特定する障害情報収集手段と、前記障害情報収集手段が収集した障害可能性の情報に基づいて、前記特定したコンピュータにリンクしていたコンピュータの再リンク方法を決定して該コンピュータに通知する障害情報解析手段とを備えて成ることを特徴とするコンピュータが提供される。
【００２８】
フラグ管理表管理手段は、連係して動作するコンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグを格納したフラグ管理表を記憶すると共に、新たに連係するコンピュータからの要求に応じて前記フラグ管理表に記憶した情報を送信する。障害情報収集手段は、前記各コンピュータから障害可能性の情報を集めて障害が発生したコンピュータを特定する。障害情報解析手段は、前記障害情報収集手段が収集した障害可能性の情報に基づいて、前記特定したコンピュータにリンクしていたコンピュータの再リンク方法を決定して該コンピュータに通知する。
【００２９】
また、本発明によれば、コンピュータを、連携して動作するコンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグをフラグ管理表から取得する取得手段と、前記フラグ管理表から取得した情報を参照して、リンク受け入れ可能なコンピュータにリンクを張る負荷融通リンク管理手段とを備え、前記負荷融通リンク管理手段が、他コンピュータへの能動的リンクと他コンピュータからの受動的リンクとが可能であると共に、前記能動的リンクの上限数である最大能動リンク数と、他コンピュータとのリンクの上限数である最大リンク数とを満たすように複数の他コンピュータとリンクするよう機能させることを特徴とするプログラムが提供される。
【００３０】
コンピュータはプログラムを実行することにより、連携して動作するコンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグをフラグ管理表から取得する取得手段と、前記フラグ管理表から取得した情報を参照して、リンク受け入れ可能なコンピュータにリンクを張る負荷融通リンク管理手段とを備え、前記負荷融通リンク管理手段が、他コンピュータへの能動的リンクと他コンピュータからの受動的リンクとが可能であると共に、前記能動的リンクの上限数である最大能動リンク数と、他コンピュータとのリンクの上限数である最大リンク数とを満たすように複数の他コンピュータとリンクするよう機能する。
【００３１】
また、本発明によれば、コンピュータを、連係して動作するコンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグを格納したフラグ管理表を記憶すると共に、新たに連係するコンピュータからの要求に応じて前記フラグ管理表に記憶した情報を送信するフラグ管理表管理手段と、前記各コンピュータから障害可能性の情報を集めて障害が発生したコンピュータを特定する障害情報収集手段と、前記障害情報収集手段が収集した障害可能性の情報に基づいて、前記特定したコンピュータにリンクしていたコンピュータの再リンク方法を決定して該コンピュータに通知する障害情報解析手段として機能させることを特徴とするプログラムが提供される。
【００３２】
コンピュータはプログラムを実行することにより、連係して動作するコンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグを格納したフラグ管理表を記憶すると共に、新たに連係するコンピュータからの要求に応じて前記フラグ管理表に記憶した情報を送信するフラグ管理表管理手段と、前記各コンピュータから障害可能性の情報を集めて障害が発生したコンピュータを特定する障害情報収集手段と、前記障害情報収集手段が収集した障害可能性の情報に基づいて、前記特定したコンピュータにリンクしていたコンピュータの再リンク方法を決定して該コンピュータに通知する障害情報解析手段として機能する。
【発明の効果】
【００３３】
本発明のコンピュータリンク方法によれば、複数のコンピュータが連携して動作するコンピュータシステムにおいて、コンピュータ障害発生時にレスポンスタイムが遅延しないようにすることが可能になる。また本発明のコンピュータリンク方法によれば、前記コンピュータシステム構築の際の通信量を抑制することが可能になる。
また、本発明によれば、前記コンピュータリンク方法に好適なコンピュータシステムを提供することが可能になる。
また、本発明によれば、前記コンピュータシステムを構築するに好適なコンピュータを提供することが可能になる。
また、本発明によれば、前記コンピュータを構築するに好適なプログラムを提供することが可能になる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の実施の形態に係るコンピュータリンク方法、コンピュータシステム、コンピュータ及びプログラムについて説明する。尚、各図において、同一部分には同一符号を付している。
図１は本発明の実施の形態に係るコンピュータリンク方法に使用するコンピュータシステムのブロック図である。
【００３５】
図１の実施の形態に係るコンピュータシステムは、複数のサーバ（負荷分散サーバ）で負荷分散を行う分散基盤システムの例であり、特に負荷分散を行うサーバ数を１台から必要に応じて増やすことが可能で、負荷分散を行うサーバ同士がリンクを持ち負荷融通を行うようにしたコンピュータシステムの例である。負荷分散を行うサーバに障害が起こった際もサービスを継続して提供できるようにしている。
【００３６】
図１において、コンピュータシステムは、負荷分散サーバの状態を管理するディレクトリサーバ１００、相互に連携して動作し負荷分散サーバ群にかかる負荷を分散して処理する複数の負荷分散サーバ（負荷分散サーバ群にかかる負荷を分散して処理する負荷分散サーバＡ２００、同じく負荷分散サーバ群にかかる処理を分散して処理する負荷分散サーバＢ３００、同じく負荷分散サーバ群にかかる処理を分散して処理する負荷分散サーバＣ４００、同じく負荷分散サーバ群にかかる処理を分散して処理する負荷分散サーバＤ５００、同じく負荷分散サーバ群にかかる処理を分散して処理する負荷分散サーバＥ６００、負荷分散サーバＡ２００からＥ６００と同じ機能を持つ複数の負荷分散サーバＦ、Ｇ、Ｈ、・・・）、ディレクトリサーバ１００と前記負荷分散サーバ群を繋ぐネットワーク７００を備えている。
【００３７】
ディレクトリサーバ１００は、連係して動作する複数のコンピュータ（本実施の形態では負荷分散サーバ）を管理するコンピュータである。ディレクトリサーバ１００の記憶部にフラグ管理表を記憶して管理するフラグ管理表管理手段１１０、障害情報収集手段１２０、障害情報解析手段１３０を備えている。これらの手段はそれぞれ概略つぎのように動作する。尚、ディレクトリサーバ１００は２重化してあり、ディレクトリサーバ１００自体には障害は発生じないものとする。
【００３８】
フラグ管理表管理手段１１０は、記憶手段を構成するその記憶部に記憶したフラグ管理表の内容変更等の管理を行う。
フラグ管理表管理手段１１０が管理するフラグ管理表は、負荷分散サーバ（負荷分散サーバＡ２００、負荷分散サーバＢ３００、負荷分散サーバＣ４００、負荷分散サーバＤ５００、負荷分散サーバＥ６００、及び負荷分散サーバＡ２００からＥ６００と同じ機能を持つ複数の負荷分散サーバＦ、Ｇ、Ｈ等）のサーバ名、ＩＰ（Internet Protocol）アドレス、自身に対してリンクしに来て良いか否か（リンク受け入れ可否）や他の負荷分散サーバとリンクしているか否か（リンク済みか否か）を表す連結済みフラグ及び規定値フラグを格納したテーブルである。尚、フラグ管理表において、連結済みフラグがＯＮで規定値フラグにチェックがないものがリンク受け入れ可能を表し、それ以外はリンク受け入れ不能を表すことになる。また、負荷分散サーバのアドレスは必ずしもＩＰアドレスである必要はなく、システム構成に応じてＭＡＣ（Media Access Control）アドレス等を用いてもよい。
【００３９】
各負荷分散サーバは、他負荷分散サーバへ能動的にリンクする能動リンク状態と他負荷分散サーバから受動的にリンクされる受動リンク状態とをとることが可能である。また、規定値として、前記能動リンク状態をとることが可能な上限値である最大能動リンク数と、他負荷分散サーバとリンク可能な数の上限値である最大リンク数とが予め設定されており、これらの規定値の範囲内でリンクすることができるようになっている。
【００４０】
前記規定値フラグは、リンク数が最大リンク数に達しているか否かを示すフラグであり、リンク数が最大リンク数に達している場合には規定値フラグにチェックが付けられる。
尚、本実施の形態における規定値は、最大能動リンク数が２、最大リンク数が４に設定されている。最大能動リンク数が２、最大リンク数が４とすることにより、リンク処理が簡単で、且つ、障害復旧時には局所的な再リンクで済み、全体の再構築が不要になるという効果がある。
【００４１】
障害情報収集手段１２０は、負荷分散サーバＡ２００、負荷分散サーバＢ３００、負荷分散サーバＣ４００、負荷分散サーバＤ５００、負荷分散サーバＥ６００、負荷分散サーバＦ、Ｇ、Ｈ等から、障害が発生した負荷分散サーバに関する情報、および障害が発生した負荷分散サーバに隣接している負荷分散サーバの情報を受け取る。
障害情報解析手段１３０は、障害情報収集手段１２０が受け取った障害が発生した負荷分散サーバに関する情報、および障害が発生した負荷分散サーバに隣接している負荷分散サーバの情報を解析し、具体的にどの負荷分散サーバとどの負荷分散サーバの間でリンクを張り直して障害復旧を行うか決定し、障害が発生した負荷分散サーバに隣接している負荷分散サーバに通知する。
【００４２】
負荷分散サーバＡ２００は、その記憶部にフラグを記憶して管理するフラグ管理手段２１０、ディレクトリサーバアクセス手段２２０、負荷融通リンク管理手段２３０、負荷情報交換手段２４０、障害情報通知手段２５０を備えている。これらの手段はそれぞれ概略つぎのように動作する。尚、他の負荷分散サーバＢ３００からＥ６００、Ｆ、Ｇ、Ｈ、・・・は、負荷分散サーバＡ２００と同一構成である。
【００４３】
フラグ管理手段２１０は、記憶手段を構成するその記憶部に記憶したフラグの内容変更等の管理を行う。
フラグ管理手段２１０が管理するフラグは、自負荷分散サーバの状態を表すものであり、（１）現在他の負荷分散サーバと結ばれていない状態、（２）２つ以上の負荷分散サーバと結ばれている状態（ＯＮ状態）、（３）１つ以下の負荷分散サーバとしか結ばれていないが他の負荷分散サーバには結ばれていると扱われる状態即ち、他の負荷分散サーバからリンクを受け入れる準備はできているが、未だリンクが１つしかなく２つに達していない状態（ダミーＯＮ状態）のいずれかをとる。
【００４４】
ディレクトリサーバアクセス手段２２０は、負荷分散サーバＡ２００の構成要素が、ネットワークを通じて、ディレクトリサーバ１００にアクセスする機能を提供し、ディレクトリサーバ１００のＩＰアドレスをコンフィグレーション情報として保持している。
負荷融通リンク管理手段２３０は、他の負荷分散サーバとの接続関係であるリンクを結んでいる負荷分散サーバのサーバ名、ＩＰアドレス、最初に自身からリンクを結んだこと（能動的）を示すＯＵＴか、最初に相手からリンクを結ぶこと（受動的）を示すＩＮのいずれからなるＩＮ／ＯＵＴ種別を保持する。尚、負荷分散サーバのアドレスは必ずしもＩＰアドレスである必要はなく、システム構成に応じてＭＡＣアドレス等を用いてもよい。
【００４５】
負荷情報交換手段２４０は、負荷融通リンク管理手段２３０が接続関係を保持している他の負荷分散サーバと負荷情報を交換し、負荷が大きい負荷分散サーバから負荷が小さい負荷分散サーバに負荷融通を行う。
障害情報通知手段２５０は、負荷情報交換手段２４０での負荷情報取得要求がタイムアウトになったとき（リンクしている他の負荷分散サーバに対して負荷情報交換手段２４０が負荷情報送信を要求した後に所定時間経過しても応答がなかったとき）、要求先の負荷分散サーバに障害が発生している可能性を発見し、ディレクトリサーバ１００に対して、タイムアウトになった負荷分散サーバのサーバ名、及び、負荷融通リンク管理手段２３０で管理している、自身が接続している負荷分散サーバの情報を、ディレクトリサーバアクセス手段２２０を通じて通知する。
尚、ディレクトリサーバアクセス手段２２０は取得手段を構成している。また、障害情報通知手段２５０及びディレクトリサーバアクセス手段２２０は通知手段を構成している。
【００４６】
各負荷分散サーバＡ２００からＥ６００、Ｆ、Ｇ、Ｈ、・・・は、日本を所定地域単位に分けて（例えば、北海道地域、東北地方、関東地方等）、各地域の負荷を分散して担当すると共に、負荷の大きい地域を担当している分散サーバが負荷の小さい地域を担当している負荷分散サーバに負荷を融通するように動作する。
以上のように構成されたコンピュータシステムの負荷分散処理動作を概略説明すると、負荷分散サーバＡ２００が関東地方の負荷の処理を担当し、負荷分散サーバＢ３００が関西地方の負荷の処理を担当しているとすると、この場合原則として、関東地方在住の会員がデータ処理等の負荷処理を要求してきた場合には負荷分散サーバＡ２００が処理し、関西地方在住の会員がデータ処理等の負荷処理を要求してきた場合には負荷分散サーバＢ３００が処理する。
【００４７】
いま、負荷分散サーバＡ２００の負荷が負荷分散サーバＢ３００の負荷よりも所定量以上多い状態のとき、関東地方在住の会員がデータ処理等の負荷処理を要求してきた場合には、負荷分散サーバＡ２００の負荷の所定量を負荷分散サーバＢ３００に融通して、負荷分散サーバＢ３００に処理させる。このようにして、各負荷分散サーバの負荷が偏らないように分散して処理が行われる。
【００４８】
次に、負荷分散サーバ間にリンクを張る処理方法について説明する。
図２は、本実施の形態においてリンク（本実施の形態では負荷を融通するための負荷融通リンク）を張る処理方法を示すフローチャートである。
図２において、まず、負荷分散サーバのディレクトリサーバアクセス手段は、自サーバの情報として、自身のサーバ名、自身のＩＰアドレス及びＯＦＦ（他の分散処理サーバに接続されていないことを表す）にした連結済みフラグの情報をディレクトリサーバ１００のフラグ管理表管理手段１１０が管理するフラグ管理表に登録する（図２のステップＡ１）。
【００４９】
ディレクトリサーバ１００は、フラグ管理表に登録された負荷分散サーバが、ディレクトリサーバ１００に登録された最初の負荷分散サーバかどうか判定する（図２のステップＡ２）。ステップＡ２の判定結果がイエスの場合、その負荷分散サーバは、ネットワーク７００を介してディレクトリサーバ１００に最初にリンクされた負荷分散サーバ（本実施の形態では負荷分散サーバＡ２００）となる。
【００５０】
そして、ディレクトリサーバ１００は、負荷分散サーバＡ２００に、フラグ管理手段２１０が管理するフラグをダミーＯＮにするメッセージを返す。またディレクトリサーバ１００のフラグ管理表管理手段１１０はフラグ管理表の連結済みフラグを負荷分散サーバＡ２００に関してＯＮにし、負荷分散サーバＡ２００）のＩＰアドレスと共に保持する（図２のステップＡ１８）。
【００５１】
フラグ管理表中の負荷分散サーバＡ２００に関する連結済みフラグがＯＮになることにより、リンクを受け入れることが可能であることが示される。
尚、フラグ管理表の連結済みフラグは基本的には他の負荷分散サーバにリンクしている場合にＯＮにするが、最初に参加してきた１台目の負荷分散サーバについては、他の負荷分散サーバにリンクしていない場合でも、フラグ管理表の連結済みフラグをＯＮにして、後から参加してくるサーバに対してリンク受け入れ準備ができていることを示す。
【００５２】
次に、負荷分散サーバＡ２００では、フラグ管理手段２１０が、自身のフラグをダミーＯＮの状態（他の負荷分散サーバからリンクを受け入れる準備はできているが、リンクが１つしかなく２つに達していない状態）に変更する（図２のステップＡ１９）。
図２のステップＡ２の判定結果が、ノーの場合、負荷分散サーバのディレクトリサーバアクセス手段は、ディレクトリサーバ１００のフラグ管理表に登録してある負荷分散サーバに関する情報であるサーバ名、連結済みフラグ及びＩＰアドレスの情報の組を全て取得する（図２のステップＡ３）。
【００５３】
負荷分散サーバの負荷融通リンク管理手段は、ステップＡ３で取得した組となる情報のうち連結済みフラグがＯＮで且つ規定値フラグにチェックがついていない負荷分散サーバの情報の組をランダムに１つ選び、その中にあるＩＰアドレスの情報を用いてその連結済みフラグがＯＮで且つ規定値フラグにチェックがついていない負荷分散サーバに対して、負荷融通リンクを張る要求を行う（図２のステップＡ４）。即ち、ステップＡ４では、リンクを受け入れ可能な状態にあると共に、リンク数が規定値（本実施の形態では最大リンク数は４つ）に達していない負荷分散サーバを判別してリンクを張る要求を行うことになる。
【００５４】
リンク要求元負荷分散サーバの負荷融通リンク管理手段は、負荷融通リンクを張る要求を受けた側の負荷分散サーバが規定値のリンクを既に持っているか判定する（図２のステップＡ５）。ステップＡ５の判定結果がノーだった場合、負荷融通リンクを張る要求元の負荷分散サーバの負荷融通リンク管理手段は、要求先の負荷分散サーバに負荷融通リンクを張る（ステップＡ６）。
【００５５】
ステップＡ６で負荷融通リンクを張られたリンク要求先負荷分散サーバの負荷融通リンク管理手段は、リンク先負荷分散サーバの情報として、リンクを張った負荷分散サーバのサーバ名、ＩＰアドレス、自身が受動的にリンクを張られたことを表すＩＮの情報を組みとして負荷融通リンク管理手段に格納する（図２のステップＡ７）。
さらに、負荷融通リンク要求元の負荷分散サーバの負荷融通リンク管理手段は、リンク先負荷分散サーバの情報として、リンクを張った先（リンク先負荷分散サーバ）のサーバ名、ＩＰアドレス、自身が能動的にリンクを張ったことを表すＯＵＴの情報を組みとして負荷融通リンク管理手段に格納する（図２のステップＡ８）。
【００５６】
ステップＡ５の判定結果がイエスの場合、図２のステップＡ８に進む。
負荷分散サーバの負荷融通リンク管理手段は、能動的に（自発的に）負荷融通リンクを張る規定値（最大能動リンク数）２に達したか判定する（図２のステップＡ９）。
負荷分散サーバの負荷融通リンク管理手段は、ステップＡ９の判定結果がノーの場合、ステップＡ３で取得したフラグ管理表中の情報の組に、連結済みフラグがＯＮでチェックがついていない負荷分散サーバがあるかどうか判定する（図２のステップＡ１０）。
【００５７】
負荷分散サーバの負荷融通リンク管理手段は、ステップＡ１０の判定結果がイエスの場合、ステップＡ４を再度行う。負荷分散サーバの負荷融通リンク管理手段は、ステップＡ９の判定結果がイエスだった場合、及びステップＡ１０の判定結果がノーだった場合、ステップＡ１１に進む。
負荷分散サーバの負荷融通リンク管理手段は、負荷分散サーバが２つ以上の負荷融通リンクを張れたか判定する（図２のステップＡ１１）。ステップＡ１１の判定結果がイエスだった場合、負荷分散サーバは自身の中に持ち自身の状態を表すフラグをＯＮにする（図２のステップＡ１２）。前記ＯＮフラグにより、当該負荷分散サーバが２つ以上の負荷分散サーバとリンクしたことが示される。
【００５８】
次に、負荷分散サーバのディレクトリサーバアクセス手段は、ディレクトリサーバ１００に、自身のサーバ名、ＩＰアドレスを渡し、フラグ管理表の負荷分散サーバに対応する連結済みフラグをＯＮにするように要求する（図２のステップＡ１３）。
ステップＡ１１の判定結果がノーだった場合、ステップＡ１４に進む。負荷分散サーバの負荷融通リンク管理手段は１つ以上の負荷融通リンクを張れたか判定する（図２のステップＡ１４）。
【００５９】
ステップＡ１４の判定結果がイエスの場合、負荷分散サーバのディレクトリサーバアクセス手段は、ディレクトリサーバ１００に、自身のサーバ名、ＩＰアドレスを渡し、フラグ管理表のサーバ名及びＩＰアドレスに対応する連結済みフラグをＯＮにするように要求すると共に、負荷分散サーバは自身の内部のフラグをダミーＯＮにする（図２のステップＡ１５）。
【００６０】
ディレクトリサーバ１００のフラグ管理表管理手段１１０は、要求のあった負荷分散サーバに関して、フラグ管理表の連結済みフラグをＯＮの状態に変更する（図２ステップＡ１６）。ステップＡ１４の判定結果がノーの場合、ステップＡ１７にすすむ。負荷分散サーバが１つ以上の負荷融通リンクを張れない状況は、ステップＡ２の判定結果がイエスの場合のディレクトリサーバに登録された最初のディレクトリサーバである場合しか通常おこらない。よってステップＡ１７にくる場合は通常ありえない、よって何も行わない（図２のステップＡ１７）。
【００６１】
図３は、本実施の形態においてディレクトリサーバ１００に最初の１台の負荷分散サーバをリンクさせる場合の説明図である。図２のフローチャートに従ってディレクトリサーバ１００に最初の１台の負荷分散サーバをリンクする例を図３を用いて説明する。
先ず、負荷分散サーバＡ（図３の２００）のディレクトリサーバアクセス手段２２０は、自身のサーバ名ここではＳｅｒｖｅｒＡ、自身のＩＰアドレスＸＸＸ．ＹＹＹ．ＺＺＺ．００１、連結済みフラグをＯＦＦにしてディレクトリサーバ（図３の１００）のフラグ管理表に登録する。
【００６２】
このサーバＡ２００はディレクトリサーバ１００に登録された最初のサーバなので、ディレクトリサーバ１００は、負荷分散サーバＡ２００にフラグをダミーＯＮにするメッセージを返す。またディレクトリサーバ１００のフラグ管理表管理手段１１０は、フラグ管理表のＳｅｒｖｅｒＡの行の連結済みフラグのところをＯＮに変更する。負荷分散サーバＡ２００では、フラグ管理手段２１０がフラグをダミーＯＮに変更する。以上のようにして、ディレクトリサーバ１００に最初の１台の負荷分散サーバＡ２００が登録される。
【００６３】
図４は、本実施の形態においてディレクトリサーバ１００に最初の１台の負荷分散サーバをリンクした後、もう１台の負荷分散サーバを追加し負荷分散サーバを２台にする場合の説明図である。
前述したようにして、負荷分散サーバＡ２００は既にディレクトリサーバ１００に登録してある。負荷分散サーバＢ（図４の３００）は、自身のサーバ名ここではＳｅｒｖｅｒＢ、自身のＩＰアドレスＸＸＸ．ＹＹＹ．ＺＺＺ．００２、連結済みフラグをＯＦＦにしてディレクトリサーバ１００のフラグ管理表に登録する。
【００６４】
負荷分散サーバＢの３００は、ディレクトリサーバ１００に登録された最初の負荷分散サーバではないので、負荷分散サーバＢ３００はディレクトリサーバ１００のフラグ管理表に登録してある情報を取得する。取得した時点では、ＳｅｒｖｅｒＢの連結済みフラグはＯＦＦである。
連結済みフラグがＯＮでチェックのついていない負荷分散サーバは、ＳｅｒｖｅｒＡすなわち負荷分散サーバＡ２００のみなので、負荷融通リンク管理管理手段３３０はこれを選び、負荷融通リンク管理管理手段３３０はこのサーバＡ２００に対して負荷融通リンクを張る要求を行う。
【００６５】
負荷融通リンクを張る要求を受けた負荷分散サーバＡ２００のリンク数が規定の最大リンク数（この場合４とする。）未満であるため、要求元である負荷分散サーバＢ３００からリンク要求を受ける先である負荷分散サーバＡ２００にリンクが張られる。
リンクを張った側（負荷分散サーバＢ３００）も、張られた側（負荷分散サーバＡ２００）も自分が持つリンクを１つ増やす。
【００６６】
リンクには、リンクの張り側の場合、即ち能動的にリンクを張った側の負荷融通リンク管理手段が保有管理する表のＩＮ／ＯＵＴ種別がＯＵＴとなる。この場合、負荷分散サーバＢ３００から、負荷分散サーバＡ２００にリンクが張られたので、負荷分散サーバＢ３００の負荷融通管理手段３３０には、負荷分散サーバＡ２００のサーバ名、ＩＰアドレス及びリンクの方向が能動的であることを表すＯＵＴが格納される。
【００６７】
一方、負荷分散サーバＡ２００は受動的にリンクを張ったため、負荷分散サーバＡ２００の負荷融通リンク管理手段２３０には、負荷分散サーバＢ３００のサーバ名、ＩＰアドレス、及びリンクの方向が受動的であることを表すＩＮが格納される。この場合、ＳｅｒｖｅｒＢ、ＸＸＸ．ＹＹＹ．ＺＺＺ．００２、ＩＮの情報が、負荷融通リンク管理手段２３０の保有管理する表に格納される。
【００６８】
図５を用いて、負荷分散サーバが、負荷分散サーバＡ（図５の２００）と負荷分散サーバＢ（図５の３００）の２台から、負荷分散サーバＣ（図５の４００）を増やす場合の動作を説明する。
負荷分散サーバＣ４００を増やす前の状態では、負荷分散サーバＢ３００から負荷分散サーバＡ２００にリンクが張られており、負荷分散サーバＢ３００の負荷融通リンク管理手段３３０は負荷分散サーバＡ２００のサーバ名、ＩＰアドレス及びリンクの方向を表すＯＵＴの情報を保持している。
【００６９】
一方、負荷分散サーバＡ２００の負荷融通リンク管理手段２３０は、負荷分散サーバＢ３００のサーバ名、ＩＰアドレス及びリンクの方向を表すＩＮの情報をもっている。
図５では矢印の出元となる負荷分散サーバＢ３００はリンク先となるサーバＡ２００のサーバ名、ＩＰアドレスに加えＯＵＴの情報を持ち、矢印の行き先となる負荷分散サーバＡ２００はリンク先となるサーバＢ３００のサーバ名、ＩＰアドレスに加えＩＮの情報を保有している。
【００７０】
この状態で負荷分散サーバＣ４００を新たにシステムに追加すると、負荷分散サーバＣ４００は、ディレクトリサーバ１００のフラグ管理表に自身のサーバ名、ＩＰアドレス及び連結済みフラグをＯＦＦで登録する。その後ディレクトリサーバ１００から、自身の情報が追加されたフラグ管理表に格納された情報を取得する。
取得した情報は、負荷分散サーバＡ２００に対応する情報と、負荷分散サーバＢ３００に対応する情報が、連結済みフラグがＯＮになっているので、図２のフローチャートに従って、負荷分散サーバＣ４００から負荷分散サーバＡ２００へ、自身がＯＵＴの方向で負荷融通リンクが張られる。また負荷分散サーバＣ４００から負荷分散サーバＢ３００へ自身がＯＵＴの方向で負荷融通リンクが張られる。
【００７１】
各負荷分散サーバが能動的にリンクを出す規定値（最大能動リンク数）は２とするので、これ以上リンクを張らない。また、負荷分散サーバＣ４００が２つ以上のリンクを張れたので、負荷分散サーバＣ４００の負荷融通リンク管理手段４３０は、自身が持つフラグをＯＮにする。また、負荷分散サーバＣ４００のディレクトリサーバアクセス手段４２０は、ディレクトリサーバ１００に自身のサーバ名、ＩＰアドレスを渡し、ディレクトリサーバ１００内のフラグ管理表中の自身に対応する部分の連結済みフラグをＯＮにするように要求し、ディレクトリサーバ１００のフラグ管理表管理手段１１０はその要求に従って、フラグ管理表における負荷分散サーバＣ４００に対応する連結済みフラグをＯＮにする。
【００７２】
図６を用いて、負荷分散サーバが３台から４台に追加される例を説明する。負荷分散サーバが３台の状態は図５に示した通りである。
この状態で、４台目の負荷分散サーバである負荷分散サーバＤ（図６の５００）が追加すると、まず負荷分散サーバＤ５００は、ディレクトリサーバ１００に自身のサーバ名、ＩＰアドレス及び連結済みフラグをＯＦＦで登録する。その後ディレクトリサーバ１００から、自身の情報が追加されたフラグ管理表に格納された情報を取得する。
【００７３】
取得した情報は、負荷分散サーバＡ（図６の２００）に対応するものと、負荷分散サーバＢ（図６の３００）に対応するものと負荷分散サーバＣ（図６の４００）に対応する情報が、連結済みフラグがＯＮになっている。負荷分散サーバＤ５００は、能動的にリンクを張る規定値を２としているので、この中から２台の負荷分散サーバをランダムに選びリンクを張ることになる。
【００７４】
この場合の例として、負荷分散サーバＢ３００と負荷分散サーバＣ４００にリンクを張るものとする。負荷分散サーバＤ５００内の負荷融通リンク管理手段５３０では、負荷分散サーバＢ３００と負荷分散サーバＣ４００のサーバ名、ＩＰアドレス、そしてリンクの方向が能動的であることを表すＯＵＴを格納する。
負荷分散サーバＢ３００内の負荷融通リンク管理手段３３０では、負荷分散サーバＡ２００に対応するサーバ名、ＩＰアドレス、リンクの方向が能動的であることを表すＯＵＴが格納されているのに加えて、負荷分散サーバＣ４００と負荷分散サーバＤ５００に対応するサーバ名、ＩＰアドレス、リンクの方向が受動的であることを表すＩＮの情報が格納されている。
【００７５】
負荷分散サーバＣ内の負荷融通リンク管理手段（図１の４３０）では、負荷分散サーバＡ（図６の２００）と負荷分散サーバＢ（図６の３００）に対応するサーバ名、ＩＰアドレス、そしてリンクの方向を表すＯＵＴが格納されているのに加えて、負荷分散サーバＤ（図６の５００）に対応するサーバ名、ＩＰアドレス、そしてリンクの方向を表すＩＮの情報を格納されている。
【００７６】
また、負荷分散サーバＤ５００は、ディレクトリサーバ１００に自身のサーバ名、ＩＰアドレスを渡し、ディレクトリサーバ１００内のフラグ管理表中の自身に対応する部分の連結済みフラグをＯＮにするように要求し、ディレクトリサーバ１００のフラグ管理表管理手段１１０は前記要求に従って、そのフラグ管理表中の負荷分散サーバＤ５００に対応する連結済みフラグをＯＮにする。
【００７７】
次に、図７を用いて、負荷分散サーバが４台から５台に追加される場合の１例について説明する。
４台の負荷分散サーバがシステムに追加完了した時点では、図６の状態になっていると仮定する。この状態で、まず負荷分散サーバＥ（図７の６００）は、ディレクトリサーバ１００に自身のサーバ名、ＩＰアドレス及び連結済みフラグをＯＦＦで登録する。その後ディレクトリサーバ１００のフラグ管理表管理手段１１０から、自身の情報が追加されたフラグ管理表の情報を取得する。
【００７８】
取得した情報は、負荷分散サーバＡ（図７の２００）に対応するものと、負荷分散サーバＢ（図７の３００）に対応するものと負荷分散サーバＣ（図７の４００）、負荷分散サーバＤ（図７の５００）に対応する情報が、連結済みフラグがＯＮになっている。負荷分散サーバＥ６００は、能動的にリンクを出す規定値を２としているので、この中から２台の負荷分散サーバをランダムに選びリンクを張ることになる。
【００７９】
この場合の例として、負荷分散サーバＣ４００と負荷分散サーバＤ５００にリンクを張る仮定する。この結果、負荷分散サーバＣ４００の負荷融通リンク管理手段４３０は、２つの負荷融通サーバである負荷分散サーバＢ３００と負荷分散サーバＡ２００に対してはリンク方向がＯＵＴの方向をもって、又、負荷分散サーバＤ５００と負荷融通サーバＥ６００に対応してはＩＮの方向をもったリンクとし、サーバ名とＩＰアドレスとともに格納する。
【００８０】
これにより、４つの負荷分散サーバＡ２００からＤ５００に対するリンクを負荷融通リンク管理手段４３０に格納することとなる。
負荷分散サーバＤ５００の負荷融通リンク管理手段５３０は、負荷分散サーバＢ３００と負荷分散サーバＣ４００の２つに対してＯＵＴの方向をもって、且つ負荷融通サーバＥ６００に対応してはＩＮの方向をもったリンクとして、サーバ名とＩＰアドレスとともに格納する、よって３つのサーバに対するリンクを格納することとなる。
【００８１】
負荷融通サーバＥ６００の負荷融通リンク管理手段６３０は、負荷分散サーバＣ４００と負荷分散サーバＤ５００に対してＯＵＴの方向のリンクを持ち、サーバ名及びＩＰアドレスとともにこれらの情報を保有する。よって負荷融通サーバＥ６００は２つのリンクを持つこととなる。この後、負荷分散サーバＥ６００は、ディレクトリサーバ１００に自身のサーバ名、ＩＰアドレスを渡し、ディレクトリサーバ１００のフラグ管理表中の自身に対応する部分の連結済みフラグをＯＮにするように要求する。
【００８２】
ディレクトリサーバ１００のフラグ管理表管理手段１１０は、その要求に従って、フラグ管理表内の負荷分散サーバＥ６００に対応する連結済みフラグをＯＮにする。このようにして、２つのリンクを持つ負荷分散サーバＡ２００、Ｅ６００、３つのリンクを持つ負荷分散サーバＢ３００、Ｄ５００、及び、４つのリンクをもつ負荷分散サーバＣ４００ができたこととなる。
【００８３】
６台以上の負荷分散サーバに関しても、図２のフローチャートに従い、負荷融通リンクを受けた負荷分散サーバが最大持ちうる規定値である最大リンク数（図２のステップＡ５参照）を４とし、能動的に負荷融通リンクを最大出し得る規定値である能動的最大リンク数（図２のステップＡ９参照）を２とし、図１に示した負荷分散サーバＦ、Ｇ、Ｈ、・・・と何台でも増やしていける。
【００８４】
この構成方法をとった場合、図７の時点で全てのサーバが２つ以上のサーバ名、ＩＰアドレス、ＩＮまたはＯＵＴの区別を負荷融通リンク管理手段に保持している。よって、どれか単一の負荷分散サーバが障害などにより故障した場合でも、もう１つのリンクが他の負荷分散サーバとリンクした状態で残っており、単一障害に対して連結性を保つことが可能になる。
また、負荷分散サーバの台数がＮ（正の整数）台となった場合、全体での負荷融通リンクの総数は（２Ｎ−３）本となる。
【００８５】
次に、図４のブロック図と図８のメッセージシーケンスチャートを用いて、負荷分散サーバ群の負荷分散方法について説明する。
図４において、負荷分散サーバＡ（図４の２００）は、負荷融通リンク管理手段（図４の２３０）内にリンク先のサーバ名、ＩＰアドレス、ＩＮ／ＯＵＴの種別を格納している。ここでは、サーバ名ＳｅｒｖｅｒＢ、ＩＰアドレスＸＸＸ．ＹＹＹ．ＺＺＺ．００２、ＩＮ／ＯＵＴの種別ＩＮが格納されている。
【００８６】
そこで、図８の処理１．で、負荷分散サーバＡ２００の負荷融通リンク格納手段２３０から負荷分散サーバＡ２００の負荷情報交換手段２４０にサーバ名、ＩＰアドレス及びＩＮ／ＯＵＴ種別の組の情報を渡す。
次に、図８の処理２．で、負荷分散サーバＡ２００の負荷情報交換手段２４０は、ネットワーク７００を通じて、負荷分散サーバＢ３００の負荷情報交換手段３４０に、負荷分散サーバＡ２００の負荷情報を渡すと共に、負荷分散サーバＢ３００の負荷情報を要求する。
【００８７】
次に、図８の処理３．で、負荷分散サーバＢ３００の負荷情報交換手段３４０は、負荷分散サーバＡ２００の負荷情報交換手段２４０に、サーバＢ３００の負荷情報を返す。
次に、図８の処理４．で、負荷分散サーバＡ２００の負荷情報交換手段２４０は、負荷分散サーバＡ２００の負荷が負荷分散サーバＢ３００の負荷より大きいか判定する。
次に、図８の処理５．で、負荷分散サーバＡ２００の負荷情報交換手段２４０は、負荷分散サーバＡ２００の負荷が負荷分散サーバＢ３００の負荷より大きい場合、負荷分散サーバＡ２００の負荷の一部を、ネットワーク７００を通じて、負荷分散サーバＢ３００に移譲、即ち、融通する。この場合、負荷分散サーバＡ２００より負荷分散サーバＢ３００の負荷が大きくならないようにする。
【００８８】
次に、図８の処理６．で、負荷分散サーバＢ３００の負荷融通リンク格納手段３３０から負荷分散サーバＢ３００の負荷情報交換手段３４０にサーバ名、ＩＰアドレス及びＩＮ／ＯＵＴの組の情報を渡す。
次に、図８の処理７．で、負荷分散サーバＢ３００の負荷情報交換手段３４０は、ネットワーク７００を通じて、負荷分散サーバＡ２００の負荷情報交換手段２４０に、負荷分散サーバＢ３００の負荷情報を渡すと共に、負荷分散サーバＡ２００の負荷情報を要求する。
【００８９】
次に、図８の処理８．で、負荷分散サーバＡ２００の負荷情報交換手段２４０は、負荷分散サーバＢ３００の負荷情報交換手段３４０に、負荷分散サーバＡ２００の負荷情報を返す。
次に、図８の処理９．で、負荷分散サーバＢ３００の負荷情報交換手段２４０は、負荷分散サーバＢ３００の負荷が負荷分散サーバＡ２００の負荷より大きいか判定する。
【００９０】
次に、図８の処理１０．で、負荷分散サーバＢ３００の負荷情報交換手段３４０は、負荷分散サーバＢ３００の負荷が負荷分散サーバＡ２００の負荷より大きい場合、負荷分散サーバＢ３００の負荷の一部を、ネットワーク７００を通じて、負荷分散サーバＡ２００に移譲し、負荷分散サーバＢ３００の負荷の一部の処理を負荷分散サーバＡ２００に処理させる。
以上の処理１．から処理１０．の手順を一定周期間隔で行うことにより、負荷分散サーバ間の負荷の平準化が行える。
【００９１】
次に、図９のメッセージシーケンスチャートを用いて、負荷分散サーバの障害発見及びディレクトリサーバ１００への障害情報の報告方法について説明する。以下、負荷分散サーバＡ２００と負荷分散サーバＣ４００の間に負荷融通リンクがあり、その負荷融通リンクを用いて負荷分散サーバＡ２００が負荷分散サーバＣ４００の障害を発見した場合を例として説明する。
【００９２】
まず、負荷分散サーバＡ２００の負荷情報交換手段２４０は、ネットワーク７００を通して負荷分散サーバＣ４００の負荷情報交換手段４４０に負荷分散サーバＡ２００の負荷情報を渡すと共に、負荷分散サーバＣ４００の負荷情報を要求する。
次に、負荷分散サーバＡ２００の負荷情報交換手段２４０は、負荷分散サーバＣ４００の負荷情報交換手段４４０からの応答が所定時間返ってこずタイムアウトすると、負荷分散サーバＣ４００に障害の可能性有りと判定する。
【００９３】
次に、負荷分散サーバＡ２００の負荷情報交換手段２４０は、負荷分散サーバＡ２００の負荷融通リンク管理手段２３０に、負荷分散サーバＣ４００は障害の可能性ありと通知する。
次に、負荷分散サーバＡ２００の負荷融通リンク管理手段２３０は、負荷分散サーバＣ４００を障害可能性ありの状態とする。負荷分散サーバＣ４００を障害可能性ありの情報は、負荷融通リンク管理手段２３０が保有しているリンク先サーバの表に追加して保有するようにしてもよい。
【００９４】
次に、負荷分散サーバＡ２００の負荷融通リンク管理手段２３０は、負荷情報交換手段２４０からの障害可能性通知に対する応答として、サーバＣ４００を除いたサーバＡ２００のリンク数、リンク先サーバ名と、サーバＣ４００に対してＩＮとＯＵＴのどちらの種別でリンクが張られていたかのリンク種別を、負荷分散サーバＡ２００の負荷情報交換手段２４０に報告する。
【００９５】
次に、負荷分散サーバＡ２００の負荷情報交換手段２４０は、負荷分散サーバＣ４００の障害可能性、サーバＣ４００を除いたサーバＡ２００のリンク数、リンク先サーバ名、サーバＣ４００に対するリンク種別を、負荷分散サーバＡ２００の障害情報通知手段２５０に通知する。
次に、負荷分散サーバＡ２００の障害情報通知手段２５０は、負荷分散サーバＡのディレクトリサーバアクセス手段２２０に、負荷分散サーバＣ４００の障害可能性と、サーバＣ４００を除いたサーバＡ２００のリンク数、リンク先サーバ名と、サーバＣ４００に対してＩＮとＯＵＴのどちらの種別でリンクがはられていたかのリンク種別を通知する。
【００９６】
次に、負荷分散サーバＡ２００のディレクトリサーバアクセス手段２２０は、ネットワーク７００を通じて、ディレクトリサーバ１００の障害情報収集手段１２０に、負荷分散サーバＣ４００の障害可能性と、サーバＣ４００を除いたサーバＡ２００のリンク数、リンク先サーバ名と、サーバＣ４００に対してＩＮとＯＵＴのどちらの種別でリンクがはられていたかのリンク種別を通知する。
各サーバからの障害情報はディレクトリサーバ１００の障害情報収集手段１２０によって収集される。
【００９７】
図９を用いて障害情報のディレクトリサーバ１００への報告方法を説明した。その報告された内容をどのように活用して障害可能性の判定や、障害サーバに隣接するサーバの負荷融通リンクを張るなどの障害への対応を図１０から図１２のフローチャートを用いて説明する。
先ず、図１０のフローチャートを用いて、負荷分散サーバに障害が発生した可能性がある場合のディレクトリサーバ１００の動作の詳細を説明する。
【００９８】
ディレクトリサーバ１００の障害情報収集手段１２０が、ある負荷分散サーバから、障害の可能性のある負荷分散サーバのサーバ名、その負荷分散サーバへのリンク種別、前記ある負荷分散サーバの障害の可能性ある負荷分散サーバを除いたリンク数とリンク先の情報をイベントとして受け取る（図１０のステップＢ１）。
次に、ディレクトリサーバ１００の障害情報収集手段１２０は、タイマを一定時間設定し、他の負荷分散サーバからの障害発生報告のイベントを待つ（図１０のステップＢ２）。
【００９９】
次に、ディレクトリサーバ１００の障害情報収集手段１２０は、タイマの設定時間が切れた時点で、障害の可能性のあるサーバとして、同一のサーバが、複数の負荷分散サーバからイベントが上がったか判定する（図１０のステップＢ３）。
図１０のステップＢ３の結果がイエスの場合、ディレクトリサーバの障害情報収集手段１２０は、障害の可能性のある負荷分散サーバを障害発生したものとして確定させて、そのサーバ名と障害の可能性を報告した各負荷分散サーバ及びその負荷分散サーバのリンク数、リンク先、障害確定サーバへのリンクのＩＮ／ＯＵＴ種別の情報を、障害情報解析手段１３０に渡す（図１０のステップＢ４）。
【０１００】
ここで、所定時間内に複数の負荷分散サーバから障害情報を受けた場合に障害発生と判定し、１つの負荷分散サーバのみから障害情報を受けた場合には障害発生とは判定しない。その理由は、各負荷分散サーバのリンクが完了した状態では、各負荷分散サーバのリンク数が複数になるように設定しているため、いずれかの負荷分散サーバに障害が発生した場合には、これにリンクしている複数の負荷分散サーバから障害情報が通知されるのが普通であり、その一方、１つのサーバのみから障害情報が通知される場合はネットワーク障害等のように負荷分散サーバ以外の障害によるものと判定しているためである。
【０１０１】
次に、ディレクトリサーバ１００の障害情報解析手段１３０は、２つの負荷分散サーバから障害可能性の情報が上がったかどうか判定する（図１０のステップＢ５）。ステップＢ５の判定結果がイエスの場合、障害情報解析手段１３０は、障害が起こったノード（負荷分散サーバ）のリンク数が２なので何も行わず、その後図１０のステップＢ１２に進む（図１０ステップＢ６）。
【０１０２】
図１０のステップＢ５の結果がノーの場合、ディレクトリサーバ１００の障害情報解析手段１３０は、３つの負荷分散サーバから障害可能性が上がったかどうか判定する（図１０のステップＢ７）。図１０のステップＢ７の結果がイエスだったら、障害情報解析手段１３０は、後述する図１１のフローチャートＣに従いリンク再構成方法を解析結果として得て、各負荷分散サーバに通知した後、図１０のステップＢ１２に進む（図１０のステップＢ８）。
【０１０３】
図１０のステップＢ７の結果がノーの場合、障害情報解析手段１３０は、４つの負荷分散サーバから障害可能性が上がったかどうか判定する（図１０のステップＢ９）。障害情報解析手段１３０は、図１０のステップＢ９の判定結果がノーの場合、１つの負荷分散サーバがもつリンク数の上限は４なのでこの場合は起こりえない（図１０のステップＢ１０）。
【０１０４】
図１０のステップＢ９の判定結果がイエスだったら、障害情報解析手段１３０は、図１２のフローチャートＤに従いリンク再構成方法を解析結果として得て、各負荷分散サーバに通知する（図１０ステップＢ１１）。
次に、障害情報解析手段１３０は、障害と確定した負荷分散サーバに対して、フラグ管理表のサーバ名に対応するフラグをＯＦＦにするように通知する（図１０のステップＢ１２）。
【０１０５】
次に、フラグ管理表管理手段１１０は、フラグ管理表中の連結済みフラグをＯＦＦにするように通知された負荷分散サーバのフラグをＯＦＦとする（図１０のステップＢ１３）。また、図１０のステップＢ３の判定結果がノーの場合、単独のサーバからの障害報告なので、一時的なネットワーク障害の可能性もあるので何の処理も行わない（図１０のステップＢ１４）。
【０１０６】
次に、図１１のフローチャートを用いて図１０のステップＢ８における処理、即ち、負荷分散サーバに障害が発生した可能性があり、且つ、３つの負荷分散サーバからある負荷分散サーバに障害が発生したことがわかった際に、一部のリンクを張り直すことによって障害から復旧する方法について説明する。
【０１０７】
ディレクトリサーバ１００の障害情報解析手段１３０は、３つの負荷分散サーバから障害可能性があがり、障害の可能性のある負荷分散サーバのサーバ名、その負荷分散サーバへのＩＮ又はＯＵＴのリンク種別（リンク種別は前述したように、障害のある可能性ある負荷分散サーバへ負荷融通リンクを能動的に張りにいっていればＯＵＴ状態であり、障害の可能性のあるサーバから負荷融通リンクを受動的に受け取っていればＩＮ状態となる）、障害を発見した負荷分散サーバのリンク数、及び、障害を発見した負荷分散サーバのリンク先をイベントとして受け取る（図１１のステップＣ１）。
【０１０８】
次に、障害情報解析手段１３０は、障害のある負荷分散サーバへのリンク種別（ＩＮ／ＯＵＴ種別）がＩＮが２つでＯＵＴが１つかどうか判定する（図１１のステップＣ２）。図１１のステップＣ２の結果がノーの場合、ディレクトリサーバ１００の障害情報解析手段１３０は、障害のあるサーバへのＩＮ／ＯＵＴ種別がＩＮが１つでＯＵＴが２つかどうか判定する（図１１のステップＣ３）。
【０１０９】
図１１のステップＣ３の判定結果がノーの場合、ディレクトリサーバ１００の障害情報解析手段１３０は、障害のある負荷分散サーバへのＩＮ／ＯＵＴ種別がＩＮが０個でＯＵＴが３つかどうか判定する（図１１のステップＣ４）。換言すれば、障害発生可能性のある負荷分散サーバ自身のリンク種別がＩＮが３つ、ＯＵＴが０個であったどうかを判定することになる。尚、最初に参加した負荷分散サーバＡ２００が、このようなリンク種別を持つ可能性が高くなる。
【０１１０】
図１１のステップＣ５の判定結果がノーの場合、障害の可能性のあるサーバへのＩＮ／ＯＵＴ種別はＩＮが３個でＯＵＴが０個の場合となるが、ＩＮが３つということは障害が発生した負荷分散サーバが能動的に負荷融通リンクを３本出していることとなり、最大能動リンク数を超えることになるため、このようなことは起こり得ない（図１１のステップＣ５）。
【０１１１】
図１１のステップＣ２の判定結果がイエスの場合、ディレクトリサーバ１００の障害情報解析手段１３０はＩＮ／ＯＵＴ種別がＯＵＴの負荷分散サーバから、ＩＮの負荷分散サーバのうち１つに負荷融通リンクを結ぶ方法を定め、各負荷分散サーバに通知する。また、残りの１つの負荷分散サーバについても他の負荷分散サーバとリンクするように解析してリンク種別がＯＵＴになる負荷分散サーバに対してリンクするように通知する。この場合、リンク種別がＩＮになる負荷分散サーバに対しては何もしないように通知する（図１１のステップＣ６）。
【０１１２】
ステップＣ６〜Ｃ８における負荷分散サーバの決定に際しては、（１）原則としてリンク種別ＩＮとＯＵＴを再リンクの前後で変えないように決定する、（２）同じ負荷分散サーバ同士が重複してリンクしないようにする、（３）リンク数が最も少ない負荷分散サーバを優先してリンクさせる、等を考慮して再リンク構成を決定する。これらの再リンク方法の優先順位は適宜設定する。
【０１１３】
前記（１）は、再リンク構築時にリンク種別を変更することにより、コンピュータシステム全体からみて、各負荷分散サーバのリンク状態の性質が劣化することを防止して、次回再リンクを行う場合にも適切に再リンクが可能になるようにするためである。前記（２）は、一の負荷分散サーバに障害が生じた場合でも他の負荷分散サーバとリンク状態を保てるようにするためである。また前記（３）は、全ての負荷分散サーバが遍く多くの負荷分散サーバとリンクするように構成して、障害に強い構成とするためである。
【０１１４】
例えば、リンク種別がＩＮの２つの負荷分散サーバのうちどちらの負荷分散サーバに結ぶのかは、２重の重複リンクを避けるため前記ＯＵＴの負荷分散サーバのリンク先に既になっていないことを第一優先として決定し、どちらの負荷分散サーバも前記ＯＵＴの負荷分散サーバのリンク先となっていない場合にはリンク数が少ない方のリンク種別がＩＮの負荷分散サーバにリンクし、リンク数が同数の場合には２つのＩＮの負荷分散サーバのうちランダムに１つ選んでその結果を、リンク種別がＯＵＴの負荷融通サーバに通知する。リンク種別がＩＮの負荷分散サーバには何もしないように通知する（図１１のステップＣ６）。
【０１１５】
図１１のステップＣ３の判定結果がイエスの場合、ディレクトリサーバ１００の障害情報解析手段１３０はＩＮ／ＯＵＴ種別がＩＮである１つの負荷分散サーバと、ＯＵＴである２つの負荷分散サーバ間のリンク関係を調べ、ＩＮの１つとＯＵＴのいずれかで負荷融通リンクが張られていない組み合わせを見つける。その組み合わせが１つのＯＵＴとＩＮに関して見つかれば、そのＯＵＴからＩＮに負荷融通リンクを張るように通知する。
【０１１６】
その組み合わせが２組のＯＵＴとＩＮの組み合わせに関して見つかれば、ＯＵＴの負荷分散サーバのリンク数を調べ、少ない方のＯＵＴからＩＮに負荷融通リンクを張るようにし、仮にリンク数が同数であればランダムに１つのＯＵＴを選び、ＩＮに向けて能動的に負荷融通リンクを張るように、ＯＵＴの負荷分散サーバに通知する。また、残りの１つの負荷分散サーバについても他の負荷分散サーバとリンクするように解析してリンク種別がＯＵＴになる負荷分散サーバに対してリンクするように通知する。この場合、リンク種別がＩＮになる負荷分散サーバに対しては何もしないように通知する（図１１のステップＣ７）。
【０１１７】
図１１のステップＣ４の判定結果がイエスの場合は、リンク種別がＯＵＴの負荷融通サーバが３つの場合である。この場合、ディレクトリサーバ１００の障害情報解析手段１３０は、リンク種別がＯＵＴの負荷分散サーバのうち、リンク数が最も少ないものを選択し、もしリンク数が同数ならばランダムに１つの負荷分散サーバを選び、その負荷分散サーバからリンク先にもリンク元にもなっていない負荷分散サーバを１つ選んでリンクを張る。リンクを張られた負荷分散サーバのリンク種別はＩＮになる。
【０１１８】
もし２つ選べる場合にはリンク数の少ない負荷分散サーバに負荷融通リンクを張ることとする。ディレクトリサーバの障害情報解析手段１３０は負荷融通リンクの張り元に、張り先の負荷融通サーバへ負荷融通リンクを張るように伝え、他の負荷融通サーバには何も行わないようにすることを通知する。また、残りの１つの負荷分散サーバについても他の負荷分散サーバとリンクするように解析してリンク種別がＯＵＴになる負荷分散サーバに対してリンクするように通知する。この場合、リンク種別がＩＮになる負荷分散サーバに対しては何もしないように通知する（図１１のステップＣ８）。
【０１１９】
次に、図１２のフローチャートを用いて、負荷分散サーバに障害が発生した可能性があり、且つ、４つの負荷分散サーバからある負荷分散サーバに障害が発生したことがわかった際の障害からの復旧方法について説明する。
ディレクトリサーバ１００の障害情報解析手段１３０は、４つの負荷分散サーバから障害可能性があがり、障害の可能性のあるサーバ名、そのサーバへのＩＮ／ＯＵＴリンク種別（これは障害のある可能性ある負荷分散サーバへ負荷融通リンクを能動的に張りにいっていればＯＵＴであり、障害の可能性のある負荷分散サーバから負荷融通リンクを受動的に受け取っていればＩＮとなる）、障害を発見した負荷分散サーバのリンク数、及び、障害を発見した負荷分散サーバのリンク先をイベントとして受け取る（図１２のステップＤ１）。
【０１２０】
次に、ディレクトリサーバ１００の障害情報解析手段１３０は、障害の可能性のある負荷分散サーバへのＩＮ／ＯＵＴ種別がＩＮが２つ、ＯＵＴが２つの場合であるか判定する（図１２のステップＤ２）。
図１２のステップＤ２の判定結果がイエスの場合、ディレクトリサーバ１００の障害情報解析手段１３０は、リンク種別がＯＵＴの２つの負荷分散サーバから、リンク種別がＩＮの２つの負荷分散サーバへそれぞれ１本ずつのリンクが既存のリンクと重複なく引ける組み合わせがあるか判定する（図１２のステップＤ３）。通常はステップＤ３の処理によってリンクさせることが可能である。
【０１２１】
次に、図１２のステップＤ３の判定結果がイエスの場合、図１２のステップＤ３で見つけた組み合わせに対して、ディレクトリサーバ１００の障害情報解析手段１３０はリンク種別がＯＵＴの２つの負荷分散サーバに対して、ＩＮの負荷分散サーバに負荷融通リンクをそれぞれ１本引くように通知する。またリンク種別がＩＮの負荷分散サーバに対してはなにも行わないように通知する（図１２ステップＤ４）。前記通知を受けた負荷分散サーバは、リンクを張られてきたときの処理のみを行う。
【０１２２】
図１２のステップＤ３の判定結果がノーの場合、次にディレクトリサーバ１００の障害情報解析手段１３０は、リンク種別がＯＵＴの１つの負荷分散サーバからリンク種別がＩＮの１つの負荷分散サーバへのリンクが、既存のリンクと重複せずに張れる組み合わせがあるか判定する（図１２のステップＤ５）。
【０１２３】
次に、図１２のステップＤ５の判定結果がイエスの場合、図１２のステップＤ５で見つけた組み合わせに対して、ディレクトリサーバ１００の障害情報解析手段１３０はリンク種別がＯＵＴの１つの負荷分散サーバに対して、リンク種別がＩＮの１つの負荷分散サーバに負荷融通リンクを１本張るように通知する。また、リンク種別がＩＮでリンクを張られる先の負荷分散サーバに対しては何も行わないように通知する（図１２ステップＤ６）。
【０１２４】
次に、ディレクトリサーバ１００の障害情報解析手段１３０は、図１２のステップＤ５で見つけた組み合わせ以外のＯＵＴの負荷分散サーバに対しては、フラグ管理表管理手段１１０が管理するフラグ管理表を渡し、連結済みフラグがＯＮで負荷分散サーバがリンク先として持たない負荷分散サーバを１つ選び、負荷融通リンクを１本張るように通知する（図１２ステップＤ７）。
【０１２５】
図１２のステップＤ５の判定結果がノーの場合、ディレクトリサーバ１００の障害情報解析手段１３０は、リンク種別がＯＵＴの２台の負荷分散サーバそれぞれに対して、フラグ管理表管理手段１１０が管理するフラグ管理表を渡し、連結済みフラグがＯＮのところから１箇所選び負荷融通リンクを１本張るように通知し、リンク種別がＩＮの負荷分散サーバには何も行わないように通知する（図１２ステップＤ８）。
【０１２６】
図１２のステップＤ２の判定結果がノーの場合、障害の可能性のある負荷分散サーバへのリンク種別が、ＩＮが１つでＯＵＴが３つであるかどうか判定する（図１２ステップＤ９）。図１２ステップＤ９の判定結果がイエスの場合、ディレクトリサーバ１００の障害情報解析手段１３０は、（１）リンク種別がＯＵＴの１つの負荷分散サーバからリンク種別がＩＮの１つの負荷分散サーバへ、既存のリンクと重複なく張れる組み合わせがあるか判定すると同時に、（２）リンク種別がＯＵＴの残りの２つの負荷分散サーバを結ぶリンク（この場合、一方のＯＵＴはＩＮに変わることになる。）も既存のリンクと重複がない組み合わせかどうか判定する（図１２ステップＤ１０）。
【０１２７】
図１２のステップ１０の判定結果がイエスの場合、ディレクトリサーバ１００の障害情報解析手段１３０は、ステップＤ１０で判定した（１）の組み合わせに対して、リンク種別がＯＵＴの負荷分散サーバに、リンク種別がＩＮ側の負荷分散サーバへ負荷融通リンクを張るように伝え、（１）のＩＮ側の負荷分散サーバには何もしないように伝える。リンク数が少ない負荷分散サーバをＯＵＴに維持するようにする。
【０１２８】
またステップＤ１０で判定した（２）の残りの２つのＯＵＴ種別を持つ負荷分散サーバに対しては、リンク数が少ない方を（同じ場合はランダムに）選び、負荷融通リンクを他方のＯＵＴ種別を持つ負荷分散サーバに結ぶように伝え、一方結ばれる側の他方の負荷分散サーバには何も行わないように伝える（図１２のステップＤ１１）。この場合、他方のＯＵＴ種別を持つ負荷分散サーバはＩＮ種別に変わる。
【０１２９】
図１２のステップＤ１０の判定結果がノーの場合、図１２のステップ１０の（１）の条件に関して満たしているか判定する（図１２のステップＤ１２）。図１２のステップＤ１２の判定結果がイエスの場合、ステップＤ１０で判定した（１）の組み合わせに対して、リンク種別がＯＵＴの負荷分散サーバにリンク種別がＩＮ側の負荷分散サーバへ負荷融通リンクを張るように伝え、（１）のＩＮ側の負荷分散サーバには何もしないように伝える。
【０１３０】
また、（２）の残りの２つのＯＵＴ種別を持つ負荷融通サーバに対してはリンク数が少ない方（同じ場合はランダム）を選び、フラグ表管理手段１１０が管理するフラグ管理表を渡し、連結済みフラグがＯＮの負荷分散サーバを１つ選び負荷融通リンクを１本張るように通知し、他方のＯＵＴ種別を持つ負荷分散サーバには何もしないように通知する（図１２のステップＤ１３）。
【０１３１】
図１２のステップＤ１２の判定結果がノーの場合、ディレクトリサーバ１００の障害情報解析手段１３０は、ＯＵＴ種別を持つ負荷分散サーバの中からリンク数の少ないものを２つ選び（同じ数の場合、ランダムに２つ選び）、これらの負荷分散サーバに対してフラグ管理表を渡し、連結済みフラグがＯＮの負荷分散サーバの中から、自身がリンクを張っておらず、また張られてもいない負荷分散サーバを選び、負荷融通リンクを１本張るように通知する。その他の２つの負荷分散サーバには何もおこなわないように通知する（図１２のステップＤ１４）。
【０１３２】
図１２のステップＤ９の判定結果がノーの場合、障害の可能性のあるサーバへのＩＮ／ＯＵＴ種別はＩＮが０個でＯＵＴが４個となる。本実施の形態では自発的にリンクを張る本数を２本としているので、リンク種別ＩＮは３本以上になりえないため、これがＩＮに対応する（図１２のステップＤ１５）。
ディレクトリサーバの障害情報解析手段１３０は、ＯＵＴ種別を持つ４つの負荷分散サーバのなかで、それぞれの負荷分散サーバに対して１本ずつのリンク２組が既存のリンクと重複なくひける組み合わせがあるか判定する（図１２のステップＤ１６）。
【０１３３】
図１２のステップＤ１６の結果がイエスの場合、ディレクトリサーバ１００の障害情報解析手段１３０は、ステップＤ１５で見つけた２組それぞれに対して、リンク数が少ない負荷分散サーバから、リンク数の多い負荷分散サーバに負荷融通リンクを張るよう通知する。リンク数が同数の場合、ランダムに選び通知する側を選ぶ。残りの２つのリンク数の多い負荷分散サーバには何もしないように通知する（図１２のステップＤ１７）。
【０１３４】
図１２のステップＤ１６の結果がノーの場合、ディレクトリサーバ１００の障害情報解析手段１３０は、ＯＵＴ種別を持つ４つの負荷分散サーバのなかで、１本のリンクが既存リンクと重複なくひける組み合わせがあるか判定する（図１２のステップＤ１８）。
図１２のステップＤ１８の判定結果がイエスの場合、ディレクトリサーバ１００の障害情報解析手段１３０は、図１２のステップＤ１８で見つけた組み合わせに対して、リンク数の少ない負荷分散サーバに対して、リンク数の多い負荷分散サーバに負荷融通リンクを張るように通知する。リンク数が同数の場合にはランダムに決める。また、リンク数が多い負荷分散サーバには何もしないように通知する。
【０１３５】
また、残りの２つのＯＵＴ種別を持つ負荷分散サーバに関しては、リンク数の少ない（同じだったらランダムに選び）方の負荷分散サーバに対して、フラグ管理表を渡し、連結済みフラグがＯＮでその負荷分散サーバが既にリンクを張っているもの、及び張られているものを除き、負荷分サーバを選び、リンクを張るように通知する（図１２のステップＤ１９）。残りの１つについては警告を出すようにしてもよい。
【０１３６】
図１２のステップＤ１８の判定結果がノーだった場合、ディレクトリサーバの障害情報解析手段１３０は、４つのＯＵＴ種別を持つ負荷分散サーバの中からリンク数の少ない２つの負荷分散サーバをえらぶ、同数のものが複数あった場合ランダムに２つを選び出す。この２つの負荷分散サーバに対して、フラグ管理表を渡し、それぞれの負荷分散サーバで、フラグがＯＮでその負荷分散サーバが既にリンクを張っているもの、及び張られているものを除き、負荷分散サーバを選び、リンクを張るように通知する。その他の２つの負荷分散サーバに関しては、何もしないように通知する（図１２のステップＤ２０）。
【０１３７】
上述した実施の形態は、負荷分散サーバ間で定期的に負荷情報交換を行うことで、リンク先の負荷分散サーバの障害を発見できる負荷情報交換手段と、障害に関する情報をディレクトリサーバ１００に送る障害情報通知手段と、それらの情報を受け取り障害情報解析手段に渡す障害情報収集手段１２０と、ディレクトリサーバ１００の障害情報解析手段１３０を備え、障害情報解析手段１３０で負荷分散サーバ間で負荷融通リンクを張りなおすことを決定することで、どの負荷分散サーバも２本以上のリンクを確保できるように構成されているため、単一の負荷分散サーバの障害が発生しても負荷分散サーバ間の連結性が維持され、又、負荷分散サーバの再構成を行わなくてもよいため、各負荷分散サーバからの読み出し及び書き込みのレスポンスタイムが低下しない。
【０１３８】
即ち、障害発生に関する情報がディレクトリサーバ１００の障害情報解析手段１３０に集めることができ、そこで新たな負荷融通リンクを張る指示を行うことで、どの負荷分散サーバも２本以上のリンクを確保できるので構成されているため、単一の負荷分散サーバの障害が発生しても負荷分散サーバ間の連結性が維持され負荷分散サーバの再構成をおこなわなくてもよいので、各負荷分散サーバからの読みだし及び書き込みのレスポンスタイムが低下しない。
【０１３９】
また、負荷分散サーバに障害発生した場合、障害に関する情報をディレクトリサーバ１００の障害情報収集手段１２０に全て集めることができるように構成されているため、各負荷分散サーバが管理する情報量が、自身にリンクで繋がれているサーバのみの情報まで少なくできることにより、障害が発生した際の通信回数を少なくできる。
このように、負荷分散サーバに障害が発生した際に局所的に負荷分散サーバ間のリンクを張りなおすことで、負荷分散サーバ群全体の再構成を不要にするようにしている。また、負荷分散サーバ自身がリンクする負荷分散サーバの情報のみを管理すればよいようにして、管理データを軽減すると共に情報通信量を低減するようにしている。
【０１４０】
また、さらにある負荷分散サーバに障害発生した場合、障害に関する情報をディレクトリサーバ１００の障害情報収集手段１２０に全て集めることができるように構成されているため、各負荷分散サーバは自分がリンクを持つ負荷分散サーバの情報だけを持てばよく、リンクを持つ負荷分散サーバのそのまた先のリンクの負荷分散サーバの情報は持たなくてもよいので、各負荷分散サーバが管理する情報が少なくてすむ。
【０１４１】
更に本実施の形態の効果を詳細に説明すると、本実施の形態では、前記効果を奏するように、各負荷分散サーバがコンピュータシステムに追加される際に一定の条件を設けている。即ち、各負荷分散サーバは、他負荷分散サーバへ能動的にリンクする能動リンク状態と他負荷分散サーバから受動的にリンクされる受動リンク状態とをとることが可能であると共に、前記能動リンク状態をとることが可能な上限値である最大能動リンク数（本実施の形態では２）と、他負荷分散サーバとリンク可能な数の上限値である最大リンク数（本実施の形態では４）とが設定されており、他負荷分散サーバとは、前記最大能動リンク数及び最大リンク数の範囲内で複数リンクするように構成されている。
【０１４２】
また、ある負荷分散サーバで障害が発生した場合の障害発見は、リンク種別がＩＮまたはＯＵＴのいずれかのリンクを障害が発生した負荷分散サーバに対して張っている負荷分散サーバが、定期的負荷情報交換を行っており、この負荷情報交換がタイムアウトすることにより行うことができるように構成している。
【０１４３】
そして、障害に関する情報をディレクトリサーバ１００の障害情報収集手段１２０に全て送り、ディレクトリサーバ１００の障害情報解析手段１３０で障害が起こった負荷分散サーバにリンクを張っていた負荷分散サーバ間で負荷融通リンクを張り直すことでどの負荷分散サーバも２本以上のリンクを確保できるように構成されているため、単一の負荷分散サーバの障害が発生しても負荷分散サーバ間の連結性が維持され、負荷分散サーバの再構成を行わなくても、各負荷分散サーバからのデータの読み出し及び書き込みのレスポンスタイムが低下しないという効果がある。
【０１４４】
また、本実施の形態では、さらにある負荷分散サーバに障害発生した場合、障害に関する情報をディレクトリサーバ１００の障害情報収集手段１２０に全て集めることができるように構成されているため、各負荷分散サーバは自分がリンクを持つ負荷分散サーバの情報だけを持てばよく、リンクを持つ負荷分散サーバのそのまた先のリンクの負荷分散サーバの情報は持たなくてもよいので、各負荷分散サーバが管理する情報が少なくてすむという効果があり、又、通信する情報量を低減できるという効果をも奏する。
【０１４５】
即ち、本実施の形態に係るコンピュータリンク方法によれば、複数のコンピュータが連携して動作するコンピュータシステムにおいて、コンピュータ障害発生時にレスポンスタイムが遅延しないようにすることが可能になる。また本実施の形態に係るコンピュータリンク方法によれば、前記コンピュータシステム構築の際の通信量を抑制することが可能になる。
【０１４６】
また、本実施の形態によれば、前記コンピュータリンク方法に好適なコンピュータシステムを提供することが可能になる。
また、本実施の形態によれば、前記コンピュータシステムを構築するに好適なコンピュータ（ディレクトリサーバや負荷分散サーバ）を提供することが可能になる。
【０１４７】
また、本実施の形態によれば、コンピュータが実行することによって前記コンピュータを構築するに好適なプログラムを提供することが可能になるという効果を奏する。
尚、本実施の形態に係るコンピュータシステムは、複数の負荷分散サーバによって連携して負荷を分散処理するようにした負荷分散システムの例で説明したが、これに限られず、ノード間ネットワークを構築するコンピュータシステム等に利用可能である。
【実施例】
【０１４８】
次に、具体的な実施例を用いて本発明を実施するための最良の形態の動作を説明する。特に、負荷分散サーバに障害が発生した際の復旧方法について説明する。
まず、障害が起きたノードのリンク数が２つの場合、すなわち図１０のフローチャートのステップＢ５の判定結果がイエスの場合について説明する。
まず、５台の負荷分散サーバＡ２００からＥ６００が図７に示す関係でリンク関係を結んでいるとする。そこで、図１３の破線で示すように、負荷分散サーバＥ６００に障害が発生したとする。
【０１４９】
この場合、図９に示す処理方法に従って、負荷分散サーバＣ４００から、ディレクトリサーバ１００の障害情報収集手段１２０へ、負荷分散サーバＥ６００の障害可能性、負荷分散サーバＥ６００を除いた負荷分散サーバのリンク数３、リンク先である負荷分散サーバＡ２００、負荷分散サーバＢ３００及び負荷分散サーバＤ５００のサーバ名、負荷分散サーバＥ６００に対するリンク種別であるＩＮを伝える。
【０１５０】
また、負荷分散サーバＤ５００からディレクトリサーバ１００の障害情報収集手段１２０へ、ディレクトリサーバＥ６００の障害可能性、負荷分散サーバＥを除いた負荷分散サーバのリンク数２、リンク先である負荷分散サーバＢ３００及び負荷分散サーバＣ４００のサーバ名、負荷分散サーバＥに対するリンク種別であるＩＮを伝える。２つの負荷分散サーバＣ４００、Ｄ５００から障害可能性が上がるので、図１０のフローチャートのステップＢ４で、障害の可能性のあるサーバを障害発生と確定させ、障害の可能性を報告した各負荷分散サーバ及びそのリンク数、リンク先と障害が確定したサーバ（この場合負荷分散サーバＥ６００）へのＩＮ／ＯＵＴリンク種別を障害情報解析手段１３０に送信する。
【０１５１】
この場合は、図１３に示すように、負荷分散サーバＥ６００に障害が発生した状態である。この後、障害情報解析手段１３０は、図１０のフローチャートのＢ６の処理を行う、すなわち何も行わない。ただし、負荷分散サーバＥ６００の障害が確定したことのみを、負荷分散サーバＣ４００、負荷分散サーバＤ５００に伝える。負荷分散サーバＣ４００の負荷融通リンク管理手段４３０はその表から（図４参照）、負荷分散サーバＥ６００に対応する行を削除する。
【０１５２】
負荷分散サーバＤ５００の負荷融通リンク管理手段５３０はその表から、負荷分散サーバＥ６００に対応する行を削除する。その後、図１０のフローチャートＢ１２に従い、障害情報解析手段１３０は、障害と確定した負荷分散サーバＥ６００に対してフラグ管理表の連結済みフラグをＯＦＦにするように通知する。フラグ管理表を管理するフラグ管理表管理手段１１０は、連結済みフラグをＯＦＦにするように通知された負荷分散サーバＥ６００のフラグをＯＦＦにする。これで、障害復旧手段は終わりであり、図６に示す状態になる。
【０１５３】
次に、障害がおきたノード（負荷分散サーバ）のリンク数が３つの場合、図１０のフローチャートのステップＢ７の判定結果がイエスだった場合に対応する障害復旧について説明する。
図７に示した状態から、図１４の破線で示すように負荷分散サーバＤ５００に障害が発生した場合がこの場合に対応する。
【０１５４】
図１０のフローチャートのステップＢ４で、障害の可能性がある負荷分散サーバＤ５００を障害発生と確定させ、障害の可能性を報告した３つのサーバのうち、まず負荷分散サーバＢ３００に関して、そのリンク数２、リンク先である負荷分散サーバＡ２００と負荷分散サーバＣ４００のサーバ名、障害が発生した負荷分散サーバへのＩＮ／ＯＵＴリンク種別のＩＮ、加えて負荷分散サーバＣ４００に関して、そのリンク数３、リンク先である負荷分散サーバＡ２００と負荷分散サーバＢ３００と負荷分散サーバＥ６００、障害が発生した負荷分散サーバＤ５００へのＩＮ／ＯＵＴリンク種別のＩＮ、最後に負荷分散サーバＥ６００に関してリンク数１、リンク先である負荷分散サーバＣ４００のサーバ名、障害が発生した負荷分散サーバＤ５００へのＩＮ／ＯＵＴ種別のＯＵＴ、という情報を障害情報解析手段１３０に渡す。
【０１５５】
図１１のフローチャートのステップＣ２の判定を行うと、障害の可能性があるサーバへのＩＮ／ＯＵＴ種別がＩＮが２つでＯＵＴが１つなので、判定結果はイエスとなる。図１１のフローチャートのステップＣ６に従うと、ＩＮ／ＯＵＴ種別がＩＮの負荷分散サーバのうちＯＵＴの負荷分散サーバのリンク先になっていないことを第一優先とするので、負荷分散サーバＣ４００は負荷分散サーバＥ６００のリンク先に既になっており、負荷分散サーバＢ３００は負荷分散サーバＥ６００のリンク先になっていない。よって、ＩＮ／ＯＵＴ種別がＯＵＴの負荷分散サーバＥ６００に対して、負荷分散サーバＥ６００から負荷分散サーバＢ３００へリンクを張るように通知する。
【０１５６】
すると、負荷分散サーバＥ６００から負荷分散サーバＢ３００にリンクが張られ図１５に示す状態となる。負荷分散サーバＥ６００の負荷融通リンク管理手段６３０は負荷融通リンク管理手段６３０の表に、負荷分散サーバＢ３００のサーバ名、ＩＰアドレス及びＩＮ／ＯＵＴ種別としてＯＵＴの情報を追加する。負荷分散サーバＢ３００の負荷融通リンク管理手段３３０は負荷融通リンク管理手段３３０の表に、負荷分散サーバＥ６００のサーバ名、ＩＰアドレス及びＩＮ／ＯＵＴ種別としてＩＮの情報を追加する。
【０１５７】
また、ディレクトリサーバ１００の障害情報解析手段１３０は、負荷分散サーバＤ５００の障害が確定したことを、負荷分散サーバＢ３００、負荷分散サーバＣ４００、負荷分散サーバＥ６００に伝え、各々の負荷融通リンク管理手段は自身の表から負荷分散サーバＤ５００に関する行を削除する。その後、図１０のフローチャートＢ１２に従い、障害情報解析手段１３０は、障害と確定した負荷分散サーバＤ５００に関して、フラグ管理表管理手段１１０にフラグ管理表の連結済みフラグをＯＦＦにするように通知する。
【０１５８】
前記通知に応答してフラグ管理表管理手段１１０は、フラグ管理表の連結済みフラグをＯＦＦにするように通知された負荷分散サーバＤ５００の連結済みフラグをＯＦＦにする。これで、障害復旧処理は終わりであり、図１５に示す状態になる。負荷分散サーバＥ６００のリンク数は一時的に１になったが、復旧を行うことにより２になり、いずれかの負荷分散サーバに障害が発生しても、負荷分散サーバの連結性は保たれることになる。
【０１５９】
次に、障害が発生したノードのリンク数が４つの場合、すなわち図１０のフローチャートのステップＢ９の判定結果がイエスの場合に対応する例を説明する。
６台の負荷分散サーバで図１６に示すようにリンク関係が張られているとする。そこで、負荷分散サーバＤ５００に障害が発生したとすると、図１７に示す状態となる（障害が生じた負荷分散サーバＤ５００を破線で示している。）。
【０１６０】
図１０のフローチャートのステップＢ４で、障害情報収集手段１２０は、障害の可能性がある負荷分散サーバＤ５００を障害発生と確定させ（即ち、各コンピュータから障害可能性の情報を集めて障害が発生したコンピュータを特定し）、障害の可能性を報告した４つのサーバのうち、まず負荷分散サーバＢ３００に関して、そのリンク数３（障害発生前の総リンク数から、障害発生した負荷分散サーバＤ５００とのリンク数１を差し引いた数）、リンク先である負荷分散サーバＡ２００と負荷分散サーバＣ４００と負荷分散サーバＦ８００のサーバ名、障害が発生した負荷分散サーバＤ５００へのＩＮ／ＯＵＴ種別であるＩＮという情報を、又、負荷分散サーバＣ４００に関して、そのリンク数３、リンク先である負荷分散サーバＡ２００と負荷分散サーバＢ３００と負荷分散サーバＥ６００のサーバ名、障害が発生した負荷分散サーバＤ５００へのＩＮ／ＯＵＴ種別であるＩＮという情報を、さらに、負荷分散サーバＥ６００に関してリンク数１、リンク先である負荷分散サーバＣ４００のサーバ名と、障害が発生した負荷分散サーバＤ５００へのＩＮ／ＯＵＴ種別としてＯＵＴという情報を、最後に負荷分散サーバＦ８００に関してリンク数１、リンク先である負荷分散サーバＢ３００のサーバ名と、障害が発生した負荷分散サーバＤ５００へのＩＮ／ＯＵＴ種別としてＯＵＴという情報を障害情報解析手段１３０に渡す。
【０１６１】
次に図１２のフローチャートとのステップＤ２の判定を行うと、リンク種別はＩＮが２つでＯＵＴが２つなのでイエスとなる。
次に、図１２のフローチャートのステップＤ３の判定結果は、イエスであり、図１８に示すように、ＩＮ／ＯＵＴ種別がＯＵＴの２つの負荷分散サーバＥ６００、Ｆ８００からＩＮ／ＯＵＴ種別がＩＮの２つの負荷分散サーバＢ３００、Ｃ４００に向けて能動的に既存のリンクと重複なくリンクが張れるので、障害情報解析手段１３０は、負荷分散サーバＥ６００に対しては負荷分散サーバＢ３００へ、負荷分散サーバＦ８００に対しては負荷分散サーバＣ４００へ負荷融通リンクを能動的に張るように要求する。
【０１６２】
以上のようにして負荷融通リンクを張った結果は図１８に示すようになる。負荷分散サーバＥ６００の負荷融通リンク管理手段６３０は自身の表に、負荷分散サーバＢ３００のサーバ名、ＩＰアドレス及びＩＮ／ＯＵＴ種別としてＯＵＴという情報を追加する。負荷分散サーバＢ３００の負荷融通リンク管理手段３３０は自身の表に、負荷分散サーバＥ６００のサーバ名、ＩＰアドレス及びＩＮ／ＯＵＴ種別としてＩＮという情報を追加する。
【０１６３】
負荷分散サーバＦ８００の負荷融通リンク管理手段は、自身の表に、負荷分散サーバＣ４００のサーバ名、ＩＰアドレス及びＩＮ／ＯＵＴ種別としてＯＵＴという情報を追加する。負荷分散サーバＢ４００の負荷融通リンク管理手段４３０は、自身の表に、負荷分散サーバＥのサーバ名、ＩＰアドレス及びＩＮ／ＯＵＴ種別としてＩＮという情報を追加する。
【０１６４】
また、ディレクトリサーバ１００の障害情報解析手段１３０は、負荷分散サーバＤ５００の障害が確定したことを、負荷分散サーバＢ３００、負荷分散サーバＣ４００、負荷分散サーバＥ６００、負荷分散サーバＦ８００に伝える。各々の負荷融通リンク管理手段は自身の表から負荷分散サーバＤ５００に関する行を削除する。
その後、図１０のフローチャートＢ１２に従い、障害情報解析手段１３０は、障害と確定した負荷分散サーバＤ５００に関して、フラグ管理表管理手段１１０にフラグ管理表の連結済みフラグをＯＦＦにするように通知する。
【０１６５】
フラグ管理表管理手段１１０は、フラグ管理表の連結済みフラグをＯＦＦにするように通知された負荷分散サーバＤ５００の連結フラグをＯＦＦにする。これで、障害復旧手段は終わりであり、図１８に示す状態になる。負荷分散サーバＥ６００及び負荷分散サーバＦのリンク数は、一時的に１になったが復旧を行うことにより２になり、いずれかの負荷分散サーバに障害が発生しても、負荷分散サーバの連結性は保たれることになる。
【０１６６】
次に、障害が発生したノードのリンク数が４つの場合、すなわち図１０のフローチャートのステップＢ９の判定結果がイエスの場合に対応し、次に図１２のフローチャートのステップＤ２の判定結果がノーの場合で、図１２のフローチャートのステップＤ９の判定結果がイエスの場合の例について説明する。
【０１６７】
６台の負荷分散サーバによって図１６に示すようにリンクが張られているとする。そこで、負荷分散サーバＢ３００に障害が発生したとすると、図１９に示す状態となる。図１９では、障害が発生した負荷分散サーバＢ３００を破線で示している。
この場合、負荷分散サーバＡ２００、負荷分散サーバＣ４００、負荷分散サーバＤ５００、負荷分散サーバＦ８００から、障害可能性の情報がディレクトリサーバ１００の障害情報収集手段１２０に伝えられる。
【０１６８】
障害情報収集手段１２０は、図１０のフローチャートのステップＢ４で、障害の可能性がある負荷分散サーバＢ３００を障害発生と確定させ、障害の可能性を報告した４つのサーバのうち、まず負荷分散サーバＡ２００に関して、そのリンク数１、リンク先である負荷分散サーバＣ４００のサーバ名、障害が発生した負荷分散サーバＢ３００へのＩＮ／ＯＵＴ種別としてＩＮという情報を、負荷分散サーバＣ４００に関して、そのリンク数３、リンク先である負荷分散サーバＡ２００と負荷分散サーバＣ４００と負荷分散サーバＥ６００、障害が発生した負荷分散サーバＢ３００へのＩＮ／ＯＵＴ種別としてＯＵＴという情報を、さらに負荷分散サーバＤ５００に関してリンク数３、リンク先である負荷分散サーバＣ４００と負荷分散サーバＤ５００と負荷分散サーバＥ６００のサーバ名、障害が発生した負荷分散サーバＢ３００へのＩＮ／ＯＵＴ種別としてＯＵＴという情報を、最後に負荷分散サーバＦ８００に関してリンク数１、リンク先である負荷分散サーバＤ５００のサーバ名、障害が発生した負荷分散サーバＢ３００へのＩＮ／ＯＵＴ種別としてＯＵＴという情報を、障害情報解析手段１３０に渡す。
【０１６９】
次に障害情報解析手段１３０は、図１２のフローチャートのステップＤ２の判定を行うと、リンク種別はＩＮが１つでＯＵＴが３つなのでノーとなる。
次に障害情報解析手段１３０は、図１２のフローチャートとのステップＤ９の判定を行うと、リンク種別はＩＮが１つでＯＵＴが３つなのでイエスとなる。
【０１７０】
そこで、障害情報解析手段１３０は、図１２のフローチャートのステップＤ１０で、リンク種別がＯＵＴの１つの負荷分散サーバからリンク種別がＩＮである負荷分散サーバへ既存のリンクと重複なく張れる組み合わせがあるか判定し、残りの２つのＩＮ／ＯＵＴ種別がＯＵＴの２つの負荷分散サーバ間で既存のリンクと重複なくリンクが張れるかどうか判定する。
【０１７１】
この場合、判定結果はイエスであり、リンク種別がＯＵＴである負荷分散サーバＤ５００から、リンク種別がＩＮである負荷分散サーバＡ２００に対して負荷融通リンクが、既存のリンクと重複なく張れ、またリンク種別がＯＵＴの残りの２つの負荷分散サーバに関しては、負荷分散サーバＦ８００と負荷分散サーバＣ４００の間で負荷融通リンクが張れる。
【０１７２】
図１２のフローチャートのステップＤ１１に従うと、障害情報解析手段１３０は、負荷分散サーバＤ５００に負荷分散サーバＡ２００に向けてリンクを引くように伝え、負荷分散サーバＦ８００のリンク数１と負荷分散サーバＣ４００のリンク数３を比較して、リンク数の少ない負荷分散サーバＦ８００をＯＵＴとして負荷融通リンクを負荷分散サーバＣ４００に能動的にリンクを結ぶように伝える。
【０１７３】
また、ディレクトリサーバ１００の障害情報解析手段１３０は、負荷分散サーバＢ３００の障害が確定したことを、負荷分散サーバＡ２００、負荷分散サーバＣ４００、負荷分散サーバＥ６００、負荷分散サーバＦ８００に伝え、各々の負荷融通リンク管理手段は自身の表から負荷分散サーバＢ３００に関する情報を削除する。
その後、図１０のフローチャートＢ１２に従い、障害情報解析手段１３０は、障害と確定した負荷分散サーバＢ３００に関して、フラグ管理表管理手段１１０にフラグ管理表の連結済みフラグをＯＦＦにするように通知する。
【０１７４】
フラグ管理表管理手段１１０は、連結済みフラグをＯＦＦにするように通知された負荷分散サーバＢ３００の連結済みフラグをＯＦＦにする。これで、障害復旧処理手順は終わりであり、図２０に示す状態になる。負荷分散サーバＡ２００及び負荷分散サーバＦ８００のリンク数は、一時的に１になったが復旧を行うことにより２になり、いずれかの負荷分散サーバに障害が発生しても、負荷分散サーバの連結性は保たれることになる。
【０１７５】
以上のように、本発明の実施の形態によれば、連係して動作する複数のコンピュータをリンクするコンピュータリンク方法において、前記各コンピュータは、他コンピュータへの能動的リンクと他コンピュータからの受動的リンクとが可能であると共に、前記能動的リンクの上限数である最大能動リンク数と、他コンピュータとのリンクの上限数である最大リンク数とを満たすように、複数の他コンピュータとリンクすることを特徴とするコンピュータリンク方法が提供される。
【０１７６】
ここで、新たに参加するコンピュータは、前記各コンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグを格納するフラグ管理表を参照して、リンク受け入れ可能なコンピュータにリンクを張るように構成してもよい。
また、前記最大能動リンク数は２、最大リンク数は４であるように構成してもよい。
また、いずれかのコンピュータに障害が発生した場合、前記障害が発生したコンピュータにリンクしていたコンピュータは、複数のコンピュータとリンクするように再リンクするように構成してもよい。
【０１７７】
また、いずれかのコンピュータに障害が発生した場合、前記障害が発生したコンピュータにリンクしていたコンピュータは、再リンク前の能動的リンクと受動的リンクの関係を保つことが可能な場合、前記能動的リンクと受動的リンクの関係を保ちながら他コンピュータと再リンクするように構成してもよい。
【０１７８】
また、いずれかのコンピュータに障害が発生した場合、前記障害が発生したコンピュータにリンクしていたコンピュータは、同じ他コンピュータと複数リンクしないように再リンクするよう構成してもよい。
また、いずれかのコンピュータに障害が発生した場合、前記障害が発生したコンピュータにリンクしていたコンピュータのうち、リンクを張っている数が最も少ないコンピュータが優先的に再リンクするように構成してもよい。
【０１７９】
また、前記各コンピュータはリンクしている他コンピュータと負荷情報を定期的に交換することにより前記他コンピュータの障害可能性を発見して通知し、前記各コンピュータから障害可能性の情報を集めて障害が発生したコンピュータを特定し、前記特定されたコンピュータにリンクしていたコンピュータは、前記収集した情報に基づいて決定された再リンク方法に従って再リンクするように構成してもよい。
【０１８０】
また、負荷情報問い合わせ元コンピュータが他コンピュータと負荷情報を交換することによって障害可能性を発見した場合、前記障害可能性の情報として、障害可能性のあるコンピュータのコンピュータ名、当該コンピュータを除いたリンク数、当該コンピュータとのリンクが能動的か受動的かを表すリンク種別及びリンク先のコンピュータ名を通知するように構成してもよい。
【０１８１】
また、負荷情報問い合わせ先コンピュータから所定時間内に当該コンピュータの負荷情報を受け取らなかった場合、負荷情報問い合わせ元コンピュータは、前記負荷情報問い合わせ先コンピュータに障害発生可能性有りと判定して前記障害可能性の情報を通知するように構成してもよい。
また、同一のコンピュータに関して複数のコンピュータから所定時間内に前記障害可能性の情報の通知を受けた場合に、当該コンピュータを障害が発生したコンピュータとして特定するように構成してもよい。
【０１８２】
また、本発明の実施の形態によれば、連係して動作する複数のコンピュータを備え、前記各コンピュータは、他コンピュータへの能動的リンクと他コンピュータからの受動的リンクとが可能であると共に、前記能動的リンクの上限数である最大能動リンク数と、他コンピュータとのリンクの上限数である最大リンク数とを満たすように、複数の他コンピュータとリンクすることを特徴とするコンピュータシステムが提供される。
【０１８３】
ここで、前記各コンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグを格納するフラグ管理表を備え、新たに参加するコンピュータは、前記フラグ管理表を参照して、リンク受け入れ可能なコンピュータにリンクを張るように構成してもよい。
また、前記最大能動リンク数は２、最大リンク数は４であるように構成してもよい。
【０１８４】
また、いずれかのコンピュータに障害が発生した場合、前記障害が発生したコンピュータにリンクしていたコンピュータは、複数のコンピュータとリンクするように再リンクするよう構成してもよい。
また、いずれかのコンピュータに障害が発生した場合、前記障害が発生したコンピュータにリンクしていたコンピュータは、再リンク前の能動的リンクと受動的リンクの関係を保つことが可能な場合、前記能動的リンクと受動的リンクの関係を保ちながら他コンピュータと再リンクするように構成してもよい。
【０１８５】
また、いずれかのコンピュータに障害が発生した場合、前記障害が発生したコンピュータにリンクしていたコンピュータは、同じ他コンピュータと複数リンクしないように再リンクするよう構成してもよい。
また、いずれかのコンピュータに障害が発生した場合、前記障害が発生したコンピュータにリンクしていたコンピュータのうち、リンクを張っている数が最も少ないコンピュータが優先的に再リンクするように構成してもよい。
【０１８６】
また、前記各コンピュータに設けられ、リンクしている他コンピュータと負荷情報を定期的に交換することにより障害可能性を発見する負荷情報交換手段と、前記負荷情報交換手段から障害可能性の情報を集めて障害が発生したコンピュータを特定する障害情報収集手段と、前記障害情報収集手段が収集した情報に基づいて再リンク方法を決定する障害情報解析手段とを備え、前記特定されたコンピュータにリンクしていたコンピュータは、前記障害情報解析手段が決定した再リンク方法に従って再リンクするように構成してもよい。
【０１８７】
また、前記障害情報収集手段は、前記負荷情報交換手段が障害可能性を発見した場合、該負荷情報交換手段を有するコンピュータから前記障害可能性の情報として、障害可能性のあるコンピュータのコンピュータ名、当該コンピュータを除いたリンク数、当該コンピュータとのリンクが能動的か受動的かを表すリンク種別及びリンク先のコンピュータ名を受け取るように構成してもよい。
【０１８８】
また、前記負荷情報交換手段は、負荷情報問い合わせ先のコンピュータから所定時間内に当該コンピュータの負荷情報を受け取らなかった場合、当該コンピュータに障害発生の可能性有りと判定して前記障害情報収集手段に前記障害可能性の情報を通知するように構成してもよい。
【０１８９】
また、前記障害情報収集手段は、同一のコンピュータに関して複数のコンピュータから所定時間内に前記障害可能性の情報を受け取った場合に、当該コンピュータを障害が発生したコンピュータとして特定し、前記障害情報解析手段は、前記特定されたコンピュータにリンクしていたコンピュータが複数のリンクを張るように決定するように構成してもよい。
【０１９０】
また、前記各コンピュータは相互に連係して負荷を分散処理する負荷分散サーバであるように構成してもよい。
また、前記フラグ管理表、障害情報収集手段及び障害情報解析手段はディレクトリサーバに設けられて成るように構成してもよい。
【０１９１】
また、本発明の実施の形態によれば、他コンピュータと連係して動作するコンピュータにおいて、連携して動作するコンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグをフラグ管理表から取得する取得手段と、前記フラグ管理表から取得した情報を参照して、リンク受け入れ可能なコンピュータにリンクを張る負荷融通リンク管理手段とを備え、前記負荷融通リンク管理手段は、他コンピュータへの能動的リンクと他コンピュータからの受動的リンクとが可能であると共に、前記能動的リンクの上限数である最大能動リンク数と、他コンピュータとのリンクの上限数である最大リンク数とを満たすように複数の他コンピュータとリンクすることを特徴とするコンピュータが提供される。
【０１９２】
ここで、前記最大能動リンク数は２、最大リンク数は４であるように構成してもよい。
また、リンクしている他コンピュータと負荷情報を定期的に交換することにより障害可能性を発見する負荷情報交換手段と、前記負荷情報交換手段が発見した障害可能性の情報を外部へ出力する通知手段とを備え、前記負荷融通リンク管理手段は、外部からの再リンク指示に応答して、複数のコンピュータとリンクするように再リンクするよう構成してもよい。
【０１９３】
また、前記負荷情報交換手段は、負荷情報問い合わせ先のコンピュータから所定時間内に当該コンピュータの負荷情報を受け取らなかった場合、当該コンピュータに障害発生の可能性有りと判定するように構成してもよい。
また、前記通知手段は、前記負荷情報交換手段が障害可能性を発見した場合、前記障害可能性の情報として、障害可能性のあるコンピュータのコンピュータ名、当該コンピュータを除いたリンク数、当該コンピュータとのリンクが能動的か受動的かを表すリンク種別及び現在のリンク先のコンピュータ名を通知するように構成してもよい。
【０１９４】
また、本発明の実施の形態によれば、連係して動作する複数のコンピュータを管理するコンピュータにおいて、前記連係して動作するコンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグを格納したフラグ管理表を記憶すると共に、新たに連係するコンピュータからの要求に応じて前記フラグ管理表に記憶した情報を送信するフラグ管理表管理手段と、前記各コンピュータから障害可能性の情報を集めて障害が発生したコンピュータを特定する障害情報収集手段と、前記障害情報収集手段が収集した障害可能性の情報に基づいて、前記特定したコンピュータにリンクしていたコンピュータの再リンク方法を決定して該コンピュータに通知する障害情報解析手段とを備えて成ることを特徴とするコンピュータが提供される。
【０１９５】
ここで、前記障害情報収集手段は、前記障害可能性の情報として、障害可能性のあるコンピュータのコンピュータ名、当該コンピュータを除いたリンク数、当該コンピュータとのリンクが能動的か受動的かを表すリンク種別及びリンク先のコンピュータ名を受け取るように構成してもよい。
また、前記障害情報収集手段は、同一のコンピュータに関して複数のコンピュータから所定時間内に前記障害可能性の情報を受け取った場合に、当該コンピュータを障害が発生したコンピュータとして特定し、前記障害情報解析手段は、前記特定されたコンピュータにリンクしていたコンピュータが複数のリンクを張るように決定するよう構成してもよい。
【０１９６】
また、前記障害情報解析手段は、自コンピュータから他コンピュータへの能動的リンクの上限数である最大能動リンク数と、自コンピュータと他コンピュータ間のリンクの上限数である最大リンク数とを満たすように、前記特定されたコンピュータにリンクしていたコンピュータが複数のリンクを張るよう決定するよう構成してもよい。
また、前記最大能動リンク数は２、最大リンク数は４であるように構成してもよい。
【０１９７】
また、前記障害情報解析手段は、前記特定されたコンピュータにリンクしていたコンピュータが、再リンク前の能動的リンクと受動的リンクの関係を保つことが可能な場合、前記能動的リンクと受動的リンクの関係を保ちながら他コンピュータと再リンクするように決定するよう構成してもよい。
【０１９８】
また、前記障害情報解析手段は、前記特定されたコンピュータにリンクしていたコンピュータが同じ他コンピュータと複数リンクしないように再リンクするよう決定するよう構成してもよい。
また、前記障害情報解析手段は、前記特定されたコンピュータにリンクしていたコンピュータのうち、リンクを張っている数が最も少ないコンピュータが優先的に再リンクするよう決定するように構成してもよい。
【０１９９】
また、本発明の実施の形態によれば、コンピュータを、連携して動作するコンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグをフラグ管理表から取得する取得手段と、前記フラグ管理表から取得した情報を参照して、リンク受け入れ可能なコンピュータにリンクを張る負荷融通リンク管理手段とを備え、前記負荷融通リンク管理手段が、他コンピュータへの能動的リンクと他コンピュータからの受動的リンクとが可能であると共に、前記能動的リンクの上限数である最大能動リンク数と、他コンピュータとのリンクの上限数である最大リンク数とを満たすように複数の他コンピュータとリンクするよう機能させることを特徴とするプログラムが提供される。
【０２００】
ここで、コンピュータを、前記最大能動リンク数が２、最大リンク数が４であるように機能させるようプログラムを構成してもよい。
また、コンピュータを、リンクしている他コンピュータと負荷情報を定期的に交換することにより障害可能性を発見する負荷情報交換手段と、前記負荷情報交換手段が発見した障害可能性の情報を外部へ出力する通知手段とを備え、前記負荷融通リンク管理手段が、外部からの再リンク指示に応答して、複数のコンピュータとリンクするように再リンクするよう機能させるようプログラムを構成してもよい。
【０２０１】
また、コンピュータを、前記負荷情報交換手段が、負荷情報問い合わせ先のコンピュータから所定時間内に当該コンピュータの負荷情報を受け取らなかった場合、当該コンピュータに障害発生の可能性有りと判定するように機能させるようプログラムを構成してもよい。
また、コンピュータを、前記通知手段が、前記負荷情報交換手段が障害可能性を発見した場合、前記障害可能性の情報として、障害可能性のあるコンピュータのコンピュータ名、当該コンピュータを除いたリンク数、当該コンピュータとのリンクが能動的か受動的かを表すリンク種別及び現在のリンク先のコンピュータ名を通知するように機能させるようプログラムを構成してもよい。
【０２０２】
また、本発明の実施の形態によれば、コンピュータを、連係して動作するコンピュータのコンピュータ名、アドレス、リンク受け入れ可否を表すフラグを格納したフラグ管理表を記憶すると共に、新たに連係するコンピュータからの要求に応じて前記フラグ管理表に記憶した情報を送信するフラグ管理表管理手段と、前記各コンピュータから障害可能性の情報を集めて障害が発生したコンピュータを特定する障害情報収集手段と、前記障害情報収集手段が収集した障害可能性の情報に基づいて、前記特定したコンピュータにリンクしていたコンピュータの再リンク方法を決定して該コンピュータに通知する障害情報解析手段として機能させることを特徴とするプログラムが提供される。
【０２０３】
ここで、コンピュータを、前記障害情報収集手段が、前記障害可能性の情報として、障害可能性のあるコンピュータのコンピュータ名、当該コンピュータを除いたリンク数、当該コンピュータとのリンクが能動的か受動的かを表すリンク種別及びリンク先のコンピュータ名を受け取るように機能させるようプログラムを構成してもよい。
また、コンピュータを、前記障害情報収集手段が、同一のコンピュータに関して複数のコンピュータから所定時間内に前記障害可能性の情報を受け取った場合に、当該コンピュータを障害が発生したコンピュータとして特定し、前記障害情報解析手段が、前記特定されたコンピュータにリンクしていたコンピュータが複数のリンクを張るように決定するように機能させるようプログラムを構成してもよい。
【０２０４】
また、コンピュータを、前記障害情報解析手段が、自コンピュータから他コンピュータへの能動的リンクの上限数である最大能動リンク数と、自コンピュータと他コンピュータ間のリンクの上限数である最大リンク数とを満たすように、前記特定されたコンピュータにリンクしていたコンピュータが複数のリンクを張るよう決定するよう機能させるようにプログラムを構成してもよい。
【０２０５】
また、コンピュータを、前記最大能動リンク数が２、最大リンク数が４であるように機能させるようプログラムを構成してもよい。
また、コンピュータを、前記障害情報解析手段が、前記特定されたコンピュータにリンクしていたコンピュータが、再リンク前の能動的リンクと受動的リンクの関係を保つことが可能な場合、前記能動的リンクと受動的リンクの関係を保ちながら他コンピュータと再リンクするように決定するよう機能させるようにプログラムを構成してもよい。
【０２０６】
また、コンピュータを、前記障害情報解析手段が、前記特定されたコンピュータにリンクしていたコンピュータが同じ他コンピュータと複数リンクしないように再リンクするよう決定するように機能させるようプログラムを構成してもよい。
また、コンピュータを、前記障害情報解析手段が、前記特定されたコンピュータにリンクしていたコンピュータのうち、リンクを張っている数が最も少ないコンピュータが優先的に再リンクするよう決定するように機能させるようプログラムを構成してもよい。
【産業上の利用可能性】
【０２０７】
複数の負荷分散サーバによって連携して負荷を分散処理するようにしたコンピュータシステムや、ノード間ネットワークを構築するコンピュータシステム等に利用可能である。
【図面の簡単な説明】
【０２０８】
【図１】本発明の実施の形態に係るコンピュータリンク方法に使用するコンピュータシステムのブロック図である。
【図２】本発明の実施の形態においてサーバを追加し負荷融通リンクを張る流れを示したフローチャートである。
【図３】本発明の実施の形態において１台目の負荷分散サーバを追加した際の構成を示すブロック図である。
【図４】本発明の実施の形態において２台目の負荷分散サーバを追加した際の構成を示すブロック図である。
【図５】本発明の実施の形態において３台目の負荷分散サーバを追加した際に、負荷分散サーバ間の負荷融通リンクを表す構成を示すブロック図である。
【図６】本発明の実施の形態において４台目の負荷分散サーバを追加した際に、負荷分散サーバ間の負荷融通リンクを表す構成を示すブロック図である。
【図７】本発明の実施の形態において５台目の負荷分散サーバを追加した際に、負荷分散サーバ間の負荷分散リンクを表す構成を示すブロック図である。
【図８】本発明の実施の形態において負荷分散サーバ間で負荷融通を行うための手順を示すメッセージシーケンスチャートである。
【図９】本発明の実施の形態において負荷分散サーバに障害が発生した際にディレクトリサーバに通知するための手順を示すメッセージシーケンスチャートである。
【図１０】本発明の実施の形態においてディレクトリサーバが障害の報告を受けた際の動作の手順を示すフローチャートである。
【図１１】本発明の実施の形態においてディレクトリサーバが障害の報告を受けた際の動作の手順を示すフローチャートで、図１０で障害可能性が３つの負荷分散サーバから上がった場合に分岐するフローチャートである。
【図１２】本発明の実施の形態においてディレクトリサーバが障害の報告を受けた際の動作の手順を示すフローチャートで、図１０で障害可能性が４つの負荷分散サーバから上がった場合に分岐するフローチャートである。
【図１３】障害可能性が２つの負荷分散サーバから上がった場合の実施例を示すブロック図である。
【図１４】障害可能性が３つの負荷分散サーバから上がった場合の実施例を示すブロック図である。
【図１５】障害可能性が３つの負荷分散サーバから上がった場合の実施例を示す図で、障害復旧後の負荷融通リンク関係を表すブロック図である。
【図１６】障害可能性が４つの負荷分散サーバから上がった場合の実施例を示す図で、６台のサーバが負荷融通リンクで連結されている関係を表すブロック図である。
【図１７】障害可能性が４つの負荷分散サーバから上がった場合の実施例を示す図で、負荷分散サーバＤ５００が障害となった場合を示すブロック図である。
【図１８】障害可能性が４つの負荷分散サーバから上がった場合の実施例を示す図で、負荷分散サーバＤ５００が障害となった場合の障害復旧後の負荷融通リンク関係を表すブロック図である。
【図１９】障害可能性が４つの負荷分散サーバから上がった場合の実施例を示す図で、負荷分散サーバＢ３００が障害となった場合を示すブロック図である。
【図２０】障害可能性が４つの負荷分散サーバから上がった場合の実施例を示す図で、負荷分散サーバＢ３００が障害となった場合の障害復旧後の負荷融通リンク関係を表すブロック図である。
【図２１】従来の分散基盤システムの構成を示すブロック図である。
【図２２】従来の分散基盤システムにおいて構成要素であるサーバを増やす場合の各サーバの担当領域を示す図である。
【図２３】従来の分散基盤システムにおいて構成要素であるサーバが離脱する前の各サーバの担当領域を示す図である。
【図２４】従来の分散基盤システムにおいて構成要素であるサーバの関係を２分木を用いて表現した図である。
【符号の説明】
【０２０９】
１００  ディレクトリサーバ
１１０  フラグ管理表管理手段
１２０  障害情報収集手段
１３０  障害情報解析手段
２００  負荷分散サーバＡ
２１０  フラグ管理手段
２２０  ディレクトリサーバアクセス手段
２３０  負荷融通リンク管理手段
２４０  負荷情報交換手段
２５０  障害情報通知手段
３００  負荷分散サーバＢ
３１０  フラグ
３２０  ディレクトリサーバアクセス手段
３３０  負荷融通リンク管理手段
３４０  負荷情報交換手段
３５０  障害情報通知手段
４００  負荷分散サーバＣ
４１０  フラグ
４２０  ディレクトリサーバアクセス手段
４３０  負荷融通リンク管理手段
４４０  負荷情報交換手段
４５０  障害情報通知手段
５００  負荷分散サーバＤ
５１０  フラグ
５２０  ディレクトリサーバアクセス手段
５３０  負荷融通リンク管理手段
５４０  負荷情報交換手段
５５０  障害情報通知手段
６００  負荷分散サーバＥ
６１０  フラグ
６２０  ディレクトリサーバアクセス手段
６３０  負荷融通リンク管理手段
６４０  負荷情報交換手段
６５０  障害情報通知手段
７００  ネットワーク
８００  負荷分散サーバＦ
１１００  領域分割可能サーバ１
１１１０  ノード発見手段
１１２０  領域分割手段
１１３０  通知手段
１１４０  隣接管理手段
１１５０  障害対応手段
１１６０  再構成手段
１２００  領域分割可能サーバ２
１２１０  ノード発見手段
１２２０  領域分割手段
１２３０  通知手段
１２４０  隣接管理手段
１２５０  障害対応手段
１２６０  再構成手段
１３００  領域分割可能サーバ３
１３１０  ノード発見手段
１３２０  領域分割手段
１３３０  通知手段
１３４０  隣接管理手段
１３５０  障害対応手段
１３６０  再構成手段
１４００  領域分割可能サーバ４
１４１０  ノード発見手段
１４２０  領域分割手段
１４３０  通知手段
１４４０  隣接管理手段
１４５０  障害対応手段
１４６０  再構成手段
１５００  領域分割可能サーバ５
１５１０  ノード発見手段
１５２０  領域分割手段
１５３０  通知手段
１５４０  隣接管理手段
１５５０  障害対応手段
１５６０  再構成手段
【図１】
0005326308.tif 000002
【図２】
0005326308.tif 000003
【図３】
0005326308.tif 000004
【図４】
0005326308.tif 000005
【図５】
0005326308.tif 000006
【図６】
0005326308.tif 000007
【図７】
0005326308.tif 000008
【図８】
0005326308.tif 000009
【図９】
0005326308.tif 000010
【図１０】
0005326308.tif 000011
【図１１】
0005326308.tif 000012
【図１２】
0005326308.tif 000013
【図１３】
0005326308.tif 000014
【図１４】
0005326308.tif 000015
【図１５】
0005326308.tif 000016
【図１６】
0005326308.tif 000017
【図１７】
0005326308.tif 000018
【図１８】
0005326308.tif 000019
【図１９】
0005326308.tif 000020
【図２０】
0005326308.tif 000021
【図２１】
0005326308.tif 000022
【図２２】
0005326308.tif 000023
【図２３】
0005326308.tif 000024
【図２４】
0005326308.tif 000025