JPH11265362A - クライアント処理装置、サ―バ処理装置、クライアント処理方法、サ―バ処理方法及びコンピュ―タ・プログラム製品 - Google Patents

クライアント処理装置、サ―バ処理装置、クライアント処理方法、サ―バ処理方法及びコンピュ―タ・プログラム製品

Info

Publication number
JPH11265362A
JPH11265362A JP11000118A JP11899A JPH11265362A JP H11265362 A JPH11265362 A JP H11265362A JP 11000118 A JP11000118 A JP 11000118A JP 11899 A JP11899 A JP 11899A JP H11265362 A JPH11265362 A JP H11265362A
Authority
JP
Japan
Prior art keywords
transaction
client
server
command
context
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.)
Granted
Application number
JP11000118A
Other languages
English (en)
Other versions
JP3548030B2 (ja
Inventor
Amanda Elizabeth Chessell
アマンダ・エリザベス・チェゼル
Martin Mulholland
マーティン・ミュルホランド
Kathrine Sarah Warr
キャサリン・サラ・ウォー
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 JPH11265362A publication Critical patent/JPH11265362A/ja
Application granted granted Critical
Publication of JP3548030B2 publication Critical patent/JP3548030B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】各トランザクションの処理に関係する多数のプ
ロセス間フローを減少させるとともに、トランザクショ
ンの作成に伴うクライアント・プロセスのオーバヘッド
を減少させること。 【解決手段】トランザクションを処理するクライアント
/サーバ計算システムにおいて使用するためのクライア
ント処理装置は、トランザクションの開始を通知するた
めに開始コマンドを発行し、実質的なトランザクション
・コマンドを遠隔サーバに送信する。このトランザクシ
ョン・コマンドは、トランザクションが開始されたが当
該トランザクションを表すトランザクション・オブジェ
クトがまだ作成されていないことを指示するための、特
定の値を有するトランザクション・コンテキストを含ん
でいる。更に、クライアント処理装置は、前記遠隔サー
バが前記トランザクション・オブジェクトを作成した場
合には、前記遠隔サーバから修正済みのトランザクショ
ン・コンテキストを受信する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、クライアント・コ
ンピュータ(以下「クライアント」と表記)がサーバ・
コンピュータ(以下「サーバ」と表記)に対しクライア
ントの作業の一部を実行することを要求するようにした
クライアント/サーバ(分散式とも呼ばれる)計算の分
野に係る。クライアント及びサーバは、両者ともに同一
の物理的計算機上に設けることができる。
【0002】
【従来の技術】クライアント/サーバ計算は、情報技術
の分野において過去数年にわたって次第に重要となって
きた。このタイプの分散式計算は、1台の計算機がその
作業の一部を他の計算機に委譲して、これを一層良好な
態様で実行することを可能にする。例えば、サーバは、
膨大なデータの記憶を管理するためのデータベース・プ
ログラムを実行する高性能のコンピュータとすることが
できるのに対し、クライアントは、そのローカル・プロ
グラムの1つで使用するためにデータベースからの情報
を要求するデスクトップ型のパーソナル・コンピュータ
(PC)とすることができる。
【0003】クライアント/サーバ計算の利点は、クラ
イアント及びサーバを互いに異なる(異種)「プラット
フォーム」上に設けることを可能にする処の、オブジェ
クト指向プログラミング(OOP)と呼ばれる周知のコ
ンピュータ・プログラミング技法の使用によって強調さ
れてきた。プラットフォームとは、計算機がその作業を
行うために使用する処の、特定のハードウェア/ソフト
ウェア/オペレーティング・システム/通信プロトコル
の組み合わせである。OOPを使用すると、クライアン
トのアプリケーション・プログラム(以下「クライアン
ト・アプリケーション」と表記)及びサーバのアプリケ
ーション・プログラム(以下「サーバ・アプリケーショ
ン」と表記)は、クライアント・アプリケーションの作
業要求がサーバ・アプリケーションにどのように通信さ
れ且つそこでどのように受け入れられるかということを
考慮することなく、それぞれのプラットフォーム上で動
作することができる。同様に、サーバ・アプリケーショ
ンは、OOPシステムがサーバ・アプリケーションの処
理結果をどのように受信し、変換し、これを要求元のク
ライアント・アプリケーションにどのように戻すかとい
うことを考慮する必要がない。
【0004】米国特許第 5,440,744 号及び公開された
欧州特許出願 EP 0 677,943 A2 には、OOP技法を異
種のクライアント/サーバ・システムと統合化する方法
が開示されている。しかしながら、本発明の環境を理解
する一助として、その基本アーキテクチャの例を以下で
説明する。
【0005】図1に示されているように、クライアント
10(例えば、IBM社が提供するOS/2を搭載した
パーソナル・コンピュータ)は、そのオペレーティング
・システム上で実行されるクライアント・アプリケーシ
ョン40を有する(「IBM」及び「OS/2」は、本
出願人の商標である)。クライアント・アプリケーショ
ン40は、サーバ20上で作業を定期的に実行すること
を必要とするとともに、クライアント・アプリケーショ
ン40が後で使用するのに備えてサーバ20からデータ
を定期的に戻すことを必要とする。サーバ20は、例え
ば、IBM社が提供するMVSオペレーティング・シス
テムを搭載した高性能のメインフレーム・コンピュータ
とすることができる(「MVS」は、本出願人の商標で
ある)。本発明については、サーバ20によって行うべ
き通信サービス用の要求がクライアント・アプリケーシ
ョン40とのユーザの対話によって開始されるのか、又
はクライアント・アプリケーション40がユーザの対話
と独立に動作してその実行中に自動的に要求を行うのか
ということは、全く関係がない。
【0006】クライアント10がサーバ20のサービス
についての要求を行うことを望んでいる場合、クライア
ント・アプリケーション40は、必要とするサービスを
第1の論理手段50に通知する。こうするには、例え
ば、遠隔手順の名前とともに、入力及び出力パラメータ
のリストを第1の論理手段50に通知すればよい。かく
て、第1の論理手段50は、記憶装置60内に格納され
ている利用可能な通信サービスの定義を参照して、サー
バ20との必要な通信を確立するというタスクを行う。
可能な全てのサービスは、オブジェクト・クラスの結合
(cohesive)フレームワーク70として定義されてい
る。なお、これらのクラスは、単オブジェクト・クラス
から導出されるものである。それぞれのサービスをこの
ように定義すると、性能及び再使用性の面で多数の利点
を得ることができる。
【0007】サーバ20との必要な通信を確立するため
に、第1の論理手段50は、フレームワーク70内のど
のオブジェクト・クラスを使用する必要があるかを決定
した後、サーバ20においてこのオブジェクトのインス
タンスを作成する。このオブジェクトには、そのメソッ
ドのうち1つを呼び出すために、メッセージが送信され
るようになっている。かくして、接続手段80を介して
サーバ20との接続が確立されるので、これに続いて、
第2の論理手段90に対し要求を送信することができ
る。
【0008】次に、第2の論理手段90は、この要求を
サーバ20上で実行中のサーバ・アプリケーション10
0に引き渡すので、サーバ・アプリケーション100
は、この要求に相当する特定のタスク(例えば、データ
検索手順)を実行することができる。かかるタスクが完
了すると、サーバ・アプリケーション100は、その結
果をクライアント10に戻さなければならないことがあ
る。このため、サーバ・アプリケーション100は、要
求されたタスクの実行中及びその結果をクライアント1
0に返送すべき時点で、第2の論理手段90と対話す
る。第2の論理手段90は、オブジェクトのインスタン
スを作成するとともに、これらのオブジェクトの適当な
メソッドを呼び出す。なお、これらのオブジェクト・イ
ンスタンスは、サーバ・アプリケーション100によっ
て必要とされるときに、記憶装置110内に格納されて
いるオブジェクト・クラスの結合フレームワーク120
から作成されるものである。
【0009】前述の技法を使用すると、クライアント1
0上のクライアント・アプリケーション40は、通信ア
ーキテクチャに対し露出されないことになる。また、サ
ーバ・アプリケーション100は、その環境用の標準的
な機構によって呼び出されるので、これが遠隔的に呼び
出されている場合には、そのことを認識しないことにな
る。
【0010】オブジェクト・マネジメント・グループ
(OMG)は、図1に示されているような分散オブジェ
クトを持つ異種のプラットフォーム上で行われるクライ
アント/サーバ計算の種々の側面の標準化及び普及を図
るための国際的な非営利団体である。OMGは、クライ
アント(例えば、10)が(OOP形式で)サーバ(例
えば、20)と通信するための標準仕様を記述した文書
を公開している。これらの標準仕様の一部として定めら
れたオブジェクト・リクエスト・ブローカ(CORBA
−共通オブジェクト・リクエスト・ブローカ・アーキテ
クチャとも呼ばれる)は、クライアントとサーバとの間
のオブジェクト指向ブリッジを提供する。ORBは、ク
ライアント・アプリケーション40及びサーバ・アプリ
ケーション100をオブジェクト指向の実現細目から分
離するとともに、第1の論理手段50及び第2の論理手
段90並びに通信手段80の作業のうち少なくとも一部
を実行する。
【0011】CORBAソフトウェア構造の一部とし
て、OMGは、OTS(オブジェクト・トランザクショ
ン・サービス)と呼ばれる処の、「トランザクション」
に関係する標準仕様を定めている。その詳細について
は、"CORBA Object TransactionService Specification
1.0, OMG Document 94.8.4" を参照されたい。コンピ
ュータを使用して実現されたトランザクション処理シス
テムは、多くの産業において重要なビジネス・タスクに
有用である。トランザクションは、完全に完了されるか
又はアクションを伴うことなく完全に除去されねばなら
ない処の、単作業単位を定義する。例えば、顧客が現金
を引き出すための銀行用自動端末装置の場合には、現金
を発行し、当該端末内に置かれている現金の残高を減少
させるとともに、顧客の預金口座の残高を減少させると
いう全てのアクションを完全に行わなければならない
か、又はその何れも全く行ってはならないのである。こ
れらの従属アクションの1つでも失敗すると、記録内容
と実際の事象との間に不一致が生ずることになろう。
【0012】分散式トランザクション処理は、複数の物
理的又は論理的ロケーションにおける資源に影響するよ
うなトランザクションを含んでいる。前述の例では、或
るトランザクションは、ローカルの銀行用自動端末装置
で管理されている資源に影響するだけでなく、その銀行
のメイン・コンピュータによって管理されている預金口
座の残高にも影響する。これらのトランザクションは、
特定のサーバ(例えば、20)によって処理される一連
の顧客要求について、このサーバと通信する特定のクラ
イアント(例えば、10)を含んでいる。OMGのOT
Sは、これらの分散式トランザクションを調整するよう
に策定されたものである。
【0013】一般に、クライアント・プロセス上で実行
中のアプリケーションが開始するトランザクションは、
互いに異なる複数のサーバを呼び出すことがある。この
場合、各サーバは、このトランザクションに含まれる命
令に従って、そのローカル・データベースの内容を変更
するためのサーバ・プロセスを開始する。このトランザ
クションが終了するのは、このトランザクションをコミ
ットする(従って、全てのサーバがそれぞれのローカル
・データベースに対する変更を終了する)か、又はこの
トランザクションを打ち切る(従って、全てのサーバが
それぞれのローカル・データベースに対する変更を「ロ
ールバック」若しくは無視する)場合だけである。この
トランザクションの間にこれらのサーバと通信するため
には(即ち、これらのサーバに対し、このトランザクシ
ョンにおけるそれぞれの部分をコミットするか又は打ち
切るように命令するためには)、関係するプロセスのう
ち1つが、このトランザクション用の状態データを維持
しなければならない。こうするために一般に採用されて
いる方法は、特定のプロセスを使用して一連のトランザ
クション・オブジェクトを設定するとともに、そのうち
の1つを種々のサーバに関するトランザクションを調整
するための調整オブジェクトとするというものである。
【0014】図2には、IBM社が開発し且つ1997
年5月に発表した製品である「Component Broker Serie
s」(本出願人の商標)の一部として含まれている処
の、OTSの実現例が示されている。トランザクション
(例えば、預金口座からの現金の引き出し)を開始する
ことを望んでいるクライアント・プロセス21は、この
トランザクションの状態を維持するためのトランザクシ
ョン・オブジェクトを作成及び維持可能なプロセスを見
つけなければならない。シン・クライアント(即ち、最
小限の機能だけを有するクライアント)を作成するとい
う最近の傾向に従って、クライアント・プロセス21
は、かかるトランザクション・オブジェクトをローカル
に維持することができないのが普通であるから、この目
的のためにサーバ・プロセスを捜さなければならない。
【0015】この従来技術のアプローチによれば、OT
S(又はCORBAライフサイクル・サービスのような
他のサービス)は、(調整、制御及び終了オブジェクト
を含む)トランザクション・オブジェクト221を作成
すべきサーバ・プロセスを捜索する。この従来技術で
は、同サーバ・プロセス(即ち、図2のサーバAプロセ
ス22)が常に選ばれるようになっている。サーバAプ
ロセス22を見つけると、クライアント・プロセス21
は、サーバAプロセス22にメッセージを送信して(丸
数字1を参照)、トランザクション・オブジェクト22
1を作成するように命令する。次に、サーバAプロセス
22は、トランザクション・オブジェクト221を作成
するとともに、トランザクション・コンテキストを保持
する応答をクライアント・プロセス21に送信する(丸
数字2を参照)。次に、クライアント・プロセス21
は、サーバBプロセス23に預金口座借方記入コマンド
を送信する(丸数字3を参照)。サーバBプロセス23
は、クライアント・プロセス21が現金の引き出しを望
んでいる預金口座オブジェクト231を含んでいる。ま
た、預金口座借方記入コマンドは、サーバAプロセス2
2からクライアント・プロセス21に供給されたトラン
ザクション・コンテキストを保持している。このよう
に、サーバBプロセス23内の預金口座オブジェクト2
31は、それ自体をサーバAプロセス22内のトランザ
クション・オブジェクト221に登録することができる
ので(丸数字4を参照)、トランザクション・オブジェ
クト221は、預金口座オブジェクト231に対し、当
該トランザクションの終わりにコミット又はロールバッ
クを行うように指令することができる(丸数字5を参
照)。
【0016】
【発明が解決しようとする課題】しかしながら、この従
来技術の実現形態は、少なくとも2つの点で非効率的で
ある。第1に、トランザクション・オブジェクトを作成
及び維持するためにクライアント・プロセスが遠隔プロ
セスを捜している場合には、常に同サーバ・プロセスが
使用されるようになっているから、このサーバ・プロセ
スは、直ぐに過負荷となって、それ自体のタスク(例え
ば、ローカル資源の更新)を効率的に行うことが困難と
なる。第2に、各トランザクションに関係する種々のプ
ロセス間に、多数のプロセス間フローが存在する。仮
に、ランダムに選ばれたサーバ上でトランザクション・
オブジェクトを作成及び維持するようにしたとしても、
依然として多数のプロセス間コールが存在するという問
題がある。
【0017】
【課題を解決するための手段】第1の側面に従って、本
発明は、トランザクションを処理するクライアント/サ
ーバ計算システムにおいて使用するためのクライアント
処理装置を提供する。このクライアント処理装置は、ト
ランザクションの開始を通知するために開始コマンドを
発行するための手段と、トランザクション・コマンドを
遠隔サーバに送信するための手段とを備えている。この
トランザクション・コマンドは、トランザクションが開
始されたが当該トランザクションを表すトランザクショ
ン・オブジェクトがまだ作成されていないことを指示す
るための、特定の値を有するトランザクション・コンテ
キストを含んでいる。更に、このクライアント処理装置
は、前記遠隔サーバが前記トランザクション・オブジェ
クトを作成した場合には、前記遠隔サーバから修正済み
のトランザクション・コンテキストを受信するための手
段を備えている。
【0018】第2の側面に従って、本発明は、トランザ
クションを処理するクライアント/サーバ計算システム
において使用するためのサーバ処理装置を提供する。こ
のサーバ処理装置は、クライアントからトランザクショ
ン・コマンドを受信するための手段を備えている。この
トランザクション・コマンドは、トランザクションが前
記クライアントによって開始されたが当該トランザクシ
ョンを表すトランザクション・オブジェクトがまだ作成
されていないことを指示するための、特定の値を有する
トランザクション・コンテキストを含んでいる。更に、
このサーバ処理装置は、前記トランザクション・コンテ
キスト内の前記特定の値を認識するとともに、前記特定
の値に応答して前記トランザクション・オブジェクトを
ローカルに作成するための手段を備えている。
【0019】第3の側面に従って、本発明は、前記第1
の側面に関連して記述したクライアントの機能を実行す
るための方法を提供する。
【0020】第4の側面に従って、本発明は、前記第2
の側面に関連して記述したサーバの機能を実行するため
の方法を提供する。
【0021】第5の側面に従って、本発明は、前記第1
の側面に関連して記述したクライアントの機能をコンピ
ュータ上で実行するためのコンピュータ・プログラム製
品を提供する。
【0022】第6の側面に従って、本発明は、前記第1
の側面に関連して記述したサーバの機能をコンピュータ
上で実行するためのコンピュータ・プログラム製品を提
供する。
【0023】
【発明の実施の形態】共通オブジェクト・リクエスト・
ブローカ・アーキテクチャ(CORBA)のオブジェク
ト・トランザクション・サービス(OTS)は、「現
行」と呼ばれるインタフェース・オブジェクトを提供す
る。かかる現行インタフェース・オブジェクトは、トラ
ンザクションの開始を下部のソフトウェア層に通知する
ためにクライアント・アプリケーション(ソース・コー
ド)が使用する処の、「開始」メソッドを有している。
本発明の推奨実施例によれば、クライアント・アプリケ
ーションが特定のクライアント・アーキテクチャ上で構
築又は実行されており且つ「開始」メソッドを含んでい
る場合には、その下部にあるソフトウェアは、当該トラ
ンザクションに実質的に関係するサーバ(例えば、当該
トランザクションに関係するサーバ資源を有するような
サーバ)においてトランザクション状態オブジェクトを
設定することにより、当該トランザクションを作成する
ように適当な動作を行う。
【0024】本発明の推奨実施例では、クライアント・
プロセス31(図3を参照)内で実行中のアプリケーシ
ョンは、通常のように、現行インタフェース・オブジェ
クト上の「開始」メソッドを呼び出すことにより、トラ
ンザクションを開始する。次に、クライアント・プロセ
ス31は、例えば最小セットのオブジェクトをローカル
に作成することにより、クライアント・プロセス31が
このコマンドを発行したという事実を記録する。前記ア
クションは、図4の流れ図のステップ41に例示されて
いる。この例では、処理中のトランザクションが、クラ
イアントとして銀行用自動端末装置を使用して行われる
処の、預金口座からの現金の引き出しであると仮定す
る。かかるトランザクションは、世界中のどこでも日常
的に行われている。
【0025】前記従来技術にあっては、この段階におい
て、遠隔プロセス22を捜した後、この遠隔プロセス2
2内でトランザクション・オブジェクト221を作成し
ていた。これに対し、本発明は、その後の時点までこれ
らのトランザクション・オブジェクトの作成を遅れさせ
るようにしている(後述)。
【0026】次に、クライアント・プロセス31内で実
行中のアプリケーションは、引き出しトランザクション
の最初の実質的部分として、サーバBプロセス33内の
預金口座オブジェクト331に対し、借方記入コマンド
を発行する。この例では、かかる借方記入コマンドは、
「開始」コマンドを発行した後にクライアント・プロセ
ス31が当該トランザクションにおいて形成する処の、
最初の遠隔フローである。このコマンドを形成するに当
たり、クライアント・プロセス31は、このコマンド内
に或るトランザクション・コンテキストを含めることに
より、預金口座オブジェクト331において、このコマ
ンドが特定のトランザクションの一部であることを認識
し且つそのトランザクションを識別することができるよ
うにしなければならない。
【0027】前記従来技術の場合、クライアント・プロ
セス21は、遠隔プロセス22内で設定したトランザク
ション・オブジェクト221からトランザクション・コ
ンテキストを受信していた。これに対し、本発明の推奨
実施例では、トランザクション・オブジェクトはまだ作
成されていないので、この段階において、クライアント
・プロセス31に対し、トランザクション・コンテキス
トを提供することができない。かくて、本発明の推奨実
施例では、クライアント・プロセス31が遠隔プロセス
33内の預金口座オブジェクト331に対し借方記入コ
マンドを送信する場合、特定のトランザクション・コン
テキスト(例えば、NULL トランザクション・コンテキ
スト)がこのコマンド内に含められることになる(図3
の丸数字1を参照)。 NULL トランザクション・コンテ
キストとは、その全てのフィールドがゼロにセットされ
ていることを意味する。この特定のトランザクション・
コンテキストは、トランザクションが開始されたが、そ
のトランザクション・オブジェクトがまだ作成されてい
ないことを通知する。この動作は、図4の流れ図のステ
ップ42に例示されている通りである。
【0028】サーバBプロセス33がこの特定のトラン
ザクション・コンテキスト(例えば、NULL トランザク
ション・コンテキスト)を認識する場合、サーバBプロ
セス33は、トランザクションが開始されたが、そのト
ランザクション・オブジェクトがまだ作成されていない
ことを通知される。そうすると、サーバBプロセス33
は、トランザクション・オブジェクト332をローカル
に作成する(ステップ43)。この時点で、トランザク
ション・オブジェクト332が作成されているので、当
該トランザクションは、有効なトランザクション・コン
テキストを有することになり、そして有効なトランザク
ション・コンテキストが当該トランザクションに割り当
てられる。次に、サーバBプロセス33は、クライアン
ト・プロセス31に応答を送信して(丸数字2を参
照)、クライアント・プロセス31に対し有効なトラン
ザクション・コンテキストを通知する(ステップ4
4)。この時点で、クライアント・プロセス31は、作
成済みのトランザクションについて十分な情報を有する
ことになる。
【0029】この段階で、預金口座オブジェクト331
は、トランザクション・オブジェクト332と通常の態
様で通信する(ステップ45)。但し、このような全て
の通信は、同プロセス内で行われるために、これらの通
信については如何なるプロセス間フローも必要とされな
い。説明中の例では、かかる通信は、預金口座オブジェ
クト331をトランザクション・オブジェクト332に
登録することを含み、そして当該トランザクションが終
了した場合、トランザクション・オブジェクト332
は、預金口座オブジェクト331に対しコミット又はロ
ールバック・コマンドを送信する。
【0030】代替的な実施例において、サーバBプロセ
ス33は、NULL トランザクション・コンテキストを受
信した時点で直ちにトランザクション・オブジェクトを
作成するのではなく、その後の時点で、例えば、資源登
録の間に、トランザクション・オブジェクトを作成する
ことができる。
【0031】前述の実施例では、(全てのフィールドを
ゼロにセットした)NULL トランザクション・コンテキ
ストが使用されているが、他の特定の値を有するトラン
ザクション・コンテキストも使用可能であることは勿論
である。例えば、かかるトランザクション・コンテキス
トの個別データ・フィールドを特定の値にそれぞれセッ
トすることができる。
【0032】
【発明の効果】以上のように、本発明によれば、トラン
ザクションの処理に実質的に関係するサーバ・プロセス
(例えば、当該トランザクションに関係する資源を有す
るようなサーバ・プロセス)に対し、クライアント・プ
ロセスが実質的なトランザクション・コマンドを送信す
るまで、トランザクション・オブジェクトは作成されな
いのであり、これにより、多数のプロセス間フローを減
少させることができる。このことは、図2(従来技術)
と図3(本発明の推奨実施例)を簡単に比較するだけで
も、十分に理解することができる。図2には、5つのプ
ロセス間コールが示されているのに対し、図3には、2
つのプロセス間コールが示されているに過ぎないからで
ある。
【0033】また、図2の従来技術では、クライアント
・プロセスがトランザクションの作成を専用的な態様で
指令していたが(図2の丸数字1を参照)、本発明のク
ライアント・プロセスは、かかる専用的な態様に伴うオ
ーバヘッドを負っていないという点で有利である。即
ち、クライアントに関する限り、本発明におけるトラン
ザクションの作成は、クライアントの実質的なトランザ
クション・コマンド(例えば、預金口座の借方記入)と
組み合わされているからである。かくして、本発明のク
ライアントは、遠隔のサーバ・プロセスを見つけること
を免除されるだけでなく、この見つけられたプロセス上
でメソッドを作成することからも免除されるのである。
【図面の簡単な説明】
【図1】オブジェクト指向技術を使用した周知の異種ク
ライアント/サーバ・アーキテクチャのブロック図であ
る。
【図2】従来技術に従ったOTSの実現例を示すブロッ
ク図である。
【図3】本発明の推奨実施例に従ったOTSの実現例を
示すブロック図である。
【図4】図3に示されているOTSの実現例に従って、
クライアントが開始コマンドを発行する場合に行われる
各ステップを示す流れ図である。
【符号の説明】
31・・・・クライアント・プロセス 33・・・・サーバBプロセス 331・・・預金口座オブジェクト 332・・・トランザクション・オブジェクト
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マーティン・ミュルホランド イギリス国ハンプシャー州、ウィンチェス ター、オッターボーン、マイン・ロード、 ジャスミン(番地なし) (72)発明者 キャサリン・サラ・ウォー イギリス国ハンプシャー州、ウィンチェス ター、グローブランズ・ロード 24

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】トランザクションを処理するクライアント
    /サーバ計算システムにおいて使用するためのクライア
    ント処理装置であって、 トランザクションの開始を通知するために開始コマンド
    を発行するための手段と、 トランザクション・コマンドを遠隔サーバに送信するた
    めの手段とを備え、 前記トランザクション・コマンドは、トランザクション
    が開始されたが当該トランザクションを表すトランザク
    ション・オブジェクトがまだ作成されていないことを指
    示するための、特定の値を有するトランザクション・コ
    ンテキストを含んでおり、 更に、前記遠隔サーバが前記トランザクション・オブジ
    ェクトを作成した場合には、前記遠隔サーバから修正済
    みのトランザクション・コンテキストを受信するための
    手段を備えていることを特徴とする、前記クライアント
    処理装置。
  2. 【請求項2】トランザクションを処理するクライアント
    /サーバ計算システムにおいて使用するためのサーバ処
    理装置であって、 クライアントからトランザクション・コマンドを受信す
    るための手段を備え、 前記トランザクション・コマンドは、トランザクション
    が前記クライアントによって開始されたが当該トランザ
    クションを表すトランザクション・オブジェクトがまだ
    作成されていないことを指示するための、特定の値を有
    するトランザクション・コンテキストを含んでおり、 更に、前記トランザクション・コンテキスト内の前記特
    定の値を認識するとともに、前記特定の値に応答して前
    記トランザクション・オブジェクトをローカルに作成す
    るための手段を備えていることを特徴とする、前記サー
    バ処理装置。
  3. 【請求項3】トランザクションを処理するクライアント
    /サーバ計算システムにおいて使用するためのクライア
    ント処理方法であって、 トランザクションの開始を通知するために開始コマンド
    を発行するステップと、 トランザクション・コマンドを遠隔サーバに送信するス
    テップとを含み、 前記トランザクション・コマンドは、トランザクション
    が開始されたが当該トランザクションを表すトランザク
    ション・オブジェクトがまだ作成されていないことを指
    示するための、特定の値を有するトランザクション・コ
    ンテキストを含んでおり、 更に、前記遠隔サーバが前記トランザクション・オブジ
    ェクトを作成した場合には、前記遠隔サーバから修正済
    みのトランザクション・コンテキストを受信するステッ
    プを含んでいることを特徴とする、前記クライアント処
    理方法。
  4. 【請求項4】トランザクションを処理するクライアント
    /サーバ計算システムにおいて使用するためのサーバ処
    理方法であって、 クライアントからトランザクション・コマンドを受信す
    るステップを含み、 前記トランザクション・コマンドは、トランザクション
    が前記クライアントによって開始されたが当該トランザ
    クションを表すトランザクション・オブジェクトがまだ
    作成されていないことを指示するための、特定の値を有
    するトランザクション・コンテキストを含んでおり、 更に、前記トランザクション・コンテキスト内の前記特
    定の値を認識するとともに、前記特定の値に応答して前
    記トランザクション・オブジェクトをローカルに作成す
    るステップを含んでいることを特徴とする、前記サーバ
    処理方法。
  5. 【請求項5】トランザクションを処理するクライアント
    /サーバ計算システムにおいて使用するためのクライア
    ント処理方法をコンピュータ上で実行するように、コン
    ピュータが読み取り可能な記憶媒体に格納されたコンピ
    ュータ・プログラム製品であって、前記クライアント処
    理方法が、 トランザクションの開始を通知するために開始コマンド
    を発行するステップと、 トランザクション・コマンドを遠隔サーバに送信するス
    テップとを含み、 前記トランザクション・コマンドは、トランザクション
    が開始されたが当該トランザクションを表すトランザク
    ション・オブジェクトがまだ作成されていないことを指
    示するための、特定の値を有するトランザクション・コ
    ンテキストを含んでおり、 更に、前記遠隔サーバが前記トランザクション・オブジ
    ェクトを作成した場合には、前記遠隔サーバから修正済
    みのトランザクション・コンテキストを受信するステッ
    プを含んでいることを特徴とする、前記コンピュータ・
    プログラム製品。
  6. 【請求項6】トランザクションを処理するクライアント
    /サーバ計算システムにおいて使用するためのサーバ処
    理方法をコンピュータ上で実行するように、コンピュー
    タが読み取り可能な記憶媒体に格納されたコンピュータ
    ・プログラム製品であって、前記サーバ処理方法が、 クライアントからトランザクション・コマンドを受信す
    るステップを含み、 前記トランザクション・コマンドは、トランザクション
    が前記クライアントによって開始されたが当該トランザ
    クションを表すトランザクション・オブジェクトがまだ
    作成されていないことを指示するための、特定の値を有
    するトランザクション・コンテキストを含んでおり、 更に、前記トランザクション・コンテキスト内の前記特
    定の値を認識するとともに、前記特定の値に応答して前
    記トランザクション・オブジェクトをローカルに作成す
    るステップを含んでいることを特徴とする、前記コンピ
    ュータ・プログラム製品。
JP00011899A 1998-01-16 1999-01-04 サーバ処理装置及びサーバ処理方法 Expired - Fee Related JP3548030B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9800830.3 1998-01-16
GB9800830A GB2333379A (en) 1998-01-16 1998-01-16 Client/server computing

Publications (2)

Publication Number Publication Date
JPH11265362A true JPH11265362A (ja) 1999-09-28
JP3548030B2 JP3548030B2 (ja) 2004-07-28

Family

ID=10825335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00011899A Expired - Fee Related JP3548030B2 (ja) 1998-01-16 1999-01-04 サーバ処理装置及びサーバ処理方法

Country Status (10)

Country Link
US (1) US6301606B1 (ja)
EP (1) EP1046107B1 (ja)
JP (1) JP3548030B2 (ja)
KR (1) KR100403659B1 (ja)
CN (1) CN1143207C (ja)
DE (1) DE69806065T2 (ja)
GB (1) GB2333379A (ja)
IL (1) IL136582A0 (ja)
PL (1) PL193583B1 (ja)
WO (1) WO1999036853A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7213049B2 (en) * 2001-07-17 2007-05-01 Bea Systems, Inc. System and method for transaction processing with transaction property feature
WO2003063009A1 (en) * 2002-01-18 2003-07-31 Bea Systems, Inc. System, method and interface for controlling server lifecycle
US7805333B2 (en) * 2003-02-14 2010-09-28 Ds-Iq, Inc. Techniques for using loyalty cards and redeeming accumulated value
US9110712B2 (en) * 2005-06-10 2015-08-18 International Business Machines Corporation Method for encapsulating logical units of work using business objects
CN100410884C (zh) * 2005-09-06 2008-08-13 大连海事大学 一种基于pid思想的小组协同处理事务的事务分配方法
KR100813013B1 (ko) * 2007-05-29 2008-03-13 주식회사 비투엔컨설팅 오디엑스 데이타를 이용한 트랜잭션 처리 소프트웨어프레임 웍
US9485322B2 (en) 2007-07-07 2016-11-01 Qualcomm Incorporated Method and system for providing targeted information using profile attributes with variable confidence levels in a mobile environment
US9392074B2 (en) 2007-07-07 2016-07-12 Qualcomm Incorporated User profile generation architecture for mobile content-message targeting
US20090124241A1 (en) 2007-11-14 2009-05-14 Qualcomm Incorporated Method and system for user profile match indication in a mobile environment
US20090157512A1 (en) 2007-12-14 2009-06-18 Qualcomm Incorporated Near field communication transactions with user profile updates in a mobile environment
US9984096B2 (en) * 2015-03-31 2018-05-29 Oracle International Corporation System and method for reducing communications overhead in a distributed transactions environment by modifying implementation of the transaction start function
CN112767158A (zh) * 2018-02-27 2021-05-07 创新先进技术有限公司 基于区块链的交易执行方法及装置、电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5089954A (en) * 1988-08-08 1992-02-18 Bell Communications Research, Inc. Method for handling conversational transactions in a distributed processing environment
JPH0916453A (ja) * 1995-06-23 1997-01-17 Internatl Business Mach Corp <Ibm> 同期システム及び同期方法
WO1997040457A2 (en) * 1996-04-19 1997-10-30 Intergraph Corporation System and method for data access

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3365576B2 (ja) * 1993-06-14 2003-01-14 インターナショナル・ビジネス・マシーンズ・コーポレーション オブジェクトの実行方法および装置
US5745748A (en) * 1994-12-09 1998-04-28 Sprint Communication Co. L.P. System and method for direct accessing of remote data
JPH08286962A (ja) * 1994-12-16 1996-11-01 Internatl Business Mach Corp <Ibm> 処理システム及びオブジェクト活動化をスケジュールする方法
EP0737922B1 (en) * 1995-03-22 2003-05-14 Sun Microsystems, Inc. Method and apparatus for managing computer processes
JP3574231B2 (ja) * 1995-08-21 2004-10-06 富士通株式会社 計算機ネットワークのシミュレータ装置
US5937415A (en) * 1995-12-13 1999-08-10 Sybase, Inc. Data base development system with methods facilitating copying of data from one data source to another
GB2308468A (en) * 1995-12-20 1997-06-25 Ibm Data processing systems and methods providing interoperability between data processing resources
JPH09198437A (ja) * 1996-01-18 1997-07-31 Hitachi Ltd 電子認証の管理方法
US5761507A (en) * 1996-03-05 1998-06-02 International Business Machines Corporation Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling
GB2311391A (en) * 1996-03-19 1997-09-24 Ibm Restart and recovery of OMG compliant transaction systems
US5933816A (en) * 1996-10-31 1999-08-03 Citicorp Development Center, Inc. System and method for delivering financial services
GB2320594A (en) * 1996-12-20 1998-06-24 Ibm Dispatching client method calls to parallel execution threads within a server
US5925095A (en) * 1997-05-12 1999-07-20 International Business Machines Corporation Method and a computer program product for client/server computing with support for both recoverable and non-recoverable clients
US5958004A (en) * 1997-10-28 1999-09-28 Microsoft Corporation Disabling and enabling transaction committal in transactional application components
US5890161A (en) * 1997-10-28 1999-03-30 Microsoft Corporation Automatic transaction processing of component-based server applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5089954A (en) * 1988-08-08 1992-02-18 Bell Communications Research, Inc. Method for handling conversational transactions in a distributed processing environment
JPH0916453A (ja) * 1995-06-23 1997-01-17 Internatl Business Mach Corp <Ibm> 同期システム及び同期方法
WO1997040457A2 (en) * 1996-04-19 1997-10-30 Intergraph Corporation System and method for data access

Also Published As

Publication number Publication date
US6301606B1 (en) 2001-10-09
CN1225471A (zh) 1999-08-11
IL136582A0 (en) 2001-06-14
PL193583B1 (pl) 2007-02-28
GB9800830D0 (en) 1998-03-11
PL341731A1 (en) 2001-05-07
DE69806065D1 (de) 2002-07-18
JP3548030B2 (ja) 2004-07-28
WO1999036853A1 (en) 1999-07-22
EP1046107B1 (en) 2002-06-12
DE69806065T2 (de) 2003-02-06
GB2333379A (en) 1999-07-21
CN1143207C (zh) 2004-03-24
EP1046107A1 (en) 2000-10-25
KR20010024837A (ko) 2001-03-26
KR100403659B1 (ko) 2003-10-30

Similar Documents

Publication Publication Date Title
US5768587A (en) Operating a transaction manager with a non-compliant resource manager
US5852732A (en) Heterogeneous operations with differing transaction protocols
US6038589A (en) Apparatus, method and computer program product for client/server computing with a transaction representation located on each transactionally involved server
GB2339933A (en) Client/server computing with improved correspondence between transaction identifiers when supporting subordinate resource manager(s)
KR100322224B1 (ko) 클라이언트/서버 컴퓨터 시스템에서 서버 내의 클라이언트 요청들의 디스패칭시에 시맨틱 동시 제어를 수행하는 장치 및 방법
GB2327134A (en) Lock requester arbitration in object oriented systems
JP3409308B2 (ja) クライアント/サーバ・コンピューティング・システム及びサーバ処理方法
US6374283B1 (en) Apparatus, method &amp; computer program product for client/server computing with client selectable location of transaction objects
JP3548030B2 (ja) サーバ処理装置及びサーバ処理方法
US6138169A (en) System and method for creating an object oriented transaction service that achieves interoperability with encina procedural transactions
US6237018B1 (en) Apparatus method and computer program product for client/server computing with improved transactional interface
JP3628577B2 (ja) サーバ・データ処理装置、操作方法および記憶装置
GB2346990A (en) Client/server transaction processing system with automatic distributed co-ordinator set-up into a linear chain for use of linear commit optimisation
US6324589B1 (en) Apparatus, method and computer program product for client/server computing with reduced cross-process calls
GB2335516A (en) Failure recovery in distributed transaction avoids heuristic damage
US6829632B1 (en) Apparatus, method and computer program product for client/server computing with timing of creation of coordinator transaction state object being based on triggering events
GB2330431A (en) Client/server computing with failure detection
GB2339621A (en) Client/server computing system provides extension to basic transaction service
CZ20002585A3 (cs) Zařízení, způsob a produkt počítačového programu pro výpočetní operace klient/server s inteligentním hledáním transakčních objektů

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040415

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: 20080423

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080423

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090423

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090423

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100423

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110423

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110423

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120423

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140423

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees