JP3880760B2 - 切替制御装置、切替制御方法および切替制御プログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents
切替制御装置、切替制御方法および切替制御プログラムを記録したコンピュータ読み取り可能な記録媒体 Download PDFInfo
- Publication number
- JP3880760B2 JP3880760B2 JP37538299A JP37538299A JP3880760B2 JP 3880760 B2 JP3880760 B2 JP 3880760B2 JP 37538299 A JP37538299 A JP 37538299A JP 37538299 A JP37538299 A JP 37538299A JP 3880760 B2 JP3880760 B2 JP 3880760B2
- Authority
- JP
- Japan
- Prior art keywords
- client
- communication
- server
- clients
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Description
【発明の属する技術分野】
本発明は、ネットワークを介して相互接続された複数のノード上で動作するクライアント/サーバシステムの切り替え制御に用いて好適な切替制御装置、切替制御方法および切替制御プログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【0002】
一般に、クライアント/サーバシステムは、並列冗長構成を採る少なくとも2台のサーバ(主サーバおよび代替サーバ)と、ネットワークを介してサーバに接続された複数台のクライアントとから構成されている。このようなクライアント/サーバシステムでは、通信状態の異常を検出した後に、クライアントに対して通信サービスを提供するサーバを、主サーバから代替サーバに一律に切り替えるという切替制御が行われる。
【0003】
しかしながら、異常発生要因によっては、上記切替制御を行うことにより、逆に、サーバから通信サービスの提供を受けることができるクライアントの数が異常検出前の数より減少する場合もある。従って、従来より、かかる問題を効果的に解決するための手段、方法が切望されている。
【0004】
【従来の技術】
図7は、従来のクライアント/サーバシステムの構成を示すブロック図である。この図において、ノード10、20および30は、データ用通信路40(制御用通信路50)を介して相互接続されている。ノード10では、主サーバ11およびクライアント12が動作し、ノード20では、代替サーバ21およびクライアント22が動作する。また、ノード30では、クライアント32が動作する。
【0005】
ノード10において、主サーバ11は、クライアント12、クライアント22およびクライアント32に対して所定の通信サービスを提供する。この主サーバ11は、クライアント/サーバシステムの現用系サーバとして機能している。クライアント12は、主サーバ11に接続されており、正常時、主サーバ11から通信サービスの提供を受ける。また、クライアント12は、異常発生時に、主サーバ11に代えて代替サーバ21から通信サービスの提供を受けることが可能とされている。
【0006】
通信部13は、主サーバ11およびクライアント12とデータ用通信路40との間に介挿されており、所定の通信プロトコルに従って、主サーバ11およびクライアント12と外部のノード20およびノード30との間の通信制御を行う。切替制御部14は、主サーバ11から代替サーバ21への切替制御を行う。通信部15は、切替制御部14と制御用通信路50との間に介挿されており、所定の通信プロトコルに従って、切替制御部14と外部のノード20およびノード30との間の通信制御を行う。
【0007】
ノード20において、代替サーバ21は、主サーバ11と同一の機能を備えており、異常発生時に、主サーバ11に代わって通信サービスの提供を行う。つまり、代替サーバ21は、現用系サーバ(主サーバ11)に対する待機系サーバとして機能する。このように、従来のクライアント/サーバシステムは、主サーバ11および代替サーバ21により並列冗長構成が採られている。
【0008】
クライアント22は、正常時、主サーバ11から通信サービスの提供を受ける。また、クライアント22は、異常発生時に、主サーバ11に代えて代替サーバ21から通信サービスの提供を受けることが可能とされている。通信部23は、代替サーバ21およびクライアント22とデータ用通信路40との間に介挿されており、所定の通信プロトコルに従って、代替サーバ21およびクライアント22と外部のノード10およびノード30との間の通信制御を行う。
【0009】
切替制御部24は、主サーバ11から代替サーバ21への切替制御を行う。通信部25は、切替制御部24と制御用通信路50との間に介挿されており、所定の通信プロトコルに従って、切替制御部24と外部のノード10および30との間の通信制御を行う。
【0010】
ノード30において、クライアント32は、正常時、主サーバ11から通信サービスの提供を受ける。また、クライアント32は、異常発生時に、主サーバ11に代えて代替サーバ21から通信サービスの提供を受けることが可能とされている。通信部33は、クライアント32とデータ用通信路40との間に介挿されており、所定の通信プロトコルに従って、クライアント32と外部のノード10およびノード20との間の通信制御を行う。
【0011】
切替制御部34は、主サーバ11から代替サーバ21への切替制御を行う。通信部35は、切替制御部34と制御用通信路50との間に介挿されており、所定の通信プロトコルに従って、切替制御部34と外部のノード10および20との間の通信制御を行う。
【0012】
上記構成において、主サーバ11は、ノード10内のクライアント12、ノード20内のクライアント22およびノード30内のクライアント32のそれぞれからの要求に応じて、通信サービスを提供する。すなわち、主サーバ11は、同一のノード10内でクライアント12に通信サービスを提供する。また、主サーバ11は、通信部13、データ用通信路40および通信部23を介して、ノード20内のクライアント22に通信サービスを提供する。さらに、主サーバ11は、通信部13、データ用通信路40および通信部33を介してノード30内のクライアント32に通信サービスを提供する。
【0013】
また、上述した通信サービスの提供に並行して、主サーバ11は、クライアント12、クライアント22およびクライアント32のそれぞれの通信状態(正常または異常)を定期的にチェックする。具体的には、クライアント12、クライアント22およびクライアント32のそれぞれは、定周期(例えば、5秒)毎に主サーバ11へ定周期通信パケットを送信する。この定周期通信パケットは、送信先の主サーバ11のアドレスと、送信元のアドレス(クライアント12、クライアント22、クライアント32のそれぞれのアドレス)と、ダミーデータとから構成されている。
【0014】
主サーバ11は、上記定周期通信パケットを受信することにより、当該クライアントに関する通信状態のチェック結果を正常とする。また、主サーバ11は、前回、定周期通信パケットを受信した時刻から所定時間(例えば、30秒)経過しても、当該クライアントからの定周期通信パケットが受信されない場合、当該クライアントに関する通信状態のチェック結果を異常とする。
【0015】
ここで、ノード20の通信部23が故障すると、クライアント22からの定周期通信パケットは、主サーバ11に受信されなくなる。従って、主サーバ11は、クライアント22に関する通信状態のチェック結果を異常とする。この場合、主サーバ11から通信サービスの提供を受けることができるクライアントは、2台のクライアント12およびクライアント32であり、クライアント22は、通信サービスの提供を受けることができない。
【0016】
そして、主サーバ11は、異常を検出した旨を切替制御部14に通知する。切替制御部14は、アクセス先を主サーバ11から代替サーバ21に切り替えるように、ノード10内のクライアント12を制御する。また、切替制御部14は、通信部15、制御用通信路50および通信部25を介してノード20内の切替制御部24へ切替信号を出力すると共に、通信部15、制御用通信路50および通信部35を介して切替信号を切替制御部34へ出力する。これにより、切替制御部24および切替制御部34は、アクセス先を主サーバ11から代替サーバ21に切り替えるように、クライアント22およびクライアント32を制御する。
【0017】
切替後、代替サーバ21は、主サーバ11に代わってクライアント12、クライアント22およびクライアント32に対して通信サービスを提供する役目を担う。しかしながら、ノード20内の通信部23に異常が発生しているため、ノード10内のクライアント12およびノード30内のクライアント32は、代替サーバ21にアクセスすることができない。一方、クライアント22は、代替サーバ21と同一のノードであるノード20内に位置しているため、代替サーバ21にアクセスすることができる。従って、切替後においては、代替サーバ21から通信サービスの提供を受けることができるクライアントは、1台のクライアント22のみである。
【0018】
【発明が解決しようとする課題】
ところで、前述したように、従来のクライアント/サーバシステムでは、それぞれのクライアントに関して通信状態の異常が検出された時点で、一律に主サーバ11から代替サーバ21に切替制御される旨を述べた。
【0019】
しかしながら、前述したように通信部23が故障した場合には、切替前に通信サービスの提供を受けることができるクライアントの数が2台(クライアント12およびクライアント32)であるのに対して、切替後の同クライアント数が1台(クライアント22)という具合に、かえって減少するという問題があった。つまり、この場合には、切替が逆効果として作用しているため、切替を行わないほうが得策である。
【0020】
本発明は、上記に鑑みてなされたもので、サーバ切替による、通信サービスの提供を受けることができるクライアント数の減少を防ぐことができる切替制御装置、切替制御方法および切替制御プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【0021】
【課題を解決するための手段】
上記目的を達成するために、請求項1にかかる発明は、複数のクライアント(後述する一実施の形態のクライアント120、220および320に相当)へネットワーク(後述する一実施の形態のデータ用通信路400に相当)を介して通信サービスを提供する現用系サーバ(後述する一実施の形態の主サーバ110に相当)から、該現用系サーバと同一の機能を有する待機系サーバ(後述する一実施の形態の代替サーバ210に相当)への切替制御を行う切替制御装置において、ノード名と該ノード内のサーバ名・クライアント名とを対応付けて記憶したノードテーブル(後述する一実施の形態のノードテーブルTに相当)と、前記現用系サーバと各クライアントとの間のそれぞれの通信における通信状態をチェックする通信状態チェック手段(後述する一実施の形態の主サーバ制御部111に相当)と、前記通信状態チェック手段のチェックの結果、いずれかのクライアントが通信異常となった場合、前記ノードテーブルを参照し、通信異常とされたクライアントのノード のクライアントは前記現用系サーバと通信不可能と判断するとともに、該判断において、前記現用系サーバとの通信が異常と判断されなかったクライアント数、及び、待機系サーバと同じノードのクライアント数を基に前記現用系サーバから前記待機系サーバへの切替後に前記待機系サーバから前記通信サービスの提供を受けることができるクライアントの数を算出するクライアント数算出手段(後述する一実施の形態の主サーバ制御部111に相当)と、前記クライアント数算出手段により算出されたクライアント数と、現用系サーバから前記通信サービスの提供を受けているクライアント数との比較結果から切替の適否を判断し、前記現用系サーバから前記待機系サーバへの切替制御を行う制御手段(後述する一実施の形態の切替制御部140に相当)と、を備えることを特徴とする。
【0022】
この発明によれば、通信状態チェック手段により、複数のクライアントのそれぞれの通信状態がチェックされる。ここで、故障等に起因して、少なくとも一つのクライアントに対応する通信状態が異常となると、クライアント数算出手段は、切替後に待機系サーバから通信サービスの提供を受けることができるクライアントの数を、ノード名と該ノード内のサーバ名・クライアント名とを対応付けて記憶したノードテーブルを参照して算出する。
【0023】
これにより、制御手段は、クライアント数算出手段の算出結果(クライアントの数)と、切替前(現時点)で現用系サーバから実際に通信サービスの提供を受けているクライアントの数との比較結果から切替の適否(切替を行うか否か)を判断する。ここで、切替を行うと判断された場合(例えば、切替後のクライアントの数が切替前のクライアントの数を超える場合)、制御手段により、現用系サーバから待機系サーバへの切替が行われ、該待機系サーバから複数のクライアントへ通信サービスが提供される。
【0024】
一方、切替を行わないと判断された場合(例えば、切替後のクライアントの数が切替前のクライアントの数未満である場合)、制御手段により、現用系サーバから待機系サーバへの切替が行われず、引き続き現用系サーバから複数のクライアントへ通信サービスが提供される。
【0025】
このように、この発明によれば、複数のクライアントのうち少なくとも一つのクライアントの通信状態が異常となった場合に、クライアント数算出手段の算出結果と切替前に現用系サーバから通信サービスの提供を受けているクライアントの数との比較結果から切替の適否を判断し、該判断の結果に基づいて切替制御を行っているため、不要な切替が発生せず、サーバ切替による、通信サービスの提供を受けることができるクライアント数の減少を防ぐことができる。
【0026】
また、この発明によれば、ノードテーブルを参照し、前記通信状態チェック手段のチェックの結果、通信異常とされたクライアントのノードのクライアントは前記現用系サーバと通信不可能と判断するとともに、該判断において、前記現用系サーバとの通信が異常と判断されなかったクライアント数、及び、待機系サーバと同じノードのクライアント数を基に前記現用系サーバから前記待機系サーバへの切替後に前記待機系サーバから前記通信サービスの提供を受けることができるクライアントの数を算出することとしたので、不要な切替が発生せず、サーバ切替による、通信サービスの提供を受けることができるクライアント数の減少を防ぐことができる。
【0027】
また、請求項2にかかる発明は、複数のクライアントへネットワークを介して通信サービスを提供する現用系サーバから、該現用系サーバと同一の機能を有する待機系サーバへの切替制御を行う切替制御方法において、前記現用系サーバと各クライアントとの間のそれぞれの通信における通信状態をチェックする通信状態チェック工程(後述する一実施の形態のステップSA1〜ステップSA2に相当)と、前記通信状態チェック工程のチェッ クの結果、いずれかのクライアントが通信異常となった場合、ノード名と該ノード内のサーバ名・クライアント名とを対応付けて記憶したノードテーブル(後述する一実施の形態のノードテーブルTに相当)を参照し、通信異常とされたクライアントのノードのクライアントは前記現用系サーバと通信不可能と判断するとともに、該判断において、前記現用系サーバとの通信が異常と判断されなかったクライアント数、及び、待機系サーバと同じノードのクライアント数を基に前記現用系サーバから前記待機系サーバへの切替後に前記待機系サーバから前記通信サービスの提供を受けることができるクライアントの数を算出するクライアント数算出工程(後述する一実施の形態のステップSA4およびステップSA6に相当)と、前記クライアント数算出工程により算出されたクライアント数と、現用系サーバから前記通信サービスの提供を受けているクライアント数との比較結果から切替の適否を判断し、該判断の結果に基づいて前記現用系サーバから前記待機系サーバへの切替制御を行う制御工程(後述する一実施の形態のステップSA5、ステップSA7、ステップSA8およびステップSA10に相当)と、を含むことを特徴とする。
【0028】
この発明によれば、通信状態チェック工程により、複数のクライアントのそれぞれの通信状態がチェックされる。ここで、故障等に起因して、少なくとも一つのクライアントに対応する通信状態が異常となると、クライアント数算出工程では、切替後に待機系サーバから通信サービスの提供を受けることができるクライアントの数が、ノード名と該ノード内のサーバ名・クライアント名とを対応付けて記憶したノードテーブルを参照して算出される。
【0029】
これにより、制御工程では、クライアント数算出工程の算出結果(クライアントの数)と、切替前(現時点)で現用系サーバから実際に通信サービスの提供を受けているクライアントの数との比較結果から切替の適否(切替を行うか否か)が判断される。ここで、切替を行うと判断された場合(例えば、切替後のクライアントの数が切替前のクライアントの数を超える場合)、制御工程では、現用系サーバから待機系サーバへの切替が行われ、該待機系サーバから複数のクライアントへ通信サービスが提供される。
【0030】
一方、切替を行わないと判断された場合(例えば、切替後のクライアントの数が切替前のクライアントの数未満である場合)、制御工程で現用系サーバから待機系サーバへの切替が行われず、引き続き現用系サーバから複数のクライアントへ通信サービスが提供される。
【0031】
このように、この発明によれば、複数のクライアントのうち少なくとも一つのクライアントの通信状態が異常となった場合に、クライアント数算出工程の算出結果と切替前に現用系サーバから通信サービスの提供を受けているクライアントの数との比較結果から切替の適否を判断し、該判断の結果に基づいて切替制御を行っているため、不要な切替が発生せず、サーバ切替による、通信サービスの提供を受けることができるクライアント数の減少を防ぐことができる。
【0032】
また、この発明によれば、ノードテーブルを参照し、前記通信状態チェック工程によるチェックの結果、通信異常とされたクライアントのノードのクライアントは前記現用系サーバと通信不可能と判断するとともに、該判断において、前記現用系サーバとの通信が異常と判断されなかったクライアント数、及び、待機系サーバと同じノードのクライアント数を基に前記現用系サーバから前記待機系サーバへの切替後に前記待機系サーバから前記通信サービスの提供を受けることができるクライアントの数を算出することとしたので、不要な切替が発生せず、サーバ切替による、通信サービスの提供を受けることができるクライアント数の減少を防ぐことができる。
【0033】
また、請求項3にかかる発明は、複数のクライアントへネットワークを介して通信サービスを提供する現用系サーバから、該現用系サーバと同一の機能を有する待機系サーバへの切替制御を行う切替制御装置に適用される切替制御プログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記現用系サーバと各クライアントとの間のそれぞれの通信における通信状態をチェックさせる通信状態チェック工程(後述する一実施の形態のステップSA1〜ステップSA2に相当)と、前記通信状態チェック工程のチェックの結果、いずれかのクライアントが通信異常となった場合、ノード名と該ノード内のサーバ名・クライアント名とを対応付けて記憶したノードテーブル(後述する一実施の形態のノードテーブルTに相当)を参照させ、通信異常とされたクライアントのノードのクライアントは前記現用系サーバと通信不可能と判断させるとともに、該判断において、前記現用系サーバとの通信が異常と判断されなかったクライアント数、及び、待機系サーバと同じノードのクライアント数を基に前記現用系サーバから前記待機系サーバへの切替後に前記待機系サーバから前記通信サービスの提供を受けることができるクライアントの数を算出させるクライアント数算出工程(後述する一実施の形態のステップSA4およびステップSA6に相当)と、前記クライアント数算出工程により算出されたクライアント数と、現用系サーバから前記通信サービスの提供を受けているクライアント数との比較結果から切替の適否を判断し、該判断の結果に基づいて前記現用系サーバから前記待機系サーバへの切替制御を行わせる制御工程(後述する一実施の形態のステップSA5、ステップSA7、ステップSA8およびステップSA10に相当)と、をコンピュータに実行させるための切替制御プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0034】
この発明によれば、通信状態チェック工程により、複数のクライアントのそれぞれの通信状態がチェックされる。ここで、故障等に起因して、少なくとも一つのクライアントに対応する通信状態が異常となると、クライアント数算出工程では、切替後に待機系サーバから通信サービスの提供を受けることができるクライアントの数が、ノード名と該ノード内のサーバ名・クライアント名とを対応付けて記憶したノードテーブルを参照して算出される。
【0035】
これにより、制御工程では、クライアント数算出工程の算出結果(クライアントの数)と、切替前(現時点)で現用系サーバから実際に通信サービスの提供を受けているクライアントの数との比較結果から切替の適否(切替を行うか否か)が判断される。ここで、切替を行うと判断された場合(例えば、切替後のクライアントの数が切替前のクライアントの数を超える場合)、制御工程では、現用系サーバから待機系サーバへの切替が行われ、該待機系サーバから複数のクライアントへ通信サービスが提供される。
【0036】
一方、切替を行わないと判断された場合(例えば、切替後のクライアントの数が切替前のクライアントの数未満である場合)、制御工程で現用系サーバから待機系サーバへの切替が行われず、引き続き現用系サーバから複数のクライアントへ通信サービスが提供される。
【0037】
このように、この発明によれば、複数のクライアントのうち少なくとも一つのクライアントの通信状態が異常となった場合に、クライアント数算出工程の算出結果と切替前に現用系サーバから通信サービスの提供を受けているクライアントの数との比較結果から切替の適否を判断し、該判断の結果に基づいて切替制御を行っているため、不要な切替が発生せず、サーバ切替による、通信サービスの提供を受けることができるクライアント数の減少を防ぐことができる。
【0038】
また、この発明によれば、ノードテーブルを参照させ、前記通信状態チェック工程によるチェックの結果、通信異常とされたクライアントのノードのクライアントは前記現用系サーバと通信不可能と判断させるとともに、該判断において、前記現用系サーバとの通信が異常と判断されなかったクライアント数、及び、待機系サーバと同じノードのクライアント数を基に前記現用系サーバから前記待機系サーバへの切替後に前記待機系サーバから前記通信サービスの提供を受けることができるクライアントの数を算出させることとしたので、不要な切替が発生せず、サーバ切替による、通信サービスの提供を受けることができるクライアント数の減少を防ぐことができる。
【0039】
【発明の実施の形態】
以下、図面を参照して本発明にかかる切替制御装置、切替制御方法および切替制御プログラムを記録したコンピュータ読み取り可能な記録媒体の一実施の形態について詳細に説明する。
【0040】
図1は、一実施の形態の構成を示すブロック図である。この図には、ノード100、200および300という3つのノードを有するクライアント/サーバシステムが図示されている。これらのノード100、200および300は、データ用通信路400(制御用通信路500)を介して相互接続されている。ノード100では、主サーバ110およびクライアント120が動作し、ノード200では、代替サーバ210およびクライアント220が動作する。また、ノード300では、クライアント320が動作する。
【0041】
ノード100において、主サーバ110は、クライアント120、クライアント220およびクライアント320に対して所定の通信サービスを提供する。ここでいう通信サービスの提供とは、コンテンツや情報、データ等のあらゆる電子情報を提供することをいう。また、主サーバ110は、クライアント/サーバシステムの現用系サーバとして機能している。この主サーバ110において、主サーバ制御部111は、通信サービの提供先であるクライアント120、クライアント220およびクライアント320のそれぞれの通信状態(正常または異常)をチェックするチェック機能や、通信サービスの提供を行うための制御機能を備えている。
【0042】
また、主サーバ制御部111は、図2に示したノードテーブルTを保持しており、このノードテーブルTに基づいて、装置(クライアント、サーバ)が存在するノードを把握するとともに、それぞれのクライアントの通信状態(正常または異常)を把握する。このノードテーブルTにおいて、「ノード名」の欄には、ノードの名称が記述されており、「装置名」には、アドレスに対応付けられたクライアント(サーバ)の名称が記述されており、「クライアント通信状態フラグ」の欄には、クライアントの通信状態を示すフラグが記述されている。
【0043】
具体的には、「ノード100」(「ノード名」)のレコードには、「装置名」としてノード100に存在する「クライアント120」および「主サーバ110」が記述されており、「クライアント通信状態フラグ」として「F1 」が記述されている。クライアント通信状態フラグF1 は、クライアント120の通信状態(正常または異常)を示すフラグである。
【0044】
「ノード200」(「ノード名」)のレコードには、「装置名」としてノード200に存在する「クライアント220」および「代替サーバ210」が記述されており、「クライアント通信状態フラグ」として「F2 」が記述されている。クライアント通信状態フラグF2 は、クライアント220の通信状態(正常または異常)を示すフラグである。
【0045】
同様にして、「ノード300」(「ノード名」)のレコードには、「装置名」としてノード300に存在する「クライアント320」が記述されており、「クライアント通信状態フラグ」として「F3 」が記述されている。クライアント通信状態フラグF3 は、クライアント320の通信状態(正常または異常)を示すフラグである。
【0046】
図1に戻り、主サーバ110内の定周期通信受信部112は、後述する定周期通信送信部122、定周期通信送信部222および定周期通信送信部322のそれぞれから定周期(例えば、5秒)毎に送信される図3に示した定周期通信パケットPAを受信する。この定周期通信パケットPAは、クライアント120、クライアント220およびクライアント320のそれぞれの通信状態(正常または異常)のチェックに用いられる。このチェックは、主サーバ制御部111により実行される。
【0047】
図3に示した定周期通信パケットPAは、送信先アドレスADR、送信先ポート番号POR、送信元アドレスARS、送信元ポート番号POSおよびダミーデータDから構成されている。送信先アドレスADRは、定周期通信パケットPAの送信先(この場合、主サーバ110)のアドレスである。送信先ポート番号PORは、上記送信先のネットワークポートの番号である。送信元アドレスARS
は、定周期通信パケットPAの送信元(この場合、クライアント120、クライアント220またはクライアント320)のアドレスである。送信元ポート番号POSは、上記送信元のネットワークポートの番号である。ダミーデータDは、通信状態のチェック専用のデータである。
【0048】
図1に戻り、クライアント120は、ノード100内の主サーバ110に接続されており、正常時、主サーバ110から通信サービスの提供を受ける。また、クライアント120は、異常発生時に、主サーバ110に代えて代替サーバ210から通信サービスの提供を受けることが可能とされている。このクライアント120において、クライアント制御部121は、通信サービスの提供を受けるための制御機能を備えている。
【0049】
定周期通信送信部122は、上述した定周期通信パケットPA(図3参照)を定周期(=5秒)で、主サーバ110の定周期通信受信部112へ送信する。この場合、定周期通信パケットPAは、送信先アドレスADR(=主サーバ110のアドレス)、送信先ポート番号POR(=主サーバ110のネットワークポート番号)、送信元アドレスARS(=クライアント120のアドレス)、送信元ポート番号POS(=クライアント120のネットワークポート番号)、およびダミーデータDから構成される。
【0050】
通信部130は、主サーバ110およびクライアント120とデータ用通信路400との間に介挿されており、所定の通信プロトコルに従って、主サーバ110およびクライアント120と外部のノード200およびノード300との間の通信制御を行う。切替制御部140は、主サーバ110から代替サーバ210への切替制御を行う。通信部150は、切替制御部140と制御用通信路500との間に介挿されており、所定の通信プロトコルに従って、切替制御部140と外部のノード200およびノード300との間の通信制御を行う。
【0051】
ノード200において、代替サーバ210は、主サーバ110と同一の機能を備えており、異常発生時に、主サーバ110に代わって通信サービスの提供を行う。つまり、代替サーバ210は、現用系サーバ(主サーバ110)に対する待機系サーバとして機能する。このように、一実施の形態のクライアント/サーバシステムは、主サーバ110および代替サーバ210により並列冗長構成が採られている。
【0052】
この代替サーバ210において、代替サーバ制御部211は、主サーバ制御部111と同一の機能を備えている。すなわち、代替サーバ制御部211は、異常発生時に、通信サービの提供先であるクライアント120、クライアント220およびクライアント320のそれぞれの通信状態(正常または異常)をチェックするチェック機能や、通信サービスの提供を行うための制御機能を備えている。
【0053】
また、代替サーバ制御部211は、主サーバ制御部111と同様にして、図2に示したノードテーブルTを保持しており、このノードテーブルTに基づいて、装置(クライアント、サーバ)が存在するノードを把握するとともに、それぞれのクライアントの通信状態(正常または異常)を把握する。
【0054】
定周期通信受信部212は、異常発生時、定周期通信受信部112と同様にして、定周期通信送信部122、定周期通信送信部222および定周期通信送信部322のそれぞれから定周期(例えば、5秒)毎に送信される定周期通信パケットPA(図3参照)を受信する。このチェックは、代替サーバ制御部211により実行される。
【0055】
クライアント220は、ノード100内の主サーバ110に通信部230、データ用通信路400および通信部130を介して接続されており、正常時、主サーバ110から通信サービスの提供を受ける。また、クライアント220は、異常発生時に、主サーバ110に代えて同一のノード200内の代替サーバ210から通信サービスの提供を受けることが可能とされている。このクライアント220において、クライアント制御部221は、通信サービスの提供を受けるための制御機能を備えている。
【0056】
定周期通信送信部222は、上述した定周期通信パケットPA(図3参照)を定周期(=5秒)で、主サーバ110の定周期通信受信部112へ通信部230、データ用通信路400および通信部130を介して送信する。この場合、定周期通信パケットPAは、送信先アドレスADR(=主サーバ110のアドレス)、送信先ポート番号POR(=主サーバ110のネットワークポート番号)、送信元アドレスARS(=クライアント220のアドレス)、送信元ポート番号POS(=クライアント220のネットワークポート番号)、およびダミーデータDから構成される。
【0057】
通信部230は、代替サーバ210およびクライアント220とデータ用通信路400との間に介挿されており、所定の通信プロトコルに従って、代替サーバ210およびクライアント220と外部のノード100およびノード300との間の通信制御を行う。切替制御部240は、主サーバ110から代替サーバ210への切替制御を行う。通信部250は、切替制御部240と制御用通信路500との間に介挿されており、所定の通信プロトコルに従って、切替制御部240と外部のノード100およびノード300との間の通信制御を行う。
【0058】
ノード300において、クライアント320は、ノード100内の主サーバ110に通信部330、データ用通信路400および通信部130を介して接続されており、正常時、主サーバ110から通信サービスの提供を受ける。また、クライアント320は、異常発生時に、主サーバ110に代えて、通信部330、データ用通信路400および通信部230を介して、ノード200内の代替サーバ210から通信サービスの提供を受けることが可能とされている。このクライアント320において、クライアント制御部321は、通信サービスの提供を受けるための制御機能を備えている。
【0059】
定周期通信送信部322は、上述した定周期通信パケットPA(図3参照)を定周期(=5秒)で、主サーバ110の定周期通信受信部112へ通信部330、データ用通信路400および通信部130を介して送信する。この場合、定周期通信パケットPAは、送信先アドレスADR(=主サーバ110のアドレス)、送信先ポート番号POR(=主サーバ110のネットワークポート番号)、送信元アドレスARS(=クライアント320のアドレス)、送信元ポート番号POS(=クライアント320のネットワークポート番号)、およびダミーデータDから構成される。
【0060】
通信部330は、クライアント320とデータ用通信路400との間に介挿されており、所定の通信プロトコルに従って、クライアント320と外部のノード100およびノード200との間の通信制御を行う。切替制御部340は、主サーバ110から代替サーバ210への切替制御を行う。通信部350は、切替制御部340と制御用通信路500との間に介挿されており、所定の通信プロトコルに従って、切替制御部340と外部のノード100およびノード200との間の通信制御を行う。
【0061】
つぎに、実施の形態1の動作について、図4〜図6に示したフローチャートを参照しつつ説明する。図1において、主サーバ110は、ノード100内のクライアント120、ノード200内のクライアント220およびノード300内のクライアント320のそれぞれからの要求に応じて、通信サービスを提供する。
【0062】
すなわち、主サーバ110は、同一のノード100内でクライアント120に通信サービスを提供する。また、主サーバ110は、通信部130、データ用通信路400および通信部230を介して、ノード200内のクライアント220に通信サービスを提供する。さらに、主サーバ110は、通信部130、データ用通信路400および通信部330を介してノード300内のクライアント320に通信サービスを提供する。
【0063】
また、上述した通信サービスの提供に並行して、クライアント120の定周期通信送信部122、クライアント220の定周期通信送信部222およびクライアント320の定周期通信送信部322のそれぞれは、定周期(例えば、5秒)毎に主サーバ110へ定周期通信パケットPA(図3参照)を送信する。一方、主サーバ110の主サーバ制御部111は、クライアント120、クライアント220およびクライアント320のそれぞれの通信状態(正常または異常)を定周期通信パケットPAに基づいて、定期的にチェックする。
【0064】
具体的には、図4に示したステップSA1では、主サーバ制御部111は、定周期通信受信部112が定周期通信パケットPAを受信したか否かを判断する。この場合、判断結果が「No」であるものとすると、ステップSA2では、主サーバ制御部111は、定周期通信パケットPAに関する前回の受信時刻から30秒経過したか否かを判断する。この場合、主サーバ制御部111は、ステップSA2の判断結果を「No」とし、上述した判断を繰り返す。
【0065】
そして、定周期通信受信部112により、定周期通信送信部122、定周期通信送信部222および定周期通信送信部322のそれぞれからの定周期通信パケットPAが受信されると、主サーバ制御部111は、ステップSA1の判断結果を「Yes」とする。ステップSA9では、主サーバ制御部111は、図2に示したノードテーブルTから、それぞれの定周期通信パケットPAの送信元アドレスARS(図3参照)に対応付けられた「装置名」(この場合、クライアント120、クライアント220およびクライアント320)を認識する。
【0066】
つぎに、主サーバ制御部111は、図2に示したノードテーブルT内のクライアント通信状態フラグF1 〜F3 のそれぞれを正常フラグとする。つまり、この場合には、クライアント120、クライアント220およびクライアント320の全ての通信状態が正常であることを意味している。
【0067】
従って、これらのクライアント120、クライアント220およびクライアント320のそれぞれは、主サーバ110から通信サービスの提供を受けている。以後、主サーバ制御部111は、上述した動作を繰り返し、定周期通信パケットPAが受信される毎にクライアント通信状態フラグF1 〜F3 のそれぞれを正常フラグとする。
【0068】
ここで、ノード200の通信部230が故障すると、クライアント220の定周期通信送信部222からの定周期通信パケットPAは、主サーバ110の定周期通信受信部112に受信されなくなる。この場合、前回の受信時刻から30秒が経過しているものとする。従って、主サーバ110の主サーバ制御部111は、ステップSA2の判断結果を「Yes」とする。ここで、主サーバ110から通信サービスの提供を受けることができるクライアントは、2台のクライアント120およびクライアント320であり、クライアント220は、通信サービスの提供を受けることができない。
【0069】
ステップSA3では、主サーバ制御部111は、クライアント220の通信状態が異常(通信不可)であることを認識した後、図2に示したノードテーブルT内の、クライアント220に対応するクライアント通信状態フラグF2 を異常フラグとする。ステップSA4では、主サーバ制御部111は、最悪状態クライアント数算出処理を実行する。
【0070】
この最悪状態クライアント数とは、通信サービスの提供元を主サーバ110から代替サーバ210に切り替えた場合に代替サーバ210から通信サービスの提供を正常に受けることができるクライアントの数であって、ノードテーブルT内のクライアント通信状態フラグF1 〜F3 から推測される様々な通信環境のうち最悪の状態でのクライアントの数をいう。
【0071】
具体的には、図5に示したステップSB1では、主サーバ制御部111は、最悪状態クライアント数iに初期値として「0」を代入する。ステップSB2では、主サーバ制御部111は、図2に示したノードテーブルTを参照することにより、当該クライアント(この場合、クライアント120)のノードと、代替サーバ210のノード200とが一致するか否かを判断する。
【0072】
ここでいう当該クライアントとは、ステップSB2〜ステップSB6で判定対象となるクライアントをいう。また、ステップSB2では、主サーバ制御部111は、主サーバ110から代替サーバ210への切替後、少なくとも代替サーバ210のノードに存在するクライアントが正常動作するという仮定の下で判断する。
【0073】
この場合、主サーバ制御部111は、クライアント120のノード100と、代替サーバ210のノード200とが一致しないため、ステップSB2の判断結果を「No」とする。ステップSB3では、主サーバ制御部111は、当該クライアントの通信状態フラグが正常フラグであり、かつ当該クライアントのノードが、主サーバ110が存在するノード以外であるか否かを判断する。
【0074】
この場合、主サーバ制御部111は、クライアント120のクライアント通信状態フラグF1 (図2参照)が正常フラグであるが、クライアント120のノード100が主サーバ110のノード100と同一であるため、ステップSB3の判断結果を「No」とする。
【0075】
ステップSB4では、主サーバ制御部111は、主サーバ110のノード100以外のノード200および300上の全クライアント(この場合、クライアント220およびクライアント320)に関するクライアント通信状態フラグF2 およびF3 がともに異常フラグであるか否かを判断する。
【0076】
この場合、クライアント通信状態フラグF2 が異常フラグであるのに対して、クライアント通信状態フラグF3 が正常フラグであるため、主サーバ制御部111は、ステップSB4の判断結果を「No」とする。つまり、この場合には、クライアント120は、主サーバ110から代替サーバ210への切替後に代替サーバ210から通信サービスの提供を受けることができないであろう、と判定され、最悪状態クライアント数iにカウントされない。
【0077】
ステップSB5では、主サーバ制御部111は、全クライアントに関するステップSB2からステップSB6までの判定が終了したか否かを判断し、この場合、判断結果を「No」とする。これにより、ステップSB2以降では、つぎのクライアント220に関する判定が行われる。すなわち、ステップSB2では、主サーバ制御部111は、図2に示したノードテーブルTを参照することにより、クライアント220のノード200と、代替サーバ210のノード200とが一致するか否かを判断し、この場合、判断結果を「Yes」とする。
【0078】
ステップSB7では、主サーバ110は、最悪状態クライアント数iを1インクリメントして「1」とする。つまり、この場合には、クライアント220は、主サーバ110から代替サーバ210への切替後に代替サーバ210から通信サービスの提供を受けることができるであろう、と判定され、最悪状態クライアント数iにカウントされたのである。
【0079】
ステップSB5では、主サーバ制御部111は、全クライアントに関するステップSB2からステップSB6までの判定が終了したか否かを判断し、この場合、判断結果を「No」とする。これにより、ステップSB2以降では、つぎのクライアント320に関する判定が行われる。すなわち、ステップSB2では、主サーバ制御部111は、図2に示したノードテーブルTを参照することにより、クライアント320のノード300と、代替サーバ210のノード200とが一致するか否かを判断し、この場合、判断結果を「No」とする。
【0080】
ステップSB3では、主サーバ制御部111は、クライアント320のクライアント通信状態フラグF3 (図2参照)が正常フラグであり、かつクライアント320のノード300が主サーバ110のノード100以外のノードであるため、ステップSB3の判断結果を「Yes」とする。
【0081】
ステップSB7では、主サーバ制御部111は、最悪状態クライアント数iを1インクリメントして「2」とする。つまり、この場合には、クライアント320は、主サーバ110から代替サーバ210への切替後に代替サーバ210から通信サービスの提供を受けることができるであろう、と判定され、最悪状態クライアント数iにカウントされたのである。ステップSB5では、主サーバ制御部111は、判断結果を「Yes」とする。
【0082】
なお、ステップSB4の判断結果が「Yes」である場合、主サーバ制御部111は、当該クライアントのノードと主サーバ110のノード100とが同一であるか否かを判断する。この判断結果が「Yes」である場合、ステップSB7では、主サーバ制御部111は、最悪状態クライアント数iを1インクリメントする。一方、ステップSB6の判断結果が「No」である場合、主サーバ制御部111は、ステップSB5の判断を行う。
【0083】
図4に戻り、ステップSA5では、主サーバ制御部111は、ステップSA4で算出された最悪状態クライアント数i(=「2」)が現状クライアント数x未満であるか否かを判断する。上記現状クライアント数xは、現状(切替前)で主サーバ110から通信サービスの提供を受けることができるクライアントの数である。
【0084】
具体的には、現状クライアント数xは、ノードテーブルT内のクライアント通信状態フラグF1 〜F3 のうち、正常フラグとされているものの数である。したがって、クライアント通信状態フラグF1 およびクライアント通信状態フラグF3 の双方が正常フラグとされているため、現状クライアント数xは、「2」である。この場合、最悪状態クライアント数i(=「2」)と現状クライアント数x(=「2」)とが等しいため、主サーバ制御部111は、ステップSA5の判断結果を「No」とする。
【0085】
ステップSA6では、主サーバ制御部111は、最善状態クライアント数算出処理を実行する。この最善状態クライアント数とは、通信サービスの提供元を主サーバ110から代替サーバ210に切り替えた場合に代替サーバ210から通信サービスの提供を正常に受けることができるクライアントの数であって、ノードテーブルT内のクライアント通信状態フラグF1 〜F3 から推測される様々な通信環境のうち最善の状態でのクライアントの数をいう。
【0086】
すなわち、図6に示したステップSC1では、主サーバ制御部111は、最善状態クライアント数jに初期値として「0」を代入する。なお、図6に示したステップSC2〜ステップSC5は、図5に示したステップSB2〜ステップSB5に対応している。また、図6では、ステップSC6の「Yes」、「No」がステップSB6(図5参照)の場合と逆になっていることに注意されたい。
【0087】
ステップSC2では、主サーバ制御部111は、図2に示したノードテーブルTを参照することにより、クライアント120のノードと、代替サーバ210のノード200とが一致するか否かを判断し、この場合、判断結果を「No」とする。ステップSC3では、主サーバ制御部111は、クライアント120のクライアント通信状態フラグF1 (図2参照)が正常フラグであるが、クライアント120のノード100が主サーバ110のノード100と同一であるため、ステップSC3の判断結果を「No」とする。
【0088】
ステップSC4では、主サーバ制御部111は、ノード100以外のノード200およびノード300上の全クライアント(クライアント220およびクライアント320)に関して、クライアント通信状態フラグF2 が異常フラグであるのに対して、クライアント通信状態フラグF3 が正常フラグであるため、判断結果を「No」とする。つまり、この場合には、クライアント120は、主サーバ110から代替サーバ210への切替後に代替サーバ210から通信サービスの提供を受けることができないであろう、と判定され、最善状態クライアント数jにカウントされないのである。
【0089】
ステップSC5では、主サーバ制御部111は、全クライアントに関するステップSC2からステップSC6までの判定が終了したか否かを判断し、この場合、判断結果を「No」とする。これにより、ステップSC2以降では、つぎのクライアント220に関する判定が行われる。すなわち、ステップSC2では、主サーバ制御部111は、図2に示したノードテーブルTを参照することにより、クライアント220のノード200と、代替サーバ210のノード200とが一致するか否かを判断し、この場合、判断結果を「Yes」とする。
【0090】
ステップSC7では、主サーバ制御部111は、最善状態クライアント数jを1インクリメントして「1」とする。つまり、この場合には、クライアント220は、主サーバ110から代替サーバ210への切替後に代替サーバ210から通信サービスの提供を受けることができるであろう、と判定され、最善状態クライアント数jにカウントされたのである。
【0091】
ステップSC5では、主サーバ制御部111は、全クライアントに関するステップSC2からステップSC6までの判定が終了したか否かを判断し、この場合、判断結果を「No」とする。これにより、ステップSC2以降では、つぎのクライアント320に関する判定が行われる。すなわち、ステップSC2では、主サーバ制御部111は、図2に示したノードテーブルTを参照することにより、クライアント320のノード300と、代替サーバ210のノード200とが一致するか否かを判断し、この場合、判断結果を「No」とする。
【0092】
ステップSC3では、主サーバ制御部111は、クライアント320のノード300が主サーバ110のノード100以外のノードであって、かつ、クライアント320のクライアント通信状態フラグF3 (図2参照)が正常フラグであるため、ステップSC3の判断結果を「Yes」とする。ステップSC7では、主サーバ制御部111は、最善状態クライアント数jを1インクリメントして「2」とする。
【0093】
つまり、この場合には、クライアント320は、主サーバ110から代替サーバ210への切替後に代替サーバ210から通信サービスの提供を受けることができるであろう、と判定され、最善状態クライアント数jにカウントされたのである。ステップSC5では、主サーバ制御部111は、判断結果を「Yes」とする。
【0094】
図4に戻り、ステップSA7では、主サーバ制御部111は、ステップSA6で算出された最善状態クライアント数j(=「2」)が現状クライアント数x(=「2」)を超えたか否かを判断し、この場合、判断結果を「No」とする。
【0095】
ステップSA10では、主サーバ制御部111は、切替制御部140へいずれの信号も出力しない。つまり、主サーバ制御部111は、主サーバ110から通信サービスを提供するという、現状を維持する。したがって、この場合には、切替制御部140による主サーバ110から代替サーバ210への切替制御が行われない。
【0096】
つぎに、ノード100の通信部130が故障した場合について説明する。この場合、クライアント120の定周期通信送信部122からの定周期通信パケットPAは、定周期通信受信部112に受信されている。しかしながら、クライアント220の定周期通信送信部222およびクライアント320の定周期通信送信部322の双方からの定周期通信パケットPAは、主サーバ110の定周期通信受信部112に受信されなくなる。
【0097】
この場合、前回の受信時刻から30秒が経過しているものとする。従って、主サーバ110の主サーバ制御部111は、ステップSA2の判断結果を「Yes」とする。ここで、主サーバ110から通信サービスの提供を受けることができるクライアントは、1台のクライアント120のみであり、他の2台のクライアント220およびクライアント320は、通信サービスの提供を受けることができない。
【0098】
ステップSA3では、主サーバ制御部111は、クライアント220およびクライアント320の通信状態が共に異常(通信不可)であることを認識した後、図2に示したノードテーブルT内の、クライアント220および320に対応するクライアント通信状態フラグF2 およびF3 を共に異常フラグとする。ステップSA4では、主サーバ制御部111は、前述した動作と同様にして、最悪状態クライアント数算出処理を実行する。
【0099】
すなわち、図5に示したステップSB1では、主サーバ制御部111は、最悪状態クライアント数iに初期値として「0」を代入する。ステップSB2では、主サーバ制御部111は、図2に示したノードテーブルTを参照することにより、クライアント120のノードと、代替サーバ210のノード200とが一致するか否かを判断し、この場合、判断結果を「No」とする。
【0100】
ステップSB3では、主サーバ制御部111は、クライアント120のクライアント通信状態フラグF1 (図2参照)が正常フラグであるが、クライアント120のノード100が主サーバ110のノード100と同一であるため、ステップSB3の判断結果を「No」とする。
【0101】
ステップSB4では、主サーバ制御部111は、ノード100以外のノード200およびノード300上の全クライアント(クライアント220およびクライアント320)に関するクライアント通信状態フラグF2 およびクライアント通信状態フラグF3 が共に異常フラグであるため、判断結果を「Yes」とする。
【0102】
ステップSB6では、主サーバ制御部111は、クライアント120のノード100と主サーバ110のノード100とが同一であるか否かを判断し、この場合、判断結果を「Yes」とする。ステップSB7では、主サーバ制御部111は、最悪状態クライアント数iを1インクリメントして、「1」とする。つまり、この場合には、クライアント120は、主サーバ110から代替サーバ210への切替後に代替サーバ210から通信サービスの提供を受けることができるであろう、と判定され、最悪状態クライアント数iにカウントされたのである。
【0103】
ステップSB5では、主サーバ制御部111は、全クライアントに関するステップSB2からステップSB6までの判定が終了したか否かを判断し、この場合、判断結果を「No」とする。これにより、ステップSB2以降では、つぎのクライアント220に関する判定が行われる。すなわち、ステップSB2では、主サーバ制御部111は、図2に示したノードテーブルTを参照することにより、クライアント220のノード200と、代替サーバ210のノード200とが一致するか否かを判断し、この場合、判断結果を「Yes」とする。
【0104】
ステップSB7では、主サーバ110は、最悪状態クライアント数iを1インクリメントして「2」とする。つまり、この場合には、クライアント220は、主サーバ110から代替サーバ210への切替後に代替サーバ210から通信サービスの提供を受けることができるであろう、と判定され、最悪状態クライアント数iにカウントされたのである。
【0105】
ステップSB5では、主サーバ制御部111は、全クライアントに関するステップSB2からステップSB6までの判定が終了したか否かを判断し、この場合、判断結果を「No」とする。これにより、ステップSB2以降では、つぎのクライアント320に関する判定が行われる。すなわち、ステップSB2では、主サーバ制御部111は、図2に示したノードテーブルTを参照することにより、クライアント320のノード300と、代替サーバ210のノード200とが一致するか否かを判断し、この場合、判断結果を「No」とする。
【0106】
ステップSB3では、主サーバ制御部111は、クライアント320のノード300が主サーバ110のノード100以外のノードであるが、クライアント320のクライアント通信状態フラグF3 (図2参照)が異常フラグであるため、ステップSB3の判断結果を「No」とする。ステップSB4では、主サーバ制御部111は、ノード100以外のノード200およびノード300上の全クライアント(クライアント220およびクライアント320)に関するクライアント通信状態フラグF2 およびクライアント通信状態フラグF3 が共に異常フラグであるため、判断結果を「Yes」とする。
【0107】
ステップSB6では、主サーバ制御部111は、クライアント320のノード300と主サーバ110のノード100とが同一であるか否かを判断し、この場合、判断結果を「No」とする。つまり、この場合には、クライアント320は、主サーバ110から代替サーバ210への切替後に代替サーバ210から通信サービスの提供を受けることができないであろう、と判定され、最悪状態クライアント数iにカウントされないのである。ステップSB5では、主サーバ制御部111は、判断結果を「Yes」とする。
【0108】
図4に戻り、ステップSA5では、主サーバ制御部111は、ステップSA4で算出された最悪状態クライアント数i(=「2」)が現状クライアント数x未満であるか否かを判断する。この場合、クライアント通信状態フラグF1 のみが正常フラグとされているため、現状クライアント数xは、「1」である。
【0109】
従って、最悪状態クライアント数i(=「2」)が現状クライアント数x(=「1」)以上であるため、主サーバ制御部111は、ステップSA5の判断結果を「No」とする。つまり、主サーバ制御部111は、主サーバ110から代替サーバ210への切替を行うことにより、通信サービスの提供を受けることができるクライアント数が、切替前の同クライアント数より多くなると判断したのである。
【0110】
ステップSA6では、主サーバ制御部111は、最善状態クライアント数算出処理を実行する。すなわち、図6に示したステップSC1では、主サーバ制御部111は、最善状態クライアント数jに初期値として「0」を代入する。ステップSC2では、主サーバ制御部111は、図2に示したノードテーブルTを参照することにより、クライアント120のノードと、代替サーバ210のノード200とが一致するか否かを判断し、この場合、判断結果を「No」とする。
【0111】
ステップSC3では、主サーバ制御部111は、クライアント120のクライアント通信状態フラグF1 (図2参照)が正常フラグであるが、クライアント120のノード100が主サーバ110のノード100と同一であるため、ステップSC3の判断結果を「No」とする。
【0112】
ステップSC4では、主サーバ制御部111は、ノード100以外のノード200およびノード300上の全クライアント(クライアント220およびクライアント320)に関するクライアント通信状態フラグF2 およびクライアント通信状態フラグF3 が共に異常フラグであるため、判断結果を「Yes」とする。
【0113】
ステップSC6では、主サーバ制御部111は、クライアント120のノード100と主サーバ110のノード100とが同一であるか否かを判断し、この場合、判断結果を「Yes」とする。つまり、この場合には、クライアント120は、主サーバ110から代替サーバ210への切替後に代替サーバ210から通信サービスの提供を受けることができないであろう、と判定され、最善状態クライアント数jにカウントされないのである。
【0114】
ステップSC5では、主サーバ制御部111は、全クライアントに関するステップSC2からステップSC6までの判定が終了したか否かを判断し、この場合、判断結果を「No」とする。これにより、ステップSC2以降では、つぎのクライアント220に関する判定が行われる。すなわち、ステップSC2では、主サーバ制御部111は、図2に示したノードテーブルTを参照することにより、クライアント220のノード200と、代替サーバ210のノード200とが一致するか否かを判断し、この場合、判断結果を「Yes」とする。
【0115】
ステップSC7では、主サーバ制御部111は、最善状態クライアント数jを1インクリメントして「1」とする。つまり、この場合には、クライアント220は、主サーバ110から代替サーバ210への切替後に代替サーバ210から通信サービスの提供を受けることができるであろう、と判定され、最善状態クライアント数jにカウントされたのである。
【0116】
ステップSC5では、主サーバ制御部111は、全クライアントに関するステップSC2からステップSC6までの判定が終了したか否かを判断し、この場合、判断結果を「No」とする。これにより、ステップSC2以降では、つぎのクライアント320に関する判定が行われる。すなわち、ステップSC2では、主サーバ制御部111は、図2に示したノードテーブルTを参照することにより、クライアント320のノード300と、代替サーバ210のノード200とが一致するか否かを判断し、この場合、判断結果を「No」とする。
【0117】
ステップSC3では、主サーバ制御部111は、クライアント320のノード300が主サーバ110のノード100以外のノードであるが、クライアント320のクライアント通信状態フラグF3 (図2参照)が異常フラグであるため、ステップSC3の判断結果を「No」とする。ステップSC4では、主サーバ制御部111は、ノード100以外のノード200およびノード300上の全クライアント(クライアント220およびクライアント320)に関するクライアント通信状態フラグF2 およびクライアント通信状態フラグF3 が共に異常フラグであるため、判断結果を「Yes」とする。
【0118】
ステップSC6では、主サーバ制御部111は、クライアント320のノード300と主サーバ110のノード100とが同一であるか否かを判断し、この場合、判断結果を「No」とする。ステップSC7では、主サーバ制御部111は、最善状態クライアント数jを1インクリメントして「2」とする。
【0119】
つまり、この場合には、クライアント320は、主サーバ110から代替サーバ210への切替後に代替サーバ210から通信サービスの提供を受けることができるであろう、と判定され、最善状態クライアント数jにカウントされたのである。ステップSC5では、主サーバ制御部111は、判断結果を「Yes」とする。
【0120】
図4に戻り、ステップSA7では、主サーバ制御部111は、ステップSA6で算出された最善状態クライアント数j(=「2」)が現状クライアント数x(=「1」)を超えたか否かを判断し、この場合、判断結果を「Yes」とする。ステップSA8では、サーバ切替処理が実行される。すなわち、主サーバ制御部111は、切替を行う旨を切替制御部140に通知する。
【0121】
これにより、切替制御部140は、アクセス先を主サーバ110から代替サーバ210に切り替えるように、ノード100内のクライアント120を制御する。また、切替制御部140は、通信部150、制御用通信路500および通信部250を介してノード200内の切替制御部240へ切替信号を出力するとともに、通信部150、制御用通信路500および通信部350を介して切替信号を切替制御部340へ出力する。これにより、切替制御部240および切替制御部340は、アクセス先を主サーバ110から代替サーバ210に切り替えるように、クライアント220およびクライアント320を制御する。
【0122】
切替後、代替サーバ210からは、2台のクライアント220およびクライアント320に対して通信サービスが提供される。なお、クライアント120は、通信部130が故障しているため、代替サーバ210から通信サービスの提供を受けることができない。つまり、この場合、切替により、切替サーバ210から通信サービスの提供を受けることができるクライアント数が、1台から2台に増加し、切替が有効に作用したのである。
【0123】
以上説明したように、一実施の形態によれば、クライアント120、クライアント220およびクライアント320のうち少なくとも一つのクライアントの通信状態が異常となった場合に、最悪状態クライアント数i、最善状態クライアント数jの算出結果と切替前に主サーバ110から通信サービスの提供を受けているクライアントの数との比較結果から切替の適否を判断し、該判断の結果に基づいて切替制御を行っているため、不要な切替が発生せず、サーバ切替による、通信サービスの提供を受けることができるクライアント数の減少を防ぐことができる。
【0124】
以上本発明にかかる一実施の形態について図面を参照して詳述してきたが、具体的な構成例はこの一実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。たとえば、前述した一実施の形態においては、切り替え機能を実現するための切替制御プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された切替制御プログラムをコンピュータに読み込ませ、実行することにより切替制御を行うようにしてもよい。
【0125】
上記コンピュータは、上記切替制御プログラムを実行するCPUと、キーボード、マウス等の入力装置と、各種データを記憶するROM(Read Only Memory)と、演算パラメータ等を記憶するRAM(Random Access Memory)と、記録媒体から切替制御プログラムを読み取る読取装置と、ディスプレイ、プリンタ等の出力装置と、装置各部を接続するバスとから構成されている。
【0126】
CPUは、読取装置を経由して記録媒体に記録されている切替制御プログラムを読み込んだ後、切替制御プログラムを実行することにより、前述した切り替え制御を行う。なお、記録媒体には、光ディスク、フロッピーディスク、ハードディスク等の可搬型の記録媒体が含まれることはもとより、ネットワークのようにデータを一時的に記録保持するような伝送媒体も含まれる。
【0127】
また、一実施の形態では、変形例として、ステップSA7(図4参照)で最善状態クライアント数jと現状クライアント数xとが同数である場合、主サーバ制御部111により、代替サーバ210が提供し得る通信サービスの量と、主サーバ110が提供し得る通信サービスの量との比較結果に基づいて、切替の適否を判断するようにしてもよい。
【0128】
例えば、代替サーバ210が提供し得る通信サービスの量が、主サーバ110が提供し得る通信サービスの量を超えた場合には、切替が必要であると判断され、切替制御部140による切替が行われる。一方、代替サーバ210が提供し得る通信サービスの量が、主サーバ110が提供し得る通信サービスの量以下である場合には、切替が不要と判断され、切替制御部140による切替が行われない。
【0129】
この一実施の形態の変形例によれば、代替サーバ210が提供し得る通信サービスの量が、主サーバ110が提供し得る通信サービスの量を超えた場合にのみ切替を実行するようにしたので、異常が発生した場合であっても、異常発生前の通信サービスの量より多くの通信サービスを提供することができることから、通信サービスの質の向上を図ることができる。
【0130】
【発明の効果】
以上説明したように、請求項1にかかる発明によれば、複数のクライアントのうち少なくとも一つのクライアントの通信状態が異常となった場合に、クライアント数算出手段の算出結果と切替前に現用系サーバから通信サービスの提供を受けているクライアントの数との比較結果から切替の適否を判断し、該判断の結果に基づいて切替制御を行っているため、不要な切替が発生せず、サーバ切替による、通信サービスの提供を受けることができるクライアント数の減少を防ぐことができるという効果を奏する。
【0131】
また、ノードテーブルを参照し、通信状態チェック手段のチェックの結果、通信異常とされたクライアントのノードのクライアントは前記現用系サーバと通信不可能と判断するとともに、該判断において、前記現用系サーバとの通信が異常と判断されなかったクライアント数、及び、待機系サーバと同じノードのクライアント数を基に前記現用系サーバから前記待機系サーバへの切替後に前記待機系サーバから前記通信サービスの提供を受けることができるクライアントの数を算出することとしたので、不要な切替が発生せず、サーバ切替による、通信サービスの提供を受けることができるクライアント数の減少を防ぐことができるという効果を奏する。
【0132】
また、請求項2、3にかかる発明によれば、複数のクライアントのうち少なくとも一つのクライアントの通信状態が異常となった場合に、クライアント数算出工程の算出結果と切替前に現用系サーバから通信サービスの提供を受けているクライアントの数との比較結果から切替の適否を判断し、該判断の結果に基づいて切替制御を行っているため、不要な切替が発生せず、サーバ切替による、通信サービスの提供を受けることができるクライアント数の減少を防ぐことができるという効果を奏する。
【0133】
また、ノードテーブルを参照し、通信状態チェック工程によるチェックの結果、通信異常とされたクライアントのノードのクライアントは前記現用系サーバと通信不可能と判断するとともに、該判断において、前記現用系サーバとの通信が異常と判断されなかったクライアント数、及び、待機系サーバと同じノードのクライアント数を基に前記現用系サーバから前記待機系サーバへの切替後に前記待機系サーバから前記通信サービスの提供を受けることができるクライアントの数を算出することとしたので、不要な切替が発生せず、サーバ切替による、通信サービスの提供を受けることができるクライアント数の減少を防ぐことができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明にかかる一実施の形態の構成を示すブロック図である。
【図2】同一実施の形態で用いられるノードテーブルTを示す図である。
【図3】同一実施の形態で用いられる定周期通信パケットPAのデータ構造を示す図である。
【図4】 同一実施の形態の動作を説明するフローチャートである。
【図5】 図4に示した最悪状態クライアント数算出処理を説明するフローチャートである。
【図6】 図4に示した最善状態クライアント数算出処理を説明するフローチャートである。
【図7】 従来のクライアント/サーバシステムの構成を示すブロック図である。
【符号の説明】
110 主サーバ
111 主サーバ制御部
120、220、320 クライアント
140 切替制御部
210 代替サーバ
400 データ用通信路
Claims (3)
- 複数のクライアントへネットワークを介して通信サービスを提供する現用系サーバから、該現用系サーバと同一の機能を有する待機系サーバへの切替制御を行う切替制御装置において、
ノード名と該ノード内のサーバ名・クライアント名とを対応付けて記憶したノードテーブルと、
前記現用系サーバと各クライアントとの間のそれぞれの通信における通信状態をチェックする通信状態チェック手段と、
前記通信状態チェック手段のチェックの結果、いずれかのクライアントが通信異常となった場合、前記ノードテーブルを参照し、通信異常とされたクライアントのノードのクライアントは前記現用系サーバと通信不可能と判断するとともに、該判断において、前記現用系サーバとの通信が異常と判断されなかったクライアント数、及び、待機系サーバと同じノードのクライアント数を基に前記現用系サーバから前記待機系サーバへの切替後に前記待機系サーバから前記通信サービスの提供を受けることができるクライアントの数を算出するクライアント数算出手段と、
前記クライアント数算出手段により算出されたクライアント数と、現用系サーバから前記通信サービスの提供を受けているクライアント数との比較結果から切替の適否を判断し、前記現用系サーバから前記待機系サーバへの切替制御を行う制御手段と、
を備えることを特徴とする切替制御装置。 - 複数のクライアントへネットワークを介して通信サービスを提供する現用系サーバから、該現用系サーバと同一の機能を有する待機系サーバへの切替制御を行う切替制御方法において、
前記現用系サーバと各クライアントとの間のそれぞれの通信における通信状態をチェックする通信状態チェック工程と、
前記通信状態チェック工程のチェックの結果、いずれかのクライアントが通信異常となった場合、ノード名と該ノード内のサーバ名・クライアント名とを対応付けて記憶したノードテーブルを参照し、通信異常とされたクライアントのノードのクライアントは前記現用系サーバと通信不可能と判断するとともに、該判断において、前記現用系サーバとの通信が異常と判断されなかったクライアント数、及び、待機系サーバと同じノードのクライアント数を基に前記現用系サーバから前記待機系サーバへの切替後に前記待機系サーバから前記通信サービスの提供を受けることができるクライアントの数を算出するクライアント数算出工程と、
前記クライアント数算出工程により算出されたクライアント数と、現用系サーバから前記通信サービスの提供を受けているクライアント数との比較結果から切替の適否を判断し、該判断の結果に基づいて前記現用系サーバから前記待機系サーバへの切替制御を行う制御工程と、
を含むことを特徴とする切替制御方法。 - 複数のクライアントへネットワークを介して通信サービスを提供する現用系サーバから、該現用系サーバと同一の機能を有する待機系サーバへの切替制御を行う切替制御装置に適用される切替制御プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記現用系サーバと各クライアントとの間のそれぞれの通信における通信状態をチェックさせる通信状態チェック工程と、
前記通信状態チェック工程のチェックの結果、いずれかのクライアントが通信異常となった場合、ノード名と該ノード内のサーバ名・クライアント名とを対応付けて記憶したノードテーブルを参照させ、通信異常とされたクライアントのノードのクライアントは前記現用系サーバと通信不可能と判断させるとともに、該判断において、前記現用系サーバと の通信が異常と判断されなかったクライアント数、及び、待機系サーバと同じノードのクライアント数を基に前記現用系サーバから前記待機系サーバへの切替後に前記待機系サーバから前記通信サービスの提供を受けることができるクライアントの数を算出させるクライアント数算出工程と、
前記クライアント数算出工程により算出されたクライアント数と、現用系サーバから前記通信サービスの提供を受けているクライアント数との比較結果から切替の適否を判断し、該判断の結果に基づいて前記現用系サーバから前記待機系サーバへの切替制御を行わせる制御工程と、
をコンピュータに実行させるための切替制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37538299A JP3880760B2 (ja) | 1999-12-28 | 1999-12-28 | 切替制御装置、切替制御方法および切替制御プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US09/653,357 US6804715B1 (en) | 1999-12-28 | 2000-08-31 | Switch control apparatus, switch control method, and a computer-readable recording medium in which is recorded a switch control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37538299A JP3880760B2 (ja) | 1999-12-28 | 1999-12-28 | 切替制御装置、切替制御方法および切替制御プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001188725A JP2001188725A (ja) | 2001-07-10 |
JP3880760B2 true JP3880760B2 (ja) | 2007-02-14 |
Family
ID=18505432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP37538299A Expired - Fee Related JP3880760B2 (ja) | 1999-12-28 | 1999-12-28 | 切替制御装置、切替制御方法および切替制御プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6804715B1 (ja) |
JP (1) | JP3880760B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030101253A1 (en) * | 2001-11-29 | 2003-05-29 | Takayuki Saito | Method and system for distributing data in a network |
JP4596384B2 (ja) * | 2002-03-22 | 2010-12-08 | ブラザー工業株式会社 | クライアントサーバシステム、サーバ、サーバ組み込み機器及びプログラム |
US20050188222A1 (en) * | 2004-02-24 | 2005-08-25 | Covelight Systems, Inc. | Methods, systems and computer program products for monitoring user login activity for a server application |
US20050188080A1 (en) * | 2004-02-24 | 2005-08-25 | Covelight Systems, Inc. | Methods, systems and computer program products for monitoring user access for a server application |
CN109565501B (zh) * | 2016-08-18 | 2022-01-28 | 瑞典爱立信有限公司 | 用于选择内容分发网络实体的方法和装置 |
CN111968698B (zh) * | 2020-08-24 | 2021-08-13 | 深圳三地一芯电子有限责任公司 | 一种flash芯片的测试系统及测试方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09179820A (ja) * | 1995-12-26 | 1997-07-11 | Mitsubishi Electric Corp | 負荷分散方式及び方法 |
US6145094A (en) * | 1998-05-12 | 2000-11-07 | Sun Microsystems, Inc. | Transaction locks for high availability |
US6581088B1 (en) * | 1998-11-05 | 2003-06-17 | Beas Systems, Inc. | Smart stub or enterprise javaTM bean in a distributed processing system |
US6539494B1 (en) * | 1999-06-17 | 2003-03-25 | Art Technology Group, Inc. | Internet server session backup apparatus |
US6550017B1 (en) * | 1999-06-29 | 2003-04-15 | Sun Microsystems, Inc. | System and method of monitoring a distributed fault tolerant computer system |
US6560717B1 (en) * | 1999-12-10 | 2003-05-06 | Art Technology Group, Inc. | Method and system for load balancing and management |
-
1999
- 1999-12-28 JP JP37538299A patent/JP3880760B2/ja not_active Expired - Fee Related
-
2000
- 2000-08-31 US US09/653,357 patent/US6804715B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001188725A (ja) | 2001-07-10 |
US6804715B1 (en) | 2004-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4340300B2 (ja) | 伝送装置、試験方法および伝送装置制御プログラム | |
JP4190455B2 (ja) | 負荷分散装置及びプログラム | |
KR960042414A (ko) | 분산된 노드 사이 스위칭과 분리된 데이터/제어 메시지 처리를 갖는 다중 노드 네트워크 | |
JPH103440A (ja) | 計算機システム | |
JP5255035B2 (ja) | フェイルオーバシステム、記憶処理装置及びフェイルオーバ制御方法 | |
JP3880760B2 (ja) | 切替制御装置、切替制御方法および切替制御プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JPH09319689A (ja) | サーバ選択方式 | |
RU2383067C2 (ru) | Способ сохранения пакетов данных с использованием технологии указателя | |
JP4309321B2 (ja) | ネットワークシステムの運用管理方法及びストレージ装置 | |
JP4579843B2 (ja) | 通信装置 | |
CN113179295B (zh) | 报文处理方法及装置 | |
JP7189474B2 (ja) | 推定システム、付加装置、推定方法、付加方法、推定プログラム、及び付加プログラム | |
JP2005258632A (ja) | ネットワークストレージ装置の導通確認方法およびホスト計算機 | |
JP2006235761A (ja) | 分散共有メモリ装置およびメモリアクセス方法 | |
JP2002278905A (ja) | ストレージ装置及び計算機ネットワークシステム | |
JP6179981B2 (ja) | 情報処理システム、情報処理装置、情報処理方法及びプログラム | |
KR0182707B1 (ko) | 교환기에 있어서 프로세서간통신 메세지에 대한 모니터장치 및 방법 | |
KR940007555B1 (ko) | 망동기 장치의 td 버스 인터페이스 방법 | |
JP2007316719A (ja) | メッセージ通信方法、装置及びプログラム | |
JP4118902B2 (ja) | 余剰パケット送信抑止装置及びその制御プログラム、余剰パケット送信抑止方法 | |
JP3839965B2 (ja) | 同報通信方法および通信装置 | |
CN106302598A (zh) | 传输路径优化方法及系统 | |
JP2019220800A (ja) | ネットワーク異常検出方法およびネットワークシステム | |
JP4084378B2 (ja) | 分散共有ディスク同期装置、分散共有ディスク同期システム及び分散共有ディスク同期方法 | |
JPH11112519A (ja) | 管理機能付きハブ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051017 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051025 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051222 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060801 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061002 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20061010 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061108 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101117 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |