JPH1069410A - アプリケーション・プログラムのためのマルチプル・データベース・アクセス・サーバ - Google Patents
アプリケーション・プログラムのためのマルチプル・データベース・アクセス・サーバInfo
- Publication number
- JPH1069410A JPH1069410A JP9132157A JP13215797A JPH1069410A JP H1069410 A JPH1069410 A JP H1069410A JP 9132157 A JP9132157 A JP 9132157A JP 13215797 A JP13215797 A JP 13215797A JP H1069410 A JPH1069410 A JP H1069410A
- Authority
- JP
- Japan
- Prior art keywords
- bucket
- database
- data
- map
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/289—Object oriented databases
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/955—Object-oriented
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】 同一システム上で動作するアプリケーション
・プログラムとデータベース・プログラムとの相互関係
を作業しやすくすること。 【解決手段】 アプリケーション・プログラム(12)
とデータベース(20A−n)との間に配置されるバケ
ット・メカニズム(28)は、アプリケーション・イン
ターフェース(30)と、バケット・オブジェクトを含
むバケットを生成するバケット・エンジン(32)から
構成される。各バケットは、データベースのメンバと、
バケット・データ・オブジェクトをデータベースにマッ
ピングするデータベース・オブジェクトと、データベー
スにそのネイティブ・モードでアクセスする方法を含む
アクセス・オブジェクトとを含む1又は複数のバケット
・データ・オブジェクトを含む。
・プログラムとデータベース・プログラムとの相互関係
を作業しやすくすること。 【解決手段】 アプリケーション・プログラム(12)
とデータベース(20A−n)との間に配置されるバケ
ット・メカニズム(28)は、アプリケーション・イン
ターフェース(30)と、バケット・オブジェクトを含
むバケットを生成するバケット・エンジン(32)から
構成される。各バケットは、データベースのメンバと、
バケット・データ・オブジェクトをデータベースにマッ
ピングするデータベース・オブジェクトと、データベー
スにそのネイティブ・モードでアクセスする方法を含む
アクセス・オブジェクトとを含む1又は複数のバケット
・データ・オブジェクトを含む。
Description
【0001】
【発明の属する技術分野】本発明は、データベース・ア
クセスのための装置及び方法に関し、更に詳しくは、複
数のアプリケーション・プログラムにデータベース・ア
クセス・サービスを提供する装置及び方法に関する。
クセスのための装置及び方法に関し、更に詳しくは、複
数のアプリケーション・プログラムにデータベース・ア
クセス・サービスを提供する装置及び方法に関する。
【0002】
【従来の技術】コンピュータ・システム及びアプリケー
ション・プログラムにおける近年の発展の主な特徴は、
アプリケーション・プログラムの間の相互動作可能性
(インターオペラビリティ)の程度が増大しているこ
と、特に、アプリケーション・プログラムが相互に通信
しデータを共有することのできる程度が増大しているこ
とである。現在では、或るアプリケーション・プログラ
ムが、他の多数のプログラムとの間で通信を行いデータ
を交換して、更には、関数動作をコールすることが期待
されており、そのような相互動作可能性を提供するアプ
リケーション・プログラムが、多く開発されている。例
えば、最も古いアプローチとして、Lotus1−2−
3のようなアプリケーション・プログラムの開発があ
り、このアプリケーション・プログラムは、ワード・プ
ロセシング、スプレッドシート、データベース及び通信
などの機能を備えた広がりを有するアレーから成ってい
る。その次に現れたアプローチとしては、マイクロソフ
ト・ウィンドウズなどのオペレーティング・システムの
開発があり、このオペレーティング・システムは、統合
された動作環境を与え、そこでは、その動作環境に適合
するアプリケーション・プログラムは、相互に、データ
を交換し統合することができる。
ション・プログラムにおける近年の発展の主な特徴は、
アプリケーション・プログラムの間の相互動作可能性
(インターオペラビリティ)の程度が増大しているこ
と、特に、アプリケーション・プログラムが相互に通信
しデータを共有することのできる程度が増大しているこ
とである。現在では、或るアプリケーション・プログラ
ムが、他の多数のプログラムとの間で通信を行いデータ
を交換して、更には、関数動作をコールすることが期待
されており、そのような相互動作可能性を提供するアプ
リケーション・プログラムが、多く開発されている。例
えば、最も古いアプローチとして、Lotus1−2−
3のようなアプリケーション・プログラムの開発があ
り、このアプリケーション・プログラムは、ワード・プ
ロセシング、スプレッドシート、データベース及び通信
などの機能を備えた広がりを有するアレーから成ってい
る。その次に現れたアプローチとしては、マイクロソフ
ト・ウィンドウズなどのオペレーティング・システムの
開発があり、このオペレーティング・システムは、統合
された動作環境を与え、そこでは、その動作環境に適合
するアプリケーション・プログラムは、相互に、データ
を交換し統合することができる。
【0003】
【発明が解決しようとする課題】しかし、アプリケーシ
ョン・プログラムの間での統合を達成する際に生じる問
題は、経済的な又は企業間の競争上の理由などの多くの
異なる実際的な原因によって、プログラムを直接的に共
に動作させることは困難であるか又は不可能であること
が多いことである。動作環境の統合によって問題が解決
することもあるが、必ずしもすべての設計者がその動作
環境に従うことを選択するわけではないので、依然とし
て問題が残る。しかし、アプリケーション・プログラム
が統合された動作環境に完全に適合する場合であって
も、満足のいく結果が得られるとは限らない。その理由
は、アプリケーション・プログラムの間での統合の程度
及びタイプは、オペレーティング・システムによって規
定されるが、オペレーティング・システムは、特定の場
合に必要となる統合機能を提供せず、単に、克服すべき
付加的なインターフェース及び不一致を間に配置するだ
けである可能性があるからである。更に、統合された動
作環境が与える統合の程度とタイプとは、その動作環境
によって規定されるが、動作環境は、広範囲のアプリケ
ーション・プログラムによって使用可能な一般化された
統合条件を提供するように設計されているだけである。
このように、統合された動作環境のデータ統合機能は、
特定のアプリケーション・プログラム又はユーザのニー
ズを満足させられずに、動作環境がユーザ又はアプリケ
ーション・プログラムに適合するのではなく、ユーザ又
はアプリケーション・プログラムが、統合された動作環
境に適合することを強いられることが多い。
ョン・プログラムの間での統合を達成する際に生じる問
題は、経済的な又は企業間の競争上の理由などの多くの
異なる実際的な原因によって、プログラムを直接的に共
に動作させることは困難であるか又は不可能であること
が多いことである。動作環境の統合によって問題が解決
することもあるが、必ずしもすべての設計者がその動作
環境に従うことを選択するわけではないので、依然とし
て問題が残る。しかし、アプリケーション・プログラム
が統合された動作環境に完全に適合する場合であって
も、満足のいく結果が得られるとは限らない。その理由
は、アプリケーション・プログラムの間での統合の程度
及びタイプは、オペレーティング・システムによって規
定されるが、オペレーティング・システムは、特定の場
合に必要となる統合機能を提供せず、単に、克服すべき
付加的なインターフェース及び不一致を間に配置するだ
けである可能性があるからである。更に、統合された動
作環境が与える統合の程度とタイプとは、その動作環境
によって規定されるが、動作環境は、広範囲のアプリケ
ーション・プログラムによって使用可能な一般化された
統合条件を提供するように設計されているだけである。
このように、統合された動作環境のデータ統合機能は、
特定のアプリケーション・プログラム又はユーザのニー
ズを満足させられずに、動作環境がユーザ又はアプリケ
ーション・プログラムに適合するのではなく、ユーザ又
はアプリケーション・プログラムが、統合された動作環
境に適合することを強いられることが多い。
【0004】或るシステムで動いているアプリケーショ
ン・プログラムの多くが作業を行うデータを複数のタイ
プの1つ又は複数の一般的なデータベースから得ること
は、多くのシステムにおいて一般的な特徴であるが、ア
プリケーション・プログラムとデータベースとの間のイ
ンターフェースに関して、この問題は、特に深刻であ
る。従来技術において、アプリケーション・プログラム
によるデータベースへのアクセスに関する問題について
多くのアプローチが採用されてきたが、満足できる結果
は得られてきていない。例えば、多くのアプローチで
は、相互に協調的に動作するように設計されたアプリケ
ーション・プログラムとデータベースとに依存している
が、アプリケーション・プログラムとデータベースと
は、異なる時期に異なる開発者によって設計され、統合
された動作環境によって提供される機能に依存している
ために協調的な動作は多くの場合に困難であり、上述の
制限や問題が、依然として残る。
ン・プログラムの多くが作業を行うデータを複数のタイ
プの1つ又は複数の一般的なデータベースから得ること
は、多くのシステムにおいて一般的な特徴であるが、ア
プリケーション・プログラムとデータベースとの間のイ
ンターフェースに関して、この問題は、特に深刻であ
る。従来技術において、アプリケーション・プログラム
によるデータベースへのアクセスに関する問題について
多くのアプローチが採用されてきたが、満足できる結果
は得られてきていない。例えば、多くのアプローチで
は、相互に協調的に動作するように設計されたアプリケ
ーション・プログラムとデータベースとに依存している
が、アプリケーション・プログラムとデータベースと
は、異なる時期に異なる開発者によって設計され、統合
された動作環境によって提供される機能に依存している
ために協調的な動作は多くの場合に困難であり、上述の
制限や問題が、依然として残る。
【0005】従来技術における問題に対する更に別の解
決策として、アプリケーション・プログラムとデータベ
ース・プログラムとの間に翻訳(トランスレーション)
インターフェースを配置することが行われる。しかし、
このアプローチもやはり十分なものではなく、その理由
は、このアプローチでは、アプリケーション・プログラ
ム又はデータベース・プログラムのどちらかの修正が要
求され、従って、アプリケーション・プログラムかデー
タベース・プログラムかのどちらか一方が他方のデー
タ、コマンド・フォーマット及び機能の知識を有してい
ることが要求される。これらのアプローチは、翻訳イン
ターフェースは一般的に与えられたアプリケーション又
はデータベース・プログラム又はプログラムの組に特有
であり、別のアプリケーション・プログラムやデータベ
ース・プログラムに適合させるのは困難であることが多
いという点で、更に問題を有する。
決策として、アプリケーション・プログラムとデータベ
ース・プログラムとの間に翻訳(トランスレーション)
インターフェースを配置することが行われる。しかし、
このアプローチもやはり十分なものではなく、その理由
は、このアプローチでは、アプリケーション・プログラ
ム又はデータベース・プログラムのどちらかの修正が要
求され、従って、アプリケーション・プログラムかデー
タベース・プログラムかのどちらか一方が他方のデー
タ、コマンド・フォーマット及び機能の知識を有してい
ることが要求される。これらのアプローチは、翻訳イン
ターフェースは一般的に与えられたアプリケーション又
はデータベース・プログラム又はプログラムの組に特有
であり、別のアプリケーション・プログラムやデータベ
ース・プログラムに適合させるのは困難であることが多
いという点で、更に問題を有する。
【0006】従来技術に対する更に別のアプローチに
は、マイクロソフト社のビジュアル・ベーシック(Micr
osoft's Visual Basic)やボーランド社のデルファイ
(Borland's Delphi)プログラムなどのような、問題解
決的なインターフェースをデータベースに提供する「ラ
ピッド・アプリケーション開発」(RAD)ツールと称さ
れるものが含まれる。しかし、これらのアプローチも、
多くの場合に不十分である。その理由は、ユーザは、デ
ータベース処理の詳細な「バック・エンド」、すなわ
ち、SQLステートメントの実際の作成に気を使う必要
はないが、ユーザは、依然として、テーブル、テーブル
・コラム、テーブルの間の関係、及びテーブルのどのグ
ループが「データ・オブジェクト」を含むか、などのデ
ータベース設計に関する詳細な知識を有することを要求
される。
は、マイクロソフト社のビジュアル・ベーシック(Micr
osoft's Visual Basic)やボーランド社のデルファイ
(Borland's Delphi)プログラムなどのような、問題解
決的なインターフェースをデータベースに提供する「ラ
ピッド・アプリケーション開発」(RAD)ツールと称さ
れるものが含まれる。しかし、これらのアプローチも、
多くの場合に不十分である。その理由は、ユーザは、デ
ータベース処理の詳細な「バック・エンド」、すなわ
ち、SQLステートメントの実際の作成に気を使う必要
はないが、ユーザは、依然として、テーブル、テーブル
・コラム、テーブルの間の関係、及びテーブルのどのグ
ループが「データ・オブジェクト」を含むか、などのデ
ータベース設計に関する詳細な知識を有することを要求
される。
【0007】本発明は、従来技術におけるこれらの及び
それ以外の問題に対する解決策を提供する。
それ以外の問題に対する解決策を提供する。
【0008】
【課題を解決するための手段】本発明は、データに対し
て動作を実行するプロセッサと、アプリケーション・プ
ログラムとデータベースから抽出されたデータとを記憶
するメモリと、を含むコンピュータ・システム上で動く
アプリケーション・プログラムによるデータベース・デ
ータへのアクセスを提供する方法及び装置に関する。本
発明によると、データベース・バケット・メカニズム
が、1つ又は複数のアプリケーション・プログラムと1
つ又は複数のデータベースとの間に配置され、アプリケ
ーション・プログラムをデータベースから機能的に隔離
し、それによって、アプリケーション・プログラムとそ
のユーザとは、共に、データベースの内部構造やメカニ
ズムの知識を有する必要がなくなる。
て動作を実行するプロセッサと、アプリケーション・プ
ログラムとデータベースから抽出されたデータとを記憶
するメモリと、を含むコンピュータ・システム上で動く
アプリケーション・プログラムによるデータベース・デ
ータへのアクセスを提供する方法及び装置に関する。本
発明によると、データベース・バケット・メカニズム
が、1つ又は複数のアプリケーション・プログラムと1
つ又は複数のデータベースとの間に配置され、アプリケ
ーション・プログラムをデータベースから機能的に隔離
し、それによって、アプリケーション・プログラムとそ
のユーザとは、共に、データベースの内部構造やメカニ
ズムの知識を有する必要がなくなる。
【0009】このデータベース・バケット・メカニズム
は、アプリケーション・プログラムのそれぞれとネイテ
ィブ・モードで通信するアプリケーション・インターフ
ェースと、データベースとネイティブ・モードで通信す
る「バケット・オブジェクト」を含む「バケット」を生
成するバケット・エンジンと、から構成される。それぞ
れのバケットは、アプリケーション・プログラムによっ
て定義されるデータベースのデータ・メンバから成るグ
ループ又はクラスを表し、やはりアプリケーション・プ
ログラムによって定義される或るバケット・クラスに属
するデータ・メンバの部分集合を含むバケット・オブジ
ェクトを構成するのに必要な情報と、データベースの動
作を実行するのに必要な対応の方法又はプログラムとを
含む。
は、アプリケーション・プログラムのそれぞれとネイテ
ィブ・モードで通信するアプリケーション・インターフ
ェースと、データベースとネイティブ・モードで通信す
る「バケット・オブジェクト」を含む「バケット」を生
成するバケット・エンジンと、から構成される。それぞ
れのバケットは、アプリケーション・プログラムによっ
て定義されるデータベースのデータ・メンバから成るグ
ループ又はクラスを表し、やはりアプリケーション・プ
ログラムによって定義される或るバケット・クラスに属
するデータ・メンバの部分集合を含むバケット・オブジ
ェクトを構成するのに必要な情報と、データベースの動
作を実行するのに必要な対応の方法又はプログラムとを
含む。
【0010】個々のバケット及びバケット・オブジェク
トは、アプリケーション・プログラムのデータ構造と照
会とをデータベースのデータ構造と動作とに関連させる
オブジェクト・マップとテーブル・マップとに記憶され
た情報に従って、バケット・エンジンから構成される。
バケット・メカニズムは、従って、汎用のデータベース
・アクセス・メカニズムと、バケット・エンジンと、バ
ケット定義情報とオブジェクト・マップとマップ・テー
ブルとの分離可能なライブラリと、から構成され、バケ
ット・メカニズムを、アプリケーション・プログラムと
そのユーザとに対して透過的な態様で、特定のアプリケ
ーション・プログラム及びデータベースに適合させる。
トは、アプリケーション・プログラムのデータ構造と照
会とをデータベースのデータ構造と動作とに関連させる
オブジェクト・マップとテーブル・マップとに記憶され
た情報に従って、バケット・エンジンから構成される。
バケット・メカニズムは、従って、汎用のデータベース
・アクセス・メカニズムと、バケット・エンジンと、バ
ケット定義情報とオブジェクト・マップとマップ・テー
ブルとの分離可能なライブラリと、から構成され、バケ
ット・メカニズムを、アプリケーション・プログラムと
そのユーザとに対して透過的な態様で、特定のアプリケ
ーション・プログラム及びデータベースに適合させる。
【0011】従って、本発明は、コンピュータ上で動く
アプリケーション・プログラムとデータベースとの間に
接続されアプリケーション・プログラムによるデータベ
ースのデータへのアクセスを提供するバケット・メカニ
ズムと、バケット・メカニズムとその構成要素とのイン
ストール及び動作方法と、に関する。本発明によると、
バケット・メカニズムは、アプリケーション・プログラ
ムからデータベースへの間に接続され、アプリケーショ
ン・プログラムからのデータベース・リクエストに応答
して、対応するバケットを生成する。それぞれのバケッ
トは、アプリケーション・プログラムによって要求され
るデータベースのデータ・メンバのクラスに対応する。
それぞれのバケットは、データベースから検索されたデ
ータ・メンバを記憶するバケット・データ・オブジェク
トを含み、それぞれのバケット・データ・オブジェクト
は、データベースから検索されたデータ・メンバから成
る関連グループに対応し、データベース・リクエストと
データベース・アクセス・オブジェクトとに応答してデ
ータベース・アクセス方法を保持及び実行し、データベ
ース・リクエストに応答して要求されたデータ・メンバ
をデータベースから検索し、その要求されたデータ・メ
ンバを対応するバケット・データ・オブジェクトに記憶
する。本発明によると、バケット・エンジンは、データ
ベース・リクエストに応答して、対応するバケット・デ
ータ・オブジェクトに記憶された要求されたデータ・メ
ンバを、アプリケーション・プログラムに提供する。
アプリケーション・プログラムとデータベースとの間に
接続されアプリケーション・プログラムによるデータベ
ースのデータへのアクセスを提供するバケット・メカニ
ズムと、バケット・メカニズムとその構成要素とのイン
ストール及び動作方法と、に関する。本発明によると、
バケット・メカニズムは、アプリケーション・プログラ
ムからデータベースへの間に接続され、アプリケーショ
ン・プログラムからのデータベース・リクエストに応答
して、対応するバケットを生成する。それぞれのバケッ
トは、アプリケーション・プログラムによって要求され
るデータベースのデータ・メンバのクラスに対応する。
それぞれのバケットは、データベースから検索されたデ
ータ・メンバを記憶するバケット・データ・オブジェク
トを含み、それぞれのバケット・データ・オブジェクト
は、データベースから検索されたデータ・メンバから成
る関連グループに対応し、データベース・リクエストと
データベース・アクセス・オブジェクトとに応答してデ
ータベース・アクセス方法を保持及び実行し、データベ
ース・リクエストに応答して要求されたデータ・メンバ
をデータベースから検索し、その要求されたデータ・メ
ンバを対応するバケット・データ・オブジェクトに記憶
する。本発明によると、バケット・エンジンは、データ
ベース・リクエストに応答して、対応するバケット・デ
ータ・オブジェクトに記憶された要求されたデータ・メ
ンバを、アプリケーション・プログラムに提供する。
【0012】更に本発明によると、それぞれのバケット
は、更に、バケット・データ・オブジェクトとデータベ
ース・アクセス・オブジェクトとの間に接続されたデー
タベース・オブジェクトを含み、受け取られたデータベ
ース・リクエストを、データベース・アクセス・オブジ
ェクトのデータベース・アクセス方法にマッピングし、
データベース・アクセス・オブジェクトに、その受け取
ったデータベース・リクエストに対応するデータベース
・アクセス方法を指示する。
は、更に、バケット・データ・オブジェクトとデータベ
ース・アクセス・オブジェクトとの間に接続されたデー
タベース・オブジェクトを含み、受け取られたデータベ
ース・リクエストを、データベース・アクセス・オブジ
ェクトのデータベース・アクセス方法にマッピングし、
データベース・アクセス・オブジェクトに、その受け取
ったデータベース・リクエストに対応するデータベース
・アクセス方法を指示する。
【0013】バケット・メカニズムは、アプリケーショ
ン・プログラムとバケット・エンジンとの間に接続され
アプリケーション・プログラムとそのネイティブ・モー
ドで通信するアプリケーション・インターフェースを含
み、アプリケーション・プログラムからデータベース照
会(query、問い合わせ)を受け取り、対応するデータ
ベース・アクセス・リクエストをバケット・エンジンに
生成する。
ン・プログラムとバケット・エンジンとの間に接続され
アプリケーション・プログラムとそのネイティブ・モー
ドで通信するアプリケーション・インターフェースを含
み、アプリケーション・プログラムからデータベース照
会(query、問い合わせ)を受け取り、対応するデータ
ベース・アクセス・リクエストをバケット・エンジンに
生成する。
【0014】本発明の更に別の特徴においては、バケッ
ト・エンジンは、また、対応するアプリケーション・プ
ログラムからのデータベース・リクエストに応答してバ
ケット・エンジン動作を実行するが、これには、バケッ
ト・エンジン・データベース動作の初期化が含まれ、対
応するアプリケーション・プログラムによって生成され
たそれぞれのデータベース・リクエストに対応する。
ト・エンジンは、また、対応するアプリケーション・プ
ログラムからのデータベース・リクエストに応答してバ
ケット・エンジン動作を実行するが、これには、バケッ
ト・エンジン・データベース動作の初期化が含まれ、対
応するアプリケーション・プログラムによって生成され
たそれぞれのデータベース・リクエストに対応する。
【0015】本発明の更に別の特徴によれば、バケット
・メカニズムは、バケットとバケット・データ・オブジ
ェクトとを構成する際にバケット・エンジンによって使
用される情報を記憶するオブジェクト・マップとテーブ
ル・マップとを含む。本発明によると、テーブル・マッ
プは、データベース・テーブルのための及びそれに対応
するテーブルを含み、それぞれのテーブルには、対応す
るデータベース・テーブルのID(アイデンティフィケ
ーション、識別、同定)と、バケット・データ・オブジ
ェクトに現れる対応するデータベース・テーブルのそれ
ぞれのメンバのためのメンバ・マップと、が含まれる。
それぞれのメンバ・マップは、メンバのIDと、そのメ
ンバを含むデータベース・コラムのIDと、そのメンバ
のデータ・タイプのIDとを含む。オブジェクト・マッ
プは、それぞれのバケット・データ・オブジェクトのた
めの及びそれに対応するオブジェクト・マップ・オブジ
ェクトを含み、それぞれのオブジェクト・マップは、テ
ーブル・マップとオブジェクト・メンバ・マップとに現
れるそれぞれのテーブルのための及びそれに対応するテ
ーブル命令(インストラクション)のテーブル・リスト
を含む。本発明によると、テーブル・マップにおける対
応するテーブルを識別するテーブル・ネームと、テーブ
ルがメンバシップに挿入される又はそこから削除される
順序を定義する挿入順序と、メンバ・テーブルがどのよ
うに結合されるかを定義する結合条件と、を含む。オブ
ジェクト・メンバ・マップは、バケット・データ・オブ
ジェクトのすべてのデータベース・メンバの連結された
リストを含む。
・メカニズムは、バケットとバケット・データ・オブジ
ェクトとを構成する際にバケット・エンジンによって使
用される情報を記憶するオブジェクト・マップとテーブ
ル・マップとを含む。本発明によると、テーブル・マッ
プは、データベース・テーブルのための及びそれに対応
するテーブルを含み、それぞれのテーブルには、対応す
るデータベース・テーブルのID(アイデンティフィケ
ーション、識別、同定)と、バケット・データ・オブジ
ェクトに現れる対応するデータベース・テーブルのそれ
ぞれのメンバのためのメンバ・マップと、が含まれる。
それぞれのメンバ・マップは、メンバのIDと、そのメ
ンバを含むデータベース・コラムのIDと、そのメンバ
のデータ・タイプのIDとを含む。オブジェクト・マッ
プは、それぞれのバケット・データ・オブジェクトのた
めの及びそれに対応するオブジェクト・マップ・オブジ
ェクトを含み、それぞれのオブジェクト・マップは、テ
ーブル・マップとオブジェクト・メンバ・マップとに現
れるそれぞれのテーブルのための及びそれに対応するテ
ーブル命令(インストラクション)のテーブル・リスト
を含む。本発明によると、テーブル・マップにおける対
応するテーブルを識別するテーブル・ネームと、テーブ
ルがメンバシップに挿入される又はそこから削除される
順序を定義する挿入順序と、メンバ・テーブルがどのよ
うに結合されるかを定義する結合条件と、を含む。オブ
ジェクト・メンバ・マップは、バケット・データ・オブ
ジェクトのすべてのデータベース・メンバの連結された
リストを含む。
【0016】
【発明の実施の形態】最初に、図1及び図2を参照し
て、全般的な説明をする。図1及び図2には、システム
10において実現されている本発明の概略的なブロック
図が示されている。システム10は、典型的には、パー
ソナル・コンピュータであり、又は、代替的には、複数
のワークステーションを備えているミニ又はメインフレ
ーム・コンピュータである。複数のアプリケーション・
プログラム12が、システム10のプロセッサ14とメ
モリ・スペース16とにおいて動いており、データベー
ス20にアクセスして、データベース20からデータを
読み出し、データベース20にデータを書き込む。
て、全般的な説明をする。図1及び図2には、システム
10において実現されている本発明の概略的なブロック
図が示されている。システム10は、典型的には、パー
ソナル・コンピュータであり、又は、代替的には、複数
のワークステーションを備えているミニ又はメインフレ
ーム・コンピュータである。複数のアプリケーション・
プログラム12が、システム10のプロセッサ14とメ
モリ・スペース16とにおいて動いており、データベー
ス20にアクセスして、データベース20からデータを
読み出し、データベース20にデータを書き込む。
【0017】システム10のこの例示的な構成において
は、システム10は、例えば、総合病院、クリニック、
又は個人病院などで用いられる医療用管理システムなど
であるが、データベースにアクセスする1つ又は複数の
アプリケーション・プログラムを有する任意のシステム
であり得る。しかし、この例では、アプリケーション・
プログラム12は、汎用アプリケーション12Bに加え
て、患者サービス・アプリケーション12Aを含み得
る。患者サービス・アプリケーション12Aは、例え
ば、患者情報アプリケーション16Aと、プロバイダ・
アプリケーション(プロバイダ)16Bと、クリニック
・アプリケーション(デパートメント)16Cと、ファ
シリティ・アプリケーション(ロケーション)16Dと
を含み得るが、これらのアプリケーションは、統合され
た医療サービス・アプリケーションの個別のアプリケー
ションとして、又は、機能成分として実現され得る。患
者情報アプリケーション16Aは、患者のバイタルサイ
ン(VITALS)18Aや人口学的データ(DEMO
GRAPHICS)18Bなどの情報を入力、表示、管
理、編集するアプリケーション・プログラム又はユーテ
ィリティや、新たな患者取引又は行為を生成し、又は、
新たなタイプの情報(NEW)18C、患者レコード
(RECORDS)18D、患者照会(QUERIE
S)18E、患者の検査結果(RESULTS)18
F、治療及び薬品注文(ORDERS)18G、及び要
約情報(SUMMARY)18Hを入力するユーティリ
ティを含む。汎用アプリケーション12Bには、データ
ベースへの照会を定式化してその照会の結果を表示する
アドホック照会エンジン(QUERY)18Iと、管理
プログラム及び関数(ADMIN)18Jと、フォーム
構築プログラム(FORM)18Kと、文書スキャナ
(SCAN)18Lとが含まれる。当業者には明らかな
ように、汎用アプリケーション12Bには、更に、ワー
ドプロセシング・プログラム、スプレッドシート・プロ
グラム、グラフィクス・プログラム、電子メール・プロ
グラムなどが、含まれる。
は、システム10は、例えば、総合病院、クリニック、
又は個人病院などで用いられる医療用管理システムなど
であるが、データベースにアクセスする1つ又は複数の
アプリケーション・プログラムを有する任意のシステム
であり得る。しかし、この例では、アプリケーション・
プログラム12は、汎用アプリケーション12Bに加え
て、患者サービス・アプリケーション12Aを含み得
る。患者サービス・アプリケーション12Aは、例え
ば、患者情報アプリケーション16Aと、プロバイダ・
アプリケーション(プロバイダ)16Bと、クリニック
・アプリケーション(デパートメント)16Cと、ファ
シリティ・アプリケーション(ロケーション)16Dと
を含み得るが、これらのアプリケーションは、統合され
た医療サービス・アプリケーションの個別のアプリケー
ションとして、又は、機能成分として実現され得る。患
者情報アプリケーション16Aは、患者のバイタルサイ
ン(VITALS)18Aや人口学的データ(DEMO
GRAPHICS)18Bなどの情報を入力、表示、管
理、編集するアプリケーション・プログラム又はユーテ
ィリティや、新たな患者取引又は行為を生成し、又は、
新たなタイプの情報(NEW)18C、患者レコード
(RECORDS)18D、患者照会(QUERIE
S)18E、患者の検査結果(RESULTS)18
F、治療及び薬品注文(ORDERS)18G、及び要
約情報(SUMMARY)18Hを入力するユーティリ
ティを含む。汎用アプリケーション12Bには、データ
ベースへの照会を定式化してその照会の結果を表示する
アドホック照会エンジン(QUERY)18Iと、管理
プログラム及び関数(ADMIN)18Jと、フォーム
構築プログラム(FORM)18Kと、文書スキャナ
(SCAN)18Lとが含まれる。当業者には明らかな
ように、汎用アプリケーション12Bには、更に、ワー
ドプロセシング・プログラム、スプレッドシート・プロ
グラム、グラフィクス・プログラム、電子メール・プロ
グラムなどが、含まれる。
【0018】データベース20は、1つ又は複数のデー
タベース20A、20B、・・・、20nから構成さ
れ、これらは、システム10、又は、ワイド・エリア・
ネットワークやローカル・エリア・ネットワークなどの
通信リンク22を介してシステム10に接続された1つ
又は複数のシステム10A上に存在している。しかし、
別の実施例では、当業者であれば理解するように、1つ
又は複数のデータベース20A−nがシステム10内に
存在し、システム10は、パーソナル・コンピュータ
(PC)、ミニコンピュータ、又はメインフレーム・コ
ンピュータであり、それ以外のものが、1つ又は複数の
システム10A上に存在する。図1及び図2に示される
ように、それぞれのデータベース20は、一般に、デー
タを記憶するデータ構造24と、データ構造24にアク
セスし、読み出し及び書き込みを行い、管理するデータ
関数プログラム26とを含む。
タベース20A、20B、・・・、20nから構成さ
れ、これらは、システム10、又は、ワイド・エリア・
ネットワークやローカル・エリア・ネットワークなどの
通信リンク22を介してシステム10に接続された1つ
又は複数のシステム10A上に存在している。しかし、
別の実施例では、当業者であれば理解するように、1つ
又は複数のデータベース20A−nがシステム10内に
存在し、システム10は、パーソナル・コンピュータ
(PC)、ミニコンピュータ、又はメインフレーム・コ
ンピュータであり、それ以外のものが、1つ又は複数の
システム10A上に存在する。図1及び図2に示される
ように、それぞれのデータベース20は、一般に、デー
タを記憶するデータ構造24と、データ構造24にアク
セスし、読み出し及び書き込みを行い、管理するデータ
関数プログラム26とを含む。
【0019】既に述べたように、それぞれのデータベー
ス20A−nは、それぞれのデータベースに特有なフォ
ーマット及びシンタクスでデータベース・コマンドや照
会を受け取るように、また、それぞれのデータベースに
特有なフォーマット及びシンタクスでデータベース・コ
マンドや照会を受け取り提供するように、設計されてい
る。本発明によると、データベース20A−nの内部構
造及び機能要素は、どのようにも全く修正されず、デー
タベース20A−nは、データベース動作に対する要求
(リクエスト)のソース、又は、データのソース又は宛
て先に関する特定の動作について、機能的な知識を有し
ていない。それぞれのデータベース20A−nは、代わ
りに、そのデータベースに特有のフォーマット及びシン
タクスでのデータベース・コマンド又は照会を受け取
り、そのデータベースに特有なフォーマット及びシンタ
クスでのデータを受け取り提供する。
ス20A−nは、それぞれのデータベースに特有なフォ
ーマット及びシンタクスでデータベース・コマンドや照
会を受け取るように、また、それぞれのデータベースに
特有なフォーマット及びシンタクスでデータベース・コ
マンドや照会を受け取り提供するように、設計されてい
る。本発明によると、データベース20A−nの内部構
造及び機能要素は、どのようにも全く修正されず、デー
タベース20A−nは、データベース動作に対する要求
(リクエスト)のソース、又は、データのソース又は宛
て先に関する特定の動作について、機能的な知識を有し
ていない。それぞれのデータベース20A−nは、代わ
りに、そのデータベースに特有のフォーマット及びシン
タクスでのデータベース・コマンド又は照会を受け取
り、そのデータベースに特有なフォーマット及びシンタ
クスでのデータを受け取り提供する。
【0020】更に、本発明によれば、アプリケーション
・プログラム12は、それぞれが、そのアプリケーショ
ン・プログラムに特有のフォーマット及びシンタクスで
のデータベース関連のリクエスト、コール、又はコマン
ドを生成し、そのアプリケーション・プログラムに特有
のフォーマット及びシンタクスでのデータを受け取り提
供するように設計されている。本発明によると、アプリ
ケーション・プログラム12の内部構造及び機能要素
は、どのようにも全く修正されず、アプリケーション・
プログラム12は、データベース動作に対する要求(リ
クエスト)の宛て先、又は、データのソースに関する特
定の動作について、機能的な知識を有していない。代わ
りに、それぞれのアプリケーション・プログラム12
は、それぞれが、そのアプリケーション・プログラムに
特有のフォーマット及びシンタクスでのデータベース関
連のリクエストを生成し、そのアプリケーション・プロ
グラムに特有なフォーマット及びシンタクスでのデータ
を受け取り提供する。
・プログラム12は、それぞれが、そのアプリケーショ
ン・プログラムに特有のフォーマット及びシンタクスで
のデータベース関連のリクエスト、コール、又はコマン
ドを生成し、そのアプリケーション・プログラムに特有
のフォーマット及びシンタクスでのデータを受け取り提
供するように設計されている。本発明によると、アプリ
ケーション・プログラム12の内部構造及び機能要素
は、どのようにも全く修正されず、アプリケーション・
プログラム12は、データベース動作に対する要求(リ
クエスト)の宛て先、又は、データのソースに関する特
定の動作について、機能的な知識を有していない。代わ
りに、それぞれのアプリケーション・プログラム12
は、それぞれが、そのアプリケーション・プログラムに
特有のフォーマット及びシンタクスでのデータベース関
連のリクエストを生成し、そのアプリケーション・プロ
グラムに特有なフォーマット及びシンタクスでのデータ
を受け取り提供する。
【0021】従って、本発明によると、アプリケーショ
ン・プログラム12とデータベース20A−nとのそれ
ぞれは、相互に、完全に機能的に分離されており、協同
して動作するために、アプリケーション・プログラム1
2とデータベース20A−nとは、どちらも、全く修正
されることはない。アプリケーション・プログラム12
とデータベース20A−nとは、それぞれが、ネイティ
ブな態様及びモードで動作して、コマンド、リクエス
ト、及びデータを、その特定の動作とインターフェース
とのために特別に作られたデータベース又はアプリケー
ション・プログラムとのインターフェースを有している
かのように、受け取り提供するように動作する。
ン・プログラム12とデータベース20A−nとのそれ
ぞれは、相互に、完全に機能的に分離されており、協同
して動作するために、アプリケーション・プログラム1
2とデータベース20A−nとは、どちらも、全く修正
されることはない。アプリケーション・プログラム12
とデータベース20A−nとは、それぞれが、ネイティ
ブな態様及びモードで動作して、コマンド、リクエス
ト、及びデータを、その特定の動作とインターフェース
とのために特別に作られたデータベース又はアプリケー
ション・プログラムとのインターフェースを有している
かのように、受け取り提供するように動作する。
【0022】次に、図1及び図2に示されているバケッ
ト・メカニズムの全体的な説明を行う。本発明によれ
ば、アプリケーション・プログラム12に完全なデータ
ベース機能を提供しながらアプリケーション・プログラ
ム12とデータベース20A−nとを分離するアプリケ
ーション・プログラム12とデータベース20A−nと
の間の動作ブリッジ又はインターフェースが、バケット
・メカニズム28によって与えられる。このバケット・
メカニズム28は、アプリケーション・インターフェー
ス30とバケット・エンジン32とを含む。後で更に詳
細に説明するように、アプリケーション・インターフェ
ース30は、アプリケーション・プログラム12とバケ
ット・エンジン32との間で機能し、そのネイティブな
フォーマットとシンタクスとに従って、アプリケーショ
ン・プログラム12と通信し、他方で、バケット・エン
ジン32は、データベース20A−nに対するデータベ
ース・リクエストを実行し、そのネイティブなフォーマ
ットとシンタクスとに従って、データベース20A−n
と通信する。
ト・メカニズムの全体的な説明を行う。本発明によれ
ば、アプリケーション・プログラム12に完全なデータ
ベース機能を提供しながらアプリケーション・プログラ
ム12とデータベース20A−nとを分離するアプリケ
ーション・プログラム12とデータベース20A−nと
の間の動作ブリッジ又はインターフェースが、バケット
・メカニズム28によって与えられる。このバケット・
メカニズム28は、アプリケーション・インターフェー
ス30とバケット・エンジン32とを含む。後で更に詳
細に説明するように、アプリケーション・インターフェ
ース30は、アプリケーション・プログラム12とバケ
ット・エンジン32との間で機能し、そのネイティブな
フォーマットとシンタクスとに従って、アプリケーショ
ン・プログラム12と通信し、他方で、バケット・エン
ジン32は、データベース20A−nに対するデータベ
ース・リクエストを実行し、そのネイティブなフォーマ
ットとシンタクスとに従って、データベース20A−n
と通信する。
【0023】バケット・メカニズム28は、それによっ
て、アプリケーション・プログラム12とデータベース
20A−nとの間に「中間層」を有効に提供し、この中
間層によって、ユーザは、すなわち、アプリケーション
・プログラム12は、データベース動作を実行するため
に、データベース20A−nの設計に関する、及び、特
定のシンタクス、フォーマット、及びプロトコルに関す
る知識を有している必要がなくなる。後に更に詳細に説
明するように、バケット・メカニズム28は、任意の与
えられたデータベースに対する任意の与えられたデータ
ベース・オブジェクトに対する一連の命令であるデータ
ベース・オブジェクト及びマップ・テーブルのメカニズ
ムを用いて、アプリケーション・プログラム12のネイ
ティブな用語でのリクエスト、コマンド、及び照会に応
答して、データベース動作を実行する。
て、アプリケーション・プログラム12とデータベース
20A−nとの間に「中間層」を有効に提供し、この中
間層によって、ユーザは、すなわち、アプリケーション
・プログラム12は、データベース動作を実行するため
に、データベース20A−nの設計に関する、及び、特
定のシンタクス、フォーマット、及びプロトコルに関す
る知識を有している必要がなくなる。後に更に詳細に説
明するように、バケット・メカニズム28は、任意の与
えられたデータベースに対する任意の与えられたデータ
ベース・オブジェクトに対する一連の命令であるデータ
ベース・オブジェクト及びマップ・テーブルのメカニズ
ムを用いて、アプリケーション・プログラム12のネイ
ティブな用語でのリクエスト、コマンド、及び照会に応
答して、データベース動作を実行する。
【0024】後に更に詳細に説明するが、バケット・メ
カニズム28は、プログラマ及びユーザに、データベー
スをグループ化して「バケット」と称される論理的なカ
テゴリを作るデータベース20A−nへの単純なインタ
ーフェースを提供する。バケットは、データベース・テ
ーブルのクラスの大きなグループであり、データベース
・テーブルの小さなグループである「バケット・オブジ
ェクト」と、データベース・テーブル・コラム又はデー
タベース・コラムのグループである「メンバ」とを含
む。
カニズム28は、プログラマ及びユーザに、データベー
スをグループ化して「バケット」と称される論理的なカ
テゴリを作るデータベース20A−nへの単純なインタ
ーフェースを提供する。バケットは、データベース・テ
ーブルのクラスの大きなグループであり、データベース
・テーブルの小さなグループである「バケット・オブジ
ェクト」と、データベース・テーブル・コラム又はデー
タベース・コラムのグループである「メンバ」とを含
む。
【0025】アプリケーション・プログラムに従ってプ
ログラマ及びユーザにインターフェースを提供すること
に加えて、バケット・メカニズム28によって、アドホ
ックな照会ツールを、その照会ツールとデータベースと
の間にリンクを提供するバケット、バケット・オブジェ
クト、及びメンバ・メカニズムとして構成することが可
能になる。また、バケット・メカニズム28により、現
在の日付、現在時刻や加齢によるグルーピングなど、デ
ータベース動作においては通常ではないデータベース・
データのグルーピングの生成が可能になる。
ログラマ及びユーザにインターフェースを提供すること
に加えて、バケット・メカニズム28によって、アドホ
ックな照会ツールを、その照会ツールとデータベースと
の間にリンクを提供するバケット、バケット・オブジェ
クト、及びメンバ・メカニズムとして構成することが可
能になる。また、バケット・メカニズム28により、現
在の日付、現在時刻や加齢によるグルーピングなど、デ
ータベース動作においては通常ではないデータベース・
データのグルーピングの生成が可能になる。
【0026】後に更に詳細に説明するように、バケット
・メカニズム28は、更に、バケット・メカニズムの主
な成分がシステムにおいて存在する場合には、融通性を
提供する。「トップ」から「ボトム」への方向に、アプ
リケーション・プログラム12、データベースから抽出
されたデータ、SQL照会、及びデータベースから構成
されるデータ経路を考察すると、本発明のメカニズム
は、スタンドアロンのシステムにおいて実現され、そこ
では、アプリケーション・プログラム、データ、SQL
照会、及びデータベースが、デスクトップ又はラップト
ップ・システムなどの単一のシステムか、又は、単一の
ミニコンピュータ又はメインフレームコンピュータの中
に存在している。同様に、本発明は、例えば、クライア
ント/サーバ・システムにおいて、複数の形態で実現す
ることができ、その場合には、アプリケーション・プロ
グラム12、データ、及びSQL照会はクライアントに
存在し、データベースはサーバに存在する、又は、アプ
リケーション・プログラム12とデータとはクライアン
トに存在し、SQL照会とデータベースとはサーバに存
在する、又は、アプリケーション・プログラム12がク
ライアントに存在し、データ、SQL照会及びデータベ
ースはサーバに存在する。
・メカニズム28は、更に、バケット・メカニズムの主
な成分がシステムにおいて存在する場合には、融通性を
提供する。「トップ」から「ボトム」への方向に、アプ
リケーション・プログラム12、データベースから抽出
されたデータ、SQL照会、及びデータベースから構成
されるデータ経路を考察すると、本発明のメカニズム
は、スタンドアロンのシステムにおいて実現され、そこ
では、アプリケーション・プログラム、データ、SQL
照会、及びデータベースが、デスクトップ又はラップト
ップ・システムなどの単一のシステムか、又は、単一の
ミニコンピュータ又はメインフレームコンピュータの中
に存在している。同様に、本発明は、例えば、クライア
ント/サーバ・システムにおいて、複数の形態で実現す
ることができ、その場合には、アプリケーション・プロ
グラム12、データ、及びSQL照会はクライアントに
存在し、データベースはサーバに存在する、又は、アプ
リケーション・プログラム12とデータとはクライアン
トに存在し、SQL照会とデータベースとはサーバに存
在する、又は、アプリケーション・プログラム12がク
ライアントに存在し、データ、SQL照会及びデータベ
ースはサーバに存在する。
【0027】本発明の好適実施例では、アプリケーショ
ン・インターフェース30とバケット・エンジン32と
は、マイクロソフト・ウィンドウズ(Microsoft Window
s)の動作環境において動くオブジェクト指向プログラ
ミング技術を用いて、実現される。以下の説明では、従
って、マイクロソフト・ウィンドウズを、その機能性と
能力と共に、本発明の動作環境として想定し、本発明を
説明する際には、オブジェクト指向プログラミングとマ
イクロソフト・ウィンドウズの動作環境とにおける一般
的事項に従うことにする。マイクロソフト・ウィンドウ
ズの機能と能力とに関しては、当業者には広く知られて
おり、James W. McCordによる"Windows3.1 Programmer'
s Reference"(Que Corporation)や、Kraig Brockschm
idtによる"Inside OLE 2"(Microsoft Press)などの容
易に入手できる出版物に記載されている。オブジェクト
指向プログラミングに関しても同様である。従って、当
業者であれば、本発明に関する以下の説明から、本発明
をいかにして実現するか、更に、どのようにすれば、本
発明を、New Wave、Macintosh、UNIXなど、他のオペレ
ーティング・システム環境に適合させるかを、理解する
ことができるはずである。
ン・インターフェース30とバケット・エンジン32と
は、マイクロソフト・ウィンドウズ(Microsoft Window
s)の動作環境において動くオブジェクト指向プログラ
ミング技術を用いて、実現される。以下の説明では、従
って、マイクロソフト・ウィンドウズを、その機能性と
能力と共に、本発明の動作環境として想定し、本発明を
説明する際には、オブジェクト指向プログラミングとマ
イクロソフト・ウィンドウズの動作環境とにおける一般
的事項に従うことにする。マイクロソフト・ウィンドウ
ズの機能と能力とに関しては、当業者には広く知られて
おり、James W. McCordによる"Windows3.1 Programmer'
s Reference"(Que Corporation)や、Kraig Brockschm
idtによる"Inside OLE 2"(Microsoft Press)などの容
易に入手できる出版物に記載されている。オブジェクト
指向プログラミングに関しても同様である。従って、当
業者であれば、本発明に関する以下の説明から、本発明
をいかにして実現するか、更に、どのようにすれば、本
発明を、New Wave、Macintosh、UNIXなど、他のオペレ
ーティング・システム環境に適合させるかを、理解する
ことができるはずである。
【0028】最初に、アプリケーション・インターフェ
ース30とバケット・エンジン32とを、一般的なレベ
ルで、図1及び図2を参照しながら考察すると、アプリ
ケーション・インターフェース30は、データベース動
作のためのリクエスト、コマンド、又はコール(これら
は、以下では「リクエスト」と称することにする)をア
プリケーション・プログラム12から受け取るが、これ
らは、それぞれが、リクエスト(要求)をする側のアプ
リケーション・プログラム12にネイティブなフォーマ
ット及びシンタクスを有しており、以下で説明するよう
に、これらのリクエストやコマンドのそれぞれを、バケ
ット・エンジン32への1つ又は複数のインターフェー
ス・コールに変換する。アプリケーション・インターフ
ェース30は、また、データベース動作に関連するいく
つかのユーザ・インターフェース機能を作成、管理、実
行するための手段と機能とを含む。従って、図1及び図
2に示されているように、アプリケーション・インター
フェース30は、それぞれのタイプのアプリケーション
・プログラム12に対するインターフェース・モジュー
ル34を含み、あるタイプのアプリケーション・プログ
ラム12が、1つの共通のデータベース動作シンタクス
及びフォーマットを共有する1つ又は複数のアプリケー
ション・プログラム12、又は、単一のインターフェー
ス・モジュール34に含まれるデータベース・シンタク
ス及びフォーマットの組を含む。
ース30とバケット・エンジン32とを、一般的なレベ
ルで、図1及び図2を参照しながら考察すると、アプリ
ケーション・インターフェース30は、データベース動
作のためのリクエスト、コマンド、又はコール(これら
は、以下では「リクエスト」と称することにする)をア
プリケーション・プログラム12から受け取るが、これ
らは、それぞれが、リクエスト(要求)をする側のアプ
リケーション・プログラム12にネイティブなフォーマ
ット及びシンタクスを有しており、以下で説明するよう
に、これらのリクエストやコマンドのそれぞれを、バケ
ット・エンジン32への1つ又は複数のインターフェー
ス・コールに変換する。アプリケーション・インターフ
ェース30は、また、データベース動作に関連するいく
つかのユーザ・インターフェース機能を作成、管理、実
行するための手段と機能とを含む。従って、図1及び図
2に示されているように、アプリケーション・インター
フェース30は、それぞれのタイプのアプリケーション
・プログラム12に対するインターフェース・モジュー
ル34を含み、あるタイプのアプリケーション・プログ
ラム12が、1つの共通のデータベース動作シンタクス
及びフォーマットを共有する1つ又は複数のアプリケー
ション・プログラム12、又は、単一のインターフェー
ス・モジュール34に含まれるデータベース・シンタク
ス及びフォーマットの組を含む。
【0029】バケット・エンジン32は、データベース
20A−nにネイティブなフォーマット及びシンタクス
を有するそれぞれのデータベース20A−nと通信し、
共に動作して、要求された動作を実行する。バケット・
エンジン32は、それぞれのデータベース動作の結果を
データベース20A−nから受け取るが、これもやはり
データベース20A−nにネイティブなフォーマット及
びシンタクスを有しており、アプリケーション・インタ
ーフェース30と通信し、共に動作して、それぞれの要
求された動作の結果を、要求している側のアプリケーシ
ョン・プログラム12に戻す。
20A−nにネイティブなフォーマット及びシンタクス
を有するそれぞれのデータベース20A−nと通信し、
共に動作して、要求された動作を実行する。バケット・
エンジン32は、それぞれのデータベース動作の結果を
データベース20A−nから受け取るが、これもやはり
データベース20A−nにネイティブなフォーマット及
びシンタクスを有しており、アプリケーション・インタ
ーフェース30と通信し、共に動作して、それぞれの要
求された動作の結果を、要求している側のアプリケーシ
ョン・プログラム12に戻す。
【0030】次に、バケット40とバケット・データ・
オブジェクト42(図1から図3)について説明する。
オブジェクト42(図1から図3)について説明する。
【0031】この構成では、バケット・エンジン32
は、アプリケーション・インターフェース30へのコー
ル・インターフェース36と要求されるようにバケット
40とバケット・データ・オブジェクト42とを作成す
るバケット・マネジャ38とを含むダイナミック・リン
ク・ライブラリ(dynamic linked library = dll)とし
て実現される。本発明によると、そして、オブジェクト
指向プログラミング技術に従い、バケット40は、関連
情報のクラス又はグルーピングに対応し、他方で、バケ
ット・データ・オブジェクト42は、バケット40のク
ラスのメンバであり、関連情報のそのクラス又はグルー
ピングに属する情報を含む。別言すれば、バケット40
は、データベース20A−nの中の1つなどのリレーシ
ョナル・データベースからバケット・データ・オブジェ
クト42の複数(マルチ)レベルの階層を作成するデー
タベース情報の論理的なグルーピングである。例えば、
そして、後で説明されるように、この例示的なシステム
10では、バケット・マネジャ38は、患者サービス・
アプリケーション12Aに関して、クリニック、設備
(ファシリティ)、プロバイダ、及び患者情報として先
に識別された情報のクラス又はグルーピングに対応す
る。バケット・マネジャ38は、また、それぞれのアプ
リケーション・プログラム、又は、データベース動作を
実行する汎用アプリケーション12Bによって用いられ
る情報のタイプに対応するバケットを作成する。
は、アプリケーション・インターフェース30へのコー
ル・インターフェース36と要求されるようにバケット
40とバケット・データ・オブジェクト42とを作成す
るバケット・マネジャ38とを含むダイナミック・リン
ク・ライブラリ(dynamic linked library = dll)とし
て実現される。本発明によると、そして、オブジェクト
指向プログラミング技術に従い、バケット40は、関連
情報のクラス又はグルーピングに対応し、他方で、バケ
ット・データ・オブジェクト42は、バケット40のク
ラスのメンバであり、関連情報のそのクラス又はグルー
ピングに属する情報を含む。別言すれば、バケット40
は、データベース20A−nの中の1つなどのリレーシ
ョナル・データベースからバケット・データ・オブジェ
クト42の複数(マルチ)レベルの階層を作成するデー
タベース情報の論理的なグルーピングである。例えば、
そして、後で説明されるように、この例示的なシステム
10では、バケット・マネジャ38は、患者サービス・
アプリケーション12Aに関して、クリニック、設備
(ファシリティ)、プロバイダ、及び患者情報として先
に識別された情報のクラス又はグルーピングに対応す
る。バケット・マネジャ38は、また、それぞれのアプ
リケーション・プログラム、又は、データベース動作を
実行する汎用アプリケーション12Bによって用いられ
る情報のタイプに対応するバケットを作成する。
【0032】後で説明するように、バケット・マネジャ
38は、任意のタイプのデータベース20と共に、すな
わち、バケット・マネジャ38にとって既知である任意
のデータベース・シンタクス及びフォーマットと共に、
用いられるバケット40とバケット・データ・オブジェ
クト42−42nを作成し、この目的のために、現にバ
ケット・マネジャ38にとって既知であるそれぞれのタ
イプのデータベース20に対するバケット40とバケッ
ト・データ・オブジェクト42との構成に関連する情報
を記憶する。この点で、後にも説明するが、新たなタイ
プのデータベース及びバケット・オブジェクトを、バケ
ット・マネジャ38に新たに加えることができる。
38は、任意のタイプのデータベース20と共に、すな
わち、バケット・マネジャ38にとって既知である任意
のデータベース・シンタクス及びフォーマットと共に、
用いられるバケット40とバケット・データ・オブジェ
クト42−42nを作成し、この目的のために、現にバ
ケット・マネジャ38にとって既知であるそれぞれのタ
イプのデータベース20に対するバケット40とバケッ
ト・データ・オブジェクト42との構成に関連する情報
を記憶する。この点で、後にも説明するが、新たなタイ
プのデータベース及びバケット・オブジェクトを、バケ
ット・マネジャ38に新たに加えることができる。
【0033】データの一体性のために、本発明のこの実
現例では、任意の与えられた時刻において、システム1
0上で、バケット・エンジン32の従ってバケット・マ
ネジャ38の単一のインスタンスと、任意の与えられた
時刻において、システム上で、バケット・データ・オブ
ジェクト42の1つのコピーとが、作成され、維持され
る。システム10上で動いているすべてのアプリケーシ
ョン・プログラム12と、これらのアプリケーション・
プログラム12のすべての機能とが、それによって、バ
ケット・エンジン32とバケット・マネジャ38との単
一のインスタンスを介して、データベース20にアクセ
スし、与えられたバケット・データ・オブジェクト42
の単一のコピーにアクセスする。
現例では、任意の与えられた時刻において、システム1
0上で、バケット・エンジン32の従ってバケット・マ
ネジャ38の単一のインスタンスと、任意の与えられた
時刻において、システム上で、バケット・データ・オブ
ジェクト42の1つのコピーとが、作成され、維持され
る。システム10上で動いているすべてのアプリケーシ
ョン・プログラム12と、これらのアプリケーション・
プログラム12のすべての機能とが、それによって、バ
ケット・エンジン32とバケット・マネジャ38との単
一のインスタンスを介して、データベース20にアクセ
スし、与えられたバケット・データ・オブジェクト42
の単一のコピーにアクセスする。
【0034】更にこの点に関して、バケット・マネジャ
38は、情報がバケット40から要求される又は情報が
バケット40に書き込まれるときには、バケット40と
バケット・データ・オブジェクト42とを作成し、新た
なバケット40又はバケット・データ・オブジェクト4
2が特定のデータベース・リクエストの要求を満足する
ために必要であるときにだけ、新たなバケット40又は
バケット・データ・オブジェクト42を作成する。
38は、情報がバケット40から要求される又は情報が
バケット40に書き込まれるときには、バケット40と
バケット・データ・オブジェクト42とを作成し、新た
なバケット40又はバケット・データ・オブジェクト4
2が特定のデータベース・リクエストの要求を満足する
ために必要であるときにだけ、新たなバケット40又は
バケット・データ・オブジェクト42を作成する。
【0035】バケット40とバケット・データ・オブジ
ェクト42とは、このように、動的(ダイナミカル)に
作成され、アプリケーション・プログラム12の必要と
データベース20A−nの数及びタイプとに応じて、仮
想的に無制限の数の異なるタイプのバケット40とバケ
ット・データ・オブジェクト42とがあり得る。このよ
うに、この構成では、バケット40又はバケット・デー
タ・オブジェクト42のハード・コードに特有のインス
タンスを記憶するのではなく、バケット40のオブジェ
クト・クラスとバケット・データ・オブジェクト42の
オブジェクト・クラスとを維持し、バケット40のオブ
ジェクト又はバケット・データ・オブジェクト42のオ
ブジェクトとが作成される際には、それは、そのオブジ
ェクトは何であるかそしてそれがどのように振る舞うか
を定義する命令セット、すなわち、方法の組を用いて開
始される。
ェクト42とは、このように、動的(ダイナミカル)に
作成され、アプリケーション・プログラム12の必要と
データベース20A−nの数及びタイプとに応じて、仮
想的に無制限の数の異なるタイプのバケット40とバケ
ット・データ・オブジェクト42とがあり得る。このよ
うに、この構成では、バケット40又はバケット・デー
タ・オブジェクト42のハード・コードに特有のインス
タンスを記憶するのではなく、バケット40のオブジェ
クト・クラスとバケット・データ・オブジェクト42の
オブジェクト・クラスとを維持し、バケット40のオブ
ジェクト又はバケット・データ・オブジェクト42のオ
ブジェクトとが作成される際には、それは、そのオブジ
ェクトは何であるかそしてそれがどのように振る舞うか
を定義する命令セット、すなわち、方法の組を用いて開
始される。
【0036】バケット40のオブジェクトは、従って、
命令セット「オブジェクト」によって開始され、バケッ
ト40の機能はバケット・データ・オブジェクト42の
上で作成し管理し動作することであるということを反映
する。バケット・データ・オブジェクト42は、以下で
定義される、命令セットとテーブル・マップとを用いて
開始される。後に更に詳細に説明するように、命令セッ
トとテーブル・マップとは、バケット・データ・オブジ
ェクト42の構造及び機能と、バケット・データ・オブ
ジェクト42の構造及び機能とデータベース20A−n
のデータ構造及びデータベース動作とユーザとの相互関
係とを定義する。命令セットとテーブル・マップとは、
それによって、特定のバケット・データ・オブジェクト
42のタイプと特定の対応するアプリケーション・プロ
グラム12と特定のデータベース20との特性及び性質
のあいだの相関関係を反映し定義する。従って、本発明
に関する以上の説明から、1つのアプリケーション・プ
ログラム12とデータベース20A−nの中の1つとの
それぞれの対(ペアリング)に対して、1つのバケット
・データ・オブジェクト42のタイプがあり得ることが
明らかである。最後に、テーブル・マップと命令セット
とは、バケット・データ・オブジェクト42の当初の必
須の選択された特性及び動作と、或るバケット40のク
ラスの内部でのバケット・データ・オブジェクト42の
間の階層的な関係とを定義する。
命令セット「オブジェクト」によって開始され、バケッ
ト40の機能はバケット・データ・オブジェクト42の
上で作成し管理し動作することであるということを反映
する。バケット・データ・オブジェクト42は、以下で
定義される、命令セットとテーブル・マップとを用いて
開始される。後に更に詳細に説明するように、命令セッ
トとテーブル・マップとは、バケット・データ・オブジ
ェクト42の構造及び機能と、バケット・データ・オブ
ジェクト42の構造及び機能とデータベース20A−n
のデータ構造及びデータベース動作とユーザとの相互関
係とを定義する。命令セットとテーブル・マップとは、
それによって、特定のバケット・データ・オブジェクト
42のタイプと特定の対応するアプリケーション・プロ
グラム12と特定のデータベース20との特性及び性質
のあいだの相関関係を反映し定義する。従って、本発明
に関する以上の説明から、1つのアプリケーション・プ
ログラム12とデータベース20A−nの中の1つとの
それぞれの対(ペアリング)に対して、1つのバケット
・データ・オブジェクト42のタイプがあり得ることが
明らかである。最後に、テーブル・マップと命令セット
とは、バケット・データ・オブジェクト42の当初の必
須の選択された特性及び動作と、或るバケット40のク
ラスの内部でのバケット・データ・オブジェクト42の
間の階層的な関係とを定義する。
【0037】バケット40とバケット・データ・オブジ
ェクト42との関係は、更に、図3に図解されており、
この図には、特定の患者に対応する患者のクラスのバケ
ット40aが示されている。バケット40aは、クラス
の人口学的データ(Demographics)と、バケット・デー
タ・オブジェクト42aにおいて現れるデータベース・
メンバとバケット・データ・オブジェクト42aとデー
タベース20A−nのデータ構造及びデータベース動作
との間の関係とを定義するデータベース・オブジェクト
52と、のバケット・データ・オブジェクト42aを含
むように図解されている。後に説明するように、本発明
によると、それぞれのバケット40又はバケット・デー
タ・オブジェクト42は、特定のアプリケーション・プ
ログラム12とデータベース20とに対してバケット・
マネジャ38に記憶されている情報によって定義される
バケット・データ・オブジェクト42の階層的な関係に
おいて、更に、バケット・データ・オブジェクト42を
含む。
ェクト42との関係は、更に、図3に図解されており、
この図には、特定の患者に対応する患者のクラスのバケ
ット40aが示されている。バケット40aは、クラス
の人口学的データ(Demographics)と、バケット・デー
タ・オブジェクト42aにおいて現れるデータベース・
メンバとバケット・データ・オブジェクト42aとデー
タベース20A−nのデータ構造及びデータベース動作
との間の関係とを定義するデータベース・オブジェクト
52と、のバケット・データ・オブジェクト42aを含
むように図解されている。後に説明するように、本発明
によると、それぞれのバケット40又はバケット・デー
タ・オブジェクト42は、特定のアプリケーション・プ
ログラム12とデータベース20とに対してバケット・
マネジャ38に記憶されている情報によって定義される
バケット・データ・オブジェクト42の階層的な関係に
おいて、更に、バケット・データ・オブジェクト42を
含む。
【0038】図3に図解されているように、そして、後
に更に詳しく説明するように、患者バケット40aなど
のバケット40は、バケット・データ・オブジェクト4
2の作成などのバケット40のオブジェクト、バケット
40をデータベース20A−nに関連させる情報を保持
するマップ46、そして、この例では、人口学的なバケ
ット・データ・オブジェクト42aによって実行され得
る動作を定義する方法44の組を含む。人口学的なバケ
ット・データ・オブジェクト42aは、バケット・デー
タ・オブジェクト42の代表として、バケット・データ
・オブジェクト42、結果リスト50、及びデータベー
ス・オブジェクト52によって実行されデータベース2
0A−nにアクセスするための方法、条件及び機能を保
持する動作を定義する方法48の組を含んでいる。
に更に詳しく説明するように、患者バケット40aなど
のバケット40は、バケット・データ・オブジェクト4
2の作成などのバケット40のオブジェクト、バケット
40をデータベース20A−nに関連させる情報を保持
するマップ46、そして、この例では、人口学的なバケ
ット・データ・オブジェクト42aによって実行され得
る動作を定義する方法44の組を含む。人口学的なバケ
ット・データ・オブジェクト42aは、バケット・デー
タ・オブジェクト42の代表として、バケット・データ
・オブジェクト42、結果リスト50、及びデータベー
ス・オブジェクト52によって実行されデータベース2
0A−nにアクセスするための方法、条件及び機能を保
持する動作を定義する方法48の組を含んでいる。
【0039】更に図解されているように、そして、バケ
ット・データ・オブジェクト42の結果リスト50に典
型的であるが、結果リスト50は、データベース動作の
結果のレコードを例えばデータベース20A−nの含ま
れているメンバからのデータを含むキャラクタ・ストリ
ングとして保持するデータ・レコード54aと、バケッ
ト・データ・オブジェクト42aを作成する際に用いら
れる抽出されたデータベース20A−nのデータ又は条
件及び方法やシステム10の中のどこにキャッシュされ
た情報が記憶されているかを識別する情報などの、後に
用いるためのバケット・データ・オブジェクト42aに
関する上位方を保持するキャッシュ・オブジェクト54
bと、を含む。結果オブジェクト54は、更に、アプリ
ケーション・プログラム12によって生成され結果的に
バケット・データ・オブジェクト42が生じるリクエス
トを記憶するリクエスト・オブジェクト54cを含む。
示されているように、結果オブジェクト54は、患者I
Dなどのリクエストに関する情報を記憶するリクエスト
条件54c−1と、ユーザがSQL照会をリクエストと
して提供する場合にはリクエストを含むSQL照会を記
憶するSQL54c−2と、リクエストにおいて提供さ
れデータベースの結果がそのリクエストに応答してどの
ように記憶されるかに関する情報を記憶するソート条件
54c−3と、を含む。
ット・データ・オブジェクト42の結果リスト50に典
型的であるが、結果リスト50は、データベース動作の
結果のレコードを例えばデータベース20A−nの含ま
れているメンバからのデータを含むキャラクタ・ストリ
ングとして保持するデータ・レコード54aと、バケッ
ト・データ・オブジェクト42aを作成する際に用いら
れる抽出されたデータベース20A−nのデータ又は条
件及び方法やシステム10の中のどこにキャッシュされ
た情報が記憶されているかを識別する情報などの、後に
用いるためのバケット・データ・オブジェクト42aに
関する上位方を保持するキャッシュ・オブジェクト54
bと、を含む。結果オブジェクト54は、更に、アプリ
ケーション・プログラム12によって生成され結果的に
バケット・データ・オブジェクト42が生じるリクエス
トを記憶するリクエスト・オブジェクト54cを含む。
示されているように、結果オブジェクト54は、患者I
Dなどのリクエストに関する情報を記憶するリクエスト
条件54c−1と、ユーザがSQL照会をリクエストと
して提供する場合にはリクエストを含むSQL照会を記
憶するSQL54c−2と、リクエストにおいて提供さ
れデータベースの結果がそのリクエストに応答してどの
ように記憶されるかに関する情報を記憶するソート条件
54c−3と、を含む。
【0040】人口学的データベース・オブジェクト52
は、データベース・オブジェクト52のように、例えば
データ・レコード54aなどのバケット・データ・オブ
ジェクト42において現れるデータベース20A−nの
メンバ又はデータを定義する情報を保持するメンバ・マ
ップ52aと、バケット・データ・オブジェクト42a
における情報とデータベース20A−nにおける情報と
の間の必須の定義関係を保持する条件オブジェクト52
bと、を含む。
は、データベース・オブジェクト52のように、例えば
データ・レコード54aなどのバケット・データ・オブ
ジェクト42において現れるデータベース20A−nの
メンバ又はデータを定義する情報を保持するメンバ・マ
ップ52aと、バケット・データ・オブジェクト42a
における情報とデータベース20A−nにおける情報と
の間の必須の定義関係を保持する条件オブジェクト52
bと、を含む。
【0041】人口学的データベース・オブジェクト52
は、更に、データベース(DB)機能52dを含み、こ
れは、一般に、挿入、更新、削除などのデータベース動
作を実行するのに用いられる方法を含む。図3に示され
ているように、データベース・オブジェクト52のDB
機能52cは、リクエスト52c−1を含み、これは、
結果的に、バケット・データ・オブジェクト42と、親
(上位)のバケット・データ・オブジェクト42aに含
まれるデータベース20A−n情報であるメンバを選択
して組み入れる方法を含むゲットメンバ52c−2と、
挿入、更新、削除などのデータベース動作を実行するの
に用いられる方法と、を含む。DB機能52cは、更
に、データベース照会を作成する情報を含む作成(Crea
te)SQL52c−3と、SQL文(statement)など
のデータベース照会文を作成する実行選択(Execute Se
lect)SQL52c−4と、データベース20A−nに
アクセスする実行SQL52c−5と、を含む。
は、更に、データベース(DB)機能52dを含み、こ
れは、一般に、挿入、更新、削除などのデータベース動
作を実行するのに用いられる方法を含む。図3に示され
ているように、データベース・オブジェクト52のDB
機能52cは、リクエスト52c−1を含み、これは、
結果的に、バケット・データ・オブジェクト42と、親
(上位)のバケット・データ・オブジェクト42aに含
まれるデータベース20A−n情報であるメンバを選択
して組み入れる方法を含むゲットメンバ52c−2と、
挿入、更新、削除などのデータベース動作を実行するの
に用いられる方法と、を含む。DB機能52cは、更
に、データベース照会を作成する情報を含む作成(Crea
te)SQL52c−3と、SQL文(statement)など
のデータベース照会文を作成する実行選択(Execute Se
lect)SQL52c−4と、データベース20A−nに
アクセスする実行SQL52c−5と、を含む。
【0042】明らかなように、バケット40は、更なる
グループ又はタイプの情報を含むバケット・データ・オ
ブジェクト42を含む。例えば、患者バケット・データ
・オブジェクト42aは、患者サービス・アプリケーシ
ョン12Aに関して先に述べた、プロバイダ16B、患
者のバイタルサイン18A、患者順序18G、及び検査
結果18Fに対応するバケット・データ・オブジェクト
42b−nを有する。同様にして、人口学的バケット・
データ・オブジェクト42aなどの或る与えられたバケ
ット・データ・オブジェクト42が、特定のバケット・
データ・オブジェクト42又はシステム10の特定の設
計、構成、及び目的に応じて、異なる数及びタイプの下
位(subsidiary)のバケット・データ・オブジェクト4
2を含むことがあり得る。
グループ又はタイプの情報を含むバケット・データ・オ
ブジェクト42を含む。例えば、患者バケット・データ
・オブジェクト42aは、患者サービス・アプリケーシ
ョン12Aに関して先に述べた、プロバイダ16B、患
者のバイタルサイン18A、患者順序18G、及び検査
結果18Fに対応するバケット・データ・オブジェクト
42b−nを有する。同様にして、人口学的バケット・
データ・オブジェクト42aなどの或る与えられたバケ
ット・データ・オブジェクト42が、特定のバケット・
データ・オブジェクト42又はシステム10の特定の設
計、構成、及び目的に応じて、異なる数及びタイプの下
位(subsidiary)のバケット・データ・オブジェクト4
2を含むことがあり得る。
【0043】次に、順番に、詳細な説明を行う。最初
に、バケット・メカニズム28に関して、図4を参照し
て説明する。
に、バケット・メカニズム28に関して、図4を参照し
て説明する。
【0044】図4を参照すると、オブジェクト指向型の
システムにおいて実現された本発明のバケット・メカニ
ズム38の概要が示されている。
システムにおいて実現された本発明のバケット・メカニ
ズム38の概要が示されている。
【0045】図解されているように、本発明のバケット
・メカニズム38は、図1及び図2のアプリケーション
・インターフェース30を含み、それぞれのアプリケー
ション・プログラム12に対するインターフェースとし
て機能する。アプリケーション・インターフェース30
は、対応するアプリケーション・インターフェース30
を支持する論理、方法、及び動作を実行する対応するア
プリケーション・オブジェクト58とインターフェース
する。一般的に、それぞれのアプリケーション・インタ
ーフェース30に対して少なくとも1つのアプリケーシ
ョン・オブジェクト58が存在するが、アプリケーショ
ン・オブジェクト58の例は、医療サービス・システム
の例を用いると、 アポイントメント・リストである。
後に述べるように、或る与えられたアプリケーション・
オブジェクト58は、1つ又は複数の患者データ・オブ
ジェクトや1つ又は複数のプロバイダ・データ・オブジ
ェクトなどの、1つ又は複数の関連するデータ・オブジ
ェクトを有する。
・メカニズム38は、図1及び図2のアプリケーション
・インターフェース30を含み、それぞれのアプリケー
ション・プログラム12に対するインターフェースとし
て機能する。アプリケーション・インターフェース30
は、対応するアプリケーション・インターフェース30
を支持する論理、方法、及び動作を実行する対応するア
プリケーション・オブジェクト58とインターフェース
する。一般的に、それぞれのアプリケーション・インタ
ーフェース30に対して少なくとも1つのアプリケーシ
ョン・オブジェクト58が存在するが、アプリケーショ
ン・オブジェクト58の例は、医療サービス・システム
の例を用いると、 アポイントメント・リストである。
後に述べるように、或る与えられたアプリケーション・
オブジェクト58は、1つ又は複数の患者データ・オブ
ジェクトや1つ又は複数のプロバイダ・データ・オブジ
ェクトなどの、1つ又は複数の関連するデータ・オブジ
ェクトを有する。
【0046】図4に示されているように、バケット40
は、1つ又は複数のバケット・データ・オブジェクト4
2を含み、それぞれのバケット・データ・オブジェクト
42は、アプリケーション・オブジェクト58とインタ
ーフェースして、それぞれのアプリケーション・プログ
ラム12に対して、データを保持、管理、キャッシュす
る。図4に示されるように、アプリケーション・プログ
ラム12、対応するアプリケーション・インターフェー
ス30、及びアプリケーション・オブジェクト58の複
数のインスタンスは、1つのバケット・データ・オブジ
ェクト42を同時に共有し、それにアクセスすることが
できる。与えられたバケット・オブジェクト42の複数
のインスタンスがシステムにおいて種々のトポロジで存
在できるが、システム内には、与えられたバケット・デ
ータ・オブジェクト42のただ1つのインスタンスしか
存在しない。しかし、与えられたバケット・オブジェク
ト42は、複数の結果オブジェクト、すなわち、リアル
・データのインスタンスを有することが可能であり、ア
プリケーション・オブジェクト58は、複数のバケット
・データ・オブジェクト42に、「話しかける」ことが
できる。
は、1つ又は複数のバケット・データ・オブジェクト4
2を含み、それぞれのバケット・データ・オブジェクト
42は、アプリケーション・オブジェクト58とインタ
ーフェースして、それぞれのアプリケーション・プログ
ラム12に対して、データを保持、管理、キャッシュす
る。図4に示されるように、アプリケーション・プログ
ラム12、対応するアプリケーション・インターフェー
ス30、及びアプリケーション・オブジェクト58の複
数のインスタンスは、1つのバケット・データ・オブジ
ェクト42を同時に共有し、それにアクセスすることが
できる。与えられたバケット・オブジェクト42の複数
のインスタンスがシステムにおいて種々のトポロジで存
在できるが、システム内には、与えられたバケット・デ
ータ・オブジェクト42のただ1つのインスタンスしか
存在しない。しかし、与えられたバケット・オブジェク
ト42は、複数の結果オブジェクト、すなわち、リアル
・データのインスタンスを有することが可能であり、ア
プリケーション・オブジェクト58は、複数のバケット
・データ・オブジェクト42に、「話しかける」ことが
できる。
【0047】図4にやはり示されているように、バケッ
ト40は、更に、アプリケーション・オブジェクト58
とデータ・アクセス・オブジェクト62とに対するデー
タ・オブジェクト52インターフェースを含み、バケッ
ト・データ・オブジェクト42を、データベース・アク
セス・オブジェクト62におけるSQL照会生成プログ
ラム及びユーティリティなどの種々のデータ・アクセス
方法にマッピングする。
ト40は、更に、アプリケーション・オブジェクト58
とデータ・アクセス・オブジェクト62とに対するデー
タ・オブジェクト52インターフェースを含み、バケッ
ト・データ・オブジェクト42を、データベース・アク
セス・オブジェクト62におけるSQL照会生成プログ
ラム及びユーティリティなどの種々のデータ・アクセス
方法にマッピングする。
【0048】バケット40のデータベース・アクセス・
オブジェクト62は、データベース20A−nとインタ
ーフェースし、そのデータベースにアクセスして、結果
を、データベース・オブジェクト52に、従って、リク
エスト側のバケット・データ・オブジェクト42とリク
エスト側のアプリケーション・プログラム12とに戻
す。
オブジェクト62は、データベース20A−nとインタ
ーフェースし、そのデータベースにアクセスして、結果
を、データベース・オブジェクト52に、従って、リク
エスト側のバケット・データ・オブジェクト42とリク
エスト側のアプリケーション・プログラム12とに戻
す。
【0049】図4においては、本発明のバケット・メカ
ニズムの中に、アプリケーション・インターフェース3
0から、アプリケーション・オブジェクト58、バケッ
ト・データ・オブジェクト42、データベース・オブジ
ェクト52、及びデータベース・アクセス・オブジェク
ト62を介して、データベース20A−nに至る直接の
データ経路において、接続されていない成分が多くある
ことがわかる。これらの成分には、ルール・サーバ64
が含まれる。ルール・サーバ64は、アプリケーション
論理と、ビジネス・ルールと、ユーザ・インターフェー
スから分離し与えられたアプリケーション・プログラム
の複数のインスタンスの間で又は複数のアプリケーショ
ン・プログラムの間で共有することのできる方法と、を
含む。本発明のシステムでは、複数のルール・サーバ6
4を1つの与えられたシステムにおいてサポートするこ
とが可能であり、その場合には、それぞれのルール・サ
ーバ64が、異なる部門又はシステム・ユーザなどの、
アプリケーション・プログラム12又はユーザの異なる
機能的グルーピングをサポートすることができる。ルー
ル・サーバ64は、アプリケーション・オブジェクト5
8から、又は、例えば、後述するゲートウェイ68から
のアクセスが可能であるのが通常である。
ニズムの中に、アプリケーション・インターフェース3
0から、アプリケーション・オブジェクト58、バケッ
ト・データ・オブジェクト42、データベース・オブジ
ェクト52、及びデータベース・アクセス・オブジェク
ト62を介して、データベース20A−nに至る直接の
データ経路において、接続されていない成分が多くある
ことがわかる。これらの成分には、ルール・サーバ64
が含まれる。ルール・サーバ64は、アプリケーション
論理と、ビジネス・ルールと、ユーザ・インターフェー
スから分離し与えられたアプリケーション・プログラム
の複数のインスタンスの間で又は複数のアプリケーショ
ン・プログラムの間で共有することのできる方法と、を
含む。本発明のシステムでは、複数のルール・サーバ6
4を1つの与えられたシステムにおいてサポートするこ
とが可能であり、その場合には、それぞれのルール・サ
ーバ64が、異なる部門又はシステム・ユーザなどの、
アプリケーション・プログラム12又はユーザの異なる
機能的グルーピングをサポートすることができる。ルー
ル・サーバ64は、アプリケーション・オブジェクト5
8から、又は、例えば、後述するゲートウェイ68から
のアクセスが可能であるのが通常である。
【0050】ワークフロー成分66は、ルール・サーバ
64と類似するタスクを実行するが、システムにおける
ワークフロー・プロセスをサポートする。ワークフロー
成分66とルール・サーバ64との間の分割は、このシ
ステムにおいて実現されているワークフロー成分66と
ルール・サーバ64との特定の能力と機能とに依存す
る。
64と類似するタスクを実行するが、システムにおける
ワークフロー・プロセスをサポートする。ワークフロー
成分66とルール・サーバ64との間の分割は、このシ
ステムにおいて実現されているワークフロー成分66と
ルール・サーバ64との特定の能力と機能とに依存す
る。
【0051】最後に、ゲートウェイ66は、バケット・
メカニズムと外部のアプリケーション・プログラム12
とそれ以外のデータ・レポジトリとの間の通信をサポー
トし、他方で、インターフェース・サービス70は、イ
ンターフェース成分と、バケット・メカニズムの内部で
用いられるインターフェース・オブジェクト・クラスの
組とを含み、バケット・メカニズム成分の間での通信を
容易にする。
メカニズムと外部のアプリケーション・プログラム12
とそれ以外のデータ・レポジトリとの間の通信をサポー
トし、他方で、インターフェース・サービス70は、イ
ンターフェース成分と、バケット・メカニズムの内部で
用いられるインターフェース・オブジェクト・クラスの
組とを含み、バケット・メカニズム成分の間での通信を
容易にする。
【0052】図4では、それぞれのオブジェクトは、楕
円形の囲みで表されており、オブジェクトの間の通信
は、それらの間のラインによって表されている。更に、
通信ラインがオブジェクトに接続しているオブジェクト
の境界のいくつかは、オブジェクト境界内部の追加的な
ラインによって、オブジェクトのボディから離れている
マークが付されている。これらの離れたマークが付され
ている接続点は機能的及び動作的な境界又はボーダーを
示しており、そこでは、オブジェクトは、相互に物理的
及び機能的に分離されており、通信接続の一端にあるオ
ブジェクトはクライアントなどのシステムの或る物理的
又は機能的成分の上に存在し、その通信接続の他端にあ
るオブジェクトはサーバなどのシステムの別の物理的又
は機能的成分の上に存在している。従って、既に論じた
ように、本発明のシステムの物理的及び機能的トポロジ
は、広範囲の異なった物理的、地理的、及び機能的トポ
ロジに、容易に適応できる。
円形の囲みで表されており、オブジェクトの間の通信
は、それらの間のラインによって表されている。更に、
通信ラインがオブジェクトに接続しているオブジェクト
の境界のいくつかは、オブジェクト境界内部の追加的な
ラインによって、オブジェクトのボディから離れている
マークが付されている。これらの離れたマークが付され
ている接続点は機能的及び動作的な境界又はボーダーを
示しており、そこでは、オブジェクトは、相互に物理的
及び機能的に分離されており、通信接続の一端にあるオ
ブジェクトはクライアントなどのシステムの或る物理的
又は機能的成分の上に存在し、その通信接続の他端にあ
るオブジェクトはサーバなどのシステムの別の物理的又
は機能的成分の上に存在している。従って、既に論じた
ように、本発明のシステムの物理的及び機能的トポロジ
は、広範囲の異なった物理的、地理的、及び機能的トポ
ロジに、容易に適応できる。
【0053】次に、アプリケーション・インターフェー
ス30を、図1、図2、図4、図5、図6を参照して、
説明する。
ス30を、図1、図2、図4、図5、図6を参照して、
説明する。
【0054】図1及び図2を参照して説明したように、
アプリケーション・インターフェース30は、複数のイ
ンターフェース・モジュール34から構成され、データ
ベース動作を実行するそれぞれのタイプのアプリケーシ
ョン・プログラム12に対応するインターフェース・モ
ジュール34が存在する。アプリケーション・インター
フェース30のインターフェース・モジュール34は、
対応する1つ又は複数のアプリケーション・プログラム
12からデータベース動作のためのリクエストを受け取
るが、それぞれのリクエストは、リクエスト側のアプリ
ケーション・プログラム12にネイティブなフォーマッ
ト及びシンタクスを有しているので、それぞれのリクエ
スト又はコマンドを、バケット・エンジン32への1又
は複数のインターフェース・コールに変換する。アプリ
ケーション・プログラム12からデータベース動作のた
めのリクエストを受け取るインターフェース・モジュー
ル34は、もしあれば、バケット・エンジン32から、
リクエストの結果を受け取り、その結果を、リクエスト
側のアプリケーション・プログラム12に戻す。既に述
べたように、アプリケーション・インターフェース30
は、更に、データベース動作に関連するユーザ・インタ
ーフェース機能を、作成、管理、実行する手段と機能と
を含む。
アプリケーション・インターフェース30は、複数のイ
ンターフェース・モジュール34から構成され、データ
ベース動作を実行するそれぞれのタイプのアプリケーシ
ョン・プログラム12に対応するインターフェース・モ
ジュール34が存在する。アプリケーション・インター
フェース30のインターフェース・モジュール34は、
対応する1つ又は複数のアプリケーション・プログラム
12からデータベース動作のためのリクエストを受け取
るが、それぞれのリクエストは、リクエスト側のアプリ
ケーション・プログラム12にネイティブなフォーマッ
ト及びシンタクスを有しているので、それぞれのリクエ
スト又はコマンドを、バケット・エンジン32への1又
は複数のインターフェース・コールに変換する。アプリ
ケーション・プログラム12からデータベース動作のた
めのリクエストを受け取るインターフェース・モジュー
ル34は、もしあれば、バケット・エンジン32から、
リクエストの結果を受け取り、その結果を、リクエスト
側のアプリケーション・プログラム12に戻す。既に述
べたように、アプリケーション・インターフェース30
は、更に、データベース動作に関連するユーザ・インタ
ーフェース機能を、作成、管理、実行する手段と機能と
を含む。
【0055】図4に関して既に説明したように、アプリ
ケーション・インターフェース30は、バケット・エン
ジン32と同じように、この例では、インターフェース
・モジュール34の動作を共通に実行するのに用いられ
るプログラム、ユーティリティ、及び機能のライブラリ
として、オブジェクト・ベースのシステムにおいて実現
されているので、アプリケーション・インターフェース
30によって処理されるリクエストとバケット・エンジ
ン32コールとの性質(プロパティ)と特性とによっ
て、最もよく、説明される。
ケーション・インターフェース30は、バケット・エン
ジン32と同じように、この例では、インターフェース
・モジュール34の動作を共通に実行するのに用いられ
るプログラム、ユーティリティ、及び機能のライブラリ
として、オブジェクト・ベースのシステムにおいて実現
されているので、アプリケーション・インターフェース
30によって処理されるリクエストとバケット・エンジ
ン32コールとの性質(プロパティ)と特性とによっ
て、最もよく、説明される。
【0056】図5及び図6を参照すると、アプリケーシ
ョン・インターフェース30によって処理されるプロパ
ティ72がいくつか図解されている。図示されているよ
うに、これらのプロパティには、複数のユーザ・インタ
ーフェース・プロパティ(UI)74a−gが含まれ、
このそれぞれは、図解されているUI74a−gのエン
トリに示されているように、ユーザ・インターフェース
の1又は複数のプロパティを定義している。
ョン・インターフェース30によって処理されるプロパ
ティ72がいくつか図解されている。図示されているよ
うに、これらのプロパティには、複数のユーザ・インタ
ーフェース・プロパティ(UI)74a−gが含まれ、
このそれぞれは、図解されているUI74a−gのエン
トリに示されているように、ユーザ・インターフェース
の1又は複数のプロパティを定義している。
【0057】プロパティ68の他のものには、バケット
・データ・オブジェクト42に関係しバケット・オブジ
ェクトのタイプとIDなどの特徴を定義するバケット7
2a−gと、要求される作用と、メンバとを定義するバ
ケット76a−gが含まれる。このタイプ及びIDと
は、すなわち、リクエストに含まれる又はリクエストの
結果として生じるデータベース・コラム、データベース
・データ、タイプ、長さである。
・データ・オブジェクト42に関係しバケット・オブジ
ェクトのタイプとIDなどの特徴を定義するバケット7
2a−gと、要求される作用と、メンバとを定義するバ
ケット76a−gが含まれる。このタイプ及びIDと
は、すなわち、リクエストに含まれる又はリクエストの
結果として生じるデータベース・コラム、データベース
・データ、タイプ、長さである。
【0058】プロパティ68の中の更に別のものは、デ
ータベースからのメンバのソーティング又は順序付け
(オーダリング)に関するソート(Sort)78a−
b、データベース動作に関する条件を定義する条件(C
ondition)80a−c、ロー(Row)82、
コラム(Column)84、データベースからのメン
バのロー及びコラムの境界を定める(デリミットする)
マックスロー(MaxRows)86及びマックスコラ
ム(MaxCols)88などのバケット・データ・オ
ブジェクト42の必須又は選択可能な条件に関連し、定
義する。
ータベースからのメンバのソーティング又は順序付け
(オーダリング)に関するソート(Sort)78a−
b、データベース動作に関する条件を定義する条件(C
ondition)80a−c、ロー(Row)82、
コラム(Column)84、データベースからのメン
バのロー及びコラムの境界を定める(デリミットする)
マックスロー(MaxRows)86及びマックスコラ
ム(MaxCols)88などのバケット・データ・オ
ブジェクト42の必須又は選択可能な条件に関連し、定
義する。
【0059】ステータス(Status)90やステー
タス・ストリング(StatusString)92な
どの他のプロパティ68は、データベースの作用のステ
ータス(状態)に関連し、別の、SQMStmt94
が、現在のデータベース作用において用いられるSQL
文を識別し、すなわち、ユーザは、バケット・メカニズ
ム28の通常の手段を用いずに、SQL文を供給するこ
とができる。キャッシュ・タイプ(Cache Typ
e)96、キャッシュ継続時間(CacheDurat
ion)98、キャッシュ・マックス(Cache M
ax)100などの更に別のプロパティ68は、対応す
るバケット・データ・オブジェクト42のキャッシュ動
作に関連し、他方で、デフォルト・メンバ(Defau
ltMember)102、デフォルト・テキスト(D
efault Text)104など他のものは、結果
設定表示メカニズムが、コンビネーション・ボックス又
はリスト・ボックスなどの或る種のユーザ・インターフ
ェースであり表示されるデフォルトのデータベース・メ
ンバ・ローを記述するときに、用いられる。
タス・ストリング(StatusString)92な
どの他のプロパティ68は、データベースの作用のステ
ータス(状態)に関連し、別の、SQMStmt94
が、現在のデータベース作用において用いられるSQL
文を識別し、すなわち、ユーザは、バケット・メカニズ
ム28の通常の手段を用いずに、SQL文を供給するこ
とができる。キャッシュ・タイプ(Cache Typ
e)96、キャッシュ継続時間(CacheDurat
ion)98、キャッシュ・マックス(Cache M
ax)100などの更に別のプロパティ68は、対応す
るバケット・データ・オブジェクト42のキャッシュ動
作に関連し、他方で、デフォルト・メンバ(Defau
ltMember)102、デフォルト・テキスト(D
efault Text)104など他のものは、結果
設定表示メカニズムが、コンビネーション・ボックス又
はリスト・ボックスなどの或る種のユーザ・インターフ
ェースであり表示されるデフォルトのデータベース・メ
ンバ・ローを記述するときに、用いられる。
【0060】次に、図7から図9を参照してバケット・
マネジャ38を説明する。
マネジャ38を説明する。
【0061】既に述べたように、バケット・マネジャ3
8の機能は、アプリケーション・インターフェース30
からのリクエストに応答して、バケット40とバケット
・データ・オブジェクト42とを作成することである。
また、バケット・マネジャ38は、新たなバケット40
又はバケット・データ・オブジェクト42が特定のデー
タベース・リクエストの要件を満足するのに必要である
場合には、新たなバケット40又はバケット・データ・
オブジェクト42を作成する。上述のように、本発明の
バケット・メカニズム28は、バケット・データ・オブ
ジェクト42とバケット40とを作成するのに必要な情
報を、図3ではマップ(Map)46として表されてい
るマップ・オブジェクトの組に記憶するが、これは、図
7に図解されているように、この実施例では、オブジェ
クト・マップ106及びテーブル・マップ108とし
て、実現されている。オブジェクト・マップ106及び
テーブル・マップ108は、システムのユーザによって
ではなく、プログラマによって、システムによって用い
られ既知であるそれぞれのデータベース20A−nに対
して構成される。マップやテーブルに記憶されている情
報は、容易に修正して、後続の新たなデータベース又は
データ・オブジェクトをシステムに加えることができ
る。
8の機能は、アプリケーション・インターフェース30
からのリクエストに応答して、バケット40とバケット
・データ・オブジェクト42とを作成することである。
また、バケット・マネジャ38は、新たなバケット40
又はバケット・データ・オブジェクト42が特定のデー
タベース・リクエストの要件を満足するのに必要である
場合には、新たなバケット40又はバケット・データ・
オブジェクト42を作成する。上述のように、本発明の
バケット・メカニズム28は、バケット・データ・オブ
ジェクト42とバケット40とを作成するのに必要な情
報を、図3ではマップ(Map)46として表されてい
るマップ・オブジェクトの組に記憶するが、これは、図
7に図解されているように、この実施例では、オブジェ
クト・マップ106及びテーブル・マップ108とし
て、実現されている。オブジェクト・マップ106及び
テーブル・マップ108は、システムのユーザによって
ではなく、プログラマによって、システムによって用い
られ既知であるそれぞれのデータベース20A−nに対
して構成される。マップやテーブルに記憶されている情
報は、容易に修正して、後続の新たなデータベース又は
データ・オブジェクトをシステムに加えることができ
る。
【0062】図7を参照すると、本発明を組み入れたシ
ステム10の概略図が示されており、バケット・エンジ
ン32の機能的な構造及び動作が、更に詳細に図解さ
れ、また、バケット・データ・オブジェクト42を構成
する際に用いられるマップ及びテーブルが含まれてい
る。既に述べたように、バケット40は、バケット・デ
ータ・オブジェクト42を作成するのに必要な情報と、
その成分と、バケット・データ・オブジェクト42に関
連する要素とを含むマップ46の組を含む。図7に示さ
れているように、マップ46に含まれる情報は、オブジ
ェクト・マップ106とテーブル・マップ108とに存
在する。以下で述べるように、オブジェクト・マップ1
06は、本質的に、バケット・データ・オブジェクト4
2とデータベース20のテーブルとの間のマッピングで
あり、他方で、テーブル・マップ108は、本質的に、
データベース20のテーブルのコラムへの、バケット・
データ・オブジェクト42に関連するマップである。
ステム10の概略図が示されており、バケット・エンジ
ン32の機能的な構造及び動作が、更に詳細に図解さ
れ、また、バケット・データ・オブジェクト42を構成
する際に用いられるマップ及びテーブルが含まれてい
る。既に述べたように、バケット40は、バケット・デ
ータ・オブジェクト42を作成するのに必要な情報と、
その成分と、バケット・データ・オブジェクト42に関
連する要素とを含むマップ46の組を含む。図7に示さ
れているように、マップ46に含まれる情報は、オブジ
ェクト・マップ106とテーブル・マップ108とに存
在する。以下で述べるように、オブジェクト・マップ1
06は、本質的に、バケット・データ・オブジェクト4
2とデータベース20のテーブルとの間のマッピングで
あり、他方で、テーブル・マップ108は、本質的に、
データベース20のテーブルのコラムへの、バケット・
データ・オブジェクト42に関連するマップである。
【0063】例えば、ここでの説明に用いている例で
は、リクエストは、患者の人口学的なアプリケーション
・プログラム20Bから生じ、それによって、バケット
・エンジン32は、患者バケット40aとバケット・デ
ータ・オブジェクト42aとを作成することによって応
答し、人口学的なバケット・データ・オブジェクト42
に現れるデータベース・メンバは、患者の氏名、住所な
どを含む。オブジェクト・マップ106は、人口学的な
バケット・データ・オブジェクト42aに対応する情報
を含み、テーブル・マップ108は、患者の人口学的な
データのそれぞれのタイプに対応する情報を含む。
は、リクエストは、患者の人口学的なアプリケーション
・プログラム20Bから生じ、それによって、バケット
・エンジン32は、患者バケット40aとバケット・デ
ータ・オブジェクト42aとを作成することによって応
答し、人口学的なバケット・データ・オブジェクト42
に現れるデータベース・メンバは、患者の氏名、住所な
どを含む。オブジェクト・マップ106は、人口学的な
バケット・データ・オブジェクト42aに対応する情報
を含み、テーブル・マップ108は、患者の人口学的な
データのそれぞれのタイプに対応する情報を含む。
【0064】図8を参照すると、図解されているよう
に、テーブル・マップ108は、データベース20A−
nに含まれるそれぞれのデータベース・テーブルに対応
するテーブル110を含み、それぞれのテーブル110
は、データベース(DB)テーブル・ネーム112を含
み、メンバ・マップ・リスト114は、対応するバケッ
ト・データ・オブジェクト42において現れるデータを
含む対応するデータベース20のテーブルのそれぞれの
メンバに対するメンバ・マップを含む。それぞれのメン
バ・マップ116は、メンバ・マップ116に対応する
特定のメンバを識別するメンバ・ネーム118aと、そ
のメンバを含むデータベース・テーブルを識別するデー
タベース(DB)テーブル・ネーム118bとを含む。
それぞれのメンバ・マップ116は、対応するメンバを
含むデータベース・コラムを識別するデータベース(D
B)テーブル・コラム118cと、数字又は文字ストリ
ングなどのメンバを含むデータのタイプを識別するデー
タ・タイプ118dと、識別されたコラムにおけるメン
バの位置を識別する選択のためのSQL位置(SQLP
osition for Select)118eと、
を含む。
に、テーブル・マップ108は、データベース20A−
nに含まれるそれぞれのデータベース・テーブルに対応
するテーブル110を含み、それぞれのテーブル110
は、データベース(DB)テーブル・ネーム112を含
み、メンバ・マップ・リスト114は、対応するバケッ
ト・データ・オブジェクト42において現れるデータを
含む対応するデータベース20のテーブルのそれぞれの
メンバに対するメンバ・マップを含む。それぞれのメン
バ・マップ116は、メンバ・マップ116に対応する
特定のメンバを識別するメンバ・ネーム118aと、そ
のメンバを含むデータベース・テーブルを識別するデー
タベース(DB)テーブル・ネーム118bとを含む。
それぞれのメンバ・マップ116は、対応するメンバを
含むデータベース・コラムを識別するデータベース(D
B)テーブル・コラム118cと、数字又は文字ストリ
ングなどのメンバを含むデータのタイプを識別するデー
タ・タイプ118dと、識別されたコラムにおけるメン
バの位置を識別する選択のためのSQL位置(SQLP
osition for Select)118eと、
を含む。
【0065】図9を参照すると、オブジェクト・マップ
106は、それぞれのバケット・データ・オブジェクト
42に対応するオブジェクト120を含むリストであ
り、それぞれのオブジェクト120は、オブジェクト・
メンバ・マップ122とテーブル・リスト124とを含
む。それぞれのオブジェクト・メンバ・マップ122
は、バケット・データ・オブジェクト42に含まれるデ
ータベース20のすべてのメンバの連結されたリストで
あるメンバ・リスト122aを含む。示されているよう
に、メンバ・リスト122aは、バケット・データ・オ
ブジェクト42のデータベース20テーブルのそれぞれ
のメンバに対応し識別する、テーブル・メンバ122a
−1、122a−2などとして示されたエントリを含
む。オブジェクト・メンバ・マップ122は、また、バ
ケット・データ・オブジェクト42に属する複数のメン
バの組を識別する特別のマルチメンバ・リスト122b
を含む。
106は、それぞれのバケット・データ・オブジェクト
42に対応するオブジェクト120を含むリストであ
り、それぞれのオブジェクト120は、オブジェクト・
メンバ・マップ122とテーブル・リスト124とを含
む。それぞれのオブジェクト・メンバ・マップ122
は、バケット・データ・オブジェクト42に含まれるデ
ータベース20のすべてのメンバの連結されたリストで
あるメンバ・リスト122aを含む。示されているよう
に、メンバ・リスト122aは、バケット・データ・オ
ブジェクト42のデータベース20テーブルのそれぞれ
のメンバに対応し識別する、テーブル・メンバ122a
−1、122a−2などとして示されたエントリを含
む。オブジェクト・メンバ・マップ122は、また、バ
ケット・データ・オブジェクト42に属する複数のメン
バの組を識別する特別のマルチメンバ・リスト122b
を含む。
【0066】テーブル・リスト124は、テーブル・マ
ップ108に含まれるそれぞれのテーブル110に対応
するテーブル命令126を含む。図解されているよう
に、それぞれのテーブル命令126は、対応するテーブ
ルを識別するテーブル・ネーム126aと、テーブルが
メンバシップに挿入され又はそこから削除される順序を
定義する挿入順序126bと、メンバ・テーブルがどの
ように結合されるかを定義する結合条件126cとを含
む。それぞれのテーブル命令126は、更に、テーブル
を挿入することができる前に新たな及び一意的なテーブ
ル識別子が要求されるかどうかを示す必要キー126d
フラグと、もしあれば対応するキーを含むキー126e
とを含む。
ップ108に含まれるそれぞれのテーブル110に対応
するテーブル命令126を含む。図解されているよう
に、それぞれのテーブル命令126は、対応するテーブ
ルを識別するテーブル・ネーム126aと、テーブルが
メンバシップに挿入され又はそこから削除される順序を
定義する挿入順序126bと、メンバ・テーブルがどの
ように結合されるかを定義する結合条件126cとを含
む。それぞれのテーブル命令126は、更に、テーブル
を挿入することができる前に新たな及び一意的なテーブ
ル識別子が要求されるかどうかを示す必要キー126d
フラグと、もしあれば対応するキーを含むキー126e
とを含む。
【0067】再び図7を参照してバケット・エンジン3
2の動作を考察すると、アプリケーション・インターフ
ェース30を介して動作しているアプリケーション・プ
ログラム12は、データベース動作のためのコールを生
じ、この例では、結果的に、新たなバケット・データ・
オブジェクト42が作成される。バケット・マネジャ3
8は、アプリケーション・インターフェース30を介し
てリクエストを受け取り、アプリケーション・プログラ
ム12とリクエストされたデータとに対応するバケット
40を選択し、バケット40の作成バケット・オブジェ
クト方法をコールしてバケット・データ・オブジェクト
42を作成する。
2の動作を考察すると、アプリケーション・インターフ
ェース30を介して動作しているアプリケーション・プ
ログラム12は、データベース動作のためのコールを生
じ、この例では、結果的に、新たなバケット・データ・
オブジェクト42が作成される。バケット・マネジャ3
8は、アプリケーション・インターフェース30を介し
てリクエストを受け取り、アプリケーション・プログラ
ム12とリクエストされたデータとに対応するバケット
40を選択し、バケット40の作成バケット・オブジェ
クト方法をコールしてバケット・データ・オブジェクト
42を作成する。
【0068】バケット40の作成バケット・オブジェク
ト方法は、マップ46に、特に、作成されるバケット・
データ・オブジェクト42のタイプに対応するオブジェ
クト・マップ106にアクセスする。オブジェクト・マ
ップ106から、バケット・マネジャ38は、バケット
・データ・オブジェクト42の対応するタイプと、バケ
ット・データ・オブジェクト42の対応するタイプに作
用する又はそれが作用する方法と、バケット・データ・
オブジェクト42を構成する際に用いられるテーブル・
マップ108情報とに適用される条件を、識別し、特定
する。
ト方法は、マップ46に、特に、作成されるバケット・
データ・オブジェクト42のタイプに対応するオブジェ
クト・マップ106にアクセスする。オブジェクト・マ
ップ106から、バケット・マネジャ38は、バケット
・データ・オブジェクト42の対応するタイプと、バケ
ット・データ・オブジェクト42の対応するタイプに作
用する又はそれが作用する方法と、バケット・データ・
オブジェクト42を構成する際に用いられるテーブル・
マップ108情報とに適用される条件を、識別し、特定
する。
【0069】バケット・マネジャ38は、次に、この情
報を用いて、バケット・データ・オブジェクト42と、
関連するデータベース・オブジェクト52と、データベ
ース・アクセス・オブジェクト62とを構成する。これ
らの構成と情報とを用いることによって、バケット・マ
ネジャ38は、次に、データベース20A−nにアクセ
スし、図7に示されているバケット・データ・オブジェ
クト42、データベース・オブジェクト52、データベ
ース・アクセス・オブジェクト62、データベース20
A−n、及び対応するリターン・パスから成る経路を介
して、バケット・データ・オブジェクト52において現
れるデータを取得し、結果的なデータを要求側のアプリ
ケーション・プログラム12のために記憶する。
報を用いて、バケット・データ・オブジェクト42と、
関連するデータベース・オブジェクト52と、データベ
ース・アクセス・オブジェクト62とを構成する。これ
らの構成と情報とを用いることによって、バケット・マ
ネジャ38は、次に、データベース20A−nにアクセ
スし、図7に示されているバケット・データ・オブジェ
クト42、データベース・オブジェクト52、データベ
ース・アクセス・オブジェクト62、データベース20
A−n、及び対応するリターン・パスから成る経路を介
して、バケット・データ・オブジェクト52において現
れるデータを取得し、結果的なデータを要求側のアプリ
ケーション・プログラム12のために記憶する。
【0070】既に述べたように、他のアプリケーション
・プログラム12からの同じデータに関する後続のリク
エストは、結果的に、新たなバケット・データ・オブジ
ェクト42を構成することなく、その情報を含むバケッ
ト・データ・オブジェクト42の共通のアクセスによっ
て実行される。
・プログラム12からの同じデータに関する後続のリク
エストは、結果的に、新たなバケット・データ・オブジ
ェクト42を構成することなく、その情報を含むバケッ
ト・データ・オブジェクト42の共通のアクセスによっ
て実行される。
【0071】以上で本発明を、その装置及び方法の好適
実施例に基づいて示し説明したが、当業者であれば理解
するように、形態、詳細、及び構成について種々の変
更、改変、及び修正を、特許請求の範囲によって定義さ
れる発明の技術思想及び技術的範囲から離れることな
く、行うことができる。従って、特許請求の範囲は、そ
のような改変や修正を発明の技術思想及び技術的範囲を
すべて含むものとして、カバーすることを目的とする。
実施例に基づいて示し説明したが、当業者であれば理解
するように、形態、詳細、及び構成について種々の変
更、改変、及び修正を、特許請求の範囲によって定義さ
れる発明の技術思想及び技術的範囲から離れることな
く、行うことができる。従って、特許請求の範囲は、そ
のような改変や修正を発明の技術思想及び技術的範囲を
すべて含むものとして、カバーすることを目的とする。
【図1】本発明を組み入れたシステムの概略図の一部で
ある。
ある。
【図2】本発明を組み入れたシステムの概略図の一部で
ある。図1と組み合わせることにより、システムの全体
となる
ある。図1と組み合わせることにより、システムの全体
となる
【図3】本発明のバケットとバケット・オブジェクトと
の概略図である。
の概略図である。
【図4】本発明のオブジェクト・ベースの概略図であ
る。
る。
【図5】本発明のアプリケーション・インターフェース
のプロパティの概略図の一部である。
のプロパティの概略図の一部である。
【図6】本発明のアプリケーション・インターフェース
のプロパティの概略図の一部である。図5と組み合わせ
ることにより、プロパティの全体となる。
のプロパティの概略図の一部である。図5と組み合わせ
ることにより、プロパティの全体となる。
【図7】本発明の詳細な図であり、バケット・オブジェ
クトの構成を図解している。
クトの構成を図解している。
【図8】本発明のテーブル・マップの概略図である。
【図9】本発明のバケット・オブジェクト・マップの概
略図である。
略図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート・ジェイ・バーク アメリカ合衆国マサチューセッツ州01532, ノースボロ,アクアワム・ドライブ 6 (72)発明者 トーマス・イー・ハンソン アメリカ合衆国マサチューセッツ州01721, アッシュランド,ウッドランド・ロード 93 (72)発明者 ポール・ホーランド アメリカ合衆国マサチューセッツ州01760, ナティック,フォーレスト・アベニュー 15 (72)発明者 ジョン・エム・モリアティ アメリカ合衆国ニューハンプシャー州 03063,ナシュア,フォックスムーア・サ ークル 40
Claims (10)
- 【請求項1】 データに対して動作を実行するプロセッ
サと、前記プロセッサの動作を制御するプログラムと前
記データとを記憶するメモリと、を含むコンピュータ・
システムにおいて使用されるバケット・メカニズムであ
って、前記コンピュータ上で動くアプリケーション・プ
ログラムとデータベースとの間に接続され、前記アプリ
ケーション・プログラムによるデータベース・データへ
のアクセスを提供する、バケット・メカニズムにおい
て、 前記アプリケーション・プログラムから及び前記データ
ベースに接続されており、前記アプリケーション・プロ
グラムからのデータベース・リクエストに応答して、対
応するバケットを生成するバケット・エンジンを備えて
おり、 それぞれのバケットは、アプリケーション・プログラム
によって要求されるデータベースのデータ・メンバのク
ラスに対応しており、更に、 前記データベースから検索されたデータ・メンバを記憶
し、それぞれが、データベース・リクエストに応答して
前記データベースから検索されたデータ・メンバの関連
するグループに対応するバケット・データ・オブジェク
トと、 データベース・アクセス方法を保持及び実行し、データ
ベース・リクエストに応答して前記要求されたデータ・
メンバを前記データベースから検索し、前記要求された
データ・メンバを対応するバケット・データ・オブジェ
クトに記憶する、データベース・アクセス・オブジェク
トと、 を含んでおり、 前記バケット・エンジンは、データベース・リクエスト
に応答して、前記対応するバケット・データ・オブジェ
クトに記憶された前記要求されたデータ・メンバを前記
アプリケーション・プログラムに提供する、ことを特徴
とするバケット・メカニズム。 - 【請求項2】 請求項1記載のバケット・メカニズムに
おいて、それぞれのバケットは、 バケット・データ・オブジェクトとデータベース・アク
セス・オブジェクトとの間に接続されており、受け取っ
たデータベース・リクエストを前記データベース・アク
セス・オブジェクトのデータベース・アクセス方法にマ
ッピングし、前記受け取ったデータベース・リクエスト
に対応するデータベース・アクセス方法を前記データベ
ース・アクセス・オブジェクトに指示するデータベース
・オブジェクトを更に含むことを特徴とするバケット・
メカニズム。 - 【請求項3】 請求項1記載のバケット・メカニズムに
おいて、 前記アプリケーション・プログラムと前記バケット・エ
ンジンとの間に接続されており、前記アプリケーション
・プログラムとネイティブ・モードにおいて通信し、デ
ータベース照会(問い合わせ)を前記アプリケーション
・プログラムから受け取り、対応するデータベース・ア
クセス・リクエストを前記バケット・エンジンに生成す
るアプリケーション・インターフェースを更に含むこと
を特徴とするバケット・メカニズム。 - 【請求項4】 請求項1記載のバケット・メカニズムに
おいて、前記バケット・エンジンは、 対応するアプリケーション・プログラムからのデータベ
ース・リクエストに応答してバケット・エンジン動作を
実行するアプリケーション・オブジェクトを更に含み、
この動作は、前記対応するアプリケーション・プログラ
ムによって生成されたそれぞれのデータベース・リクエ
ストに対する及びそれに対応するバケット・エンジン・
データベース動作の開始を含むことを特徴とするバケッ
ト・メカニズム。 - 【請求項5】 請求項1記載のバケット・メカニズムに
おいて、 バケットとバケット・データ・オブジェクトを構成する
際に前記バケット・エンジンによって用いられる情報を
記憶するオブジェクト・マップとテーブル・マップとを
更に含み、 前記テーブル・マップは、データベース・テーブルに対
する及びそれに対応するテーブルを含み、 それぞれのテーブルは、 前記対応するデータベース・テーブルのIDと、前記バ
ケット・データ・オブジェクトにおいて現れる対応する
データベース・テーブルのそれぞれのメンバに対するメ
ンバ・マップと、を含み、 それぞれのメンバ・マップは、 前記メンバのIDと、 前記メンバを含むデータベース・コラムのIDと、 前記メンバのデータ・タイプのIDと、 を含み、 前記オブジェクト・マップは、それぞれのバケット・デ
ータ・オブジェクトに対する及びそれに対応するオブジ
ェクト・マップ・オブジェクトを含み、 それぞれのオブジェクト・マップ・オブジェクトは、前
記テーブル・マップとオブジェクト・メンバ・マップと
のテーブルにおいて現れるそれぞれのテーブルに対する
及びそれに対応するテーブル命令のテーブル・リストを
含み、 それぞれのテーブル命令は、 前記テーブル・マップにおいて対応するテーブルを識別
するテーブル名と、 前記テーブルがメンバシップに挿入され又はメンバシッ
プから削除される順序を定義する挿入順序と、 前記メンバ・テーブルがどのように結合されるかを定義
する結合条件と、 を含み、 前記オブジェクト・メンバ・マップは、前記バケット・
データ・オブジェクトのすべてのデータベース・メンバ
の連結されたリストを含み、 前記バケット・エンジンは、データベース・リクエスト
に応答して前記オブジェクト・マップと前記テーブル・
マップとにアクセスし、前記オブジェクト・マップと前
記テーブル・マップとに含まれる情報から対応するバケ
ット・データ・オブジェクトとバケットとを構成するこ
とを特徴とするバケット・メカニズム。 - 【請求項6】 データに対して動作を実行するプロセッ
サと、前記プロセッサの動作を制御するプログラムと前
記データとを記憶するメモリと、を含むコンピュータ・
システムにおいて用いられ、前記アプリケーション・プ
ログラムによるデータベース・データへのアクセスを提
供する方法であって、 前記アプリケーション・プログラムから及び前記データ
ベースに接続され、前記アプリケーション・プログラム
からのデータベース・リクエストに応答するバケット・
エンジンの動作によって、対応するバケットを生成する
ステップであって、それぞれのバケットは、アプリケー
ション・プログラムによって要求されたデータベースの
データ・メンバのクラスに対応する、ステップと、 それぞれのバケットに対して、少なくとも1つのバケッ
ト・データ・オブジェクトを生成するステップであっ
て、それぞれのバケット・データ・オブジェクトは、前
記データベースから受け取ったデータ・メンバを記憶
し、それぞれが、データベース・リクエストに応答して
前記データベースから検索されたデータ・メンバの関連
するグループに対応するバケット・データ・オブジェク
トを含む、ステップと、 それぞれのバケットに対して、データベース・アクセス
・オブジェクトを生成し、データベース・アクセス方法
を保持及び実行し、データベース・リクエストに応答し
て、前記要求されたデータ・メンバを前記データベース
から検索して、前記要求されたデータ・メンバを対応す
るバケット・データ・オブジェクトに記憶するステップ
と、 を含み、前記バケット・エンジンは、データベース・リ
クエストに応答して、前記対応するバケット・データ・
オブジェクトに記憶されている前記要求されたデータ・
メンバを、前記アプリケーション・プログラムに提供す
ることを特徴とする方法。 - 【請求項7】 請求項6記載の方法において、 バケット・データ・オブジェクトとデータベース・アク
セス・オブジェクトとの間に接続されており、受け取っ
たデータベース・リクエストを前記データベース・アク
セス・オブジェクトのデータベース・アクセス方法にマ
ッピングし、前記受け取ったデータベース・リクエスト
に対応するデータベース・アクセス方法を前記データベ
ース・アクセス・オブジェクトに指示するデータベース
・オブジェクトをそれぞれに対して生成するステップを
更に含むことを特徴とする方法。 - 【請求項8】 請求項6記載の方法において、 前記アプリケーション・プログラムと前記バケット・エ
ンジンとの間に接続されており、前記アプリケーション
・プログラムとネイティブ・モードにおいて通信し、デ
ータベース照会を前記アプリケーション・プログラムか
ら受け取り、対応するデータベース・アクセス・リクエ
ストを前記バケット・エンジンに生成するステップを更
に含むことを特徴とする方法。 - 【請求項9】 請求項6記載の方法において、 対応するアプリケーション・プログラムからのデータベ
ース・リクエストに応答してバケット・エンジン動作を
実行するステップであって、この動作は、前記対応する
アプリケーション・プログラムによって生成されたそれ
ぞれのデータベース・リクエストに対する及びそれに対
応するバケット・エンジン・データベース動作の開始を
含むステップを更に含むことを特徴とする方法。 - 【請求項10】 請求項6記載の方法において、 バケットとバケット・データ・オブジェクトを構成する
際に前記バケット・エンジンによって用いられる情報を
記憶するオブジェクト・マップとテーブル・マップとを
提供するステップを更に含み、 前記テーブル・マップは、データベース・テーブルに対
する及びそれに対応するテーブルを含み、 それぞれのテーブルは、 前記対応するデータベース・テーブルのIDと、前記バ
ケット・データ・オブジェクトにおいて現れる対応する
データベース・テーブルのそれぞれのメンバに対するメ
ンバ・マップと、を含み、 それぞれのメンバ・マップは、 前記メンバのIDと、 前記メンバを含むデータベース・コラムのIDと、 前記メンバのデータ・タイプのIDと、 を含み、 前記オブジェクト・マップは、それぞれのバケット・デ
ータ・オブジェクトに対する及びそれに対応するオブジ
ェクト・マップ・オブジェクトを含み、 それぞれのオブジェクト・マップ・オブジェクトは、前
記テーブル・マップとオブジェクト・メンバ・マップと
のテーブルにおいて現れるそれぞれのテーブルに対する
及びそれに対応するテーブル命令のテーブル・リストを
含み、 それぞれのテーブル命令は、 前記テーブル・マップにおいて対応するテーブルを識別
するテーブル名と、 前記テーブルがメンバシップに挿入され又はメンバシッ
プから削除される順序を定義する挿入順序と、 前記メンバ・テーブルがどのように結合されるかを定義
する結合条件と、 を含み、 前記オブジェクト・メンバ・マップは、前記バケット・
データ・オブジェクトのすべてのデータベース・メンバ
の連結されたリストを含み、 前記バケット・エンジンの動作によって、データベース
・リクエストに応答して、前記オブジェクト・マップと
前記テーブル・マップとにアクセスし、前記オブジェク
ト・マップと前記テーブル・マップとに含まれる情報か
ら対応するバケット・データ・オブジェクトとバケット
とを構成するステップを、 更に含むことを特徴とする方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US653952 | 1996-05-22 | ||
| US08/653,952 US5696961A (en) | 1996-05-22 | 1996-05-22 | Multiple database access server for application programs |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1069410A true JPH1069410A (ja) | 1998-03-10 |
Family
ID=24622932
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9132157A Pending JPH1069410A (ja) | 1996-05-22 | 1997-05-22 | アプリケーション・プログラムのためのマルチプル・データベース・アクセス・サーバ |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US5696961A (ja) |
| EP (1) | EP0809198A3 (ja) |
| JP (1) | JPH1069410A (ja) |
| AU (1) | AU729483B2 (ja) |
| CA (1) | CA2204797C (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1031718A2 (en) | 1999-02-24 | 2000-08-30 | Mikuni Corporation | Throttle valve controller for internal combustion engine |
| JP2006528801A (ja) * | 2003-07-22 | 2006-12-21 | エスアーペー アーゲー | サービス指向ビジネスフレームワークのサービス管理 |
Families Citing this family (75)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5799297A (en) * | 1995-12-15 | 1998-08-25 | Ncr Corporation | Task workflow management system and method including an external program execution feature |
| GB2313974B (en) * | 1996-06-06 | 2000-06-28 | Berners Lee Charles Peter | Apparatus and method for encoding data |
| US6026381A (en) * | 1996-11-05 | 2000-02-15 | Itx Corporation | Financial market classification system |
| US5857197A (en) * | 1997-03-20 | 1999-01-05 | Thought Inc. | System and method for accessing data stores as objects |
| 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 |
| US6708184B2 (en) | 1997-04-11 | 2004-03-16 | Medtronic/Surgical Navigation Technologies | Method and apparatus for producing and accessing composite data using a device having a distributed communication controller interface |
| US5970499A (en) | 1997-04-11 | 1999-10-19 | Smith; Kurt R. | Method and apparatus for producing and accessing composite data |
| US5953719A (en) * | 1997-09-15 | 1999-09-14 | International Business Machines Corporation | Heterogeneous database system with dynamic commit procedure control |
| CA2264340A1 (en) * | 1998-03-24 | 1999-09-24 | Northern Telecom Limited | Integrated performance support system protocol |
| JP3863291B2 (ja) * | 1998-05-28 | 2006-12-27 | 株式会社日立製作所 | データベース処理方法、データベース処理システム及び媒体 |
| US6446099B1 (en) | 1998-09-30 | 2002-09-03 | Ricoh Co., Ltd. | Document matching using structural information |
| 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 |
| US6574635B2 (en) * | 1999-03-03 | 2003-06-03 | Siebel Systems, Inc. | Application instantiation based upon attributes and values stored in a meta data repository, including tiering of application layers objects and components |
| EP1089202A1 (en) * | 1999-09-30 | 2001-04-04 | Abb Research Ltd. | Method for management and processing of data |
| US20040024620A1 (en) * | 1999-12-01 | 2004-02-05 | Rightfind Technology Company, Llc | Risk classification methodology |
| US6810422B1 (en) | 2000-01-14 | 2004-10-26 | Lockheed Martin Tactical Defense Systems | System and method for probabilistic quality of communication service determination |
| WO2001059560A1 (en) * | 2000-02-09 | 2001-08-16 | Quark, Inc. | Database publishing system and processes |
| EP1402405A2 (en) * | 2000-02-16 | 2004-03-31 | Real Consulting LLC | A system and method for automating the assembly, processing and delivery of documents |
| US6941513B2 (en) | 2000-06-15 | 2005-09-06 | Cognisphere, Inc. | System and method for text structuring and text generation |
| DE10031041A1 (de) * | 2000-06-26 | 2002-01-03 | Autodesk Inc | Bereitstellen einer Zugriffsmöglichkeit auf Anwendungsdatenelemente eines Anwendungsprogramms |
| US7181422B1 (en) * | 2000-10-20 | 2007-02-20 | Tranquilmoney, Inc. | Segregation and management of financial assets by rules |
| US7165221B2 (en) * | 2000-11-13 | 2007-01-16 | Draeger Medical Systems, Inc. | System and method for navigating patient medical information |
| IES20011031A2 (en) | 2000-11-30 | 2002-07-10 | Cbt Technology Ltd | Tracking of computer based training courses |
| US20040003132A1 (en) | 2000-12-06 | 2004-01-01 | Biosentients, Inc. | Data pool architecture, system, and method for intelligent object data in heterogeneous data environments |
| WO2002054171A2 (en) * | 2000-12-06 | 2002-07-11 | Biosentients, Inc. | System, method, software architecture and business model for an intelligent object based information technology platform |
| JP4039800B2 (ja) * | 2000-12-19 | 2008-01-30 | 株式会社日立製作所 | データ管理方法、オブジェクト統合管理システム |
| US20020174094A1 (en) * | 2001-05-21 | 2002-11-21 | Serge Loffe | Dataless applications |
| US7043481B2 (en) | 2001-06-01 | 2006-05-09 | Thought, Inc. | System, method and software for creating, maintaining, navigating or manipulating complex data objects and their data relationships |
| US7007039B2 (en) * | 2001-06-14 | 2006-02-28 | Microsoft Corporation | Method of building multidimensional workload-aware histograms |
| GB2377287B (en) * | 2001-07-06 | 2005-07-13 | Livedevices Ltd | Improvements relating to internet-connected devices |
| US20030046266A1 (en) * | 2001-07-26 | 2003-03-06 | Ward Mullins | System, method and software for creating or maintaining distributed transparent persistence of complex data objects and their data relationships |
| US20030050794A1 (en) * | 2001-09-07 | 2003-03-13 | Marjorie Keck | Hospital emergency department resource utilization and optimization system |
| US7533214B2 (en) | 2002-02-27 | 2009-05-12 | Microsoft Corporation | Open architecture flash driver |
| US6901499B2 (en) * | 2002-02-27 | 2005-05-31 | Microsoft Corp. | System and method for tracking data stored in a flash memory device |
| JP3624186B2 (ja) * | 2002-03-15 | 2005-03-02 | Tdk株式会社 | スイッチング電源装置用の制御回路及びこれを用いたスイッチング電源装置 |
| US7035845B2 (en) * | 2002-05-15 | 2006-04-25 | Microsoft Corporation | Generic proxy for representing search engine partner |
| US20040230505A1 (en) * | 2003-05-14 | 2004-11-18 | Chris Garlich | Method and system for managing a non-qualified deferred compensation program using hedging |
| EP1482406A1 (en) * | 2003-05-28 | 2004-12-01 | Sap Ag | A method of customizing an object by parametrising an application program |
| US7650338B2 (en) * | 2003-07-03 | 2010-01-19 | Ebay Inc. | Method and system for managing data transaction requests |
| US8630986B2 (en) | 2003-07-22 | 2014-01-14 | Sap Ag | Extending the functionality of enterprise services |
| US7890540B2 (en) * | 2003-07-22 | 2011-02-15 | Sap Ag | Browsing meta data for an enterprise service framework |
| US8122062B2 (en) * | 2003-07-22 | 2012-02-21 | Sap Ag | Meta model for an enterprise service architecture |
| US7231396B2 (en) * | 2003-07-24 | 2007-06-12 | International Business Machines Corporation | Data abstraction layer for a database |
| US8238696B2 (en) | 2003-08-21 | 2012-08-07 | Microsoft Corporation | Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system |
| US8166101B2 (en) | 2003-08-21 | 2012-04-24 | Microsoft Corporation | Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system |
| FI20031268A0 (fi) * | 2003-09-05 | 2003-09-05 | Nokia Corp | Ryhmäpalvelu, jossa mukana tietoa ryhmän jäsenistä |
| US7526489B2 (en) * | 2003-11-18 | 2009-04-28 | International Business Machines Corporation | Methods to integrate user-defined operations into a database |
| KR100580661B1 (ko) * | 2003-11-28 | 2006-05-16 | 경북대학교 산학협력단 | 의료 정보 통합 관리 시스템 및 방법 |
| US7398512B2 (en) * | 2003-12-02 | 2008-07-08 | Hewlett-Packard Development Company, L.P. | Method, system, and software for mapping and displaying process objects at different levels of abstraction |
| US6976029B2 (en) * | 2004-02-10 | 2005-12-13 | Microsoft Corporation | System and method for providing user defined types in a database system |
| JP5108309B2 (ja) * | 2004-02-10 | 2012-12-26 | マイクロソフト コーポレーション | ユーザ定義タイプの継承をサポートするためのシステムおよび方法 |
| US7376656B2 (en) * | 2004-02-10 | 2008-05-20 | Microsoft Corporation | System and method for providing user defined aggregates in a database system |
| US7469385B2 (en) * | 2004-02-20 | 2008-12-23 | Microsoft Corporation | Methods and systems for abstraction of logical editing operations |
| US20060047628A1 (en) * | 2004-08-31 | 2006-03-02 | Vadim Fux | System and method for managing databases in a handheld electronic device |
| US20060069679A1 (en) * | 2004-09-10 | 2006-03-30 | Percey Michael F | System for creating associative records |
| US7613709B2 (en) * | 2004-10-21 | 2009-11-03 | Microsoft Corporation | System and method for editing operations of a text object model |
| EP1672532A1 (en) * | 2004-12-16 | 2006-06-21 | BP Chemicals Limited | Layered Information Management System |
| US7689555B2 (en) * | 2005-01-14 | 2010-03-30 | International Business Machines Corporation | Context insensitive model entity searching |
| US20070043569A1 (en) * | 2005-08-19 | 2007-02-22 | Intervoice Limited Partnership | System and method for inheritance of advertised functionality in a user interactive system |
| US7797636B2 (en) * | 2005-08-19 | 2010-09-14 | Joseph Carter | System and method for administering pluggable user interactive system applications |
| US8683334B2 (en) * | 2005-08-19 | 2014-03-25 | Intervoice Limited Partnership | System and method for sharing access to service provider controls and subscriber profile data across multiple applications in a user interactive system |
| US20080222121A1 (en) * | 2006-06-02 | 2008-09-11 | Wolfgang Wiessler | System for Adaptively Querying a Data Storage Repository |
| US8103698B2 (en) * | 2007-02-28 | 2012-01-24 | Jianwen Yin | Methods, apparatus and media for system management of object oriented information models |
| US20080235255A1 (en) * | 2007-03-19 | 2008-09-25 | Redknee Inc. | Extensible Data Repository |
| CN102667761B (zh) | 2009-06-19 | 2015-05-27 | 布雷克公司 | 可扩展的集群数据库 |
| US8918365B2 (en) * | 2009-06-19 | 2014-12-23 | Blekko, Inc. | Dedicating disks to reading or writing |
| US8478772B2 (en) * | 2010-10-21 | 2013-07-02 | Oracle International Corporation | On-device database service for mobile device |
| US20120265846A1 (en) * | 2011-04-15 | 2012-10-18 | Springboard Non Profit Consumer Credit Management | System and method of coordinating a debt-relief program |
| US9501477B2 (en) * | 2012-08-21 | 2016-11-22 | Roovy, Inc. | Global media lists for mobile devices |
| US20140379634A1 (en) * | 2013-06-21 | 2014-12-25 | Avaya Inc. | Application-to-repository data mapping in data repositories, and related methods, systems, and computer-readable media |
| US9531808B2 (en) | 2013-08-22 | 2016-12-27 | Avaya Inc. | Providing data resource services within enterprise systems for resource level sharing among multiple applications, and related methods, systems, and computer-readable media |
| CN103425793B (zh) * | 2013-08-28 | 2017-03-01 | 五八同城信息技术有限公司 | 用于即时通讯系统中利用数据库存储层访问数据库的方法 |
| US20180204151A1 (en) | 2017-01-19 | 2018-07-19 | Bank Of America Corporation | System for platform activity gathering for alternative resource generation |
| US12153818B2 (en) | 2020-09-24 | 2024-11-26 | Pure Storage, Inc. | Bucket versioning snapshots |
| US11741093B1 (en) | 2021-07-21 | 2023-08-29 | T-Mobile Usa, Inc. | Intermediate communication layer to translate a request between a user of a database and the database |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4394731A (en) * | 1980-11-10 | 1983-07-19 | International Business Machines Corporation | Cache storage line shareability control for a multiprocessor system |
| US4476524A (en) * | 1981-07-02 | 1984-10-09 | International Business Machines Corporation | Page storage control methods and means |
| US4613946A (en) * | 1984-06-07 | 1986-09-23 | Forman Ernest H | Method and apparatus for generating hierarchical displays |
| US4853843A (en) * | 1987-12-18 | 1989-08-01 | Tektronix, Inc. | System for merging virtual partitions of a distributed database |
| US5202985A (en) * | 1988-04-14 | 1993-04-13 | Racal-Datacom, Inc. | Apparatus and method for displaying data communication network configuration after searching the network |
| US5210870A (en) * | 1990-03-27 | 1993-05-11 | International Business Machines | Database sort and merge apparatus with multiple memory arrays having alternating access |
| US5297279A (en) * | 1990-05-30 | 1994-03-22 | Texas Instruments Incorporated | System and method for database management supporting object-oriented programming |
| AU639802B2 (en) * | 1990-08-14 | 1993-08-05 | Oracle International Corporation | Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment |
| US5551028A (en) * | 1991-02-28 | 1996-08-27 | Mentor Graphics Corporation | Design data management system and associated method |
| JPH04275684A (ja) * | 1991-03-01 | 1992-10-01 | Fuji Xerox Co Ltd | 図形情報データベース構築方法およびその方法が適用される装置 |
| US5301105A (en) * | 1991-04-08 | 1994-04-05 | Desmond D. Cummings | All care health management system |
| US5446881A (en) * | 1992-09-25 | 1995-08-29 | At&T Corp. | Database storage and retrieval method using a declining stage size and repetitive searches |
| US5481712A (en) * | 1993-04-06 | 1996-01-02 | Cognex Corporation | Method and apparatus for interactively generating a computer program for machine vision analysis of an object |
| US5506984A (en) * | 1993-06-30 | 1996-04-09 | Digital Equipment Corporation | Method and system for data retrieval in a distributed system using linked location references on a plurality of nodes |
| US5542087A (en) * | 1993-10-15 | 1996-07-30 | Hewlett-Packard Company | Linear hashing for distributed records |
| US5542089A (en) * | 1994-07-26 | 1996-07-30 | International Business Machines Corporation | Method and apparatus for estimating the number of occurrences of frequent values in a data set |
-
1996
- 1996-05-22 US US08/653,952 patent/US5696961A/en not_active Expired - Fee Related
-
1997
- 1997-05-08 CA CA002204797A patent/CA2204797C/en not_active Expired - Fee Related
- 1997-05-15 AU AU22207/97A patent/AU729483B2/en not_active Ceased
- 1997-05-16 EP EP97108048A patent/EP0809198A3/en not_active Withdrawn
- 1997-05-22 JP JP9132157A patent/JPH1069410A/ja active Pending
- 1997-08-18 US US08/912,380 patent/US5920870A/en not_active Expired - Lifetime
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1031718A2 (en) | 1999-02-24 | 2000-08-30 | Mikuni Corporation | Throttle valve controller for internal combustion engine |
| JP2006528801A (ja) * | 2003-07-22 | 2006-12-21 | エスアーペー アーゲー | サービス指向ビジネスフレームワークのサービス管理 |
| US7685568B2 (en) | 2003-07-22 | 2010-03-23 | Sap Ag | Service management of a service oriented business framework |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0809198A2 (en) | 1997-11-26 |
| US5920870A (en) | 1999-07-06 |
| CA2204797A1 (en) | 1997-11-22 |
| AU2220797A (en) | 1997-11-27 |
| EP0809198A3 (en) | 1999-04-28 |
| CA2204797C (en) | 2001-10-23 |
| AU729483B2 (en) | 2001-02-01 |
| US5696961A (en) | 1997-12-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH1069410A (ja) | アプリケーション・プログラムのためのマルチプル・データベース・アクセス・サーバ | |
| US6341289B1 (en) | Object identity and partitioning for user defined extents | |
| US5581755A (en) | Method for maintaining a history of system data and processes for an enterprise | |
| JP3437849B2 (ja) | オブジェクト指向プログラミングを支援するデータベース管理システム及び方法 | |
| US5956725A (en) | Schema mapping to a legacy table with primary and foreign key support | |
| US7599948B2 (en) | Object relational mapping layer | |
| US9128996B2 (en) | Uniform data model and API for representation and processing of semantic data | |
| US5557793A (en) | In an object oriented repository, a method for treating a group of objects as a single object during execution of an operation | |
| US5752245A (en) | Object-oriented system for configuration history management with a project workspace and project history database for draft identification | |
| US5758351A (en) | System and method for the creation and use of surrogate information system objects | |
| US5937409A (en) | Integrating relational databases in an object oriented environment | |
| US6018627A (en) | Tool-independent system for application building in an object oriented development environment with data stored in repository in OMG compliant UML representation | |
| US5553282A (en) | Software project history database and method of operation | |
| US5659735A (en) | Object-oriented system for program version and history database management system for various program components | |
| US5644764A (en) | Method for supporting object modeling in a repository | |
| US8667508B2 (en) | Method for providing stand-in objects | |
| US20110010728A1 (en) | Method and System for Service Provisioning | |
| US20080244510A1 (en) | Visual creation of object/relational constructs | |
| US7299240B1 (en) | Method for translating computer data from one record structure to another | |
| JP2002182970A (ja) | オブジェクト統合管理システム | |
| CN118312551A (zh) | 一种实现异构数据源统一访问的方法及装置 | |
| US20020083212A1 (en) | Automatic feature augmentation for component based application programming interfaces | |
| CN112835638B (zh) | 一种基于嵌入式应用程序的配置信息管理方法及装置 | |
| US9052883B2 (en) | Creating an object in an object-oriented programming platform | |
| EP1093060A2 (en) | SQL interface for business application software |