(57)【要約】  本発明は、インターネットベースのアプリケーションのようなサービスをサポートする高信頼サーバ機能を提供する方法に関する。このサーバ機能は１つまたは複数のプール要素（ＰＥ１，ＰＥ２）を有するサーバプール（ＳＰ）によって提供され、各プール要素（ＰＥ１，ＰＥ２）はサービスをサポートすることができる。サーバ機能の性能、可用性および信頼性は、プール要素（ＰＥ１，ＰＤ２）の内の少なくとも１つのプール要素の動作状態に関連する状態情報をネームサーバ（ＮＳ）からプールユーザ（ＰＵ）に送信することにより既存の方法を上回るほどに改善されている。
2007520004.tif 000002
【特許請求の範囲】
【請求項１】
インターネットベースのアプリケーションのような１つのサービスまたはサービスのセットをサポートする高信頼サーバ機能を提供する方法であって、
−前記サービスをサポートする１つまたは複数のプール要素（ＰＥ１，ＰＥ２）を有するサーバプール（ＳＰ）を形成するステップを有し、
−前記サーバプール（ＳＰ）を識別するプール名を有する該サーバプール（ＳＰ）に関する名前空間を管理および保守する少なくとも１つのネームサーバ（ＮＳ）を提供するステップを有し、
−前記サービスを使用するプールユーザ（ＰＵ）によって、前記プール名を指示する前記ネームサーバ（ＮＳ）にリクエストを送信するステップを有し、
−リクエストに基づき前記ネームサーバ（ＮＳ）により、前記プール名を前記１つまたは複数のプール要素（ＰＥ１，ＰＥ２）に関するＩＰアドレスのようなアドレス情報を包含する名前解決リストに変換するステップと、
−前記ネームサーバ（ＮＳ）により前記名前解決リストを前記プールユーザ（ＰＵ）に送信するステップと、
−前記プールユーザ（ＰＵ）により、かつ前記アドレス情報に基づき、前記サービスを使用する前記サーバプール（ＳＰ）の前記プール要素（ＰＥ１，ＰＥ２）の内の１つにアクセスするステップとを有する、１つのサービスまたはサービスのセットをサポートする高信頼サーバ機能を提供する方法において、
前記プール要素（ＰＥ１，ＰＥ２）の内の少なくとも１つの動作状態に関する状態情報を前記ネームサーバ（ＮＳ）から前記プールユーザ（ＰＵ）に送信することを特徴とする、１つのサービスまたはサービスのセットをサポートする高信頼サーバ機能を提供する方法。
【請求項２】
前記状態情報は前記プール要素（ＰＥ１，ＰＥ２）の内の１つの状態が求められた時点を示すタイムスタンプを表す、請求項１記載の方法。
【請求項３】
前記プール要素（ＰＥ１，ＰＥ２）の内の１つの前記状態を、前記ネームサーバ（ＮＳ）によって前記プール要素（ＰＥ１，ＰＥ２）の内の１つに送信されたキープアライブメッセージに応じた、前記ネームサーバ（ＮＳ）によって前記プール要素（ＰＥ１，ＰＥ２）の内の１つから受信したキープアライブ応答メッセージに基づき、または、前記プール要素（ＰＥ１，ＰＥ２）からのキープアライブメッセージの欠落に起因する前記ネームサーバにおける局所的なタイマ終了通知に基づき求め、前記キープアライブ応答メッセージおよび前記局所的なタイマ終了通知はそれぞれ、前記プール要素（ＰＥ１，ＰＥ２）の内の１つの状態、例えばアップおよびダウンを指示する、請求項２記載の方法。
【請求項４】
前記プール要素（ＰＥ１，ＰＥ２）の内の１つがアップ状態にある場合には、前記状態情報は例えば前記タイムスタンプを表す正の数を包含し、前記プール要素（ＰＥ１，ＰＥ２）の内の１つがダウン状態にある場合には、前記状態情報は例えば負の符号を有する前記タイムスタンプを表す負の数を包含する、請求項２または３記載の方法。
【請求項５】
前記プールユーザ（ＰＵ）によって前記ネームサーバ（ＮＳ）にリクエストを送信するステップを名前解決メッセージの送信により実施し、該送信をキャッシュ配置を達成するために前記プールユーザ（ＰＵ）においてトリガする、請求項１から４までのいずれか１項記載の方法。
【請求項６】
前記ネームサーバ（ＮＳ）によって前記名前解決リストを前記プールユーザに送信するステップは、さらに前記状態情報を包含する名前解決応答メッセージを送信するステップを有し、該状態情報は有利には状態ベクトルとして前記名前解決応答メッセージに挿入されている、請求項１から５までのいずれか１項記載の方法。
【請求項７】
前記サーバプール（ＳＰ）における前記プール要素（ＰＥ１，ＰＥ２）の内の特定の１つのプール要素を前記サーバ機能に関して、前記ネームサーバ（ＮＳ）から受信した前記状態ベクトルにおける前記状態情報に基づき選択する、請求項１から６までのいずれか１項記載の方法。
【請求項８】
前記プールユーザ（ＰＵ）は前記１つまたは複数のプール要素（ＰＥ１，ＰＥ２）のの可用性に関連する状態情報を包含する状態ベクトルを求め、前記プールユーザ（ＰＵ）によって求められた該状態ベクトルを前記ネームサーバ（ＮＳ）から受信した状態ベクトルによって更新する、請求項１から７までのいずれか１項記載の方法。
【請求項９】
前記可用性に関連する前記状態情報を、前記プールユーザ（ＰＵ）と前記１つまたはプール要素（ＰＥ１，ＰＥ２）との間のメッセージ伝送に関連する、アプリケーション層および／またはトランスポート層における１つまたは複数のタイマの終了または未終了によって求める、請求項８記載の方法。
【請求項１０】
前記ネームサーバ（ＮＳ）から受信した前記状態ベクトルに対応する状態情報がより新しい場合、例えばタイムスタンプの絶対値がより大きい場合には、状態情報を前記対応する状態情報に置換することによって、前記プールユーザ（ＰＵ）によって求められた前記状態ベクトルを更新する、請求項８または９記載の方法。
【請求項１１】
前記プールユーザ（ＰＵ）による前記サーバプールにおける前記プール要素（ＰＥ１，ＰＥ２）の内の特定の１つのプール要素の選択において、さらにサーバ選択ポリシー、例えば最大可用性ＳＳＰまたはその拡張形態の内の１つを適用する、請求項７から１０までのいずれか１項記載の方法。
【請求項１２】
インターネットベースのアプリケーションのような１つのサービスまたはサービスのセットをサポートする高信頼サーバ機能を提供する１つまたは複数のプール要素（ＰＥ１，ＰＥ２）を有するサーバプール（ＳＰ）に関する名前空間を管理および保守するネームサーバであって、
−プール名を指示するリクエスト、有利にはＩＥＴＦ  ＡＳＡＰプロトコルによる名前解決メッセージを受信するプール解決サーバモジュール（１０）を有し、
−前記サーバプール（ＳＰ）を識別するプール名に関連付けられた前記プール要素（ＰＥ１，ＰＥ２）に関するＩＰアドレスのようなアドレス情報を記憶するメモリ（１４）を有し、
前記プール解決サーバモジュール（１０）は、前記リクエストに応じて、前記メモリ（１４）にアクセスして前記プール名に関連付けられた前記アドレス情報を抽出することにより、前記プール名を名前解決リストに変換し、前記名前解決リストを有するメッセージ、例えばＩＥＴＦ  ＡＳＡＰプロトコルによる名前解決応答メッセージをアセンブルし、該メッセージを前記リクエストの送信側（１６）に送信することに適合されている、ネームサーバにおいて、
さらに前記メモリ（１４）は１つまたは複数のプール要素（ＰＥ１，ＰＥ２）に関連付けられた状態情報を記憶することに適合されており、
さらに前記プール解決サーバモジュール（１０）は、前記リクエストに応じて、前記メモリ（１４）にアクセスして前記状態情報を抽出し、有利には該状態情報を状態ベクトルとして前記メッセージに挿入することにより、該状態情報を前記リクエストの前記送信側（１６）に送り返すことに適合されていることを特徴とする、ネームサーバ。
【請求項１３】
キープアライブメッセージ、有利にはＩＥＴＦ  ＡＳＡＰプロトコルによるエンドポイントキープアライブメッセージをアセンブルし、該キープアライブメッセージを前記プール要素（ＰＥ１，ＰＥ２）の内の１つに送信し、キープアライブ応答メッセージまたは局所的なタイマ終了通知、有利にはエンドポイントキープアライブメッセージまたはＩＥＴＦ  ＡＳＡＰプロトコルによる局所的なタイマ終了通知を前記プール要素（ＰＥ１，ＰＥ２）の内の１つから受信し、該受信に応じて前記メモリ（１４）にアクセスし、前記プール要素（ＰＥ１，ＰＥ２）の内の１つの状態、有利にはそれぞれアップおよびダウンを表す状態情報を書き込む要素状態モジュール（１２）を有する、請求項１２記載のネームサーバ。
【請求項１４】
前記要素状態モジュール（１２）は前記状態情報としてタイムスタンプを表す数を書き込むことに適合されている、請求項１３記載のネームサーバ。
【請求項１５】
種々のプール（ＳＰ）の１つまたは複数のプール要素（ＰＥ１，ＰＥ２）それぞれによって提供される１つのサービスまたはサービスのセット、例えばインターネットベースのアプリケーションをサポートするサーバ機能を使用するプールユーザ装置（ＰＵ）であって、
−サーバプール（ＳＰ）を識別するプール名を指示するリクエスト、有利にはＩＥＴＦ  ＡＳＡＰプロトコルによる名前解決メッセージをアセンブルし、該リクエストをネームサーバ（ＮＳ）に送信して、名前解決リスト、有利にはＩＥＴＦ  ＡＳＡＰプロトコルによる名前解決応答メッセージを前記ネームサーバ（ＮＳ）から受信するプール解決クライアントモジュール（１６）を有し、
−前記サービスを使用するために、前記名前解決リストからのアドレス情報に基づき、前記サーバプール（ＳＰ）の前記プール要素（ＰＥ１，ＰＥ２）の内の特定の１つのプール要素にアクセスするサーバ選択モジュール（１８）を有する、プールユーザ装置（ＰＵ）において、
さらに前記プール解決クライアントモジュール（１６）は状態ベクトルを有するメッセージを受信することに適合されており、
さらに前記サーバ選択モジュール（１８）は前記状態ベクトルに包含されている状態情報に応じて前記プール要素（ＰＥ１，ＰＥ２）の内の前記特定の１つのプール要素にアクセスすることに適合されていることを特徴とする、プールユーザ装置（ＰＵ）。
【請求項１６】
状態情報、有利には状態ベクトルを記憶するメモリ（２０）を有し、前記プール解決クライアントモジュール（１６）および前記サーバ選択モジュール（１８）は前記状態情報の書き込みおよび読み出しにそれぞれ適合されている、請求項１５記載のプールユーザ装置。
【請求項１７】
前記１つまたは複数のプール要素（ＰＥ１，ＰＥ２）の可用性に関する状態情報を求め、前記メモリ（２０）にアクセスして前記状態情報を前記メモリ（２０）に書き込むサーバ可用性モジュール（２２）を有する、請求項１６記載のプールユーザ装置。
【請求項１８】
前記サーバ選択モジュール（１８）は、前記プール解決クライアントモジュール（１６）によって受信された前記状態ベクトルによって、前記サーバ可用性モジュール（２２）により前記メモリ（２０）に書き込まれた前記状態ベクトルを更新することに適合されている、請求項１７記載のプールユーザ装置。
【請求項１９】
前記サーバ選択モジュール（１８）による前記サーバプール（ＳＰ）における前記プール要素（ＰＥ１，ＰＥ２）の内の特定の１つのプール要素の選択において、さらにサーバ選択ポリシー、例えば最大可用性ＳＳＰまたはその拡張形態の内の１つを適用する、請求項１５から１８までのいずれか１項記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットベースのアプリケーションのような１つのサービスまたはサービスのセットをサポートする高信頼サーバ機能を提供する方法に関する。
【０００２】
サーバベースの機能、例えばインターネットベースのアプリケーションを介して提供されるサービスにアクセスするための可用性および信頼性を高めるために、ただ１つのサーバの代わりに複数のサーバのプールを提供することが一般的になりつつある。プール要素と称される、サーバプールの各サーバは要求されたサービスまたはサービスのセットをサポートすることができる。
【０００３】
アプリケーションの高性能、可用性およびスケーラビリティをサポートするために、どのサーバがプール内にあり、リクエストを受信することができるか、またクライアントの所望のサーバと接続するためのやり方を把握し続けることが要求される。これらの話題はＲＳｅｒＰｏｏｌワーキンググループと称されるIETF(Internet Engineering Task-Force)Working Group「Reliable Server Pooling」において検討されている。信頼性の高いサーバプーリングに関するアーキテクチャはこのワーキンググループにおいて標準化されつつある。例えばＴｕｅｘｅｎ等による「Architecture for Reliable Server Pooling」、<draft-ietf-rserpool-arch-07.txt>、２００３年１０月１２日に記載されている高信頼サーバプーリングのエラー許容の定義を参照されたい。
【０００４】
ＲｓｅｒＰｏｏｌは３つのタイプのアーキテクチャ的な要素を規定する：
−プール要素（ＰＥ）：１つのプールにおいて同一のサービスを提供するサーバ；
−プールユーザ（ＰＵ）：ＰＥによってサービスが提供されるクライアント；
−ネームサーバ（ＮＳ）：翻訳サービスをＰＵに提供し、ＰＥのヘルスを監視するサーバ。
【０００５】
ＲＳｅｒＰｏｏｌでは複数のプール要素が１つのプールにおいてグループ化される。プールはユニークなプール名によって識別される。プールにアクセスするためにプールユーザはネームサーバを参照する。
【０００６】
図１は公知のＲＳｅｒＰｏｏｌアーキテクチャの略図である。データを（プール名によって識別される）プールに送信する前に、プールユーザは名前解決問合せをネームサーバ（またはＥＮＲＰサーバ、以下を参照されたい）に送信する。ＥＮＲＰサーバはプール名をＰＥのトランスポートアドレスに変換する。この情報を使用して、ＰＵはＰＥにデータを送信するためのＰＥのトランスポートアドレスを選択することができる。
【０００７】
ＲＳｅｒＰｏｏｌは２つのプロトコル、すなわち集合体サーバアクセスプロトコル（aggregate server access protocol；ＡＳＡＰ）およびエンドポイント名前解決プロトコル（endpoint name resolution protocol；ＥＮＲＰ）を有する。ＡＳＡＰは、論理的な通信エンドポイントをそのＩＰアドレスから切り離す名前ベースのアドレッシングモデルを使用する。ネームサーバは情報を交換するための相互間の通信およびサーバプールに関する更新に関してＥＮＲＰを使用する。所定のエンティティにおいて実行されるＡＳＡＰ（またはＥＮＲＰ）のインスタンスはそのエンティティのＡＳＡＰ（またはＥＮＲＰ）エンドポイントと称される。例えば、ＰＵにおいて実行されるＡＳＡＰインスタンスはＰＵのＡＳＡＰエンドポイントと称される。
【０００８】
ＰＵが１つ以上のＰＥを包含するプールにメッセージを送信する度に、ＰＵのＡＳＡＰエンドポイントはプール内の複数のＰＥの内の１つを目下のメッセージの受信機として選択する必要がある。選択は現行のサーバ選択ポリシー（ＳＳＰ）に従いＰＵ側で行われる。４つの基本的なＳＳＰはＡＳＡＰを用いて使用するために目下議論されている。すなわち、ラウンドロビン、最小使用（Least Used）、劣化型最小使用（Least Used With Degradation）および重み付きラウンドロビンであり、R. R. Stewart, Q. Xie: Aggregate Server Access Protocol (ASAP), <draft-ietf-rserpool-asap-08.txt>、２００３年１０月２１日を参照されたい。
【０００９】
図２における簡略化されたシーケンス図は、ＰＵのＡＳＡＰエンドポイントが所定のプール名に対するキャッシュ配置（cache population）［Ｓｔｅｗａｒｔ  ＆  Ｘｉｅ］を実施し、その状態に応じてＰＥを選択する場合のイベントシーケンスを概略的に示す。
【００１０】
キャッシュ配置（更新）はＥＮＲＰサーバによって検索された最新の名前・アドレスマッピングを用いる局所的な名前キャッシュの更新を意味する。
【００１１】
図２に示されているステップを以下説明する：
Ｓ１：ＰＵのＡＳＡＰエンドポイントは、所定のプール名に関する全ての情報を問い合せるＮＡＭＥ＿ＲＥＳＯＬＵＴＩＯＮ問合せをＥＮＲＰサーバに送信する。
【００１２】
Ｓ２：ＥＮＲＰサーバは問合せを受信し、特定のプール名に関するデータベースエントリを発見する。ＥＮＲＰサーバはデータベースエントリからトランスポートアドレス情報を抽出する。
【００１３】
Ｓ３：ＥＮＲＰサーバはＰＥのトランスポートアドレスが挿入されたＮＡＭＥ＿ＲＥＳＯＬＵＴＩＯＮ＿ＲＥＳＰＯＮＳＥを形成する。ＥＮＲＰサーバはＮＡＭＥ＿ＲＥＳＯＬＵＴＩＯＮ＿ＲＥＳＰＯＮＳＥをＰＵに送信する。
【００１４】
Ｓ４：ＰＵのＡＳＡＰエンドポイントはプール名に基づいたトランスポートアドレス情報を用いてその局所的な名前キャッシュを配置（更新）する。
【００１５】
Ｓ５：ＰＵは受信したアドレス情報に基づきサーバプールのプール要素の内の１つを選択する。
【００１６】
最後にＰＵは１つまたは複数のサービスを利用するために選択されたサーバにアクセスする。
【００１７】
既存の静的なサーバ選択ポリシーはサーバを選択するための所定のスキームを使用する。静的なＳＳＰの例として以下のものが挙げられる：
−ラウンドロビンは循環的なポリシーであり、このポリシーにおいては最初に選択されたサーバが再び選択されるまでサーバが順次選択される。
−重み付きラウンドロビンはラウンドロビンの単純な拡張形態である。各サーバに一定の重みが割り当てられる。重みはサーバの処理容量を表す。
【００１８】
動的なシステム状態を意識しないことにより複雑度は低減されるが、性能とサービスの信頼度の劣化は考慮されない。適応型（動的な）ＳＳＰはシステム状態における変化および最適なサーバの動的な評価に基づき判断を行う。動的なＳＳＰの例として以下のものが挙げられる：
−最小使用ＳＳＰ：このＳＳＰにおいては各サーバの負荷がクライアント（ＰＵ）によって監視される。サーバの負荷の監視に基づき、各サーバにはサーバの負荷に比例するいわゆるポリシー値が割り当てられる。最小使用ＳＳＰによれば、最も低いポリシー値を有するサーバが目下のメッセージの受信機として選択される。このＳＳＰはサーバのポリシー値が更新されて変更されるまで同一のサーバが常に選択されることを暗示していることに留意することは重要である。
−劣化型最小使用ＳＳＰは１つの例外を除き最小使用ＳＳＰと同じものである。すなわち、サーバセットの中から最も低いポリシー値を有するサーバが選択される度にそのサーバのポリシー値が増分される。したがって、このサーバはサーバセットにおいてもはや最も低いポリシー値を有していない可能性がある。これにより劣化型最小使用ＳＳＰは時間の経過と共にラウンドロビンとなる。サーバのポリシー値が更新される度にＳＳＰは劣化型最小使用に戻る。
【００１９】
動的ＳＳＰの有効性は最適なサーバを評価するために使用されるメトリックに決定的に依存する。ＳＳＰの研究は再現されたウェブサーバシステムに主に焦点が合わせられている。そのようなシステムにおいては、典型的なメトリックが地理的な距離を含むサーバ近接度、各サーバへのホップ数、ラウンドトリップタイム（ＲＴＴ）およびＨＴＴＰレスポンスタイムに依存する。またウェブシステムにおけるＳＳＰは高いスループットおよび短いサービス待ち時間を提供することを目的としている。例えばＳＩＰのようなセッション制御プロトコルはよりサイズの小さい（平均して５００バイト）メッセージを処理する。したがって、スループットはウェブシステムにおけるものほど顕著なメトリックではない。著者の知る限りでは、ＳＳＰは例えばセッション制御システムについて広範囲に研究されていない。
【００２０】
前述の従来の状態を鑑みた本発明の課題は、インターネットベースのアプリケーションのような１つのサービスまたはサービスのセットをサポートするサーバ機能を提供する方法を提案することであり、このサーバ機能は１つまたは複数のプール要素を有するサーバプールによって提供され、各プール要素はサービスをサポートすることができ、サーバ機能の可用性および信頼性は従来技術による方法を上回るほどに改善されている。さらに本発明の課題は、そのような方法を実施するネームサーバおよびプールユーザ装置を提案することである。
【００２１】
この問題は請求項１に記載されている特徴の組み合わせ、請求項１２または１５に記載されているネームサーバおよびプールユーザ装置によってそれぞれ解決される。
【００２２】
本発明の基礎をなす基本的な着想は、ネームサーバからプール要素に関する（付加的な）状態情報をプールユーザに提供するために、プールユーザとネームサーバとの間のメッセージ交換を使用することである。ネームサーバはサーバプールに専用のノードであるので、ネームサーバは一般的に、プール要素の状態に関するより良好な情報、例えば最新のキープアライブメッセージを基礎とする目下の状態を考慮した情報を保持することになる。
【００２３】
少なくともネームサーバは自由に使用することができる付加的な状態情報を有し、この状態情報は一般的に、プールユーザに提供される場合には、サーバプールの要素によって実施されるべきサーバ機能の改善された性能、信頼性またより高い可用性をもたらす選択決定をなす機会を提供する。これによりレスポンスタイムもサーバプールの負荷状態も最適にすることができる。
【００２４】
さらには、いかなる場合においてもメッセージ交換はプールユーザにプール要素のトランスポートアドレスの検索を要求するので、ネームサーバから状態情報をプールユーザのサーバ選択モジュールに容易に提供することができる。
【００２５】
したがってここで説明する本発明は基本的にＲＳｅｒＰｏｏｌプロトコルの拡張を提案し、ここではＲＳｅｒＰｏｏｌアーキテクチャの対応する拡張をネームサーバおよびプールユーザにおいて容易に実施することができる。
【００２６】
本発明によれば、エラー検出メカニズムがプールユーザおよびネームサーバに分散されている。プールユーザはトランスポートエラーを検出するためにアプリケーション層およびトランスポート層のタイマを使用し、他方ネームサーバはＰＥのヘルスを周期的に監視するためにキープアライブメカニズムを提供する。
【００２７】
最大可用性ＳＳＰ（ＭＡ−ＳＳＰ）と称される特別なサーバ選択ポリシーに関連させて本発明をさらに説明する。このポリシーは本出願人の別の出願の対象である。しかしながら本発明はそのようなＭＡ−ＳＳＰに限定されるものではなく、周知であるか将来開発される静的または動的なあらゆるＳＳＰを基礎とすることができる。
【００２８】
ＭＡ−ＳＳＰはいわゆる状態ベクトルと共に機能する。ＭＡ−ＳＳＰによれば、状態ベクトルはＮ個の大きさであり（すなわち、所定のサーバプール内のプール要素の数に等しく）、また以下のように定義される。
ｐ＝［ｐ1，ｐ2，．．．，ｐN］
【００２９】
状態ベクトル内の所定の要素は特定のＰＥの最後に知られた状態モーメントを表す。最後のＰＥの状態がＯＮ（アップ）であった場合、時間値は変更されずに状態ベクトルに記憶される。最後のＰＥの状態がＯＦＦ（ダウン）であった場合、時間値は負の符号と共に状態ベクトルに記憶される。ＭＡアルゴリズムは状態ベクトルにおいて最大値を有するＰＥを常に選択する。
【００３０】
ＰＵのＡＳＡＰエンドポイントはその状態ベクトルを更新することができる。以下では、ＰＵの状態ベクトルをｐ(u)と表す。本来のＲＳｅｒＰｏｏｌの仕様［Ｔｕｅｘｅｎ等；Ｓｔｅｗａｒｔ  ＆  Ｘｉｅ］によれば、ネームサーバはプールサーバのトランスポートアドレスを戻す。例えばＭＡ−ＳＳＰをＲＳｅｒＰｏｏｌアーキテクチャに円滑に組み込むためにＲＳｅｒＰｏｏｌの拡張形態が規定される。同一のやり方で他のＳＳＰにも使用することができるこのＲＳｅｒＰｏｏｌの拡張形態を以下説明する。
【００３１】
ＲＳｅｒＰｏｏｌの拡張はＰＵとＮＳ、すなわちＮＳのＡＳＡＰエンドポイントとＰＵのＡＳＡＰエンドポイントとの間の通信に影響を及ぼす。ここでは説明を目的として、ＰＵとＥＮＲＰサーバがＭＡアルゴリズムを使用するとみなす。ＥＮＲＰサーバにおけるＭＡアルゴリズムは各サーバプールに関する状態ベクトルを形成する。この状態ベクトルは既存のＡＳＡＰのキープアライブメカニズム［Ｓｔｅｗａｒｔ  ＆  Ｘｉｅ］を使用して定期的に更新される。以下ではネームサーバの状態ベクトルをｐ（ｓ）と称する。所定のプールに関するｐ（ｓ）ベクトルは、そのプールのために予約されたネームサーバ内の同一のデータベースエントリに記憶される。プール内にはＮ個のプールが存在するとみなす。
【００３２】
ＰＵは以下の２つの場合においてキャッシュ配置を開始する。
１）ＰＵがネームサーバからの最新の情報を用いて自身のｐ(u)ベクトルをリフレッシュするためにキャッシュ配置（更新）を実施しようとする場合。
２）ＰＵがプール名を解決しようとする場合。
【００３３】
いずれの場合においてもＰＵのＡＳＡＰエンドポイントはＡＳＡＰを介してＮＡＭＥ＿ＲＥＳＯＬＵＴＩＯＮ問合せをＥＮＲＰサーバに送信する。ＥＮＲＰサーバは問合せを受信し、特定のプール名に関するデータベースエントリを発見する。データベースエントリはｐ（s）ベクトルの最新のバージョンを有する。ＥＮＲＰサーバは以下の動作を実施する：
１）ＥＮＲＰサーバはデータベースエントリからトランスポートアドレス情報を抽出する。
２）ＥＮＲＰサーバはデータベースエントリからｐ(s)ベクトルを抽出する。
３）ＥＮＲＰサーバはＰＥのトランスポートアドレスが挿入されたＮＡＭＥ＿ＲＥＳＯＬＵＴＩＯＮ＿ＲＥＳＰＯＮＳＥを形成する。トランスポートアドレス情報に付加的に、ネーム応答は特別なフィールドを用いて拡張される。ｐ（ｓ）ベクトルはその特別なフィールドに挿入される。
４）ＥＮＲＰサーバはＮＡＭＥ＿ＲＥＳＯＬＵＴＩＯＮ＿ＲＥＳＰＯＮＳＥをＰＵに送信する。
【００３４】
したがって、ＮＡＭＥ＿ＲＥＳＯＬＵＴＩＯＮ＿ＲＥＳＰＯＮＳＥはＥＮＲＰサーバのｐ(s)ベクトルの最新バージョンを有する。ＰＵはＮＡＭＥ＿ＲＥＳＯＬＵＴＩＯＮ＿ＲＥＳＰＯＮＳＥを受信するやいなや、局所的な名前キャッシュ（トランスポートアドレス情報）ならびにｐ(u)ベクトルを更新する。ＰＵのＡＳＡＰ  ｐ(u)ベクトルを更新するためのプロシージャは以下の通りである。
【数１】
2007520004.tif 000003
ここでｐi(u)およびｐi(s)はそれぞれｐ(u)およびｐ(u)のｉ番目の要素である。
【００３５】
このことはプールユーザとネームサーバにおける時間クロックが同期されている条件下で良好に機能することを言及しておく。このことは内部クロックのドリフトが許容できないほど大きい場合には問題となる。ネットワーク時間プロトコル（ＮＴＰ）のようなクロック同期プロトコルを使用することによりこの問題は解消される。
【００３６】
有利には、本発明を実施するために必要とされるＲＳｅｒＰｏｏｌのプロトコルの拡張はより簡潔であり、また容易にＲＳｅｒＰｏｏｌに導入することができる。さらには、プロトコルの拡張はＰＵ、すなわちアクライアントにおけるアプリケーション層に対してトランスペアレントである。状態ベクトルはＰＵプロトコルスタックのＡＳＡＰ層において処理される。したがって、プロトコルの拡張はＡＳＡＰ層の上位のアプリケーション層に対してトランスペアレントである。このプロトコルの拡張をサポートする各ＰＵは本発明によって提供される性能の改善から利点を得る。
【００３７】
本発明の別の実施形態および利点は従属請求項並びに図面を参照する本発明の実施形態の以下の説明より明らかになる。図面において、
図１は（上述したように）従来技術による一般的なＲＳｅｒＰｏｏｌアーキテクチャの簡略化されたブロック図を示し、
図２は（上述したように）従来技術による図１のプールユーザとネームサーバとの間のメッセージ交換を表している簡略化されたシーケンス図を示し、
図３は本発明の方法の実施形態によるネームサーバとプールユーザとの間のメッセージ交換を表している、図２と同様のシーケンス図を示し、
図４は図３に示した本発明の実施形態の実施に関連するネームサーバおよびプールユーザ装置の重要な機能ブロックを表すブロック図を示す。
【００３８】
図３には本発明の基本的な原理を要約した概略図が示されている。本発明において定義されているキャッシュ配置に関するステップＳ１〜Ｓ４を以下説明する：
１）プールユーザＰＵのＡＳＡＰエンドポイントからネームサーバまたはＥＮＲＰサーバＮＳに所定のプール名に関する全ての情報を問い合せるＮＡＭＥ＿ＲＥＳＯＬＵＴＩＯＮ問合せを送信する。
２）ネームサーバＮＳにより問合せを受信し、特定のプール名に関するデータベースエントリを発見する。ネームサーバＮＳはデータベースエントリからトランスポートアドレス情報ならびにｐ(s)ベクトルを抽出する。
３）ネームサーバＮＳにより、ＰＥのトランスポートアドレスおよびｐ(s)が挿入されたＮＡＭＥ＿ＲＥＳＯＬＵＴＩＯＮ＿ＲＥＳＰＯＮＳＥを形成する。ネームサーバＮＳはＮＡＭＥ＿ＲＥＳＯＬＵＴＩＯＮ＿ＲＥＳＰＯＮＳＥをプールユーザＰＵに送信する。
４）プールユーザＰＵのＡＳＡＰエンドポイントによって、プール名に基づくトランスポートアドレス情報を用いてプールユーザＰＵの局所的な名前キャッシュのキャッシュ配置（更新）を行う。プールユーザのＡＳＡＰエンドポイントは状態ベクトルｐ(u)を更新するために上記式（１）に示した簡潔なプロシージャを適用する。
５）サービスリクエストを送信するために特定のプール要素またはサーバを選択する。
【００３９】
本発明の方法を非常に簡単に実施することができる。ＮＡＭＥ＿ＲＥＳＯＬＵＴＩＯＮ＿ＲＥＳＰＯＮＳＥは状態ベクトルｐ(s)を有する別個のフィールドを用いて拡張される。図４はプールユーザＰＵおよびネームサーバＮＳの原理的な機能コンポーネントを示し、ネームサーバＮＳは２つのプール要素ＰＥを有するサーバプールＳＰと関連付けられている。
【００４０】
ネームサーバＮＳはプール解決サーバモジュール１０、要素状態モジュール１２およびメモリ１４を包含する。要素状態モジュール１２は、ＩＥＴＦ  ＡＳＡＰプロトコル［Ｓｔｅｗａｒｔ  ＆  Ｘｉｅ］により定期的にＥｎｄｐｏｉｎｔ＿Ｋｅｅｐ＿Ａｌｉｖｅメッセージをアセンブルし、これらのメッセージを各サーバＰＥ１，ＰＥ２に送信する。
【００４１】
サーバＰＥ１が動作状態「アップ」（サーバＰＥ１は例えばクライアントＰＵの要求に基づきサーバ機能を提供できる状態）にあると仮定すると、サーバＰＥ１はＥｎｄｐｏｉｎｔ＿Ｋｅｅｐ＿Ａｌｉｖｅ＿ＡｃｋメッセージをネームサーバＮＳに送り返すことによって、サーバＮＳからのＫｅｅｐ＿Ａｌｉｖｅメッセージに応答する。
【００４２】
別のサーバＰＥ２が動作状態「ダウン」（サーバＰＥ２はサービスの準備ができていない状態）にあると仮定すると、サーバＰＥ２はネームサーバＮＳからのＫｅｅｐ＿Ａｌｉｖｅメッセージには応答せず、これによりネームサーバＮＳにおいてＫｅｅｐ＿Ａｌｉｖｅメッセージに関して開始されていた局所的なタイマはＩＥＴＦ  ＡＳＡＰプロトコルにより終了する。
【００４３】
要素状態モジュール１２はメモリ１４に記憶されている状態ベクトルを管理する。ベクトルはプールＳＰの各要素ＰＥ１，ＰＥ２に関して、Ｋｅｅｐ＿Ａｌｉｖｅメッセージに対する各要素の応答の処理時間を示唆するタイムスタンプを表す数である。したがってＰＥ１から受信したＫｅｅｐ＿Ａｌｉｖｅ＿メッセージによってモジュール１２はタイムスタンプ「Ａ８Ｃ０」（１６進数）をサーバＰＥ１に関して供給された状態ベクトルの位置に書込み、これはＡｃｋメッセージがネームサーバ内のクロックユニット（図示せず）によって測定されたように１２時に処理され、またタイムスタンプの精度は秒単位であることを想定させる。ＰＥ１から受信した到達不能メッセージによってモジュール１２はサーバＰＥ２に対して提供された状態ベクトルの位置にタイムスタンプ「−Ａ８Ｃ１」（１６進数）を書込み、これは到達不能メッセージが１２時を過ぎて約１秒程度で処理されることが想定される。
【００４４】
サーバモジュール１０の機能をプールユーザＰＵからの要求に関連させて以下ではさらに詳細に説明する。  プールユーザＰＵはプール解決クライアントモジュール１６、サーバ選択モジュール１８、メモリ２０およびサーバ可用性モジュール２２を包含する。
【００４５】
プールユーザＰＵはＵＭＴＳネットワークを介してデータ通信および音声通信を行うことができるモバイル装置（図示せず）において実施されており、サーバプールＳＰおよびネームサーバＮＳはこのモバイル装置の一部である。装置のアプリケーションはプールＳＰのサーバの内のいずれか１つによって提供されるサービスにアクセスしようとする。この例においてサーバプールＳＰはＵＭＴＳネットワークのＩＭＳ（ＩＰマルチメディアサブシステム）ドメインに関するサービスを実施するファームまたはサーバのセットである。アプリケーションは例えばＳＩＰベースのアプリケーションである。
【００４６】
特定のサービスを要求するために、プール名はモバイル装置（図示せず）において実行されるアプリケーションに既知である。アプリケーションはプール名を引き渡すことによってモバイル装置のプールユーザ部分（ＡＳＡＰエンドポイントを含む）をトリガする。プール解決クライアントモジュールはＡＳＡＰプロトコルにしたがいＮＡＭＥ＿ＲＥＳＯＬＵＴＩＯＮメッセージをアセンブルし、ネームサーバＮＳに送信する（図３におけるステップＳ１）。
【００４７】
ＮＡＭＥ＿ＲＥＳＯＬＵＴＩＯＮメッセージはネームサーバＮＳにおいてプール解決サーバモジュール１０により受信される。プール名が抽出され、サーバモジュール１０はこのプール名に関連させて記憶されているアドレス情報を抽出するためにメモリ１４にアクセスする。この実施例においては、プール要素ＰＥ１，ＰＥ２のＩＰアドレスが、特定のサービスを要求するために使用されるべき部分アドレスと共にメモリ１４から読み出され、また本発明によれば、サーバＰＥ１，ＰＥ２に関連させて記憶されているタイムスタンプ「Ａ８Ｃ０」、「−Ａ８Ｃ１」がメモリ１４から読み出される。ここで図３のステップＳ２が終了する。
【００４８】
サーバモジュール１０は公知のやり方でＩＥＴＦ  ＡＳＡＰプロトコルにしたがいＮＡＭＥ＿ＲＥＳＯＬＵＴＩＯＮ＿ＲＥＳＰＯＮＳＥメッセージをアセンブルし、このメッセージはＰＥ１，ＰＥ２のトランスポートアドレスを有するＮＡＭＥ  ＲＥＳＯＬＵＴＩＯＮリストを包含する。さらに、状態ベクトルが応答メッセージのトランスポートアドレス情報部分に付加されている。この例においてベクトルはプールサーバＰＥ１，ＰＥ２に関するタイムスタンプベースの２つの状態要素を有する。
【００４９】
応答メッセージはリクエストの送信側、すなわちプールユーザＰＵのクライアントモジュール１６に送信されている（図３におけるステップＳ３）。応答メッセージの受信後に、モジュール１６はトランスポートアドレスおよび状態ベクトルを応答メッセージから抽出し、データをメモリ２０に書き込む。さらに、モジュールは制御をサーバ選択モジュール１８に引き渡す。
【００５０】
サービス要求を送信するため（すなわち図３のステップＳ５を実施するため）の特定のサーバを選択するために、選択モジュール１８は先ず２つの状態ベクトルを作業メモリにロードする。ここで、一方の状態ベクトルはサーバ可用性モジュール２２によって求められており、他方の状態ベクトルは上述したようにネームサーバから受信した状態ベクトルである。
【００５１】
サーバ可用性モジュール２２は１つまたは複数のプール要素の可用性に関する状態情報を求め、この状態情報を書き込むためにメモリ２０にアクセスする。殊にモジュール２２は正のタイムスタンプ値を毎回求め、トランスポート層およびアプリケーション層におけるメッセージトランザクションに関するタイマは終了しない。すなわち、それぞれのトランザクションは肯定応答の受信、プールサーバからの応答または他の反応によって首尾良く完了される。サーバとのトランスポートコネクションまたはアプリケーションコネクションに関するタイマが終了する場合（すなわち時間内に何の応答も受信しなかった場合）には、タイマ終了時における負のタイムスタンプ値が可用性モジュール２２によって局所的に求められた第１の状態ベクトルに書き込まれる。
【００５２】
上述したように、選択モジュール１８は２つの状態ベクトルをロードする。次にモジュール１８は、局所的な状態ベクトルの値に対応するネームサーバの状態ベクトルの値が絶対項では高い場合（すなわちすなわち「−」の符号は無視する）には局所的な状態値における各エントリがネームサーバの状態ベクトルの対応する値に置換されることによって更新された局所的な状態ベクトルを求め、このことはネームサーバによる状態測定が最新である、すなわちこの状態測定は可用性モジュール２２によって局所的に実施された状態測定よりも新しく実施されたことを意味している。
【００５３】
一例として、記憶されている局所的な（最初の）状態ベクトルは１１：５０（到達不能）および１１：５５（到達可能）におけるＰＥ１の状態、すなわち＜−Ａ６６８，Ａ７９４＞を表すことができ、この場合局所的なベクトルは両方の位置に置いて更新され、その結果状態ベクトルは＜Ａ８Ｃ０，−Ａ８Ｃ１＞になる。
【００５４】
更新されたベクトルはメモリにおいて局所的なベクトルに再び書き込まれる。ネームサーバＮＳから受信したベクトルに関する記憶位置はモバイル装置内の異なる目的のために使用することができる。
【００５５】
さらなるステップ（図３におけるステップ５）においては、サーバ選択モジュール１８が更新された状態ベクトルにおける最大値を評価することによって選択されるべきサーバを求める。この例においては最大値が「Ａ８Ｃ０」であり、プール要素ＰＥ１を表す位置に記憶されている。したがって、モジュール１８はトランスポートアドレスおよびＰＥ１に関連するポートアドレスのような別のデータを有するメモリ２０内部の記憶位置を指し示すポインタを形成し、このポインタがＰＥ１からのサービスを要求できるようにするために呼出しアプリケーションに送り返される。
【００５６】
本明細書において説明した特定の実施例は単に本発明の１つの適切な実施形態を表しているに過ぎない。当業者であれば専ら特許請求の範囲によって規定されている本発明の範囲において多数の別の実施形態を推考することができる。
【００５７】
例えば、本明細書において説明した装置およびモジュールをハードウェアまたはファームウェアとして実施することができる。しかしながら有利にはこれらはソフトウェアとして実施されている。例えば、上述のモジュールまたは他の別のモジュールを包含するプールユーザ装置をアプレットとしてモバイル装置において実施することができる。
【図面の簡単な説明】
【００５８】
【図１】従来技術による一般的なＲＳｅｒＰｏｏｌアーキテクチャの簡略化されたブロック図。
【図２】従来技術による図１のプールユーザとネームサーバとの間のメッセージ交換を表している簡略化されたシーケンス図。
【図３】本発明の方法の実施形態によるネームサーバとプールユーザとの間のメッセージ交換を表している、図２と同様のシーケンス図。
【図４】図３に示した本発明の実施形態の実施に関連するネームサーバおよびプールユーザ装置の重要な機能ブロックを表すブロック図。
【符号の説明】
【００５９】
ＮＳ  ネームサーバ、  ＰＥ１，ＰＥ２  プール要素、  ＰＵ  プールユーザ、  ＳＰ  サーバプール、  １０  プール解決サーバモジュール、  １２  要素状態モジュール、  １４  ネームサーバＮＳのメモリ、  １６  プール解決クライアントモジュール、  １８  サーバ選択モジュール、  ２０  プールユーザＰＵのメモリ、  ２２  サーバ可用性モジュール、  Ｓ１〜Ｓ５  ステップ
【図１】
2007520004.tif 000004
【図２】
2007520004.tif 000005
【図３】
2007520004.tif 000006
【図４】
2007520004.tif 000007
【手続補正書】
【提出日】平成17年4月29日(2005.4.29)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、インターネットベースのアプリケーションのような１つのサービスまたはサービスのセットをサポートする高信頼サーバ機能を提供する方法に関する。
Ｒ．Ｓｔｅｗａｒｔ等による≪Aggregate Server Access Protocol≫インターネットドラフト［オンライン］、２００４年６月９日（２００４−０６−０９）、第１〜４３頁、インターネットから検索されたＸＰ００２３０８３１７  ＩＥＴＦ：ＵＲＬ： http://www.watersprings.org/pub/id/draffc-ietf-rserpool-asap-09.txt>［２００４−１１−３０に検索］には、エンドポイント名前解決プロトコル（ＥＮＲＰ）と関連させた集合体サーバプロトコル（ＡＳＡＰ）がＩＰネットワークを介して高可用性のデータ伝送メカニズムを提供することが記載されている。ＡＳＡＰは、論理的な通信エンドポイントをそのＩＰアドレスから切り離す名前ベースのアドレッシングモデルを使用し、したがって通常は単一の障害ポイントをなす、通信エンドポイントとその物理的なＩＰアドレスとの繋がりは効率的に除去される。
Ｑ．Ｘｉｅ等による≪Rserpool Redundancy-model Policy≫インターネットドラフト［オンライン］、２００４年６月９日（２００４−０６−０９）、第１〜４３頁、インターネットから検索されたＸＰ００２３０８３１７  ＩＥＴＦ：ＵＲＬ： http://www.watersprings.org/pub/id/draffc-ietf-rserpool-asap-09.txt>［２００４−１１−３０に検索］は、Ｒｓｅｒｐｏｏｌ冗長モデルメンバ選択ポリシーおよび関連するプロシージャを規定している。この設計はＲｓｅｒｐｏｏｌポーリング負荷共有ポリシーにおける拡張形態を使用する。
ＵＳ  ２００３／０１０１２５８  Ａ１には、システム内の各サーバがそのシステム内の他のサーバに関する状態情報を包含するレプリカパートナーベクトル表を有する、ネットワーク化されたコンピュータシステムにおけるレプリカサーバを監視する方法が記載されている。レプリカパートナーベクトル表は更新シーケンスナンバーおよび、最後の更新時間および／またはシステム内の各レプリカサーバに関して最後に成功したレプリカ作成を試みた時間を識別するタイムスタンプ情報を記憶するためのデータフィールドを包含する。レプリカ作成が成功する度に、更新されたＵＳＮおよびタイムスタンプ情報を反映させるために、サーバはレプリカパートナーベクトルにおけるエントリを更新する。レプリカ監視方法は、システム内に何らかのサーバが隠れていないかを検出するために、レプリカパートナーベクトル表におけるＵＳＮおよびタイムスタンプエントリを評価する。監視方法がシステム内にサーバが隠れていることを検出すると警報が出され、ユーザおよび／またはネットワーク管理者に問題が通知される。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
インターネットベースのアプリケーションのような１つのサービスまたはサービスのセットをサポートする高信頼サーバ機能を提供する方法であって、
−前記サービスをサポートする１つまたは複数のプール要素（ＰＥ１，ＰＥ２）を有するサーバプール（ＳＰ）を形成するステップを有し、
−前記サーバプール（ＳＰ）を識別するプール名を有する、該サーバプール（ＳＰ）に関する名前空間を管理および保守する少なくとも１つのネームサーバ（ＮＳ）を提供するステップを有し、
−前記サービスを使用するプールユーザ（ＰＵ）によって、前記プール名を表指示する前記ネームサーバ（ＮＳ）にリクエストを送信するステップを有し、
−リクエストに基づき前記ネームサーバ（ＮＳ）により、前記プール名を前記１つまたは複数のプール要素（ＰＥ１，ＰＥ２）に関するＩＰアドレスのようなアドレス情報を包含する名前解決リストに変換するステップと、
−前記ネームサーバ（ＮＳ）により前記名前解決リストを前記プールユーザ（ＰＵ）に送信するステップと、
−前記プールユーザ（ＰＵ）により、かつ前記アドレス情報に基づき、前記サービスを使用する前記サーバプール（ＳＰ）の前記プール要素（ＰＥ１，ＰＥ２）の内の１つにアクセスするステップとを有する、１つのサービスまたはサービスのセットをサポートする高信頼サーバ機能を提供する方法において、
前記プール要素（ＰＥ１，ＰＥ２）の内の少なくとも１つの動作状態に関する状態情報を前記ネームサーバ（ＮＳ）から前記プールユーザ（ＰＵ）に送信し、
前記プールユーザ（ＰＵ）は前記１つまたは複数のプール要素（ＰＥ１，ＰＥ２）のの可用性に関連する状態情報を包含する状態ベクトルを求め、前記プールユーザ（ＰＵ）によって求められた該状態ベクトルを前記ネームサーバ（ＮＳ）から受信した状態ベクトルによって更新し、
前記可用性に関連する前記状態情報を、前記プールユーザ（ＰＵ）と前記１つまたはプール要素（ＰＥ１，ＰＥ２）との間のメッセージ伝送に関連する、アプリケーション層および／またはトランスポート層における１つまたは複数のタイマの終了または未終了によって求めることを特徴とする、１つのサービスまたはサービスのセットをサポートする高信頼サーバ機能を提供する方法。
【請求項２】
前記状態情報は前記プール要素（ＰＥ１，ＰＥ２）の内の１つの状態が求められた時点を示すタイムスタンプを表す、請求項１記載の方法。
【請求項３】
前記プール要素（ＰＥ１，ＰＥ２）の内の１つの前記状態を、前記ネームサーバ（ＮＳ）によって前記プール要素（ＰＥ１，ＰＥ２）の内の１つに送信されたキープアライブメッセージに応じた、前記ネームサーバ（ＮＳ）によって前記プール要素（ＰＥ１，ＰＥ２）の内の１つから受信したキープアライブ応答メッセージに基づき、または、前記プール要素（ＰＥ１，ＰＥ２）からのキープアライブメッセージの欠落に起因する前記ネームサーバにおける局所的なタイマ終了通知に基づき求め、前記キープアライブ応答メッセージおよび前記局所的なタイマ終了通知はそれぞれ、前記プール要素（ＰＥ１，ＰＥ２）の内の１つの状態、例えばアップおよびダウンを指示する、請求項２記載の方法。
【請求項４】
前記プール要素（ＰＥ１，ＰＥ２）の内の１つがアップ状態にある場合には、前記状態情報は例えば前記タイムスタンプを表す正の数を包含し、前記プール要素（ＰＥ１，ＰＥ２）の内の１つがダウン状態にある場合には、前記状態情報は例えば負の符号を有する前記タイムスタンプを表す負の数を包含する、請求項２または３記載の方法。
【請求項５】
前記プールユーザ（ＰＵ）によって前記ネームサーバ（ＮＳ）にリクエストを送信するステップを名前解決メッセージの送信により実施し、該送信をキャッシュ配置を達成するために前記プールユーザ（ＰＵ）においてトリガする、請求項１から４までのいずれか１項記載の方法。
【請求項６】
前記ネームサーバ（ＮＳ）によって前記名前解決リストを前記プールユーザに送信するステップは、さらに前記状態情報を包含する名前解決応答メッセージを送信するステップを有し、該状態情報は有利には状態ベクトルとして前記名前解決応答メッセージに挿入されている、請求項１から５までのいずれか１項記載の方法。
【請求項７】
前記サーバプール（ＳＰ）における前記プール要素（ＰＥ１，ＰＥ２）の内の特定の１つのプール要素を前記サーバ機能に関して、前記ネームサーバ（ＮＳ）から受信した前記状態ベクトルにおける前記状態情報に基づき選択する、請求項１から６までのいずれか１項記載の方法。
【請求項８】
前記ネームサーバ（ＮＳ）から受信した前記状態ベクトルに対応する状態情報がより新しい場合、例えばタイムスタンプの絶対値がより大きい場合には、状態情報を前記対応する状態情報に置換することによって、前記プールユーザ（ＰＵ）によって求められた前記状態ベクトルを更新する、請求項１記載の方法。
【請求項９】
前記プールユーザ（ＰＵ）による前記サーバプールにおける前記プール要素（ＰＥ１，ＰＥ２）の内の特定の１つのプール要素の選択において、さらにサーバ選択ポリシー、例えば最大可用性ＳＳＰまたはその拡張形態の内の１つを適用する、請求項５から８までのいずれか１項記載の方法。
【請求項１０】
インターネットベースのアプリケーションのような１つのサービスまたはサービスのセットをサポートする高信頼サーバ機能を提供する１つまたは複数のプール要素（ＰＥ１，ＰＥ２）を有するサーバプール（ＳＰ）に関する名前空間を管理および保守するネームサーバであって、
−プール名を指示するリクエスト、有利にはＩＥＴＦ  ＡＳＡＰプロトコルによる名前解決メッセージを受信するプール解決サーバモジュール（１０）を有し、
−前記サーバプール（ＳＰ）を識別するプール名に関連付けられた前記プール要素（ＰＥ１，ＰＥ２）に関するＩＰアドレスのようなアドレス情報を記憶するメモリ（１４）を有し、
前記プール解決サーバモジュール（１０）は、前記リクエストに応じて、前記メモリ（１４）にアクセスして前記プール名に関連付けられた前記アドレス情報を抽出することにより、前記プール名を名前解決リストに変換し、前記名前解決リストを有するメッセージ、例えばＩＥＴＦ  ＡＳＡＰプロトコルによる名前解決応答メッセージをアセンブルし、該メッセージを前記リクエストの送信側（１６）に送信することに適合されている、ネームサーバにおいて、
さらに前記メモリ（１４）は１つまたは複数のプール要素（ＰＥ１，ＰＥ２）に関連付けられた状態情報を記憶することに適合されており、
さらに前記プール解決サーバモジュール（１０）は、前記リクエストに応じて、前記メモリ（１４）にアクセスして前記状態情報を抽出し、有利には該状態情報を状態ベクトルとして前記メッセージに挿入することにより、該状態情報を前記リクエストの前記送信側（１６）に送り返すことに適合されていることを特徴とする、ネームサーバ。
【請求項１１】
キープアライブメッセージ、有利にはＩＥＴＦ  ＡＳＡＰプロトコルによるエンドポイントキープアライブメッセージをアセンブルし、該キープアライブメッセージを前記プール要素（ＰＥ１，ＰＥ２）の内の１つに送信し、キープアライブ応答メッセージまたは局所的なタイマ終了通知、有利にはエンドポイントキープアライブメッセージまたはＩＥＴＦ  ＡＳＡＰプロトコルによる局所的なタイマ終了通知を前記プール要素（ＰＥ１，ＰＥ２）の内の１つから受信し、該受信に応じて前記メモリ（１４）にアクセスし、前記プール要素（ＰＥ１，ＰＥ２）の内の１つの状態、有利にはそれぞれアップおよびダウンを表す状態情報を書き込む要素状態モジュール（１２）を有する、請求項１０記載のネームサーバ。
【請求項１２】
前記要素状態モジュール（１２）は前記状態情報としてタイムスタンプを表す数を書き込むことに適合されている、請求項１１記載のネームサーバ。
【請求項１３】
種々のプール（ＳＰ）の１つまたは複数のプール要素（ＰＥ１，ＰＥ２）それぞれによって提供される１つのサービスまたはサービスのセット、例えばインターネットベースのアプリケーションを支援するサーバ機能を使用するプールユーザ装置（ＰＵ）であって、
−サーバプール（ＳＰ）を識別するプール名を指示するリクエスト、有利にはＩＥＴＦ  ＡＳＡＰプロトコルによる名前解決メッセージをアセンブルし、該リクエストをネームサーバ（ＮＳ）に送信して、名前解決リスト、有利にはＩＥＴＦ  ＡＳＡＰプロトコルによる名前解決応答メッセージを前記ネームサーバ（ＮＳ）から受信するプール解決クライアントモジュール（１６）を有し、
−前記サービスを使用するために、前記名前解決リストからのアドレス情報に基づき、前記サーバプール（ＳＰ）の前記プール要素（ＰＥ１，ＰＥ２）の内の特定の１つのプール要素にアクセスするサーバ選択モジュール（１８）を有する、プールユーザ装置（ＰＵ）において、
さらに前記プール解決クライアントモジュール（１６）は状態ベクトルを有するメッセージを受信することに適合されており、
さらに前記サーバ選択モジュール（１８）は前記状態ベクトルに包含されている状態情報に応じて前記プール要素（ＰＥ１，ＰＥ２）の内の前記特定の１つのプール要素にアクセスすることに適合されており、
前記解決クライアントモジュール（１６）は、前記１つまたは複数のプール要素（ＰＥ１，ＰＥ２）の可用性に関連する状態情報を包含する状態ベクトルを求め、プールユーザ（ＰＵ）によって求められた該状態ベクトルを前記ネームサーバから受信した状態ベクトルによって更新することに適合されており、
前記解決クライアントモジュール（１６）は、前記可用性に関連する前記状態情報を、前記プールユーザ（ＰＵ）と前記１つまたはプール要素（ＰＥ１，ＰＥ２）との間のメッセージ伝送に関連する、アプリケーション層および／またはトランスポート層における１つまたは複数のタイマの終了または未終了によって求めることに適合されていることを特徴とする、プールユーザ装置（ＰＵ）。
【請求項１４】
状態情報、有利には状態ベクトルを記憶するメモリ（２０）を有し、前記プール解決クライアントモジュール（１６）および前記サーバ選択モジュール（１８）は前記状態情報の書き込みおよび読み出しにそれぞれ適合されている、請求項１３記載のプールユーザ装置。
【請求項１５】
前記１つまたは複数のプール要素（ＰＥ１，ＰＥ２）の可用性に関する状態情報を求め、前記メモリ（２０）にアクセスして前記状態情報を前記メモリ（２０）に書き込むサーバ可用性モジュール（２２）を有する、請求項１４記載のプールユーザ装置。
【請求項１６】
前記サーバ選択モジュール（１８）は、前記プール解決クライアントモジュール（１６）によって受信された前記状態ベクトルによって、前記サーバ可用性モジュール（２２）により前記メモリ（２０）に書き込まれた前記状態ベクトルを更新することに適合されている、請求項１５記載のプールユーザ装置。
【請求項１７】
前記サーバ選択モジュール（１８）による前記サーバプール（ＳＰ）における前記プール要素（ＰＥ１，ＰＥ２）の内の特定の１つのプール要素の選択において、さらにサーバ選択ポリシー、例えば最大可用性ＳＳＰまたはその拡張形態の内の１つを適用する、請求項１３から１６までのいずれか１項記載の方法。
【国際調査報告】
2007520004.tif 000008
2007520004.tif 000009
2007520004.tif 000010
2007520004.tif 000011