JPH09244896A - 永続性オブジェクトのオブジェクトベース構築方法、コンピュータ読み取り可能媒体、および情報操作システム - Google Patents
永続性オブジェクトのオブジェクトベース構築方法、コンピュータ読み取り可能媒体、および情報操作システムInfo
- Publication number
- JPH09244896A JPH09244896A JP9002136A JP213697A JPH09244896A JP H09244896 A JPH09244896 A JP H09244896A JP 9002136 A JP9002136 A JP 9002136A JP 213697 A JP213697 A JP 213697A JP H09244896 A JPH09244896 A JP H09244896A
- Authority
- JP
- Japan
- Prior art keywords
- collection
- key
- objects
- persistent
- generating
- 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/4493—Object persistence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99936—Pattern matching access
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】 (修正有)
【課題】 オブジェクト指向の情報操作システムにおい
て、永続的なアプリケーション・オブジェクトのオブジ
ェクトベースを構成し、かつ使用すること。 【解決手段】 本構築方法は以下のステップから構成さ
れる。オブジェクトベース・コレクションに名前をつけ
る段階と、第1のキーを用いて、第1コレクションに関
連した各オブジェクトに名前をつける段階と、新規オブ
ジェクトの各々に第2のキーを割り当てる段階と、第1
のキーと第2のキーとから第3のキーを生成し、第3の
キーから各オブジェクトに対する参照と一つ以上のシス
テム識別子とを生成する段階と、インスタンス・コレク
ションに対する前記各オブジェクトのクラスを識別する
段階と、エレメント・オブジェクトを永続性に関わるス
トリーム・クラスを生成する段階と、インスタンス・コ
レクションに対して、永続性を持つ該インスタンス・コ
レクションの属性と対応するデータベース・フィールド
との間のマッピングを識別する段階。
て、永続的なアプリケーション・オブジェクトのオブジ
ェクトベースを構成し、かつ使用すること。 【解決手段】 本構築方法は以下のステップから構成さ
れる。オブジェクトベース・コレクションに名前をつけ
る段階と、第1のキーを用いて、第1コレクションに関
連した各オブジェクトに名前をつける段階と、新規オブ
ジェクトの各々に第2のキーを割り当てる段階と、第1
のキーと第2のキーとから第3のキーを生成し、第3の
キーから各オブジェクトに対する参照と一つ以上のシス
テム識別子とを生成する段階と、インスタンス・コレク
ションに対する前記各オブジェクトのクラスを識別する
段階と、エレメント・オブジェクトを永続性に関わるス
トリーム・クラスを生成する段階と、インスタンス・コ
レクションに対して、永続性を持つ該インスタンス・コ
レクションの属性と対応するデータベース・フィールド
との間のマッピングを識別する段階。
Description
【0001】
【発明の属する技術分野】本発明は、情報操作システ
ム、方法、製品に関するもので、特に永続性のアプリケ
ーション・オブジェクトのオブジェクトベースを含む情
報操作システム、方法、および製品に関する。
ム、方法、製品に関するもので、特に永続性のアプリケ
ーション・オブジェクトのオブジェクトベースを含む情
報操作システム、方法、および製品に関する。
【0002】
【従来の技術】オブジェクト・モデリングはデータ・モ
デリングよりも数多くの利点を顧客にもたらす。しか
し、多くの実体がどのようにして処理されるかについ
て、オブジェクトの世界はデータの世界から学ぶべきこ
とが多い。
デリングよりも数多くの利点を顧客にもたらす。しか
し、多くの実体がどのようにして処理されるかについ
て、オブジェクトの世界はデータの世界から学ぶべきこ
とが多い。
【0003】オブジェクトはエンド・ユーザに対して以
下のような顕著な改善をもたらす。すなわち、 ・オブジェクトは、開発費用を極力抑え(10分の一も
しくはそれ以上)、かつ市販されるまでの時間を少なく
することができるオフザシェルフ・バイナリ・オブジェ
クト(例えば、オープンドック(OpenDoc)部品)からア
プリケーションが組み立てられることを可能とする。 ・オブジェクトは、企業の実体および政策の制約をより
いっそう直接的にモデル化することを可能とする。 ・オブジェクトは、すべてのクライアント・サーバのア
クティビティに対する分散オブジェクト・リクエスト・
ブローカー(ORB)のみをサポートする簡素なクライア
ント・マシンを可能とする。
下のような顕著な改善をもたらす。すなわち、 ・オブジェクトは、開発費用を極力抑え(10分の一も
しくはそれ以上)、かつ市販されるまでの時間を少なく
することができるオフザシェルフ・バイナリ・オブジェ
クト(例えば、オープンドック(OpenDoc)部品)からア
プリケーションが組み立てられることを可能とする。 ・オブジェクトは、企業の実体および政策の制約をより
いっそう直接的にモデル化することを可能とする。 ・オブジェクトは、すべてのクライアント・サーバのア
クティビティに対する分散オブジェクト・リクエスト・
ブローカー(ORB)のみをサポートする簡素なクライア
ント・マシンを可能とする。
【0004】データベースは、非常に多く(例えば、10
9)のもの(レコードのコレクション)を首尾よく扱
う、いわばコンピュータ・システムのようなものであ
る。
9)のもの(レコードのコレクション)を首尾よく扱
う、いわばコンピュータ・システムのようなものであ
る。
【0005】従来、オブジェクト指向プログラミング・
システム(OOPS)を改善する数多くの方法が知られてい
る。その一例を以下に示す。
システム(OOPS)を改善する数多くの方法が知られてい
る。その一例を以下に示す。
【0006】米国特許第5,093,914号は、定義された動
作を開始させるオブジェクト指向プログラムの実行を制
御する際にデジタル・コンピュータによって使用される
方法を概して開示している。上記動作は、例えば上記プ
ログラムの実行中に所定のオブジェクト上に所定の仮想
ファンクションが呼び出された場合、プログラムを停止
させる。
作を開始させるオブジェクト指向プログラムの実行を制
御する際にデジタル・コンピュータによって使用される
方法を概して開示している。上記動作は、例えば上記プ
ログラムの実行中に所定のオブジェクト上に所定の仮想
ファンクションが呼び出された場合、プログラムを停止
させる。
【0007】上記特許はオブジェクト指向プログラムの
実行を制御する方法を概して扱う。しかし、本発明に関
連して本願明細書に開示され、かつクレームされている
永続性アプリケーション・オブジェクトのオブジェクト
ベースの構成については何等開示も示唆もなされていな
い。
実行を制御する方法を概して扱う。しかし、本発明に関
連して本願明細書に開示され、かつクレームされている
永続性アプリケーション・オブジェクトのオブジェクト
ベースの構成については何等開示も示唆もなされていな
い。
【0008】米国特許第5,343,554号は、以下のステッ
プを有するプロセスによって問題を解決するコンピュー
ティング・システムを開示している。すなわち、第1ク
ラスのオブジェクトと第2クラスのオブジェクトとを生
成すること(上記第2クラスのオブジェクトは、外側か
ら呼び出し可能(externally invocable)であり、さら
に外側から呼び出し可能なサブクラス・オブジェクトに
は内側から呼び出し可能な(internally invocable)サ
ブクラス・オブジェクトの指示が含まれる)、および上
記オブジェクトのクラスを実行すること(ここでは外側
から呼び出し可能な一つのサブオブジェクトが内側から
呼び出し可能なサブオブジェクトを呼び出し、さらに上
記第1クラスのオブジェクトが結果に応じて生成され
る)である。
プを有するプロセスによって問題を解決するコンピュー
ティング・システムを開示している。すなわち、第1ク
ラスのオブジェクトと第2クラスのオブジェクトとを生
成すること(上記第2クラスのオブジェクトは、外側か
ら呼び出し可能(externally invocable)であり、さら
に外側から呼び出し可能なサブクラス・オブジェクトに
は内側から呼び出し可能な(internally invocable)サ
ブクラス・オブジェクトの指示が含まれる)、および上
記オブジェクトのクラスを実行すること(ここでは外側
から呼び出し可能な一つのサブオブジェクトが内側から
呼び出し可能なサブオブジェクトを呼び出し、さらに上
記第1クラスのオブジェクトが結果に応じて生成され
る)である。
【0009】この特許では問題を解決するためにクラス
とサブクラスとを有するオブジェクト指向システムを一
般に扱っている。しかし、本発明に関連して本願明細書
に開示され、かつクレームされている永続性アプリケー
ション・オブジェクトのオブジェクトベースの構成につ
いては何等開示も示唆もなされていない。
とサブクラスとを有するオブジェクト指向システムを一
般に扱っている。しかし、本発明に関連して本願明細書
に開示され、かつクレームされている永続性アプリケー
ション・オブジェクトのオブジェクトベースの構成につ
いては何等開示も示唆もなされていない。
【0010】オブジェクトの世界がデータの世界で見い
だされた経験から得られるいくつかの重要な教訓を学び
取れば、両方の世界の最良なものが達成できよう。
だされた経験から得られるいくつかの重要な教訓を学び
取れば、両方の世界の最良なものが達成できよう。
【0011】
【発明が解決しようとする課題】したがって、本発明
は、オブジェクト指向の情報操作システムにおいて、永
続性アプリケーション・オブジェクトのオブジェクトベ
ースを構成し、かつ使用することを目的とする。
は、オブジェクト指向の情報操作システムにおいて、永
続性アプリケーション・オブジェクトのオブジェクトベ
ースを構成し、かつ使用することを目的とする。
【0012】
【課題を解決するための手段】したがって、システム、
方法、および製品は、一つ以上のプロセッサ、記憶シス
テム、システム・バス、情報を表示するためのディスプ
レイ・サブシステム、カーソル制御デバイス、I/Oサ
ブシステム、オペレーティング・システム・プログラ
ム、および一つ以上の永続性アプリケーション・オブジ
ェクトを含むオブジェクトベースを有する。
方法、および製品は、一つ以上のプロセッサ、記憶シス
テム、システム・バス、情報を表示するためのディスプ
レイ・サブシステム、カーソル制御デバイス、I/Oサ
ブシステム、オペレーティング・システム・プログラ
ム、および一つ以上の永続性アプリケーション・オブジ
ェクトを含むオブジェクトベースを有する。
【0013】
【発明の実施の形態】先行技術のデータ世界では、デー
タベース・レコード・コレクション(例えば、SQLテ
ーブル)は企業実体のコンピュータ・モデルのホームと
しての役を果たす。すなわち、ホーム・テーブルに実体
の記録が存在することは、企業にそれが存在することを
意味する。例えば、従業員のレコードが従業員テーブル
にある場合、従業員は企業のために働く。また、従業員
のレコードが従業員テーブルにない場合、従業員は企業
のために働かない。
タベース・レコード・コレクション(例えば、SQLテ
ーブル)は企業実体のコンピュータ・モデルのホームと
しての役を果たす。すなわち、ホーム・テーブルに実体
の記録が存在することは、企業にそれが存在することを
意味する。例えば、従業員のレコードが従業員テーブル
にある場合、従業員は企業のために働く。また、従業員
のレコードが従業員テーブルにない場合、従業員は企業
のために働かない。
【0014】これらのレコード・コレクションには名前
(例えば、従業員テーブル)がつけられており、またレ
コードにはプライマリ・キー(例えば、社会保障番号)
を介してホーム・コレクションに関係した名前がつけら
れている。この複合的な名前は、ユーザ・ネームとし
て、またレコードの識別子として役立つ。この仕組み
は、均一的に名前を付けること、あるいは全てのレコー
ドに関わる識別空間を持つことよりも、よりいっそう実
用的である。
(例えば、従業員テーブル)がつけられており、またレ
コードにはプライマリ・キー(例えば、社会保障番号)
を介してホーム・コレクションに関係した名前がつけら
れている。この複合的な名前は、ユーザ・ネームとし
て、またレコードの識別子として役立つ。この仕組み
は、均一的に名前を付けること、あるいは全てのレコー
ドに関わる識別空間を持つことよりも、よりいっそう実
用的である。
【0015】これらのレコード・コレクションは、レコ
ード用のORBまたはインスタンス管理プログラム(I
M)である。すなわち、ユーザはレコード・コレクショ
ン対して以下のことを要求する。すなわち、 ・新しいレコードをコレクションに作成する。 ・プライマリ・キーによって与えられたコレクション内
にあるレコードを見つけるか、もしくはメモリに入力す
る。 ・存在するレコードをコレクションから削除する。
ード用のORBまたはインスタンス管理プログラム(I
M)である。すなわち、ユーザはレコード・コレクショ
ン対して以下のことを要求する。すなわち、 ・新しいレコードをコレクションに作成する。 ・プライマリ・キーによって与えられたコレクション内
にあるレコードを見つけるか、もしくはメモリに入力す
る。 ・存在するレコードをコレクションから削除する。
【0016】特定のアプリケーション用に、問い合わせ
言語を用いてホーム・レコードコレクションを定義する
ことができる。すなわち、 ・述語によるこれらのホーム・レコード・コレクション
のサブセット。 ・列挙されたリストによるこれらのホーム・レコードを
構成するフィールドのサブセット。
言語を用いてホーム・レコードコレクションを定義する
ことができる。すなわち、 ・述語によるこれらのホーム・レコード・コレクション
のサブセット。 ・列挙されたリストによるこれらのホーム・レコードを
構成するフィールドのサブセット。
【0017】そのようなサブセット・レコード・コレク
ションは、ホーム・コレクションに加えて述語とフィー
ルドのリストとによって定義される。このレコードのサ
ブセットで一度にそれを得るために、繰り返し(iterato
r)が問い合わせ(query)に対応付けられる。例えば、
2階にあるオフィスの全従業員レコードのサブセット・
コレクションを、アプリケーション内で繰り返される繰
り返しとして定義することができる。組み込まれたSQ
Lを用いることによって、C言語プログラムを以下のよ
うにしてもよい。すなわち、
ションは、ホーム・コレクションに加えて述語とフィー
ルドのリストとによって定義される。このレコードのサ
ブセットで一度にそれを得るために、繰り返し(iterato
r)が問い合わせ(query)に対応付けられる。例えば、
2階にあるオフィスの全従業員レコードのサブセット・
コレクションを、アプリケーション内で繰り返される繰
り返しとして定義することができる。組み込まれたSQ
Lを用いることによって、C言語プログラムを以下のよ
うにしてもよい。すなわち、
【表1】 EXEC SQL DECLARE cl CURSOR FOR SELECT NAME, BIRTHYEAR // the subset of fields FROM EMPLOYEE // the table WHERE OFFICEFLOOR = 2; // the predicate ・・・・ EXEC SQL FETCH cl INTO :ename, :ebirthyear; ・・・・
【0018】データベースは、異なるユーザによるレコ
ードへの同時アクセスに対応する。データベースが同時
並行制御を行うことによって、ロッキングにある程度の
柔軟性が与えられる。柔軟性の一局面は、ロックがなさ
れた場合である。すなわち、 ・オン・デマンド・ロッキング: アクセスされること
により、レコード上にあるユーザの現行トランザクショ
ン文脈に代わってロックが自動的に得られる。これは、
典型的な省略時解釈である。 ・早期ロッキング: ユーザは、レコードのロックを該
レコードがアクセスされるよりも早く行うことができ
る。
ードへの同時アクセスに対応する。データベースが同時
並行制御を行うことによって、ロッキングにある程度の
柔軟性が与えられる。柔軟性の一局面は、ロックがなさ
れた場合である。すなわち、 ・オン・デマンド・ロッキング: アクセスされること
により、レコード上にあるユーザの現行トランザクショ
ン文脈に代わってロックが自動的に得られる。これは、
典型的な省略時解釈である。 ・早期ロッキング: ユーザは、レコードのロックを該
レコードがアクセスされるよりも早く行うことができ
る。
【0019】柔軟性の他の局面は、各繰り返し(すなわ
ち、カーソル)に対して選択される隔離レベルと呼ば
れ、ロックが解放された場合である。すなわち、 ・2段階ロッキング: アクセスされることにより、レ
コード上にあるユーザの現行トランザクション文脈に代
わってロックが自動的に得られ、さらにトランザクショ
ン終了までロックされた状態を保持する。アプリケーシ
ョン・セマンティクスに関わらず現行トランザクション
の直列性を保証する。これは、典型的な省略時解釈であ
る。 ・カーソル安定性: アクセスされることにより、レコ
ード上にあるユーザの現行トランザクション文脈に代わ
ってロックが自動的に得られ、さらにカーソルがレコー
ド上にある限り、および該レコードが更新された場合、
トランザクション終了までロックされた状態を保持す
る。このことによって、ロックの競合が大幅に減少でき
る。この弱い隔離レベルが受け入れ可能であるかを決定
するのは、アプリケーション次第である。 ・汚い読み取り(dirty read): これは読み取り専用
アプリケーションによってのみ用いられる。ロックはレ
コード上に保持されない。データが読み取られている
間、物理ページへのアクセスが直列化される。
ち、カーソル)に対して選択される隔離レベルと呼ば
れ、ロックが解放された場合である。すなわち、 ・2段階ロッキング: アクセスされることにより、レ
コード上にあるユーザの現行トランザクション文脈に代
わってロックが自動的に得られ、さらにトランザクショ
ン終了までロックされた状態を保持する。アプリケーシ
ョン・セマンティクスに関わらず現行トランザクション
の直列性を保証する。これは、典型的な省略時解釈であ
る。 ・カーソル安定性: アクセスされることにより、レコ
ード上にあるユーザの現行トランザクション文脈に代わ
ってロックが自動的に得られ、さらにカーソルがレコー
ド上にある限り、および該レコードが更新された場合、
トランザクション終了までロックされた状態を保持す
る。このことによって、ロックの競合が大幅に減少でき
る。この弱い隔離レベルが受け入れ可能であるかを決定
するのは、アプリケーション次第である。 ・汚い読み取り(dirty read): これは読み取り専用
アプリケーションによってのみ用いられる。ロックはレ
コード上に保持されない。データが読み取られている
間、物理ページへのアクセスが直列化される。
【0020】セキュリティを目的として、サブセット・
コレクションをユーザまたはユーザ・グループに対応付
けることができる。どのレコードをアクセスするかを制
限するために、サブセット述語はアプリケーション固有
の述語と論理積演算される。また、レコード・フィール
ドのサブセットに対するユーザ制限をさらに行うため
に、フィールド・ネームのリストも包含される。このリ
ストは、アプリケーション固有の問い合わせ中にもチェ
ックされる。アクセス制御に対する述語ベースのアプロ
ーチは、各ユーザまたはユーザ・グループのエレメント
・レコード・キーを列挙すること、または各レコードに
ACLを付けることよりも、よりいっそう適当である。
そのため、以下の理由により問い合わせ性能が上昇す
る。すなわち、 ・索引がアクセス制御述語に部分的に存在する場合、性
能が数桁増加する。 ・索引がアクセス制御述語に部分的に存在しない場合、
各レコードに対する述語のチェックは、レコード・アク
セス制御集団のレコードエレメントであるかをチェック
することよりもたいへん速い。
コレクションをユーザまたはユーザ・グループに対応付
けることができる。どのレコードをアクセスするかを制
限するために、サブセット述語はアプリケーション固有
の述語と論理積演算される。また、レコード・フィール
ドのサブセットに対するユーザ制限をさらに行うため
に、フィールド・ネームのリストも包含される。このリ
ストは、アプリケーション固有の問い合わせ中にもチェ
ックされる。アクセス制御に対する述語ベースのアプロ
ーチは、各ユーザまたはユーザ・グループのエレメント
・レコード・キーを列挙すること、または各レコードに
ACLを付けることよりも、よりいっそう適当である。
そのため、以下の理由により問い合わせ性能が上昇す
る。すなわち、 ・索引がアクセス制御述語に部分的に存在する場合、性
能が数桁増加する。 ・索引がアクセス制御述語に部分的に存在しない場合、
各レコードに対する述語のチェックは、レコード・アク
セス制御集団のレコードエレメントであるかをチェック
することよりもたいへん速い。
【0021】これらのホーム・レコード・コレクション
(データベース)は、信頼性を有し、かつ物理的に安定
したサーバに保存される。アプリケーションは、サーバ
・マシンまたは別個のクライアント・マシンのいずれに
おいても実行される。どちらの場合でも、データにアク
セスするアドレス空間は、ユーザ書き込みアプリケーシ
ョン・コードを実行するアドレス空間から分かれる。こ
れらのアプリケーションは、キャッシュ・レコードのみ
を処理する。
(データベース)は、信頼性を有し、かつ物理的に安定
したサーバに保存される。アプリケーションは、サーバ
・マシンまたは別個のクライアント・マシンのいずれに
おいても実行される。どちらの場合でも、データにアク
セスするアドレス空間は、ユーザ書き込みアプリケーシ
ョン・コードを実行するアドレス空間から分かれる。こ
れらのアプリケーションは、キャッシュ・レコードのみ
を処理する。
【0022】図1および図2を参照しながら、本発明の
情報操作システム10およびオペレーティング・システム
環境について説明する。
情報操作システム10およびオペレーティング・システム
環境について説明する。
【0023】情報操作システム10は、高性能プロセッサ
12、記憶システム14、システム・バス16、ディスプレイ
装置20を制御するディスプレイ・サブシステム18、カー
ソル制御装置22、およびI/O制御器24を有し、かつこ
れらのエレメントすべてがシステム・バス16によって接
続されたするグラフィックス・ワークステーション等で
ある。
12、記憶システム14、システム・バス16、ディスプレイ
装置20を制御するディスプレイ・サブシステム18、カー
ソル制御装置22、およびI/O制御器24を有し、かつこ
れらのエレメントすべてがシステム・バス16によって接
続されたするグラフィックス・ワークステーション等で
ある。
【0024】図1に示す情報操作システム10は、市販の
マルチタスク・オペレーティング・システム、例えばO
S/2(OS/2はインターナショナル・ビジネス・マ
シーン・コーポレーションの登録商標)である。OS/
2オペレーティング・システム26が制御する数多くのタ
スクのなかで、オペレーティング情報操作システム10は
インターナショナル・ビジネス・マシーン・コーポレー
ションから市販されている製品であるプログラム、SO
Mオブジェクト28の実行である。
マルチタスク・オペレーティング・システム、例えばO
S/2(OS/2はインターナショナル・ビジネス・マ
シーン・コーポレーションの登録商標)である。OS/
2オペレーティング・システム26が制御する数多くのタ
スクのなかで、オペレーティング情報操作システム10は
インターナショナル・ビジネス・マシーン・コーポレー
ションから市販されている製品であるプログラム、SO
Mオブジェクト28の実行である。
【0025】本発明の方法および製品は、SOMオブジ
ェクト・プログラムに反映されよう。
ェクト・プログラムに反映されよう。
【0026】以下、本発明にもとづくオブジェクトベー
スの記述について説明する。
スの記述について説明する。
【0027】オブジェクトの世界では、オブジェクトベ
ース・コレクションは企業実体のコンピュータ・モデル
としての役割を果たす。すなわち、オブジェクトベース
・コレクションに実体オブジェクトが存在することは、
企業にそれが存在することを意味する。例えば、もし従
業員オブジェクトが従業員コレクションにあるならば、
従業員は企業のために働き、もし従業員オブジェクトが
従業員コレクションに存在しなければ、従業員は企業の
ために働かない。以降図4を参照しながら説明する。
ース・コレクションは企業実体のコンピュータ・モデル
としての役割を果たす。すなわち、オブジェクトベース
・コレクションに実体オブジェクトが存在することは、
企業にそれが存在することを意味する。例えば、もし従
業員オブジェクトが従業員コレクションにあるならば、
従業員は企業のために働き、もし従業員オブジェクトが
従業員コレクションに存在しなければ、従業員は企業の
ために働かない。以降図4を参照しながら説明する。
【0028】これらのオブジェクトベース・コレクショ
ンは、ネーム・サービスを用いて名前が付けられる。
(STEP1)例えば、ACME・コーポレーションの
ユーザは、すべての従業員が含まれるオブジェクト・コ
レクションに設定された名前"従業員(employees)"を
含むマシン・ルート・ネーミング・コンテキスト(Nami
ngContext)(オブジェクト・ディレクトリ)を持って
もよい。レコードは、プライマリ・キー(例えば、社会
保障番号)を介したそのホーム・コレクションに関連し
て名前が付けられる。(STEP2)そのため、ユーザ
は与えられたキーを持つ従業員を見つけだすよう、コレ
クションに要求することができる。この機構は、全オブ
ジェクトに対して均一なネーム空間を持つよりもたいへ
ん実用的である。
ンは、ネーム・サービスを用いて名前が付けられる。
(STEP1)例えば、ACME・コーポレーションの
ユーザは、すべての従業員が含まれるオブジェクト・コ
レクションに設定された名前"従業員(employees)"を
含むマシン・ルート・ネーミング・コンテキスト(Nami
ngContext)(オブジェクト・ディレクトリ)を持って
もよい。レコードは、プライマリ・キー(例えば、社会
保障番号)を介したそのホーム・コレクションに関連し
て名前が付けられる。(STEP2)そのため、ユーザ
は与えられたキーを持つ従業員を見つけだすよう、コレ
クションに要求することができる。この機構は、全オブ
ジェクトに対して均一なネーム空間を持つよりもたいへ
ん実用的である。
【0029】これらのオブジェクト・コレクションの各
々は、オブジェクト・インスタンス管理プログラムまた
はそのエレメント・オブジェクトのORBのいずれかで
ある。そのうちの一つとして、以下の役割を果たす。す
なわち、 ・ユーザは、新しいエレメントの生成をオブジェクトベ
ース・コレクションに要求し、それを該コレクションに
含ませる(STEP3)。 ・それは、上記インスタンス管理プログラムに含まれる
固有のエレメント・オブジェクト構成要素キーを与える
(STEP4)。オブジェクトベース・コレクション・
インスタンス管理プログラムは、このためにデータベー
ス・レコード・キーを用いる。この構成要素キーは、イ
ンスタンス管理プログラムのキーを加えることによって
サーバ内で固有の全てのキーを生成するのに用いられ
る。(STEP5)この全キーは、サーバに識別子(i
d)または標識(tag)を付け加えることによって、全体
にわたって単一に作られた全ストリング化参照(full s
tringified reference)を生成するのに用いられる(S
TEP6)。データベースを活用することで、オブジェ
クト識別をサポートするために、レコード識別(すなわ
ち、レコードのキー)は各オブジェクトについて何らか
のものを永続的に記憶する必要がインスタンス管理プロ
グラムに起こらないようにする。 ・構成要素キーを与えることによって、エレメント・オ
ブジェクトを発見(メモリにキャッシュされている場
合)または活動化(メモリにキャッシュされていない場
合)のいずれか一方を行う(STEP7)。 ・ユーザは、コレクションに存在するエレメントを消失
させるように、オブジェクトベース・コレクションに対
して要求する。
々は、オブジェクト・インスタンス管理プログラムまた
はそのエレメント・オブジェクトのORBのいずれかで
ある。そのうちの一つとして、以下の役割を果たす。す
なわち、 ・ユーザは、新しいエレメントの生成をオブジェクトベ
ース・コレクションに要求し、それを該コレクションに
含ませる(STEP3)。 ・それは、上記インスタンス管理プログラムに含まれる
固有のエレメント・オブジェクト構成要素キーを与える
(STEP4)。オブジェクトベース・コレクション・
インスタンス管理プログラムは、このためにデータベー
ス・レコード・キーを用いる。この構成要素キーは、イ
ンスタンス管理プログラムのキーを加えることによって
サーバ内で固有の全てのキーを生成するのに用いられ
る。(STEP5)この全キーは、サーバに識別子(i
d)または標識(tag)を付け加えることによって、全体
にわたって単一に作られた全ストリング化参照(full s
tringified reference)を生成するのに用いられる(S
TEP6)。データベースを活用することで、オブジェ
クト識別をサポートするために、レコード識別(すなわ
ち、レコードのキー)は各オブジェクトについて何らか
のものを永続的に記憶する必要がインスタンス管理プロ
グラムに起こらないようにする。 ・構成要素キーを与えることによって、エレメント・オ
ブジェクトを発見(メモリにキャッシュされている場
合)または活動化(メモリにキャッシュされていない場
合)のいずれか一方を行う(STEP7)。 ・ユーザは、コレクションに存在するエレメントを消失
させるように、オブジェクトベース・コレクションに対
して要求する。
【0030】特定のアプリケーションに関して、オブジ
ェクト・コレクションのサブセット・コレクションを定
義するために問い合わせ言語が使用される。すなわち、 ・述語を介したこれらホーム・レコード・コレクション
の一つのサブセット。
ェクト・コレクションのサブセット・コレクションを定
義するために問い合わせ言語が使用される。すなわち、 ・述語を介したこれらホーム・レコード・コレクション
の一つのサブセット。
【0031】そのようなサブセット・オブジェクト・コ
レクションは、ホーム・コレクションに加えて述語を介
することによって定義される。例えば、2階にオフィス
のある全従業員オブジェクトのサブセット・コレクショ
ンを、アプリケーション内で繰り返される繰り返しとし
て定義することができる。問い合わせ述語にSQLを用
いることによって、C++プログラムを以下のようにし
てもよい。すなわち、
レクションは、ホーム・コレクションに加えて述語を介
することによって定義される。例えば、2階にオフィス
のある全従業員オブジェクトのサブセット・コレクショ
ンを、アプリケーション内で繰り返される繰り返しとし
て定義することができる。問い合わせ述語にSQLを用
いることによって、C++プログラムを以下のようにし
てもよい。すなわち、
【表2】 query_mgr = root_directory-> resolve("acme_query_manager"); query_mgr-> query( "SELECT * //get whole objects FROM employees //the collection WHERE office_floor = 2", //the predicate iterator); //OUT iterator ・・・・ an_emp = iterator-> get_next(); ・・・・
【0032】オブジェクトベースは、基礎をなすデータ
ベース・システムに対応する分離のレベルをサポートす
る。各問い合わせ対して、分離レベルが指定される。そ
れに応じて対応する繰り返し機構が動作する。
ベース・システムに対応する分離のレベルをサポートす
る。各問い合わせ対して、分離レベルが指定される。そ
れに応じて対応する繰り返し機構が動作する。
【0033】セキュリティを目的として、サブセット・
コレクションをユーザまたはユーザ・グループに対応付
けることができる。どのエレメント・オブジェクトにア
クセスするかを制限するために、サブセット述語とアプ
リケーション固有の述語との論理積(AND)を求める。
また、メソッドのサブセットに対するユーザ制限をさら
に行うために、メソッド・ネームのリストも包含され
る。このリストもまた、アプリケーションに固有の問い
合わせ中にチェックされる。
コレクションをユーザまたはユーザ・グループに対応付
けることができる。どのエレメント・オブジェクトにア
クセスするかを制限するために、サブセット述語とアプ
リケーション固有の述語との論理積(AND)を求める。
また、メソッドのサブセットに対するユーザ制限をさら
に行うために、メソッド・ネームのリストも包含され
る。このリストもまた、アプリケーションに固有の問い
合わせ中にチェックされる。
【0034】これらのオブジェクトベース・コレクショ
ン(オブジェクトベース)は、データベース・クライア
ント・アドレス空間内の物理的に安定した信頼性のある
サーバに保存される。アプリケーションは、これらのオ
ブジェクトベース・コレクションとそれらのクライアン
トとの両方を含むもので、さらに該クライアントもオブ
ジェクトであってもよい。
ン(オブジェクトベース)は、データベース・クライア
ント・アドレス空間内の物理的に安定した信頼性のある
サーバに保存される。アプリケーションは、これらのオ
ブジェクトベース・コレクションとそれらのクライアン
トとの両方を含むもので、さらに該クライアントもオブ
ジェクトであってもよい。
【0035】クライアントは、サーバ・マシンまたは別
個のクライアント・マシンのいずれにおいても実行され
る。一般にクライアントはオブジェクトベースから別個
のアドレス空間で実行されるので、セキュリティおよび
完全性が強化できる。このようなアプリケーション・プ
ロセスは、オブジェクトベースをキャッシュすること、
またはオブジェクトベース・マシンへ操作を進めること
ができる。
個のクライアント・マシンのいずれにおいても実行され
る。一般にクライアントはオブジェクトベースから別個
のアドレス空間で実行されるので、セキュリティおよび
完全性が強化できる。このようなアプリケーション・プ
ロセスは、オブジェクトベースをキャッシュすること、
またはオブジェクトベース・マシンへ操作を進めること
ができる。
【0036】図3は、本発明にもとづくオブジェクトベ
ース環境を説明するための図である。
ース環境を説明するための図である。
【0037】以下、コレクション・クラスのプロダクト
について説明する。
について説明する。
【0038】コレクション・クラスのプロダクトは、各
データベース・システムのアプリケーション・プログラ
ム・インターフェイス(API)に対して供給されなけれ
ばならない。
データベース・システムのアプリケーション・プログラ
ム・インターフェイス(API)に対して供給されなけれ
ばならない。
【0039】これらのオブジェクトベース・コレクショ
ン・クラスの一つに含まれる顧客は、新規のインスタン
ス・コレクションを生成するために以下のことを行う。
すなわち、 (1)データベース・クライアントにこのコレクション
のインスタンスを生成する。 (2)インスタンス・コレクションに対して、そのエレ
メント・オブジェクトのクラスは何かを告げる。 (3)インスタンス・コレクションに対して、そのエレ
メント・オブジェクトの永続性のために用いられるスト
リーム・クラスは何かを告げる。このストリーム・クラ
スは、データベース・スキーマとエレメント・クラスの
外部スキーマとの間のスキーマ・マッピングのためDA
X・GUIツールを介して生成されよう。 (4)インスタンス・コレクションに対して、永続性お
よび対応するデータベース・フィールドであるその属性
間のマッピングを告げる。それによって、データベース
・インデックスによって問い合わせを効率よく支援する
ことができる。 (5)インスタンス・コレクションに対して、アクセス
が述語のかたちとなった情報を制御することを告げる。
ン・クラスの一つに含まれる顧客は、新規のインスタン
ス・コレクションを生成するために以下のことを行う。
すなわち、 (1)データベース・クライアントにこのコレクション
のインスタンスを生成する。 (2)インスタンス・コレクションに対して、そのエレ
メント・オブジェクトのクラスは何かを告げる。 (3)インスタンス・コレクションに対して、そのエレ
メント・オブジェクトの永続性のために用いられるスト
リーム・クラスは何かを告げる。このストリーム・クラ
スは、データベース・スキーマとエレメント・クラスの
外部スキーマとの間のスキーマ・マッピングのためDA
X・GUIツールを介して生成されよう。 (4)インスタンス・コレクションに対して、永続性お
よび対応するデータベース・フィールドであるその属性
間のマッピングを告げる。それによって、データベース
・インデックスによって問い合わせを効率よく支援する
ことができる。 (5)インスタンス・コレクションに対して、アクセス
が述語のかたちとなった情報を制御することを告げる。
【0040】全データベース・システムAPIと同等の
コレクション・クラスの実現は、以下の通りである。す
なわち、 ・所定数(少数)のオブジェクトからなるキャッシュ管
理プログラムを有する。このプログラムには、事前に確
保された所定数のオブジェクト、データベース・キーに
もとづいたキャッシュ内のオブジェクトを発見するため
のハッシュ・テーブル、およびキャッシュ・ビクティム
(cache victim)を発見するための最低使用頻度(LR
U)アルゴリズムが含まれる。 ・所定のストリームを用いるオブジェクトを起動する。
このオブジェクトは、LRUアルゴリズムを介して見い
だされ、かつすでに割り当てられたメモリを再使用す
る。オブジェクトを初期化し、スキーマ・マッピングを
有するストリーム・オブジェクトに対してレコード・キ
ーを設定し、さらにストリームからそれ自体を習得する
ようにオブジェクトに告げる。
コレクション・クラスの実現は、以下の通りである。す
なわち、 ・所定数(少数)のオブジェクトからなるキャッシュ管
理プログラムを有する。このプログラムには、事前に確
保された所定数のオブジェクト、データベース・キーに
もとづいたキャッシュ内のオブジェクトを発見するため
のハッシュ・テーブル、およびキャッシュ・ビクティム
(cache victim)を発見するための最低使用頻度(LR
U)アルゴリズムが含まれる。 ・所定のストリームを用いるオブジェクトを起動する。
このオブジェクトは、LRUアルゴリズムを介して見い
だされ、かつすでに割り当てられたメモリを再使用す
る。オブジェクトを初期化し、スキーマ・マッピングを
有するストリーム・オブジェクトに対してレコード・キ
ーを設定し、さらにストリームからそれ自体を習得する
ようにオブジェクトに告げる。
【0041】各データベース・システムAPIに対して
特有のコレクション・クラスの実現は、以下の通りであ
る。すなわち、 ・正しいレコード・コレクションを含むデータベースに
対する接続を確保する。 ・識別されるエレメント・オブジェクトを発見するコレ
クションの問い合わせについて、コレクションはレコー
ドを浸透するデータベース問い合わせ上に述語の任意の
部分を翻訳する。残りのレコードが起動され、さらに残
りの述語が最終結果を持つ繰り返しを生成する。 ・起動中、正しいアクセス制御問い合わせと問い合わせ
述語との間の論理積(AND)を求める。
特有のコレクション・クラスの実現は、以下の通りであ
る。すなわち、 ・正しいレコード・コレクションを含むデータベースに
対する接続を確保する。 ・識別されるエレメント・オブジェクトを発見するコレ
クションの問い合わせについて、コレクションはレコー
ドを浸透するデータベース問い合わせ上に述語の任意の
部分を翻訳する。残りのレコードが起動され、さらに残
りの述語が最終結果を持つ繰り返しを生成する。 ・起動中、正しいアクセス制御問い合わせと問い合わせ
述語との間の論理積(AND)を求める。
【0042】コレクションおよびそのエレメントはデー
タベース・クライアントに含まれ、またコレクションは
正しいデータベースを理解し、かつデータベースと接続
するので、オーバーヘッドが減少する。
タベース・クライアントに含まれ、またコレクションは
正しいデータベースを理解し、かつデータベースと接続
するので、オーバーヘッドが減少する。
【0043】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)オブジェクトのオブジェクトベース・コレクショ
ンに名前をつける段階と、第1のキーを用いて、オブジ
ェクトの第1コレクションに関連した各オブジェクトに
名前をつける段階と、前記オブジェクトベース・コレク
ションに加える新規オブジェクトの各々に第2のキーを
割り当てる段階と、前記第1のキーと前記第2のキーと
から第3のキーを生成する段階と、前記割り当てられた
キーを持つ各オブジェクトを保存する段階とを有するこ
とを特徴とする永続性オブジェクトのオブジェクトベー
ス構築方法。 (2)前記第3のキーから前記オブジェクトベース・コ
レクション内の各オブジェクトに対する参照と、一つ以
上のシステム識別子とを生成する段階を、さらに有する
ことを特徴とする上記(1)に記載の永続性オブジェク
トのオブジェクトベース構築方法。 (3)データベース・クライアント内にオブジェクト・
コレクションを生成する段階と、インスタンス・コレク
ションに対する前記オブジェクト・コレクション内の各
オブジェクトのクラスを識別する段階とを、さらに有す
ることを特徴とする上記(1)に記載の永続性オブジェ
クトのオブジェクトベース構築方法。 (4)エレメント・オブジェクトを永続性に関わるスト
リーム・クラスを生成する段階をさらに有することを特
徴とする上記(1)に記載の永続性オブジェクトのオブ
ジェクトベース構築方法。 (5)インスタンス・コレクションに対して、永続性を
持つ該インスタンス・コレクションの属性と対応するデ
ータベース・フィールドとの間のマッピングを識別する
段階を、さらに有することを特徴とする上記(1)に記
載の永続性オブジェクトのオブジェクトベース構築方
法。 (6)インスタンス・コレクションに対して、一つ以上
の述語内のアクセス制御情報を識別する段階を、さらに
有することを特徴とする上記(1)に記載の永続性オブ
ジェクトのオブジェクトベース構築方法。 (7)前記ストリームを用いて前記エレメント・オブジ
ェクトを起動する段階を、さらに有することを特徴とす
る上記(4)に記載の永続性オブジェクトのオブジェク
トベース構築方法。 (8)前記エレメント・オブジェクトを起動する段階
は、さらに、前記エレメント・オブジェクトを初期化す
る段階と、ストリーム・オブジェクトに第2のキーを設
定する段階と、各エレメント・オブジェクトに対して、
前記ストリームから該エレメント・オブジェクトを内部
化するように命令する段階とを、さらに有することを特
徴とする上記(7)に記載の永続性オブジェクトのオブ
ジェクトベース構築方法。 (9)オブジェクトのオブジェクトベース・コレクショ
ンに名前をつける手段と、第1のキーを用いて、オブジ
ェクトの第1コレクションに関連した各オブジェクトに
名前をつける手段と、前記オブジェクトベース・コレク
ションに加える新規オブジェクトの各々に第2のキーを
割り当てる手段と、前記第1のキーと前記第2のキーと
から第3のキーを生成する手段と、前記割り当てられた
キーを持つ各オブジェクトを保存する手段とを備えるこ
とを特徴とするコンピュータ読み取り可能媒体。 (10)前記第3のキーから前記オブジェクトベース・
コレクション内の各オブジェクトに対する参照と、一つ
以上のシステム識別子とを生成する手段を、さらに備え
ることを特徴とする上記(9)に記載のコンピュータ読
み取り可能媒体。 (11)データベース・クライアント内にオブジェクト
・コレクションを生成する手段と、インスタンス・コレ
クションに対する前記オブジェクト・コレクション内の
各オブジェクトのクラスを識別する手段とを、さらに備
えることを特徴とする上記(9)に記載のコンピュータ
読み取り可能媒体。 (12)エレメント・オブジェクトを永続性に関わるス
トリーム・クラスを生成する手段をさらに有することを
さらに備えることを特徴とする上記(9)に記載のコン
ピュータ読み取り可能媒体。 (13)記憶システムと、システム・バスと、情報を表
示するためのディスプレイ・サブシステムと、カーソル
制御デバイスと、I/Oサブシステムと、オペレーティ
ング・システム・プログラムと、1つ以上の永続性オブ
ジェクトを含むオブジェクトベースとを備えることを特
徴とする情報操作システム。 (14)所定の少数からなるオブジェクトのキャッシュ
への格納を制御するキャッシュ・マネージャを、さらに
備えることを特徴とする上記(13)に記載の情報操作
システム。 (15)事前に割り当てられた1つ以上のオブジェクト
と、第1のキーにもとづいた前記キャッシュ内の第1の
オブジェクトに対するハッシュ・テーブルと、前記キャ
ッシュに格納されるオブジェクトを発見する最低使用頻
度機構っを含む手段とを、さらに備えることを特徴とす
る上記(13)に記載の情報操作システム。
の事項を開示する。 (1)オブジェクトのオブジェクトベース・コレクショ
ンに名前をつける段階と、第1のキーを用いて、オブジ
ェクトの第1コレクションに関連した各オブジェクトに
名前をつける段階と、前記オブジェクトベース・コレク
ションに加える新規オブジェクトの各々に第2のキーを
割り当てる段階と、前記第1のキーと前記第2のキーと
から第3のキーを生成する段階と、前記割り当てられた
キーを持つ各オブジェクトを保存する段階とを有するこ
とを特徴とする永続性オブジェクトのオブジェクトベー
ス構築方法。 (2)前記第3のキーから前記オブジェクトベース・コ
レクション内の各オブジェクトに対する参照と、一つ以
上のシステム識別子とを生成する段階を、さらに有する
ことを特徴とする上記(1)に記載の永続性オブジェク
トのオブジェクトベース構築方法。 (3)データベース・クライアント内にオブジェクト・
コレクションを生成する段階と、インスタンス・コレク
ションに対する前記オブジェクト・コレクション内の各
オブジェクトのクラスを識別する段階とを、さらに有す
ることを特徴とする上記(1)に記載の永続性オブジェ
クトのオブジェクトベース構築方法。 (4)エレメント・オブジェクトを永続性に関わるスト
リーム・クラスを生成する段階をさらに有することを特
徴とする上記(1)に記載の永続性オブジェクトのオブ
ジェクトベース構築方法。 (5)インスタンス・コレクションに対して、永続性を
持つ該インスタンス・コレクションの属性と対応するデ
ータベース・フィールドとの間のマッピングを識別する
段階を、さらに有することを特徴とする上記(1)に記
載の永続性オブジェクトのオブジェクトベース構築方
法。 (6)インスタンス・コレクションに対して、一つ以上
の述語内のアクセス制御情報を識別する段階を、さらに
有することを特徴とする上記(1)に記載の永続性オブ
ジェクトのオブジェクトベース構築方法。 (7)前記ストリームを用いて前記エレメント・オブジ
ェクトを起動する段階を、さらに有することを特徴とす
る上記(4)に記載の永続性オブジェクトのオブジェク
トベース構築方法。 (8)前記エレメント・オブジェクトを起動する段階
は、さらに、前記エレメント・オブジェクトを初期化す
る段階と、ストリーム・オブジェクトに第2のキーを設
定する段階と、各エレメント・オブジェクトに対して、
前記ストリームから該エレメント・オブジェクトを内部
化するように命令する段階とを、さらに有することを特
徴とする上記(7)に記載の永続性オブジェクトのオブ
ジェクトベース構築方法。 (9)オブジェクトのオブジェクトベース・コレクショ
ンに名前をつける手段と、第1のキーを用いて、オブジ
ェクトの第1コレクションに関連した各オブジェクトに
名前をつける手段と、前記オブジェクトベース・コレク
ションに加える新規オブジェクトの各々に第2のキーを
割り当てる手段と、前記第1のキーと前記第2のキーと
から第3のキーを生成する手段と、前記割り当てられた
キーを持つ各オブジェクトを保存する手段とを備えるこ
とを特徴とするコンピュータ読み取り可能媒体。 (10)前記第3のキーから前記オブジェクトベース・
コレクション内の各オブジェクトに対する参照と、一つ
以上のシステム識別子とを生成する手段を、さらに備え
ることを特徴とする上記(9)に記載のコンピュータ読
み取り可能媒体。 (11)データベース・クライアント内にオブジェクト
・コレクションを生成する手段と、インスタンス・コレ
クションに対する前記オブジェクト・コレクション内の
各オブジェクトのクラスを識別する手段とを、さらに備
えることを特徴とする上記(9)に記載のコンピュータ
読み取り可能媒体。 (12)エレメント・オブジェクトを永続性に関わるス
トリーム・クラスを生成する手段をさらに有することを
さらに備えることを特徴とする上記(9)に記載のコン
ピュータ読み取り可能媒体。 (13)記憶システムと、システム・バスと、情報を表
示するためのディスプレイ・サブシステムと、カーソル
制御デバイスと、I/Oサブシステムと、オペレーティ
ング・システム・プログラムと、1つ以上の永続性オブ
ジェクトを含むオブジェクトベースとを備えることを特
徴とする情報操作システム。 (14)所定の少数からなるオブジェクトのキャッシュ
への格納を制御するキャッシュ・マネージャを、さらに
備えることを特徴とする上記(13)に記載の情報操作
システム。 (15)事前に割り当てられた1つ以上のオブジェクト
と、第1のキーにもとづいた前記キャッシュ内の第1の
オブジェクトに対するハッシュ・テーブルと、前記キャ
ッシュに格納されるオブジェクトを発見する最低使用頻
度機構っを含む手段とを、さらに備えることを特徴とす
る上記(13)に記載の情報操作システム。
【図1】本発明にもとづく方法を実行するシステムのブ
ロック図である。
ロック図である。
【図2】本発明を支援するオペレーティング・システム
のプラットフォームとシステム・オブジェクトのモデル
・プログラムとを説明するための模式図である。
のプラットフォームとシステム・オブジェクトのモデル
・プログラムとを説明するための模式図である。
【図3】本発明にもとづくオブジェクトベース環境を説
明するためのブロック図である。
明するためのブロック図である。
【図4】本発明にもとづいて、オブジェクトベースのオ
ブジェクトに対して名前を付けるプロセスを説明するた
めのフローチャートである。
ブジェクトに対して名前を付けるプロセスを説明するた
めのフローチャートである。
10 情報操作システム 12 プロセッサ 14 記憶システム 16 システム・バス 18 ディスプレイ・サブシステム 20 ディスプレイ装置 22 カーソル制御装置 24 I/O制御器 26 OS/2 28 SOMオブジェクト
Claims (15)
- 【請求項1】オブジェクトのオブジェクトベース・コレ
クションに名前をつける段階と、 第1のキーを用いて、オブジェクトの第1コレクション
に関連した各オブジェクトに名前をつける段階と、 前記オブジェクトベース・コレクションに加える新規オ
ブジェクトの各々に第2のキーを割り当てる段階と、 前記第1のキーと前記第2のキーとから第3のキーを生
成する段階と、 前記割り当てられたキーを持つ各オブジェクトを保存す
る段階とを有することを特徴とする永続性オブジェクト
のオブジェクトベース構築方法。 - 【請求項2】前記第3のキーから前記オブジェクトベー
ス・コレクション内の各オブジェクトに対する参照と、
一つ以上のシステム識別子とを生成する段階を、さらに
有することを特徴とする請求項1に記載の永続性オブジ
ェクトのオブジェクトベース構築方法。 - 【請求項3】データベース・クライアント内にオブジェ
クト・コレクションを生成する段階と、 インスタンス・コレクションに対する前記オブジェクト
・コレクション内の各オブジェクトのクラスを識別する
段階とを、さらに有することを特徴とする請求項1に記
載の永続性オブジェクトのオブジェクトベース構築方
法。 - 【請求項4】エレメント・オブジェクトを永続性に関わ
るストリーム・クラスを生成する段階をさらに有するこ
とを特徴とする請求項1に記載の永続性オブジェクトの
オブジェクトベース構築方法。 - 【請求項5】インスタンス・コレクションに対して、永
続性を持つ該インスタンス・コレクションの属性と対応
するデータベース・フィールドとの間のマッピングを識
別する段階を、さらに有することを特徴とする請求項1
に記載の永続性オブジェクトのオブジェクトベース構築
方法。 - 【請求項6】インスタンス・コレクションに対して、一
つ以上の述語内のアクセス制御情報を識別する段階を、
さらに有することを特徴とする請求項1に記載の永続性
オブジェクトのオブジェクトベース構築方法。 - 【請求項7】前記ストリームを用いて前記エレメント・
オブジェクトを起動する段階を、さらに有することを特
徴とする請求項4に記載の永続性オブジェクトのオブジ
ェクトベース構築方法。 - 【請求項8】前記エレメント・オブジェクトを起動する
段階は、さらに、 前記エレメント・オブジェクトを初期化する段階と、 ストリーム・オブジェクトに第2のキーを設定する段階
と、 各エレメント・オブジェクトに対して、前記ストリーム
から該エレメント・オブジェクトを内部化するように命
令する段階とを、さらに有することを特徴とする請求項
7に記載の永続性オブジェクトのオブジェクトベース構
築方法。 - 【請求項9】オブジェクトのオブジェクトベース・コレ
クションに名前をつける手段と、 第1のキーを用いて、オブジェクトの第1コレクション
に関連した各オブジェクトに名前をつける手段と、 前記オブジェクトベース・コレクションに加える新規オ
ブジェクトの各々に第2のキーを割り当てる手段と、 前記第1のキーと前記第2のキーとから第3のキーを生
成する手段と、 前記割り当てられたキーを持つ各オブジェクトを保存す
る手段とを備えることを特徴とするコンピュータ読み取
り可能媒体。 - 【請求項10】前記第3のキーから前記オブジェクトベ
ース・コレクション内の各オブジェクトに対する参照
と、一つ以上のシステム識別子とを生成する手段を、さ
らに備えることを特徴とする請求項9に記載のコンピュ
ータ読み取り可能媒体。 - 【請求項11】データベース・クライアント内にオブジ
ェクト・コレクションを生成する手段と、 インスタンス・コレクションに対する前記オブジェクト
・コレクション内の各オブジェクトのクラスを識別する
手段とを、さらに備えることを特徴とする請求項9に記
載のコンピュータ読み取り可能媒体。 - 【請求項12】エレメント・オブジェクトを永続性に関
わるストリーム・クラスを生成する手段をさらに有する
ことをさらに備えることを特徴とする請求項9に記載の
コンピュータ読み取り可能媒体。 - 【請求項13】記憶システムと、 システム・バスと、 情報を表示するためのディスプレイ・サブシステムと、 カーソル制御デバイスと、 I/Oサブシステムと、 オペレーティング・システム・プログラムと、 1つ以上の永続性オブジェクトを含むオブジェクトベー
スとを備えることを特徴とする情報操作システム。 - 【請求項14】所定の少数からなるオブジェクトのキャ
ッシュへの格納を制御するキャッシュ・マネージャを、
さらに備えることを特徴とする請求項13に記載の情報
操作システム。 - 【請求項15】事前に割り当てられた1つ以上のオブジ
ェクトと、 第1のキーにもとづいた前記キャッシュ内の第1のオブ
ジェクトに対するハッシュ・テーブルと、 前記キャッシュに格納されるオブジェクトを発見する最
低使用頻度機構っを含む手段とを、さらに備えることを
特徴とする請求項13に記載の情報操作システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/589230 | 1996-01-22 | ||
US08/589,230 US5809506A (en) | 1996-01-22 | 1996-01-22 | Method for creating an object base of persisent application objects in an object oriented programming environment and apparatus related thereto |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09244896A true JPH09244896A (ja) | 1997-09-19 |
Family
ID=24357160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9002136A Pending JPH09244896A (ja) | 1996-01-22 | 1997-01-09 | 永続性オブジェクトのオブジェクトベース構築方法、コンピュータ読み取り可能媒体、および情報操作システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US5809506A (ja) |
JP (1) | JPH09244896A (ja) |
GB (1) | GB2309326B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7398313B1 (en) | 1999-09-14 | 2008-07-08 | International Business Machines Corporation | Client server system and method for executing an application utilizing distributed objects |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6782538B1 (en) * | 1995-12-14 | 2004-08-24 | International Business Machines Corporation | Object oriented information handling system including an extensible instance manager |
GB2321540A (en) * | 1997-01-25 | 1998-07-29 | Ibm | Automatic transactional locking using object request broker |
GB2326492B (en) * | 1997-06-20 | 2002-03-20 | Ibm | Apparatus, method and computer program for providing arbitrary locking modes for controlling concurrent access to server resources |
US6151700A (en) * | 1997-10-20 | 2000-11-21 | International Business Machines Corporation | Object oriented distributed programming system for computer controlled networks with selective capture of program property data identifying a particular program version |
US6202066B1 (en) | 1997-11-19 | 2001-03-13 | The United States Of America As Represented By The Secretary Of Commerce | Implementation of role/group permission association using object access type |
US6347320B1 (en) * | 1998-04-30 | 2002-02-12 | International Business Machines Corporation | Search parameters |
US6505211B1 (en) | 1999-01-26 | 2003-01-07 | International Business Machines Corporation | Method for providing for persistence of java classes where the persistence semantics may be orthogonal to the class definition |
US6470354B1 (en) | 1999-08-05 | 2002-10-22 | International Business Machines Corporation | Implementing persistent object services (POS) on top of a relational database |
ATE327540T1 (de) | 2000-05-25 | 2006-06-15 | Manyworlds Inc | Netzwerkverwaltungs- und zugriffssystem für unscharfe inhalte |
US7543304B2 (en) * | 2000-12-14 | 2009-06-02 | Borland Software Corporation | Method for efficient location of corba objects based on an unmarshaled object key in a request |
USRE45770E1 (en) | 2003-11-28 | 2015-10-20 | World Assets Consulting Ag, Llc | Adaptive recommendation explanations |
US7526458B2 (en) | 2003-11-28 | 2009-04-28 | Manyworlds, Inc. | Adaptive recommendations systems |
US8566263B2 (en) * | 2003-11-28 | 2013-10-22 | World Assets Consulting Ag, Llc | Adaptive computer-based personalities |
US7539652B2 (en) | 2003-11-28 | 2009-05-26 | Manyworlds, Inc. | Adaptive self-modifying and recombinant systems |
US20090018918A1 (en) | 2004-11-04 | 2009-01-15 | Manyworlds Inc. | Influence-based Social Network Advertising |
US7526459B2 (en) | 2003-11-28 | 2009-04-28 | Manyworlds, Inc. | Adaptive social and process network systems |
US7606772B2 (en) | 2003-11-28 | 2009-10-20 | Manyworlds, Inc. | Adaptive social computing methods |
US8600920B2 (en) | 2003-11-28 | 2013-12-03 | World Assets Consulting Ag, Llc | Affinity propagation in adaptive network-based systems |
US7340478B2 (en) * | 2005-01-07 | 2008-03-04 | International Business Machines Corporation | Method and apparatus for implementing container managed uses, ownerships, and references in an enterprise JavaBean environment |
US20060156313A1 (en) * | 2005-01-07 | 2006-07-13 | Hambrick Geoffrey M | Method and apparatus for implementing container managed batch jobs in an enterprise java bean environment |
US20060155745A1 (en) * | 2005-01-07 | 2006-07-13 | Hambrick Geoffrey M | System and method to implement container managed streams in J2EE environments |
US8156468B2 (en) * | 2008-09-24 | 2012-04-10 | Simio Llc | System and method for creating intelligent simulation objects using graphical process descriptions |
Family Cites Families (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4525780A (en) * | 1981-05-22 | 1985-06-25 | Data General Corporation | Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information |
US4566078A (en) * | 1983-03-30 | 1986-01-21 | International Business Machines Corp. | Concurrent multi-lingual use in data processing systems |
US5404506A (en) * | 1985-03-27 | 1995-04-04 | Hitachi, Ltd. | Knowledge based information retrieval system |
US5047925A (en) * | 1985-05-06 | 1991-09-10 | Motorola, Inc. | Logical ring in a virtual single machine |
US4814971A (en) * | 1985-09-11 | 1989-03-21 | Texas Instruments Incorporated | Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state |
US4853842A (en) * | 1985-09-11 | 1989-08-01 | Texas Instruments Incorporated | Computer memory system having persistent objects |
US5043871A (en) * | 1986-03-26 | 1991-08-27 | Hitachi, Ltd. | Method and apparatus for database update/recovery |
US5335323A (en) * | 1987-01-05 | 1994-08-02 | Motorola, Inc. | Computer human interface with multiapplication display |
US5369778A (en) * | 1987-08-21 | 1994-11-29 | Wang Laboratories, Inc. | Data processor that customizes program behavior by using a resource retrieval capability |
US5206951A (en) * | 1987-08-21 | 1993-04-27 | Wang Laboratories, Inc. | Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types |
US5226161A (en) * | 1987-08-21 | 1993-07-06 | Wang Laboratories, Inc. | Integration of data between typed data structures by mutual direct invocation between data managers corresponding to data types |
US5016162A (en) * | 1988-03-30 | 1991-05-14 | Data General Corp. | Contention revolution in a digital computer system |
US4953080A (en) * | 1988-04-25 | 1990-08-28 | Hewlett-Packard Company | Object management facility for maintaining data in a computer system |
US5343554A (en) * | 1988-05-20 | 1994-08-30 | John R. Koza | Non-linear genetic process for data encoding and for solving problems using automatically defined functions |
US4989132A (en) * | 1988-10-24 | 1991-01-29 | Eastman Kodak Company | Object-oriented, logic, and database programming tool with garbage collection |
US5265221A (en) * | 1989-03-20 | 1993-11-23 | Tandem Computers | Access restriction facility method and apparatus |
US5111413A (en) * | 1989-03-24 | 1992-05-05 | Vantage Analysis Systems, Inc. | Computer-aided engineering |
JP2786236B2 (ja) * | 1989-03-27 | 1998-08-13 | 株式会社日立製作所 | データ配送方法および装置 |
US5325524A (en) * | 1989-04-06 | 1994-06-28 | Digital Equipment Corporation | Locating mobile objects in a distributed computer system |
US5095480A (en) * | 1989-06-16 | 1992-03-10 | Fenner Peter R | Message routing system for shared communication media networks |
US5187790A (en) * | 1989-06-29 | 1993-02-16 | Digital Equipment Corporation | Server impersonation of client processes in an object based computer operating system |
US5297283A (en) * | 1989-06-29 | 1994-03-22 | Digital Equipment Corporation | Object transferring system and method in an object based computer operating system |
US5136712A (en) * | 1989-06-29 | 1992-08-04 | Digital Equipment Corporation | Temporary object handling system and method in an object based computer operating system |
US5163148A (en) * | 1989-08-11 | 1992-11-10 | Digital Equipment Corporation | File backup system for producing a backup copy of a file which may be updated during backup |
US5161225A (en) * | 1989-10-23 | 1992-11-03 | International Business Machines Corporation | Persistent stream for processing time consuming and reusable queries in an object oriented database management system |
JPH0833862B2 (ja) * | 1989-10-23 | 1996-03-29 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | オブジエクト指向コンピユータ・システム |
US5093914A (en) * | 1989-12-15 | 1992-03-03 | At&T Bell Laboratories | Method of controlling the execution of object-oriented programs |
US5075845A (en) * | 1989-12-22 | 1991-12-24 | Intel Corporation | Type management and control in an object oriented memory protection mechanism |
US5297279A (en) * | 1990-05-30 | 1994-03-22 | Texas Instruments Incorporated | System and method for database management supporting object-oriented programming |
US5280610A (en) * | 1990-08-14 | 1994-01-18 | Digital Equipment Corporation | Methods and apparatus for implementing data bases to provide object-oriented invocation of applications |
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 |
US5412774A (en) * | 1990-08-29 | 1995-05-02 | At&T Corp. | Apparatus for and method of displaying a data item of a database using the display function of a selected data item |
US5287453A (en) * | 1990-09-18 | 1994-02-15 | Bull Hn Information Systems, Inc. | Fast remote file access facility for distributing file access requests in a closely coupled computer system |
JPH04191941A (ja) * | 1990-11-27 | 1992-07-10 | Hitachi Ltd | オブジェクト管理システム |
US5315709A (en) * | 1990-12-03 | 1994-05-24 | Bachman Information Systems, Inc. | Method and apparatus for transforming objects in data models |
US5295256A (en) * | 1990-12-14 | 1994-03-15 | Racal-Datacom, Inc. | Automatic storage of persistent objects in a relational schema |
US5291583A (en) * | 1990-12-14 | 1994-03-01 | Racal-Datacom, Inc. | Automatic storage of persistent ASN.1 objects in a relational schema |
US5301286A (en) * | 1991-01-02 | 1994-04-05 | At&T Bell Laboratories | Memory archiving indexing arrangement |
US5303375A (en) * | 1991-04-26 | 1994-04-12 | Hewlett-Packard Company | System and method for facilitating selection of running functional process in object-oriented environments |
US5276872A (en) * | 1991-06-25 | 1994-01-04 | Digital Equipment Corporation | Concurrency and recovery for index trees with nodal updates using multiple atomic actions by which the trees integrity is preserved during undesired system interruptions |
JPH0530493A (ja) * | 1991-07-24 | 1993-02-05 | Sony Corp | デイジタルビデオ信号の復号化装置 |
US5305389A (en) * | 1991-08-30 | 1994-04-19 | Digital Equipment Corporation | Predictive cache system |
US5301316A (en) * | 1991-10-30 | 1994-04-05 | Sun Microsystems, Inc. | System for determination of the equivalence of two objects without compromising then done by a third object nominated by one and accetped by the other |
GB9126779D0 (en) * | 1991-12-17 | 1992-02-12 | Int Computers Ltd | Security mechanism for a computer system |
US5363313A (en) * | 1992-02-28 | 1994-11-08 | Cadence Design Systems, Inc. | Multiple-layer contour searching method and apparatus for circuit building block placement |
US5414840A (en) * | 1992-06-25 | 1995-05-09 | Digital Equipment Corporation | Method and system for decreasing recovery time for failed atomic transactions by keeping copies of altered control structures in main memory |
US5404508A (en) * | 1992-12-03 | 1995-04-04 | Unisys Corporation | Data base backup and recovery system and method |
US5408649A (en) * | 1993-04-30 | 1995-04-18 | Quotron Systems, Inc. | Distributed data access system including a plurality of database access processors with one-for-N redundancy |
US5463774A (en) * | 1993-06-28 | 1995-10-31 | Digital Equipment Corporation | Object oriented computer architecture using directory objects |
US5379432A (en) * | 1993-07-19 | 1995-01-03 | Taligent, Inc. | Object-oriented interface for a procedural operating system |
US5404529A (en) * | 1993-07-19 | 1995-04-04 | Taligent, Inc. | Object-oriented interprocess communication system interface for a procedural operating system |
WO1995003586A1 (en) * | 1993-07-21 | 1995-02-02 | Persistence Software, Inc. | Method and apparatus for generation of code for mapping relational data to objects |
WO1995004960A2 (en) * | 1993-08-02 | 1995-02-16 | Persistence Software, Inc. | Method and apparatus for managing relational data in an object cache |
US5499365A (en) * | 1993-08-04 | 1996-03-12 | International Business Machines Corporation | System and method for controlling versions of objects in an object oriented computing environment |
US5369702A (en) * | 1993-10-18 | 1994-11-29 | Tecsec Incorporated | Distributed cryptographic object method |
US5742813A (en) * | 1994-11-10 | 1998-04-21 | Cadis, Inc. | Method and apparatus for concurrency in an object oriented database using lock inheritance based on class objects |
-
1996
- 1996-01-22 US US08/589,230 patent/US5809506A/en not_active Expired - Lifetime
-
1997
- 1997-01-09 GB GB9700352A patent/GB2309326B/en not_active Expired - Lifetime
- 1997-01-09 JP JP9002136A patent/JPH09244896A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7398313B1 (en) | 1999-09-14 | 2008-07-08 | International Business Machines Corporation | Client server system and method for executing an application utilizing distributed objects |
Also Published As
Publication number | Publication date |
---|---|
US5809506A (en) | 1998-09-15 |
GB9700352D0 (en) | 1997-02-26 |
GB2309326B (en) | 2000-09-20 |
GB2309326A (en) | 1997-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH09244896A (ja) | 永続性オブジェクトのオブジェクトベース構築方法、コンピュータ読み取り可能媒体、および情報操作システム | |
EP1040433B1 (en) | A fine-grained consistency mechanism for optimistic concurrency control using lock groups | |
US5850544A (en) | System and method for efficient relational query generation and tuple-to-object translation in an object-relational gateway supporting class inheritance | |
JP3848085B2 (ja) | トランザクションデータの高速記憶常駐処理方法および処理システム | |
US8010533B2 (en) | System for executing a database query | |
US6587854B1 (en) | Virtually partitioning user data in a database system | |
US5706506A (en) | Method and apparatus for managing relational data in an object cache | |
US6374256B1 (en) | Method and apparatus for creating indexes in a relational database corresponding to classes in an object-oriented application | |
US5832498A (en) | Device for generating object-oriented interfaces for relational data bases and a process implemented by this device | |
US6665863B1 (en) | Data referencing within a database graph | |
US6477527B2 (en) | System, method, and program for object building in queries over object views | |
US20080281846A1 (en) | High performant row-level data manipulation using a data layer interface | |
US20010056426A1 (en) | Transparent object instantiation/initialization from a relational store | |
US7702649B1 (en) | Object-relational mapping system and method for generic relationships | |
WO1996010232A1 (en) | Object oriented data store integration environment | |
JPH113267A (ja) | データベース管理システム内でオブジェクトの状態と挙動を結合する方法および装置 | |
JP2001527244A (ja) | オブジェクト・リレーショナル・マッピングにおけるクエリー実行をクライアントとサーバーとで効率的に分割する方法及び装置 | |
KR20060048418A (ko) | 사용자 정의 형식의 지정 멤버의 지연 인출을 위한시스템과 방법 | |
US6301581B1 (en) | Method and system for managing access to a plurality of data objects | |
US6421666B1 (en) | Mechanism for sharing ancillary data between a family of related functions | |
US7979412B2 (en) | Object query over previous query results | |
JP2002182970A (ja) | オブジェクト統合管理システム | |
KR100259447B1 (ko) | 객체 지향 서버에서 오브젝트 서비스를 이진 클래스에 부가하기 위한 시스템, 방법 및 제조사항 | |
JP2001527241A (ja) | オブジェクト指向データ依存性に対応するデータベース内の記憶済み手続をロードするための方法及び装置 | |
Cebollero et al. | Catalog Views and Dynamic aent Views |