JP3935650B2 - トランザクション処理方法及び記憶媒体 - Google Patents

トランザクション処理方法及び記憶媒体 Download PDF

Info

Publication number
JP3935650B2
JP3935650B2 JP2000002099A JP2000002099A JP3935650B2 JP 3935650 B2 JP3935650 B2 JP 3935650B2 JP 2000002099 A JP2000002099 A JP 2000002099A JP 2000002099 A JP2000002099 A JP 2000002099A JP 3935650 B2 JP3935650 B2 JP 3935650B2
Authority
JP
Japan
Prior art keywords
transaction
server
client
web
request
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
JP2000002099A
Other languages
English (en)
Other versions
JP2000207365A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2000207365A publication Critical patent/JP2000207365A/ja
Application granted granted Critical
Publication of JP3935650B2 publication Critical patent/JP3935650B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1027Persistence of sessions during load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、インターネットを介する商業トランザクションの実行に関し、具体的には、複数の独立のウェブ要求にまたがってトランザクション・スコープを集約する技法に関する。
【0002】
【従来の技術】
電子商取引は、特にワールド・ワイド・ウェブ上で、指数関数的に増加しつつある。多くの企業が、ウェブ・サイト上に仮想店舗をセット・アップし、これによって、消費者がオンラインで製品を購入できるようにしている。ワールド・ワイド・ウェブ上の商取引の大半で、HTTPプロトコルが使用される。HTTPプロトコルは、ウェブ・サーバへのすばやい接続、ウェブ文書内の後続ハイパーリンクが参照された時のあるサーバから別のサーバへのジャンプなど、多数の長所を有する、ステートレスまたはセッションレスのプロトコルとして設計されている。
【0003】
顧客が、ウェブ・サイトに訪れる時に、その顧客が同一のイベントとみなす可能性がある複数のトランザクションを試みることが最も頻繁に行われる。たとえば、休暇をとる見込みのある人は、ウェブ・サイトに訪れて航空機の搭乗券を購入し、宿泊するホテルを確保する可能性がある。従来のトランザクション処理の世界では、両方のトランザクションが成功裡に発生するか、どちらかのトランザクションが失敗した場合にどちらのトランザクションも発生しないことを保証することが可能である。
【0004】
しかし、HTTPプロトコルのステートレスな性質から、独立の要求を順次実行しなければならない状況が生み出され、あるトランザクションが失敗しても他のトランザクションが成功裡に完了する状況が生じる。さらに、たとえば、空いているホテルがない場合に飛行機の予約を取り消すなど、顧客が前のトランザクションをロール・バックできるようにするための完全なアプリケーションの設計は、困難であり、多くの場合に不可能である。
【0005】
【発明が解決しようとする課題】
したがって、複数の独立のウェブ・トランザクション要求を、任意のウェブ・ブラウザから開始された単一のトランザクション要求に調整する、言い換えれば、複数の独立のウェブ要求にまたがってトランザクション・スコープを集約する方法が必要である。
【0006】
【課題を解決するための手段】
本発明は、クライアント・サーバ環境で、クライアントが同一のトランザクションのスコープ内で要求を実行できるようにするために、単一のサーバへの複数の要求を調整するためのオンライン・トランザクション処理システムである。このシステムは、トランザクションを達成するために互いに結合されるウェブ・ページを識別する。その後、このシステムは、クライアントとサーバーの間で状態情報を渡すための手順が限られているか定義されていないかのいずれかであるプロトコルを使用して、クライアントとサーバの間で要求を通信する。HTTPが、状態情報を渡すための手順が限られているそのようなプロトコルの一例である。サーバでは、1つまたは複数の独立の資源マネージャを用いる複数の独立の要求が実行され、要求に応答してそれら自体の間で通信する資源マネージャの処置が、調整される。
【0007】
本発明の好ましい実施例では、会話中のクライアント確認と、そのクライアントによって要求されたグループ・トランザクションが調整される。会話中のクライアント確認は、トランザクション・スコープを必要とする、クライアントによる最初の処置の要求を、サーバに送信することによって達成される。サーバは、トランザクション識別情報を生成し、この情報は、複数の独立のステートレスなウェブ要求の持続時間の間維持される。
【0008】
次に、トランザクション・スコープを必要とする第2の処置の要求が、クライアントによってサーバに送信される。会話内で保存されるトランザクション識別情報と、サーバによって維持されるトランザクション識別情報が、クライアントの要求トランザクションに含まれる。最後に、トランザクション完了を要求する要求が、クライアントによってサーバに送信される。クライアントとサーバの間の通信は、クライアントとサーバの間で状態情報を渡すための手順が限られているか定義されていないかのいずれかであるプロトコルを使用して実行される。
【0009】
本発明の上記および他の特徴、態様および長所は、以下の詳細な説明、請求項および添付図面に関してよりよく理解されるようになる。
【0010】
【発明の実施の形態】
以下は、本明細書で使用される用語の一部の定義である。
【0011】
クライアント サーバにコマンドを発行するプログラムまたはアプリケーション。
【0012】
コミット調整プログラム トランザクションの解決を調整するプログラムまたはアプリケーション。その典型的な責任には、参加プログラムからの投票を集め、トランザクションの結果を判定し、その結果についてすべての参加プログラムに知らせることが含まれる。分散2相コミット・プロトコルの解説については、グレイ(J. Gray)およびロイター(A. Reuter)著、「Transaction Processing: Concepts & Techniques」、Morgan Kaufmann刊、1993年を参照されたい。
【0013】
コモン・ゲートウェイ・インターフェース(CGI) それによってクライアントがウェブ・サイトでのプログラムの実行を要求することのできる機構。このような要求を受け取った後に、ウェブ・サイトでは、CGIプログラムが走行し、そのプログラムの出力がクライアントに送り返される。
【0014】
継続 クライアントによる前の要求に応答してサーバによって供給された、クライアントがサーバに送ることのできる新しい要求。ハイパーテキスト・リンクまたはハイパーリンクが、クライアント・サーバー通信での継続の例である。クライアントがサーバへの要求を行う時には、必ず、サーバがその応答に1つまたは複数の継続を含めることができる。サーバによって供給される継続は、有効な要求であれば何でもよいが、有用な継続は、一般に、クライアントによる元の要求に論理的に関連する。
【0015】
会話 サーバが、クライアントからの要求のそれぞれに対して1組の継続を用いて応答し、クライアントが、必ずサーバによって供給された継続の組から次の要求を取り上げる、クライアントとサーバの間の通信のシーケンス。ワールド・ワイド・ウェブでは、ハイパーテキスト・リンクが会話の例である。クライアントは、サーバによって供給されるハイパーテキスト・リンクに従う時に、必ずそのサーバとの会話にかかわる。より形式的に言えば、一連のHTMLウェブ・ページh1、h2、…、hnは、
1.ページh1、h2、…、hnのすべてが、クライアントによって表示され
2.1<i≦nのすべてのiについて、ページhiが、ページhi-1のハイパーテキスト・リンクに従うことによって取得された
場合に、会話を構成する。遮られない会話では、クライアントは、バックトラックなしに、n−1個のハイパーリテキスト・リンクに従ってページh1からページhnまでを得る。遮られた会話では、クライアントは少なくとも1回バックトラックする。バックトラックとは、クライアントが、
1.まずページhi(1≦i<n)に訪れ、
2.ハイパーテキスト・リンクに従う、明示的にURLを要求する、ウェブ・ブラウザのキャッシュを使用するのいずれかによって他のページを表示し、
3.ブラウザのキャッシュなど、メモリからhiを再ロードすることによってページhiに戻る
プロセスを指す。
【0016】
ホーム・ページ ワールド・ワイド・ウェブ・ユーザに、ウェブ・サイトに格納された情報を案内する目次。しばしば、ホーム・ページにはマルチメディア・コンテンツが含まれる。
【0017】
ハイパーリンクまたはハイパーテキスト・リンク 選択された時に活動化される、単語、句、アイコンまたは絵に埋め込まれた、URL(Universal Resource Locator)などのネットワーク・アドレス。クライアントがハイパーリンクを活動化する時には、そのハイパーリンクに対応する情報が、クライアントに返され、ウェブ・ブラウザを使用して表示される。
【0018】
ハイパーテキスト・マークアップ言語(HTML) ウェブ・クライアントによって表示されるハイパーテキスト文書を作成し、接続するために、ウェブ・サーバによって使用される言語。ハイパーテキスト文書の他の使用法は、参照によって本明細書に組み込まれる米国特許第5204947号明細書、米国特許第5297249号明細書および米国特許第5355472号明細書に記載されている。
【0019】
ハイパーテキスト転送プロトコル(HTTP) コンピュータ間でデータを転送するために、ワールド・ワイド・ウェブによって使用されるプロトコル。HTTPを用いると、ファイルを要求するかCGIプログラムを呼び出すかのいずれかによって、クライアントがサーバからデータを取得できるようになる。HTTPはステートレス・プロトコルであり、これは、クライアントからサーバへのすべての要求が、独立に扱われることを意味する。特定のクライアントとの以前の接続について、サーバには何の記録も保持されない。URLの先頭にある「http:」は、使用されるプロトコルがHTTPであることを示す。
【0020】
インターネット TCP/IPプロトコルを使用して互いに接続されたコンピュータ・ネットワークおよびゲートウェイの集合。
【0021】
サーバ クライアントのコマンドでタスクを実行するプログラムまたはアプリケーション。ウェブ・サイトは、サーバである場合がある。用語サーバは、ウェブ・サイトをサポートするウェブ・サーバと同義ではない。
【0022】
実行のスレッド ウェブ要求が実行される実行単位を指す。CGI要求の場合には、実際の要求が実行されたプロセスと同等になり、ICAPI要求の場合には、要求がその上で走行するスレッドになる。
【0023】
トランザクション 原子的で、一貫性があり、分離され、永続性のある(ACID)作業単位を指す。
【0024】
トランザクション・スコープ 論理的に1つのトランザクションを構成する、個々の独立した要求の集合を指す。
【0025】
トランザクション識別子 ネットワーク内で1つのトランザクションを一意に識別する識別子を指す。トランザクション識別子は、すべての場合に一意である、すなわち、再利用されない。
【0026】
伝送制御プロトコル/インターネット・プロトコル(TCP/IP) ディジタル・データをパケットに分割し、ネットワークを介してパケットを経路指定し、宛先でパケットを再構成する、プロトコルの集合。
【0027】
URL(Universal Resource Locator) ウェブ上で情報を一意に識別するかアドレッシングするための方法。URLは、電子メール・アドレスに相当するウェブの同等物とみなすことができる。URLは、他のものの奥深くにうまっている文書に属する場合には扱いにくくなる場合があるが、ハイパーリンクを用いてアクセスできることがしばしばである。URLの例が「http://www.macbeth.com:80/table.html」である。URLは、4つの構成要素を有し、左から順に、
http 使用されるプロトコル。URLの残りの部分とはコロンによって区切られる。
www.macbeth.com 目標ホストのホスト名またはインターネット・プロトコル(IP)アドレス。この構成要素は、左側は//、右側は/またはコロンによって区切られる。
80 任意指定のポート番号。左側はコロン、右側は/によって区切られる。
table.html 実際のファイル名またはプログラム名。
【0028】
ウェブ・ブラウザ 人がワールド・ワイド・ウェブ上のハイパーテキスト文書を表示できるようにするクライアント・プログラム。ウェブ・ブラウザは、インターネットのナビゲートまたはサーフィンに使用することのできる絵図的なデスクトップ、ディレクトリおよび検索ツールを完備した、インターネットの旅行ガイドとして働く。
【0029】
ウェブ・トランザクション識別子(WTID) ネットワーク内のトランザクションを一意に識別する識別子を指す。トランザクション識別子は、すべての場合に一意である、すなわち、再利用されない。
【0030】
ワールド・ワイド・ウェブ(ウェブ) インターネット上のハイパーテキスト文書の集合。ハイパーテキスト文書には、他の文書へのハイパーリンクが含まれ、このハイパーリンクを使用して、文書から文書へとナビゲートすることができる。実際には、インターネットで情報を探す人は、ウェブを使用して、通常は文書内の強調表示された単語または句であるハイパーリンクを選択することによって、サーバからサーバへ、データベースからデータベースへ切り替えることができる。ウェブ上の資源は、URLを介してアクセス可能である。ウェブでは、HTMLを使用して、URLに対応する情報を表示し、他のURLへのポイント・アンド・クリック・インターフェースを提供する。
【0031】
図1は、ウェブ・ブラウザ102を使用し、クライアント状態情報を維持するための手順が限られているか定義されていない、HTTP 109などの通信プロトコルを使用してインターネット100を介してサーバ103と通信するクライアント101を示す図である。サーバ103には、ページ・アセンブラ構成要素104、ウェブ通信資源マネージャ(CRM)105およびコミット調整プログラム106が含まれる。サーバ103は、ウェブ・ページ107およびウェブ・アプリケーション108などの下層資源マネージャへのアクセスを有する。クライアント状態情報を維持するための手順が限られているか定義されていないとは、そのプロトコルを使用するクライアントとサーバの間の通信のタイプの空でないサブセットに関して、そのプロトコルによって定義される手順を使用する会話でのクライアントの前の要求などの状態変数を保存し、その結果、会話の残りの間にサーバ103がその状態変数を後程取り出すことができるようにすることが困難または不可能であることを意味する。
【0032】
ウェブCRM 105は、サーバ側のトランザクション管理を提供し、複数のウェブ要求を単一の集約されたトランザクション・スコープに集約するための特殊な論理を有する。コミット調整プログラム106は、周知の分散2相コミット・プロトコルの実装を提供する。
【0033】
任意選択として、一般的に、クライアント101は、ウェブ・ブラウザ102を使用して、その要求の結果を視覚的に表示し、新しい要求を入力する。
【0034】
サーバ103は、クライアント101の要求が同一のトランザクションの一部であるかのように、それらの要求を調整する。クライアント101は、サーバ103に要求を発行して、トランザクションとして指定されるかタグを付けられたURLに触れることによって、HTTPプロトコルを使用するURLに関するトランザクションを開始する。図2ないし図4に、ステップ500で要求が発行される、本発明の好ましい実施例を示す。
【0035】
ステップ530で、サーバ103(図1)は、その要求がスタティックHTMLページに関するものであるかどうかを判定する。スタティック・ウェブ・ページが要求された場合、処理はステップ550で続行され、ここで、URLによって指定されたHTMLページが、RAM、ディスクおよびCDなど(これに制限されない)の記憶媒体から取り出される。しかし、スタティック・ウェブ・ページが要求されなかったと判定された場合には、処理はステップ535で続行され、ここで、クライアントによって接触されたサーバ103(図1)は、URL要求が周知のURLすなわち暗黙の意味論を有するURLであるかどうかを判定する。
【0036】
ステップ600で、サーバは、ウェブ・ページを走査して、そのページにトランザクション関連キーワードがあるかどうかを判定する。ページには、図6のURL401などのURLに埋め込まれた、「WTID=TXCODE」などのキーワードが含まれる場合がある。前に述べたように、暗黙のトランザクション意味論を有する「周知」のURLが存在しなければならない。これらのURLは、トランザクション関連キーワードによって指定されなければならない。これは、ウェブ・ページのCOMMIT(コミット)ボタン、ABORT(中止)ボタンまたはDONE(終了)ボタンによって表すことができる。エンド・ユーザは、トランザクションを終了するためにこれらのボタンを選択する。ステップ600でトランザクション関連キーワードがない場合には、ステップ625で、既存のウェブ・サーバと同様に、そのウェブ・ページをクライアント101(図1)に返す。
【0037】
しかし、ステップ600で、トランザクション的意味論すなわちウェブ・ページに関連する追加のトランザクションがあると判定された場合には、ステップ605で、この会話に関してWTIDが存在するかどうかを判定する。前の要求でこのトランザクションが開始された場合、継続技法を使用して、現在処理中のスタティック・ウェブ・ページにWTIDを伝播することができる。スタティック・ページにまたがって続行するためには、そのWTIDを、現URL上のWTIDキーワードとして渡すか、クライアントのIPアドレスやNetscapeのクッキーなどの周知の技法を使用するクライアント識別に基づくものとすることができる。
【0038】
この会話に関するWTIDが存在しない場合には、ステップ610で、WTIDを作成し、任意選択として、ステップ615で、クライアントが適当な時間のうちに応答しない場合に進行中の作業を打ち切るための技法を提供するために、タイマをセットすることができる。ステップ605で突き止められたかステップ610で作成されたかのいずれかのWTIDは、ステップ620でウェブ・ページに挿入され、図7に示されたURL402がもたらされる。ステップ625で、ウェブ・ページをクライアント101(図1)に返す。
【0039】
図4からわかるように、ステップ535(図2)で周知のURLが入力された場合、処理は、ステップ510へ続行され、ウェブCRMが、URLからウェブ・トランザクション識別子(WTID)を抽出し、それが表すトランザクションが有効であるかどうかを判定する。ステップ510での2つの可能な有効性検査には、下記が含まれる。
1)トランザクションがタイム・アウトになったかどうかのテスト
2)トランザクション識別子がこのサーバにとって意味のあるものである、すなわち、このサーバに既知またはこのサーバが生成したものであるかどうかのテスト
追加の有効性検査を実行することができる。WTIDが無効な場合、ステップ515で、サーバがクライアント要求を拒絶する。この会話は、エラー・メッセージで終了することができる。
【0040】
WTIDが有効であると判定された場合には、ステップ520で、サーバ103(図1)が、コミット調整プログラム106(図1)への呼出しを呼び出すことによって、コミット処理を開始する。コミット調整プログラム106(図1)は、そのトランザクションに関するすべてのコミット処理と回復を処理する。
【0041】
図4に戻って、ステップ525で、ウェブ通信資源マネージャが、トランザクションのためにセットされたタイマを終了させる。というのは、このタイマは、トランザクションが活動状態の時すなわち、トランザクション・コミット処理の前の時にだけ必要になるからである。ステップ530に示されるように、ローカル・コミット処理が終了したならば、サーバ103(図1)は、実装されたプロトコルを介してクライアントにトランザクション結果の表示を返す。
【0042】
図2に戻って、ステップ535での周知のURLに関するテストが否定の場合には、処理は図3のステップ540で続行されて、WTIDがURLに存在し、たとえばCGIベースのプログラムなどのアプリケーションをスケジューリングしなければならないことが示されるかどうかが判定される。WTIDが存在しない場合には、ステップ585で、標準的なサーバと同様の形で要求をスケジューリングし、ステップ580で、出力ページを生成する。生成されるページに、たとえばWTIDキーワードなど、トランザクション関連の要求を示すものが含まれる場合には、図2のステップ620に関して説明したように、ページ内で現行WTIDに置換しなければならない。このページは、その後、ステップ590で、実装されたトランザクション・プロトコルを介してクライアントに返される。
【0043】
ステップ540に戻って、WTIDがURLに存在する場合、ステップ545で、そのWTIDの有効性を判定する。これらの検査は、図4のステップ510に関して説明したものと同一である。ステップ545で、WTIDが無効であると判定された場合には、ステップ560でクライアント要求が拒絶される。しかし、WTIDが有効である場合には、そのWTIDは、ステップ555で現在の実行のスレッドと関連付けられ、ステップ565で、スケジューリングの要求が発行される。
【0044】
要求の実行中に、ステップ570で、回復可能な資源がアクセスされたかどうかを判定する。資源がアクセスされていない場合には、処理はステップ580に進む。回復可能な資源がアクセスされた場合には、ステップ575で、トランザクションの関心を表現し、発行元の資源マネージャがトランザクションの参加プログラムであることを示す。
【0045】
最後に、ステップ580で、出力ページを生成する。生成されたページに、たとえばWTIDキーワードなど、トランザクション関連の要求を示すものが含まれる場合には、ステップ620に関して説明した形で、ページ内で現行WTIDに置換しなければならない。その後、このページは、ステップ590でクライアントに返される。
【0046】
ワールド・ワイド・ウェブを介するオンライン・トランザクション処理を実行すると同時に、トランザクション・スコープを集約するための本発明のシステムは、図5に示された形で構成することができる。このシステムには、ウェブ・サーバ211、資源マネージャ210、CGIアプリケーション208および共通コミット調整プログラム212が含まれる。ウェブ・サーバ211と共通コミット調整プログラム212の構成要素が、サーバ103(図1)を構成する。
【0047】
ウェブ・サーバ211は、HTTPデーモンを実行し、このHTTPデーモンは、任意選択として、別の内部プログラムまたは外部プログラムにパラメータを渡すためのインターフェースを提供することができる。インターフェースであるCGI206およびICAPI205を用いると、URL情報に基づいて、ユーザ作成のアプリケーションを実行できるようになる。ウェブ・サーバ211の構成要素には、以下を含めることができる。
a.ページ内にトランザクション関連のキーワードがあるかどうかを判定するためにウェブ・ページを走査し、サービスされるウェブ・ページにWTIDを挿入するための、ページ・アセンブラ構成要素104(図1)を表すSSI/ページ214。
b.トランザクションの境界を画定し、図2に関連して説明した形でタイマを確立するための関数からなるSSI/RM 201。SSI/RM 201とウェブ・スレッド204が一緒になって、ウェブCRM 105(図1)を構成する。
c.ICAPIアプリケーション207の場合にはWTIDをスレッドに関連付け、CGIアプリケーション208の場合にはWTIDを実行のプロセスに関連付けるのに使用される関数からなる、ウェブ・スレッド204。
d.CGIアプリケーション208と共に、動的にウェブ・ページを生成することのできるウェブ・アプリケーション108(図1)の特定のタイプを表す、ICAPIアプリケーション207。
【0048】
ICAPIアプリケーション207とCGIアプリケーション208は、任意選択として、それぞれインターフェース209またはインターフェース213を使用して、資源マネージャ210と対話することができる。インターフェース209および213は、異なってもよいが、暗黙のうちにまたは明示的に開始元の実行のスレッドまたはプロセスに関連するWTIDを資源マネージャ210に通信できなければならない。共通コミット調整プログラム212は、CCインターフェース202を介してSSI/RM 201と対話し、CCインターフェース203を介して資源マネージャ210と対話する。
【0049】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0050】
(1)通信するクライアント装置およびサーバ装置のネットワークでトランザクションを処理するための方法において、前記クライアント装置およびサーバ装置が、クライアント装置とサーバ装置との間で状態情報を渡すための手順が限られるか定義されていないプロトコルを使用する非セッション指向のクライアント・サーバの形で通信し、
a.クライアント装置からサーバ装置へ、トランザクション・スコープを必要とする資源および処置の複数の独立の要求を通信するステップと、
b.前記サーバ装置上でトランザクション識別情報を生成し、維持するステップと、
c.前記トランザクション識別情報の特徴を有するトランザクション内の前記独立の要求のそれぞれを集約するステップと、
d.前記トランザクションを達成するために、個々の共存関係にある資源サーバを識別するステップと
を含む方法。
(2)前記サーバ装置が、前記個々の資源サーバのそれぞれとの通信を調整する、上記(1)に記載の方法。
(3)e.前記トランザクションの実行に必要な個々の資源サーバを予約するステップと、
f.前記トランザクションをコミットしなければならないかどうかを示すためにトランザクション識別子を作成するステップと、
g.少なくとも1つの前記個々の資源サーバを含む前記独立の要求を実行するステップと、
h.前記要求された資源と、前記処置の完了とを、前記サーバ装置から前記クライアント装置に通信するステップと
をさらに含む、上記(2)に記載の方法。
(4)前記トランザクション識別情報が、前記クライアント装置によって要求された前記トランザクションの実行に関する所定の時間期間を含む、上記(3)に記載の方法。
(5)ステップ(g)が、前記クライアント装置によって要求された前記トランザクションに関する前記所定の時間期間で実行される、上記(4)に記載の方法。
(6)前記サーバ装置が、許可されたクライアント装置から通信されることについて前記複数の独立の要求のそれぞれを確認する、上記(5)に記載の方法。
(7)ステップ(b)で、前記独立の要求のうちの最初の要求を受け取り、前記複数の独立の要求の持続時間の間維持した後に、前記トランザクション識別情報が生成される、上記(6)に記載の方法。
(8)通信する装置のネットワークでトランザクションを処理するための方法ステップを実行するために計算機によって実行可能な命令のプログラムを具体的に実施する、計算機によって可読のコンピュータ・プログラムの記憶媒体であって、前記記憶媒体が、クライアント装置とサーバ装置との間で状態情報を渡すための手順が限られるか定義されていないプロトコルを使用する非セッション指向のクライアント・サーバの形で通信し、前記方法が、
a.クライアント装置からサーバ装置へ、トランザクション・スコープを必要とする資源および処置の複数の独立の要求を通信するステップと、
b.前記サーバ装置上でトランザクション識別情報を生成し、維持するステップと、
c.前記トランザクション識別情報の特徴を有するトランザクション内の前記独立の要求のそれぞれを集約するステップと、
d.前記トランザクションを達成する際に共存関係になる個々の資源サーバを識別するステップと
を含む、記憶媒体。
(9)前記サーバ装置が、前記個々の資源サーバのそれぞれとの通信を調整する、上記(8)に記載の記憶媒体。
(10)前記方法がさらに、
e.前記トランザクションの実行に必要な個々の資源サーバを予約するステップと、
f.前記トランザクションをコミットしなければならないかどうかを示すためにトランザクション識別子を作成するステップと、
g.少なくとも1つの前記個々の資源サーバを含む前記独立の要求を実行するステップと、
h.前記要求された資源と、前記処置の完了とを、前記サーバ装置から前記クライアント装置に通信するステップと
を含む、上記(9)に記載の記憶媒体。
(11)前記トランザクション識別情報が、前記クライアント装置によって要求された前記トランザクションの実行に関する所定の時間期間を含む、上記(10)に記載の記憶媒体。
(12)ステップ(g)が、前記クライアント装置によって要求された前記トランザクションに関する前記所定の時間期間で実行される、上記(11)に記載の記憶媒体。
(13)前記サーバ装置が、許可されたクライアント装置から通信されることについて前記複数の独立の要求のそれぞれを確認する、上記(12)に記載の記憶媒体。
(14)ステップ(b)で、前記独立の要求のうちの最初の要求を受け取り、前記複数の独立の要求の持続時間の間維持した後に、前記トランザクション識別情報が生成される、上記(13)に記載の記憶媒体。
【図面の簡単な説明】
【図1】本発明の好ましい実施例の全体的なアーキテクチャを示す図である。
【図2】本発明の好ましい実施例による、複数の独立のウェブ要求に対してトランザクション・スコープを集約するための方法の流れ図の一部である。
【図3】本発明の好ましい実施例による、複数の独立のウェブ要求に対してトランザクション・スコープを集約するための方法の流れ図の一部である。
【図4】本発明の好ましい実施例による、複数の独立のウェブ要求に対してトランザクション・スコープを集約するための方法の流れ図の一部である。
【図5】トランザクション・スコープの集約中にワールド・ワイド・ウェブに対するオンライン・トランザクション処理を実行するための特徴を有する本発明のシステムを示す図である。
【図6】CGIプログラムへのハイパーテキスト・リンクの構造を示す図である。
【図7】ウェブ・トランザクション識別子(WTID)を含むように変更された、図6の構造を示す図である。
【符号の説明】
201 SSI/RM
202 CCインターフェース
203 CCインターフェース
204 ウェブ・スレッド
205 ICAPI
206 CGI
207 ICAPIアプリケーション
208 CGIアプリケーション
209 インターフェース
210 資源マネージャ
211 ウェブ・サーバ
212 共通コミット調整プログラム
213 インターフェース
214 SSI/ページ

Claims (3)

  1. 通信するクライアント装置およびサーバ装置のネットワークでトランザクションを処理するための方法において、前記クライアント装置およびサーバ装置が、クライアント装置とサーバ装置との間で状態情報を渡すための手順が限られるか定義されていないプロトコルを使用する非セッション指向のクライアント・サーバの形で通信し、
    a.資源および処置の要求であって、論理的に1つのトランザクションを構成する複数の独立した要求を、クライアント装置からサーバ装置へ通信するステップと、
    b.前記クライアント装置による最初の処理の要求に応じて前記サーバ装置上でウェブ・トランザクション識別子(WTID)を生成し、前記独立した要求の持続時間の間維持するステップと、
    c.前記WTIDによって特徴付けられた1つのトランザクション内の、前記独立した要求のそれぞれを集約するステップと、
    d.前記トランザクションを達成するために、少なくとも1つの資源サーバを識別するステップと、
    e.前記資源と処置のコミットに関して、前記資源サーバのそれぞれと前記サーバ装置との間の通信を共通コミット調整手段により調整するステップと、
    を含み、
    f.各独立した要求について、前記集約するステップは、
    前記サーバ装置で、識別された資源サーバのインターフェースに適した実行プロセスをスレッドとして作成し、管理するステップと、
    各実行プロセスのスレッドを、前記WTIDを参照することにより、前記論理的に1つのトランザクションに関連付けるステップと、を含み、
    g.前記調整するステップの実行により、前記資源サーバのそれぞれと前記サーバ装置との間の前記WTIDにより参照される要求についての通信を、前記作成された実行プロセスと独立して成し遂げる、
    ことを特徴とする方法。
  2. 前記実行プロセスは、CGIを用いるスレッドであることを特徴とする請求項1に記載の方法。
  3. 前記実行プロセスは、ICAPIを用いるスレッドであることを特徴とする請求項1に記載の方法。
JP2000002099A 1999-01-13 2000-01-11 トランザクション処理方法及び記憶媒体 Expired - Fee Related JP3935650B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/231080 1999-01-13
US09/231,080 US6209038B1 (en) 1999-01-13 1999-01-13 Technique for aggregate transaction scope across multiple independent web requests

Publications (2)

Publication Number Publication Date
JP2000207365A JP2000207365A (ja) 2000-07-28
JP3935650B2 true JP3935650B2 (ja) 2007-06-27

Family

ID=22867670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000002099A Expired - Fee Related JP3935650B2 (ja) 1999-01-13 2000-01-11 トランザクション処理方法及び記憶媒体

Country Status (2)

Country Link
US (1) US6209038B1 (ja)
JP (1) JP3935650B2 (ja)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671704B1 (en) 1999-03-11 2003-12-30 Hewlett-Packard Development Company, L.P. Method and apparatus for handling failures of resource managers in a clustered environment
US6470342B1 (en) 1999-03-12 2002-10-22 Compaq Computer Corporation Process of maintaining a distributed map of transaction identifiers and using hashing to access these maps
US6411981B1 (en) 1999-03-12 2002-06-25 Compaq Computer Corporation Method and apparatus for conducting a transaction between homogeneous and/or heterogeneous transaction processing systems using asynchronous pull of a transaction transfer
US6295548B1 (en) * 1999-03-12 2001-09-25 Compaq Computer Corporation Detection of an imported transaction for finding the global transaction identifier
US8572069B2 (en) 1999-03-31 2013-10-29 Apple Inc. Semi-automatic index term augmentation in document retrieval
WO2000058863A1 (en) 1999-03-31 2000-10-05 Verizon Laboratories Inc. Techniques for performing a data query in a computer system
US8275661B1 (en) 1999-03-31 2012-09-25 Verizon Corporate Services Group Inc. Targeted banner advertisements
SE521109C2 (sv) * 1999-04-23 2003-09-30 Corus Technologies Ab Förfarande och anordning för integrering av ett antal datoriserade klientsystem
US6970933B1 (en) 1999-07-15 2005-11-29 F5 Networks, Inc. Enabling application level persistence between a server and another resource over a network
US7346695B1 (en) 2002-10-28 2008-03-18 F5 Networks, Inc. System and method for performing application level persistence
US7287084B1 (en) 1999-07-15 2007-10-23 F5 Networks, Inc. Enabling encryption of application level persistence between a server and a client
US7099929B1 (en) * 1999-07-20 2006-08-29 Nortel Networks Limited System and method for transferring information in a hypertext transfer protocol based system
US6718363B1 (en) * 1999-07-30 2004-04-06 Verizon Laboratories, Inc. Page aggregation for web sites
US7290056B1 (en) * 1999-09-09 2007-10-30 Oracle International Corporation Monitoring latency of a network to manage termination of distributed transactions
US7206805B1 (en) * 1999-09-09 2007-04-17 Oracle International Corporation Asynchronous transcription object management system
US7127500B1 (en) * 1999-11-10 2006-10-24 Oclc Online Computer Library Center, Inc. Retrieval of digital objects by redirection of controlled vocabulary searches
JP2001243182A (ja) * 2000-02-29 2001-09-07 Nec Corp サーバシステム及びWebコンテンツとサーバシステムとの連動方法
US6912525B1 (en) 2000-05-08 2005-06-28 Verizon Laboratories, Inc. Techniques for web site integration
US6785675B1 (en) * 2000-11-13 2004-08-31 Convey Development, Inc. Aggregation of resource requests from multiple individual requestors
JP3807961B2 (ja) 2001-08-01 2006-08-09 インターナショナル・ビジネス・マシーンズ・コーポレーション セッション管理方法、セッション管理システムおよびプログラム
EP1466435B1 (en) 2002-01-08 2019-05-22 Seven Networks, LLC Secure transport for mobile communication network
US7356711B1 (en) 2002-05-30 2008-04-08 Microsoft Corporation Secure registration
GB0215808D0 (en) * 2002-07-09 2002-08-14 Ibm A system and method for managing transactions in a messaging system
US8874503B2 (en) * 2002-07-15 2014-10-28 Jmw Productivity, Llc Method, system and apparatus for organizing information for managing life affairs
US7430755B1 (en) 2002-09-03 2008-09-30 Fs Networks, Inc. Method and system for providing persistence in a secure network access
US7673307B2 (en) * 2003-05-29 2010-03-02 International Business Machines Corporation Managing transactions in a messaging system
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
WO2008007669A1 (fr) 2006-07-10 2008-01-17 Nec Corporation Dispositif et procédé de gestion de système informatique
US8566452B1 (en) 2006-08-03 2013-10-22 F5 Networks, Inc. Intelligent HTTP based load-balancing, persistence, and application traffic management of SSL VPN tunnels
US7941755B2 (en) * 2007-04-19 2011-05-10 Art Technology Group, Inc. Method and apparatus for web page co-browsing
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
PL3367252T3 (pl) 2010-07-26 2020-05-18 Seven Networks, Llc Zarządzanie ruchem z uwzględnieniem kontekstu w celu zaoszczędzenia zasobów w sieci bezprzewodowej
US9043433B2 (en) * 2010-07-26 2015-05-26 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8903954B2 (en) 2010-11-22 2014-12-02 Seven Networks, Inc. Optimization of resource polling intervals to satisfy mobile device requests
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
CA2798523C (en) 2010-11-22 2015-02-24 Seven Networks, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
GB2501416B (en) 2011-01-07 2018-03-21 Seven Networks Llc System and method for reduction of mobile network traffic used for domain name system (DNS) queries
GB2505103B (en) 2011-04-19 2014-10-22 Seven Networks Inc Social caching for device resource sharing and management cross-reference to related applications
EP2702500B1 (en) 2011-04-27 2017-07-19 Seven Networks, LLC Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
US20120278431A1 (en) 2011-04-27 2012-11-01 Michael Luna Mobile device which offloads requests made by a mobile application to a remote entity for conservation of mobile device and network resources and methods therefor
US8918503B2 (en) 2011-12-06 2014-12-23 Seven Networks, Inc. Optimization of mobile traffic directed to private networks and operator configurability thereof
WO2013086225A1 (en) 2011-12-06 2013-06-13 Seven Networks, Inc. A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation
WO2013086455A1 (en) 2011-12-07 2013-06-13 Seven Networks, Inc. Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
US9277443B2 (en) 2011-12-07 2016-03-01 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US20130159511A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. System and method for generating a report to a network operator by distributing aggregation of data
GB2499306B (en) 2012-01-05 2014-10-22 Seven Networks Inc Managing user interaction with an application on a mobile device
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
US20130268656A1 (en) 2012-04-10 2013-10-10 Seven Networks, Inc. Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network
WO2014011216A1 (en) 2012-07-13 2014-01-16 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US20140177497A1 (en) 2012-12-20 2014-06-26 Seven Networks, Inc. Management of mobile device radio state promotion and demotion
US9271238B2 (en) 2013-01-23 2016-02-23 Seven Networks, Llc Application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US9600324B2 (en) * 2014-04-28 2017-03-21 Oracle International Corporation System and method for supporting transaction affinity based on resource manager (RM) instance awareness in a transactional environment
US9569224B2 (en) 2014-05-06 2017-02-14 Oracle International Corporation System and method for adaptively integrating a database state notification service with a distributed transactional middleware machine
US9648124B2 (en) * 2014-12-08 2017-05-09 International Business Machines Corporation Processing hybrid data using a single web client
CN107528912A (zh) * 2017-09-11 2017-12-29 金蝶软件(中国)有限公司 一种自动实现分布式事务处理的方法、系统及相关装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0451384B1 (en) 1990-04-10 1997-09-24 International Business Machines Corporation Hypertext data processing system and method
US5297249A (en) 1990-10-31 1994-03-22 International Business Machines Corporation Hypermedia link marker abstract and search services
US5204947A (en) 1990-10-31 1993-04-20 International Business Machines Corporation Application independent (open) hypermedia enablement services
CA2077061C (en) 1991-11-22 1998-04-21 Mark J. Baugher Scheduling system for distributed multimedia resources
JP2675968B2 (ja) 1992-08-20 1997-11-12 インターナショナル・ビジネス・マシーンズ・コーポレイション 加入者分散2相コミット・プロトコルの拡張機能
US5553298A (en) 1994-04-14 1996-09-03 Merryman, Deceased; Philip I. Method and apparatus for mutual exclusion in self-directed distributed systems
JP3417741B2 (ja) 1995-10-06 2003-06-16 富士通株式会社 取引制御システム
US5774670A (en) * 1995-10-06 1998-06-30 Netscape Communications Corporation Persistent client state in a hypertext transfer protocol based client-server system
US5961601A (en) * 1996-06-07 1999-10-05 International Business Machines Corporation Preserving state information in a continuing conversation between a client and server networked via a stateless protocol
US5987132A (en) 1996-06-17 1999-11-16 Verifone, Inc. System, method and article of manufacture for conditionally accepting a payment method utilizing an extensible, flexible architecture
US6026379A (en) 1996-06-17 2000-02-15 Verifone, Inc. System, method and article of manufacture for managing transactions in a high availability system
US5991802A (en) * 1996-11-27 1999-11-23 Microsoft Corporation Method and system for invoking methods of objects over the internet
US5920863A (en) * 1997-05-31 1999-07-06 International Business Machines Corporation System and method for supporting transactions for a thin client lacking a persistent store in a distributed object-oriented environment
US5951643A (en) 1997-10-06 1999-09-14 Ncr Corporation Mechanism for dependably organizing and managing information for web synchronization and tracking among multiple browsers
US6078954A (en) 1998-05-26 2000-06-20 Williams Communications, Inc. Server directed multicast communication method and system

Also Published As

Publication number Publication date
US6209038B1 (en) 2001-03-27
JP2000207365A (ja) 2000-07-28

Similar Documents

Publication Publication Date Title
JP3935650B2 (ja) トランザクション処理方法及び記憶媒体
JP3427933B2 (ja) クライアント・サーバ・システムにおける長期トランザクションの処理
US7788316B2 (en) Efficient server handling of multiple requests from a web browser
JP3290377B2 (ja) 無状態ネットワーク・プロトコルにおける状態の保存方法および装置
US6748420B1 (en) Methods and apparatus for providing shared access to an application
US6928440B2 (en) Delayed storage of cookies with approval capability
US5999971A (en) Apparatus and method for identifying clients accessing network sites
CA2432726C (en) Method and system of collaborative browsing
US7640347B1 (en) Method and system for inserting POST data into the GET request to apply normal caching rules
US8086746B2 (en) Delivering electronic content
US20010047477A1 (en) Transparent user and session management for web applications
US6973492B2 (en) Method and apparatus for collecting page load abandons in click stream data
JP2003532195A (ja) 複数の別個のデータベースからサーチ結果を検索する方法およびシステム
KR20020001527A (ko) 웹기반의 검색 엔진 질의어를 공유하기 위한 시스템 및 방법
US6947979B1 (en) Controlling use of a network resource
US7103606B2 (en) Method and apparatus for removing information from a server
US6535916B1 (en) Systems, methods and computer program products for linking transactions by multiple web site servers to web site visitors
US20040205569A1 (en) Method and system to manage outdated web page links in a computing system
US7484087B2 (en) Systems, methods, and software for preventing redundant processing of transmissions sent to a remote host computer
US6418463B1 (en) Method and apparatus for negotiating contract terms for execution of a mobile software agent on a host computer
US20020194327A1 (en) Method for sensing the status of a client from a server
VanderMeer et al. Mobile user recovery in the context of internet transactions
KR100209837B1 (ko) 인터넷을 통해 월드 와이드 웹 서버 데이타를 액세스하기 위한 웹 브라우저 시스템 웹 서버 시스템 웹 브라우저 요구 충족 방법 및 웹 브라우저의 분산 태스크 요구 실행 방법
US20020184369A1 (en) Appointment scheme for redistributing service access
JPH1139341A (ja) Wwwシステムにおけるページ表示装置及びプログラムを記録した機械読み取り可能な記録媒体

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040330

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20040401

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20040408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040618

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040803

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20041119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070220

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20070313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070320

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees