(57)【要約】本発明は、複数のデータベース管理システム（ＤＢＭＳ）メンバを有するコンピュータ・システムのネットワークによって管理されるデータベースに、クライアントを接続するための方法およびシステムを対象とするものである。当該方法およびシステムは、複数のＤＢＭＳメンバに共有ネットワーク・アドレスを提供することを含むものであって、クライアントはこのアドレスを使用して、複数のＤＢＭＳメンバのうちのアクティブなＤＢＭＳメンバに接続する。  本発明の態様により、クライアントは共有ネットワーク・アドレスを利用して、複数のＤＢＭＳメンバの１つのメンバがアクティブである限りは、そのうちの任意の１つにネットワーク・ルータを介して接続することができる。クライアントが１つのメンバに接続されると、当該メンバはすべてのアクティブ・メンバおよびそれらそれぞれの作業負荷のリストをクライアントに送信する。
2005516319.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・システムのネットワークによって管理されるデータベースにクライアントを接続するための方法であって、前記ネットワークは複数のデータベース管理システム（ＤＢＭＳ）メンバを含むものであり、
ａ）前記複数のＤＢＭＳメンバに共有ネットワーク・アドレスを提供するステップと、
ｂ）前記クライアントが、前記複数のＤＢＭＳメンバのうちのアクティブなＤＢＭＳメンバに接続するために前記共有ネットワーク・アドレスを利用するステップと、
を有する方法。
【請求項２】
前記共有ネットワーク・アドレスが前記複数のＤＢＭＳメンバのうちのそれぞれのＤＢＭＳメンバに共通である、請求項１に記載の方法。
【請求項３】
前記利用するステップ（ｂ）が、
（ｂ１）データ位置に関するドメイン名を前記クライアントに結合されたドメイン名サーバに提出するステップと、
（ｂ２）前記ドメイン名を前記共有ネットワーク・アドレスに解釈するステップと、
（ｂ３）前記共有ネットワーク・アドレスを前記ドメイン名サーバから前記クライアントに戻すステップと、
をさらに含む、請求項１に記載の方法。
【請求項４】
前記利用するステップ（ｂ）が、
（ｂ１）前記クライアントが、前記コンピュータ・システムのネットワークに結合されたネットワーク・ルータに前記共有ネットワーク・アドレスを送信するステップをさらに含む、請求項１に記載の方法。
【請求項５】
前記利用するステップ（ｂ）が、
（ｂ１）前記共有ネットワーク・アドレスに配置された前記複数のＤＢＭＳメンバのうちのいずれがアクティブであるかを判別するステップをさらに含む、請求項１に記載の方法。
【請求項６】
前記判別するステップ（ｂ１）が、
（ｂ１ｉ）前記複数のＤＢＭＳメンバに結合された作業負荷マネージャと通信するステップをさらに含み、前記作業負荷マネージャが各アクティブＤＢＭＳメンバのステータスおよび作業負荷を監視するものである、
請求項５に記載の方法。
【請求項７】
前記利用するステップ（ｂ）が、
（ｂ２）前記共有ネットワーク・アドレスに配置された前記アクティブなＤＢＭＳメンバのうちのいずれか１つに前記クライアントを接続するステップをさらに含む、請求項５に記載の方法。
【請求項８】
（ｃ）アクティブなＤＢＭＳメンバのリストを、アクティブなＤＢＭＳメンバから前記クライアントに伝送するステップをさらに有する、請求項５に記載の方法。
【請求項９】
（ｃ）アクティブなＤＢＭＳメンバのそれぞれに重み付け負荷を提供するステップと、
（ｄ）アクティブなＤＢＭＳメンバのそれぞれに関連するメンバ特有ネットワーク・アドレスを識別するステップと、
をさらに有する、請求項５に記載の方法。
【請求項１０】
（ｅ）前記アクティブなＤＢＭＳメンバ全体にわたって、それらのそれぞれの重み付け負荷に基づいて作業負荷をバランシングするステップをさらに有する、請求項９に記載の方法。
【請求項１１】
（ｃ）前記複数のＤＢＭＳメンバにおけるそれぞれのＤＢＭＳメンバに、対応するメンバ特有ネットワーク・アドレスを割り当てるステップをさらに有し、前記メンバ特有ネットワーク・アドレスが、その場所に関係なく前記対応するメンバに関連付けられるものである、請求項１に記載の方法。
【請求項１２】
（ｄ）前記ＤＢＭＳメンバへの第１の接続が中断された後に再同期化プロセスを実行するための、前記ＤＢＭＳメンバへの接続を再確立するために、ＤＢＭＳメンバの前記メンバ特有ネットワーク・アドレスを利用するステップをさらに有する、請求項１１に記載の方法。
【請求項１３】
請求項１から１２のいずれか一項に記載の方法を実行するための命令を有する、コンピュータ・プログラム。
【請求項１４】
コンピュータ・システムのネットワークによって管理されるデータベースにクライアントを接続するためのシステムであって、前記ネットワークは複数のデータベース管理システム（ＤＢＭＳ）メンバを含むものであり、
前記複数のＤＢＭＳメンバのための共有ネットワーク・アドレスと、
前記複数のＤＢＭＳメンバのうちのアクティブなＤＢＭＳメンバに前記クライアントを接続するために前記共有ネットワーク・アドレスを利用するための、前記クライアントに結合されたネットワーク・ルータと、
を有するシステム。
【請求項１５】
前記共有ネットワーク・アドレスが前記複数のＤＢＭＳメンバのうちのそれぞれのＤＢＭＳメンバに共通である、請求項１４に記載のシステム。
【請求項１６】
前記クライアントに結合されたドメイン名サーバをさらに有するものであって、前記クライアントが前記コンピュータ・システムのネットワークに関するドメイン名を前記ドメイン名サーバに提出し、また前記ドメイン名サーバが、前記ドメイン名を前記共有ネットワーク・アドレスに解釈し、前記共有ネットワーク・アドレスを前記クライアントに戻す、請求項１４に記載のシステム。
【請求項１７】
前記ネットワーク・ルータが、前記共有ネットワーク・アドレスに配置された前記複数のＤＢＭＳメンバのうちのいずれがアクティブであるかを判別するための手段を有する、請求項１４に記載のシステム。
【請求項１８】
前記判別する手段が、前記複数のＤＢＭＳメンバに結合された作業負荷マネージャを含み、前記作業負荷マネージャが各アクティブＤＢＭＳメンバのステータスおよび作業負荷を監視し、前記ステータスを前記ネットワーク・ルータに通信するものである、請求項１７に記載のシステム。
【請求項１９】
各アクティブＤＢＭＳメンバが、アクティブなＤＢＭＳメンバのリストを前記クライアントに伝送するための手段をさらに含む、請求項１７に記載のシステム。
【請求項２０】
アクティブなＤＢＭＳメンバのそれぞれに重み付け負荷を提供するための手段と、
アクティブなＤＢＭＳメンバのそれぞれに関連するメンバ特有ネットワーク・アドレスを識別するための手段と、
をさらに有する、請求項１７に記載のシステム。
【請求項２１】
それぞれの重み付け負荷に基づいて、前記アクティブなＤＢＭＳメンバ全体にわたって作業を均一に分配するための手段をさらに有する、請求項２０に記載のシステム。
【請求項２２】
それぞれのＤＢＭＳメンバに対応するメンバ特有ネットワーク・アドレスを割り当てるための手段をさらに有し、前記メンバ特有ネットワーク・アドレスが、その場所に関係なく前記対応するメンバに関連付けられるものである、請求項１７に記載のシステム。
【請求項２３】
ＤＢＭＳメンバとの第１の接続が中断された後に前記ＤＢＭＳメンバとの再同期化プロセスを実行するために、前記クライアントが前記メンバ特有ネットワーク・アドレスを利用する、請求項２２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、データベース管理システム・サーバのセットによって管理されるリモート・データベースに関し、より具体的に言えば、クライアント・システムが作業負荷バランシングおよび再同期化のためにリモート・データベースへのアクセスを得ることができるようにするための方法およびシステムに関する。
【背景技術】
【０００２】
今日の情報技術業界では、顧客は自分達の現在のシステムを使って、既存のアプリケーションが引き続き使用できる状態でありながら、性能およびコストがより改善されたシステムを望んでいる。インターネットを介したグローバルな接続のためにモバイルの使用人口が増加し機能が向上するとすれば、高可用性も重要である。情報技術アプリケーションに関する現在の処理システム設計はスケーラブルでなければならず、また、細分性の向上および連続的なアプリケーションの可用性を提供するものでなければならない。これらの設計ニーズを達成するために、ＩＢＭコーポレーションのＳ／３９０  Ｐｒａｌｌｅｌ  Ｓｙｓｐｌｅｘなどのクラスタリング技術が開発された。
【０００３】
クラスタとは、多くのユーザを同時にサポートできる単一の強力なシステムを作成するような形で、個々のデータ処理システムをリンクするものである。クラスタは、高い可用性と優れたスケーラビリティを提供する。クラスタ内で１つのシステム／ノードに障害が発生した場合、そのクラスタ内の他のシステムは引き続き動作する。
【０００４】
クラスタ技術は、並列データベース管理システムにおいて多くの利点をもたらすものである。たとえば図１は、たとえばデータベースが常駐するディスク・ドライブ１１１〜１１３などの記憶デバイスのプール１１０などの、ディスク・スペースを共有する３台のコンピュータ１０１〜１０３のシスプレックス（ｓｙｓｐｌｅｘ）環境１００を示す図である。コンピュータ１０１〜１０３はそれぞれ、作業ユニットのコミットまたはロール・バックを管理するための、データベース管理システム（ＤＢＭＳ）メンバ１２１〜１２３および関連するログ・データセット１５１〜１５３を含む。各ログ・データセット１５１〜１５３には、それを所有しているＤＢＭＳメンバのみがアクセス可能である。ＤＢＭＳメンバ１２１〜１２３は、それぞれが他のＤＢＭＳメンバとの通信の方法を知っており、また、それぞれがそれらに共通のデータのプール１１０を管理する方法を知っている。結合機構１２０は、コンピュータ１０１〜１０３を相互にリンクし、かつ記憶デバイス１１１〜１１３のプール１１０とリンクする。結合機構１２０は、各ＤＢＭＳメンバ１２１〜１２３の作業負荷を管理、監視、およびバランシングする、作業負荷マネージャ（ＷＬＭ）１２４も含む。
【０００５】
シスプレックス１００は、ネットワーク接続１４５、典型的にはＴＣＰ／ＩＰネットワークを介して複数のクライアント・システム１４０にアクセスすることができる。見やすいように、図２にはクライアント１４０が１つしか示されていない。クライアント１４０は、他の並列シスプレックスあるいはワークステーションまたは他のパーソナル・コンピュータとすることができる。クライアント１４０は、シスプレックスを、複数の個別のＤＢＭＳメンバ１２１〜１２３としてではなく、単一のリモート・データベースとみなす。クライアント１４０が要求またはコマンドをデータベースに提出しようとする場合、クライアント１４０はシスプレックス１００の１つのＤＢＭＳメンバ、たとえば１２１との通信を開始するだけでよい。クライアント１４０は、１つのメンバ１２１へのアクセスを取得するために、アクティブなＤＢＭＳメンバ１２１〜１２３を含むシスプレックス１００内のコンピュータ１０１〜１０３のネットワーク・アドレス、たとえばＩＰアドレスを要求するメッセージを、ドメイン名サーバ（ＤＮＳ）１３０に送信する。
【０００６】
ＤＮＳ  １３０は、作業負荷マネージャ（ＷＬＭ）１２４に緊密に結合、すなわち統合され、ネットワーク上の様々なコンピュータ・グループ、すなわちシスプレックスと、それぞれのＩＰアドレスとのディレクトリを保持するものである。それぞれのコンピュータ・グループには「ｓｙｓｔｅｍ１．ｖｎｅｔ．ｉｂｍ．ｃｏｍ」などのドメイン名が与えられ、そのグループ内の各コンピュータは個別のＩＰアドレスを有する。クライアント１４０はＤＮＳ１３０に登録し、ＤＮＳ１３０のデータベースは「ｓｙｓｔｅｍ１．ｖｎｅｔ．ｉｂｍ．ｃｏｍ」と呼ばれるシステムの一部である。ＤＮＳ１３０がＩＰアドレスを維持しているため、クライアント１４０は個々のコンピュータのＩＰアドレスをハード・コード化する必要がない。したがって、クライアント１４０がデータベースに接続するための要求をＤＮＳ１３０に提出する場合、クライアント１４０はデータベース位置のドメイン名を識別し、ＤＮＳ１３０がそのドメイン名を所与のＩＰアドレス・グループに解釈する（ｒｅｓｏｌｖｅ）。
【０００７】
クライアント１４０の要求に対する他の応答では、ＤＮＳ１３０がＷＬＭ１２４に確認を取り、どのＤＢＭＳメンバ１２１〜１２３がアクティブであるか、およびそれらがどのコンピュータ１０１〜１０３上に常駐しているかを判別する。次にＤＮＳ１３０は、その名前が付けられたグループのアクティブなＤＢＭＳメンバを含んでいるコンピュータ１０１、１０２、１０３のＩＰアドレスを含むメッセージを、クライアント１４０に返送する。作業負荷バランシングをサポートしているシスプレックス環境では、ＤＮＳ１３０によってクライアント１４０に戻されるＩＰアドレスは、最も負荷の少ないＤＢＭＳメンバを有するコンピュータのものである。最も負荷の少ないメンバを判別するために、ＤＮＳ１３０はＷＬＭ１２４と通信するが、これも各ＤＢＭＳメンバ１２１〜１２３の作業負荷を監視している。次にクライアント１４０はそのＩＰアドレスを利用して、シスプレックス内のＤＢＭＳメンバを含む対応するコンピュータとの初期接続を確立する。
【０００８】
クライアント１４０と１つのＤＢＭＳメンバ、たとえば１２１との間に初期接続が作成されると、ＤＢＭＳメンバ１２１は、アクティブなＤＢＭＳメンバとそれらそれぞれの作業負荷のリスト、すなわち重み付けリスト（図示せず）をクライアント１４０に戻す。クライアントはこのリストを使用して、データベース・シスプレックスのアクティブ・メンバ全体にわたって作業を均一に分配することができる。
【０００９】
この構成が、複数のクライアントに対してデータ共有および作業負荷バランシングを提供するものである。しかし、ＤＮＳ１３０とＷＬＭ１２４との緊密な結合は、いくつかの問題を提示する。第１に、ＤＮＳはいまだ多くのシスプレックス・システム上にはインストールされておらず、顧客は自分達の既存のＴＣＰ／ＩＰネットワークにＤＮＳを統合したがらない。ＤＮＳ１３０なしでは、クライアント１４０はデータベースとの接触を確立することができず、分散型シスプレックス・ストラテジは失敗に終わる。第２に、ＷＬＭ実行可能ＤＮＳがインストールされた場合であっても、ＷＬＭとＤＮＳとの間での情報の交換に関連した待ち時間がある。したがって、クライアント１４０がＤＮＳ１３０に複数の要求を送信するゲートウェイである場合、待ち時間に起因する遅延によって性能が損なわれることがある。第３に、ＤＮＳは典型的にはＵＮＩＸベースのアプリケーションであり、ＷＬＭはデータベース・アプリケーションであるため、ＷＬＭとＤＮＳとの統合は複雑かつ困難である。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
したがって、シスプレックス・システムにおいて作業負荷バランシングをサポートし、またこうしたシステムの性能を向上させる方法およびシステムが求められている。当該方法およびシステムは実施が容易でなければならず、また既存のシステムを大幅に修正する必要のないものでなければならない。本発明はこうした要求に対処するものである。
【課題を解決するための手段】
【００１１】
本発明は、複数のデータベース管理システム（ＤＢＭＳ）メンバを有するコンピュータ・システムのネットワークによって管理されるデータベースに、クライアントを接続するための方法およびシステムを対象とするものである。当該方法およびシステムは、複数のＤＢＭＳメンバに共有ネットワーク・アドレスを提供することを含むものであって、クライアントはこのアドレスを使用して、複数のＤＢＭＳメンバのうちのアクティブなＤＢＭＳメンバに接続する。
【００１２】
本発明の態様により、クライアントは共有ネットワーク・アドレスを利用して、複数のＤＢＭＳメンバの１つのメンバがアクティブである限りは、そのうちの任意の１つにネットワーク・ルータを介して接続することができる。クライアントが１つのメンバに接続されると、当該メンバはすべてのアクティブ・メンバおよびそれらそれぞれの作業負荷のリストをクライアントに送信する。リストには、各メンバに対応したメンバ特有のネットワーク・アドレスも含まれるため、クライアントはアクティブ・メンバ全体にわたって作業を均一に分配することができる。
【００１３】
本発明の他の態様によれば、メンバ特有のネットワーク・アドレスは対応するＤＢＭＳメンバに固有のものであり、そのメンバにリンクされるものであって、メンバが常駐することのあるコンピュータに固有のものではない。したがって、ＤＢＭＳメンバが常駐しているコンピュータがダウンするか、またはＤＢＭＳメンバがダウンし、かつ、当該メンバが異なるコンピュータ上で再始動される場合、クライアントは、メンバ特有のネットワーク・アドレスを利用して適切なメンバに再接続することによって、再同期化プロセス、たとえばコミットまたはロール・バックを実行することができる。
【発明を実施するための最良の形態】
【００１４】
本発明は、一般に、データベース管理システム・サーバのセットによって管理されるリモート・データベースに関し、より具体的に言えば、クライアント・システムが作業負荷バランシングおよび再同期化のためにリモート・データベースへのアクセスを得ることができるようにするための方法およびシステムに関する。以下の説明は、当業者のうちの１人が本発明を作成および使用できるようにするために提示され、特許明細書およびその要件に関連して提供されるものである。当業者であれば、本明細書に記載された好ましい実施形態および総称的な原理および特徴に対する様々な修正が容易に明らかになろう。したがって本発明は、示された実施形態に限定されることを意図するものではなく、本明細書に記載された原理および特徴に適合する最も広い範囲が与えられるものである。
【００１５】
本発明の好ましい実施形態によれば、シスプレックス内の各ＤＢＭＳメンバには２つのネットワーク・アドレスが割り当てられる。その第１が、シスプレックス内のすべてのＤＢＭＳメンバによって共有される共通ネットワーク・アドレスである。クライアントはこの共有ネットワーク・アドレスを利用し、共有ネットワーク・アドレスに配置された任意のアクティブ・メンバにクライアントを接続することができる標準ルータを介して、シスプレックスにアクセスする。各ＤＢＭＳに割り当てられる第２のネットワーク・アドレスはメンバ特有のものであり、そのメンバに接続される。クライアントが共有ネットワークを介して１つのメンバとの接触を開始すると、そのメンバは、各アクティブ・メンバのメンバ特有のネットワーク・アドレスを含む重み付けリストをクライアントに提供する。その後クライアントは、他のアクティブ・メンバ全体にわたって作業を均一に分配することができる。さらに、コミット・プロセス中にクライアントと所与のメンバとの間の接続が中断された場合、クライアントは、そのメンバのメンバ特有のネットワーク・アドレスを使用して、その所与のメンバに容易に再接続することができる。したがって、ＤＮＳをシスプレックス・システムに統合させる必要なしに、作業バランシングおよび再同期化が達成される。
【００１６】
図２は、本発明の好ましい実施形態に従ったシスプレックス環境２００を示す図である。図に示されるように、シスプレックス２００は、結合機構２２０に結合された複数のネットワーク化されたコンピュータ２０１〜２０３を含み、この結合機構は、データベースが常駐する記憶デバイス２１１〜２１３のプール２１０に結合される。コンピュータ２０１〜２０３はそれぞれＤＢＭＳメンバ２２１〜２２３を含むことができるが、これは必要条件ではない。本発明の好ましい実施形態では、クライアント２４０がネットワーク・ルータ２５０に結合され、これがシスプレックス・ネットワーク２００に結合される。図２には単一のルータ２５０／クライアント２４０結合が示されているが、複数のルータおよび複数のクライアントをシスプレックス・ネットワーク２００に結合することもできることを理解されたい。
【００１７】
好ましい実施形態によれば、各ＤＢＭＳメンバ２２１〜２２３に２つのネットワーク・アドレスが割り当てられる。第１のネットワーク・アドレスは共有ネットワークアドレス（ＹＹＹ）であり、これはシスプレックス２００のすべてのメンバ２２１〜２２３に共通である。共有ネットワーク・アドレスＹＹＹは場所を共有しているデータベース全体を表すものであって、クライアント２４０が単一イメージとしてのデータベースにアクセスする際に使用される。各メンバ２２１〜２２３に割り当てられる第２のネットワーク・アドレスが、メンバ特有ネットワーク・アドレス（ＸＸＡ、ＸＸＢ、ＸＸＣ）である。シスプレックスのメンバで、同じメンバ特有ネットワーク・アドレスを有するものは２つとない。共有アドレスおよびメンバ特有ネットワーク・アドレスはどちらも、メンバが常駐していることのあるコンピュータ２０１〜２０３にではなく、対応するＤＢＭＳメンバ２２１〜２２３にリンクされる。これは特に、再同期化に関連するものとなる。
【００１８】
共有ネットワーク・アドレス（ＹＹＹ）は、シスプレックス２００の任意のＤＢＭＳメンバ２２１〜２２３にアクセスするように構成される。したがって、１つのＤＢＭＳメンバ２２１〜２２３がアクティブである限り、ネットワーク・ルータ２５０はクライアント２４０をアクティブ・メンバ２２１〜２２３のうちの１つに接続することになる。好ましい一実施形態では、ネットワーク・ルータ２５０が各ＤＢＭＳメンバ２２１〜２２３と直接通信して、各メンバのステータス、すなわちアクティブであるか非アクティブであるかを知る。したがって、ルータ２５０はアクティブ・メンバ２２１〜２２３のうちの１つに直接ルーティングすることができる。他の実施形態では、ネットワーク・ルータ２５０がＷＬＭ２２４に結合され、ここから同じステータス情報を抽出することができる。
【００１９】
ＤＮＳ２３０はクライアント２４０に結合されるが、シスプレックス・ネットワーク２００に統合されることはない。前述のように、ＤＮＳ２３０はデータベース位置ドメイン名のディレクトリを保持する。本発明の好ましい実施形態では、ＤＮＳ２３０は、各リモート・データベース位置の共有ネットワーク・アドレスを格納するだけでよい。したがって、クライアント２４０がデータベース位置ドメイン名を使用してリモート・データベースにアクセスしようとする場合、ＤＮＳ２３０はそのドメイン名を１つのネットワーク・アドレス、すなわち共有ネットワーク・アドレスに解釈し、そのアドレスをクライアント２４０に戻す。
【００２０】
クライアント２４０がアクティブＤＢＭＳメンバのうちの１つ、たとえば２２１との接触をいったん確立すると、データベース・プロトコルが引き継いで、アクティブＤＢＭＳメンバ２２１〜２２３の重み付けリスト２６０を戻す。好ましい実施形態では、重み付けリスト２６０には、各メンバのそれぞれの作業負荷２６１および各メンバのメンバ特有ネットワーク・アドレス２６２が含まれる。クライアント２４０はこの重み付けリスト２６０を使用して、新しい接続をデータベース・シスプレックス２００のアクティブ・メンバ２２１〜２２３全体にわたって均一に分配し、それによって作業負荷のバランシングを行うことができる。
【００２１】
図３は、本発明の好ましい実施形態に従った作業負荷バランシングのプロセスを示す図である。プロセス３００は、ステップ３１０を介して、各ＤＢＭＳメンバ２２１〜２２３に共有ネットワーク・アドレス（ＹＹＹ）を割り当てることによって開始される。共有ネットワーク・アドレス（ＹＹＹ）は、シスプレックス２００のすべてのメンバ２２１〜２２３にとって同じものである。クライアント２４０は、ステップ３２０を介して、シスプレックス２００に常駐しているデータベースに関連するデータベース位置ドメイン名を解釈するよう、ＤＮＳ２３０に依頼する。ＤＮＳ２３０は、ステップ３３０を介して、このドメイン名を共有ネットワーク・アドレス（ＹＹＹ）に解釈し、これをクライアント２４０に戻す。代替方法では、クライアント２４０はそのデータベースの共有ネットワーク・アドレスを含む、それ独自のディレクトリ（図示せず）を維持することができる。
【００２２】
ステップ３４０では、クライアント２４０は、データベースの共有ネットワーク・アドレス（ＹＹＹ）にルーティングするよう、ネットワーク・ルータ２５０に依頼する。ステップ３５０では、ルータ２５０が、もしもあれば、どのＤＢＭＳメンバ２２１〜２２３がアクティブであるかを判別し、クライアント２４０をそのアクティブなＤＢＭＳ２２１〜２２３のうちの任意のいずれか１つに接続する。クライアント２４０が１つのＤＢＭＳメンバに接続されると、ステップ３６０で、そのＤＢＭＳメンバが重み付けリスト２６０をクライアント２４０に戻すことになり、その後このクライアントは、ステップ３７０で、メンバ特有ネットワーク・アドレス２６２を使用してアクティブ・メンバ全体にわたって作業を均一に分配することができる。
【００２３】
上記で説明したように、クライアント２４０は、おそらく負荷が最も少ないメンバである特定のＤＢＭＳメンバ、たとえばメンバ２２１に対して、要求またはコマンドをそのメンバのメンバ特有ネットワーク・アドレス（ＸＸＡ）にルーティングすることによって、作業を命じることが可能である。メンバ特有ネットワーク・アドレスは、２相コミット手続中にクライアント２４０とメンバ２２１との間の通信が中断されており、メンバ２２１が異なるコンピュータ、たとえばコンピュータ２０２または２０３上で再始動された場合に、他の利点も提供する。
【００２４】
前述のように、各ＤＢＭＳメンバ２２１〜２２３は、所有者側ＤＢＭＳメンバによって処理されるあらゆる作業ユニットを記録する、ログ・データセット２５１〜２５３を「所有」する。ＤＢＭＳメンバのみがそれ自体のログ・データセットにアクセス可能であり、すなわち、ログ・データセット内の情報はメンバ間で共有されていない。２相コミット・プロセス中に通信障害が発生すると、クライアント２４０は、クライアント２４０の作業ユニットに関連付けられたログ記録２５１を所有するシスプレックスのメンバ、たとえば２２１と「再同期化」しなければならない。再同期化プロセスによって、クライアント２４０は、ＤＢＭＳメンバ２２１での作業ユニットの結果（成功または失敗）を判別することができる。しかしクライアント２４０は、再同期化を実行するために、元の作業ユニットを実行したメンバ２２１との通信を再確立しなければならない。
【００２５】
本発明の方法およびシステムによれば、メンバ特有ネットワーク・アドレス（ＸＸＡ）はその対応するメンバにリンクされ、メンバ２２１が実行中であることのあるコンピュータにはリンクされない。クライアント２４０は、メンバ２２１がどこで再始動されているかにかかわらず、メンバ特有ネットワーク・アドレス（ＸＸＡ）を使用してメンバ２２１に再接続するだけでよい。したがって、これまでは、たとえばコンピュータ障害などによって異なるコンピュータ上で再始動された特定メンバのネットワーク・アドレスを追跡することは困難であったが、本発明の方法およびシステムの下では、こうしたタスクが簡単になっている。
【００２６】
本発明の方法およびシステムの態様により、ＤＮＳをシスプレックスに緊密に結合させる必要なしに、シスプレックス・ネットワークにおける作業負荷バランシングおよびコミット再同期化を実行することができる。ＵＮＩＸベースのアプリケーションとデータベース・アプリケーションとの統合に関連する問題は回避された。ＤＮＳをネットワーク・ルータに置き換えることによって、ＤＮＳに関連する待ち時間がなくなり、クライアントとシスプレックスとの間の初期接続を確立するのに必要な時間が削減されたため、性能が向上した。さらに、本発明の方法およびシステムを実施するためのクライアントの修正も不要である。
【００２７】
以上、本発明について、示された実施形態に従って説明してきたが、当業者の１人であれば、当該実施形態の変形形態が可能であり、それら変形形態が本発明の趣旨および範囲内であることを、容易に理解されよう。したがって、当業者の１人であれば、添付の特許請求の範囲の趣旨および範囲を逸脱することなく、多くの修正を実行することができる。
【００２８】
たとえば、本発明についてシスプレックス環境を参照しながら説明してきたが、本発明は、たとえば共有メモリを備えた複数のプロセッサを有するシステムなどの、単一システム内にあるような複数のサーバを有する他のシステム、あるいはシステムのネットワークにも適用可能である。さらに、本発明について、ＩＢＭ  ＤＢ２などの関係データベース管理システム製品などのＤＢＭＳサーバを参照しながら説明してきたが、本発明は、任意のタイプのサーバ、たとえばファイルサーバ、印刷サーバ、ファイル転送プログラムなどにも適用可能である。
【図面の簡単な説明】
【００２９】
【図１】当分野で知られたシスプレックス環境を示す図である。
【図２】本発明の好ましい実施形態に従ったシスプレックス環境を示す図である。
【図３】本発明に従った作業負荷バランシングのプロセスを示す流れ図である。
【図１】
2005516319.tif 000003
【図２】
2005516319.tif 000004
【図３】
2005516319.tif 000005
【国際調査報告】
2005516319.tif 000006
2005516319.tif 000007
2005516319.tif 000008