[go: up one dir, main page]

JP2007257023A - サーバ多重化システムおよびサーバ多重化方法 - Google Patents

サーバ多重化システムおよびサーバ多重化方法 Download PDF

Info

Publication number
JP2007257023A
JP2007257023A JP2006076929A JP2006076929A JP2007257023A JP 2007257023 A JP2007257023 A JP 2007257023A JP 2006076929 A JP2006076929 A JP 2006076929A JP 2006076929 A JP2006076929 A JP 2006076929A JP 2007257023 A JP2007257023 A JP 2007257023A
Authority
JP
Japan
Prior art keywords
server
rule
event
servers
distribution
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.)
Withdrawn
Application number
JP2006076929A
Other languages
English (en)
Inventor
Kazuhiko Isoyama
和彦 磯山
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2006076929A priority Critical patent/JP2007257023A/ja
Priority to US11/723,499 priority patent/US20070220305A1/en
Publication of JP2007257023A publication Critical patent/JP2007257023A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】予備を設けたコンピュータシステムのコストの低減する。
【解決手段】設定された複数のルールに応じてクライアントからのイベントを処理するサーバシステムにおいて、複数のサーバを用意し、ルール毎にプライマリサーバとセカンダリサーバを任意に選択してそれらのサーバにルールを設定し、プライマリとしてルールを設定されたサーバは常にイベント処理結果をクライアントに通知するが、セカンダリとしてルールを設定されたサーバはプライマリとしてルールを設定されたサーバが障害時のみにイベント処理結果をクライアントに通知することを特徴とする。
【選択図】図1

Description

本発明は、現用機のサーバと予備機であるサーバとを有するコンピュータシステムにおけるサーバ多重化システムおよびサーバ多重化方法に関する。
正常時に使用される現用機と、現用機に障害が発生した場合に使用される予備機と備えるコンピュータシステムについては、例えば特許文献1(特許第3008887号公報)に開示されている。
このようなシステムの一つであるサーバが二重化された従来のシステムについて、図7を参照して説明する。
図7に示すシステムでは、サーバ単位で現用機であるプライマリサーバ602aと、予備機であるセカンダリサーバ602bを定義していた。
送信元であるクライアント604がイベント609を送信すると、該イベント609は振り分け装置601によりプライマリサーバ602aとセカンダリサーバ602bに振り分けられる。プライマリサーバ602aとセカンダリサーバ602bは同じ処理を行い、お互いに生存確認608を行っており、プライマリサーバ602a生存時にはプライマリサーバ602aのみが結果611を送信先であるクライアント605へ出力し、セカンダリサーバ602bは結果612を出力しない。そして、プライマリサーバ602aが障害になると、セカンダリサーバ602bがその障害を検出し、結果612の出力を開始することにより二重化を実現していた。
特許第3008887号公報
図7に示した従来例においては、プライマリサーバ1台に対しセカンダリサーバ1台が必要なためコストが2倍かかるという問題点がある。
近年のコンピュータシステムでは、複数のサーバを連結して多数のイベントを処理するコンピュータシステムが一般的であるが、図7に示した技術をこのようなシステムに適用した場合には実際に処理を行うサーバの数の倍の台数が必要となってしまう。
本発明は上述したような従来の技術が有する問題点に鑑みてなされたものであって、予備を設けたコンピュータシステムのコストの低減することを目的とする。
本発明のサーバ多重化システムは複数のサーバを連結して多数のイベントを処理するサーバ多重化システムであって、
前記複数のサーバのうち、イベントを処理するプライマリサーバおよびセカンダリサーバを定める複数のルールを決定し、各サーバに分配するとともに前記イベントごとに使用するルールを定める振り分けルールを出力するルール分配部と、
処理を行う前記イベントと前記振り分けルールとを入力し、該振り分けルールに示されるプライマリサーバおよびセカンダリサーバとして定められたサーバに対して処理を行う前記イベントをコピーして前記振り分けルールとともに配布する振り分け装置と、を具備し、
前記サーバのそれぞれは、
前記ルールごとに自身がプライマリサーバまたはセカンダリサーバであるか、および、自身がセカンダリサーバである場合のプライマリサーバが記述されたルールテーブルと、
前記複数のサーバの生存状態が格納されたサーバ生存テーブルと、
前記振り分け装置からの前記イベントおよび振り分けルールの配布を受けると、前記振り分けルールおよび前記ルールテーブルを参照して自身がプライマリサーバ、または、セカンダリサーバのいずれとして定められているかを確認し、プライマリサーバとして定められている場合には前記イベントの処理結果を出力させ、セカンダリサーバとして定められている場合には前記サーバ生存テーブルを参照し、プライマリサーバが生存していない場合には前記イベントの処理結果を出力させる制御装置とを有する。
この場合、前記ルール分配部は、ルールに応じてセカンダリサーバを定めないこととしてもよい。
また、前記ルール分配部は、前記複数のサーバのうち、プライマリサーバとして定めるサーバの数をセカンダリサーバして定めるサーバの数よりも大として定めることとしてもよい。
本発明の他の形態によるサーバ多重化システムは複数のサーバを連結して多数のイベントを処理するサーバ多重化システムであって、
前記複数のサーバのうち、イベントを処理するサーバの優先順位を定める複数のルールを決定し、各サーバに分配するとともに前記イベントごとに使用するルールを定める振り分けルールを出力するルール分配部と、
処理を行う前記イベントと前記振り分けルールとを入力し、該振り分けルールに示されるイベントを処理するサーバとして定められたサーバに対して処理を行う前記イベントをコピーして前記振り分けルールとともに配布する振り分け装置と、を具備し、
前記サーバのそれぞれは、
前記ルールごとに自身の優先順位、および、自身よりも優先順位が上位のサーバが記述されたルールテーブルと、
前記複数のサーバの生存状態が格納されたサーバ生存テーブルと、
前記振り分け装置からの前記イベントおよび振り分けルールの配布を受けると、前記振り分けルールおよび前記ルールテーブルを参照して自身の優先順位を確認し、最優先として定められている場合には前記イベントの処理結果を出力させ、優先度が低く定められている場合には前記サーバ生存テーブルを参照し、自身よりも優先度の高いサーバが生存していない場合には前記イベントの処理結果を出力させる制御装置とを有する。
本発明のサーバ多重化方法は複数のサーバを連結して多数のイベントを処理するサーバ多重化システムで行われるサーバ多重化方法であって、
前記複数のサーバのうち、イベントを処理するプライマリサーバおよびセカンダリサーバを定める複数のルールを決定し、各サーバに分配するとともに前記イベントごとに使用するルールである振り分けルールを定め、
前記振り分けルールに示されるプライマリサーバおよびセカンダリサーバとして定められたサーバに対して処理を行う前記イベントをコピーして前記振り分けルールとともに配布し、
前記サーバのそれぞれは、前記イベントおよび振り分けルールの配布を受けると、前記振り分けルールおよび前記ルールテーブルを参照して自身がプライマリサーバ、または、セカンダリサーバのいずれとして定められているかを確認し、プライマリサーバとして定められている場合には前記イベントの処理結果を出力し、セカンダリサーバとして定められている場合には前記サーバ生存テーブルを参照し、プライマリサーバが生存していない場合には前記イベントの処理結果を出力する。
この場合、ルールに応じてセカンダリサーバを定めないこととしてもよい。
また、前記複数のサーバのうち、プライマリサーバとして定めるサーバの数をセカンダリサーバして定めるサーバの数よりも大として定めることとしてもよい。
本発明の他の形態によるサーバ多重化方法は複数のサーバを連結して多数のイベントを処理するサーバ多重化システムで行われるサーバ多重化方法であって、
前記複数のサーバのうち、イベントを処理するサーバの優先順位を定める複数のルールを決定し、各サーバに分配するとともに前記イベントごとに使用するルールである振り分けルールを定め、
前記振り分けルールに示されるイベントを処理するサーバとして定められたサーバに対して処理を行う前記イベントをコピーして前記振り分けルールとともに配布し、
前記サーバのそれぞれは、前記振り分けルールおよび前記ルールテーブルを参照して自身の優先順位を確認し、最優先として定められている場合には前記イベントの処理結果を出力し、優先度が低く定められている場合には前記サーバ生存テーブルを参照し、自身よりも優先度の高いサーバが生存していない場合には前記イベントの処理結果を出力する。
本発明により処理ルール毎に耐障害制御を選択することができ、柔軟な耐障害制御が可能となる。例えば、重要なルールのみセカンダリルールを設定して、それほど重要でないルールはセカンダリルールを設定せず、障害時には重要なルールのみをフェールオーバーすることにより、障害時には機能を縮退した運用が可能となる。また、サーバ単位のフェールオーバーでは、サーバ1台につき1台のバックアップが必要であり2倍のリソースを必要としていたが、本発明ではルールの分配の調整(サーバ間に均等プライマリルールとセカンダリルールを分配する、重要なルールのみセカンダリルールを設定するなど)により対障害用リソースの調整が容易である。
次に、本発明の実施例について図面を参照して説明する。
図1は本発明によるシステムの第1の実施例の構成を示すブロック図である。
本実施例のシステムは複数のサーバ102a〜102c(サーバ#1〜サーバ#3)、振り分け装置101、ルール分配部103からなる。また、システムは送信元クライアント104と送信先クライアント105と通信を行う。なお、図1において送信元クライアント104と送信先クライアント105は別として示しているが、同一でもよい。
なお、振り分け装置101、サーバ102a〜102c、ルール分配部103のそれぞれは、制御装置、記憶装置、入力装置および表示装置からなる一般的なコンピュータにより構成されるものである。これらの各部については図示せず、以下でも特に説明しないが、各構成要素の動作は記憶装置に格納されたプログラムにより動作する制御装置により制御される。また、振り分け装置101、サーバ102a〜102c、ルール分配部103を独立したものとして示しているが、これらを纏めて1つのデータ処理装置を構成するものとしてもよい。
サーバ102a〜102cのそれぞれは不図示のバスを介して相互に接続して互いの生存確認を行っている。この生存確認は例えばイーサネットを使用する場合にはブロードキャストパケットを用いて行われる。
図2は、各サーバ102a〜102cの内部の要部構成を示す図であり、図2では例としてサーバ102b(サーバ#2)をサーバ201としてその内部構成が示されているが、すべてのサーバは同様の構成を備えている。
各サーバ102a〜102cは内部にルールテーブル202とサーバ生存テーブル206を持つ。
ルールテーブル202には、複数の処理ルールが記述されるルール203、各ルール毎に自サーバがプライマリかセカンダリかを示すフラグ202、および自サーバがセカンダリの場合に、そのルールのプライマリサーバが設定されるプライマリサーバが記述されるプライマリサーバ205の項目が対応して格納される。
図2では、ルール203として処理ルール203a(ルールA),203b(ルールB)が記述され、フラグ202としてフラグ204a(セカンダリ),204b(プライマリ)が記述され、ルールAにおけるプライマリサーバとしてサーバ205aがプライマリサーバ205に記述されている。
サーバ生存テーブル206には自サーバ以外のサーバ名207a,207bについての生存情報208a,208bが保持される。図2に示す例では、サーバ102a,102c(サーバ#1,サーバ#3)についての生存情報が保持され、ともに生存状態であることを示す”○”が格納されている。
各サーバは処理ルールに基づいてイベントを処理する。処理の内容としては、イベントを検出したら単純に送信先のクライアント105に通知するものから、イベントの内容に基づいて、計算、データベースの索引、加工などを行うもの、複数のイベントに基づいて処理を行う(複数のセンサーデータの平均を取るなど)ものなどがある。以下の実施例の動作の説明では、簡単化のため、イベントを検出したら送信先のクライアント105に通知する処理を前提に説明する。
次に、本実施例の動作について説明する。
本実施例では設定すべきルールはルールA(106a)、ルールB(106b)、ルールC(106c)の3つがある。ルール分配部103はルール毎にプライマリとして設定するサーバとセカンダリとして設定するサーバを選択し、ルールを設定する。
例えば、図1におけるルールA(106a)では、プライマリとしてサーバ#1(102a)、セカンダリとしてサーバ#2(102b)を選択し、それぞれにプライマリルール(106ap)、セカンダリルール(106as)を設定する。
同様にルールB(106b)では、プライマリサーバとしてサーバ#2(102b)、セカンダリとしてサーバ#3(102c)を選択し、それぞれにプライマリルール(106bp)、セカンダリルール(106bs)を設定する。また、ルールC(106c)では、プライマリサーバとしてサーバ#3(102c)、セカンダリとしてサーバ#1(102a)を選択し、それぞれにプライマリルール(106cp)、セカンダリルール(106cs)を設定する。
また、ルール分配部103は、各サーバに設定されたルールで処理されるイベントをそのサーバに転送されるように振り分け装置101に振り分けルール107を設定する。例えば図1ではサーバ#1(102a)、サーバ#2(102b)にルールA(106a)のプライマリルール(106ap)、セカンダリルール(106as)が設定されているので、ルールA(106a)で処理されるイベントA(109)はサーバ#1(102a)、サーバ#2(102b)に転送されるように振り分けルール107が設定される。図1では省略しているが、ルールB(106b)、ルールC(106c)で処理されるイベントも同様に、設定されたサーバに転送されるように振り分けルールが設定される。また、振り分け装置101は各サーバと同様のルールテーブルを備えており、振り分けルールにより処理を行うプライマリサーバとセカンダリサーバを把握する。この振り分け装置101のルールテーブルの内容は、各サーバと同様にルール分配部の配信により記述されてもよく、また、予め定められたものとしてもよい。
その後、送信元クライアント(104)からイベントが送信されてくると、振り分け装置101はそのイベントを処理するルールが設定されたサーバにイベントを転送し、サーバはそのイベントを処理する。この時、サーバ同士はお互いに生存確認を行っており、プライマリルールを設定されたサーバは処理結果を送信先のクライアント105に送信するが、セカンダリルールを設定されたサーバはプライマリルールを設定されたサーバが正常時には処理結果を送信先クライアント105に送信することはなく、プライマリルールを設定されたサーバが障害時には処理結果を送信先クライアント105に送信する。
図1のように送信元のクライアント104からイベントA(109)が送信されてくると、振り分け装置101はイベントAを処理するルールA(106ap,106as)が設定されたサーバ#1(102a)、サーバ#2(102b)にコピーしたイベントA(110a,110b)を転送する。
イベントA(110a,110b)を受信したサーバ#1(102a)、サーバ#2(102b)は、ルールA(106ap,106as)に従ってイベントA(110a,110b)を処理するが、プライマリルール(106ap)を設定されたサーバ#1(102a)が正常時にはサーバ#1(102a)のみが処理結果を送信先のクライアント105に通知111を出力し、セカンダリルール(106as)を設定されたサーバ#2(102b)は処理結果112を通知しない。しかし、プライマリルール(106ap)を設定されたサーバ#1(102a)が障害時に、サーバ#1(102a)の障害を検出したセカンダリルール(106as)を設定されたサーバ#2(102b)がイベントA(110b)を受信した場合には、サーバ#2(102b)が送信先のクライアント105に処理結果112を通知する。
各サーバの動作の例としてサーバ#2(102b)を例とし、図2〜4を参照して説明する。
図2では、サーバ#2(102b)がサーバ201として示されている。サーバ201内のルールテーブル202にはルールAのセカンダリルール203aとルールBのプライマリルール203bが設定されている。また、ルールテーブル202には設定されたルールがプライマリかセカンダリかを表すフラグ204と、セカンダリルールの場合にプライマリルールが設定されたサーバ205が設定されている。その他に、サーバ内には他のサーバの生存情報を保持するサーバ生存テーブル206があり、サーバ間の生存確認通信の結果によって随時更新される。
プライマリルールに関するイベントを受信した時の動作を図2で説明する。イベントB(209)を受信すると、サーバ201はルールテーブル202を検索し、イベントB(209)に関するルールB(203b)を検索する。そしてルールB(203b)に従ってイベントB(209)を処理するが、ルールテーブル(202)のプライマリ/セカンダリフラグ(204b)を見るとルールB(203b)がプライマリルールであることが分かるので、処理結果(210)をそのまま通知する。
プライマリルールが設定されたサーバが正常時に、セカンダリルールに関するイベントを受信した時の動作を図3で説明する。
図3では、サーバ#2(102b)がサーバ301として示されている。また、図2において200番台の符号で示されていたその他の構成要件については、300番台の符号とする。
イベントA(309)を受信すると、サーバ301はルールテーブル302を検索し、イベントA(309)に関するルールA(303a)を検索する。そしてルールA(303a)に従ってイベントA(309)を処理するが、ルールテーブル302のプライマリ/セカンダリフラグ304aを見るとルールA(303a)がセカンダリルールであることが分かる。するとサーバ301は、ルールA(303a)に従ってイベントA(309)を処理した後に、ルールテーブル302にあるプライマリサーバ情報305からサーバ#1(305a)を検索し、サーバ生存テーブル306からサーバ#1の生存情報307aを検索する。その結果サーバ#1は正常であることを示す内容308aが記述されているので、処理結果を通知するのを中止する。
プライマリルールが設定されたサーバが障害時に、セカンダリルールに関するイベントを受信した時の動作を図4で説明する。
図4では、サーバ#2(102b)がサーバ401として示されている。また、図2において200番台の符号で示されていたその他の構成要件については、400番台の符号とする。
イベントA(409)を受信して、ルールA(403a)に従い処理をし、プライマリサーバの生存情報(407a)を検索するまではプライマリサーバ正常時と同様である。サーバ#1の生存情報(407a)を検索した結果、サーバ#1が障害であることを示す内容(408a)が記述されていることが分かると、サーバ401はイベントAの処理結果(410)をクライアントに通知する。
図1ではルールの数とサーバの数が同数であるが、図示の都合であって、特にそのような制約はない。例えばサーバの数≪ルールの数であってもよい。
また、図1では全てのルールにセカンダリルールを設定しているが、重要なルールのみセカンダリルールを設定して、それほど重要でないルールはセカンダリルールを設定せず、障害時には重要なルールのみをフェールオーバーすることとしてもよい。
図5は本発明による第2の実施例の構成を示すブロック図である。
本実施例のシステムは複数のサーバ502a〜502c(サーバ#1〜サーバ#3)、各サーバ502a〜502cの予備となる予備サーバ502d、振り分け装置501、ルール分配部503からなる。また、システムは送信元クライアント504と送信先クライアント505と通信を行う。なお、図5において送信元クライアント504と送信先クライアント505は別として示しているが、同一でもよい。
本実施例では正常時にルールを処理する複数の処理サーバ502a〜502cに対し、1つの予備サーバ502dを用意し、全てのルールのセカンダリルールを予備サーバ502dに設定する。これによりサーバn台を二重化するためにはn台の予備サーバが必要であったのを、1台の予備サーバで済むように出来る。また、1台の予備サーバでは予備サーバの負荷が高くなるので、m台(m<n)の予備サーバを用意し、同様にセカンダリルールを設定してもよい。このように、ルール単位でプライマリとセカンダリのサーバを選択することにより、現用サーバの台数と予備サーバの台数の比を柔軟に設定することが出来る。
各サーバは処理ルールに基づいてイベントを処理する。処理の内容としては、イベントを検出したら単純に送信先のクライアント505に通知するものから、イベントの内容に基づいて、計算、データベースの索引、加工などを行うもの、複数のイベントに基づいて処理を行う(複数のセンサーデータの平均を取るなど)ものなどがある。以下の実施例の動作の説明では、簡単化のため、イベントを検出したら送信先のクライアント505に通知する処理を前提に説明する。
次に、本実施例の動作について説明する。
本実施例では設定すべきルールはルールA(506a)、ルールB(506b)、ルールC(506c)の3つがある。ルール分配部503はルール毎にプライマリとして設定するサーバを設定し、セカンダリとしては世にサーバ502dを選択する。
例えば、図5におけるルールA(506a)では、プライマリとしてサーバ#1(502a)、セカンダリとして予備サーバ502dを選択し、それぞれにプライマリルール(506ap)、セカンダリルール(506as)を設定する。
同様にルールB(506b)では、プライマリサーバとしてサーバ#2(502b)、セカンダリとして予備サーバ502dを選択し、それぞれにプライマリルール(506bp)、セカンダリルール(506bs)を設定する。また、ルールC(506c)では、プライマリサーバとしてサーバ#3(502c)、セカンダリとして予備サーバ502dを選択し、それぞれにプライマリルール(506cp)、セカンダリルール(506cs)を設定する。
また、ルール分配部503は、各サーバに設定されたルールで処理されるイベントをそのサーバに転送されるように振り分け装置501に振り分けルール507を設定する。例えば図5ではサーバ#1(502a)、予備サーバ(502d)にルールA(506a)のプライマリルール(506ap)、セカンダリルール(506as)が設定されているので、ルールA(506a)で処理されるイベントA(509)はサーバ#1(502a)、予備サーバ502dに転送されるように振り分けルール507が設定される。図1では省略しているが、ルールB(506b),ルールC(506c)で処理されるイベントも同様に、設定されたプライマリサーバ502b,502cおよび予備サーバ502dに転送されるように振り分けルールが設定される。
その後、送信元のクライアント504からイベントが送信されてくると、振り分け装置501はそのイベントを処理するルールが設定されたプライマリのサーバと予備サーバ502dにイベントを転送し、プライマリのサーバと予備サーバ502dはそのイベントを処理する。この時、プライマリのサーバと予備サーバ502d同士はお互いに生存確認を行っており、プライマリルールを設定されたサーバは処理結果を送信先のクライアント505に送信するが、予備サーバ502dはプライマリルールを設定されたサーバが正常時には処理結果を送信先クライアント505に送信することはなく、プライマリルールを設定されたサーバが障害時には処理結果を送信先クライアント505に送信する。
図1のように送信元のクライアント504からイベントA(509)が送信されてくると、振り分け装置501はイベントAを処理するルールA(506ap,506as)が設定されたサーバ#1(502a)、予備サーバ502dにコピーしたイベントA(510a,510b)を転送する。
イベントA(510a,510b)を受信したサーバ#1(502a)、予備サーバ502dは、ルールA(506ap,506as)に従ってイベントA(510a,510b)を処理するが、プライマリルール(506ap)を設定されたサーバ#1(502a)が正常時にはサーバ#1(502a)のみが処理結果を送信先のクライアント505に通知511を出力し、セカンダリルール(506as)を設定された予備サーバ502dは処理結果512を通知しない。しかし、プライマリルール506apを設定されたサーバ#1(502a)が障害時に、サーバ#1(502a)の障害を検出したセカンダリルール506asを設定された予備サーバ502dがイベントA(510b)を受信した場合には、予備サーバ502dが送信先のクライアント505に処理結果512を通知する。
図6は、本発明の第3の実施例の要部構成を示す図である。
本実施例のおおよその構成は図1および図5に示した第1の実施例および第2の実施例と同様であるが、各サーバ内のテーブルの構成が異なるものとされている。以下では、図5に示した符号を用いて本実施例について説明する。
図6は各サーバ502a〜502cの内部の要部構成を示す図であり、図6では例としてサーバ503c(サーバ#3)をサーバ701としてその内部構成が示されているが、すべてのサーバは同様の構成を備えている。
各サーバは内部にルールテーブル702とサーバ生存テーブル706を持つ。
ルールテーブル702には、複数の処理ルールが記述されるルール703、各ルール毎の自サーバの優先度702、および自サーバよりも上位のサーバが設定されるプライマリサーバが記述されるプライマリサーバ705の項目が対応して格納される。
図6では、ルール703として処理ルール703a(ルールA)が記述され、優先度702として3番目(704a)であり、プライマリサーバ705サーバ#1およびサーバ#2の内容705aが記述されている。
サーバ生存テーブル706には自サーバ以外のサーバ名707a,707bについての生存情報708a,708bが保持される。図7に示す例では、サーバ702a,702b(サーバ#1,サーバ#2)についての生存情報が保持され、ともに非生存状態であることを示す”×”が格納されている。
上記のように本実施例ではルールAのプライマリ(一次)ルールをサーバ#1へ、セカンダリ(二次)ルールをサーバ#2に設定するのに加え、三次ルール(703a)をサーバ#3(701)に設定する。この場合、ルールテーブル(702)にはそのルール(703a)の優先度704aと、そのルール(703a)の上位優先度のルールが設定されたサーバ(705a)が設定されている。
ルール(703a)に一致するイベントA(709)を受信すると、サーバ701はルール703aに基づいてイベントA(709)を処理するが、サーバ生存テーブル(706)を見て、そのルール(703a)の上位優先度のルールが設定されたサーバ#1(707a)、サーバ#2(707b)の両方が障害の時のみ処理結果を通知(710)し、それ以外の場合(サーバ#1(707a)、サーバ#2(707b)いずれかが生存している場合)は通知しない。このように本実施例ではサーバの二重化だけでなく多重化も可能である。
本発明によるシステムの第1の実施例の構成を示すブロック図である。 サーバの内部の要部構成を示す図である。 サーバの内部の要部構成を示す図である。 サーバの内部の要部構成を示す図である。 本発明による第2の実施例の構成を示すブロック図である。 本発明の第3の実施例の要部構成を示す図である。 従来例の構成を示す図である。
符号の説明
101 振り分け装置
102a〜102c サーバ
103 ルール分配部
104,105 クライアント

Claims (8)

  1. 複数のサーバを連結して多数のイベントを処理するサーバ多重化システムであって、
    前記複数のサーバのうち、イベントを処理するプライマリサーバおよびセカンダリサーバを定める複数のルールを決定し、各サーバに分配するとともに前記イベントごとに使用するルールを定める振り分けルールを出力するルール分配部と、
    処理を行う前記イベントと前記振り分けルールとを入力し、該振り分けルールに示されるプライマリサーバおよびセカンダリサーバとして定められたサーバに対して処理を行う前記イベントをコピーして前記振り分けルールとともに配布する振り分け装置と、を具備し、
    前記サーバのそれぞれは、
    前記ルールごとに自身がプライマリサーバまたはセカンダリサーバであるか、および、自身がセカンダリサーバである場合のプライマリサーバが記述されたルールテーブルと、
    前記複数のサーバの生存状態が格納されたサーバ生存テーブルと、
    前記振り分け装置からの前記イベントおよび振り分けルールの配布を受けると、前記振り分けルールおよび前記ルールテーブルを参照して自身がプライマリサーバ、または、セカンダリサーバのいずれとして定められているかを確認し、プライマリサーバとして定められている場合には前記イベントの処理結果を出力させ、セカンダリサーバとして定められている場合には前記サーバ生存テーブルを参照し、プライマリサーバが生存していない場合には前記イベントの処理結果を出力させる制御装置とを有するサーバ多重化システム。
  2. 請求項1記載のサーバ多重化システムにおいて、
    前記ルール分配部は、ルールに応じてセカンダリサーバを定めないサーバ多重化システム。
  3. 請求項1または請求項2記載のサーバ多重化システムにおいて、
    前記ルール分配部は、前記複数のサーバのうち、プライマリサーバとして定めるサーバの数をセカンダリサーバして定めるサーバの数よりも大として定めるサーバ多重化システム。
  4. 複数のサーバを連結して多数のイベントを処理するサーバ多重化システムであって、
    前記複数のサーバのうち、イベントを処理するサーバの優先順位を定める複数のルールを決定し、各サーバに分配するとともに前記イベントごとに使用するルールを定める振り分けルールを出力するルール分配部と、
    処理を行う前記イベントと前記振り分けルールとを入力し、該振り分けルールに示されるイベントを処理するサーバとして定められたサーバに対して処理を行う前記イベントをコピーして前記振り分けルールとともに配布する振り分け装置と、を具備し、
    前記サーバのそれぞれは、
    前記ルールごとに自身の優先順位、および、自身よりも優先順位が上位のサーバが記述されたルールテーブルと、
    前記複数のサーバの生存状態が格納されたサーバ生存テーブルと、
    前記振り分け装置からの前記イベントおよび振り分けルールの配布を受けると、前記振り分けルールおよび前記ルールテーブルを参照して自身の優先順位を確認し、最優先として定められている場合には前記イベントの処理結果を出力させ、優先度が低く定められている場合には前記サーバ生存テーブルを参照し、自身よりも優先度の高いサーバが生存していない場合には前記イベントの処理結果を出力させる制御装置とを有するサーバ多重化システム。
  5. 複数のサーバを連結して多数のイベントを処理するサーバ多重化システムで行われるサーバ多重化方法であって、
    前記複数のサーバのうち、イベントを処理するプライマリサーバおよびセカンダリサーバを定める複数のルールを決定し、各サーバに分配するとともに前記イベントごとに使用するルールである振り分けルールを定め、
    前記振り分けルールに示されるプライマリサーバおよびセカンダリサーバとして定められたサーバに対して処理を行う前記イベントをコピーして前記振り分けルールとともに配布し、
    前記サーバのそれぞれは、前記イベントおよび振り分けルールの配布を受けると、前記振り分けルールおよび前記ルールテーブルを参照して自身がプライマリサーバ、または、セカンダリサーバのいずれとして定められているかを確認し、プライマリサーバとして定められている場合には前記イベントの処理結果を出力し、セカンダリサーバとして定められている場合には前記サーバ生存テーブルを参照し、プライマリサーバが生存していない場合には前記イベントの処理結果を出力するサーバ多重化方法。
  6. 請求項5記載のサーバ多重化方法において、
    ルールに応じてセカンダリサーバを定めないサーバ多重化方法。
  7. 請求項5または請求項6記載のサーバ多重化方法において、
    前記複数のサーバのうち、プライマリサーバとして定めるサーバの数をセカンダリサーバして定めるサーバの数よりも大として定めるサーバ多重化方法。
  8. 複数のサーバを連結して多数のイベントを処理するサーバ多重化システムで行われるサーバ多重化方法であって、
    前記複数のサーバのうち、イベントを処理するサーバの優先順位を定める複数のルールを決定し、各サーバに分配するとともに前記イベントごとに使用するルールである振り分けルールを定め、
    前記振り分けルールに示されるイベントを処理するサーバとして定められたサーバに対して処理を行う前記イベントをコピーして前記振り分けルールとともに配布し、
    前記サーバのそれぞれは、前記振り分けルールおよび前記ルールテーブルを参照して自身の優先順位を確認し、最優先として定められている場合には前記イベントの処理結果を出力し、優先度が低く定められている場合には前記サーバ生存テーブルを参照し、自身よりも優先度の高いサーバが生存していない場合には前記イベントの処理結果を出力するサーバ多重化方法。
JP2006076929A 2006-03-20 2006-03-20 サーバ多重化システムおよびサーバ多重化方法 Withdrawn JP2007257023A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006076929A JP2007257023A (ja) 2006-03-20 2006-03-20 サーバ多重化システムおよびサーバ多重化方法
US11/723,499 US20070220305A1 (en) 2006-03-20 2007-03-20 Multiplex server system and server multiplexing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006076929A JP2007257023A (ja) 2006-03-20 2006-03-20 サーバ多重化システムおよびサーバ多重化方法

Publications (1)

Publication Number Publication Date
JP2007257023A true JP2007257023A (ja) 2007-10-04

Family

ID=38519366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006076929A Withdrawn JP2007257023A (ja) 2006-03-20 2006-03-20 サーバ多重化システムおよびサーバ多重化方法

Country Status (2)

Country Link
US (1) US20070220305A1 (ja)
JP (1) JP2007257023A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011203845A (ja) * 2010-03-24 2011-10-13 Nec Corp 負荷分散システム、負荷分散サーバおよび負荷分散方法
JP2014510324A (ja) * 2011-01-11 2014-04-24 エイ10 ネットワークス インコーポレイテッド 仮想アプリケーションデリバリシャーシシステム
US9596134B2 (en) 2011-06-06 2017-03-14 A10 Networks, Inc. Synchronization of configuration file of virtual application distribution chassis
US9961130B2 (en) 2014-04-24 2018-05-01 A10 Networks, Inc. Distributed high availability processing methods for service sessions
US10318288B2 (en) 2016-01-13 2019-06-11 A10 Networks, Inc. System and method to process a chain of network applications
US10742559B2 (en) 2014-04-24 2020-08-11 A10 Networks, Inc. Eliminating data traffic redirection in scalable clusters
JP7643885B2 (ja) 2021-02-19 2025-03-11 アズビル株式会社 ブローカ装置、冗長ブローカ調整装置、パブリッシュ・サブスクライブ・システムおよび通信方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101262369B (zh) * 2008-03-28 2011-05-11 华为技术有限公司 调度服务器的主备实现方法及调度服务器
WO2010071162A1 (ja) * 2008-12-15 2010-06-24 日本電気株式会社 イベント処理システム、イベント処理方法、ルール分配装置、及びルール分配プログラム
US9032206B2 (en) * 2013-02-25 2015-05-12 Surfeasy, Inc. Rule sets for client-applied encryption in communications networks

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987621A (en) * 1997-04-25 1999-11-16 Emc Corporation Hardware and software failover services for a file server
US6230200B1 (en) * 1997-09-08 2001-05-08 Emc Corporation Dynamic modeling for resource allocation in a file server
US6625750B1 (en) * 1999-11-16 2003-09-23 Emc Corporation Hardware and software failover services for a file server
US6941366B2 (en) * 2001-01-17 2005-09-06 International Business Machines Corporation Methods, systems and computer program products for transferring security processing between processors in a cluster computing environment
US7146432B2 (en) * 2001-01-17 2006-12-05 International Business Machines Corporation Methods, systems and computer program products for providing failure recovery of network secure communications in a cluster computing environment
WO2003029916A2 (en) * 2001-09-28 2003-04-10 Bluesocket, Inc. Method and system for managing data traffic in wireless networks
US7860964B2 (en) * 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
US20030107590A1 (en) * 2001-11-07 2003-06-12 Phillippe Levillain Policy rule management for QoS provisioning
US20030101113A1 (en) * 2001-11-26 2003-05-29 Dang Hong M. Intelligent system infrastructure for financial data computation, report remittance and funds transfer over an interactive communications network
US7526541B2 (en) * 2003-07-29 2009-04-28 Enterasys Networks, Inc. System and method for dynamic network policy management
FR2858900B1 (fr) * 2003-08-12 2006-01-06 Cit Alcatel Fourniture de services par reservation de ressources au sein d'un reseau de communications a gestion de ressources par des regles de politique
US8224937B2 (en) * 2004-03-04 2012-07-17 International Business Machines Corporation Event ownership assigner with failover for multiple event server system
US7571444B2 (en) * 2004-03-25 2009-08-04 International Business Machines Corporation Method, system and program product for managing events
US8108429B2 (en) * 2004-05-07 2012-01-31 Quest Software, Inc. System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services
JP4665568B2 (ja) * 2005-03-16 2011-04-06 パナソニック株式会社 情報処理装置、ポート検出装置、情報処理方法、及びポート検出方法
US7827262B2 (en) * 2005-07-14 2010-11-02 Cisco Technology, Inc. Approach for managing state information by a group of servers that services a group of clients

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011203845A (ja) * 2010-03-24 2011-10-13 Nec Corp 負荷分散システム、負荷分散サーバおよび負荷分散方法
JP2014510324A (ja) * 2011-01-11 2014-04-24 エイ10 ネットワークス インコーポレイテッド 仮想アプリケーションデリバリシャーシシステム
US9477563B2 (en) 2011-01-11 2016-10-25 A10 Networks, Inc. Virtual application delivery chassis system
US9838472B2 (en) 2011-01-11 2017-12-05 A10 Networks, Inc. Virtual application delivery chassis system
US10530847B2 (en) 2011-01-11 2020-01-07 A10 Networks, Inc. Virtual application delivery chassis system
US9596134B2 (en) 2011-06-06 2017-03-14 A10 Networks, Inc. Synchronization of configuration file of virtual application distribution chassis
US9912538B2 (en) 2011-06-06 2018-03-06 A10 Networks, Inc. Synchronization of configuration file of virtual application distribution chassis
US10298457B2 (en) 2011-06-06 2019-05-21 A10 Networks, Inc. Synchronization of configuration file of virtual application distribution chassis
US9961130B2 (en) 2014-04-24 2018-05-01 A10 Networks, Inc. Distributed high availability processing methods for service sessions
US10742559B2 (en) 2014-04-24 2020-08-11 A10 Networks, Inc. Eliminating data traffic redirection in scalable clusters
US10318288B2 (en) 2016-01-13 2019-06-11 A10 Networks, Inc. System and method to process a chain of network applications
JP7643885B2 (ja) 2021-02-19 2025-03-11 アズビル株式会社 ブローカ装置、冗長ブローカ調整装置、パブリッシュ・サブスクライブ・システムおよび通信方法

Also Published As

Publication number Publication date
US20070220305A1 (en) 2007-09-20

Similar Documents

Publication Publication Date Title
JP2007257023A (ja) サーバ多重化システムおよびサーバ多重化方法
DE69627750T2 (de) Verfahren zur Divergenzdetektion zwischen einem Paar von synchronisierten Duplexprozessorelementen
EP1617331B1 (en) Efficient changing of replica sets in distributed fault-tolerant computing system
US4907232A (en) Fault-tolerant parallel processing system
ATE363097T1 (de) Server-duplexverfahren und geduplextes serversystem
WO2023280127A1 (zh) 一种消息通信方法和装置
CN107229455A (zh) 一种业务处理方法、装置及系统
US20130124916A1 (en) Layout of mirrored databases across different servers for failover
US20100268687A1 (en) Node system, server switching method, server apparatus, and data takeover method
CN111198662A (zh) 一种数据存储方法、装置和计算机可读存储介质
WO2025035930A1 (zh) 一种节点部署方法、装置及电子设备
CA2611385C (en) Fault-tolerant system for data transmission in a passenger aircraft
CN111400065B (zh) 一种分离全局zookeeper的pulsar消息异地多活方法及系统
KR101347341B1 (ko) 분산 시스템에서 보드 이중화 장치 및 방법
CN101404519B (zh) 一种业务板系统和业务处理方法
WO2019230228A1 (ja) 情報処理システム、情報処理装置、および情報処理システムの制御方法
JPH08316957A (ja) 二重化ネットワーク管理システム
JP2924779B2 (ja) データ階層配信処理方式
JP2000259521A (ja) ネットワークセキュリティルール管理システム及びネットワークセキュリティルール管理装置
JPH06208485A (ja) 障害監視システム
JP2009064149A (ja) 電力系統分散監視制御システム
JP2007293519A (ja) サーバシステムおよびパッチ処理方法
Shima et al. Fault-tolerant intra-group communication
JPH04342332A (ja) 伝送系経路切替制御方式
JPH04302338A (ja) 電子計算機システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081016

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100402