JP2003345679A - サーバシステム、仲介装置、及び、クライアントサーバ型システムにおける誤り隠蔽方法 - Google Patents

サーバシステム、仲介装置、及び、クライアントサーバ型システムにおける誤り隠蔽方法

Info

Publication number
JP2003345679A
JP2003345679A JP2002154538A JP2002154538A JP2003345679A JP 2003345679 A JP2003345679 A JP 2003345679A JP 2002154538 A JP2002154538 A JP 2002154538A JP 2002154538 A JP2002154538 A JP 2002154538A JP 2003345679 A JP2003345679 A JP 2003345679A
Authority
JP
Japan
Prior art keywords
server
client
mediation
state
mediation device
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.)
Pending
Application number
JP2002154538A
Other languages
English (en)
Inventor
Takeshi Mishima
健 三島
Takeshi Akaike
武志 赤池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002154538A priority Critical patent/JP2003345679A/ja
Publication of JP2003345679A publication Critical patent/JP2003345679A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 可用性が高く連続運転に適したサーバシステ
ム及び仲介装置並びに誤り隠蔽方法を提供する。 【解決手段】 クライアント50とサーバ20の間に仲
介装置30を複数介在させ、該仲介装置30が、クライ
アント50からの処理要求をサーバに転送するとともに
サーバ20から受信した前記処理要求に対する応答結果
のうち正当なものを要求元のクライアント50に転送す
る一方、全ての仲介装置30のうち常に一の仲介装置3
0のみがクライアント・サーバ間の処理要求及び応答結
果の転送を行う状態(active状態)となるように
前記転送処理を制御する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ECサーバ・WE
Bサーバ・認証サーバ等のインターネットビジネス用シ
ステムや通信網のノードシステムなどのように長時間の
連続運転が求められるサーバシステムに関する。
【0002】
【従来の技術】この種のサーバシステムは、クライアン
トに対して常にサービスを適切に提供する必要がある。
すなわち、サーバシステムの「誤り」を隠蔽し、「障害
(Failure)」発生を防止する必要がある。ここ
で「障害」とはシステムの機能損失を意味する。「障
害」発生要因の具体例としては例えばハードウェアにお
けるバグや故障、ソフトウェアにおけるバグなどが挙げ
られる。そして、これら「障害」の原因を「フォール
ト」と呼ぶ。仮にシステムに「フォールト」が存在して
いても、そのことが直ちに「障害」を引き起こすとは限
らず潜在することもある。「フォールト」が原因で障害
が表面化することを「誤り(Error)」という。そ
して、「誤り」が発生したシステムが正常な状態から逸
脱すると「障害」が発生する。なお、「誤り」はバグや
故障などの狭義の「フォールト」のみが原因ではなく、
例えば間欠故障やオペレータの設定ミスや操作ミスなど
も「誤り」の原因となる。
【0003】この「誤り」を隠蔽することができる高信
頼性サーバシステムの一例として、出願人は特願200
1−256511号「サーバシステム,仲介装置,クラ
イアントサーバ型システムにおける誤り隠蔽方法」を提
案した。この高信頼性サーバシステムの一例について図
20を参照して説明する。なお、ここではクライアント
に対してWebサービスを提供するシステムについて例
示する。
【0004】この高信頼性サーバシステム1010は、
図20に示すように、クライアント1041の要求を受
け取り、該要求に対する応答を返す高信頼性サーバ10
20と、高信頼性サーバ1020とクライアント104
1との間に介在する仲介装置1030を備えている。
【0005】高信頼性サーバ1020は、一つ以上のサ
ーバで構成されている。図20の例では、高信頼性サー
バ1020は、三つのサーバ1021,1022,10
23で構成されている。各サーバは、正常に稼働してい
れば、同じ要求に対してそれぞれ同じ応答を返す。
【0006】仲介装置1030は、ネットワーク105
0を介してクライアント1041からの要求を受け取り
後述する適切なタイミングで高信頼性サーバ1020へ
該要求を転送し、高信頼性サーバ1020からの応答の
正当性をチェックして正しい応答をクライアント104
1へ返す制御部1031と、高信頼性サーバ1020の
各サーバ1021,1022,1023の状態を管理す
るサーバ管理表1032とを備えている。制御部103
1は、サーバ管理表1032に対してどのサーバが正常
又は障害であるかを登録し、このサーバ管理表1032
を参照して、どのサーバにクライアント1041からの
要求を処理させるかを判断する。サーバ管理表1032
は、サーバを識別するためのサーバID,サーバのIP
アドレス,サーバの稼働情報から構成される。
【0007】クライアント1041は、Webブラウザ
を用いて、ネットワーク1050を経由して高信頼性サ
ーバ1020にWebページを要求する。
【0008】次に、仲介装置1030の動作について説
明する。クライアント1041が高信頼性サーバシステ
ム1010へWebページ要求メッセージ1110を送
信すると、制御部1031はこの要求メッセ時1110
を受け取り、サーバ管理表1032を見て、正常なサー
バへ転送する。例えば、サーバ管理表1032において
サーバ1021,1022,1023が正常であれば、
制御部1031は要求メッセージ1110のコピー11
11,1112,1113を作り、それぞれをサーバ1
021,1022,1023へ転送する。
【0009】サーバ1021は、要求メッセージ111
1を受け取り、応答1121を制御部1031へ返す。
同様に、サーバ1022は応答1122を、サーバ10
23は応答1123を制御部1031へ返す。制御部1
031は、応答1121,1122,1123で多数決
を行い、多数派の応答を正常と判断してクライアント1
041へ応答1120を返す。
【0010】もし、多数決の結果、全部一致せずに不一
致の応答があった場合、その応答を返したサーバは障害
であると制御部1031は判断し、サーバ管理表103
2の稼働状態を情報を「正常」から「障害」へ変更す
る。以後、制御部1031は障害となったサーバへはク
ライアントからの要求を転送しない。
【0011】
【発明が解決しようとする課題】上述のように、出願人
が提案した高信頼性サーバシステムでは、クライアント
からの要求を受け取った制御部は複数のサーバへ該要求
を転送し、該要求に対するサーバからの応答を受け取り
多数決を実行するという方式を採用している。これによ
り、あるサーバが仮に障害となり誤った応答を制御部へ
返したとしても、多数決によってその誤りを隠蔽するこ
とができる。しかしながら、制御部自体が障害となった
場合にはシステムダウンしてしまうという問題があっ
た。
【0012】本発明は、上記事情に鑑みてなされたもの
であり、その目的とするところは、可用性が高く連続運
転に適したサーバシステム及び仲介装置並びに誤り隠蔽
方法を提供することにある。
【0013】
【課題を解決するための手段】上記目的を達成するため
に、本願発明は、クライアントサーバ型システムにおい
て、クライアントとサーバの間に仲介装置を複数介在さ
せ、該仲介装置が、クライアントからの処理要求をサー
バに転送するとともにサーバから受信した前記処理要求
に対する応答結果のうち正当なものを要求元のクライア
ントに転送する一方、全ての仲介装置のうち常に一の仲
介装置のみがクライアント・サーバ間の処理要求及び応
答結果の転送を行う状態(active状態)となるよ
うに前記転送処理を制御することを特徴とする。
【0014】本発明によれば、クライアント・サーバ間
の処理要求及び応答結果を転送している一の仲介装置が
障害となっても、他の正常な仲介装置によって前記転送
を継続できるので、システム全体のダウンを防ぎ、より
可用性の高いクライアントサーバ型システムを構築でき
る。
【0015】
【発明の実施の形態】(第1の実施の形態)本発明の一
実施の形態にかかる高信頼性サーバシステムについて図
面を参照して説明する。図1は第1の実施の形態に係る
高信頼性サーバシステムの全体構成を説明するブロック
図である。なお、本実施の形態ではクライアントに対し
て認証サービスを提供するシステム、具体的にはサーバ
がRADIUSサーバであるシステムについて例示す
る。
【0016】この高信頼性サーバシステム10は、図1
に示すように、クライアント50からの処理要求に対し
て応答を返す高信頼性サーバ20と、高信頼性サーバ2
0とクライアント50との間に介在する複数の仲介装置
30とを備えている。図1の例では、仲介装置30とし
て2つの仲介装置30a及び30bを備えている。
【0017】このシステムにおいて各装置間の通信プロ
トコル体系は不問である。本実施の形態ではTCP/I
Pプロトコルスイートを用いた。なお、TCP/IPプ
ロトコルスイートは、TCP及びIPを狭義に表すもの
ではなく、UDPやARPなどを含む広義のプロトコル
体系を意味する。
【0018】高信頼性サーバ20は、一つ以上のサーバ
で構成される。図1の例では、高信頼性サーバ20は、
三つのサーバ21,22,23で構成されている。各サ
ーバは、正常に稼働していれば、同じ要求に対してそれ
ぞれ同じ応答を返す。ここで、各サーバ21,22,2
3は、コンピュータ上などで動作するソフトウェアで実
装しても良いし、ハードウェアで実装しても良い。すな
わち、高信頼性サーバ20は、複数のハードウェアによ
って実現してもよいし、一台のハードウェア上に複数の
サーバを実装することによって実現してもよい。なお、
図1の例では、各サーバ21,22,23に、それぞれ
180.10.1.1、180.10.1.2、18
0.10.1.3というIPアドレスが付されている。
【0019】各仲介装置30には互いに異なるIPアド
レス及びMACアドレスが付されている。図1の例で
は、仲介装置30aには、IPアドレスとして175.
10.1.1が、MACアドレスとしてaa:aa:a
a:aa:aa:01が付されており、仲介装置30b
には、IPアドレスとして175.10.1.2が、M
ACアドレスとしてaa:aa:aa:aa:aa:0
2が付されている。
【0020】各仲介装置30は、ネットワーク40を介
してクライアント50からの要求を受け取り、高信頼性
サーバ20へ転送し、高信頼性サーバ20からの応答の
正当性をチェックして正しい応答をクライアント50へ
返すサーバ制御部31と、高信頼性サーバ20の各サー
バ21,22,23の状態を管理するサーバ管理表32
と、仲介装置30a,30bの状態を管理する仲介装置
管理表33と、仲介装置間で正常状態か障害状態かを確
認するとともに、サーバ管理表32と仲介装置管理表3
3の情報をやりとりする仲介装置制御部34とを備えて
いる。
【0021】サーバ制御部31は、サーバ管理表32に
対してどのサーバが正常又は障害であるかを登録し、こ
のサーバ管理表32を参照して、どのサーバにクライア
ント50からの要求を処理させるかを判断する。
【0022】図2にサーバ管理表32の一例を示す。図
2に示すように、サーバ管理表32は、各サーバを識別
するためのサーバID,サーバのIPアドレス,サーバ
の稼働状態情報から構成される。図2の例では各サーバ
の状態が正常である場合を示している。
【0023】図3に仲介装置管理表33の一例を示す。
図3に示すように、仲介装置管理表33は、各仲介装置
を識別するための仲介装置ID,仲介装置のIPアドレ
ス,仲介装置の稼働状態情報から構成される。仲介装置
の稼働情報は、後述する三つの状態(active,b
ackup,down)を取り得る。図3の例では仲介
装置30aがactiveであり、仲介装置30bがb
ackupである状態を示している。
【0024】仲介装置30は、(1)システム内の複数
の仲介装置30のうち一つだけがactive状態(ク
ライアント50とサーバ20に対して処理を行っている
状態)、(2)backup状態(active状態の
仲介装置の障害に備えて待機している状態)、(3)d
own状態(障害などが原因でactive状態になる
ことができない状態)を取りうる。図1の例では、仲介
装置30aがactive状態であり、仲介装置30b
はbackup状態である。
【0025】仲介装置30は、active状態のもの
だけがVIA(Virtual IP Addres
s:仮想IPアドレス)を持っている。VIAは、仲介
装置30が持っている通常のIPアドレスとは別に、別
名のIPアドレスをエイリアスすることで実現する。こ
のVIPによってクライアント50は、複数の装置で構
成される高信頼性サーバシステム10を単一の装置であ
るかの如くみなすことができる。したがって、仲介装置
30の状態が変動しても、クライアント50では高信頼
性サーバシステム10と通信するために改造や設定を変
更する必要がない。例えば、図1の例では、activ
e状態である仲介装置30が175.10.1.100
のVIPを持っているが、これはクライアント50にと
っては図4のように175.10.1.100というI
Pアドレスを持った仮想的に単一のRADIUSサーバ
のように見える。
【0026】仲介装置制御部34は、active状態
の場合、一定周期毎にサーバ管理表32と仲介装置管理
表33の内容を他の仲介装置30の仲介装置制御部34
へ送信する。一方、仲介装置制御部34は、backu
p状態の場合、他の仲介装置制御部34からの前記メッ
セージを受け取ったら、その内容をそれぞれサーバ管理
表32と仲介装置管理表33へ反映する。これにより、
各仲介装置30のサーバ管理表32及び仲介装置管理表
33の同期を図っている。backup状態の仲介装置
制御部34は、一定時間待っても他の仲介装置制御部3
4からメッセージを受け取れなかった場合、当該仲介装
置30が障害になったと判断し、自身のサーバ制御部3
1を起動して仲介装置30をactive状態とする。
【0027】仲介装置30がactive状態になる時
に、サーバ管理表32に蓄積されているサーバの稼働状
態情報と実際のサーバの稼働情報が不一致となる場合が
ある。この状態を修正するために、仲介装置制御部34
は、サーバ制御部31を起動する前にサーバ21,2
2,23に稼働状態を問い合わせるメッセージを送信
し、それぞれの応答から「正常」又は「障害」を判定
し、サーバ管理表32を修正する。
【0028】また、仲介装置30は、active状態
になる時に、仲介装置管理表33も修正する。例えば、
仲介装置30aが障害となって仲介装置30bがact
ive状態になる場合は、仲介装置30bをactiv
e,仲介装置30aをdownと変更する。
【0029】さらに、仲介装置30は、active状
態になる時に、VIPに関する情報を修正する。つま
り、仲介装置制御部34は、自身の仲介装置30に17
5.10.1.100のVIPをエイリアスすると同時
に、自身の仲介装置30が所属しているネットワークに
Gratuitous ARP(RFC2002参照)
をブロードキャストすることにより、該ネットワークに
接続されている機器におけるARPテーブル中のVIP
のMACアドレスを、新しくactive状態になった
仲介装置30のMACアドレスに更新する。例えば、仲
介装置30aがactive状態、仲介装置30bがb
ackup状態の場合で、仲介装置30aが障害になっ
て仲介装置30bがactive状態になる場合、各通
信機器のARPテーブルのVIPに対するMACアドレ
スの情報をaa:aa:aa:aa:aa:01からa
a:aa:aa:aa:aa:02へ変更する。これ
は、各通信機器のARPテーブルのVIPの情報が古い
ために、新しくactive状態になった仲介装置30
bと通信できない状態を防ぐためである。
【0030】仲介装置30は、コンピュータ上のソフト
ウェアで実装しても良いし、ハードウェアで実装しても
よい。本実施の形態では、仲介装置30a,30bをそ
れぞれ異なるハードウェア上に構築した。
【0031】クライアント50は、ネットワーク40を
経由して高信頼性サーバシステム10に認証サービスあ
るいはアカウンティングサービスなどを要求する。
【0032】次に、仲介装置30の動作について図5乃
至図8を参照して説明する。まず、active状態に
おける仲介装置30の、クライアント・サーバ間の処理
要求及び応答結果の転送処理について説明する。ここで
は、図1〜図3で例示しているように、各サーバ21,
22,23が正常であり、且つ、仲介装置30aがac
tive状態、仲介装置30bがbackup状態であ
る場合について説明する。図5は、active状態に
おける仲介装置の動作を説明するフローチャート、図6
クライアントからの処理要求の流れを説明する図、図7
はサーバからの応答結果の流れを説明する図である。
【0033】サーバ制御部31は、クライアント50か
らの要求を受信したかどうかを確認し(ステップSA
1)、要求がなかった場合には再び要求受信をチェック
する。クライアント50から要求があった場合、サーバ
管理表32で稼働状態が「正常」になっているサーバへ
クライアント50からの処理要求を転送する(ステップ
SA2)。以上の処理によるクライアント50からの処
理要求の流れを図6の太線矢印で示した。
【0034】次に、タイマを設定して各サーバからの応
答をチェックする(ステップSA3)。タイムアウトで
ない場合、何れかのサーバからの応答を受信したかどう
かをチェックする(ステップSA4)。何れのサーバか
らも応答を受信していない場合、再びタイムアウトのチ
ェックを行う(ステップSA3)。何れかのサーバから
の応答を受信した場合、要求を送信した各サーバの全て
からの応答を受信したかどうかをチェックする(ステッ
プSA5)。全ての応答が揃ってない場合、再びタイム
アウトのチェックを行う(ステップSA3)。
【0035】全ての応答が揃った場合、障害になったサ
ーバがあるかどうかをチェックする(ステップSA
6)。障害になったサーバがあるかどうかを判断する方
法としては、例えば、複数の応答で多数決を行う方法
や、応答に含まれるデータの正当性をチェックする方法
などが挙げられる。後者のデータ正当性のチェックと方
法しては、例えば、(1)有り得ないコードが含まれて
いる場合には障害と判断する、(2)あるはずのコード
が含まれていない場合には障害と判断する、などが挙げ
られる。障害になったサーバがある場合、サーバ管理表
32に、該当するサーバの稼働状態を「障害」と登録す
る(ステップSA7)。
【0036】その後に、正常な応答をクライアント50
へ送信する(ステップSA8)。以上の処理による全て
のサーバ21,22,23から応答された応答結果の流
れを図7に示した。また、例としてサーバ23が障害と
なった場合のサーバ管理表32を図8に示す。
【0037】前記ステップSA6において障害になった
サーバがない場合、正常な応答をクライアント50へ送
信する(ステップSA8)。
【0038】また、前記ステップSA3においてタイム
アウトになった場合、すなわち応答を返さないサーバが
存在する場合、当該サーバは障害であると判断し、サー
バ管理表32に、該当するサーバの稼働情報を「障害」
と登録し(ステップSA9)、正常な応答をクライアン
ト50へ送信する(ステップSA8)。
【0039】応答をクライアント50へ送信した(ステ
ップSA8)後は、再びクライアント50からの要求を
チェックする(ステップSA1)。
【0040】以上の処理により、高信頼性サーバ20を
構成する各サーバ21,22,23のうち「障害」とな
ったサーバへは、クライアント50からの要求は転送さ
れず、高信頼性サーバシステム10から切り離されたこ
とになる。
【0041】次に、active状態における仲介装置
30の、仲介装置管理処理について図9を参照して説明
する。
【0042】active状態である仲介装置制御部3
4は、一定期間スリープした後(ステップSB1)、他
の仲介装置制御部34からの組み込み要求(後述するス
テップSD3)があるかどうかをチェックする(ステッ
プSB2)。なお、「組み込み」とは、本高信頼性サー
バシステム10を構成する装置となるための処理を意味
し、例えば電源投入時などに実施される処理である。
【0043】他の仲介装置制御部34からの組み込み要
求があった場合、その仲介装置30の情報(IPアドレ
スなど)を仲介装置管理表33へ記憶し(ステップSB
9)、その仲介装置制御部34へ応答を返す(ステップ
SB10)。
【0044】組み込み要求がない場合、backupの
仲介装置30があるかどうかを仲介装置管理表33を参
照してチェックする(ステップSB3)。backup
の仲介装置30がある場合、サーバ管理表32と仲介装
置管理表33の内容をbackup状態の仲介装置制御
部34へ送信する(ステップSB4)。その後、bac
kup状態の仲介装置制御部34からの応答を確認する
ためにタイマを設定し(ステップSB5)、タイムアウ
トをチェックする(ステップSB6)。
【0045】タイムアウトせずにbackup状態の仲
介装置30からの応答がない場合(ステップSB7)、
再びタイムアウトのチェックを行う(ステップSB
6)。タイムアウトせずに、backup状態の仲介装
置30からの応答(後述するステップSC5)を受信し
た場合(ステップSB7)、再びスリープする(ステッ
プSB1)。タイムアウトした場合、当該backup
状態の仲介装置30に障害が生じた判断し、該仲介装置
30について仲介装置管理表33の情報をbackup
からdownに変更し(ステップSB8)、再びスリー
プする(ステップSB1)。
【0046】上記ステップSB3において、backu
p装置がない場合(例えば、全てdownしている場合
など)、再びスリープする(ステップSB1)。
【0047】次に、backup状態における仲介装置
30の動作について図10を参照して説明する。
【0048】backup状態の仲介装置制御部34
は、前記ステップSB4におけるactive状態の仲
介装置制御部34からのデータ受信を確認するためにタ
イマを設定し(ステップSC1)、タイムアウトしたか
どうかをチェックする(ステップSC2)。タイムアウ
トせず、かつ、active状態の仲介装置30からの
パケットを受信していない場合(ステップSC3)、再
びタイムアウトのチェックを行う(ステップSC2)。
【0049】前記ステップSC2においてタイムアウト
せず、かつ、active状態の仲介装置30からのパ
ケットを受信した場合(ステップSC3)、サーバ管理
表32と仲介装置管理表33へ該パケットの内容を記録
し(ステップSC4)、記録が完了したことを通知する
ためにactive状態の仲介装置30へ応答を返す
(ステップSC5)。その後、再びタイマを設定し(ス
テップSC1)、タイムアウトのチェックを行う(ステ
ップSC2)。
【0050】前記ステップSC2においてタイムアウト
した場合、active状態であった仲介装置30に障
害が生じた判断し、以後、自身の仲介装置30がact
ive状態になるための処理を行う(ステップSC6〜
SC10)。具体的には、仲介装置制御部34は、全て
のサーバ21,22,23の稼働状態を調査し、サーバ
管理表32の内容を修正する(ステップSC6)。次
に、仲介装置管理表33において、active状態だ
った仲介装置30aはdown、backup状態だっ
た自身の仲介装置30bはactiveと変更する(ス
テップSC7)。次に、自身のサーバ制御部31を起動
し、サーバ制御部31は図5を参照して説明した動作を
開始する(ステップSC8)。次に、仲介装置制御部3
4は、自身の仲介装置30に175.10.1.100
のVIPをエイリアスし(ステップSC9)、Grat
uitous ARPをブロードキャストして他の通信
装置のARPテーブルを更新する(ステップC10)。
以後、図9を参照して前述したactive状態の仲介
装置30として動作する。
【0051】active状態であった仲介装置30a
が障害となってシステムダウンし、代わりにbacku
p状態であった仲介装置30bがactive状態にな
った様子を図11に示す。また、その時の仲介装置30
bの仲介装置管理表33bの内容を図12に示す。
【0052】次に、仲介装置30を高信頼性サーバシス
テム10へ組み込む場合の仲介装置制御部の動作につい
て図13を参照して説明する。
【0053】仲介装置30の組み込み処理は、例えば、
電源が投入された後に手段でコマンドを投入することに
よって行われるほか、電源投入時に自動的に組み込み処
理が実行される。例えば、仲介装置30のOSとしてU
NIX(登録商標)系マシンを利用している場合であれ
ば、/etc/init.dの下にshell scr
iptを設定しておいて、電源が入ると同時に自動で起
動するようにしてもよい。
【0054】まず、仲介装置制御部34は、組込要求に
対する応答を確認するためにタイマを設定し(ステップ
SD1)、タイムアウトかどうかをチェックする(ステ
ップSD2)。
【0055】タイムアウトでない場合、active状
態の仲介装置30へ組み込み要求を送信する(ステップ
SD3)。ここで、active状態の仲介装置30は
VIPで通信可能なため、仲介装置制御部34はVIP
宛てに送信すればよい。active状態の仲介装置3
0から応答が返ってきた場合(ステップSD4)、自身
の仲介装置30はbackup状態になるために、以
後、仲介装置制御部34は図10を参照して説明した動
作(backup状態時の仲介装置制御部34の動作)
を行う。active状態の仲介装置30から応答が返
ってこない場合(ステップSD4)、再びタイムアウト
のチェックを行う(ステップSD2)。
【0056】前記ステップSD2においてタイムアウト
した場合、active状態の仲介装置30は存在しな
いと判断し、以後、自身の仲介装置30がactive
状態となるための処理を行う(ステップSD5〜SD1
0)。具体的には、全てのサーバ21,22,23の稼
働状態を調査し、サーバ管理表32を作成する(ステッ
プSD5)。次に、仲介装置管理表33を作成する(ス
テップSD6)。ここでは自身の仲介装置30しか存在
しないため、自身の仲介装置30の項目をactive
とする。次に、サーバ制御部31を起動する(ステップ
SD7)。以後、サーバ制御部31は図5を参照して説
明した処理を行う。次に、仲介装置制御部34は、VI
P(175.10.1.100)をエイリアスし(ステ
ップSD8)、Gratuitous ARPをブロー
ドキャストして各通信機器のARPテーブルを更新する
(ステップSD9)。
【0057】(第2の実施の形態)本発明の第2の実施
の形態に係る高信頼性サーバシステムについて図面を参
照して説明する。図14は第2の実施の形態に係る高信
頼性サーバシステムの全体構成を説明するブロック図で
ある。
【0058】本実施の形態が第1の実施の形態と異なる
点は、3つの仲介装置30を備えている点にある。これ
に伴い、仲介装置30の動作が異なる。以下に相違点に
ついて説明する。
【0059】図14に示すように、この高信頼性サーバ
システム10は、3つの仲介装置30を備えている。図
14の例では、仲介装置30aがactive状態であ
り、仲介装置30b,30cがbackup状態であ
る。
【0060】backup状態の仲介装置30は、ac
tive状態の仲介装置30が障害になった場合に、b
ackupからactiveになる装置に優先度が決め
られている。図14の例では、仲介装置30bが優先度
1(最も優先度が高い)、仲介装置30cが優先度2で
あり、それぞれbackup(1)のように数字を付け
ることで優先度を識別する。したがって、図14の例の
場合には、各仲介装置30の仲介装置管理表33は図1
5に示すようになる。
【0061】図16に、active状態における仲介
装置制御部34の処理フローを示す。図において図9を
参照して説明した第1の実施の形態と同じステップには
同じ符号で示し、その説明は省略する。
【0062】本実施の形態では、図9におけるステップ
SB4と対応するステップSBB4では、「全ての」b
ackup状態の仲介装置30へサーバ管理表32と仲
介装置管理表33の内容を送信する(ステップSBB
4)。
【0063】また、ステップSBB11では、全てのb
ackup状態の仲介装置30から応答を受信したかど
うかをチェックする。さらに、ステップSBB8では、
応答が来なかったbackup状態の仲介装置30の全
てをdownに変更する。その後、ステップSBB12
では、正常なbackup状態の仲介装置30の優先度
を繰り上げるように変更する。例えば、仲介装置30b
がdownしたが仲介装置30cは正常である場合、図
17に示すように仲介装置30bの状態はdownに変
更され、仲介装置30cの状態はbackup(1)
(優先度1のbackup状態)に変更される。
【0064】図18に、backup状態の仲介装置制
御部34の処理フローを示す。図10と同じステップは
同じ符号で示してある。図において、図10を参照して
説明した第1の実施の形態と同じステップには同じ符号
で示し、その説明は省略する。
【0065】本実施の形態では、ステップSC2におい
てタイムアウトした場合、自身がbackup(1)か
どうかをチェックする(ステップSCC11)。bac
kup(1)でない場合(ステップSCC11)、仲介
装置管理表33のbackup状態の優先度を一つずつ
上げ、backup(1)はactiveに変更する
(ステップSCC12)。自身がbackup(1)の
場合、全てのサーバの稼働状態を調査し、サーバ管理表
32を修正する(ステップSC6)。次に、仲介装置管
理表33の内容を変更する、つまり、自分自身(bac
kup(1))をactiveにし、それ以外のbac
kupの優先度を一つずつ繰り上げる(ステップSCC
7)。図19に、図14及び図15の状態で仲介装置3
0bに障害が生じた場合の仲介装置管理表33の例を示
す。
【0066】以上詳述したように、本発明に係る高信頼
性サーバシステム10によれば、高信頼性サーバ20と
クライアント50との間で処理要求及び応答結果の転送
を行う仲介装置30を複数備えており、しかも転送処理
を実施している仲介装置30に障害が生じた場合でも他
の仲介装置30により転送処理が継続される。すなわ
ち、可用性の高いシステムとなる。
【0067】なお、上記実施の形態は例示的なものであ
り、本発明はこれに限定されるものではない。本発明の
範囲は特許請求の範囲によって示されており、この特許
請求の範囲の意味に入る全ての変形例は本発明に含まれ
るものである。
【0068】例えば、各サーバは同じ応答を返すならば
同じ実装である必要はない。すなわち、バージョン,仕
様,プログラム言語,コンパイラの種類,コンパイラオ
プション,ハードウェアかソフトウェアか、などが異な
っていても良い。さらに、サーバは一つの部品で構成さ
れていても複数の部品で構成されていてもよい。
【0069】また、上記実施の形態では、サーバ制御
部,サーバ管理表,仲介装置制御部を一つの仲介装置に
実装し、サーバは別の装置で実装しているが、高信頼性
サーバシステムの各構成要素の実装上の物理的位置関係
は任意である。すなわち、例えば、各構成要素を一つの
コンピュータ上に実装しても良いし、異なるコンピュー
タ上に実装しても良い。また、一部を同一のコンピュー
タに実装しても良い。
【0070】さらに、上記実施の形態では、クライアン
トが一つの場合を想定しているが、クライアントが複数
であってもよい。その場合、上記実施の形態では、仲介
装置が一のクライアントの処理(図5のフローチャー
ト)を実行中に他のクライアントからの要求があった場
合、一のクライアントの処理が終了するまで他のクライ
アントの処理が待たされることになる(なぜならば、図
5のステップSA1で新しい要求の処理を開始するた
め)。これを避けるために、複数のプロセスやスレッド
を起動し、それぞれのクライアントに対して図5の処理
を並列に動作させるように実装してもよい。
【0071】さらに、上記実施の形態では仲介装置30
が2又は3備えたシステムについて説明したが、4つ以
上の仲介装置30備えていても良い。
【0072】さらに、上記実施の形態ではactive
状態の仲介装置30にVIPを付すことにより、障害が
生じてbackup状態の仲介装置30に転送処理が移
行しても、クライアント50からは同じアドレスでアク
セスできるようにしている。また、転送処理の移行の際
にはactive状態になった仲介装置30からGra
tuitous ARPを発することにより、移行処理
を迅速且つ円滑に行っていた。これらの処理はプロトコ
ル体系としてTCP/IPプロトコルスイートを用いた
のものであるが、他のプロトコル体系であっても同等の
機能を有していれば本発明を実施できる。
【0073】
【発明の効果】以上詳述したように、本発明によれば、
仲介装置を冗長化することによって、より信頼性が向上
するという効果が得られる。
【図面の簡単な説明】
【図1】第1の実施の形態に係る高信頼性サーバシステ
ムの全体構成を説明するブロック図
【図2】サーバ管理表の一例を説明する図
【図3】仲介装置管理表の一例を説明する図
【図4】クライアントから高信頼性サーバシステムがど
のように見えるかを説明する図
【図5】active状態における仲介装置の動作を説
明するフローチャート
【図6】クライアントからの処理要求の流れを説明する
【図7】サーバからの応答結果の流れを説明する図
【図8】サーバに障害が生じた場合のサーバ管理表の一
例を説明する図
【図9】active状態における仲介装置の動作を説
明するフローチャート
【図10】backup状態における仲介装置の動作を
説明するフローチャート
【図11】active状態の仲介装置に障害が生じた
場合の高信頼性サーバシステムのブロック図
【図12】active状態の仲介装置に障害が生じた
場合の仲介装置管理表の一例を示す図
【図13】仲介装置の組み込み処理を説明するフローチ
ャート
【図14】第2の実施の形態に係る高信頼性サーバシス
テムの全体構成を説明するブロック図
【図15】仲介装置管理表の一例を説明する図
【図16】active状態における仲介装置の動作を
説明するフローチャート
【図17】backup状態の仲介装置に障害が生じた
場合の仲介装置管理表の一例を説明する図
【図18】backup状態における仲介装置の動作を
説明するフローチャート
【図19】active状態の仲介装置に障害が生じた
場合の仲介装置管理表の一例を説明する図
【図20】従来の高信頼性サーバシステムの全体構成を
説明するブロック図
【符号の説明】
10…高信頼性サーバシステム、20…高信頼性サー
バ、21,22,23…サーバ、30…仲介装置、31
…サーバ制御部、32…サーバ管理表、33…仲介装置
管理表、34…仲介装置制御部、40…ネットワーク、
50…クライアント

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 クライアントサーバ型システムにおける
    サーバ側のシステムにおいて、 クライアントからの処理要求をサーバに転送するととも
    にサーバから受信した前記処理要求に対する応答結果の
    うち正当なものを要求元のクライアントに転送する転送
    手段を備えた仲介装置を複数設けるとともに、 前記仲介装置は、全ての仲介装置のうち常に一の仲介装
    置のみがクライアント・サーバ間の処理要求及び応答結
    果の転送を行う状態(active状態)となるように
    前記転送手段の動作を制御する制御手段を備えたことを
    特徴とするサーバシステム。
  2. 【請求項2】 前記仲介装置は、他の仲介装置の障害を
    検出する障害検出手段を備えたことを特徴とする請求項
    1記載のサーバシステム。
  3. 【請求項3】 前記仲介装置の制御手段は、自仲介装置
    がactive状態の場合は、前記障害検出手段により
    障害が検出された他の仲介装置をシステムから切り離す
    ことを特徴とする請求項2記載のサーバシステム。
  4. 【請求項4】 前記仲介装置の制御手段は、自仲介装置
    の転送手段がクライアント・サーバ間の処理要求及び転
    送結果の転送を行うように動作していない状態(bac
    kup状態)であり、且つ、前記障害検出手段がact
    ive状態の仲介装置の障害を検出した場合は、自仲介
    装置がactive状態となるように転送手段を制御す
    ることを特徴とする請求項2又は3何れか1項記載のサ
    ーバシステム。
  5. 【請求項5】 backup状態の仲介装置には各々優
    先度が定められており、backup状態の仲介装置の
    制御手段は、前記障害検出手段がactive状態の仲
    介装置の障害を検出した場合は、backup状態の各
    仲介装置の優先度のうち自仲介装置の優先度が最も高い
    ときには自仲介装置がactive状態となるように転
    送手段を制御し、自仲介装置の優先度よりも高い優先度
    の仲介装置があるときには自仲介装置の優先度を繰り上
    げることを特徴とする請求項2乃至4何れか1項記載の
    サーバシステム。
  6. 【請求項6】 active状態の仲介装置にのみ仮想
    アドレスを付したことを特徴とする請求項1乃至5何れ
    か1項記載のサーバシステム。
  7. 【請求項7】 クライアント・サーバ・仲介装置間の通
    信としてTCP/IPプロトコルスイートを用い、ac
    tive状態の仲介装置にのみネットワーク層における
    仮想IPアドレスを付したことを特徴とする請求項6記
    載のサーバシステム。
  8. 【請求項8】 backup状態からactive状態
    となった仲介装置は、前記仮想アドレスと仲介装置を一
    意に特定可能なアドレスとの対応関係の更新を指示する
    パケットをネットワークに送出することを特徴とする請
    求項6又は7何れか1項記載のサーバシステム。
  9. 【請求項9】 クライアント・サーバ・仲介装置間の通
    信としてTCP/IPプロトコルスイートを用い、仮想
    IPアドレスとMACアドレスとの対応関係を更新する
    Gratuitous ARPをブロードキャストする
    ことを特徴とする請求項8記載のサーバシステム。
  10. 【請求項10】 クライアントサーバ型システムにおけ
    るサーバ側のシステムにおいてクライアントとサーバの
    間に介在する仲介装置であって、 クライアントからの処理要求をサーバに転送するととも
    にサーバから受信した前記処理要求に対する応答結果の
    うち正当なものを要求元のクライアントに転送する転送
    手段と、 クライアント・サーバ間に介在する複数の仲介装置のう
    ち常に一の仲介装置のみがクライアント・サーバ間の処
    理要求及び応答結果の転送を行う状態(active状
    態)となるように前記転送手段の動作を制御する制御手
    段とを備えたことを特徴とする仲介装置。
  11. 【請求項11】 クライアントサーバ型システムにおい
    てサーバで発生した誤りをクライアントに対して隠蔽す
    る方法において、 クライアントとサーバの間に、クライアントからの処理
    要求をサーバに転送するとともにサーバから受信した前
    記処理要求に対する応答結果のうち正当なものを要求元
    のクライアントに転送する転送手段を有する仲介装置を
    複数介在させ、 各仲介装置は、全ての仲介装置のうち常に一の仲介装置
    のみがクライアント・サーバ間の処理要求及び応答結果
    の転送を行う状態(active状態)となるように前
    記転送手段の動作を制御することを特徴とするクライア
    ントサーバ型システムにおける誤り隠蔽方法。
JP2002154538A 2002-05-28 2002-05-28 サーバシステム、仲介装置、及び、クライアントサーバ型システムにおける誤り隠蔽方法 Pending JP2003345679A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002154538A JP2003345679A (ja) 2002-05-28 2002-05-28 サーバシステム、仲介装置、及び、クライアントサーバ型システムにおける誤り隠蔽方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002154538A JP2003345679A (ja) 2002-05-28 2002-05-28 サーバシステム、仲介装置、及び、クライアントサーバ型システムにおける誤り隠蔽方法

Publications (1)

Publication Number Publication Date
JP2003345679A true JP2003345679A (ja) 2003-12-05

Family

ID=29771322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002154538A Pending JP2003345679A (ja) 2002-05-28 2002-05-28 サーバシステム、仲介装置、及び、クライアントサーバ型システムにおける誤り隠蔽方法

Country Status (1)

Country Link
JP (1) JP2003345679A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011524563A (ja) * 2008-06-03 2011-09-01 インターナショナル・ビジネス・マシーンズ・コーポレーション ノード間でのデバイス・エラー情報の同期化
WO2016056473A1 (ja) * 2014-10-07 2016-04-14 日本電信電話株式会社 秘密計算システム、中継装置、それらの方法、プログラム、および記録媒体

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011524563A (ja) * 2008-06-03 2011-09-01 インターナショナル・ビジネス・マシーンズ・コーポレーション ノード間でのデバイス・エラー情報の同期化
WO2016056473A1 (ja) * 2014-10-07 2016-04-14 日本電信電話株式会社 秘密計算システム、中継装置、それらの方法、プログラム、および記録媒体
JPWO2016056473A1 (ja) * 2014-10-07 2017-08-17 日本電信電話株式会社 秘密計算システム、中継装置、それらの方法、プログラム、および記録媒体
US11496893B2 (en) 2014-10-07 2022-11-08 Nippon Telegraph And Telephone Corporation Secure computation system and relay device, and method, program, and recording medium thereof

Similar Documents

Publication Publication Date Title
US5983360A (en) Information processing system with communication system and hot stand-by change-over function therefor
US6928576B2 (en) Backup gateway apparatus and home network system
US7987266B2 (en) Failover in proxy server networks
US6108701A (en) Soft switch extension for internet protocol applications
US7590886B2 (en) Method and apparatus for facilitating device redundancy in a fault-tolerant system
US6389551B1 (en) Method of preventing false or unnecessary failovers in a high availability cluster by using a quorum service
US20040153709A1 (en) Method and apparatus for providing transparent fault tolerance within an application server environment
US7441035B2 (en) Reliable server pool
WO1998049620A1 (en) Redundant server failover in networked environment
JPH103440A (ja) 計算機システム
JP2004032103A (ja) ネットワークシステム及びサーバ切り替え方法
JP2004171370A (ja) 冗長構成におけるクライアント/サーバ間のアドレス制御方式および方法
JP7161008B2 (ja) アプリケーション冗長化管理システムおよびアプリケーション冗長化管理方法
JPH09259096A (ja) ネットワーク高信頼化方式及びシステム
JP2009265690A (ja) クラスタシステム及びプログラム
JP5039975B2 (ja) ゲートウェイ装置
US20100229029A1 (en) Independent and dynamic checkpointing system and method
JP2003345679A (ja) サーバシステム、仲介装置、及び、クライアントサーバ型システムにおける誤り隠蔽方法
JP2011203941A (ja) 情報処理装置、監視方法、および監視プログラム
KR20030048503A (ko) 이중화 서버 구조의 데이터 동기화를 위한 통신 시스템 및방법
JP2021061478A (ja) 中継装置、中継システム、及び中継プログラム
JP4167089B2 (ja) サーバシステム及びクライアントサーバ型システムにおける誤り隠蔽方法
JP2009003491A (ja) クラスタシステムにおけるサーバ切り替え方法
KR100383490B1 (ko) 고가용성 네트워크 구현방법
JP4133738B2 (ja) 高速ネットワークアドレス引継ぎ方法、ネットワーク装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040806

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070515

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071023

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080130