JP3409308B2 - クライアント/サーバ・コンピューティング・システム及びサーバ処理方法 - Google Patents

クライアント/サーバ・コンピューティング・システム及びサーバ処理方法

Info

Publication number
JP3409308B2
JP3409308B2 JP02610599A JP2610599A JP3409308B2 JP 3409308 B2 JP3409308 B2 JP 3409308B2 JP 02610599 A JP02610599 A JP 02610599A JP 2610599 A JP2610599 A JP 2610599A JP 3409308 B2 JP3409308 B2 JP 3409308B2
Authority
JP
Japan
Prior art keywords
server
transaction
client
command
local
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP02610599A
Other languages
English (en)
Other versions
JPH11272630A (ja
Inventor
アマンダ・エリザベス・チェゼル
マーティン・ミュルホランド
キャサリン・サラ・ウォー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH11272630A publication Critical patent/JPH11272630A/ja
Application granted granted Critical
Publication of JP3409308B2 publication Critical patent/JP3409308B2/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

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を参照)、トラ
ンザクション・オブジェクト221を作成するように命
令する。次に、サーバAプロセス22は、トランザクシ
ョン・オブジェクト221を作成するとともに、トラン
ザクション・コンテキストを保持する応答をクライアン
ト・プロセス21に送信する(丸数字2を参照)。次
に、クライアント・プロセス21は、サーバBプロセス
23に預金口座借方記入コマンドを送信する(丸数字3
を参照)。サーバBプロセス23は、クライアント・プ
ロセス21が現金の引き出しを望んでいる預金口座オブ
ジェクト231を含んでいる。また、預金口座借方記入
コマンドは、サーバAプロセス22からクライアント・
プロセス21に供給されたトランザクション・コンテキ
ストを保持している。このように、サーバBプロセス2
3内の預金口座オブジェクト231は、それ自体をサー
バAプロセス22内のトランザクション・オブジェクト
221に登録することができるので(丸数字4を参
照)、トランザクション・オブジェクト221は、預金
口座オブジェクト231に対し、当該トランザクション
の終わりにコミット又はロールバックを行うように指令
することができる(丸数字5を参照)。
【0016】システム設計者は、各トランザクションに
関係する資源の多くを有している可能性が高いサーバ上
にそのトランザクション・オブジェクトを維持すること
により、プロセス間コールの数を減少させるように望む
ことがある。他の代替ケースでは、システム設計者は、
ローカル資源を有していないサーバ上でかかるトランザ
クション・オブジェクトを作成及び維持することによ
り、ローカル資源を有している他のサーバへのダウンロ
ードを回避するように望むことがある。しかしながら、
前記従来技術の実現例では、システム設計者は、かかる
トランザクション・オブジェクトを作成及び維持すべき
特定のサーバを選択することができない。
【0017】
【発明が解決しようとする課題】各トランザクションの
処理に関係する多数のプロセス間フローを減少させると
共に、各トランザクションの処理方法について高度の柔
軟性を得る方法、システムを提供することを目的とす
る。
【0018】
【課題を解決するための手段】第1の側面に従って、本
発明は、複数のサーバ処理装置を備え、当該サーバ処理
装置の各々がトランザクション・ファクトリ・オブジェ
クトを有するか否かを予め指定されている、トランザク
ションを処理するクライアント/サーバ・コンピューテ
ィング・システムを提供する。このクライアント/サー
バ・コンピューティング・システムは、トランザクショ
ン・ファクトリ・オブジェクトを有するものとして予め
指定されているサーバ処理装置の各々において、その起
動時に、トランザクション・ファクトリ・オブジェクト
のインスタンス生成をそれぞれ行うための手段と、複数
のサーバ処理装置の各々において、トランザクションの
開始を通知するためのコマンドをクライアント・プロセ
スから受信するための手段と、このコマンドに応答し
て、コマンドを受信したサーバ処理装置にローカルのト
ランザクション・ファクトリ・オブジェクトが存在する
か否かを決定するための手段と、ローカルのトランザク
ション・ファクトリ・オブジェクトが存在しない場合
は、前記コマンドを他のサーバ処理装置に転送し、他
方、ローカルのトランザクション・ファクトリ・オブジ
ェクトが存在する場合は、トランザクション状態オブジ
ェクトをコマンドを受信したサーバ処理装置でローカル
に作成するための手段を備えている。
【0019】第2の側面に従って、本発明は、第1の側
面に関連して記述した機能を遂行するためのサーバ処理
方法を提供する。
【0020】
【0021】
【0022】
【0023】
【発明の実施の形態】共通オブジェクト・リクエスト・
ブローカ・アーキテクチャ(CORBA)のオブジェク
ト・トランザクション・サービス(OTS)は、サーバ
内で実現されると、 "CosTransactions::Transaction F
actory" と呼ばれるインタフェース・オブジェクトを提
供する。かかるインタフェース・オブジェクトは、OT
Sサーバ内でトランザクション状態オブジェクトを作成
することを通して当該トランザクションを作成するため
に、クライアント・アプリケーションがこれを呼び出す
ことができる。
【0024】本発明の推奨実施例では、クライアント・
プロセス31(図3を参照)内で実行中のアプリケーシ
ョンが、トランザクションを開始する。この例では、処
理中のトランザクションが、クライアントとして銀行用
自動端末装置を使用して行われる処の、預金口座からの
現金の引き出しであると仮定する。かかるトランザクシ
ョンは、世界中のどこでも日常的に行われている。
【0025】クライアント・プロセス31は、トランザ
クションを開始する際に、サーバAプロセス32を見つ
ける。これは、図2に示されている従来技術の実現例と
同様である。しかしながら、サーバAプロセス32は、
他の点では完全に機能的なOTS実現手段321を有し
ているとしても、トランザクション・ファクトリ・オブ
ジェクトを有していないから、後述するようなトランザ
クション状態オブジェクトを作成することができない。
【0026】当該トランザクションを開始するためのコ
マンドをクライアント・プロセス31から受信する場
合、サーバAプロセス32は、そのOTS321内にト
ランザクション・ファクトリ・オブジェクトを有してい
ないために、このコマンドを他のサーバ・プロセス、例
えばサーバBプロセス33に転送する。次に、サーバB
プロセス33は、そのOTS331内にトランザクショ
ン・ファクトリ・オブジェクト3311を有しているか
ら、トランザクション状態オブジェクト3312(図4
を参照)をローカルに作成する(例えば、これらのオブ
ジェクトは、"CosTransactions::Control", "CosTransa
ctions::Coordinator" 及び "CosTransactions::Termin
ator" とそれぞれ呼ばれる制御オブジェクト、調整オブ
ジェクト及び終了オブジェクトを含んでいる)。これら
のオブジェクトは、図2に示されている従来技術の実現
例に関連して説明したトランザクション・オブジェクト
221と同様のものである。
【0027】次に、図5に示されているように、クライ
アント・プロセス31内で実行中のアプリケーション
は、引き出しトランザクションの最初の実質的部分とし
て、サーバBプロセス33内の預金口座オブジェクト3
32に対し、借方記入コマンドを発行する。この段階
で、預金口座オブジェクト332は、トランザクション
・オブジェクト3312と通常の態様で通信する。但
し、このような通信の全てが、同一のサーバ・プロセス
内で行われるために、これらの通信については如何なる
プロセス間フローも必要とされない。説明中の例では、
かかる通信は、預金口座オブジェクト332をトランザ
クション・オブジェクト3312に登録することを含
み、そして当該トランザクションが終了した場合、トラ
ンザクション・オブジェクト3312は、預金口座オブ
ジェクト332に対しコミット又はロールバック・コマ
ンドを送信する。
【0028】かくて、サーバAプロセス32がそのOT
S321内にトランザクション・ファクトリ・オブジェ
クトを有さないように、このサーバAプロセス32を構
成することにより、プロセス間のフローを著しく減少さ
せることができる。というのは、このようにすると、ロ
ーカル資源として預金口座オブジェクト332を保持し
ているサーバBプロセス32において、トランザクショ
ン・オブジェクトが作成されることになるからである。
【0029】他のケースでは、システム設計者は、当該
トランザクションに関係するローカル資源を有していな
いサーバ上でトランザクション・オブジェクトが作成さ
れるように、複数サーバのシステムを構成することを望
むことがある。以下、図6及び7を参照して、このケー
スを説明する。
【0030】クライアント・プロセス61(図6)がト
ランザクションを開始し、サーバAプロセス62に対し
要求を送信することにより、トランザクション・オブジ
ェクトを作成するように指令する。サーバAプロセス6
2は、そのOTS621内にトランザクション・ファク
トリ6211を有しているので、図7に示されているよ
うなトランザクション・オブジェクト6212を作成す
ることができる。次に、当該トランザクションは、かか
るトランザクション・オブジェクト6212及び預金口
座オブジェクト332が互いに異なるプロセス内に置か
れているために、多数のプロセス間コールを有する図2
の実現例と同様の態様で進行する。
【0031】幾つかのアーキテクチャでは、クライアン
ト・プロセス61は、これがトランザクションを開始す
るように指令している場合、常に同一のサーバに接触す
るとは限らない。すなわち、クライアント・プロセス6
1は、無作為に選択したサーバに接触することがある。
例えば、クライアント・プロセス61が、本発明に従っ
て、最初に(サーバAプロセス62ではなく)サーバB
プロセス63に接触することを試みるのであれば、サー
バBプロセス63は、如何なるトランザクション・ファ
クトリ・オブジェクトをも有していないために、当該ク
ライアント要求を、ファクトリを有している他のサーバ
・プロセス(例えば、サーバAプロセス62)に転送す
ることになろう。
【0032】この後者のケースは、多数のプロセス間フ
ローを有するという図2の実現例の欠点を共有するが、
ローカル資源を有するサーバBプロセス63がトランザ
クション・オブジェクトを作成及び維持するためにその
処理能力を消費しなくても良いという利点を有する。か
くて、サーバBプロセス63は、そのローカル資源を扱
うためにその処理能力を一層有効に利用することができ
る。
【0033】幾つかの状況では、第1のケースに従っ
て、プロセス間フローを減少させることが望ましい。他
の状況では、第2のケースに従って、資源を坦持するサ
ーバ・プロセスの処理能力を節約することが望ましい。
本発明によれば、システム設計者は、どちらの状況が望
ましいかに依存して、該当するシステムを適切に設計す
ることができる。
【0034】図8には、本発明の推奨実施例に従ったサ
ーバによって行われる諸ステップが示されている。最初
に、サーバ(例えば、サーバAプロセス62)は、クラ
イアント・プロセス61が開始した特定トランザクショ
ン用のトランザクション・オブジェクトを作成するため
に、クライアント・コマンドを受信する(ステップ8
1)。次に、このサーバは、これがローカルのトランザ
クション・ファクトリを有しているか否かを検査する
(ステップ82)。そうであれば、このサーバは、トラ
ンザクション・オブジェクトを当該サーバ内でローカル
に作成する(ステップ83)。他方、このサーバがロー
カルのトランザクション・ファクトリを有していなけれ
ば、このサーバは、クライアント・コマンドを他のサー
バに転送する(ステップ84)。
【0035】システム設計者は、システム管理インタフ
ェースを使用して、そのOTS内にファクトリを有して
いるサーバ・プロセスと、ファクトリを有していないサ
ーバ・プロセスを個別に指定することができる。次い
で、サーバの起動時に、トランザクション・ファクトリ
を有していると指定されたサーバ・プロセスだけが、ト
ランザクション・ファクトリ・オブジェクトのインスタ
ンス生成を行うようになっている。
【0036】前述のように、ローカルのトランザクショ
ンを作成することができないと指定されたサーバ(ノー
・ローカル・トランザクション・サーバ)は、他の点で
は完全に機能的なOTS実現手段を有している。このサ
ーバは、トランザクション要求を受信することが可能で
あり、また回復可能なOTSデータも保持することがで
きる。従って、OTSプログラミング・モデル内で実行
するように書かれた任意のアプリケーションは、如何な
る修正もなしに、かかる「ノー・ローカル・トランザク
ション」サーバに関して実行を行うことができる。
【0037】
【発明の効果】以上のように、本発明によれば、システ
ム設計者は、どのサーバがトランザクションの状態デー
タを作成及び維持することができ、そしてどのサーバが
このような動作を行うことができないかを個別に選択す
ることができるので、各トランザクションの処理方法に
ついて高度の柔軟性を得ることができる。
【0038】例えば、或るケースでは、ローカル資源を
有する特定のサーバを、トランザクションの状態データ
を作成及び維持可能なものであると指定することができ
るので、そのトランザクション・オブジェクト及び資源
オブジェクトが同一のプロセス内で見つけられることに
なり、かくて当該トランザクションを処理するのに必要
なプロセス間コールの数を減少させることができる。
【0039】他のケースでは、これと同じサーバを、ト
ランザクションの状態データを作成及び維持不能なもの
であると指定することができるので、ローカル資源を有
するこのサーバは、その処理能力の全てをローカル資源
の更新及び維持に充当することができ、その処理能力の
一部ですらトランザクション状態オブジェクトを処理す
るために流用する必要がなくなる。
【図面の簡単な説明】
【図1】本発明の推奨実施例を適用することができる、
オブジェクト指向技術を使用した周知の異種クライアン
ト/サーバ・アーキテクチャのブロック図である。
【図2】従来技術に従ったOTSの実現例を示すブロッ
ク図である。
【図3】本発明の推奨実施例に従った第1の実現例を示
すブロック図である。
【図4】図3の第1の実現例におけるサーバ・プロセス
を示すブロック図である。
【図5】図3の第1の実現例におけるトランザクション
実行を示すブロック図である。
【図6】本発明の推奨実施例に従った第2の実現例を示
すブロック図である。
【図7】図6の第2の実現例におけるサーバ・プロセス
を示すブロック図である。
【図8】本発明の推奨実施例に従って行われる各動作ス
テップを示す流れ図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マーティン・ミュルホランド イギリス国ハンプシャー州、ウィンチェ スター、オッターボーン、マイン・ロー ド、ジャスミン(番地なし) (72)発明者 キャサリン・サラ・ウォー イギリス国ハンプシャー州、ウィンチェ スター、グローブランズ・ロード 24 (56)参考文献 Mehmet Aksit Lode wijk Bergmans and Sinan Vural,An Obj ect−Oriented Langu age−Database Integ ration Model: The Composition−Filter s Approac,Proc.of ECOOP (58)調査した分野(Int.Cl.7,DB名) G06F 15/16 - 15/177 G06F 9/44 - 9/46

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のサーバ処理装置を備え、当該サーバ
    処理装置の各々がトランザクション・ファクトリ・オブ
    ジェクトを有するか否かを予め指定されている、トラン
    ザクションを処理するクライアント/サーバ・コンピュ
    ーティング・システムであって、 前記トランザクション・ファクトリ・オブジェクトを有
    するものとして予め指定されているサーバ処理装置の各
    々において、その起動時に、前記トランザクション・フ
    ァクトリ・オブジェクトのインスタンス生成をそれぞれ
    行うための手段と、 前記複数のサーバ処理装置の各々において、トランザク
    ションの開始を通知するためのコマンドをクライアント
    ・プロセスから受信するための手段と、前記コマンドに
    応答して、前記コマンドを受信した前記サーバ処理装置
    にローカルのトランザクション・ファクトリ・オブジェ
    クトが存在するか否かを決定するための手段と、前記コマンドを受信した前記サーバ処理装置 に前記ロー
    カルのトランザクション・ファクトリ・オブジェクトが
    存在しない場合は、前記コマンドを他のサーバ処理装置
    に転送し、他方、前記ローカルのトランザクション・フ
    ァクトリ・オブジェクトが存在する場合は、トランザク
    ション状態オブジェクトを前記コマンドを受信した前記
    サーバ処理装置でローカルに作成するための手段を備え
    ていることを特徴とする、クライアント/サーバ・コン
    ピューティング・システム。
  2. 【請求項2】前記複数のサーバ処理装置の各々が、オブ
    ジェクト・トランザクション・サービス(OTS)環境
    内で動作することを特徴とする、請求項1記載のクライ
    アント/サーバ・コンピューティング・システム。
  3. 【請求項3】複数のサーバ処理装置を備え、当該サーバ
    処理装置の各々がトランザクション・ファクトリ・オブ
    ジェクトを有するか否かを予め指定されている、トラン
    ザクションを処理するクライアント/サーバ・コンピュ
    ーティング・システムにおいて使用するためのサーバ処
    理方法であって、 前記トランザクション・ファクトリ・オブジェクトを有
    するものとして予め指定されているサーバ処理装置の各
    々において、その起動時に、前記トランザクション・フ
    ァクトリ・オブジェクトのインスタンス生成をそれぞれ
    行う段階と、 前記複数のサーバ処理装置の各々において、トランザク
    ションの開始を通知するためのコマンドをクライアント
    ・プロセスから受信する段階と、 前記コマンドに応答して、前記コマンドを受信した前記
    サーバ処理装置にローカルのトランザクション・ファク
    トリ・オブジェクトが存在するか否かを決定する段階
    と、前記コマンドを受信した前記サーバ処理装置 に前記ロー
    カルのトランザクション・ファクトリ・オブジェクトが
    存在しない場合は、前記コマンドを他のサーバ処理装置
    に転送し、他方、前記ローカルのトランザクション・フ
    ァクトリ・オブジェクトが存在する場合は、トランザク
    ション状態オブジェクトを前記コマンドを受信した前記
    サーバ処理装置でローカルに作成する段階を含んでいる
    ことを特徴とする、サーバ処理方法。
JP02610599A 1998-02-12 1999-02-03 クライアント/サーバ・コンピューティング・システム及びサーバ処理方法 Expired - Fee Related JP3409308B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9802885A GB2334353B (en) 1998-02-12 1998-02-12 An apparatus,method and computer program product for client/server computing with the ability to select which servers are capable of creating transaction stat
GB9802885.5 1998-02-12

Publications (2)

Publication Number Publication Date
JPH11272630A JPH11272630A (ja) 1999-10-08
JP3409308B2 true JP3409308B2 (ja) 2003-05-26

Family

ID=10826807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02610599A Expired - Fee Related JP3409308B2 (ja) 1998-02-12 1999-02-03 クライアント/サーバ・コンピューティング・システム及びサーバ処理方法

Country Status (4)

Country Link
US (1) US6345316B1 (ja)
JP (1) JP3409308B2 (ja)
CN (1) CN1160619C (ja)
GB (1) GB2334353B (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6442619B1 (en) * 1997-12-31 2002-08-27 Alcatel Usa Sourcing, L.P. Software architecture for message processing in a distributed architecture computing system
US8010627B1 (en) * 1998-09-25 2011-08-30 Sprint Communications Company L.P. Virtual content publishing system
US6757903B1 (en) * 1999-04-05 2004-06-29 Gateway, Inc. Object driven software architecture method and apparatus
US6591290B1 (en) * 1999-08-24 2003-07-08 Lucent Technologies Inc. Distributed network application management system
US6970932B1 (en) 1999-12-14 2005-11-29 Microsoft Corporation Non-delegable client requests to servers storing local information only
CA2323246A1 (en) * 1999-12-14 2001-06-14 Nortel Networks Corporation Transaction-based administration of media gateways in a customer care center
US6785713B1 (en) * 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for communicating among a network of servers utilizing a transport mechanism
US6785726B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for delivering local and remote server events in a similar fashion
US6789112B1 (en) 2000-05-08 2004-09-07 Citrix Systems, Inc. Method and apparatus for administering a server having a subsystem in communication with an event channel
US20020152145A1 (en) * 2001-04-13 2002-10-17 Rebecca Wanta Apparatus and method for standardized banking data system interfaces
AUPR518501A0 (en) 2001-05-22 2001-06-14 Unisearch Limited Yin yang-1
WO2003063009A1 (en) * 2002-01-18 2003-07-31 Bea Systems, Inc. System, method and interface for controlling server lifecycle
US7584131B1 (en) 2002-07-31 2009-09-01 Ameriprise Financial, Inc. Method for migrating financial and indicative plan data between computerized record keeping systems without a blackout period
US7844781B2 (en) * 2006-02-23 2010-11-30 International Business Machines Corporation Method, apparatus, and computer program product for accessing process local storage of another process
CN101739297B (zh) * 2010-01-21 2012-10-03 上海交通大学 普适服务动态更新中服务对象状态转移***及其方法
US10313261B1 (en) * 2016-06-15 2019-06-04 Workday, Inc. Tenant assignment system

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287537A (en) * 1985-11-15 1994-02-15 Data General Corporation Distributed processing system having plural computers each using identical retaining information to identify another computer for executing a received command
US5136708A (en) * 1987-06-09 1992-08-04 Oce-Nederland B.V. Distributed office automation system with specific task assignment among workstations
EP0613083B1 (en) * 1993-02-25 2002-01-23 Sun Microsystems, Inc. Transaction management in object oriented systems
US5459837A (en) * 1993-04-21 1995-10-17 Digital Equipment Corporation System to facilitate efficient utilization of network resources in a computer network
JP3326292B2 (ja) * 1994-05-24 2002-09-17 株式会社東芝 通信機器及びその通信方法
US5978594A (en) * 1994-09-30 1999-11-02 Bmc Software, Inc. System for managing computer resources across a distributed computing environment by first reading discovery information about how to determine system resources presence
US6317773B1 (en) * 1994-10-11 2001-11-13 International Business Machines Corporation System and method for creating an object oriented transaction service that interoperates with procedural transaction coordinators
JPH08286962A (ja) * 1994-12-16 1996-11-01 Internatl Business Mach Corp <Ibm> 処理システム及びオブジェクト活動化をスケジュールする方法
US5857102A (en) * 1995-03-14 1999-01-05 Sun Microsystems, Inc. System and method for determining and manipulating configuration information of servers in a distributed object environment
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US5644720A (en) * 1995-07-31 1997-07-01 West Publishing Company Interprocess communications interface for managing transaction requests
US6046988A (en) * 1995-11-16 2000-04-04 Loran Network Systems Llc Method of determining the topology of a network of objects
GB2308468A (en) * 1995-12-20 1997-06-25 Ibm Data processing systems and methods providing interoperability between data processing resources
US5931907A (en) * 1996-01-23 1999-08-03 British Telecommunications Public Limited Company Software agent for comparing locally accessible keywords with meta-information and having pointers associated with distributed information
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
US5968116A (en) * 1996-03-27 1999-10-19 Intel Corporation Method and apparatus for facilitating the management of networked devices
WO1997049039A1 (en) * 1996-06-21 1997-12-24 Bell Communications Research, Inc. Apparatus and methods for highly available directory services in the distributed computing environment
US6044224A (en) * 1996-06-26 2000-03-28 Sun Microsystems, Inc. Mechanism for dynamically associating a service dependent representation with objects at run time
US5949998A (en) * 1996-07-03 1999-09-07 Sun Microsystems, Inc. Filtering an object interface definition to determine services needed and provided
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US5918017A (en) * 1996-08-23 1999-06-29 Internatioinal Business Machines Corp. System and method for providing dynamically alterable computer clusters for message routing
CA2213213A1 (en) * 1996-08-26 1998-02-26 Tandem Computers Incorporated Method and apparatus for performing efficient corba transactions
US6038587A (en) * 1996-09-03 2000-03-14 Insession, Inc. System, method and article of manufacture for universal transaction processing over multiple transaction processing systems
US5907847A (en) * 1996-09-26 1999-05-25 Sun Microsystems, Inc. Method and apparatus for coupling object state and behavior in a database management system
JPH10124491A (ja) * 1996-10-24 1998-05-15 Fujitsu Ltd 文書共有整理システム,共有文書管理装置および文書アクセス装置
US5938732A (en) * 1996-12-09 1999-08-17 Sun Microsystems, Inc. Load balancing and failover of network services
GB2321720A (en) * 1997-02-04 1998-08-05 Secr Defence Modelling a system with more parameters than sensors
US5864866A (en) * 1997-03-26 1999-01-26 International Business Machines Corporation Apparatus and method for providing externalization in an object-oriented environment
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
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
GB2328044B (en) * 1997-08-01 2002-02-27 Ibm Apparatus,method and computer program product for client/server computing with a transaction representation located on each transactionally involved server
US6016495A (en) * 1997-09-19 2000-01-18 International Business Machines Corporation Object-oriented framework mechanism for providing persistent storage

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Mehmet Aksit Lodewijk Bergmans and Sinan Vural,An Object−Oriented Language−Database Integration Model: The Composition−Filters Approac,Proc.of ECOOP

Also Published As

Publication number Publication date
CN1160619C (zh) 2004-08-04
GB2334353A (en) 1999-08-18
US6345316B1 (en) 2002-02-05
CN1226698A (zh) 1999-08-25
JPH11272630A (ja) 1999-10-08
GB9802885D0 (en) 1998-04-08
GB2334353B (en) 2002-08-07

Similar Documents

Publication Publication Date Title
JP3409308B2 (ja) クライアント/サーバ・コンピューティング・システム及びサーバ処理方法
Thomas et al. Enterprise javabeans technology
US6466965B1 (en) Centralized affinity maintenance in a workload managed client/server data processing system
JP2002507017A (ja) ソースでのフィルタリング及びサーバーリソースを保存する為の補償用トランザクションのプロキシ実行を含むモジュール型アプリケーションの共同
US6038589A (en) Apparatus, method and computer program product for client/server computing with a transaction representation located on each transactionally involved server
JP3579353B2 (ja) クライアント/サーバ・コンピューティング・システム、およびクライアント/サーバ処理方法
US5925095A (en) Method and a computer program product for client/server computing with support for both recoverable and non-recoverable clients
JP3548030B2 (ja) サーバ処理装置及びサーバ処理方法
JP3628577B2 (ja) サーバ・データ処理装置、操作方法および記憶装置
US6542922B1 (en) Client/server transaction data processing system with automatic distributed coordinator set up into a linear chain for use of linear commit optimization
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
US7503050B2 (en) Transaction polymorphism
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
JP2001159978A (ja) 分散オブジェクトプログラム実行支援システム
GB2330431A (en) Client/server computing with failure detection
GB2339621A (en) Client/server computing system provides extension to basic transaction service
GB2339932A (en) Local resource registration in a distributed transaction processing coordinating server
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
LAPS Cancellation because of no payment of annual fees