JP2000187632A - クラスタシステム - Google Patents

クラスタシステム

Info

Publication number
JP2000187632A
JP2000187632A JP36370898A JP36370898A JP2000187632A JP 2000187632 A JP2000187632 A JP 2000187632A JP 36370898 A JP36370898 A JP 36370898A JP 36370898 A JP36370898 A JP 36370898A JP 2000187632 A JP2000187632 A JP 2000187632A
Authority
JP
Japan
Prior art keywords
packet
address
network address
logical
computer
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
Application number
JP36370898A
Other languages
English (en)
Other versions
JP4015770B2 (ja
Inventor
Hiromichi Sekiguchi
大陸 関口
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP36370898A priority Critical patent/JP4015770B2/ja
Publication of JP2000187632A publication Critical patent/JP2000187632A/ja
Application granted granted Critical
Publication of JP4015770B2 publication Critical patent/JP4015770B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【課題】フィルタドライバを実装することにより、論理
ネットワークアドレスのテイクオーバ、サーバ計算機間
での当該ネットワークアドレスを用いた通信、更に当該
ネットワークアドレスの動的な変更設定を可能とする。 【解決手段】サーバ計算機10aのフィルタドライバ1
05aは、クライアント計算機11からの通信パケット
中のIPパケットを受け取った場合、当該パケット中の
送信先IPアドレスが論理IPアドレスIPSに一致し
且つフラグFaがオフであれば当該パケットを破棄し、
フラグFaがオンであればアドレスを実IPアドレスI
Paに書き換えてTCP/IPプロトコルドライバ10
4aに渡す。また、パケットの送信時には、フィルタド
ライバ105aはフラグFaがオンであるならば、当該
パケットの送信元IPアドレスを論理IPアドレスIP
Sに置き換えてネットワークアダプタドライバ103a
に渡す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、サーバ計算機相互
のサービスの引き継ぎが行われるクラスタシステムに係
り、特に、パケットのフィルタリングを行うドライバ
(フィルタドライバ)を持つ複数のサーバ計算機を備え
たクラスタシステムに関する。
【0002】
【従来の技術】従来から、複数のサーバ計算機(ノー
ド)をネットワークで結合し、あるサーバ計算機で障害
が発生しても、障害で停止したサービスを他のサーバ計
算機が引き継ぐことにより、システム全体として可用性
を維持できるようにしたクラスタシステムが種々開発さ
れている。
【0003】この種のクラスタシステムにおいて、サー
バ計算機相互のサービスの引き継ぎを行うには、ネット
ワークアドレスとしてのIP(インターネットプロトコ
ル)アドレスのテイクオーバが必要となる。
【0004】
【発明が解決しようとする課題】しかし従来のクラスタ
システムでは、サーバ計算機間のIPアドレスのテイク
オーバのために、各サーバ計算機で動的にIPアドレス
を設定したり、設定を解除したりすることができなかっ
た。また、論理的なIPアドレスを動的に活性化させた
り、非活性化させることもできず、サーバ計算機のOS
(オペレーティングシステム)において、IPアドレス
のテイクオーバができないという問題があった。
【0005】そこで従来は、IPアドレスのテイクオー
バを実現するために、クライアント計算機で動作するア
プリケーション(クライアントアプリケーション)を改
造し、クライアント計算機側にて通信相手を切り替える
特別の仕組みを導入したり、ネームサービス(ホスト名
とIPアドレスとを対応させるサービス)を司るサーバ
(ネームサービスサーバ)を設定し、ネームサービスで
ホスト名とIPアドレスとの対応を切り替える必要があ
った。
【0006】また、従来のクラスタシステムにおいて負
荷分散を行ってシステム全体のロードバランスをとるた
めに、クライアントアプリケーションにてサービスを提
供してもらうサーバ計算機を切り替えることにより実現
するか、レイヤー(Layer)4スイッチと称される
特別のハードウェア機構を使用して実現していた。つま
り、従来のクラスシステムにおいて負荷分散を行うに
は、専用のアプリケーション(アプリケーションプログ
ラム)または専用のハードウェア機構が必要であった。
【0007】本発明は上記事情を考慮してなされたもの
でその目的は、ネットワークアドレスの設定変更が動的
に行えないOSが搭載されているサーバ計算機において
も、フィルタドライバを実装することにより、クライア
ントアプリケーションの改造、更にはネームサービスサ
ーバの設定を要することなく、クラスタ全体を表すネッ
トワークアドレス(論理ネットワークアドレス)のテイ
クオーバが実現できると共に、サーバ計算機間での当該
ネットワークアドレスを用いた通信が実現でき、しかも
当該ネットワークアドレスを動的に変更設定できるクラ
スタシステムを提供することにある。
【0008】本発明の他の目的は、サーバ計算機にフィ
ルタドライバを実装することにより、専用のアプリケー
ション、或いは専用のハードウェア機構を用いることな
く負荷分散が実現でき、しかもクラスタ全体を表すネッ
トワークアドレス(論理ネットワークアドレス)を動的
に変更設定できるクラスタシステムを提供することにあ
る。
【0009】
【課題を解決するための手段】本発明は、各サーバ計算
機に固有の実ネットワークアドレスとは別の、クラスタ
全体を表す論理ネットワークアドレスを含む通信パケッ
トを用いた通信によりサーバ計算機間でサービスの引き
継ぎが行われるクラスタシステムにおいて、上記各サー
バ計算機に、2つの状態のうちのいずれか一方に任意に
切り替え設定可能なフラグ情報を保持するフラグ情報保
持手段と、受信パケットのフィルタリングを行うフィル
タドライバとを設け、上記フィルタドライバを、パケッ
トの受信時には、当該パケット中の送信先ネットワーク
アドレスが上記論理ネットワークアドレスに一致してい
るならば、自計算機の上記フラグ情報の状態に応じて当
該パケットを破棄し、破棄しないときは、当該パケット
中の上記送信先ネットワークアドレスを自計算機に固有
の上記実ネットワークアドレスに書き換え、パケットの
送信時には、当該パケット中の送信元ネットワークアド
レスを上記論理ネットワークアドレスに書き換えるよう
に構成したことを特徴とする。
【0010】このような構成において、(テイクオーバ
される)論理ネットワークアドレスが設定されている各
サーバ計算機に保持されるフラグ情報は、当該論理ネッ
トワークアドレスの当該計算機での有効/無効を示す。
したがって、上記各計算機において、ユーザの操作、或
いは計算機間の通信等により、所定のコマンド(フラグ
操作コマンド)を用いて動的にフラグ情報の状態を切り
替え設定し、そのフラグ情報の状態と受信パケット中の
送信先ネットワークアドレスをもとに、フィルタドライ
バにおいて当該パケットのフィルタリングを行うことに
より、クラスタシステムにおいて重要なネットワークア
ドレス(例えばIPアドレス)のテイクオーバが実現可
能となる。
【0011】しかも上記の構成においては、下位の階層
から渡された受信パケット(具体的にはインタフェース
層の処理を司る第1のドライバ、例えばネットワークア
ダプタドライバから渡されたパケット)を破棄しない場
合(即ち受信パケット中の送信先ネットワークアドレス
が論理ネットワークアドレスに一致し、且つフラグ情報
が論理ネットワークアドレスの当該計算機での有効を示
す状態、つまり自計算機がサービスを提供するサーバ計
算機であることを示す状態の場合)、当該パケットは、
当該パケット中の送信先ネットワークアドレスを上記論
理ネットワークアドレスから自計算機の実ネットワーク
アドレスに書き換えた状態で上位階層(具体的には、ネ
ットワーク層及びトランスポート層の処理を司る第2の
ドライバ、例えばTCP/IPプロトコルドライバ)に
渡され、また、上位階層(第2のドライバ)から渡され
るパケットの送信時には、フラグ情報が論理ネットワー
クアドレスの当該計算機での有効を示す状態にあるなら
ば、当該パケット中の送信元ネットワークアドレス(自
計算機の実ネットワークアドレス)が上記論理ネットワ
ークアドレスに書き換えられた状態で下位階層(第1の
ドライバ)に渡されることから、OSレベルでは論理ネ
ットワークアドレスを意識していなくても、論理ネット
ワークアドレスが有効なサーバ計算機とクライアント計
算機との間で論理ネットワークアドレスを用いた通信が
可能であり、また論理ネットワークアドレスが有効なサ
ーバ計算機と他の(論理ネットワークアドレスが有効で
ない)サーバ計算機との間でも論理ネットワークアドレ
スを用いた通信が可能である。また、論理ネットワーク
アドレスのOSレベルでの管理が不要なため、当該論理
ネットワークアドレスをフィルタドライバ側で動的に変
更設定可能となる。
【0012】また本発明のクライアントシステムは、各
サーバ計算機に、上記のフラグ情報保持手段に代えて、
論理ネットワークアドレスを送信先ネットワークアドレ
スとするパケットの受信時に起動されて、当該パケット
中の送信元ネットワークアドレスに基づいて該当する送
信元に自計算機がサービスを提供すべきであるか否かを
判断する判断手段を設けると共に、下位の階層(インタ
フェース層)の処理を司る第1のドライバ(ネットワー
クアダプタドライバ)に、受信パケット中の送信先ハー
ドウェアアドレスが自計算機に固有のハードウェアアド
レス、またはブロードキャストアドレスである場合の他
に、上記論理ネットワークアドレスに対応して設定され
る論理ハードウェアアドレスの場合にも、そのパケット
を破棄せずにフィルタドライバに渡す機能を設け、上記
フィルタドライバでは、パケットの受信時には、当該パ
ケット中の送信先ネットワークアドレスが上記論理ネッ
トワークアドレスに一致しているならば、上記判断手段
の判断結果に応じて当該パケットを破棄し、破棄しない
ときは、パケット種別に応じて当該パケット中の送信先
ネットワークアドレスを自計算機に固有の実ネットワー
クアドレスに書き換え、パケットの送信時には、当該パ
ケット中の送信元ネットワークアドレスを上記論理ネッ
トワークアドレスに、送信元ハードウェアアドレスを上
記論理ハードウェアアドレスにそれぞれ書き換えるよう
にしたことをも特徴とする。
【0013】このような構成においては、論理ネットワ
ークアドレスが設定されているサーバ計算機、即ちサー
ビスを提供する計算機としてのサーバ計算機が同時に複
数存在する場合に、各クライアント計算機は、これら複
数のサーバ計算機の存在を意識することなく、クラスタ
全体で共通の論理ネットワークアドレスを送信先ネット
ワークアドレスとして指定すると共に、同じく論理ハー
ドウェアアドレスを送信先ハードウェアアドレスとして
指定してサーバ計算機との通信(接続)を行おうとして
も、そのクライアント計算機のネットワークアドレス
(送信元ネットワーク)に応じて、複数の計算機うちの
1つだけが、実際にサービスを提供するサーバ計算機と
して送信元(要求元)のクライアント計算機と通信(接
続)するために、つまり通信(接続)するサーバ計算機
をサーバ計算機側で振り分けるために、負荷分散を図る
ことが可能となる。
【0014】ここで、論理ネットワークアドレスが設定
されている各サーバ計算機の判断手段が、相互に通信を
行うことでサービスを提供する唯一のサーバ計算機を通
信毎に決定する構成とするとよい。この場合、サービス
を提供するサーバ計算機を通信毎に動的に決定できるた
め、一層効果的な負荷分散が実現できる。
【0015】また、上記の構成においても、論理ネット
ワークアドレスのOSレベルでの管理が不要なため、当
該論理ネットワークアドレスをフィルタドライバ側で動
的に変更設定可能となる。
【0016】また本発明は、上記判断手段の判断結果に
より上記フィルタドライバでの破棄の対象とならなかっ
たパケットが上記論理ネットワークアドレスへのARP
(アドレス解決プロトコル)要求の場合、つまりパケッ
ト種別がARP要求パケットの場合に起動され、上記論
理ネットワークアドレスに対応した論理ハードウェアア
ドレスをセットしたARP応答パケットを組み立てて上
記ネットワークアダプタドライバを介して要求元に送信
させるARP要求処理手段を更に備えたことをも特徴と
する。
【0017】このARP要求処理手段を設けたことによ
り、クライアント計算機からの論理ネットワークアドレ
スに対応した論理ハードウェアアドレスを要求するAR
P要求パケットに対して、その要求元のクライアント計
算機のネットワークアドレスで決まるサーバ計算機か
ら、要求された論理ハードウェアアドレスがセットされ
たARP応答パケットが返されるため、当該クライアン
ト計算機ではその論理ハードウェアアドレスを送信先ハ
ードウェアアドレス、上記論理ネットワークを送信先ネ
ットワークとする送信パケットを用いて、サーバ計算機
と通信できる。
【0018】
【発明の実施の形態】以下、本発明の実施の形態につき
図面を参照して説明する。
【0019】[第1の実施形態]図1は本発明の第1の
実施形態に係るクラスタシステムの構成を示すブロック
図である。
【0020】図1において、クラスタを構成する複数の
サーバ計算機、例えばサーバ計算機10a,10b、及
びクライアント計算機11は、ネットワーク12により
結合されている。サーバ計算機10a,10bは、TC
P/IP(transmission control
protocol/internet protoc
ol)のサーバプログラム101a,101bを実行
し、クライアント計算機11は、TCP/IPのクライ
アントプログラム111を実行する。サーバ計算機10
a,10bのOS(オペレーティングシステム)は、I
Pアドレスの設定が動的に変更できないものとする。
【0021】サーバ計算機10a,10bには、ネット
ワーク12とのインタフェースをなす、LANカード等
により実現されるネットワークアダプタ(ネットワーク
インタフェース)102a,102bと、ネットワーク
12を介しての計算機間の通信で適用されるインタフェ
ース層の処理を司るネットワークアダプタドライバ10
3a,103bと、ネットワーク層及びトランスポート
層の処理を司るTCP/IPプロトコルドライバ104
a,104bの他に、本発明に直接関係するフィルタド
ライバ105a,105bが実装されている。
【0022】サーバ計算機10a,10bには、それぞ
れ当該サーバ計算機10a,10bに固有の実ネットワ
ークアドレスとしての実IPアドレスIPa,IPb
(1種類とは限らない)が設定されている。また、サー
バ計算機10a,10bのネットワークアダプタ102
a,102bには、それぞれ当該サーバ計算機10a,
10b(のネットワークアダプタ102a,102b)
に固有のハードウェアアドレス(物理アドレス)として
のMAC(Media Access Contro
l)アドレスMACa,MACbが設定されている。ま
た、サーバ計算機10a,10bのフィルタドライバ1
05a,105bには、当該サーバ計算機10a,10
bに共通の、クラスタ全体を表す、テイクオーバする論
理ネットワークアドレスとしての論理IPアドレスIP
Sが動的に設定される。
【0023】フィルタドライバ105a,105bは、
ネットワークアダプタドライバ103a,103bとT
CP/IPプロトコルドライバ104a,104bとの
間に設けられ、ネットワークアダプタドライバ103
a,103bから渡されるパケット(IPパケット)の
送信先(宛先)IPアドレスによるフィルタリングを行
う。フィルタドライバ105a,105bは、自計算機
が上記論理IPアドレスIPSによるテイクオーバ先と
なるか否か、つまり論理IPアドレスIPSが有効であ
るか否かを、オン(on)/オフ(off)の状態によ
り指定するためのフラグFa,Fbを有している。フラ
グFa,Fbは、サーバ計算機10a,10bで所定の
フラグ操作コマンドを実行することで動的にオン/オフ
される。この操作は、サーバ計算機10a,10b間で
互いに通信を行って実行するとよい。
【0024】フィルタドライバ105a,105bは、
パケットの受信時には、当該パケット中の送信先IPア
ドレスとフラグFa,Fbの状態をもとに、当該パケッ
トの破棄、当該パケット中の送信先IPアドレスを自計
算機の実IPアドレスへ書き換えた状態でのTCP/I
Pプロトコルドライバ104a,104bへの送出、当
該パケットのそのままの状態でのTCP/IPプロトコ
ルドライバ104a,104bへの送出のいずれか1つ
を実行するように構成されている。またフィルタドライ
バ105a,105bは、パケットの送信時には、フラ
グFa,Fbの状態をもとに、当該パケットを、そのま
ま、或いは送信元IPアドレスを自計算機の論理IPア
ドレスに書き換えてネットワークアダプタドライバ10
3a,103bに送出するように構成されている。
【0025】一方、クライアント計算機11には、ネッ
トワーク12とのインタフェースをなすネットワークア
ダプタ(ネットワークインタフェース)112が実装さ
れている。
【0026】図2はネットワーク12を転送される通信
パケット(通信データ)20の概略フォーマットを示
す。
【0027】同図に示すように、通信パケット20は、
送信先MACアドレス21、送信元MACアドレス22
を含むヘッダ部(イーサネット(登録商標)ヘッダ)2
3、及びIPパケット24を有している。このIPパケ
ット24は、送信先IPアドレス25及び送信元IPア
ドレス26を含むヘッダ部(IPヘッダ)27を有して
いる。
【0028】次に、図1のシステムの動作を、サーバ計
算機10bからサーバ計算機10aにサービスを引き継
ぐ場合のIPアドレスのテイクオーバを例に、図3のフ
ローチャートを参照して説明する。
【0029】まず、サーバ計算機10bからサーバ計算
機10aにサービスを引き継ぐ場合、サーバ計算機10
bのフィルタドライバ105bではオフ指定のフラグ操
作コマンドによりフラグFbがオフされ、サーバ計算機
10aのフィルタドライバ105aではオン指定のフラ
グ操作コマンドによりフラグFaがオンされる。またサ
ーバ計算機10aでは、ブロードキャストアドレスを用
いたアドレス解決プロトコル(Address Res
olusion Protocol)通知パケット、い
わゆるARP通知パケットにより、各サーバ計算機に共
通の論理IPアドレスIPSと自計算機に固有の(ハー
ドウェアアドレスとしての)MACアドレスMACaと
の対を、ネットワーク12に接続されている各計算機
(ノード)に通知する。これにより、クライアント計算
機11はMACアドレスがMACaのサーバ計算機がテ
イクオーバ先であることを認識する。この場合、クライ
アント計算機11は、サーバ計算機からサービスを受け
るには、送信先MACアドレス21がMACa、送信先
IPアドレス25がIPSである通信パケット20をネ
ットワーク12に送出すればよい。
【0030】クライアント計算機11からネットワーク
12上に送出された通信パケット20は、当該ネットワ
ーク12に接続されている各計算機に導かれて、その計
算機のネットワークアダプタで受信され、ネットワーク
アダプタドライバに渡される。例えばサーバ計算機10
aでは、クライアント計算機11からの通信パケット2
0は当該サーバ計算機10a内のネットワークアダプタ
102aで受信され、ネットワークアダプタドライバ1
03aに渡される。
【0031】サーバ計算機10aのネットワークアダプ
タドライバ103aは、ネットワークアダプタ102a
から渡された通信パケット20のイーサネットヘッダ2
3中の送信先MACアドレス21をチェックする。この
例のように、送信先MACアドレス21が自サーバ計算
機10a(のネットワークアダプタ102a)に固有の
MACアドレスMACa、または所定のブロードキャス
トアドレスに一致している場合には、ネットワークアダ
プタドライバ103aは当該通信パケット20が自分宛
のものであると判断し、当該通信パケット20からIP
パケット24(イーサネットヘッダ23を取り除いた部
分のパケット)を取り出して、フィルタドライバ105
aに渡す。なお、送信先MACアドレス21がMACa
に一致していないときは、ネットワークアダプタドライ
バ103aは当該通信パケット20が自分宛のものでは
ないものとして、当該通信パケット20を破棄する。
【0032】フィルタドライバ105aは、ネットワー
クアダプタドライバ103aからIPパケット24を渡
されると、当該IPパケット24のIPヘッダ27中の
送信先IPアドレス25をチェックし、その送信先IP
アドレス25が論理IPアドレスIPSに一致するか否
かを判断する(ステップS1)。
【0033】もし、この例とは異なって、送信先IPア
ドレス25が論理IPアドレスIPSに一致しないなら
ば、フィルタドライバ105aは該当するIPパケット
24をそのままTCP/IPプロトコルドライバ104
aに渡す(ステップS2)。
【0034】これに対し、この例のように送信先IPア
ドレス25が論理IPアドレスIPSに一致するなら
ば、フィルタドライバ105aはフラグFaの状態をチ
ェックする(ステップS3)。もし、フラグFaがこの
例のようにオンであるならば、フィルタドライバ105
aは、IPパケット24中の送信先IPアドレス25
(=IPS)を自計算機の実IPアドレス(ここではI
Pa)に書き換えて(ステップS4)、そのIPアドレ
ス書き換え後のIPパケット24をTCP/IPプロト
コルドライバ104aに渡す(ステップS2)。
【0035】一方、この例とは異なって、フラグFaが
オフであるならば、つまり自計算機において論理IPア
ドレスが無効であるならば、フィルタドライバ105a
は送信先IPアドレス25が論理IPアドレスIPSの
IPパケット24を破棄する(ステップS5)。
【0036】以上に述べたように、フラグFaがオンの
サーバ計算機10aでは、クライアント計算機11から
の送信先IPアドレス25が論理IPアドレスIPSで
ある通信パケット20を受信した場合、その通信パケッ
ト20から取り出されるIPパケット24が、送信先I
Pアドレス25を自計算機の実IPアドレスIPaに書
き換えられた状態でTCP/IPプロトコルドライバ1
04aに渡される。したがってTCP/IPプロトコル
ドライバ104aでは、論理IPアドレスIPSを意識
することなく、IPパケット24を処理して、例えばサ
ーバプログラム101aに渡すことができる。つまり本
実施形態では、OSレベルで論理IPアドレスIPSが
設定されていなくても、論理IPアドレスIPSを用い
たクライアント計算機11からサーバ計算機10aへの
通信が実現できる。
【0037】次にサーバ計算機10aからの送信処理に
ついて、クライアント計算機11へのパケット送信を例
に、図4のフローチャートを参照して説明する。
【0038】まず、サーバ計算機10a内のTCP/I
Pプロトコルドライバ104からフィルタドライバ10
5に、送信元IPアドレス26として自計算機の実IP
アドレスIPaが設定され、送信先IPアドレス25と
してクライアント計算機11の実IPアドレスが設定さ
れたIPパケット24を含む、クライアント計算機11
宛ての通信パケット20が渡されたものとする。
【0039】すると、フィルタドライバ105aはフラ
グFaの状態をチェックする(ステップS11)。も
し、この例のようにオンであるならば、フィルタドライ
バ105aはIPパケット24中の送信元IPアドレス
26を論理IPアドレスIPSに書き換える(ステップ
S12)。そしてフィルタドライバ105aは、IPア
ドレス書き換え後のIPパケット24を含む通信パケッ
ト20をネットワークアダプタドライバ103aに渡し
て、ネットワークアダプタ102aによりネットワーク
12上に送出させる(ステップS13)。
【0040】クライアント計算機11は、このサーバ計
算機10aからの自計算機宛ての通信パケット20をネ
ットワーク12から受信して処理する。
【0041】一方、この例とは異なってフラグFaがオ
フであるならば、フィルタドライバ105aはTCP/
IPプロトコルドライバ104aからの通信パケット2
0をそのままネットワークアダプタドライバ103aに
渡して、ネットワークアダプタ102aによりネットワ
ーク12上に送出させる(ステップS13)。
【0042】以上により、クライアント計算機11は論
理IPアドレスIPSを指定してサーバ計算機10aと
接続することができる。ところで、フィルタドライバ1
05aにて送信先IPアドレス25としての実IPアド
レスIPaを論理IPアドレスIPSに書き換える処理
を行わないで、論理IPアドレスIPSを用いた通信を
行うためには、サーバ計算機10aのOSのレベルで論
理IPアドレスIPSを設定する必要がある。これに対
して本実施形態では、フィルタドライバ105aにて論
理IPアドレスIPSを設定すればよく、OSに依存し
ない。なお本実施形態において、(フラグFaがオン状
態にある)サーバ計算機10a内のフィルタドライバ1
05aで上記ステップS4,S12の書き換えの対象と
なるIPパケット(の種別)は、ARPパケットを含
む。
【0043】さて本実施形態では、サーバ計算機10a
とサーバ計算機10bの間も、以下に述べるように論理
IPアドレスIPSを指定して接続することが可能であ
る。
【0044】まず、(フラグFaがオン状態にある)サ
ーバ計算機10aから(フラグFがオフ状態にある)サ
ーバ計算機10bへのパケット送信時の動作は、上記し
たサーバ計算機10aからクライアント計算機11への
パケット送信時の動作と同様である。
【0045】即ち、サーバ計算機10aからサーバ計算
機10bにパケットを送信する場合、サーバ計算機10
aでは、TCP/IPプロトコルドライバ104aから
フィルタドライバ105aに対して、送信先IPアドレ
ス25がサーバ計算機10bの実IPアドレスIPb
で、送信元IPアドレス26がサーバ計算機10aの実
IPアドレスIPaであるIPパケット24を含む通信
パケット20が渡される。
【0046】フィルタドライバ105aは、IPパケッ
ト24中の送信元IPアドレス26(=IPa)を論理
IPアドレスIPSに書き換え、その書き換え後のIP
パケット24を含む通信パケット20をネットワークア
ダプタドライバ103aに渡してネットワークアダプタ
102aからネットワーク12上に送出させる(ステッ
プS11〜S13)。これにより、サーバ計算機10a
のネットワークアダプタ102aからネットワーク12
には、送信先IPアドレス25が実IPアドレスで、送
信元IPアドレス26が論理IPアドレスIPSである
サーバ計算機10b宛ての通信パケット20が送出され
る。
【0047】サーバ計算機10bでは、サーバ計算機1
0aからの当該サーバ計算機10b宛ての通信パケット
20が受信される。サーバ計算機10bで受信された通
信パケット20中のIPパケット24はネットワークア
ダプタドライバ103bからフィルタドライバ105b
に渡される。フィルタドライバ105bは、IPパケッ
ト24中の送信先IPアドレス25がこの例のように論
理IPアドレスIPSでない場合、当該IPパケット2
4をそのままTCP/IPプロトコルドライバ104b
に渡す(ステップS1,S2)。これにより、送信先I
Pアドレス25が自計算機10bの実IPアドレスIP
bであるIPパケット24がTCP/IPプロトコルド
ライバ104bで処理され、例えばサーバプログラム1
01bに渡される。
【0048】一方、(フラグFがオフ状態にある)サー
バ計算機10bから(フラグFがオン状態にある)サー
バ計算機10aへのパケット送信時の動作は、次の通り
となる。
【0049】サーバ計算機10bからサーバ計算機10
aにパケットを送信する場合、サーバ計算機10bで
は、TCP/IPプロトコルドライバ104bからフィ
ルタドライバ105bに対して、送信先IPアドレス2
5が論理IPアドレスIPSで、送信元IPアドレス2
6がサーバ計算機11bの実IPアドレスIPbである
IPパケット24を含む通信パケット20が渡される。
【0050】フィルタドライバ105bは、この通信パ
ケット20をそのままネットワークアダプタドライバ1
03bに渡して、ネットワークアダプタ102bにより
ネットワーク12上に送出させる(ステップS11,S
13)。これにより、サーバ計算機10bのネットワー
クアダプタ102bからネットワーク12には、送信先
IPアドレス25が論理IPアドレスIPSで、送信元
IPアドレス26が実IPアドレスIPbである通信パ
ケット20が送出される。
【0051】サーバ計算機10aでは、サーバ計算機1
0bからの論理IPアドレスIPSによる宛先指定の通
信パケット20が受信される。サーバ計算機10aで受
信された通信パケット20中のIPパケット24はネッ
トワークアダプタドライバ103aからフィルタドライ
バ105aに渡される。フィルタドライバ105aは、
IPパケット24中の送信先IPアドレス25がこの例
のように論理IPアドレスIPSであり、且つフラグF
がオン状態にある場合(ステップS1,S3)、当該送
信先IPアドレス25(=IPS)を自計算機10aの
実IPアドレスIPaに書き換えてTCP/IPプロト
コルドライバ104aに渡す(ステップS4,S2)。
これにより、送信先IPアドレス25が自計算機10a
の実IPアドレスIPaであるIPパケット24がTC
P/IPプロトコルドライバ104aで処理され、例え
ばサーバプログラム101aに渡される。
【0052】以上により、サーバ計算機10a,10b
間、つまり論理IPアドレス(IPS)が有効なサーバ
計算機10aと無効なサーバ計算機10bとの間でも論
理IPアドレスを用いた通信が可能となる。
【0053】さて、上記したサーバ計算機10a内のフ
ィルタドライバ105aで行っているIPパケット24
の書き換え(受信時の送信先IPアドレス25の書き換
えと、送信時の送信元IPアドレス26の書き換え)
を、サーバ計算機10b内のフィルタドライバ105b
で行うようにするならば、例えばクライアント計算機1
1から同じ論理IPアドレスを指定した際に接続される
計算機が、サーバ計算機10aからサーバ計算機10b
に切り替わることになる。そのためには、例えばサーバ
計算機10a,10b間で互いに通信を行って、サーバ
計算機10a内のフィルタドライバ105aの持つフラ
グFをオフに、サーバ計算機10b内のフィルタドライ
バ105bの持つフラグFをオンに、それぞれ切り替え
ればよい。
【0054】さて、図1のシステムにおいて、論理IP
アドレスIPSを変更したい場合がある。このような場
合、本実施形態では、論理IPアドレスIPSがOSレ
ベルではなくフィルタドライバ105a,105bのレ
ベルで管理されていることから、フィルタドライバ10
5a,105bで任意の論理IPアドレスIPSに変更
設定すればよく、当該論理IPアドレスIPSは動的に
変更設定可能である。
【0055】なお、本実施形態ではサーバ計算機が2台
の場合について説明したが、サーバ計算機が3台以上の
システムにおいても、本実施形態で適用したのと同様の
手法で論理IPアドレスの実装が可能である。
【0056】[第2の実施形態]図5は本発明の第2の
実施形態に係るクラスタシステムの構成を示すブロック
図である。
【0057】図5において、クラスタを構成する複数の
サーバ計算機、例えばサーバ計算機50a,50b、及
びクライアント計算機51は、ネットワーク52により
結合されている。サーバ計算機50a,50bは、TC
P/IPのサーバプログラム501a,501bを実行
し、クライアント計算機51はTCP/IPのクライア
ントプログラム511を実行する。サーバ計算機50
a,50bのOSは、IPアドレスの設定が動的に変更
できないものとする。
【0058】サーバ計算機50a,50bには、図1中
のネットワークアダプタ102a,102b、ネットワ
ークアダプタドライバ103a,103b、TCP/I
Pプロトコルドライバ104a,104b、及びフィル
タドライバ105a,105bに相当する、ネットワー
クアダプタ502a,502b、ネットワークアダプタ
ドライバ503a,503b、TCP/IPプロトコル
ドライバ504a,504b、及びフィルタドライバ5
05a,505bに加えて、判断部506a,506b
及びARP要求処理部507a,507bが実装されて
いる。
【0059】サーバ計算機50a,50bには、それぞ
れ当該サーバ計算機50a,50bに固有の実ネットワ
ークアドレスとしての実IPアドレスIPa,IPb
(1種類とは限らない)が設定されている。また、サー
バ計算機50a,50bのフィルタドライバ505a,
505bには、当該サーバ計算機50a,50bに共通
の、クラスタ全体を表す、テイクオーバする論理ネット
ワークアドレスとしての論理IPアドレスIPSが動的
に設定される。また、サーバ計算機50a,50bのネ
ットワークアダプタ502a,502bには、それぞれ
当該サーバ計算機50a,50b(のネットワークアダ
プタ502a,502b)に固有のハードウェアアドレ
ス(物理アドレス)としてのMAC(Media Ac
cess Control)アドレスMACa,MAC
bに加えて、上記論理IPアドレスIPSに対応する論
理が設定されている。更に、サーバ計算機50a,50
bのフィルタドライバ505a,505bには、当該サ
ーバ計算機50a,50bに共通の、クラスタ全体を表
す、テイクオーバする論理ハードウェアアドレスとして
の論理MACアドレスMACSが設定される。
【0060】ネットワークアダプタドライバ503a,
503bは、ネットワークアダプタ502a,502b
から通信パケット20を渡された場合、送信先MACア
ドレス21をチェックし、MACアドレスMACa,M
ACb、またはブロードキャストアドレス、または論理
MACアドレスMACSのいずれかの場合に、そのIP
パケット24をフィルタドライバ505a,505bに
渡すように構成されている。
【0061】フィルタドライバ505a,505bは、
ネットワークアダプタドライバ503a,503bから
IPパケット24を渡された場合、当該IPパケット2
4中の送信先IPアドレス25をチェックして、論理I
PアドレスIPSに一致し、且つ判断部506a,50
6bから「オフ」のフラグ情報が返されたならば、当該
IPトレーラ24を破棄し、論理IPアドレスIPSに
一致し、且つ判断部506a,506bから「オン」が
返されたならば、当該IPパケット24のパケット種別
に応じた、具体的には(IPアドレスに対応するMAC
アドレスを問い合わせる)ARP要求であるか否かに応
じた処理を行うように構成されている。ここでは、AR
P要求の場合にはIPパケット24(つまりARP要求
パケット)をARP要求処理部507a,507bに渡
し、そうでない場合にはIPパケット24の送信先IP
アドレス25を実IPアドレスIPa,IPbに置き換
えてTCP/IPプロトコルドライバ504a,504
bに渡す。
【0062】またフィルタドライバ505a,505b
は、送信先IPアドレス25が論理IPアドレスIPS
に一致しないときは、IPパケット24をそのままTC
P/IPプロトコルドライバ504a,504bに渡す
ように構成されている。更にフィルタドライバ505
a,505bは、パケット送信時には、送信元IPアド
レス26の実IPアドレスIPa,IPbから論理IP
アドレスIPSへの書き換えと、送信元MACアドレス
22のMACアドレスMACa,MACbから論理MA
CアドレスMACSへの書き換えとを行うように構成さ
れている。
【0063】判断部506a,506bは、フィルタド
ライバ505a,505bから渡されたIPパケット2
4中の送信先IPアドレス25が論理IPアドレスIP
Sの場合に当該フィルタドライバ505a,505bに
より起動され、IPパケット24中の送信元IPアドレ
ス26に基づいて、自サーバ計算機50a,50bがサ
ービスを提供すべきか否かを示す「オン」または「オ
フ」のフラグ情報を当該フィルタドライバ505a,5
05bに返すように構成されている。
【0064】ARP要求処理部507a,507bは、
フィルタドライバ505a,505bから渡されたIP
パケット24をもとに、論理IPアドレスIPSに対応
した論理MACアドレスMACSをセットしたARP応
答パケットを組み立て、当該フィルタドライバ505
a,505bに渡すように構成されている。
【0065】次に、図5のシステムの動作を、クライア
ント計算機51(のネットワークアダプタ512)から
IPS宛ての通信パケット20がネットワーク52上に
送出された場合を例に、図6乃至図8のフローチャート
を参照して説明する。
【0066】まず、クライアント計算機51からネット
ワーク52上に、IPパケット24の送信先IPアドレ
ス25が論理IPアドレスIPSである通信パケット2
0、つまりIPS宛てのIPパケット24を含む通信パ
ケット20が送出されたものとする。このクライアント
計算機51からネットワーク52上に送出された通信パ
ケット20は、当該ネットワーク52に接続されている
各計算機に導かれ、その計算機のネットワークアダプタ
で受信される。例えば、サーバ計算機50a,50bで
は、ネットワークアダプタ502a,502bにてクラ
イアント計算機51からの通信パケット20が受信され
る。
【0067】サーバ計算機50a,50bのネットワー
クアダプタ502a,502bで受信されたクライアン
ト計算機51からの通信パケット20は、そのままネッ
トワークアダプタドライバ503a,503bに渡され
る。
【0068】サーバ計算機50a,50bのネットワー
クアダプタドライバ503a,503bは、ネットワー
クアダプタ502a,502bから渡された通信パケッ
ト20のイーサネットヘッダ23中の送信先MACアド
レス21をチェックし(ステップS21)、当該送信先
MACアドレス21がネットワークアダプタ502a,
502bに固有のMACアドレスMACa,MACb、
または論理MACアドレスMACS、または所定のブロ
ードキャストアドレスのいずれかである場合に、当該通
信パケット20からIPパケット24(イーサネットヘ
ッダ23を取り除いた部分のパケット)を取り出してフ
ィルタドライバ505a,505bに渡す(ステップS
22)。これに対し、送信先MACアドレス21がMA
CアドレスMACa,MACb、または論理MACアド
レスMACS、または所定のブロードキャストアドレス
のいずれでもない場合には、ネットワークアダプタドラ
イバ503a,505bは、通信パケット20を破棄す
る(ステップS23)。
【0069】サーバ計算機50a,50bのフィルタド
ライバ505a,505bは、ネットワークアダプタド
ライバ503a,503bからIPパケット24を渡さ
れると、当該IPパケット24中の送信先IPアドレス
25をチェックし、その送信先IPアドレス25が論理
IPアドレスIPSに一致するか否かを判断する(ステ
ップS31)。
【0070】もし、この例とは異なって、送信先IPア
ドレス25が論理IPアドレスIPSに一致しないなら
ば、フィルタドライバ505a,505bは該当するI
Pパケット24をそのままTCP/IPプロトコルドラ
イバ504a,504bに渡す(ステップS32)。
【0071】これに対し、この例のように送信先IPア
ドレス25が論理IPアドレスIPSに一致するなら
ば、フィルタドライバ505a,505bは、該当する
IPパケット24を判断部506a,506bに渡し
て、その判断部506a,506bから判断結果が返さ
れるのを待つ(ステップS33)。
【0072】サーバ計算機50a,50bの判断部50
6a,506bは、フィルタドライバ505a,505
bから渡されたIPパケット24中の送信元IPアドレ
ス26をチェックし(ステップS41a,S41b)、
当該送信元IPアドレス26により、自サーバ計算機1
0a,10bで処理を続けるか否かを判断する(ステッ
プS42a,S42b)。本実施形態では、送信元IP
アドレス26が奇数アドレス(odd)、或いは偶数ア
ドレス(even)のいずれであるかを(例えば送信元
IPアドレス26の最下位ビットが“1”、或いは
“0”のいずれであるかにより)調べ、そのチェック結
果により処理を続けるか否かが判断される。ここでは、
上記のチェック結果と判断結果とは判断部506aと5
06bとで逆になるように設定されている。つまり送信
元IPアドレス26が奇数アドレスの場合には、判断部
506aは例えば処理を続けると判断し、判断部506
bは処理を続けないと判断する。これに対し、送信元I
Pアドレス26が偶数アドレスの場合には、上記とは逆
に、判断部506aは処理を続けないと判断し、判断部
506bは処理を続けると判断する。
【0073】判断部506a,506bは、上記ステッ
プS42a,S42bでの判断結果を表すフラグ情報を
フィルタドライバ505a,505bに返す。ここで
は、例えば判断部506aでは、送信元IPアドレス2
6が奇数アドレスのために処理を続けると判断した場合
には、「オン」のフラグ情報を返し(ステップS43
a)、偶数アドレスのために処理を続けないと判断した
場合には「オフ」のフラグ情報を返す(ステップS44
a)。一方、判断部506bでは、送信元IPアドレス
26が偶数アドレスのために処理を続けると判断した場
合には、「オン」のフラグ情報を返し(ステップS43
b)、奇数アドレスのために処理を続けないと判断した
場合には「オフ」のフラグ情報を返す(ステップS44
b)。
【0074】サーバ計算機50a,50bのフィルタド
ライバ505a,505bは、判断部506a,506
bから判断結果としてのフラグ情報が返されると、その
フラグ情報の状態(オン/オフ)をチェックする(ステ
ップS34)。
【0075】もし、フラグ情報(判断結果)が「オン」
であるならば、フィルタドライバ505a,505bは
処理を続けるものと判断し、ネットワークアダプタドラ
イバ503a,503bから渡されたIPパケット24
が当該IPパケット24中の論理IPアドレスIPSに
対応する論理MACアドレスMACSを要求するARP
要求パケットであるか否かをチェックする(ステップS
35)。そして、ARP要求パケットであるならば、フ
ィルタドライバ505a,505bは当該ARP要求パ
ケットをARP要求処理部507a,507bに渡す
(ステップS36)。これに対し、ARP要求パケット
でないならば、フィルタドライバ505a,505b
は、IPパケット24中の送信先IPアドレス25、即
ち論理IPアドレスIPSを自サーバ計算機50a,5
0bに固有の実IPアドレスIPa,IPbに書き換え
て(ステップS37)、その書き換え後のIPパケット
24をTCP/IPプロトコルドライバ504a,50
4bに渡す(ステップS32)。
【0076】ARP要求処理部507a,507bは、
フィルタドライバ505a,505bからARP要求パ
ケットを渡された場合、そのパケットをもとに、論理I
PアドレスIPSに対応する論理MACアドレスMAC
SをセットしたARP応答パケットを組み立て、そのA
RP応答パケットをフィルタドライバ505a,505
bを介してネットワークアダプタドライバ503a,5
03bに渡し、ネットワークアダプタ502a,502
bによりネットワーク52を介してARP要求元のクラ
イアント計算機11へ送信させる。
【0077】同様にTCP/IPプロトコルドライバ5
04a,504bは、フィルタドライバ505a,50
5bから(送信先IPアドレス25がサーバ計算機50
a,50bの実IPアドレスIPa,IPbである)I
Pパケット24を渡された場合、当該IPパケット24
の処理を行い、例えばサーバプログラム501a,50
1bに渡す。
【0078】一方、判断部506a,506bから返さ
れるフラグ情報(判断結果)が「オフ」であるならば、
フィルタドライバ505a,505bは処理を続けない
ものと判断し、ネットワークアダプタドライバ503
a,503bから渡されたIPパケット24を破棄し
て、以降の処理を行わない(ステップS38)。
【0079】明らかなように本実施形態では、サーバ計
算機50aの判断部506aからフィルタドライバ50
5aに「オン」のフラグ情報が返される場合には、サー
バ計算機50bの判断部506bからフィルタドライバ
505bには「オフ」のフラグ情報が返され、判断部5
06aからフィルタドライバ505aに「オフ」のフラ
グ情報が返される場合には、判断部506bからフィル
タドライバ505bには「オン」のフラグ情報が返され
る。つまり本実施形態では、クライアント計算機11か
らの、論理IPアドレスIPS及び論理MACアドレス
MACSを送信先として指定したサーバ計算機を宛先と
するパケットの送信に対して、サーバ計算機50aまた
は50bのうち送信元のクライアント計算機11のIP
アドレスで決まるいずれか一方のサーバ計算機だけが当
該パケットの処理を行い、他方のサーバ計算機は当該パ
ケットを破棄することになるため、負荷分散が図れる。
【0080】次にサーバ計算機50a,50bからのパ
ケット送信処理について、図9のフローチャートを参照
して説明する。
【0081】まず、サーバ計算機50a,50bにおい
て、TCP/IPプロトコルドライバ504a,504
bからフィルタドライバ505a,505bに、送信元
IPアドレス26として自計算機の実IPアドレスIP
aが設定され、送信元MACアドレス22として自計算
機(のネットワークアダプタ502a,502b)に固
有のMACアドレスMACa,MACbが設定された通
信パケット20が渡されたものとする。
【0082】この場合、フィルタドライバ505a,5
05bは、TCP/IPプロトコルドライバ504a,
504bから渡された通信パケット20中の、送信元I
Pアドレス26、即ち実IPアドレスIPa,IPb
を、サーバ計算機50a,50bに共通の論理IPアド
レスIPSに書き換えると共に、送信元MACアドレス
22、即ちMACアドレスMACa,MACbを、論理
IPアドレスIPSに対応した論理MACアドレスMA
CSに書き換える(ステップS51)。そしてフィルタ
ドライバ505a,505bは、上記書き換え後の通信
パケット20をネットワークアダプタドライバ503
a,503bに渡してネットワークアダプタ502a,
502bからネットワーク52上に送出させる。これに
より当該通信パケット20の宛先の計算機では、送信元
がサーバ計算機50aまたはサーバ計算機50bのいず
れの場合でも、送信元のサーバ計算機のIPアドレスが
論理IPアドレスIPSで、MACアドレスが論理MA
CアドレスMACSであると認識する。
【0083】以上により、クライアント計算機51から
論理IPアドレスIPSを指定してサーバ計算機へ接続
すれば、クライアント計算機51のIPアドレスによっ
て接続先のサーバ計算機を振り分けられ、負荷分散が実
現する。図5では作図の都合上、クライアント計算機5
1が1台だけ示されているが、複数台存在する場合、I
Pアドレスが奇数のクライアント計算機51からの接続
要求に対しては、サーバ計算機50aで処理され、IP
アドレスが偶数のクライアント計算機51からの接続要
求に対しては、サーバ計算機50bで処理される。
【0084】さて、サーバ計算機50a,50bで、論
理IPアドレスIPSの設定を変更したい場合には、前
記第1の実施形態におけるフィルタドライバ105a,
105bと同様に、フィルタドライバ505a,505
bにて任意の論理IPアドレスIPSに変更設定すれば
よく、当該論理IPアドレスIPSは動的に変更設定可
能である。
【0085】なお、本実施形態ではサーバ計算機が2台
の場合について説明したが、サーバ計算機が3台以上の
システムにおいても同様に適用可能である。但し、サー
バ計算機の数が3台以上の場合には、その数をNとする
と、i番目(i=1〜N)のサーバ計算機では、クライ
アント計算機51からのIPS宛ての通信パケット20
の送信元IPアドレス26がN・n+(i−1)(但
し、n=0,1,2…)の場合に、(図6中の判断部5
06a,506bに相当する)当該サーバ計算機内の判
断部から(図6中のフィルタドライバ505a,505
bに相当する)フィルタドライバに「オン」を返す構成
とすることで、対処できる。
【0086】
【発明の効果】以上詳述したように本発明によれば、ネ
ットワーク層の前段にフィルタドライバを実装すること
により、クライアントアプリケーションの改造、更には
ネームサービスサーバの設定を要することなく、クラス
タ全体を表すネットワークアドレス(論理ネットワーク
アドレス)のテイクオーバが実現できる。
【0087】また本発明によれば、論理ネットワークア
ドレスによる送信先指定の受信パケットに対して、送信
先ネットワークアドレスを自計算機の実ネットワークア
ドレスに書き換えると共に、自計算機の実ネットワーク
アドレスによる送信元指定の送信パケットに対しては、
送信元ネットワークアドレスを論理ネットワークアドレ
スに書き換えることにより、ネットワークアドレスの設
定変更が動的に行えないOSが搭載されているサーバ計
算機においても、論理ネットワークアドレスのOSレベ
ルでの管理が不要となるため、当該論理ネットワークア
ドレスをフィルタドライバ側で動的に変更設定できる。
【0088】また本発明によれば、ネットワーク層の前
段にフィルタドライバを実装し、クラスタ全体を表す論
理ネットワークアドレス及び当該ネットワークアドレス
に対応した論理ハードウェアアドレスによる送信先指定
の受信パケットを各サーバ計算機で受信しても、フィル
タドライバで、送信元ネットワークアドレスに基づいて
当該パケットのフィルタリングを行い、その送信元ネッ
トワークアドレスで決まる唯一のサーバ計算機において
のみ当該パケットを破棄せずに処理するようにしたの
で、各クライアント計算機が同じ論理ネットワークアド
レスを送信先ネットワークとして指定して接続要求を行
っても、そのクライアント計算機のネットワークアドレ
スによってサーバ計算機側で接続するサーバ計算機を振
り分けることができ、負荷分散が実現できる。
【0089】しかも、受信パケットを破棄せずに処理す
る際には、送信先ネットワークアドレスとして設定され
た論理ネットワークを自計算機の実ネットワークアドレ
スに書き換え、パケットの送信時には、当該パケット中
の送信元ネットワークアドレスを上記論理ネットワーク
アドレスに、送信元ハードウェアアドレスを上記論理ハ
ードウェアアドレスにそれぞれ書き換えるようにしたの
で、各クライアント計算機からの論理ネットワークアド
レス及び論理ハードウェアアドレスを用いた指定による
接続が可能となると共に、ネットワークアドレスの設定
変更が動的に行えないOSが搭載されているサーバ計算
機においても、論理ネットワークアドレスのOSレベル
での管理が不要となるため、当該論理ネットワークアド
レスをフィルタドライバ側で動的に変更設定できる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るクラスタシステ
ムの構成を示すブロック図。
【図2】通信パケットの概略フォーマット。
【図3】同実施形態におけるフィルタドライバでのパケ
ット受信時の動作を説明するためのフローチャート。
【図4】同実施形態におけるフィルタドライバでのパケ
ット送信時の動作を説明するためのフローチャート。
【図5】本発明の第2の実施形態に係るクラスタシステ
ムの構成を示すブロック図。
【図6】同実施形態におけるネットワークアダプタドラ
イバでのパケット受信時の動作を説明するためのフロー
チャート。
【図7】同実施形態におけるフィルタドライバでのパケ
ット受信時の動作を説明するためのフローチャート。
【図8】同実施形態における判断部の動作を説明するた
めのフローチャート。
【図9】同実施形態におけるフィルタドライバでのパケ
ット送信時の動作を説明するためのフローチャート。
【符号の説明】
10a,10b,50a,50b…サーバ計算機 11,51…クライアント計算機 12,52…ネットワーク 102a,102b,502a,502b…ネットワー
クアダプタ 103a,103b,503a,503b…ネットワー
クアダプタドライバ(第1のドライバ) 104a,104b,504a,504b…TCP/I
Pプロトコルドライバ(第2のドライバ) 105a,105b,505a,505b…フィルタド
ライバ 506a,506b…判断部 507a,507b…ARP(アドレス解決プロトコ
ル)要求処理部 IPa,IPb…実IPアドレス(実ネットワークアド
レス) IPS…論理IPアドレス(論理ネットワークアドレ
ス) MACa,MACb…MACアドレス(ハードウェアア
ドレス) MACS…論理MACアドレス(論理ハードウェアアド
レス) Fa,Fb…フラグ
フロントページの続き Fターム(参考) 5B045 BB44 GG01 JJ44 5B089 GA11 GB01 HA04 HB02 HB10 JA11 KB07 KC27 KC51 KE03 KH03 MA03 5K030 GA12 HA08 HC14 HD09 LB05 LE03 MD02 5K033 AA03 AA06 BA04 CB06 CB09 CB11 DB08 DB12 DB14 EB06 EC03

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 各サーバ計算機に固有の実ネットワーク
    アドレスとは別の、クラスタ全体を表す論理ネットワー
    クアドレスを含む通信パケットを用いた通信によりサー
    バ計算機間でサービスの引き継ぎが行われるクラスタシ
    ステムであって、 前記各サーバ計算機は、 2つの状態のうちのいずれか一方に任意に切り替え設定
    可能なフラグ情報を保持するフラグ情報保持手段と、 受信パケットのフィルタリングを行うフィルタドライバ
    とを具備し、 前記フィルタドライバは、 パケットの受信時には、当該パケット中の送信先ネット
    ワークアドレスが前記論理ネットワークアドレスに一致
    しているならば、自計算機の前記フラグ情報の状態に応
    じて当該パケットを破棄し、破棄しないときは、当該パ
    ケット中の前記送信先ネットワークアドレスを自計算機
    に固有の前記実ネットワークアドレスに書き換え、パケ
    ットの送信時には、当該パケット中の送信元ネットワー
    クアドレスを前記論理ネットワークアドレスに書き換え
    るように構成されていることを特徴とするクラスタシス
    テム。
  2. 【請求項2】 各サーバ計算機に固有の実ネットワーク
    アドレスとは別の、クラスタ全体を表す論理ネットワー
    クアドレスが送信先ネットワークアドレスとして設定さ
    れると共に、前記サーバ計算機に固有のハードウェアア
    ドレスとは別の、前記論理ネットワークアドレスに対応
    した論理ハードウェアアドレスが送信先ハードウェアア
    ドレスとして設定されたクライアント計算機からの通信
    パケットを受けて、前記各サーバ計算機のいずれか1つ
    が前記クライアント計算機と通信を行うクラスタシステ
    ムであって、 前記各サーバ計算機は、 前記論理ネットワークアドレスを送信先ネットワークア
    ドレスとする通信パケットの受信時に起動されて、当該
    パケット中の送信元ネットワークアドレスに基づいて自
    計算機が該当する送信元にサービスを提供すべきである
    か否かを判断する判断手段と、 受信パケットのフィルタリングを行うフィルタドライバ
    と、 インタフェース層の処理を司り、受信パケット中の送信
    先ハードウェアアドレスが自計算機に固有のハードウェ
    アアドレス、前記論理ハードウェアアドレス、またはブ
    ロードキャストアドレスのいずれかの場合に前記フィル
    タドライバにパケットを渡すネットワークアダプタドラ
    イバとを具備し、 前記フィルタドライバは、 パケットの受信時には、当該パケット中の送信先ネット
    ワークアドレスが前記論理ネットワークアドレスに一致
    しているならば、前記判断手段の判断結果に応じて当該
    パケットを破棄し、破棄しないときは、パケット種別に
    応じて当該パケット中の前記送信先ネットワークアドレ
    スを自計算機に固有の前記実ネットワークアドレスに書
    き換え、パケットの送信時には、当該パケット中の送信
    元ネットワークアドレスを前記論理ネットワークアドレ
    スに、送信元ハードウェアアドレスを前記論理ハードウ
    ェアアドレスにそれぞれ書き換えるように構成されてい
    ることを特徴とするクラスタシステム。
  3. 【請求項3】 前記判断手段の判断結果により前記フィ
    ルタドライバでの破棄の対象とならなかったパケットが
    前記論理ネットワークアドレスへのアドレス解決プロト
    コル要求の場合に起動され、前記論理ネットワークアド
    レスに対応した前記論理ハードウェアアドレスをセット
    したアドレス解決プロトコル応答パケットを組み立てて
    前記ネットワークアダプタドライバを介して要求元に送
    信させるアドレス解決プロトコル要求処理手段を更に具
    備することを特徴とする請求項2記載のクラスタシステ
    ム。
  4. 【請求項4】 各サーバ計算機に固有の実ネットワーク
    アドレスとは別の、クラスタ全体を表す論理ネットワー
    クアドレスを含む通信パケットを用いた通信によりサー
    バ計算機間でサービスの引き継ぎが行われるクラスタシ
    ステムに適用されるサーバ計算機であって、 2つの状態のうちのいずれか一方に任意に切り替え設定
    可能なフラグ情報を保持するフラグ情報保持手段と、 受信パケットのフィルタリングを行うフィルタドライバ
    とを具備し、 前記フィルタドライバは、 パケットの受信時には、当該パケット中の送信先ネット
    ワークアドレスが前記論理ネットワークアドレスに一致
    しているならば、自計算機の前記フラグ情報の状態に応
    じて当該パケットを破棄し、破棄しないときは、当該パ
    ケット中の前記送信先ネットワークアドレスを自計算機
    に固有の前記実ネットワークアドレスに書き換え、パケ
    ットの送信時には、当該パケット中の送信元ネットワー
    クアドレスを前記論理ネットワークアドレスに書き換え
    るように構成されていることを特徴とするサーバ計算
    機。
  5. 【請求項5】 各サーバ計算機に固有の実ネットワーク
    アドレスとは別の、クラスタ全体を表す論理ネットワー
    クアドレスが送信先ネットワークアドレスとして設定さ
    れると共に、前記サーバ計算機に固有のハードウェアア
    ドレスとは別の、前記論理ネットワークアドレスに対応
    した論理ハードウェアアドレスが送信先ハードウェアア
    ドレスとして設定されたクライアント計算機からの通信
    パケットを受けて、前記各サーバ計算機のいずれか1つ
    が前記クライアント計算機と通信を行うクラスタシステ
    ムに適用されるサーバ計算機であって、 前記論理ネットワークアドレスを送信先ネットワークア
    ドレスとする通信パケットの受信時に起動されて、当該
    パケット中の送信元ネットワークアドレスに基づいて自
    計算機が該当する送信元にサービスを提供すべきである
    か否かを判断する判断手段と、 受信パケットのフィルタリングを行うフィルタドライバ
    と、 インタフェース層の処理を司り、受信パケット中の送信
    先ハードウェアアドレスが自計算機に固有のハードウェ
    アアドレス、前記論理ハードウェアアドレス、またはブ
    ロードキャストアドレスのいずれかの場合に前記フィル
    タドライバにパケットを渡すネットワークアダプタドラ
    イバとを具備し、 前記フィルタドライバは、 パケットの受信時には、当該パケット中の送信先ネット
    ワークアドレスが前記論理ネットワークアドレスに一致
    しているならば、前記判断手段の判断結果に応じて当該
    パケットを破棄し、破棄しないときは、パケット種別に
    応じて当該パケット中の前記送信先ネットワークアドレ
    スを自計算機に固有の前記実ネットワークアドレスに書
    き換え、パケットの送信時には、当該パケット中の送信
    元ネットワークアドレスを前記論理ネットワークアドレ
    スに、送信元ハードウェアアドレスを前記論理ハードウ
    ェアアドレスにそれぞれ書き換えるように構成されてい
    ることを特徴とするサーバ計算機。
  6. 【請求項6】 各サーバ計算機に固有の実ネットワーク
    アドレスとは別の、クラスタ全体を表す論理ネットワー
    クアドレスを含む通信パケットを用いた通信によりサー
    バ計算機間でサービスの引き継ぎが行われるクラスタシ
    ステムにおけるネットワークアドレスのテイクオーバ方
    法であって、 前記各サーバ計算機に、2つの状態のうちのいずれか一
    方に任意に切り替え設定可能なフラグ情報を保持してお
    き、 パケットの受信時には、インタフェース層の処理を司る
    第1のドライバとネットワーク層及びトランスポート層
    の処理を司る第2のドライバとの間に配置したフィルタ
    ドライバにて、当該パケット中の送信先ネットワークア
    ドレスを調べ、前記論理ネットワークアドレスに一致し
    ているならば、自計算機の前記フラグ情報の状態に応じ
    て当該パケットを破棄し、破棄しないときは、当該パケ
    ット中の前記送信先ネットワークアドレスを自計算機に
    固有の前記実ネットワークアドレスに書き換えて前記第
    2のドライバに渡し、 前記第2のドライバから渡されたパケットの送信時に
    は、前記フィルタドライバにて当該パケット中の送信元
    ネットワークアドレスを前記論理ネットワークアドレス
    に書き換えて前記第1のドライバに渡すことを特徴とす
    るネットワークアドレスのテイクオーバ方法。
  7. 【請求項7】 各サーバ計算機に固有の実ネットワーク
    アドレスとは別の、クラスタ全体を表す論理ネットワー
    クアドレスが送信先ネットワークアドレスとして設定さ
    れると共に、前記サーバ計算機に固有のハードウェアア
    ドレスとは別の、前記論理ネットワークアドレスに対応
    した論理ハードウェアアドレスが送信先ハードウェアア
    ドレスとして設定されたクライアント計算機からの通信
    パケットを受けて、前記各サーバ計算機のいずれか1つ
    が前記クライアント計算機と通信を行うクラスタシステ
    ムに適用される負荷分散方法であって、 インタフェース層の処理を司る第1のドライバで受信し
    たパケットの送信先ハードウェアアドレスが自計算機に
    固有のハードウェアアドレス、前記論理ハードウェアア
    ドレス、またはブロードキャストアドレスのいずれかの
    場合に、そのパケットを前記第1のドライバとネットワ
    ーク層及びトランスポート層の処理を司る第2のドライ
    バとの間に配置したフィルタドライバに渡し、前記フィ
    ルタドライバにて、前記第1のドライバから受け取った
    パケット中 の送信先ネットワークアドレスを調べ、前記論理ネット
    ワークアドレスに一致しているならば、当該パケット中
    の送信元ネットワークアドレスに基づいて、該当する送
    信元に自計算機がサービスを提供すべき計算機であるか
    否かを調べ、その結果に応じて当該パケットを破棄し、
    破棄しないときは、パケット種別に応じて当該パケット
    中の前記送信先ネットワークアドレスを自計算機に固有
    の前記実ネットワークアドレスに書き換えて前記第2の
    ドライバに渡し、 前記第2のドライバから渡されたパケットの送信時に
    は、当該パケット中の送信元ネットワークアドレスを前
    記論理ネットワークアドレスに、送信元ハードウェアア
    ドレスを前記論理ハードウェアアドレスにそれぞれ書き
    換えて前記第1のドライバに渡すことを特徴とする負荷
    分散方法。
JP36370898A 1998-12-22 1998-12-22 クラスタシステム、サーバ計算機及び負荷分散方法 Expired - Fee Related JP4015770B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP36370898A JP4015770B2 (ja) 1998-12-22 1998-12-22 クラスタシステム、サーバ計算機及び負荷分散方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36370898A JP4015770B2 (ja) 1998-12-22 1998-12-22 クラスタシステム、サーバ計算機及び負荷分散方法

Publications (2)

Publication Number Publication Date
JP2000187632A true JP2000187632A (ja) 2000-07-04
JP4015770B2 JP4015770B2 (ja) 2007-11-28

Family

ID=18479993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36370898A Expired - Fee Related JP4015770B2 (ja) 1998-12-22 1998-12-22 クラスタシステム、サーバ計算機及び負荷分散方法

Country Status (1)

Country Link
JP (1) JP4015770B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004075070A1 (ja) * 2003-02-20 2004-09-02 Fujitsu Limited 計算機ノード、クラスタシステム、クラスタ管理方法、クラスタ管理プログラム
JP2006067293A (ja) * 2004-08-27 2006-03-09 Canon Inc 情報処理装置及び受信パケットのフィルタリング処理方法
JP2008295041A (ja) * 2007-05-18 2008-12-04 Nvidia Corp ネットワークトラフィックのインテリジェントロードバランシング及びフェイルオーバー
JP2008295043A (ja) * 2007-05-18 2008-12-04 Nvidia Corp ネットワークトラフィックのインテリジェントロードバランシング及びフェイルオーバー
US7499451B2 (en) 2003-02-20 2009-03-03 Fujitsu Limited Computer node, cluster system, cluster managing method, and cluster managing program
US7831713B2 (en) 2003-03-21 2010-11-09 Intel Corporation System and method for managing distributed objects as a single representation
US8134928B1 (en) 2005-12-15 2012-03-13 Nvidia Corporation Technique for identifying a failed network interface card within a team of network interface cards
US8300647B2 (en) 2007-05-18 2012-10-30 Nvidia Corporation Intelligent load balancing and failover of network traffic
US8432788B2 (en) 2007-05-18 2013-04-30 Nvidia Corporation Intelligent failback in a load-balanced networking environment

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004075070A1 (ja) * 2003-02-20 2004-09-02 Fujitsu Limited 計算機ノード、クラスタシステム、クラスタ管理方法、クラスタ管理プログラム
US7499451B2 (en) 2003-02-20 2009-03-03 Fujitsu Limited Computer node, cluster system, cluster managing method, and cluster managing program
US10313260B2 (en) 2003-03-21 2019-06-04 Intel Corporation System and method for managing distributed objects as a single representation
US8271605B2 (en) 2003-03-21 2012-09-18 Intel Corporation System and method for managing distributed objects as a single representation
US7831713B2 (en) 2003-03-21 2010-11-09 Intel Corporation System and method for managing distributed objects as a single representation
JP2006067293A (ja) * 2004-08-27 2006-03-09 Canon Inc 情報処理装置及び受信パケットのフィルタリング処理方法
JP4579623B2 (ja) * 2004-08-27 2010-11-10 キヤノン株式会社 情報処理装置及び受信パケットのフィルタリング処理方法
US8134928B1 (en) 2005-12-15 2012-03-13 Nvidia Corporation Technique for identifying a failed network interface card within a team of network interface cards
JP4651692B2 (ja) * 2007-05-18 2011-03-16 エヌヴィディア コーポレイション ネットワークトラフィックのインテリジェントロードバランシング及びフェイルオーバー
US7995465B2 (en) 2007-05-18 2011-08-09 Nvidia Corporation Intelligent load balancing and failover of network traffic
US7792018B2 (en) 2007-05-18 2010-09-07 Nvidia Corporation Intelligent load balancing and failover of network traffic
JP2008295043A (ja) * 2007-05-18 2008-12-04 Nvidia Corp ネットワークトラフィックのインテリジェントロードバランシング及びフェイルオーバー
US8300647B2 (en) 2007-05-18 2012-10-30 Nvidia Corporation Intelligent load balancing and failover of network traffic
US8432788B2 (en) 2007-05-18 2013-04-30 Nvidia Corporation Intelligent failback in a load-balanced networking environment
TWI479841B (zh) * 2007-05-18 2015-04-01 Nvidia Corp 網路流量之智慧型負載平衡及失效切換
JP2008295041A (ja) * 2007-05-18 2008-12-04 Nvidia Corp ネットワークトラフィックのインテリジェントロードバランシング及びフェイルオーバー

Also Published As

Publication number Publication date
JP4015770B2 (ja) 2007-11-28

Similar Documents

Publication Publication Date Title
US6999998B2 (en) Shared memory coupling of network infrastructure devices
US6560630B1 (en) Receive load balancing and fail over with multiple network interface cards
US6901580B2 (en) Configuration parameter sequencing and sequencer
JP3372455B2 (ja) パケット中継制御方法,パケット中継装置およびプログラム記憶媒体
US7757007B2 (en) Computer program product and system for managing virtual instances of a physical port attached to a network
US20060206611A1 (en) Method and system for managing programs with network address
EP1613015A1 (en) Network protocol processing device
JP5085831B2 (ja) リクエストの集中及びロードバランシングのためのシステム及び方法
US6370583B1 (en) Method and apparatus for portraying a cluster of computer systems as having a single internet protocol image
US20040071148A1 (en) Information device, gateway device and control method
US7433349B2 (en) Automatic compiling of address filter information
US7359387B2 (en) Systems and methods for implementing virtual router
JPH0621944A (ja) ネットワーク資源を遠隔のネットワークに拡張するシステム
JP2002335265A (ja) 統合サービス管理システム
US20030101275A1 (en) Information processing system accessed through network and control method of packet transfer load
JPH06205014A (ja) 経路指定方法及び装置
JP2000209212A (ja) 通信ネットワ―クシステムおよび通信ネットワ―クシステムにおけるサ―ビス管理方法
US20050271049A1 (en) DHCP cache method and apparatus
JP4015770B2 (ja) クラスタシステム、サーバ計算機及び負荷分散方法
US8209371B2 (en) Method and system for managing communication in a computer network using aliases of computer network addresses
US6101542A (en) Service management method and connection oriented network system using such management method
JPH10320327A (ja) 二重化された通信アダプタの切替方法、切替方式、および切替用プログラムを格納した記録媒体
JP2003234752A (ja) タグ変換を用いた負荷分散方法及びタグ変換装置、負荷分散制御装置
EP1258127B1 (en) Method and apparatus for making a computational service highly available
JP3872909B2 (ja) クラスタシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070619

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070808

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: 20070911

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070914

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110921

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120921

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120921

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130921

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees