(57)【要約】【課題】  接続が解除された又は失われた場合に、生成されたデータ又はオブジェクトの要素が失われることなく、クライアント・アプリケーション・プログラムがサーバ・アプリケーション・プログラムの同一のインスタンスに再接続できるようにする。【解決手段】  クライアント・アプリケーション・プログラムとの処理について処理継続性を与えるように、一時的なＩＰアドレスがサーバ・アプリケーション・プログラムの選択されたインスタンスに割り当てられる方法、装置及びソフトウェアが開示される。【選択図】      図２
2011526710.tif 000002
【特許請求の範囲】
【請求項１】
クライアント・アプリケーション・プログラムがインターネット・プロトコル（ＩＰ）ネットワーク上でサーバ・アプリケーション・プログラム・インスタンスにアクセスするための方法であって、
ａ）第１のＩＰアドレスのための共通ポートを介してサーバ・アプリケーション・プログラムの複数のインスタンスのためのＩＰネットワーク・アスセスを提供するステップと、
ｂ）クライアント・アプリケーション・プログラムからの第１の要求に応答して、前記第１のＩＰアドレスを介して、前記クライアント・アプリケーション・プログラムと前記複数のサーバ・アプリケーション・プログラム・インスタンスのうちの選択された１つとの接続を可能にするステップと、
ｃ）前記クライアント・アプリケーション・プログラムとの通信のために、前記選択されたサーバ・アプリケーション・プログラム・インスタンス専用の第２のＩＰアドレスを、前記選択されたサーバ・アプリケーション・プログラム・インスタンスに割り当てるステップと、
ｄ）前記第２のＩＰアドレスを介して、前記選択されたサーバ・アプリケーション・プログラム・インスタンスへのＩＰネットワーク・アクセスを提供するステップと、
ｅ）前記第２のＩＰアドレスを介して、前記クライアント・アプリケーション・プログラムと前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスとの再接続を可能にするステップと、
を含む方法。
【請求項２】
前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスからの要求に応答して、前記第２のＩＰアドレスが提供される、請求項１に記載の方法。
【請求項３】
前記クライアント・アプリケーション・プログラムからの対応する要求に応答して、前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスからの前記要求が行われる、請求項２に記載の方法。
【請求項４】
前記第２のＩＰアドレスは、所定の未使用ＩＰアドレスのセットから選択される、前記請求項のいずれか一つの請求項に記載の方法。
【請求項５】
前記所定の未使用ＩＰアドレスのセットは、１つ又は複数の関連ドメイン・ネーム・サーバ（ＤＮＳ）から得られる使用済みＩＰアドレスのセットから決定される、請求項４に記載の方法。
【請求項６】
前記クライアント・アプリケーション・プログラムと前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスとの間の処理が完了したときには、その後の使用に対して前記第２のＩＰアドレスが解放される、請求項４又は請求項５のいずれかに記載の方法。
【請求項７】
前記クライアント・アプリケーション・プログラムからの要求に応答して、前記第２のＩＰアドレスが解放される、請求項６に記載の方法。
【請求項８】
前記ＩＰネットワーク及びアドレスは、ＩＰバージョン６（ＩＰｖ６）準拠のものである、前記請求項のいずれか一つの請求項に記載の方法。
【請求項９】
クライアント・アプリケーション・プログラムがインターネット・プロトコル（ＩＰ）ネットワーク上でサーバ・アプリケーション・プログラム・インスタンスにアクセスするための方法であって、
ａ）第１のＩＰアドレスのための共通ポートを介してサーバ・アプリケーション・プログラムの複数のインスタンスのうちの選択された１つに接続するステップと、
ｂ）前記選択されたサーバ・アプリケーション・プログラム・インスタンスから、前記選択されたサーバ・アプリケーション・プログラム・インスタンス専用の第２のＩＰアドレスを要求するステップと、
ｃ）前記第２のＩＰアドレスの受信に応答して、前記選択されたサーバ・アプリケーション・プログラム・インスタンスとの接続を閉じるステップと、
ｄ）前記第２のＩＰアドレスを介して前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスに再接続するステップと、
を含む方法。
【請求項１０】
ｅ）前記第２のＩＰアドレスを介して前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスに再接続するステップをさらに含む、請求項９に記載の方法。
【請求項１１】
サーバ・アプリケーション・プログラム・インスタンスがインターネット・プロトコル（ＩＰ）ネットワーク上でクライアント・アプリケーション・プログラムのための接続を提供する方法であって、
ａ）サーバ・アプリケーション・プログラムの複数の他のインスタンスと共通の第１のＩＰアドレスのためのポートを監視するステップと、
ｂ）クライアント・アプリケーション・プログラムからの第１の要求に応答して、第１の接続を提供する前記第１のＩＰアドレスを介して前記クライアント・アプリケーション・プログラムに接続するステップと、
ｃ）前記クライアント・アプリケーション・プログラムからの第２の要求に応答して、前記サーバ・アプリケーション・プログラム・インスタンス専用の第２のＩＰアドレスを取得し、前記第２のＩＰアドレスを前記クライアント・アプリケーション・プログラムに通信するステップと、
ｄ）前記クライアント・アプリケーション・プログラムからの第３の要求に応答して、前記第１の接続を閉じるステップと、
ｅ）前記第２のＩＰアドレスのためのポートを監視するステップと、
ｆ）前記クライアント・アプリケーション・プログラムからの第４の要求に応答して、前記第２のＩＰアドレスを介して前記クライアント・アプリケーション・プログラムに再接続するステップと、
を含む方法。
【請求項１２】
クライアント・アプリケーション・プログラムがインターネット・プロトコル（ＩＰ）ネットワーク上でサーバ・アプリケーション・プログラム・インスタンスにアクセスするための装置であって、
第１のＩＰアドレスのための共通ポートを介してサーバ・アプリケーション・プログラムの複数のインスタンスのためのＩＰネットワーク・アクセスを提供し、
クライアント・アプリケーション・プログラムからの第１の要求に応答して、前記第１のＩＰアドレスを介して、前記クライアント・アプリケーション・プログラムと前記複数のサーバ・アプリケーション・プログラム・インスタンスのうちの選択された１つとの接続を可能にし、
前記クライアント・アプリケーション・プログラムとの通信のために、前記選択されたサーバ・アプリケーション・プログラム・インスタンス専用の第２のＩＰアドレスを前記選択されたサーバ・アプリケーション・プログラム・インスタンスに割り当て、
前記第２のＩＰアドレスを介して、前記選択されたサーバ・アプリケーション・プログラム・インスタンスへのＩＰネットワーク・アクセスを提供し、
前記第２のＩＰアドレスを介して、前記クライアント・アプリケーション・プログラムと前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスとの再接続を可能にする、
ように作動可能な装置。
【請求項１３】
前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスからの要求に応答して、前記第２のＩＰアドレスが提供される、請求項１２に記載の装置。
【請求項１４】
前記クライアント・アプリケーション・プログラムからの対応する要求に応答して、前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスからの前記要求が行われる、請求項１３に記載の装置。
【請求項１５】
前記第２のＩＰアドレスは、所定の未使用ＩＰアドレスのセットから選択される、請求項１２から請求項１４のいずれか一つの請求項に記載の装置。
【請求項１６】
前記所定の未使用ＩＰアドレスのセットは、１つ又は複数の関連ドメイン・ネーム・サーバ（ＤＮＳ）から得られる使用済みＩＰアドレスのセットから決定される、請求項１５に記載の装置。
【請求項１７】
前記クライアント・アプリケーション・プログラムと前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスとの間の処理が完了したときには、その後の使用に対して前記第２のＩＰアドレスが解放される、請求項１５又は１６のいずれか一項に記載の装置。
【請求項１８】
前記クライアント・アプリケーション・プログラムからの要求に応答して、前記第２のＩＰアドレスが解放される、請求項１７に記載の装置。
【請求項１９】
前記ＩＰネットワーク及びアドレスは、ＩＰバージョン６（ＩＰｖ６）準拠のものである、請求項１２から請求項１８のいずれか一つの請求項に記載の装置。
【請求項２０】
クライアント・アプリケーション・プログラムがインターネット・プロトコル（ＩＰ）ネットワーク上でサーバ・アプリケーション・プログラム・インスタンスにアクセスするための装置であって、
第１のＩＰアドレスのための共通ポートを介してサーバ・アプリケーション・プログラムの複数のインスタンスのうちの選択された１つに接続し、
前記選択されたサーバ・アプリケーション・プログラム・インスタンスから、前記選択されたサーバ・アプリケーション・プログラム・インスタンス専用の第２のＩＰアドレスを要求し、
前記第２のＩＰアドレスの受信に応答して、前記選択されたサーバ・アプリケーション・プログラム・インスタンスとの接続を閉じ、
前記第２のＩＰアドレスを介して前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスに再接続する、
ように作動可能な装置。
【請求項２１】
前記第２のＩＰアドレスを介して前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスに再接続するようにさらに動作可能である、請求項２０に記載の装置。
【請求項２２】
サーバ・アプリケーション・プログラム・インスタンスがインターネット・プロトコル（ＩＰ）ネットワーク上でクライアント・アプリケーション・プログラムのための接続を提供する装置であって、
サーバ・アプリケーション・プログラムの複数の他のインスタンスと共通の第１のＩＰアドレスのためのポートを監視し、
クライアント・アプリケーション・プログラムからの第１の要求に応答して、第１の接続を提供する前記第１のＩＰアドレスを介して前記クライアント・アプリケーション・プログラムに接続し、
前記クライアント・アプリケーション・プログラムからの第２の要求に応答して、前記サーバ・アプリケーション・プログラム・インスタンス専用の第２のＩＰアドレスを取得して前記第２のＩＰアドレスを前記クライアント・アプリケーション・プログラムに通信し、
前記クライアント・アプリケーション・プログラムからの第３の要求に応答して、前記第１の接続を閉じ、
前記第２のＩＰアドレスのためのポートを監視し、
前記クライアント・アプリケーション・プログラムからの第４の要求に応答して、前記第２のＩＰアドレスを介して前記クライアント・アプリケーション・プログラムに再接続する、
ように作動可能な装置。
【請求項２３】
コンピュータ上で稼働したときに、請求項１から請求項１１のいずれか一つの請求項に記載の方法を実施するソフトウエア・コード部分を含む、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラム製品。
【請求項２４】
コンピュータ上で稼働したときに、請求項１２から請求項２２のいずれか一つの請求項に記載の装置を提供するためのソフトウエア・コード部分を含む、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラム製品。
【請求項２５】
１又は複数のプログラム可能デバイスのグループが、請求項１から請求項１１のいずれか一つの請求項に記載の方法を実行するか又は請求項１１から請求項２２のいずれか一つの請求項に記載の装置を提供することができるように構成された、１つ又は複数のプログラムのグループ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント・アプリケーション・プログラムがインターネット・プロトコル（ＩＰ）ネットワーク上でサーバ・アプリケーション・プログラム・インスタンスにアクセスするための方法、装置又はソフトウェアに関する。
【背景技術】
【０００２】
クライアント／サーバ・コンピュータ・システムにおいては、サーバ・システムの帯域幅を増大させるために、多くのサーバ・アプリケーション・プログラムのインスタンスが提供される場合がある。サーバ・アプリケーション・プログラムの全てのインスタンスは、同一のＩＰアドレスを共有し、同一のネットワーク・ポート上で通信出来るように構成される。ネットワーク・ポートは、受信コンピュータ上で稼働する所与のプロセス又はアプリケーションに対して着信するネットワーク・データ・トラフィックを組み合わせるために用いられる識別番号である。すなわち、サーバ・アプリケーション・プログラムのいくつかのインスタンスは、アクティブであり、所与のクライアント・アプリケーション・プログラムにより用いられるＩＰアドレス及びポート上で待機状態である。クライアント・アプリケーション・プログラムがＩＰアドレス及びポートに接続するときに、サーバ・インスタンスの一つが選択され、クライアント・アプリケーション・プログラムとの接続が確立される。
【０００３】
クライアント・アプリケーション・プログラムとサーバ・アプリケーション・プログラムの選択されたインスタンスとの間におけるその後の対話の際に、データ又は他のオブジェクトが、サーバ・アプリケーション・プログラムの選択されたインスタンスのための永続的ストレージ内に生成される可能性がある。処理における更なるステップが、そのようなデータ又はオブジェクトに依存することがある。従って、そのようなオブジェクトを保存するために、クライアント・アプリケーション・プログラムとサーバ・アプリケーション・プログラムの選択されたインスタンスとの間の接続が維持されなければならない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一つの問題は、接続が解除された又は失われた場合に、クライアント・アプリケーション・プログラムがサーバ・アプリケーション・プログラムの同一のインスタンスに再接続できなくなり、生成されたデータ又はオブジェクトの要素が失われる場合があることである。さらに、接続を維持するには、相当な量のネットワーク及びサーバ・コンピュータ・リソースが必要となる。
【課題を解決するための手段】
【０００５】
本発明の一実施形態は、クライアント・アプリケーション・プログラムがインターネット・プロトコル（ＩＰ）ネットワーク上でサーバ・アプリケーション・プログラム・インスタンスにアクセスするための方法であって、
ａ）第１のＩＰアドレスのための共通ポートを介してサーバ・アプリケーション・プログラムの複数のインスタンスのためのＩＰネットワーク・アスセスを提供するステップと、
ｂ）クライアント・アプリケーション・プログラムからの第１の要求に応答して、第１のＩＰアドレスを介して、クライアント・アプリケーション・プログラムと複数のサーバ・アプリケーション・プログラム・インスタンスのうちの選択された１つとの接続を可能にするステップと、
ｃ）クライアント・アプリケーション・プログラムとの通信のために、選択されたサーバ・アプリケーション・プログラム・インスタンス専用の第２のＩＰアドレスを選択されたサーバ・アプリケーション・プログラム・インスタンスに割り当てるステップと、
ｄ）第２のＩＰアドレスを介して、選択されたサーバ・アプリケーション・プログラム・インスタンスへのＩＰネットワーク・アクセスを提供するステップと、
ｅ）第２のＩＰアドレスを介して、クライアント・アプリケーション・プログラムとサーバ・アプリケーション・プログラムの選択されたインスタンスとの再接続を可能にするステップと、
を含む方法を提供する。
【０００６】
サーバ・アプリケーション・プログラムの選択されたインスタンスからの要求に応答して、第２のＩＰアドレスを提供することができる。クライアント・アプリケーション・プログラムからの対応する要求に応答して、サーバ・アプリケーション・プログラムの選択されたインスタンスからの要求を行うことができる。第２のＩＰアドレスは、所定の未使用ＩＰアドレスのセットから選択することができる。所定の未使用ＩＰアドレスのセットは、１つ又は複数の関連ドメイン・ネーム・サーバ（ＤＮＳ）から得られる使用済みＩＰアドレスのセットから決定することができる。
【０００７】
クライアント・アプリケーション・プログラムとサーバ・アプリケーション・プログラムの選択されたインスタンスとの間の処理が完了したときには、その後の使用に対して第２のＩＰアドレスを解放することができる。クライアント・アプリケーション・プログラムからの要求に応答に応答して、第２のＩＰアドレスを解放することができる。ＩＰネットワーク及びアドレスは、ＩＰバージョン６（ＩＰｖ６）準拠のものとすることができる。
【０００８】
別の実施形態は、クライアント・アプリケーション・プログラムがインターネット・プロトコル（ＩＰ）ネットワーク上でサーバ・アプリケーション・プログラム・インスタンスにアクセスするための方法であって、
ａ）第１のＩＰアドレスのための共通ポートを介してサーバ・アプリケーション・プログラムの複数のインスタンスのうちの選択された１つに接続するステップと、
ｂ）選択されたサーバ・アプリケーション・プログラム・インスタンスから、選択されたサーバ・アプリケーション・プログラム・インスタンス専用の第２のＩＰアドレスを要求するステップと、
ｃ）第２のＩＰアドレスの受信に応答して、選択されたサーバ・アプリケーション・プログラム・インスタンスとの接続を閉じるステップと、
ｄ）第２のＩＰアドレスを介してサーバ・アプリケーション・プログラムの選択されたインスタンスに再接続するステップと、
を含む方法を提供する。
【０００９】
更なる実施形態は、サーバ・アプリケーション・プログラム・インスタンスがインターネット・プロトコル（ＩＰ）ネットワーク上でクライアント・アプリケーション・プログラムのための接続を提供する方法であって、
ａ）サーバ・アプリケーション・プログラムの複数の他のインスタンスと共通の第１のＩＰアドレスのためのポートを監視するステップと、
ｂ）クライアント・アプリケーション・プログラムからの第１の要求に応答して、第１の接続を提供する第１のＩＰアドレスを介してクライアント・アプリケーション・プログラムに接続するステップと、
ｃ）クライアント・アプリケーション・プログラムからの第２の要求に応答して、サーバ・アプリケーション・プログラム・インスタンス専用の第２のＩＰアドレスを取得し、第２のＩＰアドレスをクライアント・アプリケーション・プログラムに通信するステップと、
ｄ）クライアント・アプリケーション・プログラムからの第３の要求に応答して、第１の接続を閉じるステップと、
ｅ）第２のＩＰアドレスのためのポートを監視するステップと、
ｆ）クライアント・アプリケーション・プログラムからの第４の要求に応答して、第２のＩＰアドレスを介してクライアント・アプリケーション・プログラムに再接続するステップと、
を含む方法を提供する。
【００１０】
別の実施形態は、クライアント・アプリケーション・プログラムがインターネット・プロトコル（ＩＰ）ネットワーク上でサーバ・アプリケーション・プログラム・インスタンスにアクセスするための装置であって、第１のＩＰアドレスのための共通ポートを介してサーバ・アプリケーション・プログラムの複数のインスタンスのためのＩＰネットワーク・アクセスを提供し、クライアント・アプリケーション・プログラムからの第１の要求に応答して、第１のＩＰアドレスを介して、クライアント・アプリケーション・プログラムと複数のサーバ・アプリケーション・プログラム・インスタンスのうちの選択された１つとの接続を可能にし、クライアント・アプリケーション・プログラムとの通信のために、選択されたサーバ・アプリケーション・プログラム・インスタンス専用の第２のＩＰアドレスを選択されたサーバ・アプリケーション・プログラム・インスタンスに割り当て、第２のＩＰアドレスを介して、選択されたサーバ・アプリケーション・プログラム・インスタンスへのＩＰネットワーク・アクセスを提供し、第２のＩＰアドレスを介して、クライアント・アプリケーション・プログラムとサーバ・アプリケーション・プログラムの選択されたインスタンスとの再接続を可能にするように作動可能な装置を提供する。
【００１１】
更なる実施形態は、クライアント・アプリケーション・プログラムがインターネット・プロトコル（ＩＰ）ネットワーク上でサーバ・アプリケーション・プログラム・インスタンスにアクセスするための装置であって、第１のＩＰアドレスのための共通ポートを介してサーバ・アプリケーション・プログラムの複数のインスタンスのうちの選択された１つに接続し、選択されたサーバ・アプリケーション・プログラム・インスタンスから、選択されたサーバ・アプリケーション・プログラム・インスタンス専用の第２のＩＰアドレスを要求し、第２のＩＰアドレスの受信に応答して、選択されたサーバ・アプリケーション・プログラム・インスタンスとの接続を閉じ、第２のＩＰアドレスを介してサーバ・アプリケーション・プログラムの選択されたインスタンスに再接続するように作動可能な装置を提供する。
【００１２】
別の実施形態は、サーバ・アプリケーション・プログラム・インスタンスがインターネット・プロトコル（ＩＰ）ネットワーク上でクライアント・アプリケーション・プログラムのための接続を提供する装置であって、サーバ・アプリケーション・プログラムの複数の他のインスタンスと共通の第１のＩＰアドレスのためのポートを監視し、クライアント・アプリケーション・プログラムからの第１の要求に応答して、第１の接続を提供する第１のＩＰアドレスを介してクライアント・アプリケーション・プログラムに接続し、クライアント・アプリケーション・プログラムからの第２の要求に応答して、サーバ・アプリケーション・プログラム・インスタンス専用の第２のＩＰアドレスを取得して第２のＩＰアドレスをクライアント・アプリケーション・プログラムに通信し、クライアント・アプリケーション・プログラムからの第３の要求に応答して、第１の接続を閉じ、第２のＩＰアドレスのためのポートを監視し、クライアント・アプリケーション・プログラムからの第４の要求に応答して、第２のＩＰアドレスを介してクライアント・アプリケーション・プログラムに再接続するように作動可能な装置を提供する。
【００１３】
更なる実施形態は、コンピュータ上で稼働したときに、クライアント・アプリケーション・プログラムがインターネット・プロトコル（ＩＰ）ネットワーク上でサーバ・アプリケーション・プログラム・インスタンスにアクセスするための方法を実施するソフトウエア・コード部分を含む、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、該方法は、
ａ）第１のＩＰアドレスのための共通ポートを介してサーバ・アプリケーション・プログラムの複数のインスタンスのためのＩＰネットワーク・アスセスを提供するステップと、
ｂ）クライアント・アプリケーション・プログラムからの第１の要求に応答して、第１のＩＰアドレスを介して、クライアント・アプリケーション・プログラムと複数のサーバ・アプリケーション・プログラム・インスタンスのうちの選択された１つとの接続を可能にするステップと、
ｃ）クライアント・アプリケーション・プログラムとの通信のために、選択されたサーバ・アプリケーション・プログラム・インスタンス専用の第２のＩＰアドレスを選択されたサーバ・アプリケーション・プログラム・インスタンスに割り当てるステップと、
ｄ）第２のＩＰアドレスを介して、選択されたサーバ・アプリケーション・プログラム・インスタンスへのＩＰネットワーク・アクセスを提供するステップと、
ｅ）第２のＩＰアドレスを介して、クライアント・アプリケーション・プログラムとサーバ・アプリケーション・プログラムの選択されたインスタンスとの再接続を可能にするステップと、
を含む、コンピュータ・プログラムを提供する。
【００１４】
別の実施形態は、コンピュータ上で稼働したときに、クライアント・アプリケーション・プログラムがインターネット・プロトコル（ＩＰ）ネットワーク上でサーバ・アプリケーション・プログラム・インスタンスにアクセスするための装置を提供するソフトウエア・コード部分を含む、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、該装置は、第１のＩＰアドレスのための共通ポートを介してサーバ・アプリケーション・プログラムの複数のインスタンスのうちの選択された１つに接続し、選択されたサーバ・アプリケーション・プログラム・インスタンスから、選択されたサーバ・アプリケーション・プログラム・インスタンス専用の第２のＩＰアドレスを要求し、第２のＩＰアドレスの受信に応答して、選択されたサーバ・アプリケーション・プログラム・インスタンスとの接続を閉じ、第２のＩＰアドレスを介してサーバ・アプリケーション・プログラムの選択されたインスタンスに再接続するように作動可能である、コンピュータ・プログラムを提供する。
【００１５】
本発明の好ましい実施形態は、所与のサーバが多数のＩＰアドレスを持つことができるようにするＩＰｖ６プロトコルの特徴を用いる。この特徴は、ソケット／接続をサーバに開放し続けることなくクライアントが特定のサーバ・インスタンスへのアクセスを再確立する能力を提供するために、特定のクライアントのためのサーバ・インスタンスによる固有の一時的なＩＰアドレスを割り当てるのに用いることができる。従って、そのようなソケット／接続を開放し続けるのに必要なルータ及び他の物理的リソースを、代わりに他のユーザが利用できるようにすることができる。その後に、クライアントは、割り当てられたＩＰアドレスの使用によって、以前に用いられた特定のサーバ・プログラム・インスタンスとのコンタクトを再開することができる。
【図面の簡単な説明】
【００１６】
【図１】ネットワーク化されたコンピュータ・システムの概略図である。
【図２】図１のコンピュータ・システムにおけるサーバ・コンピュータのためのソフトウェア・コンポーネントの概略図である。
【図３】図１のコンピュータ・システムにおけるクライアント・コンピュータのためのソフトウェア・コンポーネントの概略図である。
【図４】図１のコンピュータ・システムにおけるクライアント・コンピュータとサーバ・コンピュータとの間で用いられる命令を示す表である。
【図５】図２のサーバ・コンピュータのソフトウェア・コンポーネント間で用いられる命令を示す表である。
【図６】図３のクライアント・コンピュータのためのクライアント・アプリケーション・プログラムにより行われる処理を示すフローチャートである。
【図７】図３のサーバ・コンピュータのためのサーバ・アプリケーション・プログラムのインスタンスにより行われる処理を示すフローチャートである。
【図８】図２のサーバ・コンピュータのためのＩＰスタック管理プログラムにより行われる処理を示すフローチャートである。
【発明を実施するための形態】
【００１７】
本発明の実施形態は、添付の図面を参照して、単なる例として説明される。
【００１８】
図１を参照すると、コンピュータ・システム１０１は、広域ネットワーク（ＷＡＮ）１０３に接続されたサーバ・コンピュータ１０２と、クライアント・コンピュータ１０４と、ドメイン・ネーム・サーバ（ＤＮＳ）１０５とを含む。サーバ・コンピュータ１０２及びクライアント・コンピュータ１０４は、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）通信プロトコルを用いてネットワーク１０３上で通信できるように構成されたソフトウェアを用いて構成される。本実施形態においては、ＴＣＰ／ＩＰバージョン６（ＩＰｖ６）プロトコルが用いられる。ＩＰｖ６アドレスは、コロンで分けられた４つの１６進数の８つのグループとして書かれており、典型的には、２つの論理部分、すなわち、６４ビットのネットワーク・プレフィックス及び６４ビットのホスト・パートから成る。ホスト・パートは、通常、サーバ・アプリケーション・プログラムのインスタンスをアドレス指定するのに用いられ、動的に変化することができ、即ち、サーバ・リソースがそのＩＰｖ６アドレスを効率的に時々変えることができる。ＤＮＳ１０５は、ｗｗｗ．ｉｂｍ．ｃｏｍのようなユニバーサル・リソース・ロケータ（ＵＲＬ）の形式のネットワーク・アドレスを、ａ１２９：ｅ４ｅ２：ｄ５ｃ６：ｂ２１６：１ｃ２２：６ｆｆ２：５７ａｂ：９ｅ１２のようなＩＰｖ６アドレスに変換することができる。
【００１９】
図２は、サーバ・コンピュータ１０２のソフトウェア・コンポーネントを更に詳細に示す。サーバ・コンピュータ１０２では、オペレーティング・システム２０１が稼働しており、オペレーティング・システム２０１は、本実施形態においては、インターナショナル・ビジネス・マシーンズ・コーポレーション（ＩＢＭ）のｚ／ＯＳ（登録商標）オペレーティング・システムである。オペレーティング・システム２０１には、ｚ／ＯＳ通信マネージャの形でＩＰスタック管理プログラム２０２が設けられており、オペレーティング・システム２０１が常駐プログラムにＩＰネットワーク・アクセスを提供することができるＩＰネットワーク・インターフェースを提供するように構成される。オペレーティング・システム２０１上では、サーバ・アプリケーション・プログラムの３つのインスタンス２０４、２０５、２０６が稼働しており、これらのインスタンスは、本実施形態においては、ＩＢＭ（登録商標）ＣＩＣＳ（登録商標）トランザクション・サーバ（ＣＩＣＳ）アプリケーション・プログラムのインスタンスである。（ＩＢＭ、ｚ／ＯＳ及びＣＩＣＳは、米国、他国、又はその両方におけるインターナショナル・ビジネス・マシーンズ・コーポレーションの商標である。）  サーバ・アプリケーション・プログラムの各々のインスタンス２０４、２０５、２０６は、共通ＩＰアドレスを有し、サーバ可用性を高めるためにＩＰスタック管理システム２０２によって提供される共通ポート上でリスン（listen）するように構成される。従って、サーバ・アプリケーション・プログラムのインスタンス２０４、２０５、２０６にアクセスするためのクライアント・コンピュータ１０４からの要求に応答して、サーバ・アプリケーション・プログラムの１つのインスタンス２０４、２０５、２０６が無作為に選択され、クライアント・コンピュータ１０４と接続される。クライアント・コンピュータ１０４とサーバ・アプリケーション・プログラムの選択されたインスタンス２０４、２０５、２０６との間のその後の処理の際に、生成されることがあるデータ又は他のオブジェクト２０７、２０８、２０９が、サーバ・アプリケーション・プログラムの選択されたインスタンス２０４、２０５、２０６のための永続的ストレージに保存される。このようなデータ２０７、２０８、２０９は、クライアント・コンピュータ１０４とサーバ・アプリケーション・プログラムの選択されたインスタンス２０４、２０５、２０６との間におけるアフィニティ又は関係性を規定する。
【００２０】
図３は、クライアント・コンピュータ１０４のソフトウェア・コンポーネントを更に詳細に示す。
【００２１】
クライアント・コンピュータ１０４では、ウェブ・ブラウザ・アプリケーション・プログラムの形式のクライアント・アプリケーション・プログラム３０２のためのプラットフォームを提供するオペレーティング・システム３０１が稼働している。ウェブ・ブラウザ３０２は、ＩＰネットワーク１０３を介して、サーバ・アプリケーション・プログラムのインスタンス２０４、２０５、２０６によって提供されるサービスへのユーザ・アクセスを与える。ウェブ・ブラウザ３０２は、本明細書中でアフィニティ・アドレス（ＡＡ）クライアント・プラグイン３０３と呼ばれるプラグイン・プログラム拡張機能を更に含む。ＡＡクライアント・プラグイン３０３は、ウェブ・ブラウザ３０２が接続されるサーバ・アプリケーション・プログラムの所与のインスタンス２０４、２０５、２０６のためのＩＰアドレスをサーバ・アプリケーション・プログラムの所与のインスタンス２０４、２０５、２０６に固有の新たなＩＰアドレスに再割り当てする要求のための機能を、ウェブ・ブラウザ３０２に提供するように構成される。本明細書においては、この新たなＩＰアドレスはアフィニティ・アドレス（ＡＡ）と呼ばれる。好ましくは、所与のサーバが複数のＩＰｖ６アドレスを持てるようにするＩＰｖ６プロトコルの特徴が活用される。ＩＰｖ６アドレスは、ａ：ｂ：ｃ：ｄ：ｗ：ｘ：ｙ：ｚの形式であり、ａ，ｂ，ｃ，ｄ，ｗ，ｘ及びｙは、００００からＦＦＦＦまでの１６進文字列エントリである（hex-as-character entries）。実際には、ＩＰｖ６アドレスのａ：ｂ：ｃ：ｄ部分は、ネットワークを通じてアイテムを指し示すルータのために用いられ、ｗ：ｘ：ｙ：ｚ部分は、ルータと通信しているサーバを識別するために用いられる。サーバは、固有の一時的なＩＰｖ６アドレスを要求することができる。典型的には、サーバ・アプリケーション・プログラムのアフィニティ・アドレスのａ：ｂ：ｃ：ｄ部分は、サーバ・アプリケーション・プログラムの第１のＩＰアドレスのその部分と同一であり、ｗ：ｘ：ｙ：ｚ部分は、その時点で割り当てられていないアドレスに変更される。
【００２２】
ＡＡクライアント・プラグイン３０３が要求したアフィニティ・アドレスを受信したときに、サーバ・アプリケーション・プログラムの所与のインスタンス２０４、２０５、２０６への現在の接続を閉じ、受信したアフィニティ・アドレスを介して同一のインスタンスに再接続するように構成される。この再接続によって、クライアント・アプリケーション・プログラム３０２とサーバ・アプリケーション・プログラムの所与のインスタンス２０４、２０５、２０６との間の接続を常に維持することを必要とせずに、データ２０７、２０８、２０９である関連する処理コンテキストを保存することが可能になる。
【００２３】
図４は、サーバ・アプリケーション・プログラムのインスタンス２０４、２０５、２０６が与えられたアプリケーション・プログラム・インターフェイス（ＡＰＩ）によってＡＡクライアント・プラグイン３０３が利用可能な要求を示す。第１の要求（プロバイド・アフィニティ・アドレス（Provide_Affinity_Address））は、サーバ・アプリケーション・プログラムのインスタンス２０４、２０５、２０６が新たなアフィニティ・アドレスを提供するためのものであり、上記のように、これにより、ＡＡクライアント・プラグイン３０３に新たなアフィニティ・アドレスが与えられる。第２の要求（リリース・アフィニティ・アドレス（Release_Affinity_Address））は、サーバ・アプリケーション・プログラムのインスタンス２０４、２０５、２０６が所与のアフィニティ・アドレスを解放するためのものである。これにより、サーバ・アプリケーション・プログラムの所与のインスタンス２０４、２０５、２０６が停止され、アフィニティ・アドレスがＩＰスタック管理プログラム２０２によって解放されてさらに使用できるようになる。換言すれば、このように提供されるアフィニティ・アドレスは、サーバ・アプリケーション・プログラムの所与のインスタンス２０４、２０５、２０６に一時的にのみ割り当てることができる。
【００２４】
本実施形態においては、ＡＡクライアント・プラグイン３０３とサーバ・アプリケーション・プログラム２０４、２０５、２０６との間のＡＰＩは、ハイパーテキスト転送プロトコル（ＨＴＴＰ）バージョン１．１オプション命令の拡張機能によって提供される。オプション命令は、ＡＡクライアント・プラグイン３０３とサーバ・アプリケーション・プログラムのそれぞれのインスタンス２０４、２０５、２０６との間で、プロバイド要求及び応答とリリース要求及び応答とをＨＴＴＰメッセージ・ヘッダとして転送するために用いられる。従って、例えば、アフィニティ・アドレスを要求するために、ＡＡクライアント・プラグイン３０３は、プロバイド・アフィニティ・アドレスと名付けられたヘッダを含むＨＴＴＰメッセージを送信する。サーバ・アプリケーション・プログラムのそれぞれのインスタンス２０４、２０５、２０６からの応答は、ヘッダ名  アフィニティ・アドレス（Affinity_Address）：１：２：３：４：５：６：７：８を含むＨＴＴＰメッセージであり、１：２：３：４：５：６：７：８は、要求されたアフィニティ・アドレスである。
【００２５】
図２に戻ると、サーバ・アプリケーション・プログラムの各々のインスタンス２０４、２０５、２０６は、本明細書においてはアフィニティ・アドレス（ＡＡ）サーバ・プラグイン２１０、２１１、２１２と呼ばれるプラグイン・プログラム拡張機能を更に含む。さらに、通信マネージャ２０２は、本明細書においてアフィニティ・アドレス（ＡＡ）プロバイダ・プラグイン２１３と呼ばれるプラグイン・プログラム拡張機能を更に含む。ＡＡサーバ・プラグインの各々のインスタンス２１０、２１１、２１２は、ＡＡクライアント・プラグイン３０３とＡＡプロバイダ・プラグイン２１３との間の要求を経路指定するための機能を、サーバ・アプリケーション・プログラムの所与のインスタンス２０４、２０５、２０６に与えるように構成される。ＡＡプロバイダ・プラグイン２１３は、アフィニティ・アドレスのセット２１４を識別して管理し、要求に応じて固有のアフィニティ・アドレスを提供するための機能を、通信マネージャ２０２に与えるように構成される。アフィニティ・アドレスの管理は、ＤＮＳ１０５から全ての関連する使用済みＩＰアドレスのリストを取得することと、利用可能アドレスのセット、すなわち可能なアフィニティ・アドレスのセットを推定することとを含む。さらに、アフィニティ・アドレスを提供する要求又は解放する要求に応答して、ＡＡプロバイダ・プラグイン２１３は、アフィニティ・アドレスのセット２１４において、及び、ＤＮＳ１０５を用いて、それぞれにアフィニティ・アドレスの利用可能状態を更新するように構成される。
【００２６】
図５は、ＡＡプロバイダ・プラグイン２１３が与えられたＡＰＩによって、ＡＡサーバ・プラグインの各々のインスタンス２１０、２１１、２１２に提供される要求を示す。第１の要求（ゲット・アフィニティ・アドレス（Get_Affinity_Address））は、ＡＡクライアント・プラグイン３０３から受信したプロバイド・アフィニティ・アドレス要求に応答して、ＡＡサーバ・プラグイン２１０、２１１、２１２によってＡＡプロバイダ・プラグイン２１３に発行される。それに応答して、ＡＡプロバイダ・プラグイン２１３は、アフィニティ・アドレスを選択し、選択されたアドレスを利用不可として登録し、選択されたアドレスをＡＡサーバ・プラグイン２１０、２１１、２１２に戻す。次いで、選択されたアフィニティ・アドレスは、要求しているＡＡクライアント・プラグイン３０３に渡され、アフィニティ・アドレスを介してクライアント・アプリケーション・プログラム３０２とサーバ・アプリケーション・プログラムのインスタンス２０４、２０５、２０６との再接続を可能にするように、サーバ・アプリケーション・プログラムの所与のインスタンス２０４、２０５、２０６にも割り当てられる。図５のＡＰＩにおける第２の要求（フリー・アフィニティ・アドレス（Free_Affinity_Address））は、ＡＡクライアント・プラグイン３０３から受信したリリース・アフィニティ・アドレス要求に応答して、ＡＡサーバ・プラグイン２１０、２１１、２１２によってＡＡプロバイダ・プラグイン２１３に発行される。それに応答して、ＡＡプロバイダ・プラグイン２１３は、解放されたアフィニティ・アドレスを利用可能として登録する。第３及び第４の要求は、ＡＡプロバイダ・プラグイン２１３のための管理インターフェイスの一部として提供され、それぞれ、所与のサーバによって使用される全てのアフィニティ・アドレスとＩＰスタックにおける全ての既知のフィニティ・アドレスとを発見することを可能にする。
【００２７】
ここで、図６のフローチャートを参照して、ＡＡクライアント・プラグイン３０３がクライアント・アプリケーション・プログラム３０２と共に行う処理を更に詳細に説明する。ステップ６０１において、クライアント・アプリケーション・プログラム３０２の初期化に応答してＡＡクライアント・プラグイン３０３の処理が開始され、処理はステップ６０２に移る。ステップ６０２において、ＩＰネットワーク１０３上でサーバ・アプリケーション・プログラムの無作為に選択されたインスタンス（図２のサーバ・インスタンス１）２０４への接続が作られ、クライアントとサーバ・プログラム３０２、２０４との間の処理が開始される。次いで、処理はステップ６０３に移り、ここではアフィニティ・アドレスの提供のための要求がサーバ・アプリケーション・プログラムの選択されたインスタンス２０４に送信され、処理はステップ６０４に移る。ステップ６０４において、要求したアフィニティ・アドレスを待ち、アフィニティ・アドレスを受信すると処理はステップ６０５に移る。ステップ６０５において、クライアントとサーバ３０２、２０４との間の処理が一時的に保留され、処理はステップ６０６に移る。ステップ６０６において、サーバ・アプリケーション・プログラムの選択されたインスタンス２０４とのその時点の接続が閉じられ、それにより、通信のための全てのリソースが解放され、処理はステップ６０７に移る。ステップ６０７において、受信したアフィニティ・アドレスを介して、サーバ・アプリケーション・プログラムの選択された同じインスタンス２０４への新たな接続が作られ、処理はステップ６０８に移る。ステップ６０８において、クライアントとサーバ・プログラム３０２、２０４との間の処理が再開され、処理はステップ６０９に移る。ステップ６０９において、クライアントとサーバ・プログラム３０２、２０４との間の処理の完了を待ち、処理が完了すると、処理はステップ６１０に移る。ステップ６１０において、受信したアフィニティ・アドレスを解放する要求がサーバ・アプリケーション・プログラム２０４に送信され、処理はステップ６０２に戻り、更なるサーバへの接続の開始を待つ。
【００２８】
従来技術の状況においては、ステップ６０６において接続を閉じるのではなく、サーバ・アプリケーション・プログラムの選択されたインスタンス２０５とのその時点の接続は、通信リソースが割り当てられ続けることによって他が使用できない状態で、アクティブに保たれなければならないことに留意されたい。
【００２９】
ここで、図７のフローチャートを参照して、ＡＡサーバ・プラグインのインスタンス２１０がサーバ・アプリケーション・プログラムの関連するインスタンス２０４、２０５、２０６と共に行う処理を更に詳細に説明する。ステップ７０１において、サーバ・アプリケーション・プログラムの関連するインスタンス２０４の初期化に応答してＡＡサーバ・プラグインのインスタンス２１０の処理が開始され、処理はステップ７０２に移る。ステップ７０２において、クライアント・アプリケーション・プログラム３０２からの要求された接続が受信されて認められ、処理はステップ７０３に移る。ステップ７０３において、クライアントとサーバ・アプリケーション３０２、２０４との間の処理が行われ、アフィニティ・アドレス関連要求がクライアント・アプリケーション・プログラム３０２から受信されるか、又は、処理がステップ７０４に移った時点で処理が終了するまで続く。ステップ７０４において、アフィニティ・アドレス関連要求が受信された場合には、処理はステップ７０５に続く。ステップ７０５において、要求がアフィニティ・アドレスの提供のための要求として識別された場合には、処理はステップ７０６に移る。ステップ７０６において、新たなアフィニティ・アドレスのための要求がＡＡプロバイダ・プラグイン２１３に送信され、処理は７０７に移り、新たなアフィニティ・アドレスの受信を待つ。アフィニティ・アドレスを受信すると、処理はステップ７０８に移る。ステップ７０８において、受信されたアフィニティ・アドレスは、要求しているクライアント・アプリケーション・プログラム３０２に渡され、処理はステップ７０９に移る。ステップ７０９において、新たなアフィニティ・アドレスは、サーバ・アプリケーション・プログラムのその時点のインスタンス２０４に割り当てられ、次いでインスタンス２０４は、アフィニティ・アドレス上でクライアント・アプリケーション・プログラム３０２からの再接続要求をリスンし、要求を受信すると処理はステップ７１０に移り、ステップ７１０では接続が確立され、クライアントとサーバ・アプリケーション・プログラム３０２、２０４との間の処理が再開される。クライアントとサーバ・アプリケーション・プログラム３０２、２０４との間の処理が終了したときに、処理は、ステップ７１１に移り、サーバ・アプリケーション・プログラム２０４のこのインスタンスについて終わる。ステップ７０４において、受信した要求が、クライアントとサーバ・アプリケーション・プログラム３０２、２０４との間の処理を終了させる要求である場合には、処理は、ステップ７１１に移り、上記のように終わる。ステップ７０５において、受信したアフィニティ・アドレス関連要求が、その時点のアフィニティ・アドレスを解放する要求である場合には、処理はステップ７１２に移り、適切な要求がＡＡプロバイダ・プラグイン２１３に送信され、次いで処理はステップ７１１に移り、上記のように終わる。
【００３０】
ここで、図８のフローチャートを参照して、ＡＡプロバイダ・プラグイン２１３がＩＰスタック管理プログラム２０２と共に行う処理を更に詳細に説明する。ステップ８０１において、ＩＰスタック管理プログラム２０２の処理の初期化に応答して、ＡＡプロバイダ・プラグイン２１３の処理が開始され、処理はステップ８０２に移る。ステップ８０２において、その時点における全ての使用済みＩＰｖ６アドレスのリストがＤＮＳ１０５から収集され、処理はステップ８０３に移る。ステップ８０３において、未使用ＩＰｖ６アドレスのリストが、その時点における使用済みＩＰｖ６アドレスのリストから推定され、処理はステップ８０４に移る。ステップ８０４において、未使用ＩＰｖ６アドレスのリストは、可能なアフィニティ・アドレスのセット２１４として保存され、処理はステップ８０５に移る。ステップ８０５において、処理は、サーバ・アプリケーション・プログラムのインスタンス２０４からのアフィニティ・アドレス要求を待ち、受信すると、処理はステップ８０６に移る。ステップ８０６において、要求が新たなアフィニティ・アドレスを提供するものである場合には、処理はステップ８０７に移る。ステップ８０７において、アドレスが、アフィニティ・アドレスのセット２１４から選択されて使用中であるとして登録され、処理はステップ８０８に移る。ステップ８０８において、ＤＮＳ１０５は、アフィニティ・アドレスが使用中であることを通知され、処理はステップ８０９に移る。ステップ８０９において、選択されたアフィニティ・アドレスは、サーバ・アプリケーション・プログラムの要求しているインスタンス２０４に戻され、処理はステップ８０５に移り、更なるアフィニティ・アドレス関連要求の受信を待つ。ステップ８０６において、要求が使用中のアフィニティ・アドレスの解放のためのものである場合には、処理はステップ８１０に移る。ステップ８１０において、ＤＮＳ１０５は状況に応じて更新され、処理はステップ８１１に移る。ステップ８１１において、解放されたアフィニティ・アドレスは、アフィニティ・アドレスのセット２１４において利用可能であるとして登録され、処理はステップ８０５に戻り、上記のように続く。
【００３１】
当業者であれば分かるように、本発明の実施形態はＩＰｖ６に関して説明されたが、他の実施形態は、固有のネットワーク・アドレスをアプリケーション・プログラムの所与のインスタンスに動的に割り当てるための適切な機構を備える他のプロトコルを用いることができる。更に、本発明の実施形態はＴＣＰに関して説明されたが、幾つかの実施形態においては、ＴＣＰの代わりに、又は、ＴＣＰと組み合わせて、他のネットワーク転送プロトコル、例えばユーザ・データグラム・プロトコル（ＵＤＴ）のような適切なプロトコルを用いることができる。
【００３２】
上記の実施形態においては、要求しているクライアント・アプリケーション・プログラムに接続するためのサーバ・アプリケーション・プログラムのインスタンスの選択は、無作為に行われる。当業者であれば分かるように、例えば、サーバ負荷分散又はフェイルオーバ機構のような他の基準が、サーバ・アプリケーション・プログラムの所与のインスタンスの選択に少なくとも部分的に寄与することができる。
【００３３】
上記の実施形態においては、クライアント・アプリケーション・プログラム及びサーバ・アプリケーション・プログラム並びにＩＰスタック管理プログラムに、それぞれのプログラム・ファンクション拡張機能又はプラグインを用いて、機能が追加される。当業者であれば分かるように、上述のプラグインのいずれかによって提供される機能は、例えば、元のクライアント・アプリケーション・プログラム若しくはサーバ・アプリケーション・プログラム又はＩＰスタック管理プログラムのコードに追加する又はそれらを改変することといった他の適切ないずれかの手段によって、代わりに提供することができる。本明細書に記載のサーバ及びプロバイダ・プラグインの機能は、例えば適切なアフィニティ・アドレス・サーバ及びプロバイダ・ルーチンの追加によって、それぞれのシステム内の他の適切なプログラムにより提供されるか、又は、こうしたプログラムに組み込むことができる。
【００３４】
上記の実施形態においては、ＤＮＳは、使用済みＩＰアドレスのリストを提供し、そのリストから、ＡＡプロバイダ・プラグインが、利用可能なアフィニティ・アドレス（ＡＡ）のセットを得て、それを管理する。他の実施形態においては、ＡＡのプールの管理は、ＤＮＳだけで行うことができる。別の実施形態においては、ＡＡのプールの管理は、ＤＮＳとＡＡプロバイダ・プラグインとが共同で行うことができる。
【００３５】
好ましい実施形態においては、ａ：ｂ：ｃ：ｄ部分が固定されたａ：ｂ：ｃ：ｄ：ｅ：ｆ：ｇ：ｈの形を持つＩＰｖ６アドレスを考えると、非固定部分の要素は、アドレスがアフィニティ・アドレスであることを示すために確保される。この実施形態においては、ＤＮＳは、アフィニティ・アドレスの選択又は管理に関与する必要がない。
【００３６】
当業者であれば、本発明の一部又は全部を具体化する装置は、本発明の実施形態の一部又は全部を提供するように構成されたソフトウェアを有する汎用デバイスであってもよいことが分かるであろう。デバイスは、単一のデバイス又はデバイスのグループとすることができ、ソフトウェアは、単一のプログラム又はプログラムのセットとすることができる。更に、本発明を実装するのに用いられるソフトウェアのいずれか又は全ては、ソフトウェアを１つ又は複数のデバイスにロードすることができるように、いずれかの適切な転送手段又はストレージ手段を介して通信することができる。
【００３７】
本発明はその実施形態の説明によって例示され、実施形態はかなり詳細に説明されたが、特許請求の範囲をこうした詳細に限定すること又はいずれかの方法で制限することを意図するものではない。当業者にとってはさらなる利点及び改変が明らかであろう。従って、広範な態様における本発明は、装置及び方法を表す特定に細部、並びに、示され記載された例に限定されるものではない。
【００３８】
疑義を避けるために、用語「含む」は、本明細書及び特許請求の範囲を通して用いられるときには「のみを含む」意味として解釈されるべきではない。
【図１】
2011526710.tif 000003
【図２】
2011526710.tif 000004
【図３】
2011526710.tif 000005
【図４】
2011526710.tif 000006
【図５】
2011526710.tif 000007
【図６】
2011526710.tif 000008
【図７】
2011526710.tif 000009
【図８】
2011526710.tif 000010
【手続補正書】
【提出日】平成23年1月26日(2011.1.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
インターネット・プロトコル（ＩＰ）ネットワーク上でクライアント・アプリケーション・プログラムとサーバ・アプリケーション・プログラム・インスタンスとのアクセスを提供するための方法であって、
ａ）第１のＩＰアドレスのための共通ポートを介してサーバ・アプリケーション・プログラムの複数のインスタンスのためのＩＰネットワーク・アスセスを提供するステップと、
ｂ）クライアント・アプリケーション・プログラムからの第１の要求に応答して、前記第１のＩＰアドレスを介して、前記クライアント・アプリケーション・プログラムと前記複数のサーバ・アプリケーション・プログラム・インスタンスのうちの選択されたサーバ・アプリケーション・プログラム・インスタンスとの接続を可能にするステップと、
ｃ）前記クライアント・アプリケーション・プログラムとの通信のために、前記選択されたサーバ・アプリケーション・プログラム・インスタンス専用の第２のＩＰアドレスを、前記選択されたサーバ・アプリケーション・プログラム・インスタンスに割り当てるステップと、
ｄ）前記第２のＩＰアドレスを介して、前記選択されたサーバ・アプリケーション・プログラム・インスタンスへのＩＰネットワーク・アクセスを提供するステップと、
ｅ）前記第２のＩＰアドレスを介して、前記クライアント・アプリケーション・プログラムと前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスとの再接続を可能にするステップと、
を含む方法。
【請求項２】
前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスからの要求に応答して、前記第２のＩＰアドレスが提供される、請求項１に記載の方法。
【請求項３】
前記クライアント・アプリケーション・プログラムからの対応する要求に応答して、前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスからの前記要求が行われる、請求項２に記載の方法。
【請求項４】
前記第２のＩＰアドレスは、所定の未使用ＩＰアドレスのセットから選択される、前記請求項のいずれか一つの請求項に記載の方法。
【請求項５】
前記所定の未使用ＩＰアドレスのセットは、１つ又は複数の関連ドメイン・ネーム・サーバ（ＤＮＳ）から得られる使用済みＩＰアドレスのセットから決定される、請求項４に記載の方法。
【請求項６】
前記クライアント・アプリケーション・プログラムと前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスとの間の処理が完了したときには、その後の使用に対して前記第２のＩＰアドレスが解放される、請求項４又は請求項５のいずれかに記載の方法。
【請求項７】
クライアント・アプリケーション・プログラムがインターネット・プロトコル（ＩＰ）ネットワーク上でサーバ・アプリケーション・プログラム・インスタンスにアクセスするための方法であって、
ａ）第１のＩＰアドレスのための共通ポートを介してサーバ・アプリケーション・プログラムの複数のインスタンスのうちの選択されたサーバ・アプリケーション・プログラム・インスタンスに接続するステップと、
ｂ）前記選択されたサーバ・アプリケーション・プログラム・インスタンスから、前記選択されたサーバ・アプリケーション・プログラム・インスタンス専用の第２のＩＰアドレスを要求するステップと、
ｃ）前記第２のＩＰアドレスの受信に応答して、前記選択されたサーバ・アプリケーション・プログラム・インスタンスとの接続を閉じるステップと、
ｄ）前記第２のＩＰアドレスを介して前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスに再接続するステップと、
を含む方法。
【請求項８】
サーバ・アプリケーション・プログラム・インスタンスがインターネット・プロトコル（ＩＰ）ネットワーク上でクライアント・アプリケーション・プログラムのための接続を提供する方法であって、
ａ）サーバ・アプリケーション・プログラムの複数の他のインスタンスと共通の第１のＩＰアドレスのためのポートを監視するステップと、
ｂ）クライアント・アプリケーション・プログラムからの第１の要求に応答して、第１の接続を提供する前記第１のＩＰアドレスを介して前記クライアント・アプリケーション・プログラムに接続するステップと、
ｃ）前記クライアント・アプリケーション・プログラムからの第２の要求に応答して、前記サーバ・アプリケーション・プログラム・インスタンス専用の第２のＩＰアドレスを取得し、前記第２のＩＰアドレスを前記クライアント・アプリケーション・プログラムに通信するステップと、
ｄ）前記クライアント・アプリケーション・プログラムからの第３の要求に応答して、前記第１の接続を閉じるステップと、
ｅ）前記第２のＩＰアドレスのためのポートを監視するステップと、
ｆ）前記クライアント・アプリケーション・プログラムからの第４の要求に応答して、前記第２のＩＰアドレスを介して前記クライアント・アプリケーション・プログラムに再接続するステップと、
を含む方法。
【請求項９】
インターネット・プロトコル（ＩＰ）ネットワーク上でクライアント・アプリケーション・プログラムとサーバ・アプリケーション・プログラム・インスタンスとのアクセスを提供するための方法であって、
第１のＩＰアドレスのための共通ポートを介してサーバ・アプリケーション・プログラムの複数のインスタンスのためのＩＰネットワーク・アクセスを提供し、
クライアント・アプリケーション・プログラムからの第１の要求に応答して、前記第１のＩＰアドレスを介して、前記クライアント・アプリケーション・プログラムと前記複数のサーバ・アプリケーション・プログラム・インスタンスのうちの選択されたサーバ・アプリケーション・プログラム・インスタンスとの接続を可能にし、
前記クライアント・アプリケーション・プログラムとの通信のために、前記選択されたサーバ・アプリケーション・プログラム・インスタンス専用の第２のＩＰアドレスを前記選択されたサーバ・アプリケーション・プログラム・インスタンスに割り当て、
前記第２のＩＰアドレスを介して、前記選択されたサーバ・アプリケーション・プログラム・インスタンスへのＩＰネットワーク・アクセスを提供し、
前記第２のＩＰアドレスを介して、前記クライアント・アプリケーション・プログラムと前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスとの再接続を可能にする、
ように作動可能な装置。
【請求項１０】
前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスからの要求に応答して、前記第２のＩＰアドレスが提供される、請求項９に記載の装置。
【請求項１１】
前記クライアント・アプリケーション・プログラムからの対応する要求に応答して、前記サーバ・アプリケーション・プログラムの前記選択されたインスタンスからの前記要求が行われる、請求項１０に記載の装置。
【請求項１２】
前記第２のＩＰアドレスは、所定の未使用ＩＰアドレスのセットから選択される、請求項９から請求項１１のいずれか一つの請求項に記載の装置。
【請求項１３】
前記所定の未使用ＩＰアドレスのセットは、１つ又は複数の関連ドメイン・ネーム・サーバ（ＤＮＳ）から得られる使用済みＩＰアドレスのセットから決定される、請求項１２に記載の装置。
【請求項１４】
コンピュータ上で稼働したときに、請求項１から請求項６のいずれか一つの請求項に記載の方法の各ステップを、コンピュータに実行させる、コンピュータ・プログラムを記録した、コンピュータ可読媒体。
【請求項１５】
コンピュータ上で稼働したときに、請求項１から請求項６のいずれか一つの請求項に記載の方法の各ステップを、コンピュータに実行させる、コンピュータ・プログラム。
【国際調査報告】
2011526710.tif 000011
2011526710.tif 000012
2011526710.tif 000013