JP5005921B2 - アクセス制限されたバッファを用いる際のセッション状態を保持するためのメカニズム - Google Patents

アクセス制限されたバッファを用いる際のセッション状態を保持するためのメカニズム Download PDF

Info

Publication number
JP5005921B2
JP5005921B2 JP2006003957A JP2006003957A JP5005921B2 JP 5005921 B2 JP5005921 B2 JP 5005921B2 JP 2006003957 A JP2006003957 A JP 2006003957A JP 2006003957 A JP2006003957 A JP 2006003957A JP 5005921 B2 JP5005921 B2 JP 5005921B2
Authority
JP
Japan
Prior art keywords
session
service module
input buffer
module instance
messages
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006003957A
Other languages
English (en)
Other versions
JP2006216023A (ja
Inventor
カシオラス アナスタシオス
イー.オルソン ランス
オッタヴィアーニ マウロ
スティーブン ヴァーナル マイケル
ティー.ダイス マイケル
エム.リー アルフレッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006216023A publication Critical patent/JP2006216023A/ja
Application granted granted Critical
Publication of JP5005921B2 publication Critical patent/JP5005921B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Multi Processors (AREA)

Description

本発明は、分散サービス起動技術に関し、より詳細には、サービスモジュールリサイクリング(service module recycling)がセッション中に要求されるときに、セッション状態における連続性を実現するためのメカニズムに関する。
コンピューティング技術は、我々が働き、遊ぶ方法を変化させてきている。今や、コンピューティングシステムは、デスクトップコンピュータ、ラップトップコンピュータ、タブレットPC、PDA(Personal Digital Assistant携帯型個人情報端末)、家庭用デバイスなどを含めて、多種多様な形態を取っている。その最も基本的な形態において、コンピューティングシステムは、システムメモリおよび1つまたは複数のプロセッサを含んでいる。このシステムメモリ中のソフトウェアは、このプロセッサによって実行されて、このコンピューティングシステムの他のハードウェアに所望のファンクションを実施するように指示することができる。
分散コンピューティング技術により、複数のアプリケーションまたはプロセスは、通信を行って特定のタスクを完遂することができるようになる。かかる分散コンピューティングは、物理的に分散されている必要はない。例えば、この同じプロセス内の諸オブジェクトは、通信を行うことができ、異なるプロセス中の諸オブジェクトは、この同じローカルコンピューティングシステム上で通信を行うことができる。他方、分散コンピューティング技術は、リモートコンピューティングシステム上で実行されるプロセス間の通信を可能にすることもできる。分散コンピューティング技術により、コンピューティングシステムは、ローカルであれ、または非常に長い距離にわたってさえ通信を行うことが可能になり、それによってコンピュータ機能が拡張される。
分散コンピューティング環境においては、要求モジュールおよびサービスモジュールが、同じ物理マシン上に配置されていてもいなくても、それともリモートに配置されていようとも、サービスモジュールは、しばしば1つまたは複数の他の要求モジュールを起源とするメッセージに対して応答する。このサービスを提供するために、このサービスモジュールは、時に他のコンピューティングシステムとの全体のセッションに従事する。セッションは、いくつかのメッセージ交換によって特徴づけられ、これらのメッセージ交換においては、このセッションが正常に完了されるようにするためにセッション間で保持すべき、セッションに関する状態が存在している。
かかるセッション指向メッセージ交換に伴う従来の1つの問題は、このサービスモジュールがリサイクルされるときに発生する。リサイクリングとは、このサービスモジュールの1つのインスタンスの非活動化(de−activation)のことを意味する。このサービスモジュールに対する将来の要求については、このサービスモジュールの別のインスタンスによって処理される。かかるリサイクリングは、理想的にはこの1つ(または複数)の要求モジュールの観点からトランスペアレントであるべきである。セッション指向メッセージ交換中に、サービスモジュールは、一般的に入力バッファを介して着信メッセージにアクセスすることになる。一部の入力バッファは、このサービスモジュールの1つのインスタンスがリサイクルすべきであると決定されるときに、このサービスモジュールインスタンスは、もはやこの入力バッファにアクセスすることができないように、構成される。
これらのセッションメッセージの必ずしもすべてが、まだこの入力バッファに供給されているとは限らない場合には、すべての将来のセッションメッセージは、このサービスモジュールの別のインスタンスによって受信されるはずである。セッション状態は、しばしば揮発性メモリに保持されることがある。したがって、このサービスモジュールの第2のインスタンスは、このサービスモジュールの第1のインスタンスが行った同じセッション状態にアクセスすることができないこともある。したがって、このセッションは、このサービスモジュールの第2のインスタンスが正常に競合する可能性があまり高くない。セッション状態は、リサイクリング中に不揮発性メモリに保持することもできる。しかし、不揮発性メモリへのアクセスは、最も一般的には何桁も揮発性メモリへのアクセスに比べて遅くなる。
したがって、たとえこのセッションを処理するサービスモジュールインスタンスについてのリサイクルの決定がセッション途中に行われるとしても、サービスモジュールについてのセッション状態を保持するためのメカニズムがあれば有利なはずである。
以前の最新技術に伴う前述の問題は、本発明の原理によって克服され、この本発明の原理は、一般的な入力バッファを使用して、サービスモジュールを対象とするメッセージにアクセスするように構成されたコンピューティングシステムを含んでいる分散コンピューティング環境中において実装される。サービスモジュールインスタンスがリサイクルすべきであると決定された後には、この入力バッファは、このサービスモジュールインスタンスによってアクセスされることはない。本発明の原理は、たとえこのサービスモジュールインスタンスが、セッション途中にリサイクルすべきであると決定されるとしても、このサービスモジュールインスタンスによって処理される同じセッションのメッセージ間の相関関係を保持するためのメカニズムに関する。
特に、このサービスモジュールインスタンスが、第1の入力バッファを介してセッション開始メッセージを受信した後に、次いで異なるセッション指向入力バッファが、このサービスモジュールインスタンスに関連づけられる。次いで、後続の任意のセッションメッセージが、このセッション指向入力バッファを介してこのサービスモジュールインスタンスによって受信される。このセッション指向入力バッファは、このサービスモジュールインスタンスによってアクセスできるので、たとえこのサービスモジュールインスタンスがリサイクルすべきであると決定されるとしても、このサービスモジュールの同じインスタンスが、すべてのセッションメッセージを処理する。このセッションが完了しした後に、このインスタンスは、動作を停止させることができ、それによってセッションの連続性が保持される。
本発明の追加の特徴および利点については、以下に続く説明中に述べることにし、部分的には、この説明から明らかになり、または本発明の実行により学習することができる。本発明の特徴および利点については、添付の特許請求の範囲において特に指摘される手段および組合せを用いて実現し取得することができる。本発明のこれらの特徴および他の特徴については、この以下の説明、および添付の特許請求の範囲からさらに十分に明らかになり、あるいは以下に述べる本発明の実行により学習することができる。
本発明の以上に列挙した利点および特徴、および他の利点および特徴を得ることができる方法について説明するために、以上で簡潔に説明した本発明のより詳細な説明について、添付図面に示されるその特定の実施形態に関して表現することにする。これらの図面は、本発明の典型的な実施形態を示すにすぎず、したがって本発明の範囲を限定するものと考えるべきではないことを理解して、これら添付の図面を使用して、本発明について、さらに具体的また詳細に記述し説明することにする。
本発明の原理は、入力バッファを使用して、サービスモジュールを対象とするメッセージにアクセスするように構成されたコンピューティングシステムを含む分散コンピューティング環境中で実装することができる。サービスモジュールインスタンスがリサイクルすべきであると決定された後に、この入力バッファは、このサービスモジュールインスタンスによってアクセスされることはない。この入力バッファは、このセッションを処理しているサービスモジュールインスタンスによってアクセスすることができないにもかかわらず、本発明の原理は、リサイクリングイベントの場合にセッション連続性を促進する。
図面を参照すると、本発明の原理が適切なコンピューティング環境中で実装されるものとして示されている。これらの図面においては、同様な参照番号は、同様なエレメントを意味している。以下の説明は、本発明の例示の実施形態に基づいており、本明細書中で明示的に説明していない代替実施形態に関して本発明を限定するものと解釈すべきではない。
以下の説明においては、他に示していない限り、本発明の実施形態は、1台または複数台のコンピュータによって実施される動作およびオペレーションの記号表現に関して説明される。したがって、時にはコンピュータ実行されるものと呼ばれる、かかる動作およびオペレーションは、構造形式でデータを表現する電気信号の、コンピュータの処理装置による操作を含むことが理解されよう。この操作は、このデータを変換し、またはこれらのデータをこのコンピュータのメモリシステム中のロケーションに保持し、このコンピュータは、当業者によってよく理解されるような方法で、このコンピュータのオペレーションを再構成し、あるいは別の方法で変更する。データが保持されるデータ構造は、特定のプロパティをこのデータのフォーマットによって定義するメモリの物理ロケーションである。しかし、本発明の原理は、前述のコンテキストにおいて説明されているが、以下に説明する、いくつかのこれらの動作およびオペレーションが、ハードウェアでも実装できることは、当業者には理解されるように限定することを意味してはいない。
図1は、これらのサービスが使用可能な一実施例のコンピュータアーキテクチャの概略図を示している。説明の目的のために、示されるアーキテクチャは、適切な環境の一実施例にすぎず、本発明の用途または機能の範囲についてのどのような限定を示唆することも意図してはいない。また、これらのコンピューティングシステムは、図1に示すコンポーネントのうちのどの1つまたは組合せに関連した、どのような依存性または要件を有するものとも解釈すべきではない。
本発明の原理は、非常に多数の他の汎用または専用のコンピューティング環境またはコンピューティングコンフィギュレーション、あるいは通信環境または通信コンフィギュレーションを用いて動作可能である。本発明で使用するのに適切な、よく知られているコンピューティングシステム、コンピューティング環境、およびコンピューティングコンフィギュレーションには、それだけには限定されないが、モバイル電話、ポケットコンピュータ、パーソナルコンピュータ、サーバ、マルチプロセッサシステム、マイクロプロセッサベースのシステム、ミニコンピュータ、メインフレームコンピュータ、および上記システムまたはデバイスのうちのどれかを含む分散コンピューティング環境が含まれる。
その最も基本的なコンフィギュレーションにおいて、コンピューティングシステム100は、一般的に少なくとも1つの処理装置102およびメモリ104を含んでいる。メモリ104は、(RAMなどの)揮発性、(ROM、フラッシュメモリなどの)不揮発性、またはこれら2つの何らかの組合せでもよい。この最も基本的なコンフィギュレーションについては、図1に破線106によって示されている。
これらのストレージ媒体デバイスは、追加の特徴または機能を有することができる。例えば、これらのストレージ媒体デバイスは、それだけには限定されないが、PCMCIAカード、磁気ディスクおよび光ディスク、ならびに磁気テープを含めて、(着脱可能および着脱不能な)追加のストレージを含むことができる。かかる追加ストレージは、図1において着脱可能ストレージ108および着脱不能ストレージ110によって示されている。コンピュータストレージ媒体は、コンピュータ読取り可能命令、データ構造、プログラムモジュール、他のデータなどの情報のストレージについての任意の方法または技術で実装される揮発性および不揮発性の着脱可能および着脱不能な媒体を含んでいる。メモリ104、着脱可能ストレージ108、および着脱不能ストレージ110は、すべてコンピュータストレージ媒体の実施例である。コンピュータストレージ媒体には、それだけには限定されないが、この所望の情報を記憶するために使用することができ、このコンピューティングシステムによってアクセスすることができる、RAM、ROM、EEPROM、フラッシュメモリ、他のメモリ技術、CD−ROM、デジタル多用途ディスク、他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、他の磁気ストレージデバイス、および他の任意の媒体が含まれる。
本明細書中で使用しているように、用語「モジュール」または「コンポーネント」は、このコンピューティングシステム上で実行されるソフトウェアオブジェクトまたはルーチンを意味することができる。本明細書中で説明しているこれらの異なるコンポーネント、モジュール、エンジン、およびサービスは、(例えば、別々のスレッドのような)このコンピューティングシステム上で実行されるオブジェクトまたはプロセスとして実装することができる。本明細書中で説明しているシステムおよび方法は、ソフトウェアで実装することが好ましいが、ソフトウェアおよびハードウェア、またはハードウェアにおける実装形態も可能であり、企図している。
コンピューティングシステム100はまた、このホストが、例えばネットワーク120上で他のシステムおよびデバイスと通信を行うことができるようにする通信チャネル112を含むこともできる。通信チャネル112は、通信媒体の実施例である。通信媒体は一般的に、搬送波や他の搬送メカニズムなどの被変調データ信号の形で、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータを実施し、任意の情報配信媒体を含んでいる。実施例として、限定するものではないが、通信媒体は、有線ネットワークや直接配線接続などの有線媒体、および音響、無線、赤外線、他の無線媒体などの無線媒体を含んでいる。本明細書中で使用される用語、コンピュータ読取り可能媒体は、ストレージ媒体も通信媒体も共に含んでいる。
コンピューティングシステム100は、キーボード、マウス、ペン、音声入力コンポーネント、タッチ入力デバイスなどの入力コンポーネント114も有することができる。出力コンポーネント116は、スクリーンディスプレイ、スピーカ、プリンタなど、ならびにこれらを駆動するための(しばしば「アダプタ」と呼ばれることもある)レンダリングモジュールを含んでいる。コンピューティングシステム100は、電源118を有する。これらのすべてのコンポーネントは、当技術分野においてよく知られており、ここで長々と説明する必要はない。
図2は、本発明の原理を使用することができる分散コンピューティング環境200を示している。分散コンピューティング環境200は、1つのプロセス中で実行されるいくつかのオブジェクトにまたがって分散することもでき、同じコンピューティングシステム上で実行される複数のプロセスにまたがって分散することもでき、また複数のコンピューティングシステムにまたがって分散することもできる。かかるコンピューティングシステムは、図1のコンピューティングシステム100について説明した形態を取ることもできるが、これらのコンピューティングシステムは、任意の形態を取ることもできる。
分散コンピューティング環境200は、この水平方向の省略記号222によって示される、可能性のある任意の要求モジュール中の要求モジュール221を含めて、1つまたは複数の要求モジュール220が生成するメッセージにアクセスするように構成されたサービスモジュールを含んでいる。メッセージ交換の特定のセッション中に、このサービスモジュールは、いくつかの着信メッセージを受信することができる。図2には、第1のサービスモジュールインスタンス211Aおよび第2のサービスモジュールインスタンス211Bの形態の、同じサービスモジュール211の2つのインスタンスが示されている。このサービスモジュールは、プロセス、アプリケーション、またはこのプロセスまたはアプリケーション内のオブジェクトとすることができる。
最初に、このサービスモジュール211に向けられ、確立済みのセッションに関連しないすべての着信メッセージが、入力バッファ212Aによって受信される。例えば、サービスモジュール211に向けられた着信メッセージ231は、入力バッファ212Aが受信することができ、その後すぐにこの着信メッセージは、矢印232で示されるように第1のサービスモジュールインスタンス211Aに供給される。
図3は、この入力バッファが入力制限される、かかるコンテキストにおける同じセッションのメッセージ間の相関関係を保持するための方法300のフローチャートを示している。図3の方法300は、図2の分散コンピューティング環境200において実施することができるので、図2および3の説明は、非常に錯綜したものになる。
方法300において最初に、この第1のサービスモジュールインスタンスは、この第1の入力バッファからのセッション開始メッセージ(すなわち、確立すべきセッションを求める要求)にアクセスする。詳細には、図2を参照すると、第1の入力バッファ212Aが、セッション開始メッセージ231を受信した後に、このセッション開始メッセージは、矢印232が示すように第1のサービスモジュールインスタンス211Aに供給される。次いで、この着信セッション開始メッセージ231は、第1のサービスモジュールインスタンス211Aによって処理される。かかるセッション開始メッセージに加えて、セッション指向でない他のメッセージもまた、第1の入力バッファ212Aによってこのサービスモジュールに供給することができる。これらの非セッションメッセージは、セッションの一部分としての他のどのメッセージとも相関していないので、この非セッションメッセージは、このサービスモジュールのインスタンスのうちのどれによっても処理することができる。
この処理の結果として、セッションを開始すべきであることが決定され(動作302)、(本明細書中では、「セッション指向入力バッファ」または「セッション入力バッファ」とも呼ばれる)第2の入力バッファが、このサービスモジュールの第1のインスタンスに関連づけられる(動作303)。第2の入力バッファ212Bは、このセッションについての後続の任意のメッセージを受信するために使用されることになる。第1のサービスモジュールインスタンス211Aは、例えば(矢印233が示すように)この第2の入力バッファ212Bのアドレスのセッション開始メッセージを提供したことを関連する要求モジュール220に通知することができ、その結果、この要求モジュールは、(矢印234および省略記号234Aによって示される)後続のセッションメッセージを第2の入力バッファ212Bに送信することができるようになる。
サービスモジュールインスタンスが、リサイクルすべきであると決定された後に、第1の入力バッファ212Aは、この所与のサービスモジュールインスタンスによってアクセスすることができない。一実施形態においては、入力バッファ212Aは、IISがオープンするHTTP.sysメッセージキューなどのキューであり、この場合には、サービスモジュールインスタンスが、リサイクルすべきであると決定された後に、それ以上のメッセージをこの所与のサービスモジュールインスタンスに供給することはできない。対照的に、リサイクリングの決定がサービスモジュールインスタンス211Aについて行われるか否かに関係なく、第1のサービスモジュールインスタンス211Aは、第2の入力バッファ212Bからのメッセージを受信し続けることができる。
次いで、このセッションについての1つまたは複数のメッセージは、第2の入力バッファ212Bによって受信される(動作304)(矢印234および省略記号234A参照)。この動作304は、図3にリサイクリングの決定がこのセッション途中において行われているか否かに関係なく、この動作が実施される(すなわち、セッションメッセージがこの第2の入力バッファによって受信される)ことを強調するためにアステリスク(asterisk)を含むものとして、示されている。かかる着信セッションメッセージは、第1のサービスモジュールインスタンス211Aによってアクセスされ、処理されて(動作305)(矢印235および省略記号235A参照)、セッション連続性を保持するために必要に応じてセッション状態214Aを修正する。動作305もまた、セッション途中に行われるどのようなリサイクリングの決定にも関係なく、第1のサービスモジュールインスタンス211Aが、セッション指向入力バッファ212Bからのセッションメッセージの処理を継続することを強調するためにアステリスクを用いて示される。
このセッション状態は、このセッションのライフサイクルを通して、このサービスモジュールの1つのインスタンスによって管理されるので、たとえこのセッションにサービスを行うサービスモジュールインスタンスのリサイクリングが、セッション途中に決定されるとしても、またたとえセッション状態が、揮発性メモリに保持されるとしても、本発明の原理は、セッションのシームレスな完了を促進する。
本発明は、本発明の趣旨または基本的な特徴を逸脱することなく他の特定の形態で実施することもできる。これらの説明している実施形態は、すべての点について、例示的であり、限定的ではないと考えるべきである。したがって、本発明の範囲は、前述の説明によってではなく、添付の特許請求の範囲によって示される。この特許請求の範囲の等価物の意味内および範囲内に含まれるすべての変更は、この特許請求の範囲の範囲内に包含すべきものとする。
本発明の特徴を実装することができる適切なコンピューティングシステムを示す図である。 本発明の原理が動作することができる分散コンピューティング環境を示す図である。 本発明の原理によるセッション指向入力バッファを使用して、セッション連続性を保持するための方法のフローチャートを示す図である。
符号の説明
102 処理装置
104 システムメモリ
108 着脱可能ストレージ
110 着脱不能ストレージ
112 通信チャネル
114 入力コンポーネント
116 出力コンポーネント
118 電源
120 ネットワーク
200 分散コンピューティング環境
211A 第1のサービスモジュールインスタンス
211B 第2のサービスモジュールインスタンス
212A、212B 入力バッファ
220 1つ(または複数)の要求モジュール
221 要求モジュール

Claims (10)

  1. 第1の入力バッファを使用して、サービスモジュールを対象とするメッセージにアクセスするように構成されたコンピューティングシステムを含み、サービスモジュールインスタンスが、リサイクルすべきであると決定される場合には、前記第1の入力バッファが、前記サービスモジュールインスタンスによってアクセスされない分散コンピューティング環境において、前記サービスモジュールインスタンスによって処理される同じセッションのメッセージ間の相関関係を保持するための方法であって、
    前記サービスモジュールインスタンスが、前記第1の入力バッファからのセッション開始メッセージにアクセスする行為と、
    前記サービスモジュールインスタンスが、前記セッション開始メッセージにアクセスする前記行為の後に、セッションを開始すべきであることを決定する行為と、
    前記セッションを開始すべきであることを決定する前記行為に応答して、第2の入力バッファを前記サービスモジュールインスタンスに関連づける行為と、
    前記第2の入力バッファ中に前記セッションの1つまたは複数の後続のメッセージを受信する行為と、
    前記サービスモジュールインスタンスが、前記第2の入力バッファからの前記セッションの前記1つまたは複数の後続のメッセージを処理する行為と
    を含むことを特徴とする方法。
  2. 前記サービスモジュールは、プロセスであることを特徴とする請求項1に記載の方法。
  3. 前記サービスモジュールは、アプリケーションドメインであることを特徴とする請求項1記載の方法。
  4. 前記第1および第2の入力バッファは、それぞれキューであることを特徴とする請求項1記載の方法。
  5. 前記キューは、HTTP.sysキューであることを特徴とする請求項4に記載の方法。
  6. 前記セッションを開始すべきであることを決定する前記行為に応答して、
    前記第2の入力バッファのアドレスについて、前記セッション開始メッセージの送信側に通知する行為をさらに含むことを特徴とする請求項1記載の方法。
  7. 前記第1の入力バッファは、セッション開始メッセージでない非セッションメッセージも含むことを特徴とする請求項1記載の方法。
  8. 前記非セッションメッセージは、前記第1の入力キューから前記サービスモジュールの複数のインスタンスのうちの任意の1つに供給することができることを特徴とする請求項7記載の方法。
  9. コンピュータにより、請求項1ないし8のいずれかに記載の方法を実行することが可能な命令を有するコンピュータプログラム。
  10. 請求項9記載のコンピュータプログラムを有するコンピュータ読取り可能な記録媒体。
JP2006003957A 2005-02-01 2006-01-11 アクセス制限されたバッファを用いる際のセッション状態を保持するためのメカニズム Expired - Fee Related JP5005921B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/049,071 2005-02-01
US11/049,071 US7565395B2 (en) 2005-02-01 2005-02-01 Mechanism for preserving session state when using an access-limited buffer

Publications (2)

Publication Number Publication Date
JP2006216023A JP2006216023A (ja) 2006-08-17
JP5005921B2 true JP5005921B2 (ja) 2012-08-22

Family

ID=35976535

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006003957A Expired - Fee Related JP5005921B2 (ja) 2005-02-01 2006-01-11 アクセス制限されたバッファを用いる際のセッション状態を保持するためのメカニズム

Country Status (7)

Country Link
US (1) US7565395B2 (ja)
EP (1) EP1686763B1 (ja)
JP (1) JP5005921B2 (ja)
KR (1) KR101159360B1 (ja)
CN (1) CN1816034B (ja)
AT (1) ATE452502T1 (ja)
DE (1) DE602006011064D1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1980232A (zh) * 2005-12-02 2007-06-13 国际商业机器公司 远程登录会话维护方法、远程登录代理和计算机网络系统

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2041992A1 (en) * 1990-05-18 1991-11-19 Yeshayahu Artsy Routing objects on action paths in a distributed computing system
CA2152329C (en) * 1994-09-08 1999-02-09 N Dudley Fulton Iii Apparatus and methods for software rejuvenation
US5881239A (en) * 1995-01-23 1999-03-09 Tandem Computers Incorporated Network system with resilient virtual fault tolerant sessions
US6393481B1 (en) * 1997-10-06 2002-05-21 Worldcom, Inc. Method and apparatus for providing real-time call processing services in an intelligent network
US6854114B1 (en) * 1999-10-21 2005-02-08 Oracle International Corp. Using a virtual machine instance as the basic unit of user execution in a server environment
US6594784B1 (en) * 1999-11-17 2003-07-15 International Business Machines Corporation Method and system for transparent time-based selective software rejuvenation
WO2001090919A2 (en) * 2000-05-24 2001-11-29 Virtual Clinic, Inc. Method and apparatus for providing personalized services
US6763520B1 (en) * 2000-08-24 2004-07-13 Cognos Incorporated Fair assignment of processing resources to queued requests
US20020065915A1 (en) * 2000-11-30 2002-05-30 Anderson Elizabeth A. System and method for server-host connection management to serve anticipated future client connections
US6651111B2 (en) 2001-02-16 2003-11-18 Microsoft Corporation System and method for managing a serial port
US7849190B2 (en) * 2001-02-23 2010-12-07 Nokia Siemens Networks Oy Internet protocol based service architecture
US7225362B2 (en) * 2001-06-11 2007-05-29 Microsoft Corporation Ensuring the health and availability of web applications
US7228551B2 (en) * 2001-06-11 2007-06-05 Microsoft Corporation Web garden application pools having a plurality of user-mode web applications
US7594230B2 (en) * 2001-06-11 2009-09-22 Microsoft Corporation Web server architecture
US7116673B2 (en) * 2001-08-09 2006-10-03 International Business Machines Corporation Queue pair resolution in infiniband fabrics
US6961539B2 (en) * 2001-08-09 2005-11-01 Hughes Electronics Corporation Low latency handling of transmission control protocol messages in a broadband satellite communications system
US6886041B2 (en) * 2001-10-05 2005-04-26 Bea Systems, Inc. System for application server messaging with multiple dispatch pools
US7130891B2 (en) * 2002-02-04 2006-10-31 Datasynapse, Inc. Score-based scheduling of service requests in a grid services computing platform
US20030182464A1 (en) * 2002-02-15 2003-09-25 Hamilton Thomas E. Management of message queues
CA2372092C (en) * 2002-02-15 2010-04-06 Cognos Incorporated A queuing model for a plurality of servers
US20030204551A1 (en) * 2002-04-30 2003-10-30 Ling Chen System and method for providing media processing services
US20030212818A1 (en) * 2002-05-08 2003-11-13 Johannes Klein Content based message dispatch
US7627693B2 (en) * 2002-06-11 2009-12-01 Pandya Ashish A IP storage processor and engine therefor using RDMA
US7631106B2 (en) * 2002-08-15 2009-12-08 Mellanox Technologies Ltd. Prefetching of receive queue descriptors
EP1414211A1 (en) * 2002-10-23 2004-04-28 Sony International (Europe) GmbH Software architecture for capability and quality-of-service negotiations and session establishment for distributed multimedia applications
US7007004B2 (en) * 2002-11-20 2006-02-28 Nokia Corporation Concurrent operation of a state machine family
US7827282B2 (en) * 2003-01-08 2010-11-02 At&T Intellectual Property I, L.P. System and method for processing hardware or service usage data
US20040167961A1 (en) * 2003-02-26 2004-08-26 Microsoft Corporation Fragment response cache
US7231269B2 (en) * 2003-03-20 2007-06-12 Microsoft Corporation Recovery upon access violation by audio processing object
US20040249958A1 (en) * 2003-06-04 2004-12-09 Ozdemir Hasan Timucin Method and apparatus for secure internet communications
US7562254B2 (en) * 2003-07-01 2009-07-14 International Business Machines Corporation Checkpointing and restarting long running web services
US7467202B2 (en) * 2003-09-10 2008-12-16 Fidelis Security Systems High-performance network content analysis platform
US20050188070A1 (en) * 2004-01-28 2005-08-25 Sun Microsystems, Inc. Vertical perimeter framework for providing application services

Also Published As

Publication number Publication date
EP1686763A1 (en) 2006-08-02
CN1816034B (zh) 2012-03-28
KR101159360B1 (ko) 2012-06-25
EP1686763B1 (en) 2009-12-16
US20060174011A1 (en) 2006-08-03
DE602006011064D1 (de) 2010-01-28
ATE452502T1 (de) 2010-01-15
CN1816034A (zh) 2006-08-09
KR20060088474A (ko) 2006-08-04
JP2006216023A (ja) 2006-08-17
US7565395B2 (en) 2009-07-21

Similar Documents

Publication Publication Date Title
JP5042454B2 (ja) 受信コンピューティングシステムのための方法とコンピュータプログラム、およびコンピューティングシステム
US20160364201A1 (en) Remote desktop mirroring
US20140289415A1 (en) Continuous and concurrent device experience in a multi-device ecosystem
US20140250158A1 (en) Method and device for obtaining file
WO2020042769A1 (zh) 图像信息的传输方法、装置、存储介质及电子设备
US9134887B2 (en) Multi-device visual correlation interaction
US20130246499A1 (en) Processor Sharing Between In-Range Devices
EP3314438B1 (en) Thermal mitigation user experience
CN107817962B (zh) 一种远程控制方法、装置、控制服务器及存储介质
US20140156788A1 (en) Persistent Connection between Network Devices
US9467526B2 (en) Network communication using intermediation processor
US10379743B1 (en) Offloaded delete operations
US20100332687A1 (en) METHOD AND APPARATUS FOR RESTRICTING THE EXECUTION OF OPEN SERVICES GATEWAY INITIATIVE (OSGi) LIFE CYCLE COMMANDS
JP5005921B2 (ja) アクセス制限されたバッファを用いる際のセッション状態を保持するためのメカニズム
US20200252485A1 (en) Accelerating isochronous endpoints of redirected usb devices
CN111274176B (zh) 一种信息处理方法、电子设备、系统及存储介质
KR20150054636A (ko) 복수의 전자 디바이스 사이에서 애플리케이션을 공유하는 방법 및 전자 디바이스
WO2018209462A1 (zh) 一种邮件管理方法和邮件服务器
WO2015123986A1 (zh) 一种数据记录的方法、系统以及接入服务器
CN111813574A (zh) 图片压缩方法、装置、存储介质和电子设备
US10117178B2 (en) Simultaneous power control among multiple devices per context
EP3234786B1 (en) Scalable synchronization mechanism for distributed memory
WO2018200158A1 (en) Mitigating absence of skill input during collaboration session
CN112202864B (zh) 一种上下文切换系统、方法、装置、设备及介质
JP7332660B2 (ja) 中継装置、プログラム、システム、通信端末及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120425

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120518

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120524

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5005921

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees