(57)【特許請求の範囲】
【請求項１】
通信するクライアント装置およびサーバ装置のネットワークでトランザクションを処理するための方法において、前記クライアント装置およびサーバ装置が、クライアント装置とサーバ装置との間で状態情報を渡すための手順が限られるか定義されていないプロトコルを使用する非セッション指向のクライアント・サーバの形で通信し、
ａ．資源および処置の要求であって、論理的に１つのトランザクションを構成する複数の独立した要求を、クライアント装置からサーバ装置へ通信するステップと、
ｂ．前記クライアント装置による最初の処理の要求に応じて前記サーバ装置上でウェブ・トランザクション識別子（ＷＴＩＤ）を生成し、前記独立した要求の持続時間の間維持するステップと、
ｃ．前記ＷＴＩＤによって特徴付けられた１つのトランザクション内の、前記独立した要求のそれぞれを集約するステップと、
ｄ．前記トランザクションを達成するために、少なくとも１つの資源サーバを識別するステップと、
ｅ．前記資源と処置のコミットに関して、前記資源サーバのそれぞれと前記サーバ装置との間の通信を共通コミット調整手段により調整するステップと、
を含み、
ｆ．各独立した要求について、前記集約するステップは、
前記サーバ装置で、識別された資源サーバのインターフェースに適した実行プロセスをスレッドとして作成し、管理するステップと、
各実行プロセスのスレッドを、前記ＷＴＩＤを参照することにより、前記論理的に１つのトランザクションに関連付けるステップと、を含み、
ｇ．前記調整するステップの実行により、前記資源サーバのそれぞれと前記サーバ装置との間の前記ＷＴＩＤにより参照される要求についての通信を、前記作成された実行プロセスと独立して成し遂げる、
ことを特徴とする方法。
【請求項２】
前記実行プロセスは、ＣＧＩを用いるスレッドであることを特徴とする請求項１に記載の方法。
【請求項３】
前記実行プロセスは、ＩＣＡＰＩを用いるスレッドであることを特徴とする請求項１に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インターネットを介する商業トランザクションの実行に関し、具体的には、複数の独立のウェブ要求にまたがってトランザクション・スコープを集約する技法に関する。
【０００２】
【従来の技術】
電子商取引は、特にワールド・ワイド・ウェブ上で、指数関数的に増加しつつある。多くの企業が、ウェブ・サイト上に仮想店舗をセット・アップし、これによって、消費者がオンラインで製品を購入できるようにしている。ワールド・ワイド・ウェブ上の商取引の大半で、ＨＴＴＰプロトコルが使用される。ＨＴＴＰプロトコルは、ウェブ・サーバへのすばやい接続、ウェブ文書内の後続ハイパーリンクが参照された時のあるサーバから別のサーバへのジャンプなど、多数の長所を有する、ステートレスまたはセッションレスのプロトコルとして設計されている。
【０００３】
顧客が、ウェブ・サイトに訪れる時に、その顧客が同一のイベントとみなす可能性がある複数のトランザクションを試みることが最も頻繁に行われる。たとえば、休暇をとる見込みのある人は、ウェブ・サイトに訪れて航空機の搭乗券を購入し、宿泊するホテルを確保する可能性がある。従来のトランザクション処理の世界では、両方のトランザクションが成功裡に発生するか、どちらかのトランザクションが失敗した場合にどちらのトランザクションも発生しないことを保証することが可能である。
【０００４】
しかし、ＨＴＴＰプロトコルのステートレスな性質から、独立の要求を順次実行しなければならない状況が生み出され、あるトランザクションが失敗しても他のトランザクションが成功裡に完了する状況が生じる。さらに、たとえば、空いているホテルがない場合に飛行機の予約を取り消すなど、顧客が前のトランザクションをロール・バックできるようにするための完全なアプリケーションの設計は、困難であり、多くの場合に不可能である。
【０００５】
【発明が解決しようとする課題】
したがって、複数の独立のウェブ・トランザクション要求を、任意のウェブ・ブラウザから開始された単一のトランザクション要求に調整する、言い換えれば、複数の独立のウェブ要求にまたがってトランザクション・スコープを集約する方法が必要である。
【０００６】
【課題を解決するための手段】
本発明は、クライアント・サーバ環境で、クライアントが同一のトランザクションのスコープ内で要求を実行できるようにするために、単一のサーバへの複数の要求を調整するためのオンライン・トランザクション処理システムである。このシステムは、トランザクションを達成するために互いに結合されるウェブ・ページを識別する。その後、このシステムは、クライアントとサーバーの間で状態情報を渡すための手順が限られているか定義されていないかのいずれかであるプロトコルを使用して、クライアントとサーバの間で要求を通信する。ＨＴＴＰが、状態情報を渡すための手順が限られているそのようなプロトコルの一例である。サーバでは、１つまたは複数の独立の資源マネージャを用いる複数の独立の要求が実行され、要求に応答してそれら自体の間で通信する資源マネージャの処置が、調整される。
【０００７】
本発明の好ましい実施例では、会話中のクライアント確認と、そのクライアントによって要求されたグループ・トランザクションが調整される。会話中のクライアント確認は、トランザクション・スコープを必要とする、クライアントによる最初の処置の要求を、サーバに送信することによって達成される。サーバは、トランザクション識別情報を生成し、この情報は、複数の独立のステートレスなウェブ要求の持続時間の間維持される。
【０００８】
次に、トランザクション・スコープを必要とする第２の処置の要求が、クライアントによってサーバに送信される。会話内で保存されるトランザクション識別情報と、サーバによって維持されるトランザクション識別情報が、クライアントの要求トランザクションに含まれる。最後に、トランザクション完了を要求する要求が、クライアントによってサーバに送信される。クライアントとサーバの間の通信は、クライアントとサーバの間で状態情報を渡すための手順が限られているか定義されていないかのいずれかであるプロトコルを使用して実行される。
【０００９】
本発明の上記および他の特徴、態様および長所は、以下の詳細な説明、請求項および添付図面に関してよりよく理解されるようになる。
【００１０】
【発明の実施の形態】
以下は、本明細書で使用される用語の一部の定義である。
【００１１】
クライアント  サーバにコマンドを発行するプログラムまたはアプリケーション。
【００１２】
コミット調整プログラム  トランザクションの解決を調整するプログラムまたはアプリケーション。その典型的な責任には、参加プログラムからの投票を集め、トランザクションの結果を判定し、その結果についてすべての参加プログラムに知らせることが含まれる。分散２相コミット・プロトコルの解説については、グレイ（J. Gray）およびロイター（A. Reuter）著、「Transaction Processing: Concepts & Techniques」、Morgan Kaufmann刊、１９９３年を参照されたい。
【００１３】
コモン・ゲートウェイ・インターフェース（ＣＧＩ）  それによってクライアントがウェブ・サイトでのプログラムの実行を要求することのできる機構。このような要求を受け取った後に、ウェブ・サイトでは、ＣＧＩプログラムが走行し、そのプログラムの出力がクライアントに送り返される。
【００１４】
継続  クライアントによる前の要求に応答してサーバによって供給された、クライアントがサーバに送ることのできる新しい要求。ハイパーテキスト・リンクまたはハイパーリンクが、クライアント・サーバー通信での継続の例である。クライアントがサーバへの要求を行う時には、必ず、サーバがその応答に１つまたは複数の継続を含めることができる。サーバによって供給される継続は、有効な要求であれば何でもよいが、有用な継続は、一般に、クライアントによる元の要求に論理的に関連する。
【００１５】
会話  サーバが、クライアントからの要求のそれぞれに対して１組の継続を用いて応答し、クライアントが、必ずサーバによって供給された継続の組から次の要求を取り上げる、クライアントとサーバの間の通信のシーケンス。ワールド・ワイド・ウェブでは、ハイパーテキスト・リンクが会話の例である。クライアントは、サーバによって供給されるハイパーテキスト・リンクに従う時に、必ずそのサーバとの会話にかかわる。より形式的に言えば、一連のＨＴＭＬウェブ・ページｈ1、ｈ2、…、ｈnは、
１．ページｈ1、ｈ2、…、ｈnのすべてが、クライアントによって表示され
２．１＜ｉ≦ｎのすべてのｉについて、ページｈiが、ページｈi-1のハイパーテキスト・リンクに従うことによって取得された
場合に、会話を構成する。遮られない会話では、クライアントは、バックトラックなしに、ｎ−１個のハイパーリテキスト・リンクに従ってページｈ1からページｈnまでを得る。遮られた会話では、クライアントは少なくとも１回バックトラックする。バックトラックとは、クライアントが、
１．まずページｈi（１≦ｉ＜ｎ）に訪れ、
２．ハイパーテキスト・リンクに従う、明示的にＵＲＬを要求する、ウェブ・ブラウザのキャッシュを使用するのいずれかによって他のページを表示し、
３．ブラウザのキャッシュなど、メモリからｈiを再ロードすることによってページｈiに戻る
プロセスを指す。
【００１６】
ホーム・ページ  ワールド・ワイド・ウェブ・ユーザに、ウェブ・サイトに格納された情報を案内する目次。しばしば、ホーム・ページにはマルチメディア・コンテンツが含まれる。
【００１７】
ハイパーリンクまたはハイパーテキスト・リンク  選択された時に活動化される、単語、句、アイコンまたは絵に埋め込まれた、ＵＲＬ（Universal Resource Locator）などのネットワーク・アドレス。クライアントがハイパーリンクを活動化する時には、そのハイパーリンクに対応する情報が、クライアントに返され、ウェブ・ブラウザを使用して表示される。
【００１８】
ハイパーテキスト・マークアップ言語（ＨＴＭＬ）  ウェブ・クライアントによって表示されるハイパーテキスト文書を作成し、接続するために、ウェブ・サーバによって使用される言語。ハイパーテキスト文書の他の使用法は、参照によって本明細書に組み込まれる米国特許第５２０４９４７号明細書、米国特許第５２９７２４９号明細書および米国特許第５３５５４７２号明細書に記載されている。
【００１９】
ハイパーテキスト転送プロトコル（ＨＴＴＰ）  コンピュータ間でデータを転送するために、ワールド・ワイド・ウェブによって使用されるプロトコル。ＨＴＴＰを用いると、ファイルを要求するかＣＧＩプログラムを呼び出すかのいずれかによって、クライアントがサーバからデータを取得できるようになる。ＨＴＴＰはステートレス・プロトコルであり、これは、クライアントからサーバへのすべての要求が、独立に扱われることを意味する。特定のクライアントとの以前の接続について、サーバには何の記録も保持されない。ＵＲＬの先頭にある「http:」は、使用されるプロトコルがＨＴＴＰであることを示す。
【００２０】
インターネット  ＴＣＰ／ＩＰプロトコルを使用して互いに接続されたコンピュータ・ネットワークおよびゲートウェイの集合。
【００２１】
サーバ  クライアントのコマンドでタスクを実行するプログラムまたはアプリケーション。ウェブ・サイトは、サーバである場合がある。用語サーバは、ウェブ・サイトをサポートするウェブ・サーバと同義ではない。
【００２２】
実行のスレッド  ウェブ要求が実行される実行単位を指す。ＣＧＩ要求の場合には、実際の要求が実行されたプロセスと同等になり、ＩＣＡＰＩ要求の場合には、要求がその上で走行するスレッドになる。
【００２３】
トランザクション  原子的で、一貫性があり、分離され、永続性のある（ＡＣＩＤ）作業単位を指す。
【００２４】
トランザクション・スコープ  論理的に１つのトランザクションを構成する、個々の独立した要求の集合を指す。
【００２５】
トランザクション識別子  ネットワーク内で１つのトランザクションを一意に識別する識別子を指す。トランザクション識別子は、すべての場合に一意である、すなわち、再利用されない。
【００２６】
伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）  ディジタル・データをパケットに分割し、ネットワークを介してパケットを経路指定し、宛先でパケットを再構成する、プロトコルの集合。
【００２７】
ＵＲＬ（Universal Resource Locator）  ウェブ上で情報を一意に識別するかアドレッシングするための方法。ＵＲＬは、電子メール・アドレスに相当するウェブの同等物とみなすことができる。ＵＲＬは、他のものの奥深くにうまっている文書に属する場合には扱いにくくなる場合があるが、ハイパーリンクを用いてアクセスできることがしばしばである。ＵＲＬの例が「http://www.macbeth.com:80/table.html」である。ＵＲＬは、４つの構成要素を有し、左から順に、
http  使用されるプロトコル。ＵＲＬの残りの部分とはコロンによって区切られる。
www.macbeth.com  目標ホストのホスト名またはインターネット・プロトコル（ＩＰ）アドレス。この構成要素は、左側は／／、右側は／またはコロンによって区切られる。
80  任意指定のポート番号。左側はコロン、右側は／によって区切られる。
table.html  実際のファイル名またはプログラム名。
【００２８】
ウェブ・ブラウザ  人がワールド・ワイド・ウェブ上のハイパーテキスト文書を表示できるようにするクライアント・プログラム。ウェブ・ブラウザは、インターネットのナビゲートまたはサーフィンに使用することのできる絵図的なデスクトップ、ディレクトリおよび検索ツールを完備した、インターネットの旅行ガイドとして働く。
【００２９】
ウェブ・トランザクション識別子（ＷＴＩＤ）  ネットワーク内のトランザクションを一意に識別する識別子を指す。トランザクション識別子は、すべての場合に一意である、すなわち、再利用されない。
【００３０】
ワールド・ワイド・ウェブ（ウェブ）  インターネット上のハイパーテキスト文書の集合。ハイパーテキスト文書には、他の文書へのハイパーリンクが含まれ、このハイパーリンクを使用して、文書から文書へとナビゲートすることができる。実際には、インターネットで情報を探す人は、ウェブを使用して、通常は文書内の強調表示された単語または句であるハイパーリンクを選択することによって、サーバからサーバへ、データベースからデータベースへ切り替えることができる。ウェブ上の資源は、ＵＲＬを介してアクセス可能である。ウェブでは、ＨＴＭＬを使用して、ＵＲＬに対応する情報を表示し、他のＵＲＬへのポイント・アンド・クリック・インターフェースを提供する。
【００３１】
図１は、ウェブ・ブラウザ１０２を使用し、クライアント状態情報を維持するための手順が限られているか定義されていない、ＨＴＴＰ  １０９などの通信プロトコルを使用してインターネット１００を介してサーバ１０３と通信するクライアント１０１を示す図である。サーバ１０３には、ページ・アセンブラ構成要素１０４、ウェブ通信資源マネージャ（ＣＲＭ）１０５およびコミット調整プログラム１０６が含まれる。サーバ１０３は、ウェブ・ページ１０７およびウェブ・アプリケーション１０８などの下層資源マネージャへのアクセスを有する。クライアント状態情報を維持するための手順が限られているか定義されていないとは、そのプロトコルを使用するクライアントとサーバの間の通信のタイプの空でないサブセットに関して、そのプロトコルによって定義される手順を使用する会話でのクライアントの前の要求などの状態変数を保存し、その結果、会話の残りの間にサーバ１０３がその状態変数を後程取り出すことができるようにすることが困難または不可能であることを意味する。
【００３２】
ウェブＣＲＭ  １０５は、サーバ側のトランザクション管理を提供し、複数のウェブ要求を単一の集約されたトランザクション・スコープに集約するための特殊な論理を有する。コミット調整プログラム１０６は、周知の分散２相コミット・プロトコルの実装を提供する。
【００３３】
任意選択として、一般的に、クライアント１０１は、ウェブ・ブラウザ１０２を使用して、その要求の結果を視覚的に表示し、新しい要求を入力する。
【００３４】
サーバ１０３は、クライアント１０１の要求が同一のトランザクションの一部であるかのように、それらの要求を調整する。クライアント１０１は、サーバ１０３に要求を発行して、トランザクションとして指定されるかタグを付けられたＵＲＬに触れることによって、ＨＴＴＰプロトコルを使用するＵＲＬに関するトランザクションを開始する。図２ないし図４に、ステップ５００で要求が発行される、本発明の好ましい実施例を示す。
【００３５】
ステップ５３０で、サーバ１０３（図１）は、その要求がスタティックＨＴＭＬページに関するものであるかどうかを判定する。スタティック・ウェブ・ページが要求された場合、処理はステップ５５０で続行され、ここで、ＵＲＬによって指定されたＨＴＭＬページが、ＲＡＭ、ディスクおよびＣＤなど（これに制限されない）の記憶媒体から取り出される。しかし、スタティック・ウェブ・ページが要求されなかったと判定された場合には、処理はステップ５３５で続行され、ここで、クライアントによって接触されたサーバ１０３（図１）は、ＵＲＬ要求が周知のＵＲＬすなわち暗黙の意味論を有するＵＲＬであるかどうかを判定する。
【００３６】
ステップ６００で、サーバは、ウェブ・ページを走査して、そのページにトランザクション関連キーワードがあるかどうかを判定する。ページには、図６のＵＲＬ４０１などのＵＲＬに埋め込まれた、「WTID=TXCODE」などのキーワードが含まれる場合がある。前に述べたように、暗黙のトランザクション意味論を有する「周知」のＵＲＬが存在しなければならない。これらのＵＲＬは、トランザクション関連キーワードによって指定されなければならない。これは、ウェブ・ページのCOMMIT（コミット）ボタン、ABORT（中止）ボタンまたはDONE（終了）ボタンによって表すことができる。エンド・ユーザは、トランザクションを終了するためにこれらのボタンを選択する。ステップ６００でトランザクション関連キーワードがない場合には、ステップ６２５で、既存のウェブ・サーバと同様に、そのウェブ・ページをクライアント１０１（図１）に返す。
【００３７】
しかし、ステップ６００で、トランザクション的意味論すなわちウェブ・ページに関連する追加のトランザクションがあると判定された場合には、ステップ６０５で、この会話に関してＷＴＩＤが存在するかどうかを判定する。前の要求でこのトランザクションが開始された場合、継続技法を使用して、現在処理中のスタティック・ウェブ・ページにＷＴＩＤを伝播することができる。スタティック・ページにまたがって続行するためには、そのＷＴＩＤを、現ＵＲＬ上のＷＴＩＤキーワードとして渡すか、クライアントのＩＰアドレスやＮｅｔｓｃａｐｅのクッキーなどの周知の技法を使用するクライアント識別に基づくものとすることができる。
【００３８】
この会話に関するＷＴＩＤが存在しない場合には、ステップ６１０で、ＷＴＩＤを作成し、任意選択として、ステップ６１５で、クライアントが適当な時間のうちに応答しない場合に進行中の作業を打ち切るための技法を提供するために、タイマをセットすることができる。ステップ６０５で突き止められたかステップ６１０で作成されたかのいずれかのＷＴＩＤは、ステップ６２０でウェブ・ページに挿入され、図７に示されたＵＲＬ４０２がもたらされる。ステップ６２５で、ウェブ・ページをクライアント１０１（図１）に返す。
【００３９】
図４からわかるように、ステップ５３５（図２）で周知のＵＲＬが入力された場合、処理は、ステップ５１０へ続行され、ウェブＣＲＭが、ＵＲＬからウェブ・トランザクション識別子（ＷＴＩＤ）を抽出し、それが表すトランザクションが有効であるかどうかを判定する。ステップ５１０での２つの可能な有効性検査には、下記が含まれる。
１）トランザクションがタイム・アウトになったかどうかのテスト
２）トランザクション識別子がこのサーバにとって意味のあるものである、すなわち、このサーバに既知またはこのサーバが生成したものであるかどうかのテスト
追加の有効性検査を実行することができる。ＷＴＩＤが無効な場合、ステップ５１５で、サーバがクライアント要求を拒絶する。この会話は、エラー・メッセージで終了することができる。
【００４０】
ＷＴＩＤが有効であると判定された場合には、ステップ５２０で、サーバ１０３（図１）が、コミット調整プログラム１０６（図１）への呼出しを呼び出すことによって、コミット処理を開始する。コミット調整プログラム１０６（図１）は、そのトランザクションに関するすべてのコミット処理と回復を処理する。
【００４１】
図４に戻って、ステップ５２５で、ウェブ通信資源マネージャが、トランザクションのためにセットされたタイマを終了させる。というのは、このタイマは、トランザクションが活動状態の時すなわち、トランザクション・コミット処理の前の時にだけ必要になるからである。ステップ５３０に示されるように、ローカル・コミット処理が終了したならば、サーバ１０３（図１）は、実装されたプロトコルを介してクライアントにトランザクション結果の表示を返す。
【００４２】
図２に戻って、ステップ５３５での周知のＵＲＬに関するテストが否定の場合には、処理は図３のステップ５４０で続行されて、ＷＴＩＤがＵＲＬに存在し、たとえばＣＧＩベースのプログラムなどのアプリケーションをスケジューリングしなければならないことが示されるかどうかが判定される。ＷＴＩＤが存在しない場合には、ステップ５８５で、標準的なサーバと同様の形で要求をスケジューリングし、ステップ５８０で、出力ページを生成する。生成されるページに、たとえばＷＴＩＤキーワードなど、トランザクション関連の要求を示すものが含まれる場合には、図２のステップ６２０に関して説明したように、ページ内で現行ＷＴＩＤに置換しなければならない。このページは、その後、ステップ５９０で、実装されたトランザクション・プロトコルを介してクライアントに返される。
【００４３】
ステップ５４０に戻って、ＷＴＩＤがＵＲＬに存在する場合、ステップ５４５で、そのＷＴＩＤの有効性を判定する。これらの検査は、図４のステップ５１０に関して説明したものと同一である。ステップ５４５で、ＷＴＩＤが無効であると判定された場合には、ステップ５６０でクライアント要求が拒絶される。しかし、ＷＴＩＤが有効である場合には、そのＷＴＩＤは、ステップ５５５で現在の実行のスレッドと関連付けられ、ステップ５６５で、スケジューリングの要求が発行される。
【００４４】
要求の実行中に、ステップ５７０で、回復可能な資源がアクセスされたかどうかを判定する。資源がアクセスされていない場合には、処理はステップ５８０に進む。回復可能な資源がアクセスされた場合には、ステップ５７５で、トランザクションの関心を表現し、発行元の資源マネージャがトランザクションの参加プログラムであることを示す。
【００４５】
最後に、ステップ５８０で、出力ページを生成する。生成されたページに、たとえばＷＴＩＤキーワードなど、トランザクション関連の要求を示すものが含まれる場合には、ステップ６２０に関して説明した形で、ページ内で現行ＷＴＩＤに置換しなければならない。その後、このページは、ステップ５９０でクライアントに返される。
【００４６】
ワールド・ワイド・ウェブを介するオンライン・トランザクション処理を実行すると同時に、トランザクション・スコープを集約するための本発明のシステムは、図５に示された形で構成することができる。このシステムには、ウェブ・サーバ２１１、資源マネージャ２１０、ＣＧＩアプリケーション２０８および共通コミット調整プログラム２１２が含まれる。ウェブ・サーバ２１１と共通コミット調整プログラム２１２の構成要素が、サーバ１０３（図１）を構成する。
【００４７】
ウェブ・サーバ２１１は、ＨＴＴＰデーモンを実行し、このＨＴＴＰデーモンは、任意選択として、別の内部プログラムまたは外部プログラムにパラメータを渡すためのインターフェースを提供することができる。インターフェースであるＣＧＩ２０６およびＩＣＡＰＩ２０５を用いると、ＵＲＬ情報に基づいて、ユーザ作成のアプリケーションを実行できるようになる。ウェブ・サーバ２１１の構成要素には、以下を含めることができる。
ａ．ページ内にトランザクション関連のキーワードがあるかどうかを判定するためにウェブ・ページを走査し、サービスされるウェブ・ページにＷＴＩＤを挿入するための、ページ・アセンブラ構成要素１０４（図１）を表すＳＳＩ／ページ２１４。
ｂ．トランザクションの境界を画定し、図２に関連して説明した形でタイマを確立するための関数からなるＳＳＩ／ＲＭ  ２０１。ＳＳＩ／ＲＭ  ２０１とウェブ・スレッド２０４が一緒になって、ウェブＣＲＭ  １０５（図１）を構成する。
ｃ．ＩＣＡＰＩアプリケーション２０７の場合にはＷＴＩＤをスレッドに関連付け、ＣＧＩアプリケーション２０８の場合にはＷＴＩＤを実行のプロセスに関連付けるのに使用される関数からなる、ウェブ・スレッド２０４。
ｄ．ＣＧＩアプリケーション２０８と共に、動的にウェブ・ページを生成することのできるウェブ・アプリケーション１０８（図１）の特定のタイプを表す、ＩＣＡＰＩアプリケーション２０７。
【００４８】
ＩＣＡＰＩアプリケーション２０７とＣＧＩアプリケーション２０８は、任意選択として、それぞれインターフェース２０９またはインターフェース２１３を使用して、資源マネージャ２１０と対話することができる。インターフェース２０９および２１３は、異なってもよいが、暗黙のうちにまたは明示的に開始元の実行のスレッドまたはプロセスに関連するＷＴＩＤを資源マネージャ２１０に通信できなければならない。共通コミット調整プログラム２１２は、ＣＣインターフェース２０２を介してＳＳＩ／ＲＭ  ２０１と対話し、ＣＣインターフェース２０３を介して資源マネージャ２１０と対話する。
【００４９】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００５０】
（１）通信するクライアント装置およびサーバ装置のネットワークでトランザクションを処理するための方法において、前記クライアント装置およびサーバ装置が、クライアント装置とサーバ装置との間で状態情報を渡すための手順が限られるか定義されていないプロトコルを使用する非セッション指向のクライアント・サーバの形で通信し、
ａ．クライアント装置からサーバ装置へ、トランザクション・スコープを必要とする資源および処置の複数の独立の要求を通信するステップと、
ｂ．前記サーバ装置上でトランザクション識別情報を生成し、維持するステップと、
ｃ．前記トランザクション識別情報の特徴を有するトランザクション内の前記独立の要求のそれぞれを集約するステップと、
ｄ．前記トランザクションを達成するために、個々の共存関係にある資源サーバを識別するステップと
を含む方法。
（２）前記サーバ装置が、前記個々の資源サーバのそれぞれとの通信を調整する、上記（１）に記載の方法。
（３）ｅ．前記トランザクションの実行に必要な個々の資源サーバを予約するステップと、
ｆ．前記トランザクションをコミットしなければならないかどうかを示すためにトランザクション識別子を作成するステップと、
ｇ．少なくとも１つの前記個々の資源サーバを含む前記独立の要求を実行するステップと、
ｈ．前記要求された資源と、前記処置の完了とを、前記サーバ装置から前記クライアント装置に通信するステップと
をさらに含む、上記（２）に記載の方法。
（４）前記トランザクション識別情報が、前記クライアント装置によって要求された前記トランザクションの実行に関する所定の時間期間を含む、上記（３）に記載の方法。
（５）ステップ（ｇ）が、前記クライアント装置によって要求された前記トランザクションに関する前記所定の時間期間で実行される、上記（４）に記載の方法。
（６）前記サーバ装置が、許可されたクライアント装置から通信されることについて前記複数の独立の要求のそれぞれを確認する、上記（５）に記載の方法。
（７）ステップ（ｂ）で、前記独立の要求のうちの最初の要求を受け取り、前記複数の独立の要求の持続時間の間維持した後に、前記トランザクション識別情報が生成される、上記（６）に記載の方法。
（８）通信する装置のネットワークでトランザクションを処理するための方法ステップを実行するために計算機によって実行可能な命令のプログラムを具体的に実施する、計算機によって可読のコンピュータ・プログラムの記憶媒体であって、前記記憶媒体が、クライアント装置とサーバ装置との間で状態情報を渡すための手順が限られるか定義されていないプロトコルを使用する非セッション指向のクライアント・サーバの形で通信し、前記方法が、
ａ．クライアント装置からサーバ装置へ、トランザクション・スコープを必要とする資源および処置の複数の独立の要求を通信するステップと、
ｂ．前記サーバ装置上でトランザクション識別情報を生成し、維持するステップと、
ｃ．前記トランザクション識別情報の特徴を有するトランザクション内の前記独立の要求のそれぞれを集約するステップと、
ｄ．前記トランザクションを達成する際に共存関係になる個々の資源サーバを識別するステップと
を含む、記憶媒体。
（９）前記サーバ装置が、前記個々の資源サーバのそれぞれとの通信を調整する、上記（８）に記載の記憶媒体。
（１０）前記方法がさらに、
ｅ．前記トランザクションの実行に必要な個々の資源サーバを予約するステップと、
ｆ．前記トランザクションをコミットしなければならないかどうかを示すためにトランザクション識別子を作成するステップと、
ｇ．少なくとも１つの前記個々の資源サーバを含む前記独立の要求を実行するステップと、
ｈ．前記要求された資源と、前記処置の完了とを、前記サーバ装置から前記クライアント装置に通信するステップと
を含む、上記（９）に記載の記憶媒体。
（１１）前記トランザクション識別情報が、前記クライアント装置によって要求された前記トランザクションの実行に関する所定の時間期間を含む、上記（１０）に記載の記憶媒体。
（１２）ステップ（ｇ）が、前記クライアント装置によって要求された前記トランザクションに関する前記所定の時間期間で実行される、上記（１１）に記載の記憶媒体。
（１３）前記サーバ装置が、許可されたクライアント装置から通信されることについて前記複数の独立の要求のそれぞれを確認する、上記（１２）に記載の記憶媒体。
（１４）ステップ（ｂ）で、前記独立の要求のうちの最初の要求を受け取り、前記複数の独立の要求の持続時間の間維持した後に、前記トランザクション識別情報が生成される、上記（１３）に記載の記憶媒体。
【図面の簡単な説明】
【図１】本発明の好ましい実施例の全体的なアーキテクチャを示す図である。
【図２】本発明の好ましい実施例による、複数の独立のウェブ要求に対してトランザクション・スコープを集約するための方法の流れ図の一部である。
【図３】本発明の好ましい実施例による、複数の独立のウェブ要求に対してトランザクション・スコープを集約するための方法の流れ図の一部である。
【図４】本発明の好ましい実施例による、複数の独立のウェブ要求に対してトランザクション・スコープを集約するための方法の流れ図の一部である。
【図５】トランザクション・スコープの集約中にワールド・ワイド・ウェブに対するオンライン・トランザクション処理を実行するための特徴を有する本発明のシステムを示す図である。
【図６】ＣＧＩプログラムへのハイパーテキスト・リンクの構造を示す図である。
【図７】ウェブ・トランザクション識別子（ＷＴＩＤ）を含むように変更された、図６の構造を示す図である。
【符号の説明】
２０１  ＳＳＩ／ＲＭ
２０２  ＣＣインターフェース
２０３  ＣＣインターフェース
２０４  ウェブ・スレッド
２０５  ＩＣＡＰＩ
２０６  ＣＧＩ
２０７  ＩＣＡＰＩアプリケーション
２０８  ＣＧＩアプリケーション
２０９  インターフェース
２１０  資源マネージャ
２１１  ウェブ・サーバ
２１２  共通コミット調整プログラム
２１３  インターフェース
２１４  ＳＳＩ／ページ
【図１】
0003935650.tif 000002
【図２】
0003935650.tif 000003
【図３】
0003935650.tif 000004
【図４】
0003935650.tif 000005
【図５】
0003935650.tif 000006
【図６】
0003935650.tif 000007
【図７】
0003935650.tif 000008