(57)【要約】【課題】サービスモジュールインスタンスが、一般的な入力バッファからのメッセージを受信する分散コンピューティング環境におけるセッション状態相関関係を保持することを提供すること。【解決手段】サービスモジュールインスタンス（ＳＭ）が、リサイクルすべきと決定された後に、一般入力バッファは、ＳＭによりアクセスされない。ＳＭが、一般入力バッファを介してセッション開始メッセージ受信した後に、セッション指向入力バッファは、ＳＭに関連づけられる。次いで、後続の任意のセッションメッセージが、セッション指向入力バッファを介してサービスモジュールにより受信される。たとえＳＭが、セッション途中にリサイクルすべきと決定されても、ＳＭは、依然としてセッション入力バッファからの残りのセッションメッセージのすべてを処理するように動作してセッション連続性を保持する。【選択図】図２
2006216023.tif 000002
【特許請求の範囲】
【請求項１】
第１の入力バッファを使用して、サービスモジュールを対象とするメッセージにアクセスするように構成されたコンピューティングシステムを含み、サービスモジュールインスタンスが、リサイクルすべきであると決定される場合には、前記第１の入力バッファが、前記サービスモジュールインスタンスによってアクセスされない分散コンピューティング環境において、前記サービスモジュールインスタンスによって処理される同じセッションのメッセージ間の相関関係を保持するための方法であって、
前記サービスモジュールインスタンスが、前記第１の入力バッファからのセッション開始メッセージにアクセスする行為と、
前記サービスモジュールインスタンスが、前記セッション開始メッセージにアクセスする前記行為の後に、セッションを開始すべきであることを決定する行為と、
前記セッションを開始すべきであることを決定する前記行為に応答して、第２の入力バッファを前記サービスモジュールインスタンスに関連づける行為と、
前記第２の入力バッファ中に前記セッションの１つまたは複数の後続のメッセージを受信する行為と、
前記サービスモジュールインスタンスが、前記第２の入力バッファからの前記セッションの前記１つまたは複数の後続のメッセージを処理する行為と
を含むことを特徴とする方法。
【請求項２】
前記サービスモジュールは、プロセスであることを特徴とする請求項１に記載の方法。
【請求項３】
前記サービスモジュールは、アプリケーションドメインであることを特徴とする請求項１に記載の方法。
【請求項４】
前記第１および第２の入力バッファは、それぞれキューであることを特徴とする請求項１に記載の方法。
【請求項５】
前記キューは、ＨＴＴＰ．ｓｙｓキューであることを特徴とする請求項４に記載の方法。
【請求項６】
前記セッションを開始すべきであることを決定する前記行為に応答して、
前記第２の入力バッファのアドレスについて、前記セッション開始メッセージの送信側に通知する行為をさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記第１の入力バッファは、セッション開始メッセージでない非セッションメッセージも含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記非セッションメッセージは、前記第１の入力キューから前記サービスモジュールの複数のインスタンスのうちの任意の１つに供給することができることを特徴とする請求項７に記載の方法。
【請求項９】
第１の入力バッファを使用して、サービスモジュールを対象とするメッセージにアクセスするように構成されたコンピューティングシステムを含む分散コンピューティング環境において使用するためのコンピュータプログラム製品であって、サービスモジュールインスタンスが、リサイクルすべきであると決定される場合に、前記第１の入力バッファは、前記サービスモジュールインスタンスによってアクセスされず、前記コンピュータプログラム製品は、前記コンピューティングシステムの１つまたは複数のプロセッサによって実行されるときに、前記コンピューティングシステムに前記サービスモジュールインスタンスによって処理される同じセッションのメッセージ間の相関関係を保持するための方法を実施させるコンピュータ実行可能命令をその上に有する１つまたは複数のコンピュータ読取り可能媒体を含み、前記方法は、
前記サービスモジュールインスタンスが、前記第１の入力バッファからのセッション開始メッセージにアクセスする行為と、
前記サービスモジュールインスタンスが、前記セッション開始メッセージにアクセスする前記行為の後に、セッションを開始すべきであることを決定する行為と、
前記セッションを開始すべきであることを決定する前記行為に応答して、第２の入力バッファを前記サービスモジュールインスタンスに関連づける行為と、
前記第２の入力バッファ中に前記セッションの１つまたは複数の後続のメッセージを受信する行為と、
前記サービスモジュールインスタンスが、前記第２の入力バッファからの前記セッションの前記１つまたは複数の後続のメッセージを処理する行為と
を含むことを特徴とするコンピュータプログラム製品。
【請求項１０】
前記サービスモジュールは、プロセスであることを特徴とする請求項９に記載のコンピュータプログラム製品。
【請求項１１】
前記サービスモジュールは、アプリケーションドメインであることを特徴とする請求項９に記載のコンピュータプログラム製品。
【請求項１２】
前記第１および第２の入力バッファは、それぞれキューであることを特徴とする請求項９に記載のコンピュータプログラム製品。
【請求項１３】
前記キューは、ＨＴＴＰ．ｓｙｓキューであることを特徴とする請求項１２に記載のコンピュータプログラム製品。
【請求項１４】
前記セッションを開始すべきであることを決定する前記行為に応答して、
前記第２の入力バッファのアドレスについて、前記セッション開始メッセージの送信側に通知する行為をさらに含むことを特徴とする請求項９に記載のコンピュータプログラム製品。
【請求項１５】
前記第１の入力バッファは、セッション開始メッセージでない非セッションメッセージも含むことを特徴とする請求項９に記載のコンピュータプログラム製品。
【請求項１６】
前記非セッションメッセージは、前記第１の入力キューから前記サービスモジュールの複数のインスタンスのうちの任意の１つに供給することができることを特徴とする請求項１５に記載のコンピュータプログラム製品。
【請求項１７】
１つまたは複数のプロセッサによって実行されるときに、
セッションに関連する複数のメッセージを処理するように構成されたサービスモジュールと、
セッションの開始に先立ってセッション開始メッセージを受信するように構成された第１の入力バッファと、
前記セッションが開始された後に前記セッションに関連する１つまたは複数の後続のメッセージを受信するように構成された第２の入力バッファと
をインスタンス化されるようにするコンピュータ実行可能命令をその上に記憶しており、
前記サービスモジュールは、さらに前記第１の入力バッファからの前記セッション開始メッセージと、前記第２の入力バッファからの前記１つまたは複数の後続のセッションメッセージとを受信するように構成されることを特徴とする１つまたは複数のコンピュータ読取り可能媒体。
【請求項１８】
前記サービスモジュールは、プロセスまたはアプリケーションドメインの一方であることを特徴とする請求項１７に記載の１つまたは複数のコンピュータ読取り可能媒体。
【請求項１９】
前記第１および第２の入力バッファは、それぞれキューであることを特徴とする請求項１７に記載の１つまたは複数のコンピュータ読取り可能媒体。
【請求項２０】
前記１つまたは複数のコンピュータ読取り可能媒体は、物理メモリ媒体であることを特徴とする請求項１７に記載の１つまたは複数のコンピュータ読取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散サービス起動技術に関し、より詳細には、サービスモジュールリサイクリング（ｓｅｒｖｉｃｅ  ｍｏｄｕｌｅ  ｒｅｃｙｃｌｉｎｇ）がセッション中に要求されるときに、セッション状態における連続性を実現するためのメカニズムに関する。
【背景技術】
【０００２】
コンピューティング技術は、我々が働き、遊ぶ方法を変化させてきている。今や、コンピューティングシステムは、デスクトップコンピュータ、ラップトップコンピュータ、タブレットＰＣ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ携帯型個人情報端末）、家庭用デバイスなどを含めて、多種多様な形態を取っている。その最も基本的な形態において、コンピューティングシステムは、システムメモリおよび１つまたは複数のプロセッサを含んでいる。このシステムメモリ中のソフトウェアは、このプロセッサによって実行されて、このコンピューティングシステムの他のハードウェアに所望のファンクションを実施するように指示することができる。
【０００３】
分散コンピューティング技術により、複数のアプリケーションまたはプロセスは、通信を行って特定のタスクを完遂することができるようになる。かかる分散コンピューティングは、物理的に分散されている必要はない。例えば、この同じプロセス内の諸オブジェクトは、通信を行うことができ、異なるプロセス中の諸オブジェクトは、この同じローカルコンピューティングシステム上で通信を行うことができる。他方、分散コンピューティング技術は、リモートコンピューティングシステム上で実行されるプロセス間の通信を可能にすることもできる。分散コンピューティング技術により、コンピューティングシステムは、ローカルであれ、または非常に長い距離にわたってさえ通信を行うことが可能になり、それによってコンピュータ機能が拡張される。
【０００４】
分散コンピューティング環境においては、要求モジュールおよびサービスモジュールが、同じ物理マシン上に配置されていてもいなくても、それともリモートに配置されていようとも、サービスモジュールは、しばしば１つまたは複数の他の要求モジュールを起源とするメッセージに対して応答する。このサービスを提供するために、このサービスモジュールは、時に他のコンピューティングシステムとの全体のセッションに従事する。セッションは、いくつかのメッセージ交換によって特徴づけられ、これらのメッセージ交換においては、このセッションが正常に完了されるようにするためにセッション間で保持すべき、セッションに関する状態が存在している。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
かかるセッション指向メッセージ交換に伴う従来の１つの問題は、このサービスモジュールがリサイクルされるときに発生する。リサイクリングとは、このサービスモジュールの１つのインスタンスの非活動化（ｄｅ−ａｃｔｉｖａｔｉｏｎ）のことを意味する。このサービスモジュールに対する将来の要求については、このサービスモジュールの別のインスタンスによって処理される。かかるリサイクリングは、理想的にはこの１つ（または複数）の要求モジュールの観点からトランスペアレントであるべきである。セッション指向メッセージ交換中に、サービスモジュールは、一般的に入力バッファを介して着信メッセージにアクセスすることになる。一部の入力バッファは、このサービスモジュールの１つのインスタンスがリサイクルすべきであると決定されるときに、このサービスモジュールインスタンスは、もはやこの入力バッファにアクセスすることができないように、構成される。
【０００６】
これらのセッションメッセージの必ずしもすべてが、まだこの入力バッファに供給されているとは限らない場合には、すべての将来のセッションメッセージは、このサービスモジュールの別のインスタンスによって受信されるはずである。セッション状態は、しばしば揮発性メモリに保持されることがある。したがって、このサービスモジュールの第２のインスタンスは、このサービスモジュールの第１のインスタンスが行った同じセッション状態にアクセスすることができないこともある。したがって、このセッションは、このサービスモジュールの第２のインスタンスが正常に競合する可能性があまり高くない。セッション状態は、リサイクリング中に不揮発性メモリに保持することもできる。しかし、不揮発性メモリへのアクセスは、最も一般的には何桁も揮発性メモリへのアクセスに比べて遅くなる。
【０００７】
したがって、たとえこのセッションを処理するサービスモジュールインスタンスについてのリサイクルの決定がセッション途中に行われるとしても、サービスモジュールについてのセッション状態を保持するためのメカニズムがあれば有利なはずである。
【課題を解決するための手段】
【０００８】
以前の最新技術に伴う前述の問題は、本発明の原理によって克服され、この本発明の原理は、一般的な入力バッファを使用して、サービスモジュールを対象とするメッセージにアクセスするように構成されたコンピューティングシステムを含んでいる分散コンピューティング環境中において実装される。サービスモジュールインスタンスがリサイクルすべきであると決定された後には、この入力バッファは、このサービスモジュールインスタンスによってアクセスされることはない。本発明の原理は、たとえこのサービスモジュールインスタンスが、セッション途中にリサイクルすべきであると決定されるとしても、このサービスモジュールインスタンスによって処理される同じセッションのメッセージ間の相関関係を保持するためのメカニズムに関する。
【０００９】
特に、このサービスモジュールインスタンスが、第１の入力バッファを介してセッション開始メッセージを受信した後に、次いで異なるセッション指向入力バッファが、このサービスモジュールインスタンスに関連づけられる。次いで、後続の任意のセッションメッセージが、このセッション指向入力バッファを介してこのサービスモジュールインスタンスによって受信される。このセッション指向入力バッファは、このサービスモジュールインスタンスによってアクセスできるので、たとえこのサービスモジュールインスタンスがリサイクルすべきであると決定されるとしても、このサービスモジュールの同じインスタンスが、すべてのセッションメッセージを処理する。このセッションが完了しした後に、このインスタンスは、動作を停止させることができ、それによってセッションの連続性が保持される。
【００１０】
本発明の追加の特徴および利点については、以下に続く説明中に述べることにし、部分的には、この説明から明らかになり、または本発明の実行により学習することができる。本発明の特徴および利点については、添付の特許請求の範囲において特に指摘される手段および組合せを用いて実現し取得することができる。本発明のこれらの特徴および他の特徴については、この以下の説明、および添付の特許請求の範囲からさらに十分に明らかになり、あるいは以下に述べる本発明の実行により学習することができる。
【００１１】
本発明の以上に列挙した利点および特徴、および他の利点および特徴を得ることができる方法について説明するために、以上で簡潔に説明した本発明のより詳細な説明について、添付図面に示されるその特定の実施形態に関して表現することにする。これらの図面は、本発明の典型的な実施形態を示すにすぎず、したがって本発明の範囲を限定するものと考えるべきではないことを理解して、これら添付の図面を使用して、本発明について、さらに具体的また詳細に記述し説明することにする。
【発明を実施するための最良の形態】
【００１２】
本発明の原理は、入力バッファを使用して、サービスモジュールを対象とするメッセージにアクセスするように構成されたコンピューティングシステムを含む分散コンピューティング環境中で実装することができる。サービスモジュールインスタンスがリサイクルすべきであると決定された後に、この入力バッファは、このサービスモジュールインスタンスによってアクセスされることはない。この入力バッファは、このセッションを処理しているサービスモジュールインスタンスによってアクセスすることができないにもかかわらず、本発明の原理は、リサイクリングイベントの場合にセッション連続性を促進する。
【００１３】
図面を参照すると、本発明の原理が適切なコンピューティング環境中で実装されるものとして示されている。これらの図面においては、同様な参照番号は、同様なエレメントを意味している。以下の説明は、本発明の例示の実施形態に基づいており、本明細書中で明示的に説明していない代替実施形態に関して本発明を限定するものと解釈すべきではない。
【００１４】
以下の説明においては、他に示していない限り、本発明の実施形態は、１台または複数台のコンピュータによって実施される動作およびオペレーションの記号表現に関して説明される。したがって、時にはコンピュータ実行されるものと呼ばれる、かかる動作およびオペレーションは、構造形式でデータを表現する電気信号の、コンピュータの処理装置による操作を含むことが理解されよう。この操作は、このデータを変換し、またはこれらのデータをこのコンピュータのメモリシステム中のロケーションに保持し、このコンピュータは、当業者によってよく理解されるような方法で、このコンピュータのオペレーションを再構成し、あるいは別の方法で変更する。データが保持されるデータ構造は、特定のプロパティをこのデータのフォーマットによって定義するメモリの物理ロケーションである。しかし、本発明の原理は、前述のコンテキストにおいて説明されているが、以下に説明する、いくつかのこれらの動作およびオペレーションが、ハードウェアでも実装できることは、当業者には理解されるように限定することを意味してはいない。
【００１５】
図１は、これらのサービスが使用可能な一実施例のコンピュータアーキテクチャの概略図を示している。説明の目的のために、示されるアーキテクチャは、適切な環境の一実施例にすぎず、本発明の用途または機能の範囲についてのどのような限定を示唆することも意図してはいない。また、これらのコンピューティングシステムは、図１に示すコンポーネントのうちのどの１つまたは組合せに関連した、どのような依存性または要件を有するものとも解釈すべきではない。
【００１６】
本発明の原理は、非常に多数の他の汎用または専用のコンピューティング環境またはコンピューティングコンフィギュレーション、あるいは通信環境または通信コンフィギュレーションを用いて動作可能である。本発明で使用するのに適切な、よく知られているコンピューティングシステム、コンピューティング環境、およびコンピューティングコンフィギュレーションには、それだけには限定されないが、モバイル電話、ポケットコンピュータ、パーソナルコンピュータ、サーバ、マルチプロセッサシステム、マイクロプロセッサベースのシステム、ミニコンピュータ、メインフレームコンピュータ、および上記システムまたはデバイスのうちのどれかを含む分散コンピューティング環境が含まれる。
【００１７】
その最も基本的なコンフィギュレーションにおいて、コンピューティングシステム１００は、一般的に少なくとも１つの処理装置１０２およびメモリ１０４を含んでいる。メモリ１０４は、（ＲＡＭなどの）揮発性、（ＲＯＭ、フラッシュメモリなどの）不揮発性、またはこれら２つの何らかの組合せでもよい。この最も基本的なコンフィギュレーションについては、図１に破線１０６によって示されている。
【００１８】
これらのストレージ媒体デバイスは、追加の特徴または機能を有することができる。例えば、これらのストレージ媒体デバイスは、それだけには限定されないが、ＰＣＭＣＩＡカード、磁気ディスクおよび光ディスク、ならびに磁気テープを含めて、（着脱可能および着脱不能な）追加のストレージを含むことができる。かかる追加ストレージは、図１において着脱可能ストレージ１０８および着脱不能ストレージ１１０によって示されている。コンピュータストレージ媒体は、コンピュータ読取り可能命令、データ構造、プログラムモジュール、他のデータなどの情報のストレージについての任意の方法または技術で実装される揮発性および不揮発性の着脱可能および着脱不能な媒体を含んでいる。メモリ１０４、着脱可能ストレージ１０８、および着脱不能ストレージ１１０は、すべてコンピュータストレージ媒体の実施例である。コンピュータストレージ媒体には、それだけには限定されないが、この所望の情報を記憶するために使用することができ、このコンピューティングシステムによってアクセスすることができる、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク、他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、他の磁気ストレージデバイス、および他の任意の媒体が含まれる。
【００１９】
本明細書中で使用しているように、用語「モジュール」または「コンポーネント」は、このコンピューティングシステム上で実行されるソフトウェアオブジェクトまたはルーチンを意味することができる。本明細書中で説明しているこれらの異なるコンポーネント、モジュール、エンジン、およびサービスは、（例えば、別々のスレッドのような）このコンピューティングシステム上で実行されるオブジェクトまたはプロセスとして実装することができる。本明細書中で説明しているシステムおよび方法は、ソフトウェアで実装することが好ましいが、ソフトウェアおよびハードウェア、またはハードウェアにおける実装形態も可能であり、企図している。
【００２０】
コンピューティングシステム１００はまた、このホストが、例えばネットワーク１２０上で他のシステムおよびデバイスと通信を行うことができるようにする通信チャネル１１２を含むこともできる。通信チャネル１１２は、通信媒体の実施例である。通信媒体は一般的に、搬送波や他の搬送メカニズムなどの被変調データ信号の形で、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータを実施し、任意の情報配信媒体を含んでいる。実施例として、限定するものではないが、通信媒体は、有線ネットワークや直接配線接続などの有線媒体、および音響、無線、赤外線、他の無線媒体などの無線媒体を含んでいる。本明細書中で使用される用語、コンピュータ読取り可能媒体は、ストレージ媒体も通信媒体も共に含んでいる。
【００２１】
コンピューティングシステム１００は、キーボード、マウス、ペン、音声入力コンポーネント、タッチ入力デバイスなどの入力コンポーネント１１４も有することができる。出力コンポーネント１１６は、スクリーンディスプレイ、スピーカ、プリンタなど、ならびにこれらを駆動するための（しばしば「アダプタ」と呼ばれることもある）レンダリングモジュールを含んでいる。コンピューティングシステム１００は、電源１１８を有する。これらのすべてのコンポーネントは、当技術分野においてよく知られており、ここで長々と説明する必要はない。
【００２２】
図２は、本発明の原理を使用することができる分散コンピューティング環境２００を示している。分散コンピューティング環境２００は、１つのプロセス中で実行されるいくつかのオブジェクトにまたがって分散することもでき、同じコンピューティングシステム上で実行される複数のプロセスにまたがって分散することもでき、また複数のコンピューティングシステムにまたがって分散することもできる。かかるコンピューティングシステムは、図１のコンピューティングシステム１００について説明した形態を取ることもできるが、これらのコンピューティングシステムは、任意の形態を取ることもできる。
【００２３】
分散コンピューティング環境２００は、この水平方向の省略記号２２２によって示される、可能性のある任意の要求モジュール中の要求モジュール２２１を含めて、１つまたは複数の要求モジュール２２０が生成するメッセージにアクセスするように構成されたサービスモジュールを含んでいる。メッセージ交換の特定のセッション中に、このサービスモジュールは、いくつかの着信メッセージを受信することができる。図２には、第１のサービスモジュールインスタンス２１１Ａおよび第２のサービスモジュールインスタンス２１１Ｂの形態の、同じサービスモジュール２１１の２つのインスタンスが示されている。このサービスモジュールは、プロセス、アプリケーション、またはこのプロセスまたはアプリケーション内のオブジェクトとすることができる。
【００２４】
最初に、このサービスモジュール２１１に向けられ、確立済みのセッションに関連しないすべての着信メッセージが、入力バッファ２１２Ａによって受信される。例えば、サービスモジュール２１１に向けられた着信メッセージ２３１は、入力バッファ２１２Ａが受信することができ、その後すぐにこの着信メッセージは、矢印２３２で示されるように第１のサービスモジュールインスタンス２１１Ａに供給される。
【００２５】
図３は、この入力バッファが入力制限される、かかるコンテキストにおける同じセッションのメッセージ間の相関関係を保持するための方法３００のフローチャートを示している。図３の方法３００は、図２の分散コンピューティング環境２００において実施することができるので、図２および３の説明は、非常に錯綜したものになる。
【００２６】
方法３００において最初に、この第１のサービスモジュールインスタンスは、この第１の入力バッファからのセッション開始メッセージ（すなわち、確立すべきセッションを求める要求）にアクセスする。詳細には、図２を参照すると、第１の入力バッファ２１２Ａが、セッション開始メッセージ２３１を受信した後に、このセッション開始メッセージは、矢印２３２が示すように第１のサービスモジュールインスタンス２１１Ａに供給される。次いで、この着信セッション開始メッセージ２３１は、第１のサービスモジュールインスタンス２１１Ａによって処理される。かかるセッション開始メッセージに加えて、セッション指向でない他のメッセージもまた、第１の入力バッファ２１２Ａによってこのサービスモジュールに供給することができる。これらの非セッションメッセージは、セッションの一部分としての他のどのメッセージとも相関していないので、この非セッションメッセージは、このサービスモジュールのインスタンスのうちのどれによっても処理することができる。
【００２７】
この処理の結果として、セッションを開始すべきであることが決定され（動作３０２）、（本明細書中では、「セッション指向入力バッファ」または「セッション入力バッファ」とも呼ばれる）第２の入力バッファが、このサービスモジュールの第１のインスタンスに関連づけられる（動作３０３）。第２の入力バッファ２１２Ｂは、このセッションについての後続の任意のメッセージを受信するために使用されることになる。第１のサービスモジュールインスタンス２１１Ａは、例えば（矢印２３３が示すように）この第２の入力バッファ２１２Ｂのアドレスのセッション開始メッセージを提供したことを関連する要求モジュール２２０に通知することができ、その結果、この要求モジュールは、（矢印２３４および省略記号２３４Ａによって示される）後続のセッションメッセージを第２の入力バッファ２１２Ｂに送信することができるようになる。
【００２８】
サービスモジュールインスタンスが、リサイクルすべきであると決定された後に、第１の入力バッファ２１２Ａは、この所与のサービスモジュールインスタンスによってアクセスすることができない。一実施形態においては、入力バッファ２１２Ａは、ＩＩＳがオープンするＨＴＴＰ．ｓｙｓメッセージキューなどのキューであり、この場合には、サービスモジュールインスタンスが、リサイクルすべきであると決定された後に、それ以上のメッセージをこの所与のサービスモジュールインスタンスに供給することはできない。対照的に、リサイクリングの決定がサービスモジュールインスタンス２１１Ａについて行われるか否かに関係なく、第１のサービスモジュールインスタンス２１１Ａは、第２の入力バッファ２１２Ｂからのメッセージを受信し続けることができる。
【００２９】
次いで、このセッションについての１つまたは複数のメッセージは、第２の入力バッファ２１２Ｂによって受信される（動作３０４）（矢印２３４および省略記号２３４Ａ参照）。この動作３０４は、図３にリサイクリングの決定がこのセッション途中において行われているか否かに関係なく、この動作が実施される（すなわち、セッションメッセージがこの第２の入力バッファによって受信される）ことを強調するためにアステリスク（ａｓｔｅｒｉｓｋ）を含むものとして、示されている。かかる着信セッションメッセージは、第１のサービスモジュールインスタンス２１１Ａによってアクセスされ、処理されて（動作３０５）（矢印２３５および省略記号２３５Ａ参照）、セッション連続性を保持するために必要に応じてセッション状態２１４Ａを修正する。動作３０５もまた、セッション途中に行われるどのようなリサイクリングの決定にも関係なく、第１のサービスモジュールインスタンス２１１Ａが、セッション指向入力バッファ２１２Ｂからのセッションメッセージの処理を継続することを強調するためにアステリスクを用いて示される。
【００３０】
このセッション状態は、このセッションのライフサイクルを通して、このサービスモジュールの１つのインスタンスによって管理されるので、たとえこのセッションにサービスを行うサービスモジュールインスタンスのリサイクリングが、セッション途中に決定されるとしても、またたとえセッション状態が、揮発性メモリに保持されるとしても、本発明の原理は、セッションのシームレスな完了を促進する。
【００３１】
本発明は、本発明の趣旨または基本的な特徴を逸脱することなく他の特定の形態で実施することもできる。これらの説明している実施形態は、すべての点について、例示的であり、限定的ではないと考えるべきである。したがって、本発明の範囲は、前述の説明によってではなく、添付の特許請求の範囲によって示される。この特許請求の範囲の等価物の意味内および範囲内に含まれるすべての変更は、この特許請求の範囲の範囲内に包含すべきものとする。
【図面の簡単な説明】
【００３２】
【図１】本発明の特徴を実装することができる適切なコンピューティングシステムを示す図である。
【図２】本発明の原理が動作することができる分散コンピューティング環境を示す図である。
【図３】本発明の原理によるセッション指向入力バッファを使用して、セッション連続性を保持するための方法のフローチャートを示す図である。
【符号の説明】
【００３３】
１０２  処理装置
１０４  システムメモリ
１０８  着脱可能ストレージ
１１０  着脱不能ストレージ
１１２  通信チャネル
１１４  入力コンポーネント
１１６  出力コンポーネント
１１８  電源
１２０  ネットワーク
２００  分散コンピューティング環境
２１１Ａ  第１のサービスモジュールインスタンス
２１１Ｂ  第２のサービスモジュールインスタンス
２１２Ａ、２１２Ｂ  入力バッファ
２２０  １つ（または複数）の要求モジュール
２２１  要求モジュール
【図１】
2006216023.tif 000003
【図２】
2006216023.tif 000004
【図３】
2006216023.tif 000005