JP2000242615A - サーバ・コンピューティング装置、操作方法および記憶装置 - Google Patents

サーバ・コンピューティング装置、操作方法および記憶装置

Info

Publication number
JP2000242615A
JP2000242615A JP2000039877A JP2000039877A JP2000242615A JP 2000242615 A JP2000242615 A JP 2000242615A JP 2000039877 A JP2000039877 A JP 2000039877A JP 2000039877 A JP2000039877 A JP 2000039877A JP 2000242615 A JP2000242615 A JP 2000242615A
Authority
JP
Japan
Prior art keywords
transaction
server
response
request
time
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
JP2000039877A
Other languages
English (en)
Other versions
JP3628578B2 (ja
Inventor
Gordon Douglas Hutchison
ゴードン・ダグラス・ハチソン
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 JP2000242615A publication Critical patent/JP2000242615A/ja
Application granted granted Critical
Publication of JP3628578B2 publication Critical patent/JP3628578B2/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
    • G06F9/466Transaction processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • 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/99931Database or file accessing
    • 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/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 クライアント/サーバ・トランザクション処
理システム用の第1サーバ・コンピューティング装置を
提供する。 【解決手段】 この第1装置は、第2サーバ・データ処
理装置に要求を送る手段と、第2サーバ・データ処理装
置からその要求を処理して応答を生成するのに要した時
間の総量の標識を含む要求への応答を受け取る手段と、
第1装置が要求を送ってから応答を受け取るまでに経過
した時間の総量を決定する第1手段と、前記要求および
応答の転送時間の総量を決定する第2手段であって、第
1手段の出力および応答内に提供される標識を使用して
転送時間の総量を決定する第2手段と、トランザクショ
ンに含まれる複数のサーバ・データ処理装置について第
2手段の結果に基づいて記録を維持する手段と、維持手
段の結果に基づいて、分散トランザクションの完了時に
最終エージェント最適化操作に使用するための最終エー
ジェントとして装置の1つを選択するための選択手段と
を含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、1つのコンピュー
ティング装置(「クライアント」)が別のコンピューテ
ィング装置(「サーバ」)にクライアントの作業の一部
を実行するように要求する、クライアント/サーバ
(「分散」としても知られる)コンピューティングの分
野に関する。クライアントおよびサーバは両方とも、同
一の物理的コンピューティング装置に配置することもで
きる。
【0002】
【従来の技術】クライアント/サーバ・コンピューティ
ングは、情報技術の世界において過去数年間でますます
重要になってきた。この種の分散コンピューティング
は、1つのマシンがその作業の一部を、例えばその作業
を実行するのにより適している別のマシンに委ねること
を可能にする。例えば、サーバは、大量のデータの記憶
を管理するデータベース・プログラムを実行する高能力
コンピュータとすることができる一方、クライアントは
単に、そのローカル・プログラムの1つで使用するため
にデータベースからの情報を要求するデスクトップ・パ
ーソナル・コンピュータ(PC)である。
【0003】クライアント/サーバ・コンピューティン
グの利点は、クライアントおよびサーバを異なる(異
種)「プラットフォーム」に配置することを可能にす
る、オブジェクト指向プログラミング(OOP)と呼ば
れる周知のコンピュータ・プログラミング技術の使用に
よってさらに増強されてきた。プラットフォームとは、
マシンがその作業を行うために使用する特定のハードウ
ェア/ソフトウェア/オペレーティング・システム/通
信プロトコルの組合せである。OOPは、クライアント
・アプリケーション・プログラムの作業要求がどのよう
にサーバ・アプリケーション・プログラムによって交信
され受け入れられるかを気にすることなく、クライアン
ト・アプリケーション・プログラムおよびサーバ・アプ
リケーション・プログラムがそれ自体のプラットフォー
ムで動作することを可能にする。同様にサーバ・アプリ
ケーションは、OOPシステムがどのようにサーバ・ア
プリケーションの処理結果を受け取り、変換し、要求側
クライアント・アプリケーションに返送するかを気にす
る必要がない。
【0004】OOP技術が異種クライアント/サーバ・
システムとどのように統合されてきたかの詳細は、米国
特許第5440744号および欧州特許公開出願EP
0677943 A2号に説明されている。これら2件
の刊行物を参照によって本明細書に組み込む。しかし、
本発明の環境の背景理解のために、基本的アーキテクチ
ャの1例を以下で取り上げる。
【0005】図1に示すように、クライアント・コンピ
ュータ10(例えばIBM OS/2オペレーティング
・システムを搭載したパーソナル・コンピュータとする
ことができる)は、そのオペレーティング・システム上
で実行するアプリケーション・プログラム40を有する
(「IBM」および「OS/2」はInternational Busi
ness Machines社の商標)。アプリケーション・プログ
ラム40は定期的に、サーバ・コンピュータ20上で作
業を実行するように、かつ/または後でアプリケーショ
ン・プログラム40で使用するためにデータをサーバ2
0から返送するように要求する。サーバ・コンピュータ
20は、例えばIBMのMVSオペレーティング・シス
テム上で実行する高性能メインフレーム・コンピュータ
とすることができる(「MVS」もIBM社の商標)。
本発明の場合、サーバによって実行される通信サービス
の要求が、第1アプリケーション・プログラム40との
ユーザの対話によって引き起こされるか、それともアプ
リケーション・プログラム40がユーザの対話に関係な
く動作して、プログラムの実行中に自動的に要求を行う
かは関係ない。
【0006】クライアント・コンピュータ10がサーバ
・コンピュータ20のサービスを要求したいときに、第
1アプリケーション・プログラム40は、必要とするサ
ービスについて第1論理手段50に通知する。これは、
例えば、第1論理手段に遠隔手順の名前を入出力パラメ
ータのリストと共に送ることによって、実行することが
できる。次いで第1論理手段50は、記憶装置60に格
納された利用可能な通信サービスの定義を参照して、第
2コンピュータ20との必要な通信を確立するタスクを
処理する。可能なサービスはすべて、オブジェクト・ク
ラス70のコヒーシブ・フレームワークとして定義され
ており、これらのクラスは単一オブジェクト・クラスか
ら導出される。このようにしてサービスを定義すると、
性能および再使用可能性の点で多数の利点が得られる。
【0007】サーバ20との必要な通信を確立するため
に、第1論理手段50はフレームワーク内のどのオブジ
ェクト・クラスを使用する必要があるかを判定し、次い
で、サーバにおいて、そのオブジェクトのインスタン
ス、つまりそのオブジェクトにそのメソッドの1つを呼
び出させるためにそのオブジェクトに送信されるメッセ
ージを形成する。これにより、接続手段80を介してサ
ーバ・コンピュータ20との接続の確立が生じ、続いて
要求が第2論理手段90に送信される。
【0008】次いで第2論理手段90が要求を、サーバ
・コンピュータ20で実行している第2アプリケーショ
ン・プログラム100(以下、サービス・アプリケーシ
ョンという)に渡すので、サービス・アプリケーション
100は、データ検索手順を実行するなど、その要求に
よって要求される特定のタスクを実行することができ
る。このタスクが完了すると、サービス・アプリケーシ
ョンは、結果を第1コンピュータ10に返送する必要が
あるかもしれない。要求されたタスクの実行中、および
結果が第1コンピュータ10に返送される際、サーバ・
アプリケーション100は第2論理手段90と対話す
る。第2論理手段90はオブジェクトのインスタンスを
決定し、サーバ・アプリケーション100によって要求
されたときにこれらのオブジェクトの適切なメソッドを
呼び出し、記憶装置110に格納されたオブジェクト・
クラスのコヒーシブ・フレームワークからオブジェクト
・インスタンスが形成される。
【0009】上記の技術を使用すると、クライアント・
アプリケーション・プログラム40は通信アーキテクチ
ャにさらされない。さらに、サービス・アプリケーショ
ン100が、その環境の標準機構を介して呼び出され
る。つまり、それは遠隔的に呼び出されていることを認
識しない。
【0010】オブジェクト管理グループ(OMG)は、
図1に示すような分散オブジェクトを持つ異種プラット
フォームでのクライアント/サーバ・コンピューティン
グの様々な側面に関与する組織の国際的コンソーシアム
である。OMGは、クライアント・コンピュータ(例え
ば10)がサーバ・マシン(例えば20)と(OOPの
形で)通信するための標準を規定し発行した。これらの
標準の一環として、クライアント・マシンとサーバ・マ
シンの間にオブジェクト指向ブリッジを提供するオブジ
ェクト要求ブローカ(CORBAつまり共通オブジェク
ト要求ブローカ・アーキテクチャと呼ばれる)が定義さ
れた。ORBは、オブジェクト指向実装の詳細からクラ
イアント・アプリケーションおよびサーバ・アプリケー
ションを切り離し、第1および第2論理手段50、90
ならびに接続手段80の作業の少なくとも一部分を実行
する。
【0011】CORBAソフトウェア構造の一部とし
て、OMGは「トランザクション」に関連する標準を規
定した。これらの標準は、OTSつまりオブジェクト・
トランザクション・サービスとして知られる。例えば、
OMG文書94.8.4、CORBAオブジェクト・ト
ランザクション・サービス仕様1.0を参照されたい。
コンピュータによって実装されるトランザクション処理
システムは、いくつかの産業において重要なビジネス・
タスクに使用される。トランザクションは、完全に終了
しなければならないか、または動作せずに完全にパージ
しなければならない単一作業単位を定義する。例えば、
銀行の現金自動預け払い機で顧客が現金を引き出そうと
する場合、現金を払い出し、機械内にある現金の残高を
差し引き、顧客の銀行預金残高を差し引く動作が全部行
われるか、またはそれらが全く行われないかのいずれか
でなければならない。下位動作の1つが失敗すると、記
録と実際のオカレンスの不一致が生じる。
【0012】分散トランザクション処理は、複数の物理
位置または論理位置における資源に影響するトランザク
ションを伴う。上記の例では、トランザクションは、局
所現金自動預け払い機で管理される資源に影響するだけ
でなく、銀行のメイン・コンピュータによって管理され
る銀行預金残高にも影響する。そのようなトランザクシ
ョンは、サーバによって処理される一連のクライアント
要求により1つの特定のサーバ・コンピュータ(例えば
20)と通信する1つの特定のクライアント・コンピュ
ータ(例えば10)を伴う。OMGのOTSは、これら
の分散トランザクションを調整する責任がある。
【0013】クライアント・プロセスで実行するアプリ
ケーションは、複数の様々なサーバの呼出しを含むトラ
ンザクションを始動し、それぞれのサーバはサーバ・プ
ロセスを起動して、トランザクションに含まれる命令に
従ってそのローカル・データを変更する。トランザクシ
ョンを実行する(したがってすべてのサーバがそれらの
ローカル・データの変更を終了する)か、またはトラン
ザクションを打ち切る(したがってすべてのサーバがト
ランザクション中に行われたそれらのローカル・データ
の変更を「撤回」または無視する)かのいずれかによっ
て、トランザクションは終了する。トランザクション中
にサーバと通信する(例えばそれらにトランザクション
におけるそれらの役割を実行するかまたは打ち切るよう
に命令する)ために、含まれるプロセスの1つはトラン
ザクションのための状態データを維持しなければならな
い。OTS標準によると、これは一連のオブジェクトを
セットアップするプロセスを含み、そのうちの1つは、
様々なサーバに関してトランザクションを調整するコー
ディネータ・オブジェクトである。
【0014】このコーディネータ・オブジェクトの主な
目的は、どのサーバ・オブジェクトがトランザクション
に関与しているかを追跡し続けて、トランザクションが
終了したときに、トランザクションに関与する各サーバ
・オブジェクトに、1回の統一された努力で、そのサー
バ・オブジェクトに関連するローカル・データベースに
局所的に行われた変更をコミットするように命令するこ
とができるようにすることである。これにより、どのサ
ーバ・オブジェクトも、同一トランザクションに関与す
る他のサーバ・オブジェクトなしでは、データ変更を最
終決定しないことが保証される。したがって、トランザ
クションに参加する各サーバ・オブジェクトは最初にコ
ーディネータ・オブジェクトに登録して、コーディネー
タ・オブジェクトがサーバ・オブジェクトの存在、トラ
ンザクションへの参加の希望、およびトランザクション
を終了する時が来たときにサーバ・オブジェクトがどこ
にあるか(例えばサーバ・オブジェクトがどのサーバ・
マシンに常駐しているか)が分かるようにしておかなけ
ればならない(コーディネータ・オブジェクトはすべて
のサーバ・オブジェクトにそれぞれのローカル・データ
の変更を最終決定するように命令する)。
【0015】データを更新する責任のあるサーバ・オブ
ジェクト(以下、資源オブジェクトという)は、別のサ
ーバ・オブジェクト(またはトランザクションを開始し
た元のクライアント・オブジェクト)が資源オブジェク
トに何らかの作業をするように資源オブジェクトに要求
を送ったときに、トランザクションに関与するようにな
る。この後者の要求は、要求がトランザクションの一部
であることを資源オブジェクトに知らせる、トランザク
ション・コンテキストと呼ばれる何らかの情報を含む。
CORBAバージョン2では、トランザクション・コン
テキストは、ローカルCosTransactions::Coordinatorオ
ブジェクトget_txcontextメソッドによって構築され
る。資源オブジェクトはそれがトランザクションに関与
するようになることを認識すると、コーディネータ・オ
ブジェクトに登録要求を行う。
【0016】資源オブジェクトが、コーディネータ・オ
ブジェクトとは異なるオペレーティング・システム・プ
ロセスに配置されている場合、資源オブジェクト(22
3または224)と同じオペレーティング・システム・
プロセスに配置された下位コーディネータ・オブジェク
ト(図2の222)を使用すると便利であることが明ら
かになった。その場合、主コーディネータ・オブジェク
トを「上位コーディネータ・オブジェクト」211と呼
ぶ。資源オブジェクト223のトランザクションへの登
録中に、下位コーディネータ222は資源オブジェクト
223を収容しているサーバ・マシン22内で局所的に
セットアップされ、資源オブジェクト223は登録要求
を行うときに、この下位コーディネータ・オブジェクト
222と直接やり取りする。(ここでは用語「サーバ・
マシン」を使用しているが、分散サーバ・オブジェクト
を実際には、同じサーバ・マシンであるがそのサーバ・
マシン上で実行している別のオペレーティング・システ
ム・プロセスに配置することもできることを示すため
に、用語「サーバ・プロセス」を使用することもできる
ことに留意されたい。したがって、以下では、用語「サ
ーバ」は、両方の用語を指すのに使用する。)次に下位
コーディネータ222はそれ自体を、上位コーディネー
タ・オブジェクト211(あたかも資源オブジェクトで
あるかのように、おそらく別のサーバ・マシン上の別の
プロセスに配置されている)に登録する。
【0017】下位コーディネータ・オブジェクト222
はこのようにして、資源オブジェクトを収容しているサ
ーバ内におけるトランザクションの存在を表現する。上
位コーディネータ・オブジェクト211と直接やり取り
する代わりに、資源オブジェクト223、224は最初
にそれらのローカル下位コーディネータ・オブジェクト
222とやり取りし、次にこれが上位コーディネータ・
オブジェクトとやり取りする。これにより、オペレーテ
ィング・システム・プロセス間の相互呼出し回数が大幅
に減少する。
【0018】トランザクションはしばしば、潜在的に異
なるサーバ・マシン上でそれぞれ実行するいくつかの異
なるプロセスを含む。例えば、サーバ・プロセス21
(これは上位コーディネータ211を含む)は、分散ト
ランザクションに参加する3つの異なるプロセスを呼び
出すことがあり、したがってそのような各プロセスは結
果的に、そのプロセスのトランザクションを局所的に調
整するために下位コーディネータを形成する。トランザ
クションの最後に、上位コーディネータは従来の2段階
コミット・プロトコルを使用して、3つのプロセスのそ
れぞれがその変更を、一括した「オール・オア・ナッシ
ング」方式で(つまり、それらが全部それぞれの変更を
確定するか、それともそれらが全部それぞれの変更を取
り消す)、最終決定することを確実にする。2段階コミ
ット・プロトコルは従来、3つの下位コーディネータの
それぞれにプリペア・コール(prepare call)を送り、
次いで、それらがプリペア・コールに応答してすべてコ
ミットすることをボーティングしたと仮定して、3つの
下位コーディネータのそれぞれにコミット・コールを送
ることを含む。したがって、これは上位コーディネータ
211による6つのプロセス間コールの送り出しを含
む。
【0019】2段階コミットにおけるプロセス間コール
の総数を減少するためにしばしば使用される2段階コミ
ット・プロトコルの周知の最適化は、「最終エージェン
トの最適化」として知られる(例えば、GrayとReuter共
著「Transaction Processing:Processes and Technique
s」(Morgan Kaufman Publishers社刊)1992年9
月、12.5.3節を参照のこと)。この最適化を要約
すると、トランザクション・ルート・コーディネータ
(例えば上位コーディネータ211)がトランザクショ
ンに含まれるN個の資源(例えば3つの下位コーディネ
ータを表す)を有する場合、それらのうちN−1個を準
備する(つまり、N−1個にプリペア・フローを送る)
ということである。この時点ですべての資源がコミット
することをボーティングすると(通常のケース)、トラ
ンザクションの結果は最終資源のプリペア・ボーティン
グによって決まる。したがって、最終資源のプリペア・
フローおよびコミット・フローを結合することができ、
この最適化された最終フローは、resource::commit_one
_phase法によってCORBA CosTransactions仕様で提供さ
れる。この議論では、下位コーディネータ、それらの資
源、およびその他の資源を同様に取り扱うことができ、
これらは総称して関連「エージェント」と呼ばれる。最
終エージェントの最適化により、2段階コミットの単純
なケースでは、コーディネータと最終エージェントとの
間のメッセージ・フローは半減する。
【0020】CORBAのOTSの標準CosTransaction
sサービスの一実装では、分散トランザクションのルー
ト・コーディネータは一般的に、トランザクションに登
録されたいくつかのエージェントを含む。その一部はロ
ーカル・アプリケーションまたはデータベース資源でよ
く、一部は同一マシンの他のプロセスにおける他の下位
コーディネータ(の資源)でよく、一部はリモート・マ
シンのエージェントでよい。これらの資源のどの1つ
も、最後に作成される有効な候補であり、CosTransacti
onサービスでは、(例えばIBMのコンポーネント・ブ
ローカ(CB)ソフトウェア製品で使用されるように)
そのような資源のクラス間に差異はない。
【0021】
【発明が解決しようとする課題】しかし、これらの3つ
のカテゴリの資源へのメッセージ・フローは、流れるの
に要する時間に幅広い差が出る可能性が高い。例えば、
プロセスの1つは、衛星リンクを介して上位コーディネ
ータ211のプロセスに接続することができるが、別の
プロセスは、上位コーディネータ211のプロセスに非
常に近接しているサーバ・マシン上に配置されているこ
とがあり得る。したがって、commit_one_phase操作(つ
まり最終エージェント最適化)で実際に節約される時間
の量は幅広く異なる。ローカル資源の場合、この節約は
最小であるが、遠距離マシン上のリモート資源の場合、
メッセージ・トラヒックおよびコミット完了時間の節約
はもっとずっと価値が高くなる。
【0022】クライアント/サーバ・トランザクション
処理において、最終エージェントの最適化で使用するた
めの最終エージェントの選択を最適化する方法はこれま
で知られておらず、従来技術におけるこの欠如が、本発
明者を本発明に導く刺激になった。
【0023】
【課題を解決するための手段】第1の態様によると、本
発明は、クライアント/サーバ・トランザクション処理
システムで使用する第1サーバ・コンピューティング装
置であって、分散トランザクションの処理に含まれる第
2サーバ・データ処理装置に要求を送る手段と、第2サ
ーバ・データ処理装置がその要求を処理して応答を生成
するのに要した時間の総量の標識を含む要求への応答を
第2サーバ・データ処理装置から受け取る手段と、第1
装置が要求を送ってから第1装置が応答を受け取るまで
に経過した時間の総量を決定する第1手段と、要求が第
1装置から第2装置に移動しかつ応答が第2装置から第
1装置に移動する転送時間の総量を決定する第2手段で
あって、第1手段の出力および応答内に提供される標識
を使用して転送時間の総量を決定する第2手段と、トラ
ンザクションに含まれる複数のサーバ・データ処理装置
について第2手段の結果に基づいて記録を維持する手段
と、維持手段の結果に基づいて、分散トランザクション
の完了時に最終エージェント最適化操作に使用するため
の最終エージェントとして装置の1つを選択するための
選択手段とを含む装置を提供する。
【0024】標識は、トランザクション伝搬コンテキス
トの一部として各応答内に提供することが好ましい。標
識は、各応答でトランザクション伝搬コンテキストの共
通オブジェクト要求ブローカ・オブジェクト・トランザ
クション・サービスの<any>フィールドで提供する
ことが、さらに好ましい。
【0025】第2の態様によると、本発明は、クライア
ント/サーバ・トランザクション処理システムで使用す
る第1サーバ・コンピューティング装置を操作する方法
であって、(a)分散トランザクションの処理に含まれ
る第2サーバ・データ処理装置に要求を送るステップ
と、(b)第2サーバ・データ処理装置がその要求を処
理して応答を生成するのに要する時間の総量の標識を含
む要求への応答を第2サーバ・データ処理装置から受け
取るステップと、(c)第1装置が要求を送ってから第
1装置が応答を受け取るまでに経過した時間の総量を決
定するステップと、(d)要求が第1装置から第2装置
に移動しかつ応答が第2装置から第1装置に移動する転
送時間の総量を決定するステップであって、ステップ
(c)の出力および応答内に提供される標識を使用して
転送時間の総量を決定するステップ(d)と、(e)ト
ランザクションに含まれる複数のサーバ・データ処理装
置についてステップ(d)の結果に基づいて記録を維持
するステップと、(f)ステップ(e)の結果に基づい
て、分散トランザクションの完了時に最終エージェント
最適化操作で使用するための最終エージェントとして装
置の1つを選択するステップとを含む方法を提供する。
【0026】第3の態様によると、本発明は、第2の態
様の方法のステップを実行するためにマシンによって実
行可能な命令のプログラムを有形に実施するマシン可読
プログラム記憶装置を提供する。
【0027】したがって、本発明は、受け取ったサーバ
・プロセスが要求を処理して応答を生成するために要す
る時間を含めずに、第1サーバ・プロセスから別のサー
バ・プロセスへの要求の流れおよび対応する応答が第1
サーバ・プロセスに戻るのに要する総時間を計算するこ
とができる。第1サーバ・プロセスで資源がコーディネ
ータに登録されると、コーディネータは、どの資源が最
長メッセージ往復配信時間を持つかを記録し、commit_o
ne_phaseメソッドを使用する状況になったときに(つま
り、それがもともとルート・コーディネータであるか、
またはcommit_one_phase自体を受け取った場合)、この
メソッドが最長時間が節約される資源に送られるように
する。
【0028】したがって、本発明は、周知の最終エージ
ェント最適化の概念から最大限の利益を確保する。CO
RBAのOTSに基づくシステムなど多くの最新分散シ
ステムは、アプリケーション層が「位置透過性」である
ので、ローカル資源およびリモート資源はしばしば同様
に取り扱われる。しかし、ローカル資源にcommit_one_p
haseを使用すると、リモート参加者をも含むトランザク
ションで節約される時間は比較的わずかであり、したが
ってリモート・メッセージ・フローを終了の一部とす
る。この最適化は、CPUのローディングおよびメッセ
ージ・データ量の点から実現が安価である。
【0029】
【発明の実施の形態】複数のサーバ・プロセスに分散さ
れるトランザクションの最後に最終エージェントの最適
化を使用する際に、サーバ・プロセス内で最終エージェ
ントとして選択されるエージェントが、データをそこに
送り、かつデータをそこから受け取るのに最も長い時間
を要するエージェントであれば、最適化から最大限の利
益を得ることができる。したがって、目下の課題は、上
位コーディネータに関して、分散トランザクションに含
まれるサーバ・プロセスのうち、上位コーディネータが
そうしたサーバ・プロセスのエージェントにメッセージ
を送り、かつそこからメッセージを受け取るのに最も長
い時間がかかるのはどれかを決定することである。明ら
かに、上位コーディネータを有するサーバ・プロセスに
とって、メッセージを送り出してから、各サーバ・プロ
セスから応答を受け取るまでにかかる総時間を計算する
ことは、単純な問題である。しかし、これは宛先ノード
における方法実行時間を含むので、本発明の目的にとっ
て重要ではない。
【0030】図3に示す本発明の好適な実施形態は、周
知のCosTSPortability::SenderおよびReceiver ORBイン
タセプタを利用する。ORBインタセプタは、sending_
request212、received_request225、sending_reply22
6、およびreceived_reply213と呼ばれ、この順番に実行
される。最初と最後のインタセプタ(212、213)
は送信側プロセス(サーバ21)に常駐し、真ん中の2
つのインタセプタ(225、226)はメッセージの受
信側サーバ・プロセス(サーバ22)に常駐する。図示
しやすくするために、図3の右側には1つのサーバ22
だけが詳細に図示されているが、同じくトランザクショ
ンに呼び出される他のサーバ23、24も同様に構成さ
れる。
【0031】サーバ・プロセスはそれぞれ、アクセスさ
れたときにミリ秒単位で現時刻を返すシステム・クロッ
ク(サーバ21用は214、サーバ22用は227)に
アクセスすることができる。我々はこのアクセス方法を
「クロック()」と呼び、その出力(大きい整数として
の)を「時刻」と呼ぶ。
【0032】sending_requestインタセプタ212がネ
ットワーク3を通してメッセージをリモート・ノード
(例えばサーバ22)に送り出すときに、システム・ク
ロック214にアクセスすることによって、メッセージ
が送信される「時刻」が決定され(サーバ21によって
実行されるステップを示す図4のステップ41)、次い
で時刻値はローカル記憶装置に格納される。好適な実施
形態では、このメッセージはサーバ22への呼出しであ
り、その結果サーバ22はその上位コーディネータに登
録要求を送り、サーバ22にある資源(例えば223)
をトランザクションに登録するように要求する。次いで
サーバ21は、応答を受信するまで待つ(ステップ4
2)。言うまでもなく、サーバ21は待っている間に他
のジョブを行うことができるが、ループ付きの判断ボッ
クスは、本発明の目的では、サーバ21はサーバ22か
ら応答を受信するまで先に進むことができないことを最
もよく示している。
【0033】リモート・サーバ22では、received_req
uestインタセプタ225が、ネットワーク3を通してO
RBから要求を受信したローカル「時刻」を(そのシス
テム・クロック227にアクセスすることによって)決
定し(サーバ22によって実行されるステップを示す図
5のステップ51)、この値を格納する。次いで、サー
バ22は先に進んで要求を処理し、応答を形成する(ス
テップ52)。対応するsending_replyインタセプタ2
26がネットワーク3を通してサーバ21に応答を送信
するために実行されると、システム・クロック227に
アクセスすることによって再びローカル時刻が得られ
(ステップ53)、2つの時刻(ネットワーク3を通し
てメッセージを受信した時刻、およびネットワーク3を
通して応答を返送する時刻)の差が計算される(ステッ
プ54)。これが、サーバ22がメソッド要求を処理
し、応答を生成するのに費やした時間(ミリ秒単位)で
ある。この時間間隔(整数)は、ネットワーク3を通し
て送信側(サーバ21)に返送される(ステップ56)
トランザクション伝搬コンテキストに付加される(ステ
ップ55)。好適な実施形態によると、トランザクショ
ン伝搬コンテキストには、この時間間隔を格納するため
に使用される「<any>」と呼ばれるCORBAフィ
ールドがある。これを収容するために拡張する必要のあ
る余分のメッセージ・データ量および/またはCPU資
源は非常に小さい。
【0034】送信側サーバ・システム21(これは今応
答を受信しようとしている)では、トランザクション・
サービスのreceived_replyインタセプタ213が実行す
る。received_replyメソッドは、「クロック()」方法
を使用してローカル・システム・クロック214を検査
し、応答を受信した時刻を決定し(ステップ43)、次
いで簡単な減算(応答受信ORBインタセプタ213が
サーバ22から応答を受信した時刻から、要求送信OR
Bインタセプタ212がサーバ22にメッセージを送信
した時刻を引く)により、メッセージの往復時間をミリ
秒単位で計算する(ステップ44)。サーバ21は伝搬
コンテキストから「received_requestからsending_repl
yまでの時間」間隔を引き出し整数減算を行って、要求
/応答の往復メッセージ転送に費やされた総時間を得る
(ステップ45)。
【0035】この特定のサーバ22に関してのこの要求
/応答のメッセージ転送時間は、アプリケーション・プ
ログラムのトランザクション作業の処理がちょうど完了
するまで、記憶装置内に保持される。資源がこの要求の
宛先に登録されている場合、コーディネータはそのメッ
セージのメッセージ転送時間を調べる。この特定のサー
バ22の転送時間が、トランザクションにすでに資源を
登録している他のすべてのサーバと比較して最長である
場合には、サーバ22が最終エージェント最適化の新し
い候補として記憶される。
【0036】下の時間の流れ図は、数値を用いて上述の
処理の例を示すものであり、システムAはサーバ21と
同様の送信側であり、システムBはサーバ22と同様の
受信側である。
【表1】
【0037】上述の概念は、トランザクションに参加し
ている2つの個別ノードの間で使用されるメカニズムを
論じるものである。これに対し、考慮されるノードであ
ってしたがってトランザクション連鎖の「ダウンストリ
ーム」にあるノードのうち、連鎖から外れるノードのダ
ウンストリーム・メッセージ・コストを考慮に入れた改
善を行うことができる。(それ自体one-phase-commit操
作を渡されるノードだけが、それに登録されたその後の
ダウンストリーム・エージェントに関し、この最適化を
使用することができるので。)
【0038】例えば、最終エージェント選択の2つの候
補ノードを考慮する場合、両方の候補ノードは、最終エ
ージェント選択を行うノードに関して「等距離」である
かもしれないが、これらのノードはそれぞれ異なるダウ
ンストリーム・トランザクション連鎖を持っている可能
性があり、この場合には、2つのノードをそれらだけで
考慮したときには(ノードの深さを1として連鎖を分析
すると)メッセージ転送コストの点で等しく一致してい
るようにみえても、ダウンストリームの参加者の付加が
「最長」であったノードに最終エージェント最適化(co
mmit_one_phase)を送ると有利となる。上述のメカニズ
ムは簡単かつ単純に積み重なり、ダウンストリーム・ノ
ードを含めるために各連鎖は集合的にコスト化される
が、処理は各ノードで同様に行われる。
【0039】このメカニズムは、各ノードが上述の通り
その「メソッド時間差分」(要求を処理してそれに対す
る応答を生成するために要する処理時間)を計算しなが
ら、なおかつ、登録された最もコストの高いエージェン
トのメッセージ・コストをも要素として取り入れる(上
述と全く同じ方法で行われる)ことにより機能する。こ
れは、各コーディネータ(ノード)がその「メソッド時
間差分」を計算し、次いでこの計算値から、最終エージ
ェント最適化のためにそれ自身が選択した候補(つまり
最もコストの高いダウンストリーム分岐)について計算
されたメッセージ・コスト・メトリックを減算すること
によって行われる。上位ノードがその後それ自身のメソ
ッド・フロー・コスト計算から「メソッド時間差分」を
減算するので、これにより正しい結果が得られることが
分かる。言い換えると、このダウンストリーム・ノード
の最終エージェント連鎖のメッセージ・フローのコスト
・メトリックをアップストリーム計算値に加算するため
に、「メソッド差分時間」は同じ量だけ減算される。
【0040】ノードが非常にコストの高いダウンストリ
ーム連鎖を持つ場合、返される「メソッド時間差分」は
実際にはマイナスになることがある。上位ノードはメッ
セージ時間コストを計算するときに、commit_one_phase
が考慮される下流の特定の分岐に送られる場合に節約で
きる入れ子のダウンストリーム・メッセージ・フロー・
コストを考慮するために、メトリックに追加時間を加算
する(負数を減算すると加算になるので)ことができ
る。
【0041】次にこの入れ子操作の例を提示する。ノー
ドAは、最終エージェントとしてノードBまたはCを選
択しなければならない。ノードBおよびCは両方とも全
く同一システム上で実行し、ノードAからのメッセージ
・コストは同一である。アルゴリズムが深さ1のノード
間メッセージ・コストを考慮するだけであれば、ノード
Aは、ノードBよりノードCの方を最終エージェントと
して選択したときに可能な最適化を逃してしまうかもし
れない。(ノードC自体が最適化されたフローを受け取
った場合だけであるが、次いでノードCはその後最終エ
ージェント最適化をノードDにも使用することができる
ので、この方が良い選択である。)
【0042】入れ子の最適化がなければ、BおよびCは
両方とも50のメソッド時間差分を返し(時間の単位は
すべてミリ秒である)、どちらでも選択することができ
る。しかし、改善された入れ子の実施形態では、現在ノ
ードCが最終エージェント最適化の候補を持ち、ノード
Dへのメッセージ・フロー・コストを40ミリ秒と計算
した。単なる50ミリ秒のメソッド時間測定値を返すの
ではなく、それはその最終エージェント連鎖メッセージ
・フロー・コストの40を減算して、10を返す。
【0043】ノードAがそのダウンストリーム・エージ
ェントのメッセージ・コストを計算するときに、Bおよ
びCへのフローが返ってくるのに100ミリ秒かかる場
合、BおよびCのダウンストリーム連鎖コストは次のよ
うに計算される。 B(100−50)=50 C(100−(50−40=10がCから返される))
=90 したがって、最良の最終エージェント候補としてCが正
しく選択される。
【0044】<any>フィールド以外でも、トランザ
クション伝搬コンテキストの他のフィールドを使用し
て、リモート・サーバ・プロセスの処理時間の量を伝送
することができる。
【0045】さらになお、本発明はCORBA OTS
の実現に限定されず、他の種類のオブジェクトに基づく
分散トランザクションも本発明によって企図される。オ
ブジェクト指向アーキテクチャは発明者がたまたま作業
している好適な実施形態に関して記述したものにすぎな
いので、本発明によって企図されるトランザクション
は、オブジェクト指向アーキテクチャに限定する必要は
ない。システム間トランザクション要求を介してタイミ
ング・データを送信する本発明の重要な特徴は、オブジ
ェクト指向システムおよび非オブジェクト指向システム
の両方に適用することができる。
【0046】添付の請求の範囲において、用語「装置」
は、マシンまたはマシン上で実行するプロセスのどちら
ともすることができる。
【0047】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0048】(1)クライアント/サーバ・トランザク
ション処理システムで使用する第1サーバ・コンピュー
ティング装置であって、分散トランザクションの処理に
含まれる第2サーバ・データ処理装置に要求を送る手段
と、第2サーバ・データ処理装置が要求を処理して応答
を生成するのに要した時間の総量の標識を含む要求への
応答を第2サーバ・データ処理装置から受け取る手段
と、第1装置が要求を送ってから第1装置が応答を受け
取るまでに経過した時間の総量を決定する第1手段と、
要求が第1装置から第2装置に移動しかつ応答が第2装
置から第1装置に移動する転送時間の総量を決定する第
2手段であって、第1手段の出力および応答内に提供さ
れる標識を使用して前記転送時間の総量を決定する第2
手段と、トランザクションに含まれる複数のサーバ・デ
ータ処理装置について前記第2手段の結果に基づいて記
録を維持する手段と、前記維持手段の結果に基づいて、
分散トランザクションの完了時に最終エージェント最適
化操作に使用するための最終エージェントとして装置の
1つを選択するための選択手段とを含む装置。 (2)前記標識がトランザクション伝搬コンテキストの
一部として各応答に提供される、上記(1)に記載の装
置。 (3)前記標識がトランザクション伝搬コンテキストの
共通オブジェクト要求ブローカ・オブジェクト・トラン
ザクション・サービス<any>フィールドで各応答に
提供される、上記(2)に記載の装置。 (4)前記選択手段が、前記維持手段を参照することに
よって、最終エージェント最適化操作に使用するために
最長転送時間を持つ装置を選択する、上記(1)に記載
の装置。 (5)クライアント/サーバ・トランザクション処理シ
ステムで使用する第1オブジェクト指向サーバ・コンピ
ューティング装置を操作する方法であって、(a)分散
トランザクションの処理に含まれる第2サーバ・データ
処理装置に要求を送るステップと、(b)第2サーバ・
データ処理装置が要求を処理して応答を生成するのに要
した時間の総量の標識を含む要求への応答を第2サーバ
・データ処理装置から受け取るステップと、(c)第1
装置が要求を送ってから第1装置が応答を受け取るまで
に経過した時間の総量を決定するステップと、(d)要
求が第1装置から第2装置に移動しかつ応答が第2装置
から第1装置に移動する転送時間の総量を決定するステ
ップであって、ステップ(c)の出力および応答内に提
供される標識を使用して前記転送時間の総量を決定する
ステップ(d)と、(e)トランザクションに含まれる
複数のサーバ・データ処理装置についてステップ(d)
の結果に基づいて記録を維持するステップと、(f)ス
テップ(e)の結果に基づいて、分散トランザクション
の完了時に最終エージェント最適化操作に使用するため
の最終エージェントとして装置の1つを選択するステッ
プとを含む方法。 (6)前記標識がトランザクション伝搬コンテキストの
一部として各応答に提供される、上記(5)に記載の方
法。 (7)前記標識がトランザクション伝搬コンテキストの
共通オブジェクト要求ブローカ・オブジェクト・トラン
ザクション・サービス<any>フィールドで各応答に
提供される、上記(6)に記載の方法。 (8)上記(5)の方法のステップを実行するためにマ
シンによって実行可能な命令のプログラムを有形に実施
する、マシン可読プログラム記憶装置。 (9)前記標識がトランザクション伝搬コンテキストの
一部として各応答に提供される、上記(8)に記載のプ
ログラム記憶装置。 (10)前記標識がトランザクション伝搬コンテキスト
の共通オブジェクト要求ブローカ・オブジェクト・トラ
ンザクション・サービス<any>フィールドで各応答
に提供される、上記(8)に記載のプログラム記憶装
置。
【図面の簡単な説明】
【図1】本発明の好適な実施形態を適用することができ
る、オブジェクト技術を使用した周知の異種クライアン
ト/サーバ・アーキテクチャのブロック図である。
【図2】従来のシステムに従って2つの共通トランザク
ション・サーバ内でインスタンス化される様々なオブジ
ェクトを示すブロック図である。
【図3】本発明の好適な実施形態によるソフトウェア構
成要素を示すブロック図である。
【図4】本発明の好適な実施形態に従って主サーバ・プ
ロセスによって実行されるステップを示す流れ図であ
る。
【図5】本発明の好適な実施形態に従って第2サーバ・
プロセスによって実行されるステップを示す流れ図であ
る。
【符号の説明】
3 ネットワーク 21 サーバ 22 サーバ 211 上位コーディネータ・オブジェクト 212 要求送信ORBインタセプタ 213 応答受信ORBインタセプタ 214 システム・クロック 222 下位コーディネータ 223 資源 224 資源 225 要求受信ORBインタセプタ 226 応答送信ORBインタセプタ 227 システム・クロック

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】クライアント/サーバ・トランザクション
    処理システムで使用する第1サーバ・コンピューティン
    グ装置であって、 分散トランザクションの処理に含まれる第2サーバ・デ
    ータ処理装置に要求を送る手段と、 第2サーバ・データ処理装置が要求を処理して応答を生
    成するのに要した時間の総量の標識を含む要求への応答
    を第2サーバ・データ処理装置から受け取る手段と、 第1装置が要求を送ってから第1装置が応答を受け取る
    までに経過した時間の総量を決定する第1手段と、 要求が第1装置から第2装置に移動しかつ応答が第2装
    置から第1装置に移動する転送時間の総量を決定する第
    2手段であって、第1手段の出力および応答内に提供さ
    れる標識を使用して前記転送時間の総量を決定する第2
    手段と、 トランザクションに含まれる複数のサーバ・データ処理
    装置について前記第2手段の結果に基づいて記録を維持
    する手段と、 前記維持手段の結果に基づいて、分散トランザクション
    の完了時に最終エージェント最適化操作に使用するため
    の最終エージェントとして装置の1つを選択するための
    選択手段とを含む装置。
  2. 【請求項2】前記標識がトランザクション伝搬コンテキ
    ストの一部として各応答に提供される、請求項1に記載
    の装置。
  3. 【請求項3】前記標識がトランザクション伝搬コンテキ
    ストの共通オブジェクト要求ブローカ・オブジェクト・
    トランザクション・サービス<any>フィールドで各
    応答に提供される、請求項2に記載の装置。
  4. 【請求項4】前記選択手段が、前記維持手段を参照する
    ことによって、最終エージェント最適化操作に使用する
    ために最長転送時間を持つ装置を選択する、請求項1に
    記載の装置。
  5. 【請求項5】クライアント/サーバ・トランザクション
    処理システムで使用する第1オブジェクト指向サーバ・
    コンピューティング装置を操作する方法であって、
    (a)分散トランザクションの処理に含まれる第2サー
    バ・データ処理装置に要求を送るステップと、(b)第
    2サーバ・データ処理装置が要求を処理して応答を生成
    するのに要した時間の総量の標識を含む要求への応答を
    第2サーバ・データ処理装置から受け取るステップと、
    (c)第1装置が要求を送ってから第1装置が応答を受
    け取るまでに経過した時間の総量を決定するステップ
    と、(d)要求が第1装置から第2装置に移動しかつ応
    答が第2装置から第1装置に移動する転送時間の総量を
    決定するステップであって、ステップ(c)の出力およ
    び応答内に提供される標識を使用して前記転送時間の総
    量を決定するステップ(d)と、(e)トランザクショ
    ンに含まれる複数のサーバ・データ処理装置についてス
    テップ(d)の結果に基づいて記録を維持するステップ
    と、(f)ステップ(e)の結果に基づいて、分散トラ
    ンザクションの完了時に最終エージェント最適化操作に
    使用するための最終エージェントとして装置の1つを選
    択するステップとを含む方法。
  6. 【請求項6】前記標識がトランザクション伝搬コンテキ
    ストの一部として各応答に提供される、請求項5に記載
    の方法。
  7. 【請求項7】前記標識がトランザクション伝搬コンテキ
    ストの共通オブジェクト要求ブローカ・オブジェクト・
    トランザクション・サービス<any>フィールドで各
    応答に提供される、請求項6に記載の方法。
  8. 【請求項8】請求項5の方法のステップを実行するため
    にマシンによって実行可能な命令のプログラムを有形に
    実施する、マシン可読プログラム記憶装置。
  9. 【請求項9】前記標識がトランザクション伝搬コンテキ
    ストの一部として各応答に提供される、請求項8に記載
    のプログラム記憶装置。
  10. 【請求項10】前記標識がトランザクション伝搬コンテ
    キストの共通オブジェクト要求ブローカ・オブジェクト
    ・トランザクション・サービス<any>フィールドで
    各応答に提供される、請求項8に記載のプログラム記憶
    装置。
JP2000039877A 1999-02-19 2000-02-17 サーバ・コンピューティング装置、操作方法および記憶装置 Expired - Fee Related JP3628578B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9903717.8 1999-02-19
GB9903717A GB2346985B (en) 1999-02-19 1999-02-19 Client/server transaction data processing system with optimum selection of last agent

Publications (2)

Publication Number Publication Date
JP2000242615A true JP2000242615A (ja) 2000-09-08
JP3628578B2 JP3628578B2 (ja) 2005-03-16

Family

ID=10848021

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000039877A Expired - Fee Related JP3628578B2 (ja) 1999-02-19 2000-02-17 サーバ・コンピューティング装置、操作方法および記憶装置

Country Status (3)

Country Link
US (1) US6457041B1 (ja)
JP (1) JP3628578B2 (ja)
GB (1) GB2346985B (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6687831B1 (en) * 1999-04-29 2004-02-03 International Business Machines Corporation Method and apparatus for multiple security service enablement in a data processing system
US20030065701A1 (en) * 2001-10-02 2003-04-03 Virtual Media, Inc. Multi-process web server architecture and method, apparatus and system capable of simultaneously handling both an unlimited number of connections and more than one request at a time
JP4291060B2 (ja) * 2003-07-01 2009-07-08 富士通株式会社 トランザクション処理方法,トランザクション制御装置およびトランザクション制御プログラム
US8230426B2 (en) * 2004-10-06 2012-07-24 Digipede Technologies, Llc Multicore distributed processing system using selection of available workunits based on the comparison of concurrency attributes with the parallel processing characteristics
US7712096B2 (en) * 2004-12-21 2010-05-04 International Business Machines Corporation Method, system, and storage medium for dynamically reordering resource participation in two-phase commit to heuristically optimize for last-agent optimization
US8924269B2 (en) 2006-05-13 2014-12-30 Sap Ag Consistent set of interfaces derived from a business object model
JP4962327B2 (ja) * 2008-01-17 2012-06-27 富士通株式会社 分散処理プログラム、分散処理装置、および分散処理方法
US8417593B2 (en) 2008-02-28 2013-04-09 Sap Ag System and computer-readable medium for managing consistent interfaces for business objects across heterogeneous systems
US8589263B2 (en) * 2008-03-31 2013-11-19 Sap Ag Managing consistent interfaces for retail business objects across heterogeneous systems
US20100153297A1 (en) 2008-12-12 2010-06-17 Sap Ag Managing Consistent Interfaces for Credit Portfolio Business Objects Across Heterogeneous Systems
US8745170B2 (en) * 2009-08-27 2014-06-03 Apple Inc. Dynamic file streaming
US8346851B2 (en) * 2009-08-31 2013-01-01 Red Hat, Inc. System and method for determining when to generate subordinate coordinators on local machines
US9135585B2 (en) 2010-06-15 2015-09-15 Sap Se Managing consistent interfaces for property library, property list template, quantity conversion virtual object, and supplier property specification business objects across heterogeneous systems
US8725654B2 (en) 2011-07-28 2014-05-13 Sap Ag Managing consistent interfaces for employee data replication business objects across heterogeneous systems
US8775280B2 (en) 2011-07-28 2014-07-08 Sap Ag Managing consistent interfaces for financial business objects across heterogeneous systems
US8762454B2 (en) 2012-02-16 2014-06-24 Sap Ag Consistent interface for flag and tag
US8756274B2 (en) 2012-02-16 2014-06-17 Sap Ag Consistent interface for sales territory message type set 1
US8984050B2 (en) 2012-02-16 2015-03-17 Sap Se Consistent interface for sales territory message type set 2
US9237425B2 (en) 2012-02-16 2016-01-12 Sap Se Consistent interface for feed event, feed event document and feed event type
US8762453B2 (en) 2012-02-16 2014-06-24 Sap Ag Consistent interface for feed collaboration group and feed event subscription
US9232368B2 (en) 2012-02-16 2016-01-05 Sap Se Consistent interface for user feed administrator, user feed event link and user feed settings
WO2014000200A1 (en) 2012-06-28 2014-01-03 Sap Ag Consistent interface for document output request
US8756135B2 (en) 2012-06-28 2014-06-17 Sap Ag Consistent interface for product valuation data and product valuation level
US9367826B2 (en) 2012-06-28 2016-06-14 Sap Se Consistent interface for entitlement product
US9400998B2 (en) 2012-06-28 2016-07-26 Sap Se Consistent interface for message-based communication arrangement, organisational centre replication request, and payment schedule
US9246869B2 (en) 2012-06-28 2016-01-26 Sap Se Consistent interface for opportunity
US8949855B2 (en) 2012-06-28 2015-02-03 Sap Se Consistent interface for address snapshot and approval process definition
US9547833B2 (en) 2012-08-22 2017-01-17 Sap Se Consistent interface for financial instrument impairment calculation
US9076112B2 (en) 2012-08-22 2015-07-07 Sap Se Consistent interface for financial instrument impairment expected cash flow analytical result
US9043236B2 (en) 2012-08-22 2015-05-26 Sap Se Consistent interface for financial instrument impairment attribute values analytical result
US9191357B2 (en) 2013-03-15 2015-11-17 Sap Se Consistent interface for email activity business object
US9191343B2 (en) 2013-03-15 2015-11-17 Sap Se Consistent interface for appointment activity business object
US9953053B2 (en) 2014-12-18 2018-04-24 International Business Machines Corporation Reliability improvement of distributed transaction processing optimizations based on connection status
US10261825B2 (en) 2017-04-25 2019-04-16 International Business Machines Corporation Agent flow arrangement management
CN112968747B (zh) * 2021-03-04 2022-09-23 广州市百果园网络科技有限公司 一种时间校准方法、装置、计算机设备和存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4949254A (en) * 1988-09-29 1990-08-14 Ibm Corp. Method to manage concurrent execution of a distributed application program by a host computer and a large plurality of intelligent work stations on an SNA network
US5261089A (en) * 1990-05-16 1993-11-09 International Business Machines Corporation Optimization of commit procedures by utilizing a two-phase commit procedure only when necessary
US5212788A (en) * 1990-05-22 1993-05-18 Digital Equipment Corporation System and method for consistent timestamping in distributed computer databases
AU628753B2 (en) * 1990-08-14 1992-09-17 Digital Equipment Corporation Method and apparatus for implementing server functions in a distributed heterogeneous environment
US5432926A (en) * 1992-12-04 1995-07-11 International Business Machines Corporation Method and apparatus for improving database reliability and response time in a distributed transaction processing system
GB2288477A (en) * 1994-04-05 1995-10-18 Ibm Communications system for exchanging data between computers in a network.
US6205464B1 (en) * 1994-09-16 2001-03-20 International Businesss Machines Corporation System for building optimal commit trees in a distributed transaction processing system
GB2301909A (en) * 1995-06-07 1996-12-18 Ibm Reduction of logging in distributed transaction processing systems
US5862326A (en) * 1995-09-21 1999-01-19 Pacific Communication Sciences, Inc. Efficient request-reply protocol for a client-server model
US5754772A (en) * 1996-03-26 1998-05-19 Unisys Corporation Transaction service independent HTTP server-to-transaction gateway
US5884327A (en) * 1996-09-25 1999-03-16 International Business Machines Corporation System, method and program for performing two-phase commit with a coordinator that performs no logging
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
US6243739B1 (en) * 1997-07-11 2001-06-05 Phone.Com, Inc. Reducing perceived latency in servicing user requests on low-bandwidth communication channels
GB2327780A (en) * 1997-07-26 1999-02-03 Ibm Mail probe for timing mail routes
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location

Also Published As

Publication number Publication date
GB2346985B (en) 2003-07-09
US6457041B1 (en) 2002-09-24
GB9903717D0 (en) 1999-04-14
GB2346985A (en) 2000-08-23
JP3628578B2 (ja) 2005-03-16

Similar Documents

Publication Publication Date Title
JP3628578B2 (ja) サーバ・コンピューティング装置、操作方法および記憶装置
JP4464525B2 (ja) 作業負荷によって管理されるクライアント/サーバ・データ処理システムにおける集中アフィニティ維持装置および方法
EP0707265A2 (en) A system and method for creating an object oriented transaction service that interoperates with procedural transaction coordinators
KR100322224B1 (ko) 클라이언트/서버 컴퓨터 시스템에서 서버 내의 클라이언트 요청들의 디스패칭시에 시맨틱 동시 제어를 수행하는 장치 및 방법
US6038589A (en) Apparatus, method and computer program product for client/server computing with a transaction representation located on each transactionally involved server
JP3579353B2 (ja) クライアント/サーバ・コンピューティング・システム、およびクライアント/サーバ処理方法
US6345316B1 (en) Apparatus, method and computer program product for client/server computing with the ability to select which servers are capable of creating transaction state data
JP3574030B2 (ja) コンピューティング装置、操作方法およびプログラム記憶装置
JP3548030B2 (ja) サーバ処理装置及びサーバ処理方法
JP3628577B2 (ja) サーバ・データ処理装置、操作方法および記憶装置
US6237018B1 (en) Apparatus method and computer program product for client/server computing with improved transactional interface
US6324589B1 (en) Apparatus, method and computer program product for client/server computing with reduced cross-process calls
KR100318974B1 (ko) 트리거링 이벤트에 기초한 코디네이터 트랜잭션 상태 객체 생성의 타이밍을 가진 클라이언트/서버 컴퓨팅을 위한 장치, 방법 및 컴퓨터 프로그램 제품
US7395264B2 (en) Promotable transactions with promotable single phase enlistments
Böttcher et al. Dynamic commit tree management for service oriented architectures
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ů
CZ20003492A3 (cs) Zařízení, způsob a počítačový program pro distribuované výpočetní operace s volitelným umístěním objektů transakce na straně klienta

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040818

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041208

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees