(57)【要約】  レガシーサーバー１１１、１１３へのアクセスを提供する高信頼性サーバープールにおける負荷分散システム及び方法が開示されている。プロキシプール要素１１５は、ネームサーバー１３１とレガシーサーバープールとの間のインターフェースを提供し、プロキシ要素は、レガシーアプリケーションの状態を監視して負荷分散を行い、アプリケーションクライアント１０１にネームサーバー及び集合サーバーアクセスプロトコルを通じてアクセスを提供する。
2005513618.tif 000002
【特許請求の範囲】
【請求項１】
レガシーアプリケーションサービスをクライアントに提供する方法であって、クライアントは、集合アクセスサーバープロトコル（ＡＳＡＰ）に準拠して動作し、当該方法は、
プロキシプール要素を通じて、レガシーアプリケーションへのアクセスを要求するステップと、
前記レガシーアプリケーションを前記プロキシプール要素に登録するステップと、
前記レガシーアプリケーションをクライアントに提供するために、レガシーサーバーを選択するステップ、を含むことを特徴とする方法。
【請求項２】
前記レガシーアプリケーションへのアクセスを要求するステップに応答して、前記レガシーアプリケーションの状態を検査するステップを、さらに含むことを特徴とする、請求項１記載の方法。
【請求項３】
前記選択するステップにて、前記レガシーサーバーは、前記レガシーアプリケーションの状態を前記プロキシプール要素に提供するためのデーモンを含むことを特徴とする、請求項２記載の方法。
【請求項４】
前記デーモンは、前記レガシーサーバー内の処理テーブルをポーリングすることにより、前記レガシーアプリケーションの状態を提供することを特徴とする、請求項３記載の方法。
【請求項５】
前記プロキシプール要素は、ＡＳＡＰに準拠して動作するエンドポイントサーバーを含むことを特徴とする、請求項１記載の方法。
【請求項６】
前記レガシーサーバーを選択するステップは、予め確立したサーバー選択条件に基づいて、選択を実行するステップを含むことを特徴とする、請求項１記載の方法。
【請求項７】
前記予め確立したサーバー選択条件は、サーバー運営体により確立された方針に基づいていることを特徴とする、請求項６記載の方法。
【請求項８】
前記予め確立したサーバー選択条件は、ラウンドロビン選択、先入れ先出し選択、トランザクション数、負荷の利用可能性、及び同時実行アプリケーション数からなるグループの１個を含むことを特徴とする、請求項６記載の方法。
【請求項９】
アプリケーションサービスをクライアントに提供するのに適したサーバープールネットワークにおいて、
集合アクセスサーバープロトコル（ＡＳＡＰ）に準拠して動作する物理要素であってアプリケーションサービスを提供するための物理要素を、少なくとも１つ含むネームサーバープールと、
エンドポイントネーム解決プロトコル（ＥＮＲＰ）要素と通信するためのＡＳＡＰ層を有するプロキシプール要素、及びレガシーアプリケーションサービスを提供するための少なくとも１つのレガシーアプリケーション要素を含むアプリケーションサーバープールと、
前記ネームサーバープール及び前記プロキシプール要素と通信するＥＮＲＰサーバーであって、前記アプリケーションサービス及び前記レガシーアプリケーションサービスをクライアントに提供するためのＥＮＲＰサーバー、を備えたことを特徴とするサーバープールネットワーク。
【請求項１０】
前記プロキシプール要素は、前記少なくとも１つのレガシーアプリケーションサーバーからアプリケーションの状態を取得する手段をさらに含むことを特徴とする、請求項９記載のサーバープールネットワーク。
【請求項１１】
前記プロキシプール要素は、前記少なくとも１つのレガシーアプリケーションサーバー内にあるレガシーアプリケーションを登録する手段を、さらに備えたことを特徴とする、請求項９記載のサーバープールネットワーク。
【請求項１２】
前記プロキシプール要素は、負荷分散のために用いられるプーリング構成を確立する手段をさらに備えたことを特徴とする、請求項９記載のサーバープールネットワーク。
【請求項１３】
前記プーリング構成は、利用可能なアプリケーションサーバー及びサーバー選択条件のリストを含むことを特徴とする、請求項１２記載のサーバープールネットワーク。
【請求項１４】
前記レガシーアプリケーションサーバーは、アプリケーションの状態を前記プロキシプール要素に提供するためのデーモンを備えたことを特徴とする、請求項９記載のサーバープールネットワーク。
【請求項１５】
前記レガシーアプリケーションサーバーは、構成ファイル及び該構成ファイルを前記デーモンに提供するための動的通知アプリケーションを、さらに備えたことを特徴とする、請求項１４記載のサーバープールネットワーク。
【請求項１６】
前記レガシーアプリケーションサーバーは、アプリケーションの状態を保持するための処理テーブルをさらに備え、前記デーモンは、前記処理テーブルをポーリングする手段を含むことを特徴とする、請求項１４記載のサーバープールネットワーク。
【請求項１７】
エンドポイントネーム解決プロトコル（ＥＮＲＰ）要素と通信するためのアプリケーションサーバーアクセスプロトコル（ＡＳＡＰ）層と、
アプリケーションサーバーのリストを生成する手段、を備えたことを特徴とするプロキシプール要素。
【請求項１８】
レガシーアプリケーションの登録及び登録抹消を実行する手段を、さらに備えたことを特徴とする、請求項１７記載のプロキシプール要素。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークサーバープールに関し、特に、高信頼性サーバープール内にレガシーサーバーを含める方法に関する。
【背景技術】
【０００２】
個々のインターネットユーザは、個人のアクセスについて、情報及び通信サービスが絶えず利用可能であることを期待するに至っている。さらに、ほとんどの商用インターネットのユーザは、毎日、週の全て、通年でインターネット接続できることを当てにしている。このようなレベルの高信頼性サービスを提供するために、コンポーネント及びシステムプロバイダは、高信頼性サーバー及び不断の接続可能性を提供することを意図した、多くの独自開発のソリューション及びオペレーティングシステム依存のソリューションを、開発してきた。
【０００３】
アプリケーションサーバーが、障害発生、あるいは、他の事情で利用不能となった場合、アプリケーションサービスを提供し続けるために他のサーバーへと切り換えるタスクは、ユーザのブラウザにアクセスすることにより、処理されることが多い。このような手動切換再設定は、煩雑な作業となりうる。インターネットセッション中にしばしば発生するように、ブラウザは、サーバーを切り換える能力がなく、単に「Server Not Responding」といったエラーメッセージを返すことになる。ブラウザが代替サーバーにアクセスする能力がある場合であっても、通例、アプリケーション間での負荷分散については、考慮が払われていない。
【０００４】
当該技術の現在の状態により、進歩したアーキテクチャが規定されている。このアーキテクチャでは、同じ機能を提供しているアプリケーションサーバーの集まりが、高信頼サーバープール（ＲＳｅｒＰｏｏｌ）としてグループ化されて、高い冗長度が提供されている。各サーバープールは、システムアーキテクチャの動作スコープにおいて、一意的なプールハンドル又はネーム（name）により識別可能である。高信頼サーバープールへのアクセスを希望しているユーザすなわちクライアントは、サーバープールの方針手順に従うことにより、任意のプールサーバーを利用することができる。
【０００５】
また、高度に利用可能なサービスへの要求は、ＲＳｅｒＰｏｏｌ下のトランスポート層のプロトコルにも、同様な高信頼性を要求することになる。すなわち、そのプロトコルは、ネットワークのコンポーネントの障害に直面した際にも、強度の存続可能性を提供する。ＲＳｅｒＰｏｏｌ規格は、極めて高信頼性のアプリケーションに対応するともにサーバープールへのクライアントアクセス機構に対応した、サーバープールの管理及び動作用のアーキテクチャ及びプロトコルを、展開させてきている。
【０００６】
しかしながら、ＲＳｅｒＰｏｏｌ規格の欠点として、レガシーサーバーを含んだＲＳｅｒＰｏｏｌネットワークの非互換性がある。通常のレガシーサーバーは、ＲＳｅｒＰｏｏｌサーバーが使用している集合サーバーアクセスプロトコル（ＡＳＡＰ：aggregate server access protocol）に準拠して動作するわけではなく、ＲＳｅｒＰｏｏｌシステムに登録不能である。金融アプリケーション及び通信アプリケーション等、現在広範な用途に供されている多くの実地試験済のスタンドアロン及び分散アプリケーションはレガシーサーバー内に存在しているため、これにより問題が生じている。非互換性の問題により、レガシーアプリケーションは、ＲＳｅｒＰｏｏｌ規格の利益を享受することができない。
【０００７】
したがって、レガシーサーバーへのアクセスをも提供する高信頼性サーバープール内の負荷分散システム及び方法が必要とされている。
【０００８】
［発明の要約］
好ましい一実施形態では、本発明は、レガシーサーバーへのアクセスを提供する高信頼性サーバープールにおける負荷分散システム及び方法を提供する。プロキシプール要素は、ネームサーバーとレガシーサーバープールとの間のインターフェースを提供し、プロキシプール要素は、レガシーアプリケーションの状態を監視して、負荷分散を行い、アプリケーションクライアントにネームサーバー及び集合サーバーアクセスプロトコルを通じてアクセスを提供する。
【０００９】
本発明について、添付の図面を参照して説明する。
【００１０】
〔発明の詳細な説明〕
図１に、高信頼性サーバープール（ＲＳｅｒＰｏｏｌ）ネットワーク１０の簡略図を示す。当業者には理解されるように、高信頼性サーバープールネットワーク１０に必要な機能は、２つのプロトコルにより提供されている。すなわち、エンドポイントネーム解決プロトコル（ＥＮＲＰ：Endpoint Name Resolution Protocol）及び集合サーバーアクセスプロトコル（ＡＳＡＰ：Aggregate Server Access Protocol）である。ＥＮＲＰは、ネームを、該ネームで登録されたネットワーク通信のエンドポイント（endpoint）の特定のグループを指すトランスポートアドレスの組へとマッピングする、完全に分散されたフォールトトレラント・リアルタイム・トランザクション・サービスを提供するように設計されている。ＥＮＲＰは、ＥＮＲＰサーバーが、同一のホストや他のホスト上で動作するエンドポイントのクライアントからのネーム・トランザクション・サービスの要求に対して応答する、クライアントサーバーモデルを用いている。
【００１１】
高信頼性サーバープールネットワーク１０は、第１のネームサーバープール１１及び第２のネームサーバープール２１を備えている。第１のネームサーバープール１１は、該第１のネームサーバープール１１へと登録されたサーバーの実体であるＲＳｅｒＰｏｏｌ物理要素１３、１５、１７を、備えている。同様に、第２のネームサーバープール２１は、該第２のネームサーバープール２１へと登録されたＲＳｅｒＰｏｏｌ物理要素２３、２５を備えている。第１のネームサーバープール１１は、ＲＳｅｒＰｏｏｌを認識したクライアント３１により、アクセス可能である。なお、このクライアント３１は、ＡＳＡＰに従って機能するクライアントであるので、第１のネームサーバープール１１により提供されたアプリケーションサービスを認識している。
【００１２】
当業者にはさらに理解されるように、ＡＳＡＰは、ネームからアドレスへの変換、負荷分散管理、及び障害管理のためのユーザーインターフェース、並びに、ＩＰネットワークを通じたフォールトトレラントデータ転送機構を提供するためのＥＮＲＰに関連した機能を提供している。さらに、ＡＳＡＰは、論理的な通信エンドポイントをそのＩＰアドレスから分離する、ネームベースのアドレス指定モデルを用いている。この機能は、通信エンドポイントとその物理的なＩＰアドレスとの間のあらゆる拘束を排除する役割を果たす。ＡＳＡＰとともに、論理的な通信の各送信先は、ネームサーバープールとして規定され、サーバープーリング及び負荷分散に、完全にトランスペアレントなサポートを提供する。また、ＡＳＡＰにより、動的なシステム拡張性が可能となり、そこでは、メンバーサーバーの実体が、ＲＳｅｒＰｏｏｌを認識したクライアント３１へのサービスを中断することなく、所望の如くに、ネームサーバープール１１、２１に対して追加又は削除可能である。
【００１３】
ＲＳｅｒＰｏｏｌの物理的要素１３−１５及び２３−２５は、登録又は登録抹消のために、及び、他の補助情報をＥＮＲＰネームサーバー１９、２９と交換するために、ＡＳＡＰを用いてもよい。また、ＥＮＲＰネームサーバー１９、２９は、ネームサーバープール１１、２１内での各物理要素の動作状態を監視するために、ＡＳＡＰ用いている。これらの監視トランザクションは、データリンク５１−５９を通じて実行される。通常動作時に、ＲＳｅｒＰｏｏｌを認識したクライアント３１は、データリンク４１を通じてＡＳＡＰを用いて、ＥＮＲＰネームサーバー１９が、ネームからアドレスへの変換サービスから、ネームサーバープール１１により使用されたネームを取得するように要求することができる。次に、ＲＳｅｒＰｏｏｌを認識したクライアント３１は、第１のネームサーバープール１１宛のユーザーメッセージを送信することができる。そこでは、第１のネームサーバープール１１は、取得されたネームを一意的なネームハンドルとして用いて識別可能である。
【００１４】
ファイル転送は、図示の構成では、ＲＳｅｒＰｏｏｌを認識したクライアント３１内のアプリケーションにより、取得済のプールハンドルを用いて、第１のネームサーバープール１１へとログイン要求を送出することにより、起動可能である。次に、ＲＳｅｒＰｏｏｌを認識したクライアント３１内のＡＳＡＰ層は、第１のネームサーバー１９へと、ＡＳＡＰ要求を送信して、物理要素のリストを要求してもよい。それに応答して、第１のネームサーバー１９は、ＲＳｅｒＰｏｏｌの物理要素１３、１５、１７のリストを、ＲＳｅｒＰｏｏｌを認識したクライアント３１内のＡＳＡＰ層へと、データリンク４１を介して返信する。ＲＳｅｒＰｏｏｌを認識したクライアント３１内のＡＳＡＰ層は、ＲＳｅｒＰｏｏｌの物理要素１５というように、物理要素のうちの１つを選択し、ログイン要求を送信する。ファイル転送プロトコル（ＦＴＰ）制御データは、ＲＳｅｒＰｏｏｌの物理要素１５に対する要求されたファイル転送を、データリンク４５を用いて起動する。
【００１５】
上述のファイル転送の対話中に、ＲＳｅｒＰｏｏｌの物理要素１５に障害が発生した場合、ファイル転送状態を共有している他のプール要素（ＲＳｅｒＰｏｏｌの物理要素１３等）に対して、障害回避が起動される。ＲＳｅｒＰｏｏｌの物理要素１３は、ＲＳｅｒＰｏｏｌを認識したクライアント３１が要求した転送が完了するまで、データリンク４３を介してファイル転送を続行する。さらに、ＲＳｅｒＰｏｏｌの物理要素１３からＥＮＲＰネームサーバー１９へと、第１のネームサーバープール１１についての更新を要求するために、要求がなされる。ＲＳｅｒＰｏｏｌの物理要素１５に障害が発生したことを示す報告がなされる。従って、ＥＮＲＰネームサーバー１９がＲＳｅｒＰｏｏｌの物理要素１５の障害発生を未検出であれば、ＲＳｅｒＰｏｏｌの物理要素１５は、後の検査にて、第１のネームサーバープールから削除可能となる。
【００１６】
同様の手順を用いて、ＲＳｅｒＰｏｏｌ非認識クライアント３５内のアプリケーションにより、ファイル転送が起動可能である。このようなファイル転送は、ＲＳｅｒＰｏｏｌ非認識クライアント３５からプロキシゲートウェイ３７へと、データリンク４７を介して転送制御プロトコル（ＴＣＰ）を用いて、ログイン要求を送出することによりなされる。プロキシゲートウェイ３７は、ＲＳｅｒＰｏｏｌ非認識クライアント３５に代わって動作し、ログイン要求をＲＳｅｒＰｏｏｌ認識表現へと変換する。プロキシゲートウェイ３５内のＡＳＡＰ層は、ＡＳＡＰ要求を第２のＥＮＲＰネームサーバー２９へとデータリンク４９を介して送信して、第２のＥＮＲＰネームサーバープール２１内の物理要素のリストを要求する。それに応答して、ＥＮＲＰネームサーバー２９は、ＲＳｅｒＰｏｏｌ物理要素２３、２５のリストを、プロキシゲートウェイ３７内のＡＳＡＰ層へと返信する。
【００１７】
プロキシゲートウェイ３７内のＡＳＡＰ層は、物理要素のうちの１つ（例えば、ＲＳｅｒＰｏｏｌ物理要素２５）を選択して、ログイン要求を、ＲＳｅｒＰｏｏｌ物理要素２５へとデータリンク５９を介して送信する。ファイル転送プロトコルの制御データは、要求されたファイル転送を起動する。当業者には理解できるように、ＲＳｅｒＰｏｏｌ非認識クライアント３５は、通例、ＥＮＲＰネームサーバー２９が対応していないアプリケーションプロトコルに対応したレガシークライアントである。プロキシゲートウェイ３７は、ＥＮＲＰネームサーバー２９とＲＳｅｒＰｏｏｌ非認識クライアント３５との間における、ＲＳｅｒＰｏｏｌ非認識クライアント３５とプロキシゲートウェイ３７との組み合わせを可能としたリレーとして動作し、ＲＳｅｒＰｏｏｌ要素３３として機能して、第２のネームサーバープール２１と通信する。
【００１８】
ＡＳＡＰは、データ転送開始前に、ＲＳｅｒＰｏｏｌ認識クライアント３１とＲＳｅｒＰｏｏｌ物理要素１５との間におけるデータリンク４５を介した補助情報の交換、あるいは、ＲＳｅｒＰｏｏｌのクライアント３３とＲＳｅｒＰｏｏｌ物理要素２５との間におけるデータリンク４４を介した補助情報の交換のために、使用可能である。また、そのプロトコルにより、ＲＳｅｒＰｏｏｌ物理要素１７が第２のネームサーバープール２１内のＲＳｅｒＰｏｏｌ物理要素２３とのデータリンク６１を介した通信を起動した場合に、第１のネームサーバープール１１内のＲＳｅｒＰｏｏｌ物理要素１７が、第２のネームサーバープール２１に対して、ＲＳｅｒＰｏｏｌクライアントとして機能することが可能となる。さらに、データリンク６３は、ネームスペースの操作、運営、及び管理（ＯＡＭ）の様々な機能を実行するために使用可能である。しかしながら、上述のプロトコルは、ＲＳｅｒＰｏｏｌ認識クライアント３１（又はＲＳｅｒＰｏｏｌクライアント３３）の非ＲＳｅｒＰｏｏｌサーバーへのアクセスを提供する旨の要求を実行する高信頼性サーバープールネットワーク１０には対応しておらず、要求の障害発生は、レガシーアプリケーションサーバー６９へと延びた破線６５で表されている。従って、高信頼性サーバープールネットワーク１０は、ＲＳｅｒＰｏｏｌ物理要素のみを備え、レガシーアプリケーションサーバーを含まない。
【００１９】
図２に、サーバープールネットワーク１００を示す。このサーバープールネットワーク１００は、高信頼性サーバープールのクライアント１０１の、アプリケーションプール１１０内にあるレガシーサーバー１１１、１１３へのアクセスと、ネームサーバープール１２０内にあるＲＳｅｒＰｏｏｌ物理要素１２１、１２３へのアクセスとを提供する。高信頼性サーバープールのクライアント１０１は、例えば上述のように、ＲＳｅｒＰｏｏｌ認識クライアント３１又はＲＳｅｒＰｏｏｌクライアント３３を備えてもよい。レガシーサーバー１１１内のアプリケーションの状態が、デーモン１４１によりプロキシプール要素１１５へと提供される。同様に、レガシーサーバー１１３内のアプリケーションの状態が、デーモン１４３によりプロキシサーバープール要素１１５へと提供される。デーモン１４１、１４３の動作については、後に詳述する。
【００２０】
高信頼性サーバープールのクライアント１０１内のアプリケーション１０３は、例えば、適切なプールハンドルを用いてＥＮＲＰネームサーバー１３１へのログイン要求を送信することにより、ＲＳｅｒＰｏｏｌ物理要素１２３からのファイル転送を起動可能である。次に、高信頼性サーバープールのクライアント１０１内のＡＳＡＰ層は、ＡＳＡＰ要求をＥＮＲＰネームサーバーへ１３１と送信し、ＥＮＲＰネームサーバー１３１は、ＲＳｅｒＰｏｏｌ物理要素１２３を含んだリストを、高信頼性サーバープールのクライアント１０１内のＡＳＡＰ層へと、データリンク８３を介して返却する。ＲＳｅｒＰｏｏｌ物理要素１２３から高信頼性プールのクライアント１０１へのファイル転送は、データリンク８５を介して実行される。
【００２１】
また、アプリケーション１０３は、レガシーアプリケーションサーバー１１１からのファイル転送を、例えば、ログイン要求をＥＮＲＰネームサーバー１３１へとアプリケーションプールハンドルを用いて送出することにより、起動可能である。プロキシプール要素１１５は、高信頼性サーバープールのクライアント１０１に、アプリケーションプール１１０内のアプリケーションへのアクセスを提供するように、ＥＮＲＰネームサーバー１３１とレガシーサーバー１１１、１１３とのインターフェースとなることにより、レガシーサーバー１１１、１１３に代わって動作する。プロキシプール要素１１５は、レガシーサーバープールとして規定された論理的な通信の送信先であるので、サーバープールネットワーク１００内のエンドポイントクライアントとして機能する。
【００２２】
従って、高信頼性サーバープールのクライアント１０１内のＡＳＡＰ層は、ＡＳＡＰ要求をＥＮＲＰネームサーバー１３１へと送信する。このＥＮＲＰネームサーバー１３１は、プロキシプール要素１１５内のＡＳＡＰ層と通信する。プロキシプール要素１１５は、レガシーアプリケーションサーバー１１１を含んだリストを、ＥＮＲＰネームサーバー１３１へと、高信頼性サーバープールのクライアント１０１内のＡＳＡＰ層へのデータリンク８３を介した送信のために返信する。レガシーアプリケーションサーバーから高信頼性サーバープールのクライアント１０１へのファイル転送は、データリンク８１を介して実行される。
【００２３】
高信頼性サーバープールのクライアント１０１へとＥＮＲＰネームサーバー１３１により返信されるリストは、プロキシプール要素１１５により生成される。プロキシプール要素１１５は、図３のフローチャートに示すように、レガシーサーバー及びアプリケーションプール１１０内にあるアプリケーションの状態を確立するために、デーモン１４１、１４３と通信する。図４に詳述するデーモン１４１は、ステップ１７１にて、レガシーサーバー１１１のための起動処理の一部として開始する。また、ステップ１７３では、デーモン１４１は、構成データベース１４５内の構成ファイル１４７を読み取る。ステップ１７５では、高信頼性サーバープールのクライアント１０１は、レガシーサーバー１１１内のアプリケーション１５１を開始し、ステップ１７７では、アプリケーション１５１は、レガシーサーバー１１１内にあるオペレーティングシステム１５３内の処理テーブル１５５へと追加される。なお、アプリケーション１５１は、スタンドアロンのアプリケーションであってもよく、分散アプリケーションであってもよい。
【００２４】
ステップ１７９では、プロキシプール要素１１５は、アプリケーション１５１の登録を実行する。この時点において、プロキシプール要素１１５は、アプリケーションプール１１０内で実行中の他の任意のアプリケーション（図示せず）を登録してもよい。プロキシプール要素１１５とそれぞれのアプリケーションサーバー１１１、１１３との間で、登録処理が実行される。ステップ１８１では、デーモン１４１は、アプリケーション１５１等のアプリケーションの状態を確立するために処理テーブル１５５をポーリングする。そして、ステップ１８３では、プロキシサーバープール要素１１５へとデーモン１４１により、アプリケーションの状態が提供される。登録手順時に実行されるサーバーのポーリングは、負荷を分散均衡させるために用いられるポーリング構成を確立する。ポーリング構成は、個々のアプリケーションを提供しているサーバーのリスト、及び、次のサーバーの割当を決定する方法を判別するためのサーバー選択条件を含んでいる。個々のサーバープール内のサーバーの選択のための条件は、それぞれのサーバープールの運営体により確立された方針に基づいている。
【００２５】
通例のポーリング構成は、以下の実体を有してもよい。
【００２６】
アプリケーション‘Ａ’
ＩＰ１実行中
ＩＰ２実行中
ＩＰ３実行中
ラウンドロビン優先
【００２７】
アプリケーション‘Ｂ’
ＩＰ１実行中
ＩＰ２実行中
ＩＰ３非稼動
ＦＩＦＯ優先
【００２８】
上述の実施例では、アプリケーション‘Ａ’のためのサーバーは、運営方針に従い、ラウンドロビン処理にて選択される。すなわち、ＩＰ２は、ＩＰ１の割当後に割り当てられ、ＩＰ３は、ＩＰ２の割当後に割り当てられ、ＩＰ１は、ＩＰ３の割当後に割り当てられる。一方、アプリケーション‘Ｂ’のためのサーバーは、他の運営方針に従い、先入れ先出し処理を用いて割り当てられる。なお、条件が適用可能な運営方針に別の方法で準拠する場合、プールの優先条件は、制限なく指定可能であることが、当業者には理解できるであろう。他のプール優先条件も可能である。例えば、トランザクション回数、負荷の利用可能性、又はサーバーが同時に実行しうるアプリケーション数に基づいて、サーバーの選択がなされてもよい。
【００２９】
アプリケーション１５１が高信頼性サーバープールのクライアントに利用可能となったので、ステップ１８５では、デーモン１４１は、アプリケーション１５１の以降の変更について、処理テーブル１５５の定期的なポーリングを続行する。構成ファイル１４７内のエントリが高信頼性サーバープールのクライアント１０１の動作又は他のイベントにより変更された場合、動的通知アプリケーション１４９は、修正済の構成ファイル１４７をデーモン１４１へと送信してもよい。同様に、アプリケーション１５１に障害が発生した場合、デーモン１４１に対してポーリング処理を通じて通知がなされてもよい。デーモン１４１が構成ファイル１４７を読み取るにつれて、プロキシプール要素１１５内にある情報は更新されていってもよい。
【００３０】
プロキシプール要素１１５の動作については、図５のフローチャートをさらに参照して説明する。そこでは、ステップ１９１にて、高信頼性サーバープールのクライアント１０１は、レガシーアプリケーション１５１のセッションのための要求を送信している。ステップ１９３では、プロキシプール要素１１５は、要求されたアプリケーションを提供するのに利用可能なサーバーについてのプーリング構成を検査する。ステップ１９７では、デーモン１４１、１４３からのポーリングの報告が、アプリケーション１５１が利用可能でないことを示している場合には、セッションは廃棄される。
【００３１】
要求されたアプリケーション１５１が利用可能な場合、ステップ１９９では、プロキシプール要素１１５は、要求されたアプリケーションを提供しているサーバーを特定し、１つ又はそれ以上のあらかじめ確立したプール優先順位付け、負荷均衡条件に従い、特定されたサーバーの１つを選択して、要求されたサービスを提供する。例えば、上記のアプリケーション‘Ａ’への要求に応答して、プロキシプール要素１１５は、サーバーＩＰ１、ＩＰ２を、要求されたサービスを提供できる利用可能なサーバーとして特定することになる。サーバーＩＰ１がアプリケーション‘Ａ’についての直前の要求にて指定済である場合、アプリケーション‘Ａ’について指定されたラウンドロビン方式のプール優先順位付け処理を用いて、サーバーＩＰ２が選択されることになる。
【００３２】
選択されたレガシーサーバーは、アプリケーションサービス１５１を高信頼性サーバープールのクライアント１０１へと提供することを、３つのイベントのいずれかが発生するまで続行する。第１に、判別ブロック２０３にて、選択されたサーバーが適切に実行できなかった場合、動作はステップ１９９へと戻る。そのステップ１９９では、プロキシプール要素１１５は、プール優先順位付け手順に従い、他の機能しているサーバーを選択して、要求されたアプリケーションを提供する。第２に、選択されたサーバーの存続時間が経過した場合にも、動作はステップ１９９に戻る。サーバーの存続時間は、サーバーの稼動サイクルに関連していてもよく、通常の管理のためのサーバーの停止を考慮に入れてもよい。第３に、判別ブロック２０７では、高信頼性サーバープールのクライアント１０１は、アプリケーション１５１のセッションを、ステップ２０９にて終了させることができる。
【００３３】
本発明は、特定の実施形態を参照して説明されたが、ここに開示及び／又は図示された特定の構成及び方法に全く限定されるものではなく、特許請求の範囲内のあらゆる変形例又は均等例が含まれることが理解されるであろう。
【図面の簡単な説明】
【００３４】
【図１】レガシーサーバーを含まない従来の高信頼性サーバープールシステムの機能ブロック図。
【図２】レガシーサーバーを含む高信頼性サーバープールシステムの機能ブロック図。
【図３】レガシーサーバーに対して、アクセス、ポーリング及び登録する際に、サーバーのデーモン及び図２のプロキシプール要素により実行されるステップを示すフローチャート。
【図４】図２のレガシーサーバーの機能要素のブロック図。
【図５】図２のサーバープールシステム内のレガシーアプリケーションにアクセスしているクライアントの処理を示すフローチャート。
【図１】
2005513618.tif 000003
【図２】
2005513618.tif 000004
【図３】
2005513618.tif 000005
【図４】
2005513618.tif 000006
【図５】
2005513618.tif 000007
【国際調査報告】
2005513618.tif 000008