(57)【要約】【課題】断片化されるリクエストの複数の断片が適正なシーケンスで実行されるのを確保するための方法、プログラム及びシステムを提供する。【解決手段】リクエストの、独立にディスパッチされた断片が、必要なコンテキストとともに実行するのを、断片化コンテキスト・プリザーバ（保存器）２００が確保する。この断片化コンテキスト・プリザーバ２００は、断片化リクエスト・プリザーバ３００及びリクエスト・コンテキスト・ヘルパ４００という２つのコンポーネントを有している。これらが協働し、これらの２つのプログラムによって、リクエストの独立にディスパッチされた断片が、その必要なコンテキストとともに実行するのを確保する。【選択図】図２
2007257632.tif 000002
【特許請求の範囲】
【請求項１】
断片化されるリクエストの複数の断片が適正なシーケンスで実行されるのを確保するために以下のステップをコンピュータに実行させる方法にして、
クライアントからリクエストを受け取るステップと、
コンテキストの伝播を初期化するために前記リクエストにメタデータ・プロトコル・ヘッダを加えるステップと、
前記リクエストをアプリケーションに進めるステップと、
前記アプリケーションからの遅延応答を受け取るステップであって、前記遅延応答が１個よりも多いリクエスト断片を含み、各断片が前記の適正な実行シーケンスを示すメタデータ・プロトコル・ヘッダを含むものと、
各断片をアプリケーションに前記適正なシーケンスでディスパッチするステップと、
コンテキストを終了させるためメタデータ・プロトコル・ヘッダを最後の断片に加えるステップと、
前記リクエストの範囲内での以前の断片のフェッチから一つのコンテキストへの更新に関連するメタデータを加えるステップと、
断片ごとに前記アプリケーションから応答を受け取るステップと、
前記応答を組み合わせるステップと、
前記クライアントにその組み合わされた応答を送るステップと
を含むコンピュータ実行方法。
【請求項２】
キャッシュに於ける断片ごとに前記アプリケーションから適格な応答を格納するステップを更に含む、請求項１に記載のコンピュータ実行方法。
【請求項３】
以前に実行された断片のキャッシュされた応答から断片を実行するために必要な属性を抽出するステップを更に含む、請求項２に記載のコンピュータ実行方法。
【請求項４】
前記断片をディスパッチするステップの前に、前記属性を有するメタデータを前記断片に加えるステップを更に含む、請求項３に記載のコンピュータ実行方法。
【請求項５】
前記メタデータに関連するシーケンス情報および属性を含ませるだけで前記方法が安全確保され、最適化される、請求項２に記載のコンピュータ実行方法。
【請求項６】
断片化されるリクエストの複数の断片が適正なシーケンスで実行されるのを確保するために以下の諸ステップを代理コンピュータに実行させるプログラムにして、
クライアントからリクエストを受け取るステップと、
コンテキストの伝播を初期化するために前記リクエストにメタデータ・プロトコル・ヘッダを加えるステップと、
前記リクエストをアプリケーションに進めるステップと、
前記アプリケーションからの遅延応答を受け取るステップであって、前記遅延応答が１個よりも多いリクエスト断片を含み、各断片が前記の適正な実行シーケンスを示すメタデータ・プロトコル・ヘッダを含むものと、
各断片をアプリケーションに前記適正なシーケンスでディスパッチするステップと、
コンテキストを終了させるためメタデータ・プロトコル・ヘッダを最後の断片に加えるステップと、
前記リクエストの範囲内での以前の断片のフェッチから一つのコンテキストへの更新に関連するメタデータを加えるステップと、
断片ごとに前記アプリケーションから応答を受け取るステップと、
前記応答を組み合わせるステップと、
前記クライアントにその組み合わされた応答を送るステップと
を含むコンピュータ・プログラム。
【請求項７】
キャッシュに於ける断片ごとに前記アプリケーションから適格な応答を格納するステップを更に含む、請求項６に記載のコンピュータ・プログラム。
【請求項８】
以前に実行された断片のキャッシュされた応答から断片を実行するために必要な属性を抽出するステップを更に含む、請求項７に記載のコンピュータ・プログラム。
【請求項９】
前記断片をディスパッチするステップの前に、前記属性を有するメタデータを前記断片に加えるステップを更に含む、請求項８に記載のコンピュータ・プログラム。
【請求項１０】
前記メタデータに関連するシーケンス情報および属性を含ませるだけで前記プログラムによるステップが安全確保され、最適化される、請求項７に記載のコンピュータ・プログラム。
【請求項１１】
断片化されるリクエストの複数の断片が適正なシーケンスで実行されるのを確保するためのシステムにして、
複数のコンピュータを結合するネットワークと、
前記ネットワーク、及びプログラムを含むメモリに結合されたコンピュータとを含み、前記プログラムが、
クライアントからリクエストを受け取るステップと、
コンテキストの伝播を初期化するために前記リクエストにメタデータ・プロトコル・ヘッダを加えるステップと、
前記リクエストをアプリケーションに進めるステップと、
前記アプリケーションからの遅延応答を受け取るステップであって、前記遅延応答が１個よりも多いリクエスト断片を含み、各断片が前記の適正な実行シーケンスを示すメタ・データ・プロトコル・ヘッダを含むものと、
各断片をアプリケーションに前記適正なシーケンスでディスパッチするステップと、
コンテキストを終了させるためメタデータ・プロトコル・ヘッダを最後の断片に加えるステップと、
前記リクエストの範囲内での以前の断片のフェッチから一つのコンテキストへの更新に関連するメタデータを加えるステップと、
断片ごとに前記アプリケーションから応答を受け取るステップと、
前記応答を組み合わせるステップと、
前記クライアントにその組み合わされた応答を送るステップと
を含み、前記各ステップを前記コンピュータに命令することからなるシステム。
【請求項１２】
キャッシュに於ける断片ごとに前記アプリケーションから適格な応答を格納するステップを前記プログラムが更に含み、前記格納するステップを前記コンピュータに命令する、請求項１１に記載のシステム。
【請求項１３】
以前に実行された断片のキャッシュされた応答から断片を実行するために必要な属性を抽出するステップを前記プログラムが更に含み、前記抽出するステップを前記コンピュータに命令する、請求項１２に記載のシステム。
【請求項１４】
前記断片をディスパッチするステップの前に、前記属性を有するメタデータを前記断片に加えるステップを前記プログラムが更に含み、前記加えるステップを前記コンピュータに命令する、請求項１３に記載のシステム。
【請求項１５】
前記メタデータに関連するシーケンス情報および属性を含ませるだけで安全確保と最適化を実現するように前記プログラムが前記コンピュータに命令する、請求項１２に記載のシステム。  
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータ・データ・プロセシングに関し、特に或るリクエストを構成する独立にディスパッチされる断片が、必要なコンテキスト（文脈、前後関係）とともに実行されるのを確保することに関する。
【背景技術】
【０００２】
複数のクライアントは、複数のアプリケーションに亘る多様なタスクを実行するのに分散コンピュータ環境を使用する。典型的なタスクに対し、或るクライアントは分散コンピュータ環境にリクエストを送り、その環境はそのクライアントに応答を返す。そのようなリクエストを実行する際、実際には幾つかの中間的なステップが含まれる。第１に、ユーザまたはアプリケーションが代理コンピュータにクライアント・リクエストを送信することによってクライアント・リクエストを開始する。この代理コンピュータは、クライアントと分散コンピュータ環境との間で中継コンピュータとして働く。代理コンピュータはクライアント・セキュリティの信用保証を検証するようなタスク、及び分散コンピュータ環境上のどの資源がそのクライアントのリクエストを実行するのに適するかを決定するようなタスクを実行することができる。
【０００３】
たとえば、エッジ・サイド・インクルード（EDGE SIDE INCLUDE、 (ESI)）、 デルタ・エンコーディング（DELTAENCODING）などのある種の、断片をマークアップしアセンブルする技術（以下、断片化マークアップ兼アセンブリ技術という）、並びに他の断片化マークアップ兼アセンブリ技術が代理コンピュータのある種の環境下でリクエストの断片化を許容する。しばしば、リクエストは複数の小さいタスク、即ち「フェッチ」に分割され複数のリソースに亘って分散されることができる。全てのフェッチが実行された後、その断片化された応答が再度アセンブルされクライアントに戻される。断片化はリソースのもっと効率的な使用を可能にし、分散コンピュータ環境上で低いサイクル・タイムを可能にする。しかしこれらの技法を使用すると、これらの断片が論理的なリクエストに関連するコンテキストを使用しなければならないとき正しい結果を生じないことがある。例えば、以下のようなシナリオを考えてみよう。クライアントが属性Xに沿ってパスするリクエストを作る。このリクエストは第１のアプリケーション（Ａ）に属性Ｙをセットするように頼み、それから第２のアプリケーション（Ｂ）を用いまた属性Ｘ及びＹの両方を用いてデータベースのルックアップを実行する。このリクエストは、「Ｙをセット」及び「データベース・ルックアップを実行」という２つの部分に断片化できる。第１のアプリケーションはこの属性をそのリクエスト・コンテキストに関連付ける。第２のアプリケーションのためのコードがデータベース・ルックアップを成功させるように実行するときこのコンテキストが実行される。断片化がなく、そのリクエストが単一の実行スレッドで逐次に実行する限り、そのコンテキストは両方のアプリケーションに利用できる。もしその断片が代理コンピュータからの種々の異なる実行環境とは独立にディスパッチされるなら、アプリケーションＡによりセットされるコンテキストはアプリケーションＢで実行する断片には利用できない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
断片化は論理アプリケーションにより定義されるシーケンスで実行するが、コンテキストは断片化の実行環境に関係付けられ、断片実行後ごとに失われるので、コンテキストに対する更新はその後の断片化の適正な実行には利用できない。
【課題を解決するための手段】
【０００５】
リクエストの、独立にディスパッチされた断片が、必要なコンテキストとともに実行するのを、断片化コンテキスト・プリザーバ（保存器）が確保する。この断片化コンテキスト・プリザーバは、断片化リクエスト・プリザーバ及びリクエスト・コンテキスト・ヘルパという２つのコンポーネントを有している。断片化リクエスト・プリザーバ・プログラムはクライアント・コンピュータに結合された代理コンピュータ及び分散コンピュータ環境上で実行され、リクエスト・コンテキスト・ヘルパはその分散コンピュータ環境上の各アプリケーション・サーバ上で実行される。断片化リクエスト・プリザーバは論理リクエストの開始、中央、終了を示すためにリクエストの各断片に属性を加える。クライアントが分散コンピュータ環境にリクエストを送るとき、断片化リクエスト・プリザーバはそのリクエストにメタデータを加え、それが新規な論理リクエストであることを示し、そしてそのリクエストをその分散コンピュータ環境のサーバ上のアプリケーションに進める。もしそのアプリケーション・サーバがそのリクエスト全体を一遍に実行しないことを選択するなら、そのアプリケーション・サーバのところのリクエスト・コンテキスト・ヘルパがそのリクエストを複数の断片に分割し、そのリクエストの断片を「遅延応答(deferred responce)」として代理コンピュータに送り返す。この遅延応答は、例えばその後の断片を実行するために必要な属性をセットするなど、始めのリクエストに対する部分的な応答を含んでいてもよい。
【０００６】
このリクエスト・コンテキスト・ヘルパは、その応答の中で不透明な（修正した、opaque）シリアル化した形式でそのコンテキストに任意の更新を埋め込む。この更新されたコンテキストは、公認されたリクエスト・コンテキスト・ヘルパだけがそのコンテキストを読むことができるように安全確保されてもよい。代理コンピュータのところの断片化リクエスト・プリザーバは、そのシリアル化している論理リクエストのための以前の断片の応答から受け取った任意の不透明な更新付きの各断片をディスパッチし、各断片のための応答を受け取る。そのアプリケーション・サーバのところのリクエスト・コンテキスト・ヘルパは断片リクエストとともに送られたコンテキストに対する任意の更新を安全に取り出し、その更新を非シリアル化し、そのコンテキストをその実行環境で利用できるようにしてから、その断片を実行する。代理コンピュータのところにある断片化リクエスト・プリザーバは、フェッチのシーケンスが終わったことを示す最後の断片にメタデータをも加える。これはアプリケーション・サーバのところにあるリクエスト・コンテキスト・ヘルパが、その論理リクエストの期間中保持される任意の資源を解放することができるようにする。断片化リクエスト・プリザーバは、キャッシュされた断片を含む全ての応答を組み合わせ、それらをクライアントに進める。その断片が更新テキストを有するよう確保することによって、断片化リクエスト・プリザーバは、リクエスト群の断片化が複数のアプリケーションに跨る属性群をセットし、獲得するのを許容する。
【０００７】
本発明の原理は、多様なコンピュータ・ハードウエア及びソフトウエア構成に適用できる。「コンピュータ・ハードウエア」若しくは「ハードウエア」といったここで使用する用語は、データを受け入れ、データに論理動作を実行させ、データを格納させ、若しくは表示させることができ、またプロセッサ及びメモリを含む任意のマシン若しくは装置を制限なく意味する。また「コンピュータ・ソフトウエア」若しくは「ソフトウエア」という用語は、コンピュータ・ハードウエアに動作を実行させるように動作可能な任意のセットの命令群を意味する。ここで使用する「コンピュータ」という用語は、ハードウエア及びソフトウエアの任意の有用な組み合わせを、制限することなく含み、「コンピュータ・プログラム」若しくは「プログラム」はコンピュータ・ハードウエアがデータを受け入れ、データに論理動作を実行させ、格納させ、表示させるように動作し得る任意のソフトウエアを制限なく含む。コンピュータ・プログラムは、しばしば複数の小さいプログラミング・ユニットからなり、サブルーチン、モジュール、機能、方法及び手順を、制限することなく含むことができる。従って、本発明の機能は複数個のコンピュータ及びコンピュータ・プログラム間で分散してもよい。本発明は、本発明の新規の側面を実行するように１個若しくは複数個の汎用コンピュータを構成し能動化させる単一のコンピュータ・プログラムとして、もっともよく記述している。説明の便宜上、本発明のコンピュータ・プログラムは「断片化コンテキスト・プリザーバ」と称する。
【０００８】
更に、「断片化コンテキスト・プレザーバ」は図１に示すような実施例のネットワークに沿って説明する。「ネットワーク」は、インターネットなどの通信（コミュニケーション）媒体を介して互いに結合され互いに通信できる任意の数のハードウエア装置を含む。「通信媒体」は、制限なく、任意の物理的、光学的、電磁気的、その他の媒体であってよく、そこを介してハードウエア及びソフトウエアがデータを伝達できる。説明の目的上、例示のネットワーク１００が、ワークステーション・コンピュータ１０５、ワークステーション・コンピュータ１１０、サーバ・コンピュータ１１５、恒久的ストレージ１２０を含む、限られた数のノードしか有していない。ネットワーク・コネクション１２５は、ネットワーク・ノード１０５ないし１２０間の通信（コミュニケーション）を可能にするのに必要な全てのハードウエア、ソフトウエ及びコミュニケーション媒体を含む。以下の文脈で他のことを示さない限り、全てのネットワーク・ノードは、ネットワーク・コネクション１２５を通じて相互に通信するのに市販されているプロトコルやメッセージージング・サービスを利用する。
【発明を実施するための最良の形態】
【０００９】
断片化コンテキスト・プリザーバ２００は、図２のメモリ２２０として図式的に表されるメモリに典型的には格納される。ここで使用する「メモリ」という用語は、以下に限定されるものではないが、コンピュータがデータやソフトウエアを任意の期間格納することができるような電子回路、磁気ディスク、光ディスクなど、揮発性の若しくは恒久的な媒体を含む。単一のメモリは複数の媒体に跨っていたり分散したりしていてもよい。従って、図２は説明の便宜のためにのみ示しているだけで、メモリ２２０の特定の物理的な実施例をなんら反映していないが、図２に示すように、メモリ２２０は追加のデータやプログラムを含むことができる。断片化コンテキスト・プリザーバ２００にとって特に重要なのはメモリ２２０が、ターゲット・アプリケーション２３０、断片化マークアップ兼アセンブリ・エンジン２４０、及び応答キャッシュ２５０を含み、これらと断片化コンテキスト・プリザーバ２００が相互作用する。ターゲット・アプリケーション２３０はリクエストに応答することによってタスクを実行する。断片化マークアップ兼アセンブリ・エンジン２４０は、ターゲット・アプリケーション２３０用に企図されたリクエストを断片化する（リクエスト断片）。断片化マークアップ兼アセンブリ・エンジン２４０はＥＳＩエンジンであってもよい。応答キャッシュ２５０はディスパッチされた断片に応答するための一時的なストレージである。断片化コンテキスト・プリザーバ２００は、断片化リクエスト・プリザーバ３００及びリクエスト・コンテキスト・ヘルパ４００という２つのコンポーネントを有する。この実施例の断片化リクエスト・プリザーバ３００はネットワーク１００にリクエストを伝達する役割を担う代理コンピュータ上で動作する。リクエスト・コンテキスト・ヘルパ４００は、断片化マークアップ兼アセンブリ・エンジン２４０及びターゲット・アプリケーション２３０とアプリケーション・サーバ上で協働する。
【００１０】
図３は断片化リクエスト・プリザーバ３００の論理を示すフローチャートである。断片化リクエスト・プリザーバ３００の動作は、クライアント３１０が初期リクエストをするときに開始する（ステップ３１０）。応答キャッシュ２５０に応答があるか判定される（ステップ３１２）。もしそうなら、断片化リクエスト・プリザーバ３００はステップ３１８に進み、もしそうでないならその初期リクエストにメタデータ・プロトコル・ヘッダを付加する（ステップ３１４）。この判定の目的は、以前の論理リクエストから応答キャッシュ２５０に保存された情報を利用することであり、それが現在の論理リクエストに応答して利用されることであり、これによってそのアプリケーション上でそのリクエストを実際に実行する必要性を回避することである。このプロトコル・ヘッダはそのコンテキストの伝達を開始する。断片化リクエスト・プリザーバ３００はターゲット・アプリケーション２３０への初期リクエストをディスパッチする（ステップ３１６）。断片化リクエスト・プリザーバ３００は初期リクエストに対する応答を受け取り（ステップ３１７）、ターゲット・アプリケーション２３０が通常の応答をしたか又は遅延応答したかを判定する（ステップ３１８）。通常応答がクライアントに送られ（ステップ３３８）、そして断片化リクエスト・プリザーバ３００の動作が終了する（ステップ３４０）。ステップ３１８で判定をすることによって、初期リクエストを断片化マークアップ兼アセンブリ・エンジン２４０により区分するための判定は回避され、応答キャッシュ２５０に於いて適格な応答を自動的に使用する。遅延応答は、断片化マークアップ兼アセンブリ・エンジン２４０が初期リクエストを一連の断片を区分するときに生じる。リクエスト・コンテキスト・ヘルパ４００は、シーケンス情報を特定するメタデータ・プロトコル・ヘッダを各断片に付加する（図４参照）。リクエスト・コンテキスト・ヘルパ４００により提供される追加のメタデータは、各断片が特定の属性又はコンテキストを適正な実行のために必要とするかを示す。断片への応答として送られる属性は後続の断片をディスパッチするときにコンテキストとして付加されることができる。遅延応答の場合、ターゲット・アプリケーション２３０がその応答の一部として、初期属性をセットするなど、１個若しくはそれ以上の断片を実行してもよい。
【００１１】
ステップ３１８で、ある応答が遅延応答であると判定されるなら、断片化リクエスト・プリザーバ３００はその応答が応答キャッシュ２５０にはなく、キャッシュ可能であると判定する（ステップ３２０）。換言すると、適確な応答と呼ばれる幾つかの応答はキャッシュ可能であり、それらのコンテキストのメタデータとともにキャッシュされる。そしてこのステップは、断片の応答が論理リクエストの見地から集積されるまでそれらの断片の応答を一時的に格納するのとは異なる。このように判定する理由は、或る応答が適確な応答として応答キャッシュ２５０に保存できる前に満足しなければならない２つの条件をセットすることためである。第１に、その同じ応答が以前に応答キャッシュ２５０に保存されていないことであり、第２にその応答が保存されることのできるものでなければならないことである。これらの条件は、重複した応答が応答キャッシュ２５０に保存されるのを防止し、保存することのできない応答を保存する試みを防止する。保存することのできない応答の例は、個別のデータではなく、コマンドである。もしその応答がキャッシュ可能なら、断片化リクエスト・プリザーバ３００は応答キャッシュ２５０に対する、属性などの初期応答情報を保存する（ステップ３２２）。もしその応答がキャッシュ可能でないなら、断片化リクエスト・プリザーバ３００は、そのメタデータ・プロトコル・ヘッダ中のシーケンス情報及びコンテキスト情報を用いてシーケンス中の複数の断片に亘って反復適用する（ステップ３２４）。
【００１２】
もし或る属性もしくはコンテキストが断片に加えられる必要があれば（ステップ３２６）、断片化リクエスト・プリザーバ３００は、応答キャッシュ２５０に保存されていてもよいそのコンテキストを加え（ステップ３２８）、その後その断片をターゲット・アプリケーション２３０にディスパッチする（ステップ３３０）。換言すると、断片化リクエスト・プリザーバ３００は、その論理リクエストの範囲内での、以前の断片取り出し（フェッチ）からのコンテキストへの更新を参照するメタデータを加える。属性及びコンテキストを加えるほか、断片化リクエスト・プリザーバ３００は、その最後の断片とともにコンテキスト伝播を終了させるといったような他の情報をそのメタデータ・プロトコル・ヘッダに加えてもよい。断片化リクエスト・プリザーバ３００は、ターゲット・アプリケーション２３０からその応答を受け取る（ステップ３３２）。そして、まだディスパッチされずに残っているもっと多くの断片が存在するか判定する（ステップ３３４）。もし存在すれば、断片化リクエスト・プリザーバ３００はステップ３２０に行き、もし存在しなければ、（最後の断片が取出されていることで）応答キャッシュ２５０に格納された全ての応答を組み合わせ（ステップ３３６）、その組み合わせた応答をそのクライアントに送り（ステップ３３８）、終了する（ステップ３４０）。
【００１３】
図４はリクエスト・コンテキスト・ヘルパ４００の論理を説明するフローチャートである。リクエスト・コンテキスト・ヘルパ４００の動作は、断片マークアップ兼アセンブリ・エンジン２４０が或るリクエストを複数の断片に区分するときに開始する（ステップ４１０）。リクエスト・コンテキスト・ヘルパ４００はその断片のシーケンス、コンテキスト及び属性の要求を決定し（ステップ４１２）、その断片にメタデータを加え（ステップ４１４）、そのリクエストを実行するのに必要な資源若しくはアプリケーションを確保し（ステップ４１６）、断片化リクエスト・プリザーバ３００（図３参照）にその断片を戻す。次に、リクエスト・コンテキスト・ヘルパ４００は、断片化リクエスト・プリザーバ３００からのディスパッチされた断片を受け取り（ステップ４２０）、そのディスパッチされた断片のためのメタデータを読み取り（ステップ４２２）、コンテキストがそのメタデータに含まれるか判定する（ステップ４２４）。もしコンテキストが含まれていれば、リクエスト・コンテキスト・ヘルパ４００はそのメタデータからコンテキストを抽出し（ステップ４２６）、ステップ４２８に行く。もしコンテキストが含まれていなければ、リクエスト・コンテキスト・ヘルパ４００はステップ４２８に行き、そこでそのアプリケーションにその断片及びコンテキストをパスする（ステップ４２８）。次に、リクエスト・コンテキスト・ヘルパ４００はそのアプリケーションから断片化応答を受け取り（ステップ４３０）、コンテキストが含まれるか判定する（ステップ４３２）。もし含まれるなら、メタデータにコンテキストを加え（ステップ４３４）、ステップ４３６に行く。もしコンテキストが含まれなければ、リクエスト・コンテキスト・ヘルパ４００はステップ４３６に行き、そこで断片化リクエスト・プリザーバ３００に断片応答を送る。リクエスト・コンテキスト・ヘルパ４００はその断片が最後の断片か判定し（ステップ４３８）、もしそうでなければステップ４２０に行く。もしその断片が最後の断片なら、リクエスト・コンテキスト・ヘルパ４００の動作は、確保した資源を解放し（ステップ４４０）、そして終了する（ステップ４４２）。上記、各ステップにより分散コンピューティング環境の通信が最適化され安全に確保される。
【００１４】
図５は断片化されたリクエストの伝播する様子を示す。参照番号５０１はクライアントが初期のリクエストをすることを表す。参照番号５０２は、そのコンテキストの伝播を初期化するためにメタデータ・プロトコル・ヘッダをその初期リクエストに付加するように代理コンピュータ５５０で断片化リクエスト・プリザーバ３００が実行することを示す。参照番号５０３は、代理コンピュータ５５０がその初期リクエストをターゲット・アプリケーション・サーバ５８０にディスパッチする（ステップ５０４）。アプリケーション・サーバ５８０上の断片化マークアップ兼アセンブリ・エンジン２４０はその初期リクエストを２個の断片に区分する。各断片は情報を順番付けするメタデータ・プロトコル・ヘッダを有する。このアプリケーションはまた初期属性「Ｘ」をセットする。参照番号５０５は、その２個のリクエストの断片及び属性Ｘを含む遅延応答が代理コンピュータ５５０に送り返されることを示す。参照番号５０６は、代理コンピュータ５５０が応答渇種２５０にその応答を保存することを示す。
【００１５】
参照番号５０７は、代理コンピュータ５５０がアプリケーション・サーバ５８０に属性Ｘ付きの断片１をディスパッチする。参照番号５０８は、アプリケーション・サーバ５８０が断片１及び属性Ｘに応答して属性Ｙをセットすることを示す。参照番号５０９は、アプリケーション・サーバ５８０が属性Ｘ及びＹ付きの応答を代理コンピュータ５５０に送ることを示す。参照番号５１０は、代理コンピュータ５５０がその応答を受け取り、その応答を応答キャッシュ２５０に保存することを示す。参照番号５１１は、代理コンピュータ５５０が属性Ｘ及びＹ付きの断片２をアプリケーション・サーバ５８０にディスパッチパッチすることを示す。断片２はまたコンテキストの伝播を終了させるためにメタデータ・プロトコル・ヘッダ情報を含む。参照番号５１２は、アプリケーション・サーバ５８０が断片２に応答して属性Ｘ及びＹを用い必要な動作を実行することを示す。参照番号５１３は、アプリケーション・サーバ５８０が代理コンピュータ５５０に最後の応答を送ることを表す。参照番号５１４は、代理コンピュータ５５０がその応答を受け取り、その応答を応答キャッシュ２５０に於いてそれ以前の応答と組み合わせる。参照番号５１５は、代理コンピュータ５５０がその組み合わせられた応答をクライアントに送る。
【００１６】
一実施例では、この断片化コンテキスト・プリザーバ２００は、シーケンス及び属性に関係する関連メタデータの少量を含むだけで、またそのメタデータに含まれる情報をコード化し解読するだけで、通信セキュリティ及び分散コンピュータ環境の効率を増進することができる。
【００１７】
本発明の好適な実施例を前述の図面及び説明で示したが、好適な形態のいろいろな変形例が当業者には明らかであろう。ここまでの記述は説明目的だけであり、図示し説明した特定の形態に本発明が限定されて構成されるものではない。本発明の範囲は特許請求の範囲の言語によってのみ制限されるべきである。
【図面の簡単な説明】
【００１８】
【図１】本発明の例示のコンピュータ・ネットワークを示す図である。
【図２】断片化コンテキスト・プリザーバ２００を含むコンピュータ上の例示のメモリを示す図である。
【図３】断片化リクエスト・プリザーバ３００のフローチャートを示す図である。
【図４】リクエスト・コンテキスト・ヘルパ４００のフローチャートを示す図である。
【図５】順番にディスパッチされる断片化リクエストの図式図である。
【符号の説明】
【００１９】
１００  ネットワーク
１０５  ワークステーション・コンピュータ
１１０  ワークステーション・コンピュータ
１１５  サーバ・コンピュータ
１２０  恒久的ストレージ
１２５  ネットワーク結合
２００  断片化コンテキスト・プリザーバ
２２０  メモリ
２４０  断片化マークアップ兼アセンブリ・エンジン
２５０  応答キャッシュ
３００  断片化リクエスト・プリザーバ
４００  リクエスト・コンテキスト・ヘルパ
５５０  代理コンピュータ
５８０  アプリケーション・サーバ
【図１】
2007257632.tif 000003
【図２】
2007257632.tif 000004
【図３】
2007257632.tif 000005
【図４】
2007257632.tif 000006
【図５】
2007257632.tif 000007