JP2996892B2 - 共有した接続処理を介して多重ユーザ・アプリケーションにより並列データ・ベース・アクセスをするシステム及び方法 - Google Patents

共有した接続処理を介して多重ユーザ・アプリケーションにより並列データ・ベース・アクセスをするシステム及び方法

Info

Publication number
JP2996892B2
JP2996892B2 JP7059533A JP5953395A JP2996892B2 JP 2996892 B2 JP2996892 B2 JP 2996892B2 JP 7059533 A JP7059533 A JP 7059533A JP 5953395 A JP5953395 A JP 5953395A JP 2996892 B2 JP2996892 B2 JP 2996892B2
Authority
JP
Japan
Prior art keywords
dba
database
server processing
objects
processing process
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
JP7059533A
Other languages
English (en)
Other versions
JPH0830644A (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 JPH0830644A publication Critical patent/JPH0830644A/ja
Application granted granted Critical
Publication of JP2996892B2 publication Critical patent/JP2996892B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • 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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、並列のユーザ・アプリ
ケーション・プログラムからのアクセス要求を管理する
データ・ベース・サーバー・システムに関し、特に複数
のユーザ・アプリケーションを単一のデータ・ベースに
それぞれ並列接続するために共有する接続オブジェクト
を用いた効率的なデータ・ベース接続管理システムに関
する。
【0002】
【従来の技術】多くのデータ・ベース及び多くの並列の
ユーザを複合的にサービスするデータ処理システムで
は、ユーザ・アプリケーション(UA)がデータ・ベー
スのアクセス要求を発行することにより、特定のデータ
・ベースにアクセスを要求する。このようなアクセス要
求には、例えば、ここでデータ・ベース「スキーマ照会
(schema queries)」と呼ぶ簡単なカタログ・ルックア
ップ要求、又はこのデータ・ベースにおける指定したレ
コードを読み出し、かつ変更するように動作し、ここで
「作業単位」(UOW)と呼ぶトランザクション及びト
ランザクションの組合わせが含まれる。
【0003】現在の最高水準の技術、及び多数の並列処
理をサポートするデータ処理システムについては、例え
ば1990年、アジソン・ウェズレー出版(株)発行、第2
版、ハーベイ(Harvey M.Deitel)著、「オペレーティン
グ・システムの導入」(An Introduction to Operating
Systems)(N.B.,第3章「処理の思想」(“Process Concep
ts")を参照することにより、理解することができる。更
に、1984年、マックグローヒル(株)発行、ファン(Kai
Hwan)ほか著、「コンピュータ・アーキテクチャ並列処
理」(Computer Architecture Parallel Processing)
(N.B.,第8章、「多重処理制御及びアルゴリズム(“Mu
ltiprocessing Control and Algorithms")」、及び19
86年プレンタイス・ホール(株)発行、バッハ(Maur
ice Bach)著、UNIXオペレーティング・システムの設計
(The Design of the UNIX Operating System)(N.B.,
第7章、「多重処理」(“Process Control")及びN.B.,
第12章、「マルチプロセッサ・システム」(“Multiproc
essor Systems")を参照すべきである。
【0004】UAが特定のデータ・ベースのアクセスを
要求すると、対応するデータ・ベース管理システム(D
BMS)が処理資源を割り当ててデータ・ベースのアク
セス要求をサービスさせることが必要である。DBMS
は特定のデータ・ベース(例えばOS/2用のDB2)
に対する多重アクティブ接続をサポートできないので、
UAが(a)多くのデータ・ベースに対する並列アクセ
スをサポートすること、又は(b)特定のデータ・ベー
スに対する多重接続をサポートすることの何れかが必要
なときは総合的なシステム・パフォーマンスを低下させ
る恐れがある。
【0005】例えば、UAがユーザ入力に対して応答す
る異なるデータ・ベースからの情報を表示しなければな
らないときは、UAは種々の時点で多くの異なるデータ
・ベースを接続し、アクセスし、かつ切り離すことが必
要であろう。更に、UAは同一のデータ・ベースから導
き出した異なる多くのレポートを管理しているときは、
レポート効率を最適化するために同一のデータ・ベース
に対していくつか並列接続することが有用である。DB
MSが多重並列アクティブ接続をサポートする場合であ
っても、このような接続を確立する手順は、特に接続さ
れるべきデータ・ベースが遠方のデータ・ベースのとき
は、かなりのプロセッサ資源を消費する。例えば、OS
/2用のDB2は、単一の処理プロセス内で指定したデ
ータ・ベースに対する多重のアクティブ接続をサポート
せず、これを達成するために多重サーバ処理プロセス
引き起こす。
【0006】再接続のオーバーヘッド負荷は、UAが単
一のデータ・ベースと作業する伝統的なデータ・ベース
・システムにおいて主要な問題ではないが、最近のクラ
イエント/サーバ環境は多重データ・ベース・サーバを
サポートする一般化されたクライエント・データ・ベー
ス・ユーザ・アプリケーションを導入し、異なるデータ
・ベースに対して多くの並列アクセスを必要とする。多
処理プロセスをサポートするオペレーティング・シス
テムに適用可能な解決法は、UA用にそれぞれ多重アク
ティブ・データ・ベース接続を必要とする新しいデータ
・ベース接続用の新しいサーバ処理プロセスを発生させ
る。新しいサーバ処理プロセスは、UAとオブジェクト
のデータ・ベースとの間の特定の接続に関する全ての相
互作用を取り扱うと共に、UAのメイン処理プロセス
ユーザ・インタフェース及びディスプレイをサービスし
続ける。この構成はUAが単一データ・ベースに対して
多重アクティブ接続を保持可能にするが、新しい接続を
それぞれ保持するために必要なかなりの処理オーバーヘ
ッドを何ら軽減するものではなく、実際には更なるパフ
ォーマンス負荷を付加して各新しい処理プロセスを発生
させる。
【0007】
【発明が解決しようとする課題】従って、あらゆるデー
タ・ベースのアクセス要求に応答して新しい処理プロセ
及び接続生成処理オーバヘッドを招くことなく、単一
又は多重データ・ベースとユーザ・アプリケーションと
の間に多重並列のアクティブ接続を保持する方法に関し
て当該技術分野に明白に認識される必要性が存在する。
当該技術分野では、解決されていない関連の問題及び欠
点が明確に認識されており、それらは以下に説明する
法で本発明により解決される。
【0008】
【課題を解決するための手段】本発明は、クライエント
サーバ・システム環境において共有するデータ・ベー
ス接続処理プロセスの考えを導入する。スキーマ検索実
行要求及び構造化照会言語(Standard Query Language:
SQL)実行要求を独立し、かつ並列にサポートする組
込みクラスの方法を提供する新しいデータ・ベース・ア
クセス(DBA)・オブジェクトが導入される。独立し
た複数の処理プロセスにおいて実行する新しい2つの型
式のサーバを導入して本発明のDBAオブジェクトをサ
ービスする。並列のDBAオブジェクト間においてこれ
らの型式のサーバ処理プロセスのうちの一つを共有する
ことができる。DBAクラスの方法に従って、データ・
ベースに対して必要なリンクは、メモリに保持されたデ
ータ・ベース接続テーブル(DBCT)と呼ぶ接続管理
(CM)の制御によりデータ・ベースに対して必要なリ
ンクを編成して、このような全てのサーバ処理プロセス
の生成及び共有をトラッキングさせる。
【0009】本発明の方法の目的は、多重ユーザ環境に
おいて生成された必要数のデータ・ベース接続を最小化
することにある。また、本発明の特徴は、データ・ベー
スに対するUA接続を、多くの並列UAにより共有する
ことである。さらに、本発明の特徴は、排他的データ・
ベース接続がデータ・ベース更新及び変更を必要とする
SQL実行要求に利用可能であることである
【0010】本発明の排他的サーバ処理プロセスは、特
定のデータ・ベースに対する専用の接続と、単一のUA
により保有される本発明のDBAに対する専用の接続と
を有する。本発明の共有サーバ処理プロセスは特定のデ
ータ・ベースに対する専用の接続を有し、かつ、このよ
うなDBAオブジェクトが保有している単一のUAから
前記サーバ処理プロセスを共有する許可を有する時、本
発明の共有サーバは任意数の本発明のDBAオブジェク
トへ接続するために要求に応じて利用可能である。スキ
ーマ検索のための特殊共有サーバ処理プロセス(「カタ
ログ・サーバ処理プロセス」)は、本発明により導入さ
れる。カタログ・サーバ処理プロセスは、特定のデータ
・ベースに対して専用の接続を有し、かつスキーマ検索
要求のみに応答して任意のDBAオブジェクトに対する
接続のために利用可能である。従って、本発明の効果
は、各データ・ベースには単一の共有サーバ処理プロセ
で十分であるということにある。
【0011】
【実施例】図1は、データ処理システムにおいて多重デ
ータ・ベースに対して並列なアクセスをするために本発
明のオブジェクト及び処理プロセスを用いた処理プロセ
モデルの1例を示す。図1における処理プロセスモデ
ルは複数のオブジェクトを備えており、これらは単一構
造中にデータ構造定義、及びこれにより定義された複数
の手順を含むことが当該技術分野において知られてい
【0012】複数のオブジェクトはある「クラス」の複
インスタンスであって、各インスタンスがそれ自体の
固有な変数インスタンスを有する。「クラスの定義」
は、そのクラスにおけるオブジェクトの特性を定義す
る。オブジェクトに組込まれた手順(「メソッド」とも
呼ぶ。)は、他のオブジェクトからそのオブジェクトへ
送出された「メッセージ」によりアクティブにされる。
【0013】従って、当該技術分野において周知のよう
に、図1の処理プロセス構造により例示されるオブジェ
クト指向のプログラミング・システムにおける基本的な
制御構造は、メッセージの転送である。データ及び処理
プロセスの必要条件は、オブジェクトのクラス定義に組
込まれ、その処理プロセスはオブジェクト間のメッセー
ジ交換により達成される。
【0014】従って、図1に示す各オブジェクト及び
理プロセスは、コンピュータ処理システム内のデータ記
憶手段に物理的に記憶される。
【0015】図1は、処理プロセスAにおけるデータ・
ベースD1用の排他的DBAオブジェクト10と、処理
プロセスCにおけるデータ・ベースD2用の排他的DB
Aオブジェクト12とにより例示された複数のデータ・
ベース・アクセス(DBA)・オブジェクトを示す。更
に、処理プロセスBにおけるデータ・ベースD1用のD
BAオブジェクト14及び16を例とする「関連」DB
Aオブジェクトも示されている。説明の都合のみのため
に、DBAオブジェクト10及び12は異なる2つの
理プロセスに属し、DBAオブジェクト14及び16を
第1の処理プロセス18におけるこのような他の複数の
DBAオブジェクトと共に示す。
【0016】DBAオブジェクトは、スキーマ検索と、
標準照会言語(SQL)作業単位(UOW)の実行とを
サポートするように複数の「メソッド」を提供する。ユ
ーザ・アプリケーション(UA)が特定のデータ・ベー
スに対するアクセスを要求するときは、UAは、特定の
データ・ベースに関連させるDBAオブジェクトを作成
するか又は先に作成されたDBAオブジェクトを使用す
。次いで、UAは、DBAオブジェクトにより、DB
Aオブジェクトに組込まれたメソッドを用いて、別個の
処理プロセスにより実行している本発明のサーバにより
サービスされる特定のデータ・ベースをアクセスするこ
とができる。
【0017】例えば、図1におけるDBAオブジェクト
を考えることにする。DBAオブジェクト10は、デー
タ・ベースD1を指名し、データ・ベースD1をアクセ
スしてカタログ情報を読み出しする組込みスキーマ検索
メソッド20を備えている。図1において、SQL実行
メソッド22は、指定した「排他的」SQL実行メソッ
であり、ここでは、DBAオブジェクト10が他のD
BAオブジェクトにより共有されていない排他的サーバ
処理プロセスを介してデータ・ベースD1に対してアク
セスを要求することを表す指定した「排他的」SQL実
メソッドである。更に、図1に示す他の全てのDBA
オブジェクトは、そのクラス内に組込まれたカタログ・
サービス・メソッド及びSQLサービス・メソッドも備
えている。しかしながら、DBAオブジェクト14によ
り例示された他のDBAオブジェクトには、「共有」サ
ービス・メソッドが含まれてもよく、DBAオブジェク
ト14において共有SQL実行メソッド24により例示
される。SQL実行メソッド24は、DBAオブジェク
ト14が「関連」する他のDBAオブジェクト、例えば
DBAオブジェクト16とSQL実行要求サーバ処理プ
ロセスを共有して単一のデータ・ベース(D1)をアク
セス可能にさせる。
【0018】従って、関連するDBAオブジェクト14
及び16からの要求は、共有SQLサーバ処理プロセス
26及びカタログ・サーバ処理プロセス28として組込
まれた2つの型式のサーバ処理プロセスのいずれかによ
りサービスされることを注意すべきである。DBAオブ
ジェクト14は同時にカタログ・サーバ・メソッド30
からカタログ・サーバ処理プロセス28を介してデータ
・ベースD1へスキーマ照会メッセージを順方向に転送
し、かつ共有SQL実行メソッド24から共有SQLサ
ーバ処理プロセス26を介してデータ・ベースD1によ
りSQL UOWを実行する。この発明により、各DB
Aオブジェクトは、(a)データ・ベース・カタログ・
テーブル及び列のような機構情報を読み込み、かつSQ
L UOWを実行してデータ・ベースからのデータを読
み出し、かつ処理プロセスする並列メソッドを採用す
る。これらの並列メソッドは独立した処理プロセスによ
り動作し、SQLサーバ処理プロセス26及びカタログ
・サーバ処理プロセス28により例示される。
【0019】ここで、図1に示すいくつかの型式のサー
処理プロセスを説明する。SQLサーバ処理プロセス
32及び34により例示された排他的サーバ処理プロセ
は、クライエントDBAオブジェクトの排他的使用の
ために特定のデータ・ベースD1に接続される。排他的
SQLサーバ処理プロセス32は、データ・ベースD1
に対してそれぞれ専用の接続を備えている。排他的SQ
Lサーバ処理プロセス32及び34はそれぞれデータ・
ベースD1に対して専用の接続を備えている。排他的S
QLサーバ処理プロセス36はデータ・ベースD2に対
して専用の接続を備えている。このように全ての排他的
SQLサーバ処理プロセスは、ほぼ図示するように、
ライエントDBAオブジェクトに対して専用の接続を有
する。
【0020】更に、共有SQLサーバ処理プロセス
6、38、カタログ・サーバ処理プロセス28及び40
も特定のデータ・ベースに対する専用の接続を有する
が、それぞれ特定のデータ・ベースに対してアクセスを
要求する複数のDBAオブジェクトにより共有されても
よい。従って、例えば、カタログ・サーバ処理プロセス
28はデータ・ベースD1に対して専用の接続を有し、
このデータ・ベースD1は4つのDBAオブジェクトの
クライエントにおいて共有される。実際に、本発明のシ
ステムは、対象とする各データ・ベースに対して一つの
カタログ・サーバ処理プロセスしか必要とせず、データ
・ベースには変更がないので、カタログ・サーバ処理プ
ロセスはデータ・ベースからスキーマ検索を必要とする
全てのDBAオブジェクトにより共有される。SQL実
行要求については、本発明のシステムは、共有サーバ又
は排他的サーバを指定する任意選択をUAに提供する。
UAは、排他的SQL実行処理プロセスを介してデータ
・ベース・アクセスのために新しいDBAオブジェクト
を生成することにより、又は既存のDBAオブジェクト
をコールすことにより、又は共有SQLサーバ処理プロ
セスを介してデータ・ベースをアクセスするためのDB
Aオブジェクトをコールすことにより、当該必要条件を
実現する。
【0021】UAの仕様決定はいくつかの意味合いを持
。例えば、スキーマ検索のためには共有カタログ・サ
ーバ処理プロセスに依存して、排他的SQLサーバ処理
プロセスはSQL UOW実行のみのためにデータ・ベ
ースに対する専用のDBAオブジェクト接続を提供す
る。これは、トランザクションのコミット/ロールバッ
クを発行するときに、他のDBAオブジェクトからのト
ランザクションによる干渉を回避する。排他的SQLサ
ーバに対する接続メソッドを有する適当なDBAオブジ
ェクトを指定することは、SQLサーバ処理プロセス
対するアクセスに関して生起し得る待機を除去し、更に
デッドロックの可能性も除去する。しかし、他のDBA
オブジェクトを共有SQLサーバへ接続するメソッド
より指定すると付加的な接続を発生させるが、システム
・オーバヘッドを伴うことになる
【0022】共有SQLサーバ処理プロセスを指定する
と、SQL UOW実行のためにデータ・ベースに対す
る接続の急増を回避する。しかし、トランザクションの
コミット/ロールバック中に他のDBAオブジェクトか
らのトランザクションによる干渉を回避するために、U
Aは、UOW毎に区切りコールを明白に発行して逐次化
を確保する必要がある。最初、本発明のDBAオブジェ
クトは、「トランザクション開始」及び「トランザクシ
ョン終了」メッセージを用いてUOW境界を区切り、か
つSQLサーバ処理プロセスにおいて複数のトランザク
ション及び複数のトランザクション・グループを逐次化
させる。共有SQLサーバ処理プロセスを指定する利点
は、システム・データ・ベース接続オーバヘッドを最小
化することである。図1のDBAオブジェクト14及び
16のように、共有サーバ・アクセス方法によりDBA
オブジェクトを用いる欠点は、UAがUOW境界、及び
共有するSQLサーバ処理プロセスに対するアクセスに
生起し得る待機を適正にマークしない場合にデッドロッ
クする可能性があることである。
【0023】クライエントUAが排他的SQL処理プロ
セスを必要とするDBAオブジェクト中のメソッドを最
初に呼び出したとき排他的SQLサーバ処理プロセスが
発生される。従って、そのシステムにおける各クライエ
ントDBAオブジェクトに対してこのような排他的SQ
L処理プロセスが1つづつ存在し得る。更に、これは、
本発明のシステムにおいて、UAは各スレッドのために
独立した排他的SQLサーバ処理プロセスを用いる、又
は複数のスレッドにデータ・ルーチングを取り扱うによ
り、多くのスレッド用に単一の排他的SQLサーバ処理
プロセスを用いることができることを意味する。特に、
UAは、複数のSQL処理プロセス要求又はトランザク
ションを含むので単一のUOWも定めることができる。
【0024】共有SQLサーバ処理プロセスは、UAが
共有SQL処理プロセスを要求するDBAオブジェクト
中のSQL実行要求を最初に呼出すときに、発生する。
そのときに、全てのクライエントUAプロセッサ又は指
定したデータ・ベース用のスレッドは、対応するクライ
エントDBAオブジェクトにより同一の共有SQL処理
プロセスを介して全てのSQL実行要求を処理する。こ
こで、クライエントUAは、何らかのDBAオブジェク
トに対するSQL実行要求を送出する前に、各トランザ
クションの始終を区分けして共有SQLサーバ処理プロ
セスにおいて並列のUOWの逐次化を確保しなければな
らない。
【0025】全てのUA処理プロセス及びスレッドは共
有カタログ・ルックアップ・テーブル要求のための単一
の共有カタログ・サーバ処理プロセスを介して指定した
データ・べースと通信することができるので、指定した
各データ・ベースには1つのカタログ・サーバ処理プロ
セスしか必要でない。カタログ・サーバ処理プロセス
は、UAが指定したデータ・ベース用のカタログ・ルッ
クアップを必要とするスキーマ検索要求をDBAオブジ
ェクトに送出してから、発生する。これが確立すると、
カタログ・サーバ処理プロセスは指定したデータ・ベー
スに対してアクセスを要求する全てのDBAオブジェク
トに関するサービスを続ける。各要求は完全なUOWを
構成しており、これによって逐次化を確保している。
【0026】図2は本発明のシステム用の好ましいサブ
コンポーネント構造を示す。説明に際して図1のDBA
オブジェクト14を更に詳細に示す。図1に示すよう
に、カタログ・サーバ・メソッド30はカタログ・サー
バ処理プロセス28に接続されており、SQL実行メソ
ッド24はSQLサーバ処理プロセス26に接続されて
いる。
【0027】図2において、SQL実行メソッド24及
びカタログ・サーバ・メソッド30は、それぞれDBA
オブジェクト14とデータ・ベースD1に接続された基
礎のデータ・ベース管理システム(DBMS)との間の
論理接続をモデル化している。UA(図示なし)からの
あらゆる要求のために、DBAオブジェクト14は、第
1にチェックにより適当なサーバに対する論理接続が存
在するか否かを判断する。ノーのときは、接続マネジャ
ーオブジェクト(図示なし)を呼出して新しいサーバ
理プロセスを発生させることにより、又はデータ・ベー
ス接続テーブル(DBCT)に存在するサーバ処理プロ
セスを発生させることにより、必要な論理接続を確立す
る。接続マネジャーは、応答してSQL処理プロセス
共有することができるか、又は新しいSQL処理プロセ
を発生させるべきかを判断する責任を持つ。接続マネ
ジャーは、全てのサーバ処理プロセスについての情報を
記憶する大域的なグローバル共有メモリ内のデータ・ベ
ース接続テーブル(DBCT)を管理する。以下、図4
〜図5に関連して本発明の接続マネジャー及びDBCT
を説明する。論理接続が既に存在するときは、DBAオ
ブジェクト14は要求を関連して指定したパイプ(プロ
セス間通信サービス・サブコンポーネントにより管理さ
れる)により適当なサーバ処理プロセスへ送出し、かつ
要求の結果を提供する戻りメッセージを待機する。
【0028】ここで、サーバ処理プロセスを選択し、か
つデータ・ベース・アクセス要求メッセージを同期させ
る規則を説明する。全てのスキーマ検索要求に対して、
カタログ・サーバ処理プロセス28が選択される。カタ
ログ・サーバ処理プロセス28は同一データ・ベース名
参照するDBAオブジェクトのすべてのインスタンス
に共有される。同一のサーバ処理プロセスに対する多重
要求は、当該技術分野において知られた方法により、サ
ーバが指定したパイプの処理プロセスにより逐次化され
る。図2において、アプリケーション・プログラム・イ
ンタフェース(API)42はカタログ・サーバ処理プ
ロセス28にリンクさせるために必要な活動を行なう。
API42は処理プロセス間通信(IPC)サービス・
サブコンポーネント44を介してこれに割り当てられた
タスクを達成する。API42はUAから受信したデー
タ・ベース・アクセス要求を翻訳してメッセージ・パッ
ケージを発生し、カタログ・サーバ・メソッド30から
指定したパイプ(IPCサービス・サブコンポーネント
44〜46)を介してカタログ・サーバ処理プロセス
8へ転送する。更に、メッセージがカタログ・サーバ
理プロセス28からカタログ・サーバ・メソッド30へ
戻されると、API42は大域的な共有メモリ(図4〜
図5)に戻されたデータを用いてUA用の出力オブジェ
クトを生成する。
【0029】IPCサービス・サブコンポーネント44
〜46は、カタログ・サーバ・メソッド30とカタログ
・サーバ処理プロセス28との間でデータ及びメッセー
ジを転送する役割を持つ。IPCサービス・サブコンポ
ーネント44〜46は必要な「指定したパイプ」を生成
し、かつ管理をする。IPCサービス・サブコンポーネ
ント44〜46はAPI 42から要求パケットを受け
取り、次に指定したパイプを用いてこの要求をカタログ
・サーバ処理プロセス28へ転送し、カタログ・サーバ
処理プロセス28は要求マネジャー(RM)48で要求
パケットを受け取る。RM48は要求パケットを処理
し、応答パケットをIPCサービス・サブコンポーネン
ト46〜44へ渡し、指定したパイプを介してAPI
42へ転送する。
【0030】カタログ・サーバ・メソッド30及びカタ
ログ・サーバ処理プロセス28により表わされる処理プ
ロセス互いに関係がないので、本発明のシステムでは
指定したパイプが用いられる。当該技術分野において周
知のように、指定したパイプはファースト・イン・ファ
ースト・アウト(FIFO)形式により相関されていな
処理プロセス間の転送を可能にし、更に処理プロセス
の実行を同期可能にする。指定したパイプはファイル・
システムのハイアラーキに永久的に残ることができ、か
つこれをシステム・ファイル・コールによる種々の処理
プロセスに対して切り離し及び再接続することができ
る。カタログ・サーバ処理プロセス28はIPCサービ
ス・サブコンポーネント46〜44により管理されたパ
イプを生成する。指定したパイプはローカルであり、双
方向データの流れを可能にするように二重化されてい
る。更に、データが読み出し可能になるまで、又はデー
タの書き込みに十分な空間が得られるまで、「待機」モ
ードにより読み出し動作又は書き込み動作を阻止する。
入力として他に指定したパイプの特徴を指定することが
できる。
【0031】DBAオブジェクト14におけるカタログ
・サーバ・メソッド30は、指定したパイプ上の要求を
カタログ・サーバ処理プロセス28へ送出し、かつ応答
を返送する。その場合に、カタログ・サーバ処理プロセ
28は指定したパイプを切り離し、これを再接続し、
かつ次のDBAオブジェクト14からの要求を待機する
必要がある。カタログ・サーバ処理プロセス28の場合
は、指定したパイプをDBAオブジェクト14から切り
離して、スキーマ検索サービスを要求する他のDBAオ
ブジェクトに再接続する。何時、カタログ・サーバ・メ
ソッド30から指定したパイプを切り離し可能となるか
は、DBAオブジェクト14が切り離し要求をカタログ
・サーバ処理プロセス28へ送出して知らせることが好
ましい。
【0032】同様に、DBAオブジェクト14における
SQL実行メソッド24は、指定したパイプ上をAPI
50、クライエントIPC52、サーバIPC54及び
及び要求マネジャー56を介してSQLサーバ処理プロ
セス26へ通信する。SQLサーバ処理プロセス26は
「共有」サーバ処理プロセスであるので、SQL実行
ソッド24とSQLサーバ処理プロセス26との間の第
2の論理経路は、カタログ・サーバ・メソッド30とカ
タログ・サーバ処理プロセス28との間の第1の論理経
路に関連して以上で説明したようにほぼ動作する。特
に、第2の論理経路を共有することが可能なときは、指
定したパイプ(IPC52〜54)を切り離して関連す
るDBAオブジェクトに再接続し、共有SQLサーバ
理プロセス26へ完全にリンクされたままとなる。しか
し、SQL UOW実行メッセージは逐次化される必要
があるので、付加的な必要条件がここで説明しているA
PI50に設定される。
【0033】SQLサーバは、クライエントUAからの
全てのSQL UOW実行要求に用いられる。通常、指
定されたデータ・ベースへ並列に更新を行なうことがで
きたので、排他的SQLサーバ処理プロセスは望ましい
が、UOWは現在用いられているDBAオブジェクトの
みに関連する必要がある。いくつかの状況では、UA
ライエントが指定されたデータ・ベースに対して短いト
ランザクションのみを意図することができ、図1の処理
プロセスBに示すように、同一データ・ベースに対して
多くのDBAオブジェクト・インスタンスを便宜的に採
用することができる。このようなアプリケーションで
は、以下の制約を条件として共有SQLサーバ処理プロ
セス26により例示されたSQLサーバを用いることが
できる。
【0034】共有SQLサーバにより、単一のトランザ
クション「範囲」内で全てのSQL要求を用いる必要が
ある。「トランザクション開始」及び「トランザクショ
ン終了」メソッドのように、DBAオブジェクト14に
組込まれた2つのメソッドを用いて、トランザクション
の範囲を区分けする。「トランザクション開始」メソッ
は、最初は、SQLサーバ処理プロセス26に関連し
た相互に排他的なミューテックス・セマフォ(mutex sem
aphore)を得る。同時に一つの要求がこのミューテック
ス・セマフォを所有し、「トランザクション終了」で
は、ミューテックス・セマフォを解放し、新しい所有権
に利用可能となる。従って、相互に排他的的なミューテ
ックス・セマフォの獲得及び解放によりマークされたト
ランザクション範囲内で共有SQLサーバを用いてすべ
てのUAが要求を出すことを必要とすることにより、
てのデータ・ベース・アクセスは単一のUOW範囲内で
逐次化され、従って本発明の共有SQLサーバ処理プロ
セスの使用を可能にする。
【0035】まずDBAオブジェクトが生成されると、
オブジェクトコンストラクタはアンカー・ブロック58
及び本発明のDBCT60を初期化する。図4は、デー
タ処理システムの大域的な共有メモリに存在するアンカ
ー・ブロック58及び本発明のDBCT60のデータ・
アクセスを示す。アンカー・ブロック58は他の並列
理プロセスがアクセスできるように指名される。同時的
なアクセスから大域的なデータ・エリアを保護するため
に、ミューテックス・セマフォ62を用いて図2と関連
して前述と同じようにアクセスを逐次化する。初期化中
に、大域的なデータ・エリアのために共有メモリを割り
当て、かつミューテックス・セマフォ62を生成する。
アンカー・ブロック58は、いくつかの大域的なデータ
と、データ・ベースのアクセス要求に応答して共有メモ
リに転送した大規模なデータ・ベースのような他のデー
タに対するポインタとを有する。更に、アンカー・ブロ
ック58は、ミューテックス・セマフォカウンタ64、
DBCT60に対するポインタ66、DBCTメモリ・
プールに対するポインタ68、SQL誤りに関連したS
QLCAデータ70、システム誤り用のシステム戻りコ
ード(RC)72、及びシステムの誤り型式を識別する
内部復帰コード(RC)74を有する。フィールド70
〜74は、クライエントDBAオブジェクトに関連し、
これに対してアンカー・ブロック58を関連させるカタ
ログ・サーバ処理プロセス、又はSQLサーバ処理プロ
セスの初期化中に発生する誤りについての情報をセーブ
するために、用いられる。
【0036】ミューテックス・セマフォ62の所有権を
保持中に処理プロセスが終結すると、その後は他の処理
プロセスがミューテックス・セマフォ62に対してアク
セス権を有し、新しいセマフォ名を生成しなければなら
ない。ミューテックス・セマフォ・カウンタ64はロー
カル処理プロセスカウンタと共に用いられ、このような
環境において新しいミューテックス・セマフォ名の生成
を処理する。ミューテックス・セマフォ・カウンタ64
に保持されている値は、ミューテックス・セマフォ名の
一部分であり、かつ処理プロセスはミューテックス・セ
マフォを使用しようとし、前の所有者が終結されたとき
は、部分的にミューテックス・セマフォ・カウンタ64
を一つだけ増加させることにより、新しい名称を発生す
る。他の処理プロセスがミューテックス・セマフォ62
を使用してるときは、そのローカル・カウンタがミュー
テックス・セマフォ・カウンタ64と相違するのを発見
し、これに応答してローカル・カウンタをリセットして
速やかに新しいミューテックス・セマフォを開く。
【0037】図4におけるポインタ66はDBCT60
の場所を示し、これは親のDBAオブジェクトに対する
最初のDBCTである。新しいサーバ処理プロセスを必
要とすることを接続マネジャー(図5)が判断すると、
このサーバ処理プロセスを発生してこの発生時に以下の
情報、即ち、(a)このサーバが接続されているデータ
・ベースの名称、(b)発生が首尾良く終結した後にこ
処理プロセスにより満たされるべきDBCTにおける
空きエントリ(例えばエントリ76)へのポインタ、及
び(c)誤りに関する接続マネジャーと、を転送する
この接続マネジャーは、埋め込まれたサブコンポーネン
トとして、図2におけるRM56により例示された要求
マネジャー(RM)を備えている。RMサブコンポーネ
ントはサーバ処理プロセスの初期化中にエントリ76に
より例示されたDBCT60において接続エントリをセ
ットし、かつ関連するサーバ処理プロセスの終結中にエ
ントリ76を削除する。
【0038】DBCT60はデータ・ベース接続を追跡
する。これには接続したデータ・ベースと、カタログ・
サーバ処理プロセス及びSQLサーバ処理プロセスとに
ついての情報が含まれる。エントリ76により例示され
た各エントリには、好ましくは、接続したデータ・ベー
スの名称、接続のための識別エントリ、対応するサーバ
処理プロセスを共有する関連のDBAオブジェクト数の
使用カウント、対応するサーバ処理プロセスの型式、対
応するサーバ処理プロセスの共有モード(排他的又は共
有)、対応するサーバ処理プロセス用の呼出可能な名
称、及びエントリ「削除」されたか否かを表わすフラ
グが含まれる。
【0039】本発明をより良く理解するために、本発明
者が考察したが、採用しなかったデータ・アクセス・モ
デルを示す図3について考える。処理プロセスBにおけ
る各DBAオブジェクトは単一のB接続を介して動作す
る。図3における処理プロセスモデルは、データ・ベー
ス当たり一つの接続のみを必要とするだけなので、ある
程度のパフォーマンス・ゲインが得られるが、トランザ
クション内で多重SQLステートメントが不可能であ
り、またSQL窓内でSQLサーバ処理プロセスの選択
が不可能である。データ・ベース当たり一つのデータ・
ベース接続処理プロセスを介して単一のUOWにおいて
多重ステートメントをサポートする他の実施例は、デー
タ・ベース接続処理プロセス自体に対するUOW管理活
動を割り当てることである。このようなデータ・ベース
接続処理プロセスは、着信する複数の要求をチェック
し、かつ現在の作業単位に関連したもののみを処理し、
他のトランザクションに関連されるものを保持するであ
ろう。これに代わるものを考えたが、これもデータ・ベ
ース接続処理プロセスにおいて必要とする膨大な処理プ
ロセスオーバーヘッドのために、本発明者が採用しなか
った。更に、データ・ベース接続処理プロセスは、現在
のUOWを実行するまで他の全てのクライエントからの
要求を保留するので、他のクライエントからのデータ・
ベース・アクセス要求はこのような機構においては待機
が長くなり過ぎる恐れがある。従って、図2及び図4に
関連して前述したように、ミューテックス・セマフォ、
本発明のUOW阻止機構が好ましい。
【0040】図5はデータ処理プロセスシステムのデー
タ記憶手段に共にリンクされた複数のオブジェクトを示
すことにより本発明のシステムを示す。接続を記録し、
かつデータ・ベース82により例示された各データ・ベ
ースを処理するDBCT80と、DBAオブジェクト8
4により例示された各データ・ベース・アクセス・オブ
ジェクトとに接続された接続マネジャー78が示されて
いる。処理プロセス85のような排他的SQLサーバ
理プロセスは、指定したパイプを介してクライエント
BAオブジェクト84に直接リンクされる。更に、処理
プロセス86により例示された共有SQLサーバ処理プ
ロセスは、指定したパイプ88のように、指定したパイ
プを介してクライエントDBAオブジェクト90に接続
されている。指定したパイプ88は切り離されて、例え
ばDBAオブジェクト90とDBAオブジェクト92と
の間に接続されてもよい。クライエントDBAオブジェ
クト84、90及び92は、全て、単一のユーザ・アプ
リケーション(UA)94からのデータ・アクセス要求
に応答して生成される。処理プロセス96により例示さ
れたスキーマ検索(カタログ・サーバ)処理プロセス
含む全てのサーバ処理プロセスは、オブジェクト92の
ようなDBAオブジェクトからのデータ・ベース・アク
セス要求に応答して、生成される。SQLサーバ処理プ
ロセス86のような各サーバ処理プロセスは、指定され
たデータ・ベースに関連したDBMSに接続される。デ
ータ・ベース・アクセス・サーバの手順は、図6を参照
して理解される。
【0041】図6において、ユーザ・アプリケーション
94はDBAオブジェクト92に対するSQL UOW
メッセージを含むデータ・ベース・アクセス要求を送出
する。オブジェクト92(SQL実行オブジェクト9
8)における第2の2つの内部接続メソッドは、必要に
より発生されるSQLサーバ処理プロセス86に対する
接続を行なう。
【0042】SQLサーバ処理プロセス86は指定した
パイプ88を構築させ、これをSQL実行オブジェクト
98を介して(リンクされた)名称により呼出す。SQ
L実行オブジェクト98は指定したパイプ88を介して
サーバ処理プロセス86へメッセージを渡し、次いでサ
ーバ処理プロセス86は独立してメッセージをデータ・
ベース管理システム(DBMS)100に送出する。そ
こで、DBMS100はサーバ処理プロセス86からの
メッセージに応答してデータ・ベース102へデータを
転送させる。サーバ処理プロセス86はデータをDBM
S100から共有したメモリ領域104へ転送させる。
これは、長いデータ・フローの転送によって指定したパ
イプ88が拘束されるのを防止する。その代わりに、サ
ーバ処理プロセス86は単純に共有メモリ・ポインタを
DBAオブジェクト92へ返送する。最後に、ユーザ・
アプリケーション94は、共有メモリ・ポインタを用い
て、DBAオブジェクト92及びAPIオブジェクト1
06を介して共有メモリ104を接続し、かつ実行して
いるUOWに従ってデータを取り扱う。
【0043】
【発明の効果】本発明の方法の効果は、共有接続を用い
てデータ・ベースを変更させてしまうことなく、データ
・ベース機構の情報を照会することができることであ
る。更に、本システムの方法の他の効果は、共有データ
・ベース接続を用いてデータ・ベースを変更するSQL
実行要求をUAクライエントが要求する時に、そのよう
に処理することができることである。
【図面の簡単な説明】
【図1】本発明のデータ処理システムを例示する処理モ
デルの機能的なブロック図である。
【図2】本発明のデータ処理システムの実施例に関連し
たデータ・アクセス・サブコンポーネントを説明する機
能的なブロック図である。
【図3】本発明により考慮されると共に放棄された他の
処理モデルを示す機能的なブロック図である。
【図4】本発明のデータ・ベース接続テーブル(DBC
T)を説明する機能的なブロック図である。
【図5】本発明の方法の実施に適当なデータ処理多重シ
ステムの機能的なブロック図である。
【図6】本発明の方法のためのSQL UOW実行メッ
セージ及びデータ・フローを説明する機能的なブロック
図である。
【符号の説明】
10、12、14、16 DBAオブジェクト 18 第1の処理 20 組込みスキーマ検索メソッド 22、24 SQL実行メソッド 24 SQL実行メソッド 28 カタログ・サーバ処理 26、32、34、36、38 SQLサーバ処理
───────────────────────────────────────────────────── フロントページの続き (72)発明者 トニー・クエン・リー アメリカ合衆国95120 カリフォルニア 州、サン・ノゼ、ブレット・ハーテ・ド ライブ 7092 (72)発明者 ジェニー・ユックー・ニシムラ アメリカ合衆国95131 カリフォルニア 州、サン・ノゼ、ウィンストン・ストリ ート 1730 (72)発明者 ゲルダ・ルース・シャンク アメリカ合衆国94103 カリフォルニア 州、サンフランシスコ、ナトマ・ストリ ート 1090 (56)参考文献 特開 平2−58165(JP,A) 野口監,疋田著「COMシリーズ図解 分散型データベースシステム入門」オ ーム社(平1−5−25),p.36−38, 70−79 岩井,外4名「分散RDB管理システ ムに於ける辞書管理方式」情報処理学会 第42回(平成3年前期)全国大会講演論 文集(4)p.109−110(平3−3− 12) 久保田,植村「分散型データベースシ ステムにおけるシステムカタログ管理の 一方法」電子情報通信学会技術研究報告 (DE89−48)Vol.89,No.466, 1990(平2−3−22) 森本,外3名「関係データベースを利 用したオブジェクトサーバのデータ管 理」情報処理学会研究報告(93−DBS −93−11,93−OS−59−11),Vo l.93,No.45,1993(平5−5− 27),p.93−102 (58)調査した分野(Int.Cl.7,DB名) G06F 17/30 G06F 12/00 513 JICSTファイル(JOIS)

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のデータ・ベースとスキーマの照会お
    よび構造化照会言語(SQL)の複数の作業単位(UO
    W)を実行する要求を含むデータ・ベース・アクセス要
    求を処理するための複数のユーザ・アプリケーション
    (UA)とを記憶し、それぞれのデータ・ベースに各々
    リンクされた複数のカタログ・サーバ処理プロセスおよ
    びそれぞれのデータ・ベースに各々リンクされた複数の
    SQLサーバ処理プロセスを記憶し、ユーザ・アプリケ
    ーション(UA)と前記データ・ベースとの間でメッセ
    ージを転送するための複数のデータ・ベース・アクセス
    (DBA)オブジェクトを含む複数のオブジェクトを記
    憶するための記憶手段を有するオブジェクト指向データ
    ・ベース処理システムにおいて、前記複数のユーザ・ア
    プリケーションの第1のものからの1以上の前記データ
    ・ベース・アクセス要求に応答して、第1の前記データ
    ・ベースにおいてデータをアクセスする方法であって、 前記複数のカタログ・サーバ処理プロセスおよび前記複
    数のDBAオブジェクトの間の複数の第1の論理経路
    と、前記複数のSQLサーバ処理プロセスおよび前記複
    数のDBAオブジェクトの間の複数の第2の論理経路と
    を形成するステップを含み、 前記第1の論理経路の少なくとも1つの経路は前記複数
    のDBAオブジェクトの内の2つ以上によって共有さ
    れ、 前記ステップに続いて、 (a)前記第1のUAと前記第1のデータ・ベースとの
    間でメッセージを転送するために前記第1のUAから、
    第1のスキーマ検索メソッドおよび第1のSQL実行メ
    ソッドを含む第1の前記DBAオブジェクトに前記デー
    タ・ベース・アクセス要求を送出するステップと、 (b)前記カタログ・サーバ処理プロセスを介して前記
    第1のDBAオブジェクトの前記第1のスキーマ検索メ
    ソッドと前記第1のデータ・ベースとの間で前記第1の
    論理経路によりスキーマ照会メッセージを転送するステ
    ップと、 (c)前記SQLサーバ処理プロセスを介して前記第1
    のDBAオブジェクトの前記第1のSQL実行メソッド
    と前記第1のデータ・ベースとの間でSQL作業単位実
    行メッセージを前記第2の論理経路により転送するステ
    ップと、 を含む方法。
  2. 【請求項2】前記第1の転送ステップ(b)は、 (b.1)第1のカタログ・サーバ処理プロセスが既に
    存在していないときは、第1のカタログ・サーバ処理プ
    ロセスを発生して前記第1のデータ・ベースからデータ
    を検索するステップと、 (b.2)前記第1のDBAオブジェクトを前記第1の
    カタログ・サーバ処理プロセスに接続するステップとを
    含むことを特徴とする請求項1記載の方法。
  3. 【請求項3】前記接続ステップ(b.2)は、 (b.2.1)パイプ・オブジェクトが既に存在してい
    ないときは、前記第1のカタログ・サーバ処理プロセス
    へ及び前記第1のカタログ・サーバ処理プロセスからメ
    ッセージを転送する第1の指定したパイプ・オブジェク
    トを構築するステップと、 (b.2.2)前記第1の指定したパイプ・オブジェク
    トを前記第1のDBAオブジェクトにリンクさせるステ
    ップとを含むことを特徴とする請求項2記載の方法。
  4. 【請求項4】前記第1の論理経路は、前記各DBAオブ
    ジェクトからのスキーマ照会メッセージに応答して前記
    第1の指定したパイプ・オブジェクトを各前記DBAオ
    ブジェクトへ論理的に再リンクさせることにより、前記
    複数のDBAオブジェクトの間で共有されることを特徴
    とする請求項3に記載の方法。
  5. 【請求項5】前記リンクさせるステップ(b.2.2)
    は、 (b.2.2.1)前記指定したパイプ・オブジェクト
    が第2の前記DBAオブジェクトにリンクされていると
    きは、前記第2のDBAオブジェクトと前記第1のデー
    タ・ベースとの間におけるスキーマ照会メッセージの転
    送を終結させるステップと、 (b.2.2.2)前記第1の指定したパイプ・オブジ
    ェクトを前記第2のDBAオブジェクトから切り離すス
    テップとを含むことを特徴とする請求項4記載の方法。
  6. 【請求項6】前記第2の転送ステップ(c)は、 (c.1)構造化照会言語サーバ処理プロセスが既に存
    在していないときは、第1の構造化照会言語サーバ処理
    プロセスを発生して前記第1のデータ・ベースにおける
    複数の作業単位を実行するステップと、 (c.2)前記第1のDBAオブジェクトを前記第1の
    構造化照会言語サーバ処理プロセスへ接続するステップ
    とを備えたことを特徴とする請求項4に記載の方法。
  7. 【請求項7】前記接続ステップ(c.2)は、 (c.2.1)パイプ・オブジェクトが既に存在してい
    ないときは、第2の指定したパイプ・オブジェクトを構
    築して前記第1の構造化照会言語サーバ処理プロセスへ
    及び前記第1の構造化照会言語サーバ処理プロセスから
    メッセージを転送させるステップと、 (c.2.2)前記第2の指定したパイプ・オブジェク
    トを前記第1のDBAオブジェクトにリンクさせるステ
    ップとを含むことを特徴とする請求項6記載の方法。
  8. 【請求項8】前記DBAオブジェクトは複数の排他的D
    BAオブジェクト、及び関連する複数のDBAオブジェ
    クトを含み、 前記第2の論理経路は、前記各関連するDBAオブジェ
    クトからの構造化照会言語の作業単位メッセージに応答
    して前記第2の指定したパイプ・オブジェクトを各前記
    関連するDBAオブジェクトへ論理的にリンクさせるこ
    とにより、複数の前記関連するDBAオブジェクトの間
    で共有されることを特徴とする請求項7に記載の方法。
  9. 【請求項9】前記リンクさせるステップ(c.2.2)
    は、 (c.2.2.1)前記第1の指定したパイプ・オブジ
    ェクトが第2の前記DBAオブジェクトにリンクされて
    いるときは、前記第2のDBAオブジェクトと前記第1
    のデータ・ベースとの間で作業単位の実行メッセージの
    転送を終結させるステップと、 (c.2.2.2)前記第2のDBAオブジェクトから
    前記第1の指定したパイプオブジェクトを切り離すステ
    ップとを含むことを特徴とする請求項7記載の方法。
  10. 【請求項10】前記データ・ベース処理システムは、複
    数の前記第1及び第2の論理経路を介して複数の前記デ
    ータ・ベースに接続された複数の前記DBAオブジェク
    トを含み、 少なくとも一つの前記第2の論理経路は、複数の前記D
    BAオブジェクトの間で共有されることを特徴とする請
    求項1に記載の方法。
  11. 【請求項11】複数のオブジェクト及び複数のデータ・
    ベースを有するオブジェクト指向データ・ベース処理シ
    ステムであって、前記オブジェクトはデータ・ベース・
    アクセス要求を出してスキーマ照会及び構造化照会言語
    の作業単位の実行を処理する複数のユーザ・アプリケー
    ションを含む前記データ処理システムにおいて、 前記データ及び複数のオブジェクトを記憶するデータ記
    憶手段と、 それぞれ一つの前記ユーザ・アプリケーションから一つ
    の前記データ・ベースに対する前記データ・ベース・ア
    クセス要求を受け取り、かつ第1の論理経路を介してス
    キーマ検索メッセージを前記一つのデータ・ベースと交
    換するメソッドと、第2の論理経路を介して構造化照会
    言語の作業単位の実行メッセージを前記一つのデータ・
    ベースと交換するメソッドとを有する前記データ記憶手
    段における複数のデータ・ベース・アクセス(DBA)
    オブジェクトと、 それぞれ一つの前記データ・ベースにリンクされ、前記
    DBAオブジェクトと交換したメッセージに応答して前
    記スキーマ検索を処理する、前記データ記憶手段におけ
    る複数のカタログ・サーバ処理プロセスと、 それぞれ一つの前記データ・ベースにリンクされ、前記
    DBAオブジェクトと交換したメッセージに応答して前
    記構造化照会言語実行要求を処理する、前記データ記憶
    手段における複数の構造化照会言語サーバ処理プロセス
    と、 前記データ・ベースの少なくとも1つは2つ以上の前記
    DBAオブジェクトにより共有される1つの前記カタロ
    グ・サーバ処理プロセスにリンクされることと、 前記カタログ・サーバ処理プロセスを、前記DBAオブ
    ジェクトに選択・リンクさせて前記第1の論理経路を形
    成させ、かつ前記構造化照会言語サーバ処理プロセスを
    前記DBAオブジェクトに選択・リンクさせて前記第2
    の論理経路を形成させる、前記データ記憶手段における
    接続マネジャー手段とを含むことを特徴とするデータ処
    理システム。
  12. 【請求項12】前記DBAオブジェクトは、 関連する他の前記DBAオブジェクトと共有される一つ
    の前記第2の論理経路を介して、それぞれ前記構造化照
    会言語の作業単位の実行要求メッセージを一つの前記構
    造化照会言語サーバ処理プロセスと交換するメソッドを
    各々が有する複数の関連するDBAオブジェクトと、 他の前記DBAオブジェクトに利用不可能な排他的な前
    記第2の論理経路を介して、それぞれ前記構造化照会言
    語の作業単位の実行要求メッセージを一つの前記構造化
    照会言語サーバ処理プロセスと交換するメソッドを各々
    が有する複数の排他的なDBAオブジェクトとを含むこ
    とを特徴とする請求項11に記載のデータ処理システ
    ム。
  13. 【請求項13】前記構造化照会言語サーバ処理プロセス
    は、 それぞれ前記排他的DBAオブジェクトの1つのみにリ
    ンクされた1以上の排他的構造化照会言語サーバ処理プ
    ロセスと、 複数の前記関連するDBAオブジェクトのうちの任意の
    ものにリンクするためにそれぞれ利用可能な1以上の共
    有された構造化照会言語サーバ処理プロセスとを含むこ
    とを特徴とする請求項11に記載のデータ処理システ
    ム。
  14. 【請求項14】前記接続マネジャー手段は、 一つの前記排他的構造化照会言語サーバ処理プロセスを
    一つの前記排他的DBAオブジェクトへリンクさせて一
    つの前記排他的第2の論理経路を形成させる排他的リン
    ク手段と、 一つの前記共有構造化照会言語サーバ処理プロセスを一
    つの前記関連するDBAオブジェクトへリンクさせて一
    つの前記第2の論理経路を形成させる共有リンク手段
    と、 前記共有構造化照会言語サーバ処理プロセスを、第1の
    前記関連するDBAオブジェクトから切り離し、かつ前
    記一つの共有構造化照会言語サーバ処理プロセスを第2
    の前記関連するDBAオブジェクトへ再リンクさせるス
    イッチング手段とを含むことを特徴とする請求項11に
    記載のデータ処理システム。
  15. 【請求項15】前記スイッチング手段は、 各前記構造化照会言語サーバ処理プロセスにより共有さ
    れる前記DBAオブジェクトの数を指定する、前記デー
    タ記憶手段におけるデータ・ベース接続テーブル手段を
    含むことを特徴とする請求項14記載のデータ処理シス
    テム。
JP7059533A 1994-05-16 1995-03-17 共有した接続処理を介して多重ユーザ・アプリケーションにより並列データ・ベース・アクセスをするシステム及び方法 Expired - Fee Related JP2996892B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/242,939 US5596745A (en) 1994-05-16 1994-05-16 System and procedure for concurrent database access by multiple user applications through shared connection processes
US242939 1994-05-16

Publications (2)

Publication Number Publication Date
JPH0830644A JPH0830644A (ja) 1996-02-02
JP2996892B2 true JP2996892B2 (ja) 2000-01-11

Family

ID=22916715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7059533A Expired - Fee Related JP2996892B2 (ja) 1994-05-16 1995-03-17 共有した接続処理を介して多重ユーザ・アプリケーションにより並列データ・ベース・アクセスをするシステム及び方法

Country Status (4)

Country Link
US (1) US5596745A (ja)
EP (1) EP0684569B1 (ja)
JP (1) JP2996892B2 (ja)
DE (1) DE69521839T2 (ja)

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5569745A (en) * 1994-02-25 1996-10-29 Resolution Pharmaceuticals Inc. Peptide-Chelator conjugates
US5907675A (en) * 1995-03-22 1999-05-25 Sun Microsystems, Inc. Methods and apparatus for managing deactivation and shutdown of a server
US5826269A (en) * 1995-06-21 1998-10-20 Microsoft Corporation Electronic mail interface for a network server
JPH0962558A (ja) * 1995-08-29 1997-03-07 Fuji Xerox Co Ltd データベース管理システム及び方法
US5713018A (en) * 1995-09-27 1998-01-27 Sun Microsystems, Inc. System and method for providing safe SQL-level access to a database
US6950991B2 (en) * 1995-11-13 2005-09-27 Citrix Systems, Inc. Interacting with software applications displayed in a web page
US6088515A (en) 1995-11-13 2000-07-11 Citrix Systems Inc Method and apparatus for making a hypermedium interactive
US6370552B1 (en) 1997-05-14 2002-04-09 Citrix Systems, Inc. Apparatus and method for displaying application output in an HTML document
US7555529B2 (en) * 1995-11-13 2009-06-30 Citrix Systems, Inc. Interacting with software applications displayed in a web page
US6101497A (en) * 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
US5787437A (en) * 1996-10-29 1998-07-28 Hewlett-Packard Company Method and apparatus for shared management information via a common repository
GB9623472D0 (en) * 1996-11-12 1997-01-08 Int Computers Ltd Data transfer mechanism
US5835908A (en) * 1996-11-19 1998-11-10 Microsoft Corporation Processing multiple database transactions in the same process to reduce process overhead and redundant retrieval from database servers
US5890158A (en) * 1997-03-31 1999-03-30 International Business Machines Corporation Method, apparatus, and program storage device for sharing objects with a network server and a database server using a common object model
US6157944A (en) * 1997-05-14 2000-12-05 Citrix Systems, Inc. System and method for replicating a client/server data exchange to additional client notes connecting to the server
US5941949A (en) 1997-05-14 1999-08-24 Citrix Systems, Inc. System and method for transmitting data from a server application to more than one client node
US6243751B1 (en) * 1997-06-11 2001-06-05 Oracle Corporation Method and apparatus for coupling clients to servers
US6088728A (en) * 1997-06-11 2000-07-11 Oracle Corporation System using session data stored in session data storage for associating and disassociating user identifiers for switching client sessions in a server
US6058388A (en) * 1997-06-16 2000-05-02 Compaq Computer Corporation Implementation of escrow-locking scalar quantities via process-pair resource managers
US6128615A (en) * 1997-06-17 2000-10-03 Compaq Computer Corporation Process-pair resource manager implementation of object bags
US6418466B1 (en) 1997-07-10 2002-07-09 International Business Machines Corporation Management of authentication discovery policy in a computer network
US7028899B2 (en) 1999-06-07 2006-04-18 Metrologic Instruments, Inc. Method of speckle-noise pattern reduction and apparatus therefore based on reducing the temporal-coherence of the planar laser illumination beam before it illuminates the target object by applying temporal phase modulation techniques during the transmission of the plib towards the target
US6618718B1 (en) 1997-10-14 2003-09-09 International Business Machines Corporation Apparatus and method for dynamically generating query explain data
US6243703B1 (en) 1997-10-14 2001-06-05 International Business Machines Corporation Method of accessing and displaying subsystem parameters including graphical plan table data
US6092063A (en) * 1997-11-25 2000-07-18 International Business Machines Corporation Multi-level live connection for fast dynamic access to business databases through a network
KR100269339B1 (ko) * 1997-12-24 2000-10-16 서평원 이동통신시스템에서홈위치등록기관리시스템및이를이용한데이터베이스관리방법
US6131094A (en) * 1998-04-24 2000-10-10 Unisys Corp. Method for performing asynchronous writes to database logs using multiple insertion points
JP3175692B2 (ja) * 1998-04-28 2001-06-11 日本電気株式会社 コンピュータと携帯端末間のデータ連携システム及びそのデータ連携方法
US7096358B2 (en) * 1998-05-07 2006-08-22 Maz Technologies, Inc. Encrypting file system
US6782392B1 (en) 1998-05-26 2004-08-24 Rockwell Collins, Inc. System software architecture for a passenger entertainment system, method and article of manufacture
US7028304B1 (en) 1998-05-26 2006-04-11 Rockwell Collins Virtual line replaceable unit for a passenger entertainment system, method and article of manufacture
US6938258B1 (en) 1998-05-26 2005-08-30 Rockwell Collins Message processor for a passenger entertainment system, method and article of manufacture
US9239763B2 (en) 2012-09-28 2016-01-19 Oracle International Corporation Container database
US6442568B1 (en) 1998-12-11 2002-08-27 Compaq Computer Corporation Customer information control system application programming interface with transient data functions, in a loosely coupled data processing environment
US6928469B1 (en) * 1998-12-29 2005-08-09 Citrix Systems, Inc. Apparatus and method for determining a program neighborhood for a client node in a client-server network using markup language techniques
US6292800B1 (en) 1999-01-29 2001-09-18 America Online Database system
US6209002B1 (en) 1999-02-17 2001-03-27 Emc Corporation Method and apparatus for cascading data through redundant data storage units
US6314430B1 (en) * 1999-02-23 2001-11-06 International Business Machines Corporation System and method for accessing a database from a task written in an object-oriented programming language
US6434543B1 (en) * 1999-11-01 2002-08-13 Sun Microsystems, Inc. System and method for reliable caching of database connections in a distributed application
US6401178B1 (en) * 1999-12-23 2002-06-04 Emc Corporatiion Data processing method and apparatus for enabling independent access to replicated data
US6766361B1 (en) 2000-02-24 2004-07-20 Cephire Technologies, Inc. Machine-to-machine e-commerce interface using extensible markup language
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
US6922724B1 (en) 2000-05-08 2005-07-26 Citrix Systems, Inc. Method and apparatus for managing server load
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
US20020124083A1 (en) * 2000-09-06 2002-09-05 Sun Microsystems, Inc. Method and apparatus for increasing the efficiency of transactions and connection sharing in an enterprise environment
GB2409551B (en) * 2000-09-06 2005-08-10 Sun Microsystems Inc Method and apparatus for increasing the efficiency of transactions and connection sharing in an enterprise environment
US6816869B2 (en) 2000-11-17 2004-11-09 Microsoft Corporation Mapping database users to operating system users in a computer schema
US6810400B2 (en) * 2000-11-17 2004-10-26 Microsoft Corporation Representing database permissions as associations in computer schema
US6961730B2 (en) * 2000-11-17 2005-11-01 Microsoft Corporation Mapping database file class to operating system file class in a computer schema
US20030105732A1 (en) * 2000-11-17 2003-06-05 Kagalwala Raxit A. Database schema for structure query language (SQL) server
US6928487B2 (en) * 2000-12-23 2005-08-09 International Business Machines Corporation Computer system, method, and business method for automating business-to-business communications
DE10113577A1 (de) * 2001-03-20 2003-01-09 Sap Ag Verfahren, Computerprogrammprodukt und Computersystem zur Unterstützung mehrerer Anwendungssysteme mittels eines einzelnen Datenbank-Systems
US6801919B2 (en) * 2001-07-27 2004-10-05 Hewlett-Packard Development Company, L.P. Object oriented database interface encapsulation that allows for chronologically overlapping transactions in a multi-threaded environment
US7117225B2 (en) 2001-08-13 2006-10-03 Jasmin Cosic Universal data management interface
US7287258B1 (en) * 2001-08-31 2007-10-23 International Business Machines Corporation Thread consistency support system and method
US7203700B1 (en) * 2001-08-31 2007-04-10 Oracle International Corporation Online instance addition and deletion in a multi-instance computer system
US7251693B2 (en) * 2001-10-12 2007-07-31 Direct Computer Resources, Inc. System and method for data quality management and control of heterogeneous data sources
US20050015383A1 (en) * 2003-07-15 2005-01-20 Microsoft Corporation Method and system for accessing database objects in polyarchical relationships using data path expressions
US7617531B1 (en) 2004-02-18 2009-11-10 Citrix Systems, Inc. Inferencing data types of message components
US7502824B2 (en) * 2004-08-12 2009-03-10 Oracle International Corporation Database shutdown with session migration
US7415470B2 (en) * 2004-08-12 2008-08-19 Oracle International Corporation Capturing and re-creating the state of a queue when migrating a session
US20060069662A1 (en) * 2004-09-30 2006-03-30 Citrix Systems, Inc. Method and apparatus for remapping accesses to virtual system resources
US7711835B2 (en) * 2004-09-30 2010-05-04 Citrix Systems, Inc. Method and apparatus for reducing disclosure of proprietary data in a networked environment
US7748032B2 (en) * 2004-09-30 2010-06-29 Citrix Systems, Inc. Method and apparatus for associating tickets in a ticket hierarchy
US8171479B2 (en) * 2004-09-30 2012-05-01 Citrix Systems, Inc. Method and apparatus for providing an aggregate view of enumerated system resources from various isolation layers
US8613048B2 (en) 2004-09-30 2013-12-17 Citrix Systems, Inc. Method and apparatus for providing authorized remote access to application sessions
US7680758B2 (en) * 2004-09-30 2010-03-16 Citrix Systems, Inc. Method and apparatus for isolating execution of software applications
US8095940B2 (en) * 2005-09-19 2012-01-10 Citrix Systems, Inc. Method and system for locating and accessing resources
DE102004062116B3 (de) * 2004-12-23 2006-05-11 Ab Skf Lageranordnung für einen Computertomographen
US8024568B2 (en) 2005-01-28 2011-09-20 Citrix Systems, Inc. Method and system for verification of an endpoint security scan
US9176772B2 (en) * 2005-02-11 2015-11-03 Oracle International Corporation Suspending and resuming of sessions
US8131825B2 (en) * 2005-10-07 2012-03-06 Citrix Systems, Inc. Method and a system for responding locally to requests for file metadata associated with files stored remotely
US7779034B2 (en) * 2005-10-07 2010-08-17 Citrix Systems, Inc. Method and system for accessing a remote file in a directory structure associated with an application program executing locally
US20070083610A1 (en) * 2005-10-07 2007-04-12 Treder Terry N Method and a system for accessing a plurality of files comprising an application program
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US7565341B2 (en) * 2006-05-10 2009-07-21 Intuit Inc. Automatically configuring a server to support different types of file accesses
US8738703B2 (en) 2006-10-17 2014-05-27 Citrix Systems, Inc. Systems and methods for providing online collaborative support
US8533846B2 (en) * 2006-11-08 2013-09-10 Citrix Systems, Inc. Method and system for dynamically associating access rights with a resource
US8171483B2 (en) 2007-10-20 2012-05-01 Citrix Systems, Inc. Method and system for communicating between isolation environments
US8090797B2 (en) * 2009-05-02 2012-01-03 Citrix Systems, Inc. Methods and systems for launching applications into existing isolation environments
US8549038B2 (en) * 2009-06-15 2013-10-01 Oracle International Corporation Pluggable session context
US20120265846A1 (en) * 2011-04-15 2012-10-18 Springboard Non Profit Consumer Credit Management System and method of coordinating a debt-relief program
US9098549B2 (en) * 2011-08-17 2015-08-04 Sap Se Method for bundled preparation and execution of multiple database statements
EP3058476A4 (en) * 2013-10-16 2017-06-14 Hewlett-Packard Enterprise Development LP Regulating enterprise database warehouse resource usage
US10289617B2 (en) 2015-12-17 2019-05-14 Oracle International Corporation Accessing on-premise and off-premise datastores that are organized using different application schemas
US10387387B2 (en) 2015-12-17 2019-08-20 Oracle International Corporation Enabling multi-tenant access to respective isolated data sets organized using different application schemas
US10303894B2 (en) 2016-08-31 2019-05-28 Oracle International Corporation Fine-grained access control for data manipulation language (DML) operations on relational data
US11971863B2 (en) 2020-11-23 2024-04-30 Oracle International Corporation Techniques for using an in-memory only file system as an interface for managing computer systems and user space file systems

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4480304A (en) * 1980-10-06 1984-10-30 International Business Machines Corporation Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment
AU607795B2 (en) * 1987-08-21 1991-03-14 Eastman Kodak Company Data integration by object management
JP2969627B2 (ja) * 1988-08-24 1999-11-02 株式会社日立製作所 分散型データベースシステムの管理方法
US5265245A (en) * 1989-04-17 1993-11-23 International Business Machines Corporation High concurrency in use manager
JP2522414B2 (ja) * 1989-10-19 1996-08-07 日本電気株式会社 サ―バ・クライアント間接続方式
US5293600A (en) * 1990-04-06 1994-03-08 International Business Machines Corporation Counter and flux bit locking for very fast shared serialization of shared data objects
US5297279A (en) * 1990-05-30 1994-03-22 Texas Instruments Incorporated System and method for database management supporting object-oriented programming
US5426747A (en) * 1991-03-22 1995-06-20 Object Design, Inc. Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system
US5317742A (en) * 1991-06-21 1994-05-31 Racal-Datacom, Inc. Dynamic translation of network management primitives to queries to a database
US5504885A (en) * 1993-06-29 1996-04-02 Texas Instruments Incorporated O-R gateway: a system for connecting object-oriented application programs and relational databases

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
久保田,植村「分散型データベースシステムにおけるシステムカタログ管理の一方法」電子情報通信学会技術研究報告(DE89−48)Vol.89,No.466,1990(平2−3−22)
岩井,外4名「分散RDB管理システムに於ける辞書管理方式」情報処理学会第42回(平成3年前期)全国大会講演論文集(4)p.109−110(平3−3−12)
森本,外3名「関係データベースを利用したオブジェクトサーバのデータ管理」情報処理学会研究報告(93−DBS−93−11,93−OS−59−11),Vol.93,No.45,1993(平5−5−27),p.93−102
野口監,疋田著「COMシリーズ図解 分散型データベースシステム入門」オーム社(平1−5−25),p.36−38,70−79

Also Published As

Publication number Publication date
DE69521839D1 (de) 2001-08-30
DE69521839T2 (de) 2002-04-04
JPH0830644A (ja) 1996-02-02
EP0684569A1 (en) 1995-11-29
EP0684569B1 (en) 2001-07-25
US5596745A (en) 1997-01-21

Similar Documents

Publication Publication Date Title
JP2996892B2 (ja) 共有した接続処理を介して多重ユーザ・アプリケーションにより並列データ・ベース・アクセスをするシステム及び方法
US6738971B2 (en) Using a resource manager to coordinate the comitting of a distributed transaction
US5701461A (en) Method and system for accessing a remote database using pass-through queries
US6076092A (en) System and process for providing improved database interfacing using query objects
US6609126B1 (en) System and method for routing database requests to a database and a cache
US7412451B2 (en) Method for persisting a schedule and database schema
US6741982B2 (en) System and method for retrieving data from a database system
US7587400B2 (en) Suspending a result set and continuing from a suspended result set for transparent session migration
US20170220271A1 (en) Thread groups for pluggable database connection consolidation in numa environment
US20130297565A1 (en) Database Management System
JP2001051879A (ja) 非関係データベースへの改良されたアクセスのための方法およびシステム
US5968134A (en) Distributed pipes and fifos in a multiprocessor
US6301581B1 (en) Method and system for managing access to a plurality of data objects
US6571252B1 (en) System and method for managing persistent objects using a database system
US5682507A (en) Plurality of servers having identical customer information control procedure functions using temporary storage file of a predetermined server for centrally storing temporary data records
US7076490B2 (en) Object-relational database management system and method for deleting class instance for the same
US5790868A (en) Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment
US7257605B2 (en) System for heterogeneous distributed transaction management in database systems
KR100331099B1 (ko) 다중 데이터베이스 통합을 위한 미들웨어 시스템과 그를 이용한 분산 이기종 지역 데이터베이스 통합 접근방법
US6725213B1 (en) Method and mechanism for providing external procedures to a database system
US20040030707A1 (en) Partial evaluation of rule sets
US7536407B2 (en) Managing entity-relationship data for data objects persisted in a relational database
US20230244652A1 (en) Transactional query processing in external tables
Cheriton Distributed 1/0 using an Object-based Protocol
JP3143919B2 (ja) 通信パラメータ管理方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees