JPWO2008004569A1 - クラスタシステム、サーバクラスタ、クラスタメンバ、クラスタメンバの冗長化方法、負荷分散方法 - Google Patents
クラスタシステム、サーバクラスタ、クラスタメンバ、クラスタメンバの冗長化方法、負荷分散方法 Download PDFInfo
- Publication number
- JPWO2008004569A1 JPWO2008004569A1 JP2008523702A JP2008523702A JPWO2008004569A1 JP WO2008004569 A1 JPWO2008004569 A1 JP WO2008004569A1 JP 2008523702 A JP2008523702 A JP 2008523702A JP 2008523702 A JP2008523702 A JP 2008523702A JP WO2008004569 A1 JPWO2008004569 A1 JP WO2008004569A1
- Authority
- JP
- Japan
- Prior art keywords
- unit
- cluster member
- data
- packet
- protocol processing
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 188
- 238000012545 processing Methods 0.000 claims abstract description 742
- 230000005540 biological transmission Effects 0.000 claims description 452
- 238000004891 communication Methods 0.000 claims description 158
- 230000004044 response Effects 0.000 claims description 134
- 230000008569 process Effects 0.000 claims description 130
- 239000000872 buffer Substances 0.000 claims description 114
- 238000012546 transfer Methods 0.000 claims description 103
- 230000006870 function Effects 0.000 claims description 74
- 238000012790 confirmation Methods 0.000 claims description 64
- 238000004364 calculation method Methods 0.000 claims description 52
- 238000012544 monitoring process Methods 0.000 claims description 31
- 238000012795 verification Methods 0.000 claims description 30
- 230000002159 abnormal effect Effects 0.000 claims 4
- 230000001934 delay Effects 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 31
- 230000010076 replication Effects 0.000 description 20
- 239000008186 active pharmaceutical agent Substances 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 230000000052 comparative effect Effects 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 5
- 238000012384 transportation and delivery Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
- 230000037303 wrinkles Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2023—Failover techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2038—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2097—Error 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 maintaining the standby controller/processing unit updated
-
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
(a) 単一の機能を提供する大規模な装置を構築する手段
(b) 可用性の高い装置を構築する手段
として従来から利用されている。
クラスタシステムの構成法としては種々の方法が知られているが、ロードバランサを他のシステムとの境界に置く構成が比較的広く利用されている。図30に、ロードバランサを利用したクラスタシステム1の構成例を示す。クラスタシステム1は、複数のクラスタメンバ11−1〜11−nと、ロードバランサ12を備えている。ネットワーク2を介して各ノード31〜3mから送られてきたIPパケット(通信データ)は、ロードバランサ12によって各クラスタメンバ11−1〜11−nに分配される。
これらを解決するため、ロードバランサを置かない方式(ブロードキャスト・ディスパッチ方式)のクラスタシステムが提案されている(例えば特表2003−517221号公報参照)。
(2)アプリケーションがもつ複雑な状態を、一貫性を保ちつつ冗長化する必要がある。
クラスタメンバには、自クラスタメンバ上で動作するアプリケーションプログラムからの通信API部に対する呼出しを捕捉する捕捉部が設けられている。この捕捉部は、呼出しを捕捉すると、アプリケーションプログラムに代わって通信API部を呼び出す。捕捉部は、この呼出しに従って通信API部がプロトコル処理部から読込んだデータまたはこの呼出しに従って通信API部がプロトコル処理部に書込むデータに対して、呼出しの種類に応じた処理を行う。捕捉部はさらに、他のクラスタメンバから送られてきたデータに対して、そのデータの種類に応じた処理を行う。捕捉部は、プロトコル処理部を構成するOSの外部に設けることができる。そのため、OSに大規模な変更を加えることなく、アプリケーション処理もプロトコル処理も効率的にサポート可能なブロードキャスト・ディスパッチ方式のクラスタシステムを提供することが可能になる。
2.現用系アプリケーションプログラムは、受信データから管理データの更新内容を決定し、プロセス間通信や共有メモリなどを用いて、該当更新内容を予備系アプリケーションプログラムへ通知する。
3.予備系アプリケーションプログラムは、現用系からの通知に従って自身の管理データを更新し、更新の成否を現用系アプリケーションプログラムへ応答する。
4.現用系アプリケーションプログラムは、予備系アプリケーションプログラムのデータ更新が成功したら、自身の管理データを更新する。
5.以上の処理が正しく行われたら、通信相手に応答を返す。
本発明の実施例1においては、ブロードキャスト・ディスパッチ方式のクラスタシステムにおいて、アプリケーションプログラムを搭載したクラスタメンバの冗長化が行われる。本実施例は、図31に示すようなブロードキャスト・ディスパッチ方式のクラスタシステムにおいて、クラスタメンバ13−1〜13−nの代わりに、図1に示すクラスタメンバ100を用いることにより実現される。本実施例のクラスタシステムは、例えば、サーバ(サーバクラスタ)として機能する。
図2を参照すると、現用クラスタメンバは、読込みAPI部151および書込みAPI部152と、アプリケーションプログラム110との間に、複製部171(現用クラスタメンバとして機能させた場合には、図1の複製部/照合部171が図2の複製部171として機能する)と、複製部172(現用クラスタメンバとして機能させた場合には、図1の複製部/書込み部172が複製部172として機能する)と、制御部173と、転送部174と、読込みAPI呼出し捕捉部161と、書込みAPI呼出し捕捉部162とを備える。
予備クラスタメンバは、読込みAPI部151および書込みAPI部152と、アプリケーションプログラム110との間に、照合部171(予備クラスタメンバとして機能させた場合には、図1の複製部/照合部171が図2の照合部171として機能する)と、書込み部172(予備クラスタメンバとして機能させた場合には、図1の複製部/書込み部172が図2の書込み部172として機能する)と、読込みAPI呼出し捕捉部161と、書込みAPI呼出し捕捉部162と、制御部173と、転送部174とを備える。制御部173は、その内部に切替通知部1731、切替制御部1732、現用監視部1733を備える。
ここで、クラスタメンバが、マルチプロセス用オペレーティングシステムで実現されている場合には、一般的には次のような対応によって実現される。読込みAPI部151、書込みAPI部152は、典型的にはシステムコールのAPIとして実現される。プロトコル処理部121、122、…、12k以下はOSのカーネル等の一部として実現される。アプリケーションプログラムは、ユーザープロセスとして実現される。
ここまで、簡単のため、クラスタメンバ内ではアプリケーションプログラムは一つだけ動作しているように説明してきたが、アプリケーションプログラムは、複数稼働していても良い。この場合、アプリケーションプログラムごとに、先に説明した構成部分を別々に用意する。
次に、本実施例の動作について詳細に説明する。
まず、本実施例の特徴を説明するため、読込みAPI呼出し捕捉部161、書込みAPI呼出し捕捉部162等を備えておらずクラスタ化されていないホストノードH(図34参照)の受信読込み処理を図3A、3Bの流れ図を参照して説明する。
まず、本実施例の特徴を説明するための比較例として、読込みAPI呼出し捕捉部161、書込みAPI呼出し捕捉部162等を備えておらずクラスタ化されていないホストノードH(図34参照)の書込み送信処理を図7に示す。
読込み、書込みに加えて、通信のAPI群には、エンドポイントの生成やセッションの開設などの通信の制御用APIが用意されている。
“connect”
“bind”
“listen”
“accept”
サーバ側では、典型的には、セッション開設手順は次のようになる。
(1) bindにより自ノードの端点を固定する。
(2) 該当端点で受信待ちができるよう、listenシステムコールを発行する。
(3) acceptシステムコールで、クライアントとの間にセッションが確立されるのを待つ。クライアントとのセッションが確立されると、ソケット記述子がセッションごとに新たにつくられて呼出し側へ戻される。以降(3)で得られたソケット記述子で通信を行う。
クライアント側では、典型的には、セッション開設はconnectシステムコールの発行により行う。同システムコールを発行すると、自ノード側端点を固定して、対向端点との間でセッション確立を行うようプロトコルに依頼し、セッション確立の結果をもって呼出しが戻るようになっている。
現用系が故障した場合に、処理を予備系に切り替えるフェイルオーバ処理を説明する。
本実施例によれば、OSを大幅に変更することなく、アプリケーションプログラムが動作するブロードキャスト・ディスパッチ方式のクラスタメンバを冗長化し、信頼性を向上させることができる。その理由は、アプリケーションプログラム110と読込み、書込みAPI部151、152との間に、読込みAPI呼出し捕捉部161、書込みAPI呼出し捕捉部162、複製部/照合部171、複製部/書込み部172、制御部173、転送部174を備える構成を採用したからである。即ち、上記各部は、OSの外部に設けることができるので、OSを変更することなく、アプリケーションプログラムが動作するクラスタメンバを冗長化することが可能になる。
本発明の実施例2は、アプリケーションプログラムが稼働するクラスタメンバを複数備えたブロードキャスト・ディスパッチ方式のクラスタシステムにおいて、プロトコル処理に対する負荷分散とアプリケーション処理に対する負荷分散とを異なるポリシーで行えるようにしたことを特徴とする。
図14は本発明にかかるクラスタシステムの実施例2を示すブロック図である。同図を参照すると、本実施例のクラスタシステム1aは、複数のデータリンク41、42、…、4mに接続された複数台のクラスタメンバ100a−1〜100a−nにより構成されている。各データリンク41、42、…、4mにはクラスタシステム1aの全クラスタメンバ100a−1〜100a−nと、複数台のノード31−1〜3m−zとが接続されている。
次に、本実施例の動作について詳細に説明する。
先ず、図16A、16Bを参照してプロトコルのパケット受信処理と、アプリケーションプログラムの受信データ読込み処理について説明する。読込みのクラスタ処理部分は後述する。
・他のクラスタメンバから送られてきた、宛先が自クラスタメンバのMACアドレスになっている、受信データを含むパケット。
・他のクラスタメンバから送られてきた、宛先が自クラスタメンバのMACアドレスになっている、送信データを含むパケット。
次に、書込み送信処理について図18A、18Bの流れ図を参照して説明する。アプリケーションプログラム110が書込みAPI部152を呼出すと、書込みAPI呼出し捕捉部162がこの呼出しを捕捉して、アプリケーションプログラム110からの送信データをプロトコル処理振り分け部182に渡す(ステップS1801、S1802)。
実施例1と同様、読込み、書込み以外のAPIについての動作を説明する。ここでは、主要な通信用APIの一つであるバークレイソケットAPIにおける、上記制御用APIを、本実施例の方法でクラスタ化する方法を説明する。実施例1と同様に、バークレイソケットAPIの、サーバ側およびクライアント側での典型的な用法に基づいてセッション開設処理のシーケンス図に基づいて手順を説明する。
サーバ側のセッション開設には、bind、 listen、 acceptの三つのシステムコールが主に使われる。これらのシステムコールのクラスタ化処理を順に説明する。
クライアント側では、典型的には、セッション開設はconnectシステムコールの発行により行う。同システムコールを発行すると、自ノード側端点を固定して、対向端点との間でセッション確立を行うようプロトコルに依頼し、セッション確立の結果をもって呼出しが戻るようになっている。
本実施例によれば、アプリケーションプログラムが動作するブロードキャスト・ディスパッチ方式のクラスタシステムにおいて、負荷分散を行う際に、同一トラフィックに対するアプリケーション処理とプロトコル処理とを異なるクラスタメンバに行わせることが可能になる。その理由は、アプリケーションプログラム110と読込み、書込みAPI部151、152との間に、読込みAPI呼出し捕捉部161、書込みAPI呼出し捕捉部162、制御部173、転送部174、アプリケーション処理振り分け部181、プロトコル処理振り分け部182を備える構成を採用したからである。
本実施例は、実施例1と2を組み合わせて、トラフィックによる処理負荷を複数のクラスタメンバに分散させることでシステム全体の性能を高め、さらに、トラフィックを冗長に処理することで信頼性をも高めたことを特徴とする。
本実施例は、図14に示すようなクラスタシステムにおいて、図15に示す構成を有するクラスタメンバ100a−1〜100−nの代わりに、図24に示す構成を有するクラスタメンバ100bを用いることにより実現される。
(1) 全クラスタメンバがアプリケーション処理について現用として動作し、全クラスタメンバがいずれか他のクラスタメンバの予備を担当する。いずれかのクラスタメンバが故障した場合、予備担当クラスタメンバが故障クラスタメンバのアプリケーション処理を引き継ぐ。
(2) 予備担当クラスタメンバを現用クラスタメンバとは別に用意する。このクラスタメンバは、全てのアプリケーション処理の予備クラスタメンバとして振る舞う。通常、予備処理に必要な状態の待避等以外は処理を行わない。
上記の構成部分以外の機能は、第1および実施例2と同様なので説明を略す。
次に、本実施例の動作について詳細に説明する。
図25A、25Bは、本実施例における、プロトコルのパケット受信処理と、アプリケーションプログラムの受信データ読込み処理の動作を示した流れ図である。読込のクラスタ処理部分は後述する。
1.1 現用処理対象の受信データ
1.2 予備処理対象の受信データ
2 照合処理のデータ
2.1 現用担当クラスタメンバが予備担当クラスタメンバへ送る照合用データ
2.2 予備担当クラスタメンバが現用担当クラスタメンバへ送る照合結果
3 リダイレクトされたデータ
3.1 プロトコル処理担当クラスタメンバがアプリケーション処理担当クラスタメンバへ送る受信データ
3.2 アプリケーション処理担当クラスタメンバがプロトコル処理担当クラスタメンバへ送る送信データ
3.3 プロトコル処理担当クラスタメンバがアプリケーション処理担当クラスタメンバへ送る書込み通知
図27A、27Bは、本実施例における書込み処理の動作を示した流れ図である。同図を参照すると、書込み処理は、アプリケーションプログラム110が書込みAPI部152をコールすることで駆動される(ステップS2701)。
その他の処理は、大きく分けてセッション管理と死活監視がある。セッション開設は、基本的に実施例2の場合のシーケンスのうち、acceptおよびconnectの実行クラスタメンバが現用/予備の2台になるだけなので、詳細な説明は省略する。
本実施例の読込み処理は、次のような手順で実行しても良い。本実施例の説明ではプロトコルの予備処理担当クラスタメンバがデータを受信した場合、照合が終わると受信データを破棄するようになっていた。しかし、もし該当クラスタメンバがアプリケーション処理担当であれば、ここでデータを破棄せず、直接アプリケーションプログラムへ渡すほうが効率が良い。このため、予備処理担当クラスタメンバは、照合が成功した時にはデータを破棄せず、自身でもアプリケーションプログラムから与えられたハッシュ関数によってハッシュ値を計算し、もしアプリケーション処理担当が自クラスタメンバであれば、そのままアプリケーションプログラムにデータを受け渡すようにしても良い。この場合、現用クラスタメンバでは、ハッシュ値を計算し、アプリケーション処理担当クラスタメンバが、プロトコル処理担当の予備クラスタメンバと等しければ、受信データをリダイレクトせずに破棄して処理を終える。
本実施例によれば、トラフィックによる処理負荷を複数のクラスタメンバに分散させることでシステム全体の性能を高め、更に、トラフィックを冗長に処理することで信頼性を高めることができる。その理由は、アプリケーションプログラム110と読込み、書込みAPI部151、152との間に、読込みAPI呼出し捕捉部161、書込みAPI呼出し捕捉部162、制御部173、転送部174、アプリケーション処理振り分け及び複製照合部191、プロトコル処理振り分け及び複製書込み部192を備える構成を採用したからである。
次に、本発明の実施例4について詳細に説明する。本実施例は、現用系および予備系のクラスタメンバの内の一方のクラスタメンバにおいて送信処理に著しい遅れが発生した場合や、現用系および予備系のクラスタメンバの内の一方のクラスタメンバが対向装置から送られてきたパケットを受信できなかった場合においても、両系のクラスタメンバにおいて同一のプロトコル処理を行えるようにしたことを特徴とする。
(1)現用系/予備系の片系のみにパケットが到達し、他系には同一パケットが到達しない場合。あるいは、片系で上記パケットを何らかの不具合のために取りこぼした場合。
(2)現用系/予備系の片系の送信処理に著しい遅延が発生し、送達確認パケットの受信がパケット送信前に実行される場合。
の各場合に片系でプロトコル処理を継続できなくなる。
(1−a) 現用系にのみパケットが到達する。
(1−b) 予備系にのみパケットが到達する。
の2つの場合がある。
(2−a) 現用系で送信処理が遅れる。
(2−b) 予備系で送信処理が遅れる。
の2つの場合がある。
本実施例は、図31に示すようなブロードキャスト・ディスパッチ方式のクラスタシステムにおいて、クラスタメンバ13−1〜13−nの代わりに、図35に示すクラスタメンバ100cを用いることにより実現される。本実施例のクラスタシステムは、例えば、サーバ(サーバクラスタ)として機能する。
クラスタメンバ100cを予備系として動作させる場合、受信側振り分けフィルタ131cおよび送信側振り分けフィルタ132cは、それぞれ図36に示す受信側振り分けフィルタ1031および送信側振り分けフィルタ1032と同一構成となる。
クラスタメンバ100cを現用系として動作させる場合、送信側振り分けフィルタ132cの構成は、実施例1で使用した送信側振り分けフィルタ132と同一構成となり、受信側振り分けフィルタ131cの構成は、図37に示す受信側振り分けフィルタ1021と同一構成となる。
次に、本実施例の動作を現用系と予備系とに分けて説明する。なお、冗長化自体の動作は実施例1と同一であるため、ここでは、冗長化処理については説明を省略する。
先ず、予備系の動作を説明する。予備系における動作の流れを図38に示す。
次に現用系の動作を説明する。現用系における動作の流れを図39A、39B、39Cに示す。
(x−2)予備系受信履歴記憶部10214に、受信通知パケットに含まれている識別子が格納されており、且つ、受信パケットバッファ10213に上記識別子に対応するパケットが格納されていない状態。
(y−1)予備系受信履歴記憶部10214に、受信通知パケットに含まれている識別子が格納されておらず、且つ、受信パケットバッファ10213に、上記識別子に対応するパケット(パケットP1とする)と、パケットP1よりも受信順が前のパケットとが格納されており、受信順が前のパケットの中に予備系受信履歴記憶部10214には該当する識別子が格納されていないパケット(パケットP2とする)が存在する状態。
(y−2)予備系受信履歴記憶部10214に、受信通知パケットに含まれている識別子が格納されておらず、且つ、受信パケットバッファ10213に、上記識別子に対応するパケットP1と、パケットP1よりも受信順が前のパケットとが格納されており、受信順が前のパケットは、全て予備系受信履歴記憶部10214に該当する識別子が格納されている状態。
(z) 予備系受信履歴記憶部10214に、受信通知パケットに含まれている識別子が格納されておらず、且つ、受信パケットバッファ10213に、上記識別子に対応するパケット(パケットP3とする)が格納されていない状態。
以上説明したように、本実施例によれば、パケットの取りこぼしと送信遅延に起因するプロトコル状態ずれの継続を回避することができる。その理由は、予備系のクラスタメンバが、プロトコル処理部121、122、…、12kによるプロトコル処理が済んだ送信パケットを示す送信通知パケットを現用系のクラスタメンバへ送信する送信通知送信部10322を備え、現用系のクラスタメンバが、確認応答バッファ10216と、送信パケットの宛先の対向装置から上記送信パケットに対する確認応答パケットが送られてきたとき、予備系のクラスタメンバから上記送信パケットを示す送信通知パケットが送られてきていないことを条件にして、確認応答パケットを確認応答バッファ10216に格納し、予備系のクラスタメンバから、送信通知パケットが送られてきたとき、この送信通知パケットが示す送信パケットに対する確認応答パケットが確認応答バッファ10216に格納されていることを条件にして、上記確認応答パケットを予備系のクラスタメンバへ送信する受信パケット制御部10212とを備えているからである。
実施例1及び4では、現用系と予備系で、少なくとも同一の送信データが生成され、同一データを含むパケットの送信処理が実行されることを前提としていた。
図41は本実施例にかかるクラスタメンバの構成例を示すブロック図である。本実施例のクラスタメンバと、図35に示した実施例4のクラスタメンバ100cとの相違点は、複製部/書込み部172と書込みAPI部152との間に、書込み制御部1065と、送信バッファ監視部1066と、全量応答通知受信部1063と、書込み量通知部1064とを備えている点と、受信側振り分けフィルタ131c及び送信側振り分けフィルタ132cの代わりに受信側振り分けフィルタ1061及び送信側振り分けフィルタ1062を備えている点である。なお、図41では、読込みAPI呼出し捕捉部161、複製部/照合部171、読込みAPI部151、制御部173、及び転送部174は図示を省略している。また、図35と同一符号は、同一部分を表している。また、本実施例のクラスタメンバも、実施例4のクラスタメンバと同様にプログラムにより実現可能である。
本実施例の動作を図42A、42Bに示す。
Claims (62)
- 複数のクラスタメンバを備え、且つ、
前記複数のクラスタメンバが、それぞれ、
プロトコル処理を行うプロトコル処理部と、
呼出しの種類に応じて前記プロトコル処理部からデータを読込むか或いは前記プロトコル処理部にデータを書込む通信API部と、
自クラスタメンバ上で動作するアプリケーションプログラムからの前記通信API部に対する呼出しを捕捉して前記アプリケーションプログラムに代わって前記通信API部を呼出し、該呼出しに従って前記通信API部が前記プロトコル処理部から読込んだデータ或いは前記呼出しに従って前記通信API部が前記プロトコル処理部に書込むデータに対して前記呼出しの種類に応じた処理を行うと共に、他のクラスタメンバから送られてきたデータに対して、そのデータの種類に応じた処理を行う捕捉部とを備えたことを特徴とするクラスタシステム。 - 複数のクラスタメンバを備え、且つ、
前記複数のクラスタメンバの内の現用系として動作するクラスタメンバが、
プロトコル処理を行う現用系プロトコル処理部と、
読込み呼出しに応答して前記現用系プロトコル処理部からデータを読込み、書込み呼出しに応答して該書込み呼出しによって書込みが指示されているデータを前記現用系プロトコル処理部に書込む現用系通信API部と、
自クラスタメンバ上で動作するアプリケーションプログラムからの読込み呼出し或いは書込み呼出しを捕捉し、読込み呼出しを捕捉した場合には前記アプリケーションプログラムに代わって前記現用系通信API部に対して読込み呼出しを行い、該読込み呼出しに応答して前記現用系通信API部が前記現用系プロトコル処理部から読込んだデータを前記アプリケーションプログラムに渡し、書込み呼出しを捕捉した場合には前記アプリケーションプログラムに代わって前記現用系通信API部に対して書込み呼出しを行う現用系呼出し捕捉部と、
該現用系呼出し捕捉部が書込み呼出しを捕捉した場合、自クラスタメンバの予備系となるクラスタメンバに対して、書込みデータの複製データを転送する現用系転送部とを備え、
前記複数のクラスタメンバの内の予備系として動作するクラスタメンバが、
プロトコル処理を行う予備系プロトコル処理部と、
読込み呼出しに応答して前記予備系プロトコル処理部からデータを読み出し、書込み呼出しに応答して前記予備系プロトコル処理部にデータを書込む予備系通信API部と、
前記現用系転送部から複製データが転送されてきたとき、前記予備系通信API部に対して書込み呼出しを行い、前記複製データを前記予備系プロトコル処理部に書込ませる予備系書込み部と、
前記予備系プロトコル処理部によるプロトコル処理が済んだ受信データ及び送信データを破棄する破棄部とを備えたことを特徴とするクラスタシステム。 - 請求の範囲2記載のクラスタシステムにおいて、
前記現用系転送部が、前記現用系通信API部が前記現用系プロトコル処理部から読込んだ読込みデータの複製データを、自クラスタメンバの予備系となるクラスタメンバへ送信し、
前記予備系として動作するクラスタメンバが、前記現用系から送られてきた読込みデータの複製データと前記予備系プロトコル処理部を介して受信したデータとを照合し、照合結果を前記複製データの転送元のクラスタメンバに対して通知する予備系照合部を備え、且つ、
前記現用系呼出し捕捉部が、前記予備系照合部から通知された照合結果が不一致を示している場合は、前記現用系通信API部が前記現用系プロトコル処理部から読込んだデータを破棄することを特徴とするクラスタシステム。 - 請求の範囲3記載のクラスタシステムにおいて、
前記予備系書込み部が、前記予備系プロトコル処理部において前記書込みデータの複製データに対するプロトコル処理が正常終了したか否かを示す書込み結果を、前記複製データの転送元のクラスタメンバに対して通知し、
前記現用系呼出し捕捉部が、前記予備系書込み部から通知された書込み結果が異常終了を示している場合は、書込み呼出しにより書込みが指示されているデータを破棄することを特徴とするクラスタシステム。 - 請求の範囲2記載のクラスタシステムにおいて、
前記予備系のクラスタメンバが、
前記予備系プロトコル処理部によるプロトコル処理が済んだ送信パケットを示す送信通知を前記現用系のクラスタメンバへ送信する送信通知送信部を備え、
前記現用系のクラスタメンバが、
確認応答バッファと、
送信パケットの宛先の対向装置から前記送信パケットに対する確認応答が送られてきたとき、前記予備系のクラスタメンバから前記送信パケットを示す送信通知が送られてきていないことを条件にして、前記確認応答を前記確認応答バッファに格納し、前記予備系のクラスタメンバから送信通知が送られてきたとき、該送信通知が示す送信パケットに対する確認応答が前記確認応答バッファに格納されていることを条件にして、前記確認応答を前記予備系のクラスタメンバへ送信する受信パケット制御部とを備えたことを特徴とするクラスタシステム。 - 請求の範囲5記載のクラスタシステムにおいて、
前記送信通知が、前記予備系プロトコル処理部によるプロトコル処理が済んだ送信パケットのシーケンス番号を含み、
前記現用系のクラスタメンバが、
予備系送信履歴記憶部と、
前記予備系のクラスタメンバから送られてきた送信通知に含まれているシーケンス番号を前記予備系送信履歴記憶部に格納する送信通知受信部とを備え、
前記受信パケット制御部が、送信パケットの宛先の対向装置から前記送信パケットのシーケンス番号を含んだ確認応答が送られてきたとき、前記予備系通信履歴記憶部に前記シーケンス番号が格納されていないことを条件にして、前記確認応答を前記確認応答バッファに格納し、前記予備系送信履歴記憶部にシーケンス番号が登録されたとき、前記確認応答バッファに前記シーケンス番号に対応する確認応答が格納されていることを条件にして、前記確認応答を前記予備系のクラスタメンバへ送信することを特徴とするクラスタシステム。 - 請求の範囲2記載のクラスタシステムにおいて、
前記予備系のクラスタメンバが、
受信したパケットを示す受信通知を前記現用系のクラスタメンバへ送信する受信通知送信部を備え、
前記現用系のクラスタメンバが、
受信パケットバッファと、
パケットを受信したとき、前記予備系のクラスタメンバから前記パケットを示す受信通知が送られてきていないことを条件にして、前記パケットを前記受信パケットバッファに登録し、前記予備系のクラスタメンバから受信通知が送られてきたとき、前記受信パケットバッファに前記受信通知が示すパケットよりも以前に受信したパケットが登録されていることを条件にして前記以前に受信したパケットを前記予備系のクラスタメンバへ送信する受信パケット制御部とを備えたことを特徴とするクラスタシステム。 - 請求の範囲7記載のクラスタシステムにおいて、
前記受信通知が、受信したパケットの識別子を含み、
前記現用系のクラスタメンバが、
予備系受信履歴記憶部と、
前記予備系のクラスタメンバから送られてきた受信通知に含まれている識別子を前記予備系受信履歴記憶部に登録する受信通知受信部とを備え、
前記受信パケット制御部が、パケットを受信したとき、前記予備系受信履歴記憶部に前記パケットの識別子が格納されていないことを条件にして、前記パケットを前記受信パケットバッファに格納し、前記予備系受信履歴記憶部にパケットの識別子が格納されたとき、前記受信パケットバッファに前記受信通知が示すパケットよりも以前に受信したパケットが登録されていることを条件にして前記以前に受信したパケットを前記予備系のクラスタメンバへ送信することを特徴とするクラスタシステム。 - 請求の範囲5記載のクラスタシステムにおいて、
前記現用系のクラスタメンバ及び前記予備系のクラスタメンバが、
プロトコル処理の送信バッファを監視し、送信バッファが空になるまで次の書き込み処理を遅延させる構成を有することを特徴とするクラスタシステム。 - 複数のクラスタメンバを備え、且つ、
前記複数のクラスタメンバが、それぞれ、
プロトコル処理を行うプロトコル処理部と、
予め定められているプロトコル処理用振り分け規則に基づいて、受信パケットが自クラスタメンバで処理すべき受信パケットであると判断した場合、前記受信パケットを前記プロトコル処理部に渡す受信側振り分けフィルタと、
読込み呼出しに応答して前記プロトコル処理部からデータを読込み、書込み呼出しに応答して該書込み呼出しによって書込みが指示されているデータを前記プロトコル処理部に書込む通信API部と、
自クラスタメンバ上で動作するアプリケーションプログラムからの読込み呼出し或いは書込み呼出しを捕捉し、読込み呼出しを捕捉した場合には前記アプリケーションプログラムに代わって前記通信API部に対して読込み呼出しを行い、該読込み呼出しに応答して前記通信API部が前記プロトコル処理部から読込んだデータが、他のクラスタメンバから送られてきた受信データである場合には、該受信データを前記アプリケーションプログラムに渡し、他のクラスタメンバから送られてきた送信データである場合には、該送信データを前記プロトコル処理部に渡し、それ以外である場合には、前記データをアプリケーション処理振り分け部に渡し、書込み呼出しを捕捉した場合は、該捕捉した書込み呼出しによって書込みが指示されている送信データをプロトコル処理振り分け部に渡す呼出し捕捉部と、
該呼出し捕捉部から渡されたデータに対するアプリケーション処理を担当するクラスタメンバを、予め定められているアプリケーション処理用振り分け規則に従って決定し、該決定したクラスタメンバが自クラスタメンバである場合には、自クラスタメンバ上のアプリケーションプログラムに前記データを渡し、前記決定したクラスタメンバが他のクラスタメンバである場合には、前記データを転送部に渡すアプリケーション処理振り分け部と、
前記呼出し捕捉部から渡されたデータに対するプロトコル処理を担当するクラスタメンバを、予め定められているプロトコル処理用振り分け規則に従って決定し、該決定したクラスタメンバが自クラスタメンバである場合には自クラスタメンバ上のプロトコル処理部に前記データを渡し、前記決定したクラスタメンバが他のクラスタメンバである場合には、前記データを転送部に渡すプロトコル処理振り分け部と、
前記アプリケーション処理振り分け部及びプロトコル処理振り分け部から渡されたデータを該当するクラスタメンバへ転送する転送部とを備えたことを特徴とするクラスタシステム。 - 請求の範囲10記載のクラスタシステムにおいて、
前記アプリケーション処理用振り分け規則が、アプリケーションデータに対するハッシュ値に基づいて振り分け先を決定し、
前記プロトコル処理用振り分け規則が、パケットのヘッダを構成するパラメータから計算されるハッシュ値に基づいて振り分け先を決定するものであることを特徴とするクラスタシステム。 - 複数のクラスタメンバを備え、全クラスタメンバに同報されたトラフィックから、自身の担当部分を各クラスタメンバが拾得し、それ以外は破棄することによりトラフィックを振り分けるクラスタシステムであって、
(a)各クラスタメンバの受信インタフェースとプロトコル処理部との間に、パケットの所定部分から整数値を計算する計算規則と自身に割り当てられた整数値とを保持する受信側振り分けフィルタを備え、
前記受信側振り分けフィルタでは、パケットごとに前記計算規則により整数値を計算し、計算結果が前記自身に割り当てられた整数値と等しい場合のみ、プロトコル処理部の受信処理に該パケットを受け渡し、
さらに、前記受信側振り分けフィルタに、現用系と予備系で同一数値を割り当て、
さらに、計算規則により得られる計算結果の整数値の集合を各クラスタメンバですきまなく分担するように整数値を割り当てることで、トラフィックの振り分けとプロトコルの冗長処理を可能とし、
(b)さらに、各クラスタメンバのプロトコル処理部とアプリケーションプログラムとの間に、受信パケットが含むアプリケーションデータから整数値を計算する計算規則と、各クラスタメンバに割り当てられた整数値の一覧による振り分け規則とを保持する振り分け・冗長処理部を備え、
前記振り分け・冗長処理部では、前記振り分け規則に従って受信データから計算した整数値を割り当てられたクラスタメンバに該当データを転送し、転送先クラスタメンバのアプリケーションプログラムが読み込み処理を実行したときに該当データの読み込み処理を実行させ、
さらに、前記振り分け・冗長処理部は、アプリケーションプログラムが書き込んだデータに対して、その送信処理に利用されるヘッダ情報から、受信側振り分けフィルタと同一の規則にて整数値を計算する計算規則と、各クラスタメンバに割り当てられた整数値の一覧とを保持し、アプリケーションプログラムが書き込んだデータに対して、前記計算規則に従って整数値を計算し、該当整数値を割り当てられた複数のクラスタメンバに対して書き込みデータを転送することで、アプリケーション処理と冗長化されたプロトコル処理メンバの割り当てを独立に制御可能とし、
(c)さらに、各クラスタメンバの送信側インタフェースとプロトコル処理部との間に、予備メンバとして処理されたパケットを破棄する送信側パケットフィルタとを備えることを特徴とするクラスタシステム。 - 複数のクラスタメンバを備え、且つ、
前記複数のクラスタメンバが、それぞれ、
プロトコル処理を行うプロトコル処理部と、
呼出しの種類に応じて前記プロトコル処理部からデータを読込むか或いは前記プロトコル処理部にデータを書込む通信API部と、
自クラスタメンバ上で動作するアプリケーションプログラムからの前記通信API部に対する呼出しを捕捉して前記アプリケーションプログラムに代わって前記通信API部を呼出し、該呼出しに従って前記通信API部が前記プロトコル処理部から読込んだデータ或いは前記呼出しに従って前記通信API部が前記プロトコル処理部に書込むデータに対して前記呼出しの種類に応じた処理を行うと共に、他のクラスタメンバから送られてきたデータに対して、そのデータの種類に応じた処理を行う捕捉部とを備えたことを特徴とするサーバクラスタ。 - 複数のクラスタメンバを備え、且つ、
前記複数のクラスタメンバの内の現用系として動作するクラスタメンバが、
プロトコル処理を行う現用系プロトコル処理部と、
読込み呼出しに応答して前記現用系プロトコル処理部からデータを読込み、書込み呼出しに応答して該書込み呼出しによって書込みが指示されているデータを前記現用系プロトコル処理部に書込む現用系通信API部と、
自クラスタメンバ上で動作するアプリケーションプログラムからの読込み呼出し或いは書込み呼出しを捕捉し、読込み呼出しを捕捉した場合には前記アプリケーションプログラムに代わって前記現用系通信API部に対して読込み呼出しを行い、該読込み呼出しに応答して前記現用系通信API部が前記現用系プロトコル処理部から読込んだデータを前記アプリケーションプログラムに渡し、書込み呼出しを捕捉した場合には前記アプリケーションプログラムに代わって前記現用系通信API部に対して書込み呼出しを行う現用系呼出し捕捉部と、
該現用系呼出し捕捉部が書込み呼出しを捕捉した場合、自クラスタメンバの予備系となるクラスタメンバに対して、書込みデータの複製データを転送する現用系転送部とを備え、
前記複数のクラスタメンバの内の、予備系として動作するクラスタメンバが、
プロトコル処理を行う予備系プロトコル処理部と、
読込み呼出しに応答して前記予備系プロトコル処理部からデータを読み出し、書込み呼出しに応答して前記予備系プロトコル処理部にデータを書込む予備系通信API部と、
前記現用系転送部から複製データが転送されてきたとき、前記予備系通信API部に対して書込み呼出しを行い、前記複製データを前記予備系プロトコル処理部に書込ませる予備系書込み部と、
前記予備系プロトコル処理部によるプロトコル処理が済んだ受信データ及び送信データを破棄する破棄部とを備えたことを特徴とするサーバクラスタ。 - 請求の範囲14記載のサーバクラスタにおいて、
前記現用系転送部が、前記現用系通信API部が前記現用系プロトコル処理部から読込んだ読込みデータの複製データを、自クラスタメンバの予備系となるクラスタメンバへ送信し、
前記予備系として動作するクラスタメンバが、前記現用系から送られてきた読込みデータの複製データと前記予備系プロトコル処理部を介して受信したデータとを照合し、照合結果を前記複製データの転送元のクラスタメンバに対して通知する予備系照合部を備え、且つ、
前記現用系呼出し捕捉部が、前記予備系照合部から通知された照合結果が不一致を示している場合は、前記現用系通信API部が前記現用系プロトコル処理部から読込んだデータを破棄することを特徴とするサーバクラスタ。 - 請求の範囲15記載のサーバクラスタにおいて、
前記予備系書込み部が、前記予備系プロトコル処理部において前記書込みデータの複製データに対するプロトコル処理が正常終了したか否かを示す書込み結果を、前記複製データの転送元のクラスタメンバに対して通知し、
前記現用系呼出し捕捉部が、前記予備系書込み部から通知された書込み結果が異常終了を示している場合は、書込み呼出しにより書込みが指示されているデータを破棄することを特徴とするサーバクラスタ。 - 請求の範囲14記載のサーバクラスタにおいて、
前記予備系のクラスタメンバが、
前記予備系プロトコル処理部によるプロトコル処理が済んだ送信パケットを示す送信通知を前記現用系のクラスタメンバへ送信する送信通知送信部を備え、
前記現用系のクラスタメンバが、
確認応答バッファと、
送信パケットの宛先の対向装置から前記送信パケットに対する確認応答が送られてきたとき、前記予備系のクラスタメンバから前記送信パケットを示す送信通知が送られてきていないことを条件にして、前記確認応答を前記確認応答バッファに格納し、前記予備系のクラスタメンバから送信通知が送られてきたとき、該送信通知が示す送信パケットに対する確認応答が前記確認応答バッファに格納されていることを条件にして、前記確認応答を前記予備系のクラスタメンバへ送信する受信パケット制御部とを備えたことを特徴とするサーバクラスタ。 - 請求の範囲17記載のサーバクラスタにおいて、
前記送信通知が、前記予備系プロトコル処理部によるプロトコル処理が済んだ送信パケットのシーケンス番号を含み、
前記現用系のクラスタメンバが、
予備系送信履歴記憶部と、
前記予備系のクラスタメンバから送られてきた送信通知に含まれているシーケンス番号を前記予備系送信履歴記憶部に格納する送信通知受信部とを備え、
前記受信パケット制御部が、送信パケットの宛先の対向装置から前記送信パケットのシーケンス番号を含んだ確認応答が送られてきたとき、前記予備系通信履歴記憶部に前記シーケンス番号が格納されていないことを条件にして、前記確認応答を前記確認応答バッファに格納し、前記予備系送信履歴記憶部にシーケンス番号が登録されたとき、前記確認応答バッファに前記シーケンス番号に対応する確認応答が格納されていることを条件にして、前記確認応答を前記予備系のクラスタメンバへ送信することを特徴とするサーバクラスタ。 - 請求の範囲14記載のサーバクラスタにおいて、
前記予備系のクラスタメンバが、
受信したパケットを示す受信通知を前記現用系のクラスタメンバへ送信する受信通知送信部を備え、
前記現用系のクラスタメンバが、
受信パケットバッファと、
パケットを受信したとき、前記予備系のクラスタメンバから前記パケットを示す受信通知が送られてきていないことを条件にして、前記パケットを前記受信パケットバッファに登録し、前記予備系のクラスタメンバから受信通知が送られてきたとき、前記受信パケットバッファに前記受信通知が示すパケットよりも以前に受信したパケットが登録されていることを条件にして前記以前に受信したパケットを前記予備系のクラスタメンバへ送信する受信パケット制御部とを備えたことを特徴とするサーバクラスタ。 - 請求の範囲19記載のサーバクラスタにおいて、
前記受信通知が、受信したパケットの識別子を含み、
前記現用系のクラスタメンバが、
予備系受信履歴記憶部と、
前記予備系のクラスタメンバから送られてきた受信通知に含まれている識別子を前記予備系受信履歴記憶部に登録する受信通知受信部とを備え、
前記受信パケット制御部が、パケットを受信したとき、前記予備系受信履歴記憶部に前記パケットの識別子が格納されていないことを条件にして、前記パケットを前記受信パケットバッファに格納し、前記予備系受信履歴記憶部にパケットの識別子が格納されたとき、前記受信パケットバッファに前記受信通知が示すパケットよりも以前に受信したパケットが登録されていることを条件にして前記以前に受信したパケットを前記予備系のクラスタメンバへ送信することを特徴とするサーバクラスタ。 - 請求の範囲17記載のサーバクラスタにおいて、
前記現用系のクラスタメンバ及び前記予備系のクラスタメンバが、
プロトコル処理の送信バッファを監視し、送信バッファが空になるまで次の書き込み処理を遅延させる構成を有することを特徴とするサーバクラスタ。 - 複数のクラスタメンバを備え、且つ、
前記複数のクラスタメンバが、それぞれ、
プロトコル処理を行うプロトコル処理部と、
予め定められているプロトコル処理用振り分け規則に基づいて、受信パケットが自クラスタメンバで処理すべき受信パケットであると判断した場合、前記受信パケットを前記プロトコル処理部に渡す受信側振り分けフィルタと、
読込み呼出しに応答して前記プロトコル処理部からデータを読込み、書込み呼出しに応答して該書込み呼出しによって書込みが指示されているデータを前記プロトコル処理部に書込む通信API部と、
自クラスタメンバ上で動作するアプリケーションプログラムからの読込み呼出し或いは書込み呼出しを捕捉し、読込み呼出しを捕捉した場合には前記アプリケーションプログラムに代わって前記通信API部に対して読込み呼出しを行い、該読込み呼出しに応答して前記通信API部が前記プロトコル処理部から読込んだデータが、他のクラスタメンバから送られてきた受信データである場合には、該受信データを前記アプリケーションプログラムに渡し、他のクラスタメンバから送られてきた送信データである場合には、該送信データを前記プロトコル処理部に渡し、それ以外である場合には、前記データをアプリケーション処理振り分け部に渡し、書込み呼出しを捕捉した場合は、該捕捉した書込み呼出しによって書込みが指示されている送信データをプロトコル処理振り分け部に渡す呼出し捕捉部と、
該呼出し捕捉部から渡されたデータに対するアプリケーション処理を担当するクラスタメンバを、予め定められているアプリケーション処理用振り分け規則に従って決定し、該決定したクラスタメンバが自クラスタメンバである場合には、自クラスタメンバ上のアプリケーションプログラムに前記データを渡し、前記決定したクラスタメンバが他のクラスタメンバである場合には、前記データを転送部に渡すアプリケーション処理振り分け部と、
前記呼出し捕捉部から渡されたデータに対するプロトコル処理を担当するクラスタメンバを、予め定められているプロトコル処理用振り分け規則に従って決定し、該決定したクラスタメンバが自クラスタメンバである場合には自クラスタメンバ上のプロトコル処理部に前記データを渡し、前記決定したクラスタメンバが他のクラスタメンバである場合には、前記データを転送部に渡すプロトコル処理振り分け部と、
前記アプリケーション処理振り分け部及びプロトコル処理振り分け部から渡されたデータを該当するクラスタメンバへ転送する転送部とを備えたことを特徴とするサーバクラスタ。 - 請求の範囲22記載のサーバクラスタにおいて、
前記アプリケーション処理用振り分け規則が、アプリケーションデータに対するハッシュ値に基づいて振り分け先を決定し、
前記プロトコル処理用振り分け規則が、パケットのヘッダを構成するパラメータから計算されるハッシュ値に基づいて振り分け先を決定するものであることを特徴とするサーバクラスタ。 - 複数のクラスタメンバを備え、全クラスタメンバに同報されたトラフィックから、自身の担当部分を各メンバが拾得し、それ以外は破棄することによりトラフィックを振り分けるサーバクラスタであって、
各クラスタメンバの送受信インタフェースとプロトコル処理部の間に、パケットの所定部分から整数値を計算する計算規則と自身に割り当てられた整数値とを保持する送信側振り分けフィルタおよび受信側振り分けフィルタを備え、
前記受信側振り分けフィルタでは、パケットごとに前記計算規則により整数値を計算し、計算結果が前記自身に割り当てられた整数値と等しい場合のみ、プロトコル処理部の受信処理に該パケットを受け渡し、
前記送信側振り分けフィルタでは、プロトコル処理部から受け渡された送信パケットごとに、前記計算規則により整数値を計算し、計算結果が前記自身に割り当てられた整数値と等しい場合のみ、パケットを送信インタフェースから送出し、
さらに、前記受信側振り分けフィルタに、現用系と予備系で同一数値を割り当て、前記送信側振り分けフィルタに、現用系のみで上記数値を割り当てることで冗長処理を可能とし、
さらに、計算規則により得られる計算結果の整数値の集合を各クラスタメンバですきまなく分担するように整数値を割り当てることで、トラフィックの振り分けと冗長処理を可能とすることを特徴とするサーバクラスタ。 - プロトコル処理を行うプロトコル処理部と、
呼出しの種類に応じて前記プロトコル処理部からデータを読込むか或いは前記プロトコル処理部にデータを書込む通信API部と、
自クラスタメンバ上で動作するアプリケーションプログラムからの前記通信API部に対する呼出しを捕捉して前記アプリケーションプログラムに代わって前記通信API部を呼出し、該呼出しに従って前記通信API部が前記プロトコル処理部から読込んだデータ或いは前記呼出しに従って前記通信API部が前記プロトコル処理部に書込むデータに対して前記呼出しの種類に応じた処理を行うと共に、他のクラスタメンバから送られてきたデータに対して、そのデータの種類に応じた処理を行う捕捉部とを備えたことを特徴とするクラスタメンバ。 - プロトコル処理を行う現用系プロトコル処理部と、
読込み呼出しに応答して前記現用系プロトコル処理部からデータを読込み、書込み呼出しに応答して該書込み呼出しによって書込みが指示されているデータを前記現用系プロトコル処理部に書込む現用系通信API部と、
自クラスタメンバ上で動作するアプリケーションプログラムからの読込み呼出し或いは書込み呼出しを捕捉し、読込み呼出しを捕捉した場合には前記アプリケーションプログラムに代わって前記現用系通信API部に対して読込み呼出しを行い、該読込み呼出しに応答して前記現用系通信API部が前記現用系プロトコル処理部から読込んだデータを前記アプリケーションプログラムに渡し、書込み呼出しを捕捉した場合には前記アプリケーションプログラムに代わって前記現用系通信API部に対して書込み呼出しを行う現用系呼出し捕捉部と、
該現用系呼出し捕捉部が書込み呼出しを捕捉した場合、自クラスタメンバの予備系となるクラスタメンバに対して、書込みデータの複製データを転送する現用系転送部とを備えたことを特徴とするクラスタメンバ。 - 請求の範囲26記載のクラスタメンバにおいて、
前記現用系転送部が、前記現用系通信API部が前記現用系プロトコル処理部から読込んだ読込みデータの複製データを、自クラスタメンバの予備系となるクラスタメンバへ送信し、前記現用系呼出し捕捉部が、予備系照合部から通知された照合結果が不一致を示している場合は、前記現用系通信API部が前記現用系プロトコル処理部から読込んだデータを破棄することを特徴とするクラスタメンバ。 - 請求の範囲27記載のクラスタメンバにおいて、
前記現用系呼出し捕捉部が、予備系書込み部から通知された書込み結果が異常終了を示している場合は、書込み呼出しにより書込みが指示されているデータを破棄することを特徴とするクラスタメンバ。 - 請求の範囲26記載のクラスタメンバにおいて、
確認応答バッファと、
送信パケットの宛先の対向装置から前記送信パケットに対する確認応答が送られてきたとき、前記予備系のクラスタメンバから前記送信パケットを示す送信通知が送られてきていないことを条件にして、前記確認応答を前記確認応答バッファに格納し、前記予備系のクラスタメンバから送信通知が送られてきたとき、該送信通知が示す送信パケットに対する確認応答が前記確認応答バッファに格納されていることを条件にして、前記確認応答を前記予備系のクラスタメンバへ送信する受信パケット制御部とを備えたことを特徴とするクラスタメンバ。 - 請求の範囲26記載のクラスタメンバにおいて、
予備系送信履歴記憶部と、
確認応答バッファと、
前記予備系のクラスタメンバから送られてきた送信通知に含まれているシーケンス番号を前記予備系送信履歴記憶部に格納する送信通知受信部と、
送信パケットの宛先の対向装置から前記送信パケットのシーケンス番号を含んだ確認応答が送られてきたとき、前記予備系通信履歴記憶部に前記シーケンス番号が格納されていないことを条件にして、前記確認応答を前記確認応答バッファに格納し、前記予備系送信履歴記憶部にシーケンス番号が登録されたとき、前記確認応答バッファに前記シーケンス番号に対応する確認応答が格納されていることを条件にして、前記確認応答を前記予備系のクラスタメンバへ送信する受信パケット制御部とを備えたことを特徴とするクラスタメンバ。 - 請求の範囲26記載のクラスタメンバにおいて、
受信パケットバッファと、
パケットを受信したとき、前記予備系のクラスタメンバから前記パケットを示す受信通知が送られてきていないことを条件にして、前記パケットを前記受信パケットバッファに登録し、前記予備系のクラスタメンバから受信通知が送られてきたとき、前記受信パケットバッファに前記受信通知が示すパケットよりも以前に受信したパケットが登録されていることを条件にして前記以前に受信したパケットを前記予備系のクラスタメンバへ送信する受信パケット制御部とを備えたことを特徴とするクラスタメンバ。 - 請求の範囲26記載のクラスタメンバにおいて、
予備系受信履歴記憶部と、
受信パケットバッファと、
前記予備系のクラスタメンバから送られてきた受信通知に含まれている識別子を前記予備系受信履歴記憶部に登録する受信通知受信部と、
パケットを受信したとき、前記予備系受信履歴記憶部に前記パケットの識別子が格納されていないことを条件にして、前記パケットを前記受信パケットバッファに格納し、前記予備系受信履歴記憶部にパケットの識別子が格納されたとき、前記受信パケットバッファに前記受信通知が示すパケットよりも以前に受信したパケットが登録されていることを条件にして前記以前に受信したパケットを前記予備系のクラスタメンバへ送信する受信パケット制御部とを備えたことを特徴とするクラスタメンバ。 - 請求の範囲29記載のクラスタメンバにおいて、
プロトコル処理の送信バッファを監視し、送信バッファが空になるまで次の書き込み処理を遅延させる構成を有することを特徴とするクラスタメンバ。 - プロトコル処理を行う予備系プロトコル処理部と、
読込み呼出しに応答して前記予備系プロトコル処理部からデータを読込み、書込み呼出しに応答して前記予備系プロトコル処理部にデータを書込む予備系通信API部と、
現用系のクラスタメンバから複製データが転送されてきたとき、前記予備系通信API部に対して書込み呼出しを行い、前記複製データを前記予備系プロトコル処理部に書込ませる予備系書込み部と、
前記予備系プロトコル処理部によるプロトコル処理が済んだ受信データ及び送信データを破棄する破棄部とを備えたことを特徴とするクラスタメンバ。 - 請求の範囲34記載のクラスタメンバにおいて、
現用系のクラスタメンバから送られてきた読込みデータの複製データと前記予備系プロトコル処理部を介して受信したデータとを照合し、照合結果を前記複製データの転送元のクラスタメンバに対して通知する予備系照合部を備えたことを特徴とするクラスタメンバ。 - 請求の範囲35記載のクラスタメンバにおいて、
前記予備系書込み部が、前記予備系プロトコル処理部において前記書込みデータの複製データに対するプロトコル処理が正常終了したか否かを示す書込み結果を、前記複製データの転送元のクラスタメンバに対して通知することを特徴とするクラスタメンバ。 - 請求の範囲34記載のクラスタメンバにおいて、
前記予備系プロトコル処理部によるプロトコル処理が済んだ送信パケットを示す送信通知を前記現用系のクラスタメンバへ送信する送信通知送信部を備えたことを特徴とするクラスタメンバ。 - 請求の範囲34記載のクラスタメンバにおいて、
受信したパケットを示す受信通知を前記現用系のクラスタメンバへ送信する受信通知送信部を備えたことを特徴とするクラスタメンバ。 - 請求の範囲37記載のクラスタメンバにおいて、
前記予備系のクラスタメンバが、
プロトコル処理の送信バッファを監視し、送信バッファが空になるまで次の書き込み処理を遅延させる構成を有することを特徴とするクラスタメンバ。 - プロトコル処理を行うプロトコル処理部と、
予め定められているプロトコル処理用振り分け規則に基づいて、受信パケットが自クラスタメンバで処理すべき受信パケットであると判断した場合、前記受信パケットを前記プロトコル処理部に渡す受信側振り分けフィルタと、
読込み呼出しに応答して前記プロトコル処理部からデータを読込み、書込み呼出しに応答して該書込み呼出しによって書込みが指示されているデータを前記プロトコル処理部に書込む通信API部と、
自クラスタメンバ上で動作するアプリケーションプログラムからの読込み呼出し或いは書込み呼出しを捕捉し、読込み呼出しを捕捉した場合には前記アプリケーションプログラムに代わって前記通信API部に対して読込み呼出しを行い、該読込み呼出しに応答して前記通信API部が前記プロトコル処理部から読込んだデータが、他のクラスタメンバから送られてきた受信データである場合には、該受信データを前記アプリケーションプログラムに渡し、他のクラスタメンバから送られてきた送信データである場合には、該送信データを前記プロトコル処理部に渡し、それ以外である場合には、前記データをアプリケーション処理振り分け部に渡し、書込み呼出しを捕捉した場合は、該捕捉した書込み呼出しによって書込みが指示されている送信データをプロトコル処理振り分け部に渡す呼出し捕捉部と、
該呼出し捕捉部から渡されたデータに対するアプリケーション処理を担当するクラスタメンバを、予め定められているアプリケーション処理用振り分け規則に従って決定し、該決定したクラスタメンバが自クラスタメンバである場合には、自クラスタメンバ上のアプリケーションプログラムに前記データを渡し、前記決定したクラスタメンバが他のクラスタメンバである場合には、前記データを転送部に渡すアプリケーション処理振り分け部と、
前記呼出し捕捉部から渡されたデータに対するプロトコル処理を担当するクラスタメンバを、予め定められているプロトコル処理用振り分け規則に従って決定し、該決定したクラスタメンバが自クラスタメンバである場合には自クラスタメンバ上のプロトコル処理部に前記データを渡し、前記決定したクラスタメンバが他のクラスタメンバである場合には、前記データを転送部に渡すプロトコル処理振り分け部と、
前記アプリケーション処理振り分け部及びプロトコル処理振り分け部から渡されたデータを該当するクラスタメンバへ転送する転送部とを備えたことを特徴とするクラスタメンバ。 - 請求の範囲40記載のクラスタメンバにおいて、
前記アプリケーション処理用振り分け規則が、アプリケーションデータに対するハッシュ値に基づいて振り分け先を決定し、
前記プロトコル処理用振り分け規則が、パケットのヘッダを構成するパラメータから計算されるハッシュ値に基づいて振り分け先を決定するものであることを特徴とするクラスタメンバ。 - 送受信インタフェースとプロトコル処理部の間に、パケットの所定部分から整数値を計算する計算規則と自身に割り当てられた整数値とを保持する送信側振り分けフィルタおよび受信側振り分けフィルタを備え、
前記受信側振り分けフィルタでは、パケットごとに前記計算規則により整数値を計算し、計算結果が前記自身に割り当てられた整数値と等しい場合のみ、プロトコル処理部の受
信処理に該パケットを受け渡し、
前記送信側振り分けフィルタでは、プロトコル処理部から受け渡された送信パケットごとに、前記計算規則により整数値を計算し、計算結果が前記自身に割り当てられた整数値と等しい場合のみ、パケットを送信インタフェースから送出し、
さらに、前記受信側振り分けフィルタに、現用系と予備系で同一数値を割り当て、前記送信側振り分けフィルタに、現用系のみで上記数値を割り当てることで冗長処理を可能とし、
さらに、計算規則により得られる計算結果の整数値の集合を各クラスタメンバですきまなく分担するように整数値を割り当てることで、トラフィックの振り分けと冗長処理を可能とすることを特徴とするクラスタメンバ。 - 現用系として動作する現用系クラスタメンバが、自クラスタメンバ上で動作するアプリケーションプログラムからの読込み呼出し或いは書込み呼出しを捕捉し、読込み呼出しを捕捉した場合には前記アプリケーションプログラムに代わって現用系通信API部に対して読込み呼出しを行い、該読込み呼出しに応答して前記現用系通信API部が現用系プロトコル処理部から読込んだデータを前記アプリケーションプログラムに渡し、書込み呼出しを捕捉した場合には前記アプリケーションプログラムに代わって前記現用系通信API部に対して書込み呼出しを行う現用系呼出し捕捉ステップと、
前記現用系クラスタメンバが、前記現用系呼出し捕捉ステップで書込み呼出しを捕捉した場合、自クラスタメンバの予備系となるクラスタメンバに対して、書込みデータの複製データを転送する現用系転送ステップと、
予備系として動作する予備系クラスタメンバが、前記現用系クラスタメンバから複製データが転送されてきたとき、予備系通信API部に対して書込み呼出しを行い、前記複製データを予備系プロトコル処理部に書込ませる予備系書込みステップと、
前記予備系クラスタメンバが、前記予備系プロトコル処理部によるプロトコル処理が済んだ受信データ及び送信データを破棄する破棄ステップとを含むことを特徴とするクラスタメンバの冗長化方法。 - 請求の範囲43記載のクラスタメンバの冗長化方法において、
前記予備系クラスタメンバが、前記予備系プロトコル処理部によるプロトコル処理が済んだ送信パケットを示す送信通知を前記現用系のクラスタメンバへ送信する送信通知送信ステップと、
前記現用系クラスタメンバが、送信パケットの宛先の対向装置から前記送信パケットに対する確認応答が送られてきたとき、前記予備系クラスタメンバから前記送信パケットを示す送信通知が送られてきていないことを条件にして、前記確認応答を確認応答バッファに格納し、前記予備系クラスタメンバから送信通知が送られてきたとき、該送信通知が示す送信パケットに対する確認応答が前記確認応答バッファに格納されていることを条件にして、前記確認応答を前記予備系クラスタメンバへ送信する受信パケット制御ステップとを含むことを特徴とするクラスタメンバの冗長化方法。 - 請求の範囲43記載のクラスタメンバの冗長化方法において、
前記予備系クラスタメンバが、受信したパケットを示す受信通知を前記現用系のクラスタメンバへ送信する受信通知送信ステップと、
前記現用系クラスタメンバが、パケットを受信したとき、前記予備系クラスタメンバから前記パケットを示す受信通知が送られてきていないことを条件にして、前記パケットを受信パケットバッファに登録し、前記予備系クラスタメンバから受信通知が送られてきたとき、前記受信パケットバッファに前記受信通知が示すパケットよりも以前に受信したパケットが登録されていることを条件にして前記以前に受信したパケットを前記予備系のクラスタメンバへ送信する受信パケット制御ステップとを含むことを特徴とするクラスタメンバの冗長化方法。 - 請求の範囲44記載のクラスタメンバの冗長化方法において、
前記現用系のクラスタメンバが、プロトコル処理の送信バッファを監視し、送信バッファが空になるまで次の書き込み処理を遅延させる現用系側遅延ステップと、
前記予備系のクラスタメンバが、プロトコル処理の送信バッファを監視し、送信バッファが空になるまで次の書き込み処理を遅延させる予備系側遅延ステップとを含むことを特徴とするクラスタメンバの冗長化方法。 - クラスタメンバが、予め定められているプロトコル処理用振り分け規則に基づいて、受信パケットが自クラスタメンバで処理すべき受信パケットであると判断した場合、前記受信パケットをプロトコル処理部に渡す受信側振り分けステップと、
前記クラスタメンバが、自クラスタメンバ上で動作するアプリケーションプログラムからの読込み呼出し或いは書込み呼出しを捕捉し、読込み呼出しを捕捉した場合には前記アプリケーションプログラムに代わって通信API部に対して読込み呼出しを行い、該読込み呼出しに応答して前記通信API部がプロトコル処理部から読込んだデータが、他のクラスタメンバから送られてきた受信データである場合には、該受信データを前記アプリケーションプログラムに渡し、他のクラスタメンバから送られてきた送信データである場合には、該送信データを前記プロトコル処理部に渡し、それ以外である場合には、前記データをアプリケーション処理振り分けステップに渡し、書込み呼出しを捕捉した場合は、該捕捉した書込み呼出しによって書込みが指示されている送信データをプロトコル処理振り分けステップに渡す呼出し捕捉ステップと、
前記クラスタメンバが、呼出し捕捉ステップから渡されたデータに対するアプリケーション処理を担当するクラスタメンバを、予め定められているアプリケーション処理用振り分け規則に従って決定し、該決定したクラスタメンバが自クラスタメンバである場合には、自クラスタメンバ上のアプリケーションプログラムに前記データを渡し、前記決定したクラスタメンバが他のクラスタメンバである場合には、前記データを転送ステップに渡すアプリケーション処理振り分けステップと、
前記クラスタメンバが、前記呼出し捕捉ステップから渡されたデータに対するプロトコル処理を担当するクラスタメンバを、予め定められているプロトコル処理用振り分け規則に従って決定し、該決定したクラスタメンバが自クラスタメンバである場合には自クラスタメンバ上のプロトコル処理部に前記データを渡し、前記決定したクラスタメンバが他のクラスタメンバである場合には、前記データを転送ステップに渡すプロトコル処理振り分けステップと、
前記アプリケーション処理振り分けステップ及びプロトコル処理振り分けステップから渡されたデータを該当するクラスタメンバへ転送する転送ステップとを含むことを特徴とする負荷分散方法。 - 複数のクラスタメンバを備え、全クラスタメンバに同報されたトラフィックから、自身の担当部分を各メンバが拾得し、それ以外は破棄することによりトラフィックを振り分けるクラスタシステムにおける冗長化負荷分散方法であって、
各クラスタメンバの送受信インタフェースとプロトコル処理部の間に、パケットの所定部分から整数値を計算する計算規則と自身に割り当てられた整数値とを保持する送信側振り分けフィルタおよび受信側振り分けフィルタが設けられ、
前記受信側振り分けフィルタでは、パケットごとに前記計算規則により整数値を計算し、計算結果が前記自身に割り当てられた整数値と等しい場合のみ、プロトコル処理部の受信処理に該パケットを受け渡し、
前記送信側振り分けフィルタでは、プロトコル処理部から受け渡された送信パケットごとに、前記計算規則により整数値を計算し、計算結果が前記自身に割り当てられた整数値と等しい場合のみ、パケットを送信インタフェースから送出し、
さらに、前記受信側振り分けフィルタに、現用系と予備系で同一数値を割り当て、前記送信側振り分けフィルタに、現用系のみで上記数値を割り当てることで冗長処理を可能とし、
さらに、計算規則により得られる計算結果の整数値の集合を各クラスタメンバですきまなく分担するように整数値を割り当てることで、トラフィックの振り分けと冗長処理を可能とすることを特徴とする冗長化負荷分散方法。 - コンピュータを、
プロトコル処理を行うプロトコル処理部、
呼出しの種類に応じて前記プロトコル処理部からデータを読込むか或いは前記プロトコル処理部にデータを書込む通信API部、
自クラスタメンバ上で動作するアプリケーションプログラムからの前記通信API部に対する呼出しを捕捉して前記アプリケーションプログラムに代わって前記通信API部を呼出し、該呼出しに従って前記通信API部が前記プロトコル処理部から読込んだデータ或いは前記呼出しに従って前記通信API部が前記プロトコル処理部に書込むデータに対して前記呼出しの種類に応じた処理を行うと共に、他のクラスタメンバから送られてきたデータに対して、そのデータの種類に応じた処理を行う捕捉部として機能させるためのプログラム。 - コンピュータを、
プロトコル処理を行う現用系プロトコル処理部、
読込み呼出しに応答して前記現用系プロトコル処理部からデータを読込み、書込み呼出しに応答して該書込み呼出しによって書込みが指示されているデータを前記現用系プロトコル処理部に書込む現用系通信API部、
自クラスタメンバ上で動作するアプリケーションプログラムからの読込み呼出し或いは書込み呼出しを捕捉し、読込み呼出しを捕捉した場合には前記アプリケーションプログラムに代わって前記現用系通信API部に対して読込み呼出しを行い、該読込み呼出しに応答して前記現用系通信API部が前記現用系プロトコル処理部から読込んだデータを前記アプリケーションプログラムに渡し、書込み呼出しを捕捉した場合には前記アプリケーションプログラムに代わって前記現用系通信API部に対して書込み呼出しを行う現用系呼出し捕捉部、
該現用系呼出し捕捉部が書込み呼出しを捕捉した場合、自クラスタメンバの予備系となるクラスタメンバに対して、書込みデータの複製データを転送する現用系転送部として機能させるプログラム。 - 請求の範囲50記載のプログラムにおいて、
前記現用系転送部が、前記現用系通信API部が前記現用系プロトコル処理部から読込んだ読込みデータの複製データを、自クラスタメンバの予備系となるクラスタメンバへ送信し、
前記現用系呼出し捕捉部が、予備系照合部から通知された照合結果が、不一致を示している場合は、前記現用系通信API部が前記現用系プロトコル処理部から読込んだデータを破棄することを特徴とするプログラム。 - 請求の範囲51記載のプログラムにおいて、
前記現用系呼出し捕捉部が、予備系書込み部から通知された書込み結果が異常終了を示している場合は、書込み呼出しにより書込みが指示されているデータを破棄することを特徴とするプログラム。 - 請求の範囲50記載のプログラムにおいて、
前記コンピュータが確認応答バッファを備え、且つ、
前記コンピュータを、送信パケットの宛先の対向装置から前記送信パケットに対する確認応答が送られてきたとき、前記予備系のクラスタメンバから前記送信パケットを示す送信通知が送られてきていないことを条件にして、前記確認応答を前記確認応答バッファに格納し、前記予備系のクラスタメンバから送信通知が送られてきたとき、該送信通知が示す送信パケットに対する確認応答が前記確認応答バッファに格納されていることを条件にして、前記確認応答を前記予備系のクラスタメンバへ送信する受信パケット制御部として機能させるためのプログラム。 - 請求の範囲50記載のプログラムにおいて、
前記コンピュータが、受信パケットバッファを備え、且つ、
前記コンピュータを、パケットを受信したとき、前記予備系のクラスタメンバから前記パケットを示す受信通知が送られてきていないことを条件にして、前記パケットを前記受信パケットバッファに登録し、前記予備系のクラスタメンバから受信通知が送られてきたとき、前記受信パケットバッファに前記受信通知が示すパケットよりも以前に受信したパケットが登録されていることを条件にして前記以前に受信したパケットを前記予備系のクラスタメンバへ送信する受信パケット制御部として機能させるためのプログラム。 - 請求の範囲53記載のプログラムにおいて、
前記コンピュータを、
プロトコル処理の送信バッファを監視し、送信バッファが空になるまで次の書き込み処理を遅延させる遅延部として機能させるためのプログラム。 - コンピュータを、
プロトコル処理を行う予備系プロトコル処理部、
読込み呼出しに応答して前記予備系プロトコル処理部からデータを読込み、書込み呼出しに応答して前記予備系プロトコル処理部にデータを書込む予備系通信API部、
現用系のクラスタメンバから複製データが転送されてきたとき、前記予備系通信API部に対して書込み呼出しを行い、前記複製データを前記予備系プロトコル処理部に書込ませる予備系書込み部、
前記予備系プロトコル処理部によるプロトコル処理が済んだ受信データ及び送信データを破棄する破棄部として機能させるためのプログラム。 - 請求の範囲56記載のプログラムにおいて、
前記コンピュータを、
現用系のクラスタメンバから送られてきた読込みデータの複製データと前記予備系プロトコル処理部を介して受信したデータとを照合し、照合結果を前記複製データの転送元のクラスタメンバに対して通知する予備系照合部として機能させるためのプログラム。 - 請求の範囲57記載のプログラムにおいて、
前記予備系書込み部が、前記予備系プロトコル処理部において前記書込みデータの複製データに対するプロトコル処理が正常終了したか否かを示す書込み結果を、前記複製データの転送元のクラスタメンバに対して通知することを特徴とするプログラム。 - 請求の範囲56記載のプログラムにおいて、
前記コンピュータを、
前記予備系プロトコル処理部によるプロトコル処理が済んだ送信パケットを示す送信通知を前記現用系のクラスタメンバへ送信する送信通知送信部として機能させるためのプログラム。 - 請求の範囲56記載のプログラムにおいて、
前記コンピュータを、
受信したパケットを示す受信通知を前記現用系のクラスタメンバへ送信する受信通知送信部として機能させるためのプログラム。 - 請求の範囲59記載のプログラムにおいて、
前記コンピュータを、
プロトコル処理の送信バッファを監視し、送信バッファが空になるまで次の書き込み処理を遅延させる遅延部として機能させるためのプログラム。 - コンピュータを、
プロトコル処理を行うプロトコル処理部、
予め定められているプロトコル処理用振り分け規則に基づいて、受信パケットが自クラスタメンバで処理すべき受信パケットであると判断した場合、前記受信パケットを前記プロトコル処理部に渡す受信側振り分けフィルタ、
読込み呼出しに応答して前記プロトコル処理部からデータを読込み、書込み呼出しに応答して該書込み呼出しによって書込みが指示されているデータを前記プロトコル処理部に書込む通信API部、
自クラスタメンバ上で動作するアプリケーションプログラムからの読込み呼出し或いは書込み呼出しを捕捉し、読込み呼出しを捕捉した場合には前記アプリケーションプログラムに代わって前記通信API部に対して読込み呼出しを行い、該読込み呼出しに応答して前記通信API部が前記プロトコル処理部から読込んだデータが、他のクラスタメンバから送られてきた受信データである場合には、該受信データを前記アプリケーションプログラムに渡し、他のクラスタメンバから送られてきた送信データである場合には、該送信データを前記プロトコル処理部に渡し、それ以外である場合には、前記データをアプリケーション処理振り分け部に渡し、書込み呼出しを捕捉した場合は、該捕捉した書込み呼出しによって書込みが指示されている送信データをプロトコル処理振り分け部に渡す呼出し捕捉部、
該呼出し捕捉部から渡されたデータに対するアプリケーション処理を担当するクラスタメンバを、予め定められているアプリケーション処理用振り分け規則に従って決定し、該決定したクラスタメンバが自クラスタメンバである場合には、自クラスタメンバ上のアプリケーションプログラムに前記データを渡し、前記決定したクラスタメンバが他のクラスタメンバである場合には、前記データを転送部に渡すアプリケーション処理振り分け部、 前記呼出し捕捉部から渡されたデータに対するプロトコル処理を担当するクラスタメンバを、予め定められているプロトコル処理用振り分け規則に従って決定し、該決定したクラスタメンバが自クラスタメンバである場合には自クラスタメンバ上のプロトコル処理部に前記データを渡し、前記決定したクラスタメンバが他のクラスタメンバである場合には、前記データを転送部に渡すプロトコル処理振り分け部、
前記アプリケーション処理振り分け部及びプロトコル処理振り分け部から渡されたデータを該当するクラスタメンバへ転送する転送部として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008523702A JP5278677B2 (ja) | 2006-07-06 | 2007-07-04 | クラスタシステム、サーバクラスタ、クラスタメンバ、クラスタメンバの冗長化方法、負荷分散方法 |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006186503 | 2006-07-06 | ||
JP2006186503 | 2006-07-06 | ||
JP2006331798 | 2006-12-08 | ||
JP2006331798 | 2006-12-08 | ||
PCT/JP2007/063346 WO2008004569A1 (fr) | 2006-07-06 | 2007-07-04 | Système à configuration en grappe, grappe pour serveur, élément de grappe, procédé permettant de rendre un élément de grappe redondant, et procédé de distribution de la charge |
JP2008523702A JP5278677B2 (ja) | 2006-07-06 | 2007-07-04 | クラスタシステム、サーバクラスタ、クラスタメンバ、クラスタメンバの冗長化方法、負荷分散方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2008004569A1 true JPWO2008004569A1 (ja) | 2009-12-03 |
JP5278677B2 JP5278677B2 (ja) | 2013-09-04 |
Family
ID=38894536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008523702A Active JP5278677B2 (ja) | 2006-07-06 | 2007-07-04 | クラスタシステム、サーバクラスタ、クラスタメンバ、クラスタメンバの冗長化方法、負荷分散方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8555295B2 (ja) |
JP (1) | JP5278677B2 (ja) |
CN (1) | CN101484879B (ja) |
WO (1) | WO2008004569A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011259147A (ja) * | 2010-06-08 | 2011-12-22 | Nippon Telegr & Teleph Corp <Ntt> | マルチキャスト配信システム、配信ルータ、および、マルチキャスト配信方法 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8549487B2 (en) * | 2008-10-29 | 2013-10-01 | International Business Machines Corporation | Automated identification of redundant method calls |
JP5556086B2 (ja) * | 2009-08-25 | 2014-07-23 | 日本電気株式会社 | 二重化システム、及び、二重化方法 |
JP5532849B2 (ja) * | 2009-11-20 | 2014-06-25 | 富士通株式会社 | コンピュータ、プロセス間通信プログラム、およびプロセス間通信方法 |
CN101714916B (zh) * | 2009-11-26 | 2013-06-05 | 华为数字技术(成都)有限公司 | 一种备份方法、设备和系统 |
WO2012042607A1 (ja) * | 2010-09-29 | 2012-04-05 | 株式会社トライテック | 分散コンピューティングシステム |
WO2012070155A1 (ja) * | 2010-11-26 | 2012-05-31 | 富士通株式会社 | 管理システム、管理装置、管理方法および管理プログラム |
US8776207B2 (en) * | 2011-02-16 | 2014-07-08 | Fortinet, Inc. | Load balancing in a network with session information |
US8589480B2 (en) * | 2011-05-24 | 2013-11-19 | Sony Computer Entertainment America Llc | Automatic performance and capacity measurement for networked servers |
US8763018B2 (en) | 2011-08-22 | 2014-06-24 | Solarflare Communications, Inc. | Modifying application behaviour |
JP2013088826A (ja) * | 2011-10-13 | 2013-05-13 | Hitachi Ltd | 冗長系システムにおけるデータ入力方式 |
JP5863383B2 (ja) * | 2011-10-21 | 2016-02-16 | 株式会社日立製作所 | 通信ノード装置、システム、及び方法 |
JP6011109B2 (ja) * | 2012-07-26 | 2016-10-19 | 日本電気株式会社 | 情報処理システム及び情報処理方法 |
US9106542B2 (en) * | 2012-08-24 | 2015-08-11 | Qualcomm Innovation Center, Inc. | System and method for network traffic aggregation and analysis of mobile devices using socket wrappers |
KR102066843B1 (ko) * | 2013-07-15 | 2020-01-16 | 삼성전자 주식회사 | 통신 기록 정보를 이용한 그룹 형성 방법 및 장치 |
CN104424034A (zh) * | 2013-09-04 | 2015-03-18 | 华为技术有限公司 | 硬件资源访问方法及装置 |
US9516108B1 (en) | 2014-10-31 | 2016-12-06 | Servicenow, Inc. | Distributed backup system |
EP3272082B1 (en) * | 2015-03-20 | 2020-06-24 | Royal Bank Of Canada | System and methods for message redundancy |
US10776385B2 (en) | 2016-12-02 | 2020-09-15 | Vmware, Inc. | Methods and apparatus for transparent database switching using master-replica high availability setup in relational databases |
US10873501B2 (en) * | 2016-12-09 | 2020-12-22 | Vmware, Inc. | Methods, systems and apparatus to propagate node configuration changes to services in a distributed environment |
CN110650059B (zh) * | 2019-10-12 | 2022-06-10 | 未鲲(上海)科技服务有限公司 | 故障群集检测方法、装置、计算机设备和存储介质 |
US20240031288A1 (en) * | 2022-07-19 | 2024-01-25 | Cisco Technology, Inc. | Systems and Methods for Stateless Symmetric Forwarding |
WO2024111045A1 (ja) * | 2022-11-22 | 2024-05-30 | 日本電信電話株式会社 | 仮想コンピュータ管理システム、同期サーバおよび仮想コンピュータ管理方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58189745A (ja) | 1982-04-30 | 1983-11-05 | Nippon Signal Co Ltd:The | 多重系装置における故障検知方法 |
JPS6139656A (ja) * | 1984-07-30 | 1986-02-25 | Hitachi Ltd | 分散形ネツトワ−クデ−タ処理システム |
JPH0752763B2 (ja) | 1986-04-09 | 1995-06-05 | 日本電気株式会社 | 樹脂封止型半導体装置 |
JPH0656604B2 (ja) * | 1987-03-26 | 1994-07-27 | 日本電気株式会社 | 情報処理装置 |
JP2722685B2 (ja) * | 1989-07-04 | 1998-03-04 | 国際電信電話株式会社 | Isdn端末装置及びisdn端末の呼制御方法 |
JPH0787536A (ja) | 1993-09-13 | 1995-03-31 | Fujitsu Ltd | 集線段仮想化システム |
JP3080552B2 (ja) * | 1994-12-26 | 2000-08-28 | 三菱電機株式会社 | 複合計算機システムのメモリ装置 |
US5961606A (en) * | 1997-06-30 | 1999-10-05 | Sun Microsystems, Inc. | System and method for remote buffer allocation in exported memory segments and message passing between network nodes |
JP3487197B2 (ja) | 1997-11-14 | 2004-01-13 | 株式会社日立製作所 | クラスタ型ルータ装置 |
US6006259A (en) * | 1998-11-20 | 1999-12-21 | Network Alchemy, Inc. | Method and apparatus for an internet protocol (IP) network clustering system |
US20020194340A1 (en) * | 2001-06-16 | 2002-12-19 | Ebstyne Bryan D. | Enterprise storage resource management system |
US6918013B2 (en) * | 2001-07-16 | 2005-07-12 | Bea Systems, Inc. | System and method for flushing bean cache |
US7751327B2 (en) * | 2004-02-25 | 2010-07-06 | Nec Corporation | Communication processing system, packet processing load balancing device and packet processing load balancing method therefor |
US7685131B2 (en) * | 2006-02-28 | 2010-03-23 | International Business Machines Corporation | Web services database cluster architecture |
-
2007
- 2007-07-04 WO PCT/JP2007/063346 patent/WO2008004569A1/ja active Application Filing
- 2007-07-04 CN CN2007800256020A patent/CN101484879B/zh active Active
- 2007-07-04 US US12/307,656 patent/US8555295B2/en active Active
- 2007-07-04 JP JP2008523702A patent/JP5278677B2/ja active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011259147A (ja) * | 2010-06-08 | 2011-12-22 | Nippon Telegr & Teleph Corp <Ntt> | マルチキャスト配信システム、配信ルータ、および、マルチキャスト配信方法 |
Also Published As
Publication number | Publication date |
---|---|
US8555295B2 (en) | 2013-10-08 |
WO2008004569A1 (fr) | 2008-01-10 |
CN101484879B (zh) | 2012-11-28 |
JP5278677B2 (ja) | 2013-09-04 |
US20090204981A1 (en) | 2009-08-13 |
CN101484879A (zh) | 2009-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5278677B2 (ja) | クラスタシステム、サーバクラスタ、クラスタメンバ、クラスタメンバの冗長化方法、負荷分散方法 | |
US6665304B2 (en) | Method and apparatus for providing an integrated cluster alias address | |
JP6988511B2 (ja) | 障害検知方法、ノード装置、通信システム | |
US7346682B2 (en) | System for creating and distributing prioritized list of computer nodes selected as participants in a distribution job | |
US6993587B1 (en) | Method and apparatus for election of group leaders in a distributed network | |
US6934875B2 (en) | Connection cache for highly available TCP systems with fail over connections | |
US6718361B1 (en) | Method and apparatus for reliable and scalable distribution of data files in distributed networks | |
US6928577B2 (en) | Consistent message ordering for semi-active and passive replication | |
US7761609B1 (en) | Socket level packet scheduling for connectionless protocols | |
CN1881944B (zh) | 改进型分布式核心操作系统 | |
US20060164974A1 (en) | Method of moving a transport connection among network hosts | |
US20030212738A1 (en) | Remote services system message system to support redundancy of data flow | |
US9876763B2 (en) | Application state sharing in a firewall cluster | |
US20040001514A1 (en) | Remote services system communication module | |
CN106134144A (zh) | 可靠性组播数据传送系统以及方法 | |
JP2002517857A (ja) | 二方向的なプロセス対プロセスのバイトストリームのプロトコル | |
US7536468B2 (en) | Interface method, system, and program product for facilitating layering of a data communications protocol over an active message layer protocol | |
CN118101459B (zh) | 基于fttr的数据管控方法和装置、网关设备及介质 | |
EP1305924B1 (en) | Method and apparatus for reliable and scalable distribution of data files in distributed networks | |
JP5630070B2 (ja) | 中継装置、プログラム及び方法 | |
JP6606032B2 (ja) | 輻輳通知装置、および、輻輳通知方法 | |
WO2022180690A1 (ja) | 通信システム、通信装置、データ配信方法、及びプログラム | |
JP7279388B2 (ja) | ルータシステムおよびパケット送信判定方法 | |
CN102624753A (zh) | 企业服务总线的分布式文件传输方法和设备 | |
Ayari et al. | T2cp-ar: A system for transparent tcp active replication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100615 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120824 |
|
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: 20130424 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130507 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5278677 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |