[go: up one dir, main page]

JPH09146870A - 文脈依存型の送信経路を開設する方法および装置 - Google Patents

文脈依存型の送信経路を開設する方法および装置

Info

Publication number
JPH09146870A
JPH09146870A JP8168446A JP16844696A JPH09146870A JP H09146870 A JPH09146870 A JP H09146870A JP 8168446 A JP8168446 A JP 8168446A JP 16844696 A JP16844696 A JP 16844696A JP H09146870 A JPH09146870 A JP H09146870A
Authority
JP
Japan
Prior art keywords
client
server
request
sending
node
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.)
Pending
Application number
JP8168446A
Other languages
English (en)
Inventor
Michael R Blevins
ミッチェル・ラトナー
R Blevins Michael
マイケル・アール・ブレビンス
J Schorow David
デビッド・ジェイ・スコロー
T Limprecht Rodney
ロドニー・ティ・リンプレヒト
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.)
Tandem Computers Inc
Original Assignee
Tandem Computers Inc
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 Tandem Computers Inc filed Critical Tandem Computers Inc
Publication of JPH09146870A publication Critical patent/JPH09146870A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 サーバとクライアントとの間の対話を維持す
るコスト、および、使用するシステム資源を最小化でき
るようにする。 【解決手段】 複数のクライアントノードから特定のサ
ーバノードに対して、その各々が特定のクライアントリ
クエストを有するクライアントメッセージを送る。前記
複数のクライアントノードからのクライアントメッセー
ジに、前記特定のクライアントリクエストに関するデー
タおよび前記クライアントとサーバとの関係状態に関す
るデータの両方を含むデータを背負わせる。前記複数の
クライアントに対して複数のサーバメッセージを送るこ
とによって、前記背負わされたデータに応答する。前記
サーバメッセージに、前記特定のクライアントリクエス
トに関するデータおよび前記クライアントとサーバとの
関係状態に関するデータを含むデータを背負わせる。こ
のように、サーバとクライアントとの間に論理的な接続
するために、メッセージのピギーバッキングおよび実行
時結合を使用する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、サーバ―クライ
アントノード・ネットワークに文脈依存型の送信経路を
開設する方法、および、オン−ライントランザクション
処理装置に関する。
【0002】
【従来の技術】複数のクライアントと、サーバプールの
1つまたは複数のサーバとの間の典型的なオンライン・
トランザクションにおいては、クライアントアプリケー
ションが、前記サーバプールの特定のサーバによって処
理されなければならない多数の極めて短いメッセージま
たはリクエスト(しばしば、各々のサイズが32k未満
である数万個のデータパケット)を送信することがあ
る。メッセージ転送方式でデータパケットが送られる場
合、前記クライアントとサーバとは互いに独立に(非同
期で)動作し、前記クライアントとサーバとを接続する
ネットワークによるデータの送信も非同期である。この
ような入出力非同期ワールドにおいては、従来の技術の
ように、メッセージが受信される毎にコストと時間がか
かる検索処理および質問処理に依存する必要なしに、特
定のサーバができるかぎり迅速にメッセージの集合を提
供できるよう、前記メッセージの集合に“文脈(contex
t)”を与えることができれば有利である。この問題点
に対する1つの解決法は、メッセージ、サーバアプリケ
ーションおよびクライアントアプリケーションに、サー
バとクライアントとの間に一種の一時的専用接続を確立
する情報を付加することである。本発明は、このような
“文脈依存型対話”を指向している。
【0003】
【発明が解決しようとする課題】Tuxedo,Encinoおよび
CPIC(これらのうちのいくつかのプログラムのプロトコ
ルは、XOpen標準委員会による刊行物に見られる)のよ
うな他のプログラムは、文脈依存型対話(“送信経路
(pathsends)”)を実現しようとしてきたが、サーバ
とクライアントとの間の対話を維持するコストが高く、
使用するシステム資源が多いという問題点があった。
【0004】この発明は上述の点に鑑みてなされたもの
で、受信処理が現在のリクエストを処理するために前の
文脈を復元する必要性を無くすことにより、前記受信処
理が論理的に関連した個々のリクエストの処理に関する
処理手順を最適化できるようにすることを目的とする。
【0005】この発明の他の目的は、論理的に関連した
多数の入出力を実行する必要があるアプリケーションに
対して、より大きな機能性および使用容易性を提供する
ことである。この発明の他の目的は、論理的に関連した
各入出力について伝えられるべきトランザクション文脈
を提供することである。
【0006】この発明のさらに他の目的は、対話内のす
べてのメッセージが同一の発信側処理と受信処理との間
で送られるよう、且つ、前記受信処理が前記対話に関す
る文脈を維持できるよう、対話が継続している間発信側
処理を受信処理に結び付けることにより、前記対話内の
個々のリクエストのための処理時間を減少させることが
できるようにすることである。
【0007】
【課題を解決するための手段】上記課題を達成するため
に、この発明は、サーバとクライアントとの間の対話を
維持するコストを最小化するために、サーバ―クライア
ントノード・ネットワークに文脈依存型の送信経路を開
設する方法であって、複数のクライアントノードから特
定のサーバノードに対して、その各々が特定のクライア
ントリクエストを有するクライアントメッセージを送る
ステップと、前記複数のクライアントノードからのクラ
イアントメッセージに、前記特定のクライアントリクエ
ストに関するデータおよび前記クライアントとサーバと
の関係状態に関するデータの両方を含むデータを背負わ
せるステップと、前記複数のクライアントに対して複数
のサーバメッセージを送ることによって、前記背負わさ
れたデータに応答するステップと、前記サーバメッセー
ジに、前記特定のクライアントリクエストに関するデー
タおよび前記クライアントとサーバとの関係状態に関す
るデータを含むデータを背負わせるステップとからな
り、前記データを背負わすことによりサーバとクライア
ントとの間の対話を維持するコストを最小化することを
特徴とするものである。
【0008】また、この発明は、サーバとクライアント
との間の対話を維持するコストを最小化するために、ク
ライアント―サーバ・ネットワークに文脈依存型の送信
経路を開設する方法であって、前記ネットワークにおけ
るクライアントノードとサーバノードとの間で通信を行
うステップであって、該通信が前記クライアントノード
とサーバノードとの間に一時的な専用の通信を開設し、
該専用の通信が、前記クライアントノードとサーバノー
ドとの間の複数の状態によって定義され且つ該複数の状
態を作り出すものであり、該状態が、前記クライアント
ノードおよびサーバノードの両方に共通のオペレーティ
ングシステム処理アプリケーションによってモニタさ
れ、該オペレーティングシステム処理アプリケーション
が、主メモリを有するオペレーティングシステム処理ノ
ードに含まれるものであるステップと、前記オペレーテ
ィングシステム処理ノードの主メモリ内に、複数のオブ
ジェクト指向データ構造を作成するステップと、前記ク
ライアントノードとサーバノードとの間に前記状態が存
在するよう所定の方法により、前記複数のデータ構造を
リンクするステップとからなり、前記複数のデータ構造
のリンクをトラバースすることにより、前記専用の通信
を確認し、その結果、特定の前記クライアントノードと
サーバノードとを確認できるようにする方法。
【0009】また、この発明は、クライアントとサーバ
との間で情報を送るための方法であって、データプロセ
ッサによって実行される前記クライアントにより最初の
リクエストを送るステップと、前記最初のリクエストに
応答して、前記データプロセッサのオペレーティングシ
ステムにより、前記クライアントとサーバとの間の対話
を確立するステップと、前記サーバにより、対話状態を
含む前記最初のリクエストに対する最初の応答を送るス
テップと、前記対話状態の値に応じて、前記クライアン
トにより、2番目のリクエストを送るステップとからな
るものである。また、この発明は、クライアントが、最
初のリクエストを送る手段と、対話状態の第1の値に応
じて2番目のリクエストを送る手段と、対話状態の第2
の値に応じて対話終了メッセージを送る手段とを備え、
サーバが、前記対話状態の第1の値を含む、前記最初の
リクエストに対する最初の応答を送る手段と、前記対話
状態の第2の値を含む、前記最初のリクエストに対する
2番目の応答を送る手段と、前記最初のリクエストに応
答して、前記クライアントとサーバとの間の対話を確立
する手段とを備えるものである。
【0010】さらに、この発明は、クライアントと少な
くとも1つのサーバとを備えるネットワークシステムに
おけるクライアントであって、前記サーバに対して最初
のリクエストを送るために設けられた第1の送信回路
と、前記クライアントから対話状態を受け取るために設
けられた第1の受信回路と、前記対話状態に従って、
1)前記最初のリクエストに論理的に結び付けられた前
記サーバに対する2番目のリクエストおよび2)対話終
了メッセージ、の一方を前記クライアントに送る第2の
送信回路とを具備したものである。
【0011】さらに、この発明は、サーバと少なくとも
1つのクライアントとを備えるネットワークシステムに
おけるサーバであって、前記クライアントから最初のリ
クエストを受け取るために設けられた第1の受信回路
と、前記サーバが前記最初のリクエストに応答して送る
べき他のデータを有することを示す対話状態値を含む第
1のデータを、前記最初のリクエストに応答して、前記
クライアントに送るために設けられた第1の送信回路
と、前記クライアントから2番目のリクエストを受け取
るために設けられた第2の受信回路と、前記サーバがそ
のデータを送ることを終了したことを示す対話状態値を
含む第2のデータを、前記最初のリクエストに応答し
て、前記クライアントに送るために設けられた第2の送
信回路とを具備したものである。上記の構成の本発明
は、従来のものに比べてはるかに有利な新規の改良型の
対話を実現できるものである。
【0012】
【発明の実施の形態】以下、添付図面を参照してこの発
明の一実施の形態を詳細に説明する。この発明の典型的
なオンラインアプリケーションにおいて、ATM(Auto
matic Teller)マシーンは、“クライアント”アプリケ
ーション(ソフトウエアプログラム)および/またはノ
ードに接続可能である。ノードまたはワークステーショ
ンは、ソフトウエアから離れて動作するハードウエアで
あって、少なくともプロセッサと、主メモリと、補助メ
モリと、入出力手段とで構成され、典型的には、いくつ
かのアプリケーションを内蔵している。最も一般的に
は、1つのノードは、クライアントアプリケーションお
よびサーバアプリケーションを内蔵しており、これらア
プリケーションを実行する。
【0013】典型的なオンラインアプリケーションにお
いて、クライアントアプリケーションおよび/またはネ
ットワークは、短い時間(例えば数秒)の間、ホストサ
ーバアプリケーションおよび/またはノードと通信する
ようリクエストされることがある。各サーバノードごと
に、および、相互接続された複数のサーバノードごと
に、数千のクライアントノードが存在することがある。
ある特定の時間において、典型的には、数万個のメッセ
ージがクライアントとサーバとの間でやり取りされる。
【0014】クライアントとサーバとの間の典型的なト
ランザクションは、借方/貸方トランザクションである
が、このようなトランザクションには固有の問題点があ
る。例えば、クライアントノードにおいて、銀行客の現
金の引出しにより、該客の当座預金口座の借方に記入さ
れ場合が考えられる。クライアントとサーバとの間で通
信が行われている間に予期せぬ故障が発生した場合に、
該トランザクションが故障前の初期状態に戻され(ロー
ルバックされ)得るよう、クライアントとサーバとの間
のトランザクションをモニタする必要がある。そうでな
ければ、完了していないトランザクションについて、客
または銀行の勘定に、不正な借方記入または貸方記入が
行われることになる。さらに、クライアントアプリケー
ションはサーバアプリケーションとは非同期に動作する
ので、典型的なセッションにおいて、クライアントノー
ドアプリケーションが、表示画面への出力、受取りの印
刷などのようなタスクを実行している間に、サーバノー
ドアプリケーションが銀行のデータベースを使用するデ
ータベース処理を行っている、ということがある。しか
し、特定のサーバが特定のクライアントによって繰り返
しアクセスされなければならない場合がある。さらに、
人が当座預金口座から多数の小切手を振り出さなければ
ならない場合がある。その結果、必要なメッセージは、
メッセージバッファの容量以上になる。このような場
合、2番目およびそれ以後のメッセージを送ることによ
って、質問を設定し直すオーバヘッドを回避できる。こ
の発明は、できるだけ迅速な方法で最少のシステム資源
を利用するために、これらの問題点に対処するものであ
る。
【0015】この発明の他の特徴は、クライアントとサ
ーバとの間の接続(セッション)を確立しまたは解除す
ることによるオーバヘッドをできるかぎり少なくするこ
とである。この発明を実施する方法は、この特徴を最大
限利用するものである。このようにして、前記接続(メ
モリ、オペレーティングシステム時間を含むシステム資
源を作動すること)を確立しまたは解除するコストが小
さくなる。
【0016】図1において、(少なくとも1つのクライ
アントまたはクライアントプログラムもしくはアプリケ
ーションを有する)少なくとも1つのクライアントノー
ド110が示されておいる。該クライアントノード11
0は、データベース処理のようないくつかのサービスを
実行する(少なくとも1つのサーバプログラムもしくは
アプリケーションを有する)少なくとも1つのサーバノ
ード120に接続される必要がある。前記クライアント
アプリケーションとサーバアプリケーションとの間の通
信は、この出願において“Linkmon”(LM)と呼ぶオペ
レーティングシステム処理アプリケーション130を介
して行われる。典型的には、該アプリケーション130
は、前記クライアントノード110およびサーバノード
120とは別のノード132に含まれていてよい。通常
通り、クライアントノード110〜115のような複数
のクライアントノードが各サーバと通信し、一般的な環
境において、複数のサーバノード120〜122のすべ
てが、通信ライン126によって示すように、相互に通
信する。メッセージは、通信ライン137によって示す
ようにノード間でやり取りされる。
【0017】この発明の好ましい実施の形態において、
前記Linkmonアプリケーション130自体は、オペレー
ティングシステムアプリケーション140と通信し、該
オペレーティングシステムアプリケーション140も、
前記サーバアプリケーションおよびクライアントアプリ
ケーションの両方に共通でなければならない。図1にお
いて、前記オペレーティングシステムアプリケーション
140は、ノード132に含まれている。この好ましい
実施の形態において、前記ノード132はTandemコンピ
ュータ内に含まれ、前記オペレーティングシステムアプ
リケーション140は、Guardian Tandemオペレーティ
ングシステム(Non-Stop Kernel OS B30.02バージョ
ン)の下に実行される。
【0018】前記ハードウエア132に含まれる前記オ
ペレーティングシステムアプリケーション140は、こ
こでは“プロセスモニタ”(ノード145として示され
ている)とも言い、サーバをクライアントに接続する最
良の方法を実行するために前記クライアントとサーバと
のサービス関係を最適化する。Tandemの環境において、
このプロセスモニタは、並列接続された複数のサーバが
Tandemにおける問題に対処できるようにするので、“Pa
thway”またはTS/MP(“transaction services/massive
ly parallel”)と呼ばれている。典型的には、TS/MP互
換性のサーバは、オンライントランザクション処理(OL
TP)に適切に使用される。このようなTS/MP環境におい
て、コンピュータ資源をN倍に増加することは、概ね、
N個のコンピュータのシリアル関数となる。すなわち、
ほとんどの場合、個々のコンピュータは独立に且つ並列
的に動作するので、TS/MPネットワークにN個のコンピ
ュータノードを付加すると、コンピュータ資源がN個だ
け増加することになる。
【0019】図1に示すように、この発明は、典型的に
は、“縦続(カスケード)接続されたサーバ”120〜
122を使用して実行され、1つの前記サーバは、他の
位置の他の前記サーバにサーバ機能を委託することがで
きる。さらに図示するように、典型的には、1つのサー
バノードは、複数のクライアントノードにサービスす
る。過去において、クライアントアプリケーションとサ
ーバアプリケーションとの間でやりとりされるメッセー
ジに非文脈依存型対話を使用する場合、前記サーバアプ
リケーションは、前記クライアントに関連したすべての
状態を確立し直さなければならなかった。この問題点
は、本発明の文脈依存型対話では回避される。
【0020】複数のサーバ120〜122、すなわち、
まとめて言うとサーバ“プール”190が、さらにより
多数のクライアントノード(まとめて言うとクライアン
ト105)およびこれらに関連したアプリケーション
(各ノードごとに数個アプリケーション)にサービスし
なければならないということが、前記Tandem環境におけ
るクライアントとサーバとの関係を複雑化している。前
記TS/MPノード145の背後にある考えは、接続を確立
するためのトランザクションアクセス時間が適当に短く
なるよう、複数のサーバ190を複数のクライアント1
05について多重化することである。あるトランザクシ
ョンにおいて、前記クライアントは、数秒間だけ1つの
サーバに対するアクセスを必要とすることがある。この
ため、典型的には、複数のサーバにアクセスすることを
望むクライアントの待ち行列が形成される。
【0021】この発明以前のTandem環境においては、ク
ライアントによってリクエスト可能なサービスセッショ
ン(対話)は、文脈自由型リクエストセッションのただ
一種類であった。文脈自由型リクエストにおいて、サー
ビスリクエストはサーバ内で実行されるが、該サーバは
そのリクエストについての文脈を保持せず、その文脈は
クライアントアプリケーションによってのみ保持され
る。このため、1つのリクエストの後に同様なリクエス
トによって特定のサーバを呼出した同一のクライアント
は、全く異なるサーバを得る可能性がある。この場合、
前記サーバは、正しい関係を確立するためには、時間を
かけて、複数のクライアントに関連するすべての状態を
設定し直さなければならないことになる。本発明は、こ
のような必要性を無くすものである。さらに、本発明
は、Tandem PathwayまたはTS/MPサブシステム上に様々
異なるアプリケーション層を形成することをサポートす
る。
【0022】複数の文脈依存型セッションに関して、ク
ライアントは、対話における最初のメッセージの後のす
べてのメッセージについて、前記最初のメッセージと同
じサーバを得ることになる。クライアント/サーバ間に
おける文脈依存型対話の好ましい実施の形態において、
クライアントとサーバとの間の接続を確立し、同時に最
初のリクエスト(送信)を行う“BEGIN DIALOG(対話開
始)”と呼ばれる、特定のAPI(Application Progra
mming Interface)タイプのコールがある(APIの仕
様に関する後述の文献参照)。対話(セッション)は、
サーバおよびクライアントのいずれによっても終了させ
られることができる。サーバによるセッションの維持に
関して、サーバは、接続を確立するために、クライアン
トからサーバへのメッセージ送信の後に該クライアント
からのメッセージの受信し、その受領通知メッセージを
クライアントに送る。前記サーバが特別なエラーコード
であるFeContinue(エラーコード70)を返送している
かぎり、前記クライアントは前記サーバに拘束され続
け、前記接続およびリクエストが維持されることにな
る。この時点で、前記サーバとクライアントとは固有に
相互に拘束され、従って、すべての後のメッセージをチ
ェックし、後のメッセージが正しいクライアントから受
信されたことを確認する必要がない。
【0023】前記サーバが、“このセッションを続け
よ”(続行)というメッセージのためのコードである前
記特別なエラーコード(エラーコード70またはFeCont
inue)以外のエラーメッセージを返送する場合、該サー
バによる回答が前記クライアントに対してなされるが、
該サーバとクライアントとの間の接続は、その直後に解
除される。そして、前記接続が解除されると、前記クラ
イアントが新たな接続を確立する次回には、多分、異な
るサーバと接続されるであろう。前記エラーコード70
またはFeContinue以外のエラーメッセージとしては、通
常の終了をリクエストするエラーコード、セッションを
停止させるFeOKのようなリターンコード、および、異常
イベントに関連したエラーコードがある。
【0024】クライアントノードによるセッションの維
持に関して、前記クライアントは、前記サーバからのリ
クエストに応答して、“対話アボート(異常終了)”メ
ッセージを返送することもある。こうして、前記セッシ
ョンが直ちに停止され、対話アボートが保証される。こ
の対話アボートの保証は、上述の如く、該トランザクシ
ョンをロールバックして当事者を該トランザクション開
始前の状態にする(該トランザクションは完了される
か、または、完了されないという意味において、これを
“アトミックトランザクション”と称する)ために、あ
るATMトランザクションにおいて重要である。アボート
された対話、は予定されていないイベントによって発生
するという意味において、キャンセルされた対話と区別
されることができるが、この区別はこの発明に重要では
ない。
【0025】アボートによってセッションを終了する他
に、クライアントノードはリクエストをキャンセルする
ことができ、これは、該クライアントに対して、そのセ
ッションが終了することを警告する。いずれかのリクエ
ストが未処理である(待ち行列にある)場合、該リクエ
ストはキャンセルされ、この旨のメッセージが前記サー
バに返送される。これは、対話アボートメッセージによ
って行われる。
【0026】上記システムは、(Tandemのトランザクシ
ョンモニタ機能、すなわち、所有権を主張できる(prop
rietary:プロプライエトリ)トランザクション記録マネ
ージャのための)TandemのTM/MPサブシステムと融合さ
れ、その結果、前記対話の異常な終了が前記トランザク
ションを終了させる。異常な終了は、任意に、特定のト
ランザクション境界において発生するよう定義されてよ
い。トランザクション境界は、その前ではトランザクシ
ョンがロールバックできるが、その後ではロールバック
できない、非復帰ポイントとして考えることができる。
【0027】次に、図2に示すような典型的な借方/貸
方トランザクションについて説明する。ここで、客は1
つの口座(例えば普通預金口座)から他の口座(例えば
当座預金口座)に金を移す操作を行っている。この場
合、前記1つの口座の借方にその金額が記入され、同時
に、前記他の口座の貸方にその金額が記入される。典型
的には、このような借方/貸方トランザクションのため
には、特定のクライアントノードは、(例えば銀行の地
方本部のような特定の位置に在る)特定のサーバノード
にアクセスしなければならない。もちろん、前記クライ
アントノード200とサーバノード210との間には、
処理を調整するTS/MPアプリケーション(図示せず)が
設けられている。上記のように、前記クライアントノー
ド200とサーバノード210との間の最初のメッセー
ジ201は、そのトランザクションに関わる前記特定の
クライアントノード200を指示することによって接続
を確立するが、そのメッセージ201自体が、借方記入
すべき口座(例えば、普通預金口座)のような、そのト
ランザクションに関する情報を有していてもよい。接続
の確立に関する情報を前記接続の背後に在る目的である
前記トランザクションに関する情報と組合わせる処理
は、“最初の送り出しに準備を背負わせる(piggyーback
ing:ピギーバッキング)”こととして知られており、特
に、極めて多数のトランザクションメッセージがある場
合、準備時間を最少化する。
【0028】受領通知メッセージ203が、前記サーバ
から前記クライアントに送られ、且つ、対話を続行せよ
とのFeContinueであるエラーコードを含んでいる。その
後、例えば当座預金口座である前記他の口座の識別およ
び貸方記入に関する他のメッセージ205が、前記クラ
イアントから送信され、前記サーバに受信される。この
メッセージ205が受信されると、受領メッセージ20
7が、前記メッセージ205の受信を通知すると同時
に、前記クライアント200に対して、(エラーコード
FeOKによって)前記セッションをアボートまたはキャン
セルするよう指示する。
【0029】メッセージのピギーバッキングにより、送
信されるメッセージの数を節約でき、これは、多数の対
話を処理する場合に非常に有利である。典型的な借方/
貸方トランザクションにおいてはほんのわずかな(この
例の場合、4つの)メッセージのみが送信されるので、
メッセージのピギーバッキングは、トランザクションに
関する合計システム稼働コストを略半分にすることがで
きる。
【0030】この発明の他の特徴によると、故障が発生
した場合、クライアントノードまたはサーバノードにお
けるアプリケーションは、そのセッションのどこで故障
が発生したのかを認識し、(該故障が所定のトランザク
ション境界の前で発生した場合には)前記セッションを
“ロールバック”することができる。さらに、対話制御
ブロックと呼ばれる一連の主メモリセグメントが、特定
のクライアントに関連するメッセージを追跡する。
【0031】図3には、この発明のハードウエアおよび
ソフトウエアの好ましい実施の形態を示すものであり、
クライアントアプリケーション307、309、311
を有するクライアントノード(ワークステーション)3
05と、前記“Pathway”TS/MP環境の一部を構成するTa
ndemの所有権を主張できる処理であるオペレーティング
システム処理アプリケーション“Linkmon”315とが
示されている。前記Linkmon315は、前記クライアン
トノード305のCPU資源を含むすべての外部向き資
源を担当する。前記クライアントノード305およびク
ライアントアプリケーション307、309、311
は、IPC(Inter Processor Communication)プロト
コルを介して、前記Linkmon処理と接続されている。該L
inkmon処理自体は、同じくIPCプロトコルを介して、
相互接続された複数のサーバノード320〜323およ
びこれらに含まれるアプリケーションプロセッサ(なら
びにこれらの実行時ライブラリ)に接続されている。前
記Linkmonが、実際に、前記クライアントアプリケーシ
ョンとサーバとの間の“結合”(リンク)を含んでい
る。さらに、前記Linkmonは、前記受領通知メッセー
ジ、および、ここに開示されているその他のメッセージ
を処理するサーバアプリケーションと通信する。前記Li
nkmonは、クライアントアプリケーションおよび/また
はクライアントのCPUから送られるすべてのこの種の
メッセージを考察し、これらを、1つまたは複数のサー
バアプリケーションおよび/またはサーバノードまたは
CPUに縦続接続する。
【0032】文脈自由型の場合、前記Linkmonは、クラ
イアントからサーバに1つのリクエストを送り、返答を
待ち、その返答を返送し、常に、すべてのメッセージの
終りに文脈を断つ(セッションを終了する)。本発明の
文脈依存型の場合、前記Linkmonは、前記クライアント
とサーバとの間の一時的な結合を維持する機能も果たさ
なければならない。さらに、この発明の方法は、文脈自
由型リクエストのために文脈依存型リクエストと同じ経
路メカニズムを使用するので、文脈依存的に設計されて
いない旧いTandemアプリケーションと後方向互換性があ
る。このため、この発明の好ましい実施の形態は、文脈
自由型対話および文脈依存型対話の両方について同じA
PIを使用し、個々の対話間の違いを表示するためのフ
ラグのみが設けられる。
【0033】この発明の文脈依存型対話が有利となる他
の例は、質問に対する回答が1個のローになるか、また
は、一千個のローになるかどうかはっきりしない場合の
SQL(Structured Query Language)質問の結果に見
られる。前記回答が一千個のローであった場合、典型的
には、メモリ上の制約により該一千個のローのすべてが
一度に送信できず、従って、文脈自由型質問において
は、前記SQLを処理しているサブ言語に対する接続を
何度も確立し直さなければならない。しかし、文脈依存
型送信経路を確立することにより、1個のローまたは一
千個のローであるかに関わらず、このような質問に対す
る回答(ロー)を送信するコストが最小化されることに
なる。
【0034】本発明の好ましい下位レベルの実施の形態
に係る状態図は、Tandem ComputersInc.の“IDS CS-PAT
HSEND Internal Design Specification”(1994年9月7
日発行、以下、参照文献Aという),“PRD CS-PATHSEN
D Software Product Requirements”(1993年8月11日発
行、以下、参照文献Bという),“ES CS-PATHSEND Ext
ernal Specification”(1995年5月17日発行、以下、参
照文献Cという)に示されており、本発明の理解に必要
であるとされた場合、本出願人は、これらの参照文献
A,B,Cを提出する用意がある。これらの参照文献
A,B,Cは、この発明のプログラム、この発明に従う
文脈依存クライアントアプリケーション、および、文脈
依存サーバの内部設計に係る下位概念の実施仕様書であ
る。しかし、この発明は、これらの参照文献A,B,C
に開示された好ましい下位の実施の形態より、範囲が広
いものである。
【0035】好ましい実施の形態の詳細 好ましい実施の形態において、 --SERVERCLASS_DIALOG_BEGIN_ --SERVERCLASS_DIALOG_SEND_ --SERVERCLASS_DIALOG_ABORT_ --SERVERCLASS_DIALOG_END_ によって、発信側処理が対話を開設し、該対話に関する
入出力を実現し、該対話の入出力によりトランザクショ
ン文脈を伝え、該対話を終了することを可能にするため
に、以下に述べるApplication Programmatic Interface
s(APIインターフェイス)が考案された。以下のA
PIインターフェイスは、 --FILE_GETRECEIVEINFO_ によって、対話情報が受信側処理によって読み出される
よう増強された。
【0036】処理法: --前記発信側処理は、特定タイプの受信側処理をターゲ
ットとするSERVERCLASS_DIALOG_BEGIN_手続きコールを
発する。 --実行時環境は、受信側処理を開始し、前記2つの共働
する処理(発信側処理および受信側処理)の間に論理的
な接続を開設する。 --前記受信側処理は、READUPDATEとして知られている既
存のファイルメカニズムを使用して送られてくるメッセ
ージを受信し、その後、FILE_GETRECEIVEINFO_を呼出す
ことにより、読み取ったメッセージに関する付加的な情
報を得る。前記受信側処理が送られてくるリクエストの
文脈の種類を検出できるようにする、新規の分野が考案
された。SERVERCLASS_DIALOG_BEGIN_のオープン受信お
よび検出の後、前記受信側処理は、FeOKリターンコード
またはFeContinueリターンコードを送る。 --前記FeOKリターンコードにより、実行時環境は前記発
信側処理と受信側処理との間の接続を解除し、また、前
記発信側処理は、前記FeOKリターンコードを検出する
と、該発信側処理のアドレス領域内の資源をクリアす
る。
【0037】--前記FeContinueリターンコードにより、
実行時環境は前記発信側処理と受信側処理との間の接続
を続行し、その結果、後のSERVERCLASS_DIALOG_SEND_リ
クエストが、当該対話に関する文脈を維持している同一
の受信側処理に送られる。 --前記対話の任意の時点において、前記クライアント
は、“DIALOG ABORT(対話アボート)”として知られて
いる新たなオペレーティングシステムメッセージを発生
するSERVERCLASS_DIALOG_ABORT_を発する。前記受信側
処理が対話関連資源をクリアできるよう、このメッセー
ジは前記受信側処理に送られる。前記発信側処理が前記
受信側処理による前記“DIALOG ABORT”メッセージの処
理と並行して処理を続行できるよう、前記オペレーティ
ングシステムメッセージは非同期式に送られる。
【0038】さらに、前記好ましい実施の形態におい
て、前記発信側処理、実行時環境および受信側処理によ
る前記対話に特有の識別(例えば、クライアント−サー
バ関係の状態)を可能にする、Dialog ID(対話識別情
報)という概念が考案された。前記対話識別情報がその
対話に関するすべてのメッセージと共に送られると、前
記受信側処理が、これを固定し、前記発信側処理が該対
話に関する最初の入出力以外のすべてを認証する必要性
を無くする。前記対話識別情報は、認証サービスを提供
するだけでなく、関係するデータ構造に対する効率良い
アクセスが可能なよう前記実行時環境によって使用され
る。
【0039】前記参照文献Aにも開示されているこの発
明の下位概念において、関連するAPIインターフェイ
スは、“DIALOG BEGIN(対話開始)”,“DIALOG SEND
(対話送信)”,“DIALOG ABORT(対話アボート)”、
キャンセルおよびアボート伝送である。前記最初の3つ
のAPIおよびアボート伝送は当該アプリケーションの
TS/MP(Pathway)要素のためであり、前記キャンセルは
前記Gurdian OSによって実行されるファイルシステムの
ためである。この発明に係る前記Linkmonアプリケーシ
ョンが前記Tandem Pathwayサブシステムによって実行さ
れるとき、前記サブシステムを実行するノードの主メモ
リ(RAM)における関連するセグメントは、前記シス
テムライブラリによってアクセスされる。
【0040】図4は、前記RAM40の一部として対話
セグメントと呼ばれ、且つ、対話制御ブロック(DC
B)と呼ばれる4つのセグメント片に区分されたメモリ
セグメント45を示している。前記クライアントアプリ
ケーションが前記TS/MP(Pathway)の前記APIインタ
ーフェイスの1つを呼出す毎に、該APIは、すべての
対話セグメントの前記対話制御ブロックを異なる状態に
し、この状態を反映した変更を行う。セッションごと
に、1つの対話セグメントが存在する。こうして、例え
ば、DIALOG SENDが呼出された場合、前記サーバアプリ
ケーションまたはクライアントアプリケーションからメ
ッセージが送信され始める。これは、TandemのWriteRea
d(書込み読出し)OS基本要素のようなTandem OSの基本
要素がバッファをフォーマットすることによって行われ
る。前記DIALOG BEGINは、前記DIALOGSENDを行うと共
に、セッションが開始された旨のメッセージの受領を通
知し、これが、1つのクライアントアプリケーションに
ついて相反する2つのセッションが確立されることを防
止する。アルゴリズムは、前記クライアントアプリケー
ションによる前記APIインターフェイスに対する呼出
しごとに、前記対話セグメントにおける変化(各セッシ
ョンごとの状態情報の変化)を追跡する。前記サーバア
プリケーションは、例えば、READUPDATE,FILE_GETRECE
IVEINFOおよびREPLYのようなファイルシステムAPIイ
ンターフェイスを使用する。こうして、クライアントア
プリケーションの状態が保存され、その結果、予期せぬ
故障が発生した場合、システム資源がクリアされ、元の
状態に戻され、トランザクションがロールバックされ
る。
【0041】さらに、対話に関する未処理の入出力が必
要に応じてキャンセルされるようにするためのメカニズ
ムが考案された。メッセージ完了に関して、他のモジュ
ールをチェックできる。状態をチェックし、且つ、ネッ
トワークにおいてAPIと共に使用される対話制御ブロ
ックは、それ自体公知であり、単にこの発明の1つの下
位概念の実施の形態を構成しているものである。
【0042】こうして、例えば、図5において、クライ
アントアプリケーションは、前記Linkmonを介して、先
ず、前記API“DIALOG BEGIN”を呼出し、該DIALOG B
EGINは、“トランザクション開始”ルーチン(ステップ
502)を呼出し、対話制御ブロック(DCB)を作成
し(ステップ504)、対話識別情報を作成し(ステッ
プ506)、前記TandemのWriteReadを使用して前記Lin
kmon処理に対する送信を開始し(ステップ508)、そ
して、前記DIALOG BEGINが開始されたことを示す前記対
話制御ブロックの状態および状態テーブルを設定する。
次に、前記処理ファイルセグメントにおける、オープン
されたトランザクションに関する情報を含む下位レベル
データ構造(“Tファイル”)が、インクリメントされ
る。セッションが終わると、ステップ510における下
位レベルデータ構造がそのオリジナル状態に戻され、メ
モリ資源が解放され、元の状態に戻される。
【0043】図6には、前記文脈依存型の好ましい実施
の形態における、クライアントとサーバとの間の対話に
関するオブジェクト指向表現図が示されている。図5に
おいて概要を示したステップに関するオブジェクトが作
成され、クライアントアプリケーションの“Linkmon”
部において管理される。これらのオブジェクトは、“Se
nd Open Control Block(送信開設制御ブロック)”
(SOCB)オブジェクト602および“Request Data
Object Control Block(リクエストデータ制御ブロッ
ク)”(REQCB)オブジェクト604を含み、これ
ら両オブジェクトは、クライアントがLinkmonを介して
最初にサーバと通信する時に構成される。前記サーバア
プリケーションに関し、SCCB(Server Class Contr
ol Block:サーバクラス制御ブロック)と呼ばれるオブ
ジェクト606がサーバクラス(SC)に対して作成さ
れる(サーバクラスごとに1つのこの種のオブジェク
ト)。“Link Access Control Block(リンクアクセス
制御ブロック)”(LACB)608(サーバ処理オー
プンを示す)は、サーバ処理に対するアクセス経路を識
別する。最後に、“Server Monitor Control Block(サ
ーバモニタ制御ブロック)”(SMCB)610は、そ
の他のサーバオブジェクトを管理する。
【0044】前記サーバアプリケーションが開始される
と、前記制御ブロック606,608,610は相互に
リンク(結合)される(リンク601として模式的に示
されている)。クライアントアプリケーションが(Link
monを介して)前記サーバに対する通信を開始し、DIALO
G BEGINが呼出される(上述の如く、DIALOG SENDも該DI
ALOG BEGINにピギーバックされる)と、前記制御ブロッ
ク602,604が作成され、相互にリンクされる(リ
ンク603によって模式的に示されている)。クライア
ントが(Linkmonを介して)リクエストを発し、DIALOG
SENDが呼出されると、前記REQCBブロック604
が、リンク605によって模式的に示すように、サーバ
クラス制御ブロック606,608,610にリンクさ
れる。
【0045】前記リンク601、603、605が確立
された後、前記リクエスト自体は、前記Linkmonを介し
て、前記クライアントから前記サーバ処理に送られる。
前記リンクを設定する意義は、経路が直ぐに識別されて
作用できるよう、サーバ処理に対する通信経路を設定す
ることである。前記オブジェクト間におけるリンクの存
在は、前記リンクをトラバースすることによって、これ
らのオブジェクトのすべてが直ぐに識別されることを意
味する。
【0046】前記文脈自由型の場合、前記クライアント
から前記サーバに回答が送られる毎に、前記リンク60
3、605が前記REQCBブロックによって断絶さ
れ、従って、メッセージが送られる毎に、これらのリン
クを再構築しなければならず、時間および資源の無駄に
なる。しかし、文脈依存メッセージの場合には、他のオ
ブジェクト、すなわち、対話制御ブロック(DCB)6
50の存在によってそうではなくなる。また、この対話
制御ブロック650は、前記サーバに対してセッション
を表す固有のファイル番号および/または対話識別情報
を格納する。
【0047】この発明においてメッセージが受信された
場合、該メッセージが文脈依存型か否を判定するため
に、前記Linkmonが、前記WriteRead(書込み読出し)OS
によって処理されるFILE_GETRECEIVEINFO内のフラグを
調べる。前記メッセージが文脈依存型ではない場合、こ
の発明は、そのメッセージを通常の文脈自由方式で前記
メッセージを処理する(すなわち、この発明は、既存の
ソフトウエアに対して後方向互換性がある)。前記FILE
_GETRECEIVEINFO内のフラグは、さらに、前記メッセー
ジがDIALOG BEGIN、DIALOG SEND、DIALOG ABORTタイプ
のメッセージか否かについての情報を含む。
【0048】しかし、前記FILE_GETRECEIVEINFO内のフ
ラグが前記メッセージが文脈依存型である旨示している
場合、前記Linkmonは、さらに、前記対話制御ブロック
(DCB)650を作成する。該対話制御ブロック(D
CB)650は、前記クライアントとサーバとの間に存
在する対話関係の正確な種類に関する情報を含み、図6
における模式的なリンク607によって示すように、該
DCB650を前記SOCBブロック602およびLA
CBブロック608にリンクする。これらSOCBブロ
ック602およびLACBブロック608がリンク60
7および対話制御ブロック(DCB)650によって相
互にリンクされた場合、これは、前記サーバアプリケー
ションに対して、文脈依存型の対話セッションが存在し
ていることを示す。従って、ABORTまたはCANCELが無い
場合、文脈依存型に対話の多重化が存在しないことにな
り、クライアントとサーバとの間に、一種の一時的な専
用通信が確立される。さらに、前記SOCBブロックと
LACBブロックとの間におけるリンクの存在をチェッ
クすることによって、前記サーバは、2つ異常のセッシ
ョンを開設すべきでないことを知る。上記のすべては、
前記DIALOG BEGINまたはDIALOG SENDに応答して、およ
び、前記WriteRead(書込み読出し)OS基本要素に応答
して行われる。
【0049】以前と同様に、前記プロトコルの最初の部
分は、前記DIALOG BEGINまたはDIALOG SENDに対するサ
ーバの応答である。ほとんどの時間、該サーバの応答
は、セッションを維持させる“FeContinue”である。該
FeContinueが送られると、前記サーバアプリケーション
における制御ブロックと現在のREQCBブロック60
4との間のリンク605のみが解除(割当て解除)さ
れ、これに関連したメモリが解放される。しかし、前記
リンク607は解除されず、前記対話制御ブロック65
0の割当て解除も行われない。なお、これらは、クライ
アントとサーバとの間の一時的な専用通信を維持するの
に重要な情報を含むものである。すなわち、リターンコ
ードFeContinueにより、前記実行時環境が前記発信側処
理と受信側処理との間の接続を維持し、その結果、その
後のSERVERCLASS_DIALOG_SEND_リクエストは、高速で且
つ経済的に、前記対話に関する文脈を維持している同一
の受信側処理に送られる。
【0050】同様に、DIALOG BEGINの後のFeContinueに
応答して、前記クライアントは、前記Linkmonに対し
て、DIALOG SENDおよびこれに関連するメッセージを送
る。前記Linkmonは、受信した対話識別情報を検査し、
これを特定の対話およびサーバに関連づける(稼働中の
すべての対話の識別情報はRAMメモリに格納されてい
る)。そして、ブロック604のようなリクエスト制御
ブロックREQCBが構築され(割当てられ)、この特
定のメッセージについて前記リンク605が確立され
る。
【0051】しかしながら、エラーコードメッセージが
前記サーバFeOKによって発せられ、(Linkmonを介し
て)前記クライアントによって受信されると、前記リン
ク(または結合)603、605が解除されるだけでな
く、リンク607が解除され、さらに、前記対話制御ブ
ロックの割当てが解除され、前記LACBが利用可能と
表示される。このようにして、効果的に前記文脈依存型
の対話が終了させられる。最後に、DIALOG ENDにより、
前記Linkmonおよびオペレーティングシステムがシステ
ム資源をクリアする。DIALOG ENDは、FeOKメッセージの
後にくることができる。
【0052】もちろん、上記処理において、前記サーバ
自体は、異なるクライアントとの間で開設される様々な
セッションを認識して追跡し、且つ、各セッションに特
有の対話制御ブロックを割当てる。これは、特に、サー
バが多重化されている場合に効果的である。実際、これ
は、1つのファイルが開かれる毎に、TandemのGuardian
OS前記RAM内の対話制御ブロックを使用することに
よって行われ、上記に関するフラグ形態の情報が、前記
Linkmonによって、メッセージと共に前記サーバに送ら
れる。また、最初のDIALOG BEGINおよび受領通知におい
て、クライアントとサーバとの間で、識別情報が送られ
る。該識別情報の特有性は、前記Linkmonが(メッセー
ジに関するファイル番号をも判定する)前記オペレーテ
ィングシステムと共働することによって判定される。好
ましい実施の形態において、前記オペレーティングシス
テムは、TandemのGuardianオペレーティングシステム
(Non-Stop Kernel OS B30.02バージョン)である。
【0053】こうして、リンク607の存在をチェック
することによって、および、前記対話制御ブロック65
0に存在する情報を読み取るために前記リンク607を
トラバースすることによって、前記サーバアプリケーシ
ョンは、文脈依存型の送信後の次のメッセージが特定の
認識済みの文脈依存送信経路クライアントアプリケーシ
ョンからのものであるかを(且つ、多分、そのトランザ
クションが図2に説明したようなものである場合には特
に、前記メッセージがDIALOG SENDメッセージまたはDIA
LOG ABORTメッセージの一方であること)を認識するこ
とになる。また、前記サーバは、前記メッセージが他の
クライアントアプリケーションから、または、非文脈依
存型送信経路アプリケーションからではない旨認識する
ことになる。これは、前記データのピギーバック(背負
わせること)と共に、計算時間およびシステム資源の1
単位または複数単位を節約する。
【0054】OLTP(オンライントランザクション処理)
に適用された場合におけるこの発明において、すべての
トランザクションはアトム的(atomic)でなければなら
ず、従って、この発明を実施する前記Tandemのオペレー
ティングシステムは、BEGINTRANSACTION(トランザクシ
ョン開始)の後の処理が前記トランザクションの終りの
部分を首尾よく完了しない限り、該BEGIN TRANSACTION
の後のすべての処理が失敗する、ということを保証す
る。
【0055】図示しないが、他の例として、回答として
1000個のローを返すSQL質問について考える。典
型的には、(わずか100ローであろう)わずか32k
のデータが送信可能であるので、多数の送信は後続のロ
ーを送るよう要求されることになる。しかし、これら後
続のローはクラス(類)全体のサーバに送られるが、こ
れらのローを受信する最初のサーバは、明らかに、正し
いサーバではない。この問題点の解決法は、同一のサー
バが選択されなければならない借方/貸方トランザクシ
ョンに類似した、文脈依存型の送信経路を確立すること
である。このようにして、従来技術と同様に、サーバク
ラスにおけるサーバの待ち行列にポーリングする必要が
無くなる。上述のように文脈依存型のセッション(対
話)が確立され、メッセージのピギーバッキングが行わ
れると、前記サーバのFeContinueコードによるメッセー
ジ受領通知が、一時的な専用のまたは擬似同期的な通信
形態により、特定のクライアントに“ロックオン(固
定)”されることになる。同様に、ピギーバック通信を
使用して、対話を中断することもできる。
【0056】さらに、当業者に理解されるように、ここ
に開示された発明を実施するために使用されるソフトウ
エア命令、データ、データ構造およびこれらを組込んだ
コンピュータハードウエアは、前記ネットワークシステ
ムにおいてこの発明を構成するその他の同様な構造と共
に、完全な統一体を構成するものである。
【0057】
【発明の効果】以上のように、この発明は、サーバとク
ライアントとの間の対話を維持するコスト、および、使
用するシステム資源を最小化できる、という優れた効果
を奏する。
【図面の簡単な説明】
【図1】この発明を利用した典型的な多重ネットワーク
を示す図。
【図2】この発明を利用した典型的なATMによるオン
ライン式の借方/貸方トランザクションを示す図。
【図3】この発明を利用した典型的な多重ネットワーク
を示す図。
【図4】この発明を実行するために複数のブロックに分
割された主メモリを示す略図。
【図5】クライアントアプリケーションがこの発明の一
実施例の1つの特徴を利用する動作を示すフローチャー
ト。
【図6】この発明の1つの特徴を利用したオブジェクト
の相互関係を示すブロック図。
【符号の説明】
110 クライアントノード 120 サーバノード 130 オペレーティングシステム処理アプリケーショ
ン 140 オペレーティングシステムアプリケーション 200 クライアントノード 201 最初のリクエスト 203 受領通知 205 他のリクエスト 207 受領通知 210 サーバノード
フロントページの続き (72)発明者 マイケル・アール・ブレビンス アメリカ合衆国 カリフォルニア 95018, フェルトン, レイクビュー・ドライブ 325 (72)発明者 デビッド・ジェイ・スコロー アメリカ合衆国 カリフォルニア 95129, サンノゼ, エッジムーア・ウェイ 6717 (72)発明者 ロドニー・ティ・リンプレヒト アメリカ合衆国 カリフォルニア 95066, スコッツ・バレー, グラナイト・クリ ーク 2935

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 サーバとクライアントとの間の対話を維
    持するコストを最小化するために、サーバ―クライアン
    トノード・ネットワークに文脈依存型の送信経路を開設
    する方法であって、 複数のクライアントノードから特定のサーバノードに対
    して、その各々が特定のクライアントリクエストを有す
    るクライアントメッセージを送るステップと、 前記複数のクライアントノードからのクライアントメッ
    セージに、前記特定のクライアントリクエストに関する
    データおよび前記クライアントとサーバとの関係状態に
    関するデータの両方を含むデータを背負わせるステップ
    と、 前記複数のクライアントに対して複数のサーバメッセー
    ジを送ることによって、前記背負わされたデータに応答
    するステップと、 前記サーバメッセージに、前記特定のクライアントリク
    エストに関するデータおよび前記クライアントとサーバ
    との関係状態に関するデータを含むデータを背負わせる
    ステップとからなり、前記データを背負わすことにより
    サーバとクライアントとの間の対話を維持するコストを
    最小化することを特徴とする方法。
  2. 【請求項2】 サーバとクライアントとの間の対話を維
    持するコストを最小化するために、クライアント―サー
    バ・ネットワークに文脈依存型の送信経路を開設する方
    法であって、 前記ネットワークにおけるクライアントノードとサーバ
    ノードとの間で通信を行うステップであって、該通信が
    前記クライアントノードとサーバノードとの間に一時的
    な専用の通信を開設し、該専用の通信が、前記クライア
    ントノードとサーバノードとの間の複数の状態によって
    定義され且つ該複数の状態を作り出すものであり、該状
    態が、前記クライアントノードおよびサーバノードの両
    方に共通のオペレーティングシステム処理アプリケーシ
    ョンによってモニタされ、該オペレーティングシステム
    処理アプリケーションが、主メモリを有するオペレーテ
    ィングシステム処理ノードに含まれるものであるステッ
    プと、 前記オペレーティングシステム処理ノードの主メモリ内
    に、複数のオブジェクト指向データ構造を作成するステ
    ップと、 前記クライアントノードとサーバノードとの間に前記状
    態が存在するよう所定の方法により、前記複数のデータ
    構造をリンクするステップとからなり、前記複数のデー
    タ構造のリンクをトラバースすることにより、前記専用
    の通信を確認し、その結果、特定の前記クライアントノ
    ードとサーバノードとを確認できるようにする方法。
  3. 【請求項3】 クライアントとサーバとの間で情報を送
    るための方法であって、データプロセッサによって実行
    される前記クライアントにより最初のリクエストを送る
    ステップと、 前記最初のリクエストに応答して、前記データプロセッ
    サのオペレーティングシステムにより、前記クライアン
    トとサーバとの間の対話を確立するステップと、 前記サーバにより、対話状態を含む前記最初のリクエス
    トに対する最初の応答を送るステップと、 前記対話状態の値に応じて、前記クライアントにより、
    2番目のリクエストを送るステップとからなる方法。
  4. 【請求項4】 前記対話を確立するステップが、対話識
    別情報を設定するステップを含む請求項3に記載の方
    法。
  5. 【請求項5】 前記対話識別情報を設定するステップ
    が、該対話識別情報を前記最初のリクエストに関連づけ
    て、該最初のリクエストを前記サーバに送るステップを
    含む請求項4に記載の方法。
  6. 【請求項6】 前記応答を送るステップが、前記サーバ
    により、前記対話を終了すべきことを示す第1の値、お
    よび、前記クライアントが他のリクエストを送るべきこ
    とを示す第2の値の一方からなる対話状態の値を含む応
    答を送るステップを含む請求項3に記載の方法。
  7. 【請求項7】 前記2番目のリクエストを送るステップ
    が、前記対話状態の値に応じて、前記クライアントによ
    り、前記対話識別情報を含む前記2番目のリクエストを
    送るステップを含む請求項4に記載の方法。
  8. 【請求項8】 前記2番目のリクエストを送るステップ
    は、前記対話状態の値が前記対話を終了すべきことを示
    す第1の値である場合に、前記クライアントにより前記
    2番目のリクエストを送るステップを含む請求項6に記
    載の方法。
  9. 【請求項9】 前記最初の応答における情報に論理的に
    結び付けられた情報を含む2番目の応答を、前記サーバ
    により送るステップをさらに含む請求項3に記載の方
    法。
  10. 【請求項10】 前記クライアントにより、前記対話を
    終了するアボートメッセージを送るステップをさらに含
    む請求項3に記載の方法。
  11. 【請求項11】 前記サーバにより、前記対話を終了す
    るアボートメッセージを送るステップをさらに含む請求
    項3に記載の方法。
  12. 【請求項12】 前記オペレーティングシステムによ
    り、前記対話を終了するアボートメッセージを送るステ
    ップをさらに含む請求項3に記載の方法。
  13. 【請求項13】 前記対話を確立するステップが、対話
    識別情報を含む対話制御ブロックを設定するステップを
    含む請求項3に記載の方法。
  14. 【請求項14】 前記最初のリクエストが、文脈依存型
    の対話を確立すべきことを示すフィールドを含む請求項
    3に記載の方法。
  15. 【請求項15】 前記対話状態の値が前記対話を終了す
    べきことを示す第1の値である場合に、前記クライアン
    トにより対話終了メッセージを送る請求項3に記載の方
    法。
  16. 【請求項16】 クライアントが、 最初のリクエストを送る手段と、 対話状態の第1の値に応じて2番目のリクエストを送る
    手段と、 対話状態の第2の値に応じて対話終了メッセージを送る
    手段とを備え、 サーバが、 前記対話状態の第1の値を含む、前記最初のリクエスト
    に対する最初の応答を送る手段と、 前記対話状態の第2の値を含む、前記最初のリクエスト
    に対する2番目の応答を送る手段と、 前記最初のリクエストに応答して、前記クライアントと
    サーバとの間の対話を確立する手段とを備えることを特
    徴とするオン−ライントランザクション処理装置。
  17. 【請求項17】 前記対話状態の第1の値および前記対
    話状態の第2の値が、それぞれ、前記クライアントがそ
    の他のリクエストを送るべきことを示すFeContinue値、
    および、前記対話を終了すべきことを示すFeOK値である
    請求項16に記載のオン−ライントランザクション処理
    装置。
  18. 【請求項18】 クライアントと少なくとも1つのサー
    バとを備えるネットワークシステムにおけるクライアン
    トであって、 前記サーバに対して最初のリクエストを送るために設け
    られた第1の送信回路と、 前記クライアントから対話状態を受け取るために設けら
    れた第1の受信回路と、 前記対話状態に従って、1)前記最初のリクエストに論
    理的に結び付けられた前記サーバに対する2番目のリク
    エストおよび2)対話終了メッセージ、の一方を前記ク
    ライアントに送る第2の送信回路とを具備したクライア
    ント。
  19. 【請求項19】 サーバと少なくとも1つのクライアン
    トとを備えるネットワークシステムにおけるサーバであ
    って、 前記クライアントから最初のリクエストを受け取るため
    に設けられた第1の受信回路と、 前記サーバが前記最初のリクエストに応答して送るべき
    他のデータを有することを示す対話状態値を含む第1の
    データを、前記最初のリクエストに応答して、前記クラ
    イアントに送るために設けられた第1の送信回路と、 前記クライアントから2番目のリクエストを受け取るた
    めに設けられた第2の受信回路と、 前記サーバがそのデータを送ることを終了したことを示
    す対話状態値を含む第2のデータを、前記最初のリクエ
    ストに応答して、前記クライアントに送るために設けら
    れた第2の送信回路とを具備したサーバ。
  20. 【請求項20】 前記第2の送信回路が、前記2番目の
    リクエストに応答して、前記第2のデータを前記クライ
    アントに送るために設けられた第2の回路を備えた請求
    項19に記載のサーバ。
JP8168446A 1995-06-07 1996-06-07 文脈依存型の送信経路を開設する方法および装置 Pending JPH09146870A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/472,227 US5889957A (en) 1995-06-07 1995-06-07 Method and apparatus for context sensitive pathsend
US08/472227 1995-06-07

Publications (1)

Publication Number Publication Date
JPH09146870A true JPH09146870A (ja) 1997-06-06

Family

ID=23874658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8168446A Pending JPH09146870A (ja) 1995-06-07 1996-06-07 文脈依存型の送信経路を開設する方法および装置

Country Status (5)

Country Link
US (2) US5889957A (ja)
EP (1) EP0750412B1 (ja)
JP (1) JPH09146870A (ja)
CA (1) CA2178403A1 (ja)
DE (1) DE69635099T2 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889957A (en) * 1995-06-07 1999-03-30 Tandem Computers Incorporated Method and apparatus for context sensitive pathsend
US7930340B2 (en) * 1995-11-13 2011-04-19 Lakshmi Arunachalam Network transaction portal to control multi-service provider transactions
US8037158B2 (en) * 1995-11-13 2011-10-11 Lakshmi Arunachalam Multimedia transactional services
US8271339B2 (en) * 1995-11-13 2012-09-18 Lakshmi Arunachalam Method and apparatus for enabling real-time bi-directional transactions on a network
US6920637B2 (en) * 1995-11-17 2005-07-19 Symbol Technologies, Inc. Method and apparatus for implementing alerts on a browser running on a portable handheld device
GB2313524A (en) * 1996-05-24 1997-11-26 Ibm Providing communications links in a computer network
US6321274B1 (en) * 1996-06-28 2001-11-20 Microsoft Corporation Multiple procedure calls in a single request
US6377691B1 (en) 1996-12-09 2002-04-23 Microsoft Corporation Challenge-response authentication and key exchange for a connectionless security protocol
US6901425B1 (en) * 1996-12-23 2005-05-31 International Business Machines Corporation Computer apparatus and method including a disconnect mechanism for communicating between software applications and computers on the world-wide web
US7076784B1 (en) 1997-10-28 2006-07-11 Microsoft Corporation Software component execution management using context objects for tracking externally-defined intrinsic properties of executing software components within an execution environment
US5890161A (en) 1997-10-28 1999-03-30 Microsoft Corporation Automatic transaction processing of component-based server applications
US5958004A (en) 1997-10-28 1999-09-28 Microsoft Corporation Disabling and enabling transaction committal in transactional application components
US6134594A (en) 1997-10-28 2000-10-17 Microsoft Corporation Multi-user, multiple tier distributed application architecture with single-user access control of middle tier objects
US6813769B1 (en) 1997-10-28 2004-11-02 Microsoft Corporation Server application components with control over state duration
US6631425B1 (en) * 1997-10-28 2003-10-07 Microsoft Corporation Just-in-time activation and as-soon-as-possible deactivation or server application components
US6016496A (en) * 1997-11-20 2000-01-18 International Business Machines Corporation Method and apparatus for an object-oriented object for retrieving information from local and remote databases
US6314422B1 (en) * 1997-12-09 2001-11-06 Chrysler Corporation Method for softlinking between documents in a vehicle diagnostic system
FR2773241B1 (fr) * 1997-12-30 2001-09-07 Bull Sa Procede d'assistance a l'administration d'une application distribuee basee sur un fichier binaire de configuration dans un systeme informatique
US6289344B1 (en) 1998-05-11 2001-09-11 International Business Machines Corporation Context-sensitive authorization in an RDBMS
US6526416B1 (en) 1998-06-30 2003-02-25 Microsoft Corporation Compensating resource managers
US6442620B1 (en) 1998-08-17 2002-08-27 Microsoft Corporation Environment extensibility and automatic services for component applications using contexts, policies and activators
US6425017B1 (en) 1998-08-17 2002-07-23 Microsoft Corporation Queued method invocations on distributed component applications
US7707600B1 (en) * 1998-08-21 2010-04-27 Intel Corporation Confirming video transmissions
JP2000148503A (ja) * 1998-11-10 2000-05-30 Mitsubishi Electric Corp 動的モジュール構成方式及び動的モジュール構成方法及びデバイス
US6330528B1 (en) * 1998-12-16 2001-12-11 Compaq Computer Corp. Method of terminating temporarily unstoppable code executing in a multi-threaded simulated operating system
US6748455B1 (en) 1999-02-23 2004-06-08 Microsoft Corporation Object connectivity through loosely coupled publish and subscribe events with filtering
US6829770B1 (en) 1999-02-23 2004-12-07 Microsoft Corporation Object connectivity through loosely coupled publish and subscribe events
JP3713161B2 (ja) * 1999-03-31 2005-11-02 富士通株式会社 サーバおよび記録媒体
US6978464B1 (en) * 1999-10-07 2005-12-20 Sprint Communications Company L.P. Communicating between a process and a destination
US6920636B1 (en) * 1999-12-15 2005-07-19 Microsoft Corporation Queued component interface passing for results outflow from queued method invocations
CA2299150A1 (en) * 2000-02-23 2001-08-23 Hummingbird Communications Ltd A system and method for providing real-time information to a web browser
US7752326B2 (en) * 2001-08-20 2010-07-06 Masterobjects, Inc. System and method for utilizing asynchronous client server communication objects
US8112529B2 (en) * 2001-08-20 2012-02-07 Masterobjects, Inc. System and method for asynchronous client server session communication
US20030149741A1 (en) * 2002-02-05 2003-08-07 Krooss Kevin William Methods for implementing remote operating system procedure calls
US8621031B2 (en) * 2003-04-29 2013-12-31 Oracle International Corporation Method and apparatus using connection pools in communication networks
EP1510951A1 (en) * 2003-08-27 2005-03-02 Sap Ag A data processing method, system and computer program
US20130007106A1 (en) * 2011-07-01 2013-01-03 Salesforce. Com Inc. Asynchronous interaction in the report generator
US10819756B2 (en) * 2017-04-10 2020-10-27 OpenLegacy Technologies Ltd. Atomic transaction over non-persistent protocol(s)
CN109614379A (zh) * 2018-10-22 2019-04-12 中国平安人寿保险股份有限公司 日志输出方法、装置、计算机存储介质和计算机设备
US12001888B2 (en) 2022-01-28 2024-06-04 Hewlett Packard Enterprise Development Lp Server instance allocation for execution of application instances

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4646300A (en) * 1983-11-14 1987-02-24 Tandem Computers Incorporated Communications method
AU601328B2 (en) * 1988-05-26 1990-09-06 Digital Equipment Corporation Temporary state preservation for a distributed file service
US5249293A (en) * 1989-06-27 1993-09-28 Digital Equipment Corporation Computer network providing transparent operation on a compute server and associated method
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
JP3490473B2 (ja) * 1993-02-17 2004-01-26 松下電器産業株式会社 プロセッサ間通信システム
US5386412A (en) * 1993-05-11 1995-01-31 Park; Jung S. Telecommunication system protocol for asynchronous data communication between multiport switch control processor and information support personal computer terminal
US5367523A (en) * 1993-08-26 1994-11-22 International Business Machines Corporation Adaptive rate-based congestion and flow control in packet communications networks
US5617570A (en) * 1993-11-03 1997-04-01 Wang Laboratories, Inc. Server for executing client operation calls, having a dispatcher, worker tasks, dispatcher shared memory area and worker control block with a task memory for each worker task and dispatcher/worker task semaphore communication
US5546583A (en) * 1994-04-05 1996-08-13 International Business Machines Corporation Method and system for providing a client/server interface in a programming language
US5577172A (en) * 1994-07-01 1996-11-19 Lasermaster Corporation High-capacity protocol for packet-based networks
US5590266A (en) * 1994-10-11 1996-12-31 International Business Machines Corporation Integrity mechanism for data transfer in a windowing system
US5634127A (en) * 1994-11-30 1997-05-27 International Business Machines Corporation Methods and apparatus for implementing a message driven processor in a client-server environment
US5638374A (en) * 1995-03-15 1997-06-10 Hughes Electronics Enhanced transaction reservation
US5889957A (en) * 1995-06-07 1999-03-30 Tandem Computers Incorporated Method and apparatus for context sensitive pathsend
US5649103A (en) * 1995-07-13 1997-07-15 Cabletron Systems, Inc. Method and apparatus for managing multiple server requests and collating reponses
US5617540A (en) * 1995-07-31 1997-04-01 At&T System for binding host name of servers and address of available server in cache within client and for clearing cache prior to client establishes connection
US5751708A (en) * 1995-10-25 1998-05-12 Lucent Technologies Inc. Access method for broadband and narrowband networks

Also Published As

Publication number Publication date
DE69635099D1 (de) 2005-09-29
EP0750412B1 (en) 2005-08-24
EP0750412A2 (en) 1996-12-27
CA2178403A1 (en) 1996-12-08
DE69635099T2 (de) 2006-06-29
US5889957A (en) 1999-03-30
EP0750412A3 (en) 2001-05-16
US6003085A (en) 1999-12-14

Similar Documents

Publication Publication Date Title
JPH09146870A (ja) 文脈依存型の送信経路を開設する方法および装置
EP1099164B1 (en) Method and program for processing administrative requests of a distributed network application executing in a clustered computing environment
EP0600235B1 (en) Cooperative processing interface and communication broker for heterogeneous computing environments
US7660949B2 (en) Exactly once cache framework
US20020156930A1 (en) System, method, and article of manufacture for facilitating communication between an IMS process and CORBA process
US7788316B2 (en) Efficient server handling of multiple requests from a web browser
US7113980B2 (en) Exactly once JMS communication
US7448035B2 (en) Apparatus for maintaining resource integrity without a unified transaction manager in a software environment
US6216151B1 (en) Saving connection time by obtaining result of request at later reconnection with server supplied associated key
US6021507A (en) Method for a non-disruptive host connection switch after detection of an error condition or during a host outage or failure
US7146427B2 (en) Polling-based mechanism for improved RPC timeout handling
JP2837288B2 (ja) 連鎖分散データトランザクションシステムにおけるワーク単位識別子の管理方法
US10936591B2 (en) Idempotent command execution
US6141679A (en) High performance distributed transaction processing methods and apparatus
US5706500A (en) Selective transaction oriented recovery and restart for message-driven business applications
US6411981B1 (en) Method and apparatus for conducting a transaction between homogeneous and/or heterogeneous transaction processing systems using asynchronous pull of a transaction transfer
US6330686B1 (en) Handling protected conversation messages across IMS restart in shared queues environment
CN113177052A (zh) 一种分布式系统业务数据一致性处理方法、装置
JP3574030B2 (ja) コンピューティング装置、操作方法およびプログラム記憶装置
CN115203334B (zh) 数据处理方法、装置、电子设备和存储介质
US7752254B2 (en) Propagating contexts between a first and second system
JP2002099510A (ja) 複数トランザクション処理システム
JPH08123771A (ja) クライアント/サーバシステムおよび同システム用ワークステーション装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060328

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061010