JP2004326667A - コンピュータ名引継ぎ時の名前解決方法、クラスタサーバ計算機及びクラスタサービスプログラム - Google Patents

コンピュータ名引継ぎ時の名前解決方法、クラスタサーバ計算機及びクラスタサービスプログラム Download PDF

Info

Publication number
JP2004326667A
JP2004326667A JP2003123701A JP2003123701A JP2004326667A JP 2004326667 A JP2004326667 A JP 2004326667A JP 2003123701 A JP2003123701 A JP 2003123701A JP 2003123701 A JP2003123701 A JP 2003123701A JP 2004326667 A JP2004326667 A JP 2004326667A
Authority
JP
Japan
Prior art keywords
name
computer
server
server computer
network address
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
JP2003123701A
Other languages
English (en)
Other versions
JP3848290B2 (ja
Inventor
Masaharu Takayama
雅陽 高山
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 JP2003123701A priority Critical patent/JP3848290B2/ja
Publication of JP2004326667A publication Critical patent/JP2004326667A/ja
Application granted granted Critical
Publication of JP3848290B2 publication Critical patent/JP3848290B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】サーバ間の引き継ぎ動作後に、クライアントが引き継ぎ先のサーバと直ちに通信できるようにする。
【解決手段】障害が発生したサーバからサービスを引き継ぐ引き継ぎ先のサーバは、仮想サーバ名(特定コンピュータ名)を引き継ぐと共に、ネームサーバのデータベースに登録されている、仮想サーバ名と障害発生サーバのネットワークアドレスとの対応を示す情報を、仮想サーバ名と引き継ぎ先サーバのネットワークアドレスとの対応を示す情報に更新させる(ステップS1,S2)。引き継ぎ先サーバはまた、仮想サーバ名の引き継ぎ時に、ネームサーバのデータベースに登録されているクライアントを探し、そのクライアントに対して、名前キャッシュテーブルの情報を仮想サーバ名と自身のネットワークアドレスとの対応を示す情報に更新させるためのメッセージを通知する(S3乃至S5)。
【選択図】 図5

Description

【0001】
【発明の属する技術分野】
本発明は、クラスタシステムを構成する複数のサーバ計算機のうちのクライアント計算機にサービスを提供しているサーバ計算機に障害が発生した結果、クラスタシステム内の残りのいずれかのサーバ計算機が当該サービスを継続すると共に、当該サービスを提供しているサーバ計算機のみに一時的に割り当てられている特定のコンピュータ名を当該サービスを引き継ぐ他のサーバ計算機に引き継ぐ場合に好適な、コンピュータ名引継ぎ時の名前解決方法、クラスタサーバ計算機及びクラスタサービスプログラムを提供することにある。
【0002】
【従来の技術】
近年、計算機システムの可用性を高めたシステムとして、クラスタシステムが注目を集めている。このクラスタシステムでは、クライアント(クライアント計算機)に対して継続的にサービスを供給するために、サーバ(サーバ計算機)を2重化して、一方のサーバ(主系サーバ、現用機)が障害等で運用を停止した場合に、そのサーバが提供していたサービスを他方のサーバ(待機系サーバ、予備機)で引き継ぐという、サーバのクラスタリングに関する技術が適用される(例えば、特許文献1参照)。
【0003】
特許文献1に記載された技術では、クライアント(他のシステム)に対してサービスを提供していた、ネットワークアドレス(IPアドレス)がAのサーバが障害等で運用を停止した場合、ネットワークアドレス(IPアドレス)がBのサーバから当該クライアント(他のシステム)へコネクション(制御用コネクション)接続が実行されると共に、系切り替え通知が実行される。クライアントは、この系切り替え通知を受け取ると、自身が管理する相手サーバ情報テーブル上のネットワークアドレスをAからBに更新する。クライアントは、この更新されたネットワークアドレスBをもとにコネクション(データ用コネクション)を実行する。これにより、2重化されたサーバのうちの一方のサーバが提供していたサービスを他方のサーバで引き継ぐことができる。
【0004】
【特許文献1】
特開2001−144768号公報(段落0013乃至段落0015、図3及び図4)
【0005】
【発明が解決しようとする課題】
しかしながら上記した従来技術においては、障害が発生したサーバとの間にコネクションが接続されていなかったクライアントの相手サーバ情報テーブルには、サービスを引き継いだサーバのネットワークアドレスは反映されない。このため、この種のクライアント(例えば、障害が発生したサーバのネットワークアドレスが登録された相手サーバ情報テーブルを持つクライアント)は、サービスを引き継いだサーバと接続することができない。そこで、この種のクライアントが持つ相手サーバ情報テーブルも正しく更新できるようにするためには、サーバは過去にサービスを要求した全てのクライアントを記憶していなければならない。
【0006】
ところで、クラスタシステムにおいて、クライアントがサーバと通信しようとする際に、コンピュータ名で宛先のサーバ(サービスを要求するサーバ)を指定することがある。この場合、クライアントをサーバに実際に接続するためには、宛先のサーバのコンピュータ名を当該サーバのネットワークアドレスに解決する必要がある。そのためには、ブロードキャストを用いた問い合わせ、或いはネームサーバへの問い合わせ等が適用される。これらの通信によるネットワークの負荷を軽減するため、このように名前解決を行った結果はクライアントのローカルな名前キャッシュテーブル(名前記憶手段)に例えば一定時間保存される。そこで、名前キャッシュテーブルにエントリが残っている間は、当該キャッシュテーブルを利用して名前解決を行うのが一般的である。
【0007】
ここで、2重化されたサーバを備えたクラスタシステムにおいて、一方のサーバに障害が発生した結果、他方のサーバがサービスを引き継ぐために、サービスを提供するサーバ計算機にのみ一時的に割り当てられるコンピュータ名(例えば仮想サーバ名と呼ばれる特定コンピュータ名)を引き継ぐ場合を考える。この時点でクライアントの名前キャッシュテーブルにサーバのコンピュータ名に対応するネットワークアドレスが存在している場合、そのネットワークアドレスは引継ぎ前のサーバのネットワークアドレスである。しかし、実際には引継ぎ後のサーバのネットワークアドレスが、サービスを要求すべきサーバの本当のアドレスである。したがって、この状態でクライアントがサーバと通信を行おうとすると、通信先のネットワークアドレスに対応するサーバが見つからないために接続に失敗してしまう。
【0008】
本発明は上記事情を考慮してなされたものでその目的は、サーバ計算機がコンピュータ名(特定コンピュータ名)の引継ぎを行った際に、その引き継ぎをクライアント計算機に反映でき、これによりサーバ計算機間の引き継ぎ動作後に、クライアント計算機が引き継ぎ先のサーバ計算機と直ちに通信できる、コンピュータ名引き継ぎ時の名前解決方法、クラスタサーバ計算機及びクラスタサービスプログラムを提供することにある。
【0009】
【課題を解決するための手段】
本発明の1つの観点によれば、クラスタシステム内でクライアント(クライアント計算機)にサービスを提供しているサーバ(サーバ計算機)に障害が発生した場合に、当該サービスを提供しているサーバのみに一時的に割り当てられている特定のコンピュータ名を、当該サービスを引き継ぐ他のサーバ(引き継ぎ先サーバ)に引き継ぐ、コンピュータ名引継ぎ時の名前解決方法が提供される。この方法は、上記特定コンピュータ名の引き継ぎ時に、ネームサーバ(ネームサーバ計算機)のデータベースに登録されている、上記特定コンピュータ名と障害が発生したサーバのネットワークアドレスとの対応を示す情報を、上記特定コンピュータ名と引き継ぎ先サーバのネットワークアドレスとの対応を示す情報に更新するように、当該引き継ぎ先サーバから上記ネームサーバに要求するステップと、上記特定コンピュータ名の引き継ぎ時に、当該特定コンピュータ名とネットワークアドレスとの対応を示す情報を格納した名前記憶手段を備えているクライアントに対して、当該特定コンピュータ名と引き継ぎ先サーバのネットワークアドレスとの対応を示す情報に更新するように、当該引き継ぎ先サーバから要求するステップとを備えている。
【0010】
このように上記構成においては、クラスタシステム内のサーバ(クラスタサーバ)が特定コンピュータ名(仮想サーバ名)の引き継ぎを行った際に、当該サーバ(即ち引き継ぎ先サーバ)からネームサーバに対し、ネームサーバのデータベースに登録されている、特定コンピュータ名と障害発生サーバのネットワークアドレスとの対応を示す情報(旧情報)を、当該特定コンピュータ名と引き継ぎ先サーバのネットワークアドレスとの対応を示す情報(新情報)に更新するように要求される。また、引き継ぎ先サーバから旧情報がキャッシュされている名前記憶手段を備えたクライアントに対して、当該旧情報を上記新情報に更新するように要求される。これにより、クライアントは、自身の名前記憶手段にキャッシュされている旧情報を新情報に更新し、以後当該新情報に従い、引き継ぎ先サーバの正しいネットワークアドレスを用いて当該サーバと通信することが可能となる。つまり上記の構成においては、サーバがコンピュータ名(特定コンピュータ名)の引継ぎを行った際に、その引き継ぎをクライアントに反映でき、これによりサーバ間の引き継ぎ動作後に、クライアントは引き継ぎ先のサーバと直ちに通信できる。
【0011】
ここで、クライアントの名前記憶手段に格納されている旧情報を新情報に更新させる代わりに、当該旧情報を削除させるようにしても構わない。この場合、旧情報が削除された名前記憶手段を有するクライアントが引き継ぎ先サーバと通信を行おうとする際には、特定コンピュータ名に対するネットワークアドレスの問い合わせがネームサーバに対して行われ、当該ネームサーバにより上記引き継ぎ先サーバの正しいネットワークアドレスに解決される。これにより、サーバ間の引き継ぎ動作後に、クライアントは引き継ぎ先のサーバと直ちに通信できる。
【0012】
また、ネームサーバのデータベースに登録されている情報により特定される全てのクライアントを、上記旧情報をキャッシュしている名前記憶手段を備えたクライアントと見なすとよい。このようにすると、クラスタサーバ自身がクライアントに関するデータベースを所持する必要なしに上記旧情報を新情報に更新するように要求するクライアントを簡単に特定できる。この場合、上記旧情報をキャッシュしていない名前記憶手段を備えたクライアントに対しても、更新要求が通知される可能性がある。しかし、旧情報をキャッシュしていない名前記憶手段を備えたクライアントでは、その要求は無視されるため、何ら問題とならない。但し、ネットワークの負荷は増大する。
【0013】
そこで、ネームサーバのデータベースに、コンピュータ名とネットワークアドレスとの対応を示す情報に対し、当該情報で特定される計算機からの問い合わせに対して名前解決したコンピュータ名の情報が付加される構造を適用するならば、上記旧情報(特定コンピュータ名とネットワークアドレスとの対応を示す情報)を格納した名前記憶手段を備えているクライアントを、上記データベースに登録されている情報のうち、名前解決したコンピュータ名の情報として上記特定コンピュータ名の情報が付加されている情報で確実に特定できる。このようにすると、引き継ぎ先サーバは、上記旧情報を格納した名前記憶手段を備えているクライアントだけに上記更新要求を通知できるようになり、ネットワークの負荷の増大を防ぐことができる。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態につき図面を参照して説明する。図1は本発明の一実施形態に係るネットワークシステムの構成を示すブロック図である。図1のネットワークシステムは、クラスタシステム10を備えている。クラスタシステム10は、クライアント(クライアント計算機)に対してサービスを提供する、複数、例えば2台のサーバ(クラスタサーバ計算機)11−1,11−2から構成される。サーバ11−1,11−2はネットワークセグメント12により相互接続されている。
【0015】
図1の状態では、サーバ11−1,11−2のうちのサーバ11−1がクライアント(クライアント計算機)に対してサービスを提供する主系サーバとして動作し、サーバ11−2はサーバ11−1に障害が発生した場合にサーバ11−1が提供していたサービスを引き継ぐ待機系サーバとして動作しているものとする。サーバ11−1には、コンピュータ名“server1”とネットワークアドレス“192.168.1.2”とが割り当てられている。一方、サーバ11−2には、コンピュータ名“server2”とネットワークアドレス“192.168.1.3”とが割り当てられている。また、主系のサーバ11−1には、上記コンピュータ名“server1”に加えて、仮想サーバ名“vserver”が割り当てられている。仮想サーバ名“vserver”は、サービスを提供しているサーバ(主系サーバ)のみに一時的に割り当てられる特定のコンピュータ名である。
【0016】
サーバ11−1及びサーバ11−2は、クラスタサービス機構110−1,110−2を有する。クラスタサービス機構110−1,110−2は互いに通信をしながら動作して、サーバ11−1,11−2のクラスタリングを行う。クラスタサービス機構110−1,110−2は、サーバ11−1,11−2のうちクライアントにサービスを提供しているサーバに障害が発生した場合に、もう一方のサーバで当該サービス(または同様のサービス)を継続できるよう支援する機能を有する。この支援機能には、仮想サーバ名“vserver”を引き継ぐ機能が含まれている。クラスタサービス機構110−1,110−2は、サーバ11−1,11−2(内の図示せぬCPU)が当該サーバ11−1,11−2が有する記憶装置(図示せず)に格納されているクラスタサービスプログラムを読み取って実行することにより実現される機能ブロックである。
【0017】
図1のネットワークシステムはまた、ネームサーバ(ネームサーバ計算機)21と、クライアント(クライアント計算機)22とを備えている。ネームサーバ21及びクライアント22はいずれもネットワークセグメント12に接続されている。なお、ネットワークセグメント12には、クライアント22以外の多数のクライアント(図示せず)も接続されている。このように、図1のネットワークシステムでは、ネームサーバ21及びクライアント22(を含む複数のクライアント)は、いずれもサーバ11−1,11−2が接続されているのと同一のネットワークセグメント12に接続されている。しかし、サーバ11−1,11−2、ネームサーバ21及びクライアント22(を含む複数のクライアント)が同一のネットワークセグメントに接続されている必要はない。
【0018】
ネームサーバ21は、通信の際に、コンピュータ名からネットワークアドレスへの解決を支援する。そのためネームサーバ21は、コンピュータ名とネットワークアドレスの対応を記憶したデータベース210を有している。ネームサーバ21には、コンピュータ名“nameserver”とネットワークアドレス“192.168.1.1”とが割り当てられている。図1のネットワークシステムにおいて、ネームサーバ21が有するデータベース210の内容の一例を図2に示す。この図2では、仮想サーバ名“vserver”に対応するネットワークアドレスが“192.168.1.2”であること、つまり仮想サーバ名“vserver”がサーバ11−1に割り当てられていることを示している。
【0019】
クライアント22は、クラスタシステム10内の主系サーバ(ここではサーバ11−1)からサービスの提供を受ける計算機(端末)である。クライアント22には、コンピュータ名“client1”とネットワークアドレス“192.168.1.4”とが割り当てられている。クライアント22は名前キャッシュテーブル220を有する。この名前キャッシュテーブル220のエントリには、クライアント22が過去に通信した、或いは現在通信しているサーバのコンピュータ名とネットワークアドレスとの対応を示す情報が記憶される。つまり名前キャッシュテーブル220は、コンピュータ名とネットワークアドレスとの対応を示す情報を記憶するための記憶手段である。この名前キャッシュテーブル220の領域には、例えば、クライアント22が有する記憶装置(図示せず)の一部の領域が割り当てられる。名前キャッシュテーブル220のエントリの情報は、例えば一定時間だけ保存される。なお、名前キャッシュテーブル220のエントリ(の情報)をLRU(Least Recently Used)法に従って管理することも可能である。
【0020】
クライアント22はコンピュータ名を使ってサービスを提供するサーバ11−i(iは1または2)との通信を行う。この際の、コンピュータ名からネットワークアドレスの解決には、次の手順
▲1▼クライアント22が有する名前キャッシュテーブル(つまりローカルの名前キャッシュテーブル)220を参照
▲2▼ネームサーバ21への問い合わせ(▲1▼で解決できなかった場合)
が用いられる。サービスを提供するサーバ11−iのコンピュータ名にはクラスタサービス機構110−iが提供する仮想サーバ名“vserver”が使用される。
【0021】
上記したように、クライアント22の名前キャッシュテーブル220に仮想サーバ名“vserver”とネットワークアドレスとの対応を示す情報が記憶されていない場合、当該クライアント22は、ネームサーバ21に対し、ネットワークセグメント12を介して仮想サーバ名“vserver”に対応するネットワークアドレスの問い合わせを行う。この問い合わせに従い、ネームサーバ21により仮想サーバ名“vserver”が対応するネットワークアドレスに解決される。図2の例では、ネームサーバ21のデータベース210には、仮想サーバ名“vserver”に対応するネットワークアドレスとして、サーバ11−1のネットワークアドレス“192.168.1.2”が記憶されている。この場合、クライアント22は、仮想サーバ名(コンピュータ名)“vserver”に対応するネットワークアドレスの解決結果として“192.168.1.2”を取得する。クライアント22は、仮想サーバ名(コンピュータ名)“vserver”とネームサーバ21により名前解決されたネットワークアドレス“192.168.1.2”との対応を示す情報を、当該クライアント22の名前キャッシュテーブル220に格納する。このときの名前キャッシュテーブル220の内容の一例を図3に示す。
【0022】
次に、図1のネットワークシステムにおける仮想サーバ名の引き継ぎについて、図4の動作説明図及び図5のフローチャートを参照して説明する。まず、クラスタシステム10内のサーバ11−1が主系サーバとなって、クライアント22を含む複数のクライアントにサービスを提供しているものとする。この状態で、サーバ11−1に障害41が発生したものとする。このサーバ11−1で障害41が発生したことは、クラスタシステム10内のサーバ11−2のクラスタサービス機構110−2によって認識される。
【0023】
クラスタサービス機構110−2は、サーバ11−1での障害41の発生を認識すると、仮想サーバ名“vserver”をコンピュータ名が“server2”のサーバ11−2に引き継がせることを決定する。この場合、クラスタサービス機構110−2は、図4において矢印42で示すように、仮想サーバ名“vserver”を引き継ぎ先のサーバ11−2に追加する(図5ステップS1)。これにより、仮想サーバ名“vserver”が割り当てられるサーバの実体は、コンピュータ名が“server1”のサーバ11−1からコンピュータ名が“server2”のサーバ11−2に引き継がれたことになる。この段階で、“vserver”に対応するネットワークアドレスはサーバ11−1のネットワークアドレス“192.168.1.2”から、引き継ぎ先のサーバ11−2のネットワークアドレス“192.168.1.3”に切り替わる。
【0024】
そこでクラスタサービス機構110−2は、ネームサーバ21のデータベース210に登録されている仮想サーバ名“vserver”とネットワークアドレスとの対応を示す情報を、この新たな対応を示す情報、つまり仮想サーバ名“vserver”と引き継ぎ先サーバ11−2のネットワークアドレス“192.168.1.3”との対応を示す情報に更新するように、図4において矢印43で示すようにネームサーバ21に対して要求する(図5ステップS2)。この更新後のデータベース210の内容を図6に示す。
【0025】
次にクラスタサービス機構110−2は、ネームサーバ21のデータベース210を参照し、仮想サーバ名“vserver”に対応付けて引き継ぎ前のサーバ11−1のネットワークアドレス(つまり誤ったネットワークアドレス)“192.168.1.2”をキャッシュしている可能性のあるクライアントを探す(図5ステップS3)。このクライアントの探索は次のように行われる。まずクラスタサービス機構110−2は、仮想サーバ名“vserver”及び(クラスタシステム10を構成するサーバ11−1,11−2の)コンピュータ名“server1”,“server2”は認識できる。そこでクラスタサービス機構110−2は、これら“vserver”,“server1”,“server2”以外のコンピュータ名をデータベース210から全て検索する。そしてクラスタサービス機構110−2は、検索できたコンピュータ名に対応付けられているネットワークアドレスを、誤ったネットワークアドレス“192.168.1.2”をキャッシュしている可能性のあるクライアントのネットワークアドレスであると判定する。つまりクラスタサービス機構110−2は、検索できたコンピュータ名に対応付けられているネットワークアドレスを、誤ったネットワークアドレス“192.168.1.2”をキャッシュしているクライアントのネットワークアドレスであると見なす。この例のように、データベース210の内容が図6の場合、コンピュータ名が“client1”でネットワークアドレスが“192.168.1.4”のコンピュータ、つまりクライアント22が見つけ出される。
【0026】
クラスタサービス機構110−2は、目的とするクライアント(コンピュータ)を見つけ出すと、見つけ出した全てのクライアント(コンピュータ)に対して、当該クライアント(コンピュータ)が有する名前キャッシュテーブルの内容を更新させるためのメッセージ(更新要求メッセージ)を送信する(図5ステップS4)。この例では、図4の矢印44で示すように、クラスタサービス機構110−2からクライアント22に対して更新要求メッセージが送信される。この更新要求メッセージには、仮想サーバ名“vserver”と引き継ぎ先サーバ11−2のネットワークアドレス“192.168.1.3”との対応を示す情報が含まれている。
【0027】
クライアント22は、クラスタサービス機構110−2から送信された更新要求メッセージを受信すると、当該メッセージに含まれている仮想サーバ名“vserver”が登録されているエントリが存在するかを調べ、この例のように存在するならば(図3参照)、そのエントリ中のネットワークアドレスを、当該メッセージに含まれているネットワークアドレス“192.168.1.3”に更新する(図5ステップS5)。この更新後の名前キャッシュテーブル220の内容を図7に示す。
【0028】
このようにクライアント22は、クラスタサービス機構110−2から受け取った更新要求メッセージに従い、名前キャッシュテーブル220の内容を正しい内容に更新する。これ以後クライアント22は、更新された名前キャッシュテーブル220に仮想サーバ名“vserver”と対応付けて登録されている正しいネットワークアドレス“192.168.1.3”を用いることにより、障害が発生したサーバ11−1からサービスを引き継いだサーバ11−2と通信を行うことができる。
【0029】
[第1の変形例]
上記実施形態では、サービスを引き継ぐサーバ11−2のクラスタサービス機構110−2からの更新要求メッセージにより、クライアント22の名前キャッシュテーブル220の誤った内容を、正しい情報(仮想サーバ名“vserver”と引き継ぎ先サーバ11−2のネットワークアドレス“192.168.1.3”との対応を示す情報)に更新している。しかし、クライアント22の名前キャッシュテーブル220の誤った内容(旧情報)を削除するだけでも構わない。そこで、図1のネットワークシステムにおいて、クライアント22の名前キャッシュテーブル220の誤った旧情報を新情報に更新する代わりに、当該旧情報(が登録されているエントリ)を削除するようにした、上記実施形態の第1の変形例について、図8のフローチャートを参照して説明する。
【0030】
まず、サーバ11−1に障害が発生した場合、サーバ11−2のクラスタサービス機構110−2は、図5中のステップS1乃至S3と同様の処理を実行する。即ちクラスタサービス機構110−2は、仮想サーバ名“vserver”を引き継ぎ先のサーバ11−2に追加してから、仮想サーバ名“vserver”に対応付けて引き継ぎ前のサーバ11−1のネットワークアドレス“192.168.1.2”をキャッシュしている可能性のあるクライアントを探すまでの処理(図8ステップS11〜S13)を実行する。
【0031】
次にクラスタサービス機構110−2は、ステップS13で目的とするクライアントを探し出すと、そのクライアント、即ちクライアント22の名前キャッシュテーブル220の誤った内容(旧情報)を削除させるためのメッセージ(削除要求メッセージ)を、当該クライアント22に送信する(図8ステップS14)。この更新要求メッセージには、仮想サーバ名“vserver”が含まれている。クライアント22は、このクラスタサービス機構110−2からの削除要求メッセージを受け取ると、名前キャッシュテーブル22中の対応するエントリ(つまり仮想サーバ名“vserver”を含む情報が登録されているエントリ)を探し、この例のように当該エントリが存在するならば(図3参照)、当該エントリ(の情報)を、図9に示すように名前キャッシュテーブル220から削除する(ステップS15)。
【0032】
さて、名前キャッシュテーブル220から仮想サーバ名“vserver”とネットワークアドレスとの対応を示すエントリの情報が削除されている状態で、クライアント22が当該仮想サーバ名“vserver”でサーバにアクセスするものとする。この場合、クライアント22は仮想サーバ名“vserver”に対応するネットワークアドレスをネームサーバ21に問い合わせる。
【0033】
ネームサーバ21は、クライアント22からの問い合わせに従ってデータベース210を参照し、仮想サーバ名“vserver”を、サーバ11−1からサービスを引き継いだサーバ11−2のネットワークアドレス“192.168.1.3”に解決する。このように、クライアント22が仮想サーバ名“vserver”でサーバに接続しようとする際に、ネームサーバ21に問い合わせることにより、仮想サーバ名“vserver”は正しいネットワークアドレスに解決される。これによりクライアント22は、障害が発生したサーバ11−1からサービスを引き継いだサーバ11−2と正しく通信を行うことができる。つまり、クラスタサービス機構110−2からクライアント22に更新要求メッセージを送信した場合と同様の効果が得られる。また、これ以後、仮想サーバ名“vserver”とサーバ11−2のネットワークアドレス“192.168.1.3”との対応を示す情報が名前キャッシュテーブル220に登録される。
【0034】
[第2の変形例]
上記実施形態(及び同実施形態の第1の変形例)において、クラスタサービス機構110−2がネームサーバ21のデータベース210を参照することにより検索されるクライアントには、目的とするクライアント以外のコンピュータも含まれている可能性がある。そこで、図1のネットワークシステムにおいて、目的とするクライアント、つまり仮想サーバ名“vserver”と障害が発生したサーバ11−1のネットワークアドレスとの対応を示す誤った情報が登録された名前キャッシュテーブルを有するクライアントを特定できるようにした、上記実施形態の第2の変形例について説明する。
【0035】
この第2の変形例では、ネームサーバ21に、図2のデータ構造のデータベース210に代えて、図10に示すデータ構造のデータベース210’が保持される。このデータベース210’の特徴は、コンピュータ名とネットワークアドレスとの対応を示す情報に対して、当該情報で特定されるコンピュータからのコンピュータ名によるアクセスで対応するネットワークアドレスに名前解決した際の、当該コンピュータ名の情報が付加されている点にある。
【0036】
図10のデータベース210’の例では、コンピュータ名が“client1”でネットワークアドレスが“192.168.1.4”のコンピュータ(即ちクライアント22)からの仮想サーバ名(コンピュータ名)“vserver”によるアクセス(仮想サーバ名“vserver”に対する名前解決の問い合わせ)に対して名前解決したことが示されている。したがって、クラスタサービス機構110−2は、データベース210’内のエントリのうち、名前解決したコンピュータ名が“vserver”のエントリだけを検索すればよい。
【0037】
この場合、仮想サーバ名“vserver”と障害が発生したサーバ11−1のネットワークアドレスとの対応を示す誤った情報が格納された名前キャッシュテーブルを有するクライアントだけを検索できる。つまり、名前キャッシュテーブル内エントリの更新を要求する更新要求メッセージ、または名前キャッシュテーブル内エントリの削除を要求する削除要求メッセージを送信すべきクライアントだけを検索できる。これにより、更新要求メッセージまたは削除要求メッセージを送信すべきクライアントを限定することができ、ネットワークの負荷を軽減できる。
【0038】
図10に示したデータベース210’の例では、コンピュータ名が“client1”のコンピュータ(つまりクライアント22)が過去にネームサーバ21に問い合わせを行ってコンピュータ名“vserver”をネットワークアドレスに解決したことが示されている。この状態で、サーバ11−2のクラスタサービス機構110−2がサービスの引き継ぎ処理を行った場合、コンピュータ名が“client1”のコンピュータ(クライアント22)だけが、仮想サーバ名“vserver”と障害が発生したサーバ11−1のネットワークアドレスとの対応を示す誤った情報が格納された名前キャッシュテーブルを有するクライアントとして検索される。したがって、コンピュータ名が“client1”のコンピュータ(クライアント22)に対してのみ、名前キャッシュテーブル内エントリの更新要求メッセージまたは削除要求メッセージが送信される。つまり、他のコンピュータ、例えばコンピュータ名が“client2”のコンピュータ(クライアント)に対しては、当該メッセージは送信されない。これにより、上記実施形態または上記第1の変形例に比べて、更新要求メッセージまたは削除要求メッセージの送信に伴うネットワーク負荷を軽減できる。
【0039】
なお、本発明は、上記実施形態及び変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態及び変形例に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【0040】
【発明の効果】
以上詳述したように本発明によれば、サーバ計算機がコンピュータ名(特定コンピュータ名)の引継ぎを行った際に、その引き継ぎをクライアント計算機に直接または間接に反映できるため、サーバ計算機間の引き継ぎ動作後に、クライアント計算機が引き継ぎ先のサーバ計算機と直ちに通信できる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るネットワークシステムの構成を示すブロック図。
【図2】図1中のネームサーバ21が有するデータベース210の内容の一例を示す図。
【図3】図1中のクライアント22が有する名前キャッシュテーブル220の内容の一例を示す図。
【図4】同実施形態における仮想サーバ名の引き継ぎ動作を説明するための図。
【図5】同実施形態で適用される仮想サーバ名の引き継ぎ手順を示すフローチャート。
【図6】図5中のステップS2の実行後におけるデータベース210の内容例を示す図。
【図7】図5中のステップS5の実行後における名前キャッシュテーブル220の内容例を示す図。
【図8】同実施形態の第1の変形例で適用される仮想サーバ名の引き継ぎ手順を示すフローチャート。
【図9】同第1の変形例における名前キャッシュテーブル220内エントリの削除を説明するための図。
【図10】同実施形態の第2の変形例で適用されるデータベース210’のデータ構造例を示す図。
【符号の説明】
10…クラスタシステム、11−1,11−2…サーバ(サーバ計算機)、12…ネットワークセグメント、21…ネームサーバ(ネームサーバ計算機)、22…クライアント(クライアント計算機)、110−1,110−2…クラスタサービス機構、210,210’…データベース、220…名前キャッシュテーブル(名前記憶手段)。

Claims (8)

  1. クライアント計算機にサービスを提供する複数のサーバ計算機を備え、当該複数のサーバ計算機のうちのサービスを提供しているサーバ計算機に障害が発生した場合に、残りのいずれかのサーバ計算機が当該サービスを継続するクラスタシステムと、コンピュータ名とネットワークアドレスとの対応を示す情報を登録したデータベースに従って、コンピュータ名をネットワークアドレスに解決するネームサーバ計算機と、コンピュータ名をネットワークアドレスに解決するための前記ネームサーバ計算機に対する問い合わせに対して、当該ネームサーバ計算機により解決されたコンピュータ名とネットワークアドレスとの対応を示す情報を格納するための名前記憶手段を備えたクライアント計算機とがネットワーク接続されたネットワークシステムにおいて適用されるコンピュータ名引き継ぎ時の名前解決方法であって、
    前記クラスタシステム内でクライアント計算機にサービスを提供しているサーバ計算機に障害が発生した場合に、当該サービスを提供しているサーバ計算機のみに一時的に割り当てられている特定のコンピュータ名を当該サービスを引き継ぐ他のサーバ計算機に引き継ぐステップと、
    前記特定コンピュータ名の引き継ぎ時に、前記ネームサーバ計算機の前記データベースに登録されている、前記特定コンピュータ名と前記障害が発生したサーバ計算機のネットワークアドレスとの対応を示す情報を、当該特定コンピュータ名と当該特定コンピュータ名を引き継いだサーバ計算機のネットワークアドレスとの対応を示す情報に更新するように、当該特定コンピュータ名を引き継いだサーバ計算機から前記ネームサーバ計算機に要求するステップと、
    前記特定コンピュータ名の引き継ぎ時に、当該特定コンピュータ名とネットワークアドレスとの対応を示す情報を格納した名前記憶手段を備えているクライアント計算機に対して、当該特定コンピュータ名と当該特定コンピュータ名を引き継いだサーバ計算機のネットワークアドレスとの対応を示す情報に更新するように、当該特定コンピュータ名を引き継いだサーバ計算機から要求するステップと
    を具備することを特徴とするコンピュータ名引き継ぎ時の名前解決方法。
  2. クライアント計算機にサービスを提供する複数のサーバ計算機を備え、当該複数のサーバ計算機のうちのサービスを提供しているサーバ計算機に障害が発生した場合に、残りのいずれかのサーバ計算機が当該サービスを継続するクラスタシステムと、コンピュータ名とネットワークアドレスとの対応を示す情報を登録したデータベースに従って、コンピュータ名をネットワークアドレスに解決するネームサーバ計算機と、コンピュータ名をネットワークアドレスに解決するための前記ネームサーバ計算機に対する問い合わせに対して、当該ネームサーバ計算機により解決されたコンピュータ名とネットワークアドレスとの対応を示す情報を格納するための名前記憶手段を備えたクライアント計算機とがネットワーク接続されたネットワークシステムにおいて適用されるコンピュータ名引き継ぎ時の名前解決方法であって、
    前記クラスタシステム内でクライアント計算機にサービスを提供しているサーバ計算機に障害が発生した場合に、当該サービスを提供しているサーバ計算機のみに一時的に割り当てられている特定のコンピュータ名を当該サービスを引き継ぐ他のサーバ計算機に引き継ぐステップと、
    前記特定コンピュータ名の引き継ぎ時に、前記ネームサーバ計算機の前記データベースに登録されている、前記特定コンピュータ名と前記障害が発生したサーバ計算機のネットワークアドレスとの対応を示す情報を、当該特定コンピュータ名と当該特定コンピュータ名を引き継いだサーバ計算機のネットワークアドレスとの対応を示す情報に更新するように、当該特定コンピュータ名を引き継いだサーバ計算機から前記ネームサーバ計算機に要求するステップと、
    前記特定コンピュータ名の引き継ぎ時に、当該特定コンピュータ名とネットワークアドレスとの対応を示す情報を格納した名前記憶手段を備えているクライアント計算機に対して、当該情報を削除するように、当該特定コンピュータ名を引き継いだサーバ計算機から要求するステップと
    を具備することを特徴とするコンピュータ名引き継ぎ時の名前解決方法。
  3. 前記ネームサーバ計算機の前記データベースに登録されている情報により特定される全てのクライアント計算機が、前記特定コンピュータ名とネットワークアドレスとの対応を示す情報を格納した名前記憶手段を備えていると、前記特定コンピュータ名を引き継いだサーバ計算機が見なすステップを更に具備することを特徴とする請求項1または請求項2記載のコンピュータ名引き継ぎ時の名前解決方法。
  4. 前記ネームサーバ計算機のデータベースには、前記コンピュータ名とネットワークアドレスとの対応を示す情報に対し、当該情報で特定される計算機からの問い合わせに対して名前解決したコンピュータ名の情報が付加されており、
    前記特定コンピュータ名とネットワークアドレスとの対応を示す情報を格納した名前記憶手段を備えているクライアント計算機が、前記データベースに登録されている情報のうち、前記名前解決したコンピュータ名の情報として前記特定コンピュータ名の情報が付加されている情報で特定されることを特徴とする請求項1または請求項2記載のコンピュータ名引き継ぎ時の名前解決方法。
  5. コンピュータ名とネットワークアドレスとの対応を示す情報を登録したデータベースに従って、コンピュータ名をネットワークアドレスに解決するネームサーバ計算機と、コンピュータ名をネットワークアドレスに解決するための前記ネームサーバ計算機に対する問い合わせに対して、当該ネームサーバ計算機により解決されたコンピュータ名とネットワークアドレスとの対応を示す情報を格納するための名前記憶手段を備えたクライアント計算機と、クラスタサーバ計算機を含む複数のサーバ計算機とがネットワーク接続されたネットワークシステムにおけるクラスタサーバ計算機であって、
    前記複数のサーバ計算機のうち前記クラスタサーバ計算機を除く他のサーバ計算機に障害が発生した結果、当該他のサーバ計算機が提供しているサービスを前記クラスタサーバ計算機自身が引き継ぐ場合に、当該他のサーバ計算機のみに一時的に割り当てられている特定のコンピュータ名をも引き継ぐ手段と、
    前記特定コンピュータ名の引き継ぎ時に、前記ネームサーバ計算機の前記データベースに登録されている、前記特定コンピュータ名と前記障害が発生した前記他のサーバ計算機のネットワークアドレスとの対応を示す情報を、当該特定コンピュータ名と自身のネットワークアドレスとを示す情報に更新するように前記ネームサーバ計算機に要求する手段と、
    前記特定コンピュータ名の引き継ぎ時に、当該特定コンピュータ名とネットワークアドレスとの対応を示す情報を格納した名前記憶手段を備えているクライアント計算機に対して、当該特定コンピュータ名と自身のネットワークアドレスとの対応を示す情報に更新するように要求する手段と
    を具備することを特徴とするクラスタサーバ計算機。
  6. コンピュータ名とネットワークアドレスとの対応を示す情報を登録したデータベースに従って、コンピュータ名をネットワークアドレスに解決するネームサーバ計算機と、コンピュータ名をネットワークアドレスに解決するための前記ネームサーバ計算機に対する問い合わせに対して、当該ネームサーバ計算機により解決されたコンピュータ名とネットワークアドレスとの対応を示す情報を格納するための名前記憶手段を備えたクライアント計算機と、クラスタサーバ計算機を含む複数のサーバ計算機とがネットワーク接続されたネットワークシステムにおけるクラスタサーバ計算機であって、
    前記複数のサーバ計算機のうち前記クラスタサーバ計算機を除く他のサーバ計算機に障害が発生した結果、当該他のサーバ計算機が提供しているサービスを前記クラスタサーバ計算機自身が引き継ぐ場合に、当該他のサーバ計算機のみに一時的に割り当てられている特定のコンピュータ名をも引き継ぐ手段と、
    前記特定コンピュータ名の引き継ぎ時に、前記ネームサーバ計算機の前記データベースに登録されている、前記特定コンピュータ名と前記障害が発生した前記他のサーバ計算機のネットワークアドレスとの対応を示す情報を、当該特定コンピュータ名と自身のネットワークアドレスとを示す情報に更新するように前記ネームサーバ計算機に要求する手段と、
    前記特定コンピュータ名の引き継ぎ時に、当該特定コンピュータ名とネットワークアドレスとの対応を示す情報を格納した名前記憶手段を備えているクライアント計算機に対して、当該情報を削除するように要求する手段と
    を具備することを特徴とするクラスタサーバ計算機。
  7. コンピュータ名とネットワークアドレスとの対応を示す情報を登録したデータベースに従って、コンピュータ名をネットワークアドレスに解決するネームサーバ計算機と、コンピュータ名をネットワークアドレスに解決するための前記ネームサーバ計算機に対する問い合わせに対して、当該ネームサーバ計算機により解決されたコンピュータ名とネットワークアドレスとの対応を示す情報を格納するための名前記憶手段を備えたクライアント計算機と、クラスタサーバ計算機を含む複数のサーバ計算機とがネットワーク接続されたネットワークシステムにおけるクラスタサーバ計算機に、
    前記複数のサーバ計算機のうち前記クラスタサーバ計算機を除く他のサーバ計算機に障害が発生した結果、当該他のサーバ計算機が提供しているサービスを前記クラスタサーバ計算機自身が引き継ぐ場合に、当該他のサーバ計算機のみに一時的に割り当てられている特定のコンピュータ名をも引き継ぐステップと、
    前記特定コンピュータ名の引き継ぎ時に、前記ネームサーバ計算機の前記データベースに登録されている、前記特定コンピュータ名と前記障害が発生した前記他のサーバ計算機のネットワークアドレスとの対応を示す情報を、当該特定コンピュータ名と前記クラスタサーバ計算機自身のネットワークアドレスとを示す情報に更新するように前記ネームサーバ計算機に要求するステップと、
    前記特定コンピュータ名の引き継ぎ時に、当該特定コンピュータ名とネットワークアドレスとの対応を示す情報を格納した名前記憶手段を備えているクライアント計算機に対して、当該特定コンピュータ名と前記クラスタサーバ計算機自身のネットワークアドレスとの対応を示す情報に更新するように要求するステップと
    を実行させるためのクラスタサービスプログラム。
  8. コンピュータ名とネットワークアドレスとの対応を示す情報を登録したデータベースに従って、コンピュータ名をネットワークアドレスに解決するネームサーバ計算機と、コンピュータ名をネットワークアドレスに解決するための前記ネームサーバ計算機に対する問い合わせに対して、当該ネームサーバ計算機により解決されたコンピュータ名とネットワークアドレスとの対応を示す情報を格納するための名前記憶手段を備えたクライアント計算機と、クラスタサーバ計算機を含む複数のサーバ計算機とがネットワーク接続されたネットワークシステムにおけるクラスタサーバ計算機に、
    前記複数のサーバ計算機のうち前記クラスタサーバ計算機を除く他のサーバ計算機に障害が発生した結果、当該他のサーバ計算機が提供しているサービスを前記クラスタサーバ計算機自身が引き継ぐ場合に、当該他のサーバ計算機のみに一時的に割り当てられている特定のコンピュータ名をも引き継ぐステップと、
    前記特定コンピュータ名の引き継ぎ時に、前記ネームサーバ計算機の前記データベースに登録されている、前記特定コンピュータ名と前記障害が発生した前記他のサーバ計算機のネットワークアドレスとの対応を示す情報を、当該特定コンピュータ名と前記クラスタサーバ計算機自身のネットワークアドレスとを示す情報に更新するように前記ネームサーバ計算機に要求するステップと、
    前記特定コンピュータ名の引き継ぎ時に、当該特定コンピュータ名とネットワークアドレスとの対応を示す情報を格納した名前記憶手段を備えているクライアント計算機に対して、当該情報を削除するように要求するステップと
    を実行させるためのクラスタサービスプログラム。
JP2003123701A 2003-04-28 2003-04-28 コンピュータ名引継ぎ時の名前解決方法、クラスタサーバ計算機及びクラスタサービスプログラム Expired - Fee Related JP3848290B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003123701A JP3848290B2 (ja) 2003-04-28 2003-04-28 コンピュータ名引継ぎ時の名前解決方法、クラスタサーバ計算機及びクラスタサービスプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003123701A JP3848290B2 (ja) 2003-04-28 2003-04-28 コンピュータ名引継ぎ時の名前解決方法、クラスタサーバ計算機及びクラスタサービスプログラム

Publications (2)

Publication Number Publication Date
JP2004326667A true JP2004326667A (ja) 2004-11-18
JP3848290B2 JP3848290B2 (ja) 2006-11-22

Family

ID=33501514

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003123701A Expired - Fee Related JP3848290B2 (ja) 2003-04-28 2003-04-28 コンピュータ名引継ぎ時の名前解決方法、クラスタサーバ計算機及びクラスタサービスプログラム

Country Status (1)

Country Link
JP (1) JP3848290B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008533573A (ja) * 2005-03-10 2008-08-21 テレコム・イタリア・エッセ・ピー・アー 障害回復アーキテクチャー
JP2012100313A (ja) * 2011-12-22 2012-05-24 Telecom Italia Spa 障害回復アーキテクチャ
US20130212264A1 (en) * 2012-02-14 2013-08-15 International Business Machines Corporation Controlling access of clients to service in cluster environment
US8713159B2 (en) 2007-02-22 2014-04-29 Fujitsu Limited Monitoring apparatus for monitoring communication configurations of client devices

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008533573A (ja) * 2005-03-10 2008-08-21 テレコム・イタリア・エッセ・ピー・アー 障害回復アーキテクチャー
US8713159B2 (en) 2007-02-22 2014-04-29 Fujitsu Limited Monitoring apparatus for monitoring communication configurations of client devices
JP2012100313A (ja) * 2011-12-22 2012-05-24 Telecom Italia Spa 障害回復アーキテクチャ
US20130212264A1 (en) * 2012-02-14 2013-08-15 International Business Machines Corporation Controlling access of clients to service in cluster environment
WO2013121255A1 (en) * 2012-02-14 2013-08-22 International Business Machines Corporation Method for controlling access of clients to a service in a cluster environment
CN104137085A (zh) * 2012-02-14 2014-11-05 国际商业机器公司 集群环境中用于控制客户端对服务的访问的方法
US9246744B2 (en) * 2012-02-14 2016-01-26 International Business Machines Corporation Controlling access of clients to service in cluster environment
US9665450B2 (en) 2012-02-14 2017-05-30 International Business Machines Corporation Controlling access of clients to service in cluster environment

Also Published As

Publication number Publication date
JP3848290B2 (ja) 2006-11-22

Similar Documents

Publication Publication Date Title
US20020152293A1 (en) Dynamic server directory for distributed computing system
US10630781B2 (en) SMB2 scaleout
US7885180B2 (en) Address resolution request mirroring
JP5016063B2 (ja) 整合性のとれた耐障害性分散ハッシュテーブル(dht)オーバレイネットワーク
US6947982B1 (en) Distributed session services
CN101706781B (zh) 一种数据库缓存集中管理方法和系统
US8572201B2 (en) System and method for providing a directory service network
US8856581B2 (en) Method for resource information backup operation based on peer to peer network and peer to peer network thereof
US10042916B2 (en) System and method for storing data in clusters located remotely from each other
CN111200532A (zh) 数据库集群节点主从切换的方法、装置、设备和介质
WO2007056336A1 (en) System and method for writing data to a directory
US20060123121A1 (en) System and method for service session management
US8478898B2 (en) System and method for routing directory service operations in a directory service network
WO2011103784A1 (zh) 一种数据操作方法和数据操作设备
US9390156B2 (en) Distributed directory environment using clustered LDAP servers
US20230385244A1 (en) Facilitating immediate performance of volume resynchronization with the use of passive cache entries
US10027585B2 (en) Resilient peer-to-peer application message routing
JP4019817B2 (ja) 分散オブジェクト制御方法およびその実施システム
US6775833B1 (en) Method of managing a scalable interface communication system
JP3848290B2 (ja) コンピュータ名引継ぎ時の名前解決方法、クラスタサーバ計算機及びクラスタサービスプログラム
US9922031B2 (en) System and method for efficient directory performance using non-persistent storage
US8089987B2 (en) Synchronizing in-memory caches while being updated by a high rate data stream
CN109254853B (zh) 数据共享方法、数据共享系统及计算机可读存储介质
JP2003186722A (ja) クラスタシステムにおけるデータベースサーバフェイルオーバー方法
CN112346912A (zh) 基于网络文件系统的有状态服务主备高可用系统及方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060322

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060522

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060824

LAPS Cancellation because of no payment of annual fees