JP2711216B2 - オブジェクトを管理するためのシステム及び方法 - Google Patents
オブジェクトを管理するためのシステム及び方法Info
- Publication number
- JP2711216B2 JP2711216B2 JP5332891A JP33289193A JP2711216B2 JP 2711216 B2 JP2711216 B2 JP 2711216B2 JP 5332891 A JP5332891 A JP 5332891A JP 33289193 A JP33289193 A JP 33289193A JP 2711216 B2 JP2711216 B2 JP 2711216B2
- Authority
- JP
- Japan
- Prior art keywords
- work
- unit
- state
- lock flag
- visitor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- 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
-
- 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/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】
【産業上の利用分野】本発明はデータ処理システム及び
方法に関し、特に、オブジェクト指向のコンピューティ
ング環境に関する。
方法に関し、特に、オブジェクト指向のコンピューティ
ング環境に関する。
【0002】
【従来の技術】オブジェクト指向のプログラミング・シ
ステム及び処理は "オブジェクト指向コンピューティン
グ環境" とも称され、最新のデータ処理環境における研
究及び関心の対象である。当業者には既知のように、オ
ブジェクト指向コンピューティング環境は非常に多数
の"オブジェクト"から構成される。オブジェクトはデー
タ構造であり、これはフレームとも称され、またデータ
構造をアクセス可能な "メソッド" とも称されるオペレ
ーションまたはファンクションのセットを含む。フレー
ムは多くの"スロット"を有し、それらの各々はスロット
内のデータの"属性"を有する。属性は基本要素(整数ま
たはストリングなど)であったり、オブジェクト参照
(OREF)、すなわち別のオブジェクトに対するポイ
ンタであったりする。
ステム及び処理は "オブジェクト指向コンピューティン
グ環境" とも称され、最新のデータ処理環境における研
究及び関心の対象である。当業者には既知のように、オ
ブジェクト指向コンピューティング環境は非常に多数
の"オブジェクト"から構成される。オブジェクトはデー
タ構造であり、これはフレームとも称され、またデータ
構造をアクセス可能な "メソッド" とも称されるオペレ
ーションまたはファンクションのセットを含む。フレー
ムは多くの"スロット"を有し、それらの各々はスロット
内のデータの"属性"を有する。属性は基本要素(整数ま
たはストリングなど)であったり、オブジェクト参照
(OREF)、すなわち別のオブジェクトに対するポイ
ンタであったりする。
【0003】各定義オブジェクトは、通常、多数の"イ
ンスタンス"において表現される。各インスタンスは特
定のオブジェクト例に対応する特定のデータ構造を含
む。オブジェクト指向のコンピューティング環境におい
ては、オブジェクトにそのメソッドの1つを実行するよ
うに要求することによりデータが処理される。これはオ
ブジェクトに"メッセージ"を送信することにより達成さ
れる。受信オブジェクトは、メッセージ名をインプリメ
ントするメソッドを選択することによりメッセージに応
答し、命名されたインスタンス上でこのメソッドを実行
し、制御をメソッドの結果と共に呼出し側の高レベル・
ルーチンに返却する。
ンスタンス"において表現される。各インスタンスは特
定のオブジェクト例に対応する特定のデータ構造を含
む。オブジェクト指向のコンピューティング環境におい
ては、オブジェクトにそのメソッドの1つを実行するよ
うに要求することによりデータが処理される。これはオ
ブジェクトに"メッセージ"を送信することにより達成さ
れる。受信オブジェクトは、メッセージ名をインプリメ
ントするメソッドを選択することによりメッセージに応
答し、命名されたインスタンス上でこのメソッドを実行
し、制御をメソッドの結果と共に呼出し側の高レベル・
ルーチンに返却する。
【0004】オブジェクト指向プログラミング・システ
ムは大容量データベース上で動作可能なデータベース管
理システムとして使用でき、これは拡張可能且つ適用可
能である。オブジェクト指向データベース管理システム
では、データベース内のデータはオブジェクトの点から
編成及びカプセル化され、オブジェクトのインスタンス
はデータベース内のデータである。同様にデータベース
・マネージャがオブジェクトのセットとして編成され、
あるオブジェクトから別のオブジェクトにメッセージを
送信することにより、データベース管理オペレーション
が達成される。ターゲット・オブジェクトはその属性に
もとづき、そのメソッドを使用して要求されるアクショ
ンを実行する。
ムは大容量データベース上で動作可能なデータベース管
理システムとして使用でき、これは拡張可能且つ適用可
能である。オブジェクト指向データベース管理システム
では、データベース内のデータはオブジェクトの点から
編成及びカプセル化され、オブジェクトのインスタンス
はデータベース内のデータである。同様にデータベース
・マネージャがオブジェクトのセットとして編成され、
あるオブジェクトから別のオブジェクトにメッセージを
送信することにより、データベース管理オペレーション
が達成される。ターゲット・オブジェクトはその属性に
もとづき、そのメソッドを使用して要求されるアクショ
ンを実行する。
【0005】オブジェクト指向データベース管理システ
ムの主な問題は、データの保全性の維持である。データ
の保全性の維持は、データベースのサイズ及び複雑性が
増加するにつれ困難となる。更に、非常に大容量のデー
タベースでは、並行して複数のタスクが実行されること
が望まれ、データの保全性に大きな影響を与える。
ムの主な問題は、データの保全性の維持である。データ
の保全性の維持は、データベースのサイズ及び複雑性が
増加するにつれ困難となる。更に、非常に大容量のデー
タベースでは、並行して複数のタスクが実行されること
が望まれ、データの保全性に大きな影響を与える。
【0006】オブジェクト指向コンピューティング環境
におけるデータの保全性を維持するための主な改善
は、"作業単位"(unit of work)である。作業単位は、
複数の作業単位オブジェクト及び複数の作業単位インス
タンスを含むオブジェクト・クラスである。作業単位
は、Cやパスカルなどの従来言語の場合のようにメモリ
・ポインタを操作することによってではなく、オブジェ
クト指向データベース・システムがオブジェクトのセッ
ト及びオブジェクト上のオペレーションによって、メモ
リを操作、更新、割当て及び廃棄することを可能とす
る。
におけるデータの保全性を維持するための主な改善
は、"作業単位"(unit of work)である。作業単位は、
複数の作業単位オブジェクト及び複数の作業単位インス
タンスを含むオブジェクト・クラスである。作業単位
は、Cやパスカルなどの従来言語の場合のようにメモリ
・ポインタを操作することによってではなく、オブジェ
クト指向データベース・システムがオブジェクトのセッ
ト及びオブジェクト上のオペレーションによって、メモ
リを操作、更新、割当て及び廃棄することを可能とす
る。
【0007】作業単位及びそのオペレーションが、Abra
ham らによる1989年10月23日出願の米国特許出
願第425607号(特願平2−241360号)、"U
nitof Work for Preserving Data Integrity of a Data
base"で詳細に述べられている。ここではデータベース
・マネージャが作業単位マネージャを含む。作業単位マ
ネージャは、データベース・タスクの間に処理されるオ
ブジェクトを作業単位インスタンスにコピーすることに
より、作業単位インスタンスを実行される各タスクに割
当てる。作業単位インスタンス内のオブジェクト・イン
スタンスのバージョンは作業単位レベルと称され、タス
クの各ステップに対応して生成される。タスクに対応す
る各作業単位レベルは、そのタスクにより変更されるデ
ータ・オブジェクトのコピーを含む。タスク内の各ステ
ップはデータベース自身内のデータ要素ではなく、関連
する作業単位レベル内のデータ要素を変更するために制
御される。作業単位クラスは更に、"commit"、"discar
d"、"new"、"notify"、"rollback"、"start"及び "swit
ch"に関連するメソッドを含む。これらのメソッドはデ
ータベースの保全性を保証するために、作業単位インス
タンスが全体として操作されることを可能とする。
ham らによる1989年10月23日出願の米国特許出
願第425607号(特願平2−241360号)、"U
nitof Work for Preserving Data Integrity of a Data
base"で詳細に述べられている。ここではデータベース
・マネージャが作業単位マネージャを含む。作業単位マ
ネージャは、データベース・タスクの間に処理されるオ
ブジェクトを作業単位インスタンスにコピーすることに
より、作業単位インスタンスを実行される各タスクに割
当てる。作業単位インスタンス内のオブジェクト・イン
スタンスのバージョンは作業単位レベルと称され、タス
クの各ステップに対応して生成される。タスクに対応す
る各作業単位レベルは、そのタスクにより変更されるデ
ータ・オブジェクトのコピーを含む。タスク内の各ステ
ップはデータベース自身内のデータ要素ではなく、関連
する作業単位レベル内のデータ要素を変更するために制
御される。作業単位クラスは更に、"commit"、"discar
d"、"new"、"notify"、"rollback"、"start"及び "swit
ch"に関連するメソッドを含む。これらのメソッドはデ
ータベースの保全性を保証するために、作業単位インス
タンスが全体として操作されることを可能とする。
【0008】上述のように、オブジェクト指向コンピュ
ーティング環境は、典型的には、現在使用されている全
てのオブジェクトを追跡するために使用されるオブジェ
クト管理テーブルを含む。作業単位と併せてオブジェク
ト管理テーブルを使用することが、Shackelford らによ
る1990年10月23日出願の米国特許出願第602
442号(特願平3−187057号)、"A Messenger
and Object Managerto Implement an Object Oriented
Environment"に述べられている。オブジェクト管理テ
ーブルは、新たな作業単位インスタンスの生成を管理
し、更に作業単位インスタンス内の新たな作業単位レベ
ルの生成を管理するために使用される。作業単位レベル
及びインスタンスのswitch、commit及びrollbackもまた
管理される。上述の出願において詳述されるように、オ
ブジェクト管理テーブルは、典型的には、多次元配列で
あり、4つの関連する構成要素を含む。それらはオブジ
ェクト管理テーブル主クラス(OMTMC)テーブル、
オブジェクト管理テーブル作業単位インスタンス情報ク
ラス(OMTUC)テーブル、オブジェクト管理テーブ
ル・オブジェクト・インスタンス情報(OMTIC)テ
ーブル、及びオブジェクト管理テーブル・フレーム情報
クラス(OMTFC)テーブルである。これらのテーブ
ルへのエントリはオブジェクト・マネージャにより制御
され、それによりオブジェクト指向コンピューティング
環境のオペレーションが制御される。
ーティング環境は、典型的には、現在使用されている全
てのオブジェクトを追跡するために使用されるオブジェ
クト管理テーブルを含む。作業単位と併せてオブジェク
ト管理テーブルを使用することが、Shackelford らによ
る1990年10月23日出願の米国特許出願第602
442号(特願平3−187057号)、"A Messenger
and Object Managerto Implement an Object Oriented
Environment"に述べられている。オブジェクト管理テ
ーブルは、新たな作業単位インスタンスの生成を管理
し、更に作業単位インスタンス内の新たな作業単位レベ
ルの生成を管理するために使用される。作業単位レベル
及びインスタンスのswitch、commit及びrollbackもまた
管理される。上述の出願において詳述されるように、オ
ブジェクト管理テーブルは、典型的には、多次元配列で
あり、4つの関連する構成要素を含む。それらはオブジ
ェクト管理テーブル主クラス(OMTMC)テーブル、
オブジェクト管理テーブル作業単位インスタンス情報ク
ラス(OMTUC)テーブル、オブジェクト管理テーブ
ル・オブジェクト・インスタンス情報(OMTIC)テ
ーブル、及びオブジェクト管理テーブル・フレーム情報
クラス(OMTFC)テーブルである。これらのテーブ
ルへのエントリはオブジェクト・マネージャにより制御
され、それによりオブジェクト指向コンピューティング
環境のオペレーションが制御される。
【0009】データベースの保全性の維持のための作業
単位の改善にも関わらず、データベースの保全性に影響
を与えないように、作業単位インスタンスが互いに対話
しないことが重要である。例えば、作業単位システム
は、現作業単位内のオブジェクトのコピーである "ビジ
タ"(visitor)オブジェクトを許容する。これはメッセ
ージが送信された時刻にそれが存在する他の作業単位か
ら実体化(materialize)されたものであり、データベ
ースから実体化されたものではない。しかしながら、こ
のようなビジタ・オブジェクトを生成する機能は、デー
タベースからではなく、別の作業単位から、ある作業単
位にオブジェクトを配置することになる。従って、作業
単位がデータベース管理システムにより変更された中間
データを含む可能性があるために、データの保全性が影
響を受ける。一方、作業単位が別の作業単位からビジタ
・オブジェクトを合法的に獲得可能な多くのインスタン
スが存在する。
単位の改善にも関わらず、データベースの保全性に影響
を与えないように、作業単位インスタンスが互いに対話
しないことが重要である。例えば、作業単位システム
は、現作業単位内のオブジェクトのコピーである "ビジ
タ"(visitor)オブジェクトを許容する。これはメッセ
ージが送信された時刻にそれが存在する他の作業単位か
ら実体化(materialize)されたものであり、データベ
ースから実体化されたものではない。しかしながら、こ
のようなビジタ・オブジェクトを生成する機能は、デー
タベースからではなく、別の作業単位から、ある作業単
位にオブジェクトを配置することになる。従って、作業
単位がデータベース管理システムにより変更された中間
データを含む可能性があるために、データの保全性が影
響を受ける。一方、作業単位が別の作業単位からビジタ
・オブジェクトを合法的に獲得可能な多くのインスタン
スが存在する。
【0010】同様にある場合には、作業単位レベル内の
存続オブジェクト(persistentobject)の修正、変更ま
たは消去が許可されることが望まれるが、他の場合で
は、こうしたことが望まれない。当業者には既知のよう
に、オブジェクト指向コンピューティング環境は存続オ
ブジェクトを含み、これらは走行時に継続して存続しな
ければならず、不揮発性記憶装置内に記憶される。存続
オブジェクトが知らない内に変更されると、データベー
スの保全性に影響を与える。従って、オブジェクト指向
コンピューティング環境における作業単位に対応した境
界制御機構が求められる。
存続オブジェクト(persistentobject)の修正、変更ま
たは消去が許可されることが望まれるが、他の場合で
は、こうしたことが望まれない。当業者には既知のよう
に、オブジェクト指向コンピューティング環境は存続オ
ブジェクトを含み、これらは走行時に継続して存続しな
ければならず、不揮発性記憶装置内に記憶される。存続
オブジェクトが知らない内に変更されると、データベー
スの保全性に影響を与える。従って、オブジェクト指向
コンピューティング環境における作業単位に対応した境
界制御機構が求められる。
【0011】
【発明が解決しようとする課題】本発明の目的は、改良
されたオブジェクト指向コンピューティング環境を提供
することである。
されたオブジェクト指向コンピューティング環境を提供
することである。
【0012】本発明の別の目的は、作業単位オブジェク
ト及びインスタンスを含むオブジェクト指向コンピュー
ティング環境を提供することである。
ト及びインスタンスを含むオブジェクト指向コンピュー
ティング環境を提供することである。
【0013】本発明の更に別の目的は、オブジェクト指
向コンピューティング環境における作業単位の境界制御
を提供することである。
向コンピューティング環境における作業単位の境界制御
を提供することである。
【0014】
【課題を解決するための手段】上述の目的が、本発明に
よるオブジェクト指向コンピューティング環境の作業単
位に適応されるビジタ・ロッキングのためのシステム及
び方法、並びに存続オブジェクト・ロッキングのための
システム及び方法により達成される。特にオブジェクト
管理テーブルが、作業単位のリスト及びそれに含まれる
オブジェクトをさすポインタの他に、各作業単位に対応
する"ビジタ・ロック"フラグ、及び各作業単位に対応す
る"存続ロック"フラグを含む。各フラグは第1または第
2の状態をとる。
よるオブジェクト指向コンピューティング環境の作業単
位に適応されるビジタ・ロッキングのためのシステム及
び方法、並びに存続オブジェクト・ロッキングのための
システム及び方法により達成される。特にオブジェクト
管理テーブルが、作業単位のリスト及びそれに含まれる
オブジェクトをさすポインタの他に、各作業単位に対応
する"ビジタ・ロック"フラグ、及び各作業単位に対応す
る"存続ロック"フラグを含む。各フラグは第1または第
2の状態をとる。
【0015】オブジェクト・マネージャは、第1の作業
単位に関連するビジタ・ロック・フラグが第1状態であ
ることに応答して、第1の作業単位から第2の作業単位
へのオブジェクトのコピーを禁止し、一方、第1の作業
単位に関連するビジタ・ロック・フラグが第2状態であ
ることに応答して、第1の作業単位から第2の作業単位
へのオブジェクトのコピーを許可する。オブジェクト・
マネージャはまた、第1の作業単位に関連する存続ロッ
ク・フラグが第1状態であることに応答して、この作業
単位内のオブジェクトをロックし、一方、第1の作業単
位に関連する存続ロック・フラグが第2状態であること
に応答して、この作業単位からそのオブジェクトをロッ
ク解除する。
単位に関連するビジタ・ロック・フラグが第1状態であ
ることに応答して、第1の作業単位から第2の作業単位
へのオブジェクトのコピーを禁止し、一方、第1の作業
単位に関連するビジタ・ロック・フラグが第2状態であ
ることに応答して、第1の作業単位から第2の作業単位
へのオブジェクトのコピーを許可する。オブジェクト・
マネージャはまた、第1の作業単位に関連する存続ロッ
ク・フラグが第1状態であることに応答して、この作業
単位内のオブジェクトをロックし、一方、第1の作業単
位に関連する存続ロック・フラグが第2状態であること
に応答して、この作業単位からそのオブジェクトをロッ
ク解除する。
【0016】特に、存続ビジタ・ロック・フラグが第1
状態であることに応答して、オブジェクト・マネージャ
は第1の作業単位から第2の作業単位への存続オブジェ
クトのコピーを禁止し、不揮発記憶装置から第2の作業
単位への存続オブジェクトのコピーを許可する。ビジタ
・ロック・フラグが第2状態の時、第1の作業単位から
第2の作業単位への存続オブジェクトのコピーが許可さ
れる。
状態であることに応答して、オブジェクト・マネージャ
は第1の作業単位から第2の作業単位への存続オブジェ
クトのコピーを禁止し、不揮発記憶装置から第2の作業
単位への存続オブジェクトのコピーを許可する。ビジタ
・ロック・フラグが第2状態の時、第1の作業単位から
第2の作業単位への存続オブジェクトのコピーが許可さ
れる。
【0017】存続ロック・フラグに応答して、オブジェ
クト・マネージャは第1の作業単位に対するオブジェク
トの追加、消去、または変更を許可または禁止すること
により、作業単位をロック及びロック解除する。好適に
は、ロックまたはロック解除すなわち追加、消去、また
は変更の禁止及び許可などは、作業単位に関連する存続
ロック・フラグに応答して、その作業単位内の存続オブ
ジェクトに適応される。
クト・マネージャは第1の作業単位に対するオブジェク
トの追加、消去、または変更を許可または禁止すること
により、作業単位をロック及びロック解除する。好適に
は、ロックまたはロック解除すなわち追加、消去、また
は変更の禁止及び許可などは、作業単位に関連する存続
ロック・フラグに応答して、その作業単位内の存続オブ
ジェクトに適応される。
【0018】当業者には理解されるように、ビジタ・ロ
ッキング及びオブジェクト・ロッキングは、作業単位の
境界を制御するために別々に使用される。しかしなが
ら、好適には、これらは作業単位に対する健全な境界制
御を提供するために一緒に使用される。作業単位の境界
は、それにより全体として制御され、それに含まれるデ
ータの破壊を防止する。
ッキング及びオブジェクト・ロッキングは、作業単位の
境界を制御するために別々に使用される。しかしなが
ら、好適には、これらは作業単位に対する健全な境界制
御を提供するために一緒に使用される。作業単位の境界
は、それにより全体として制御され、それに含まれるデ
ータの破壊を防止する。
【0019】
【実施例】本発明の実施例を表す図を参照しながら、本
発明を詳細に説明する。しかしながら、本発明は多くの
異なる形式により実施され、本明細書において説明され
る実施例に限定されるものではない。これらの実施例
は、本開示を明らかにするために提供され、本発明の範
疇を当業者に伝達するものである。説明全体に渡り、同
一番号が同一要素を参照するために使用される。
発明を詳細に説明する。しかしながら、本発明は多くの
異なる形式により実施され、本明細書において説明され
る実施例に限定されるものではない。これらの実施例
は、本開示を明らかにするために提供され、本発明の範
疇を当業者に伝達するものである。説明全体に渡り、同
一番号が同一要素を参照するために使用される。
【0020】本発明による作業単位の境界制御システム
及び方法を説明する前に、オブジェクト指向データベー
ス管理システム及び方法の一般的な概要について説明す
る。その次に、本発明のシステム及び方法の一般的な説
明が提供され、続いて詳細設計の説明について記すこと
にする。
及び方法を説明する前に、オブジェクト指向データベー
ス管理システム及び方法の一般的な概要について説明す
る。その次に、本発明のシステム及び方法の一般的な説
明が提供され、続いて詳細設計の説明について記すこと
にする。
【0021】オブジェクト指向コンピューティング環
境:図1を参照すると、上述の米国特許出願第4256
07号(特願平2−241360号)の図4が示され、
これはオブジェクト指向コンピューティング環境10の
ブロック図を表す。オブジェクト指向コンピューティン
グ環境10はデータ・プロセッサ11を含み、これはメ
インフレーム・コンピュータ、ミニコンピュータ、パー
ソナル・コンピュータまたは他のハードウェア・プラッ
トフォームなどである。複数ユーザを有する大容量デー
タベースでは、メインフレーム・コンピュータが通常使
用される。当業者には既知のように、データ・プロセッ
サ11は揮発性データ記憶装置13を含み、これは通常
はランダム・アクセス・メモリ(RAM)であり、アク
ティブ・データ及び中間結果用の作業記憶域を提供す
る。RAM13内のデータはデータ・プロセッサ11の
パワーが除去される時、または新たなユーザ・セッショ
ンが開始される時に消去される。
境:図1を参照すると、上述の米国特許出願第4256
07号(特願平2−241360号)の図4が示され、
これはオブジェクト指向コンピューティング環境10の
ブロック図を表す。オブジェクト指向コンピューティン
グ環境10はデータ・プロセッサ11を含み、これはメ
インフレーム・コンピュータ、ミニコンピュータ、パー
ソナル・コンピュータまたは他のハードウェア・プラッ
トフォームなどである。複数ユーザを有する大容量デー
タベースでは、メインフレーム・コンピュータが通常使
用される。当業者には既知のように、データ・プロセッ
サ11は揮発性データ記憶装置13を含み、これは通常
はランダム・アクセス・メモリ(RAM)であり、アク
ティブ・データ及び中間結果用の作業記憶域を提供す
る。RAM13内のデータはデータ・プロセッサ11の
パワーが除去される時、または新たなユーザ・セッショ
ンが開始される時に消去される。
【0022】オブジェクト指向コンピューティング環境
10は更に、オブジェクトを永久的に記憶するための不
揮発性データ記憶装置14を含む。装置14は直接アク
セス記憶装置(DASD−ディスク・ファイル)、テー
プ・ファイル、消去可能光ディスク、または他の既知の
装置などによる。不揮発性データ記憶装置14は本明細
書では"データベース"としても参照する。また、揮発性
データ記憶装置13は"メモリ" としても参照する。陰
極線管(CRT)または他の表示装置、及びキーボード
を含む表示端末15も示されている。
10は更に、オブジェクトを永久的に記憶するための不
揮発性データ記憶装置14を含む。装置14は直接アク
セス記憶装置(DASD−ディスク・ファイル)、テー
プ・ファイル、消去可能光ディスク、または他の既知の
装置などによる。不揮発性データ記憶装置14は本明細
書では"データベース"としても参照する。また、揮発性
データ記憶装置13は"メモリ" としても参照する。陰
極線管(CRT)または他の表示装置、及びキーボード
を含む表示端末15も示されている。
【0023】オブジェクト指向オペレーティング・プロ
グラム12がデータ・プロセッサ11内で実行される。
オブジェクト指向オペレーティング・プログラム12
は"C"、"Smalltalk"またはそれらの変形などのオブジ
ェクト指向言語、或いはFORTRANまたはCOBOL などの従
来のプログラミング言語によりプログラムされる。オブ
ジェクト指向オペレーティング・プログラム12の設計
は、オブジェクト指向コンピューティング環境の技術分
野に携わる当業者には既知であり、以下では一般的に述
べるに留める。
グラム12がデータ・プロセッサ11内で実行される。
オブジェクト指向オペレーティング・プログラム12
は"C"、"Smalltalk"またはそれらの変形などのオブジ
ェクト指向言語、或いはFORTRANまたはCOBOL などの従
来のプログラミング言語によりプログラムされる。オブ
ジェクト指向オペレーティング・プログラム12の設計
は、オブジェクト指向コンピューティング環境の技術分
野に携わる当業者には既知であり、以下では一般的に述
べるに留める。
【0024】図2を参照すると、上述の米国特許出願第
425607号(特願平2−241360号)の図5が
示され、オブジェクト指向プログラム(図1の12)の
主な構成要素が示される。オブジェクト指向プログラム
の設計及びオペレーションの詳細な説明については、Be
rtrand Meyerによる"Object Oriented SoftwareConstru
ction"(1988年、Prentice Hall発行)に述べられ
ている。
425607号(特願平2−241360号)の図5が
示され、オブジェクト指向プログラム(図1の12)の
主な構成要素が示される。オブジェクト指向プログラム
の設計及びオペレーションの詳細な説明については、Be
rtrand Meyerによる"Object Oriented SoftwareConstru
ction"(1988年、Prentice Hall発行)に述べられ
ている。
【0025】図2を参照すると、オブジェクト指向プロ
グラム12は3つの主構成要素を含む。それらはメッセ
ンジャ51、オブジェクト管理テーブル52、及びロー
ド・クラス・テーブル53である。メッセンジャ51は
呼出し側メッセージと被呼出し側メッセージ間の通信、
オブジェクト管理テーブル52及びロード・クラス・テ
ーブル53を制御する。オブジェクト管理テーブル52
は、全てのアクティブなオブジェクト・インスタンスに
対するポインタのリストを含む。ロード・クラス・テー
ブル53は、アクティブなオブジェクト・クラスに対す
るポインタのリストを含む。
グラム12は3つの主構成要素を含む。それらはメッセ
ンジャ51、オブジェクト管理テーブル52、及びロー
ド・クラス・テーブル53である。メッセンジャ51は
呼出し側メッセージと被呼出し側メッセージ間の通信、
オブジェクト管理テーブル52及びロード・クラス・テ
ーブル53を制御する。オブジェクト管理テーブル52
は、全てのアクティブなオブジェクト・インスタンスに
対するポインタのリストを含む。ロード・クラス・テー
ブル53は、アクティブなオブジェクト・クラスに対す
るポインタのリストを含む。
【0026】オブジェクト指向プログラム12のオペレ
ーションについて、図2に表される例に対応して説明す
る。ここではオブジェクトのメソッドA(ブロック5
4)がオブジェクトのメソッドB(ブロック55)にメ
ッセージを送信する。メソッドAはメッセンジャ51を
呼出すことにより、メソッドBにメッセージを送信す
る。メッセージは(1)そのメッセージを受信するイン
スタンスのオブジェクト参照、(2)カプセル化してい
るデータを処理するために、オブジェクト・インスタン
スに要求されるメソッド、(3)受信メソッドにより必
要とされる任意のパラメータ、を含む。メッセンジャ5
1は、インスタンス・オブジェクトを求めてオブジェク
ト管理テーブル52を探索することにより、メソッドA
により指定されるインスタンス・オブジェクトのデータ
・フレーム56に対するポインタを獲得する。指定され
たインスタンス・オブジェクトが見い出されない場合、
オブジェクト管理テーブル52はそのインスタンス・オ
ブジェクトをテーブルに追加し、データベースからその
データを実体化するために、そのインスタンスを呼出
す。一度インスタンス・テーブル内に取り込まれると、
オブジェクト管理テーブル52はポインタを実体化され
たインスタンス・オブジェクトに戻す。
ーションについて、図2に表される例に対応して説明す
る。ここではオブジェクトのメソッドA(ブロック5
4)がオブジェクトのメソッドB(ブロック55)にメ
ッセージを送信する。メソッドAはメッセンジャ51を
呼出すことにより、メソッドBにメッセージを送信す
る。メッセージは(1)そのメッセージを受信するイン
スタンスのオブジェクト参照、(2)カプセル化してい
るデータを処理するために、オブジェクト・インスタン
スに要求されるメソッド、(3)受信メソッドにより必
要とされる任意のパラメータ、を含む。メッセンジャ5
1は、インスタンス・オブジェクトを求めてオブジェク
ト管理テーブル52を探索することにより、メソッドA
により指定されるインスタンス・オブジェクトのデータ
・フレーム56に対するポインタを獲得する。指定され
たインスタンス・オブジェクトが見い出されない場合、
オブジェクト管理テーブル52はそのインスタンス・オ
ブジェクトをテーブルに追加し、データベースからその
データを実体化するために、そのインスタンスを呼出
す。一度インスタンス・テーブル内に取り込まれると、
オブジェクト管理テーブル52はポインタを実体化され
たインスタンス・オブジェクトに戻す。
【0027】メッセンジャ51は次にロード・クラス・
テーブル53からメソッドBのアドレスを獲得する。イ
ンスタンス・クラスがロードされていない場合、ロード
・クラス・テーブル53はこの時点でそれをロードし、
そのデータを実体化する。ロード・クラス・テーブル5
3は指定されたメソッド(メソッドB)を探索し、その
メソッドのアドレスをメッセンジャ51に戻す。
テーブル53からメソッドBのアドレスを獲得する。イ
ンスタンス・クラスがロードされていない場合、ロード
・クラス・テーブル53はこの時点でそれをロードし、
そのデータを実体化する。ロード・クラス・テーブル5
3は指定されたメソッド(メソッドB)を探索し、その
メソッドのアドレスをメッセンジャ51に戻す。
【0028】メッセンジャ51は次にメソッドBを呼出
し、それに対し、システム・データ領域、及びポインタ
を含むメソッドAにより発行された呼出しからのパラメ
ータを受渡す。メソッドBはこのポインタを使用して、
データ・フレーム56をアクセスする。メソッドBは次
に制御をメッセンジャ51に返却し、メッセンジャは制
御をメソッドAに戻す。
し、それに対し、システム・データ領域、及びポインタ
を含むメソッドAにより発行された呼出しからのパラメ
ータを受渡す。メソッドBはこのポインタを使用して、
データ・フレーム56をアクセスする。メソッドBは次
に制御をメッセンジャ51に返却し、メッセンジャは制
御をメソッドAに戻す。
【0029】既に述べたように、オブジェクト・マネー
ジャはオブジェクト管理テーブルを使用し、そのオペレ
ーションを制御する。概念的には、オブジェクト管理テ
ーブルは多次元配列であり、4つの関連する構成要素を
含む。オブジェクト管理テーブル(OMT)が図3に示
され、これは上述の米国特許出願第602442号の図
21(特願平3−187057号の図24)を表す。O
MT2100の4つの要素の各々について次に説明す
る。
ジャはオブジェクト管理テーブルを使用し、そのオペレ
ーションを制御する。概念的には、オブジェクト管理テ
ーブルは多次元配列であり、4つの関連する構成要素を
含む。オブジェクト管理テーブル(OMT)が図3に示
され、これは上述の米国特許出願第602442号の図
21(特願平3−187057号の図24)を表す。O
MT2100の4つの要素の各々について次に説明す
る。
【0030】1.OMTメイン・クラス2102:オブ
ジェクト管理テーブル・メイン・クラス(OMTMC)
は、オブジェクト・マネージャが全OMTをアクセスす
るためのアンカ(anchor)である。このオブジェクトは
エントリのリストを含み、各作業単位(UOW)インス
タンスに1つのエントリが対応し、グローバルUOWイ
ンスタンスで開始される。これらのUOWインスタンス
・エントリは年代順に並べられる。換言すると、最後の
エントリは最も最近生成されたか、スイッチされたUO
Wインスタンスに対応し、最後から2番目のエントリは
以前にアクセスされたUOWインスタンスに対応する。
また、最初のエントリは"最も古い"(最低頻度アクセス
の)UOWインスタンスに対応する。
ジェクト管理テーブル・メイン・クラス(OMTMC)
は、オブジェクト・マネージャが全OMTをアクセスす
るためのアンカ(anchor)である。このオブジェクトは
エントリのリストを含み、各作業単位(UOW)インス
タンスに1つのエントリが対応し、グローバルUOWイ
ンスタンスで開始される。これらのUOWインスタンス
・エントリは年代順に並べられる。換言すると、最後の
エントリは最も最近生成されたか、スイッチされたUO
Wインスタンスに対応し、最後から2番目のエントリは
以前にアクセスされたUOWインスタンスに対応する。
また、最初のエントリは"最も古い"(最低頻度アクセス
の)UOWインスタンスに対応する。
【0031】2.OMT作業単位情報クラス2104:
オブジェクト管理テーブル作業単位情報クラス(OMT
UC)は、UOWインスタンスを追跡する。これは全て
のUOWインスタンスのリストを保持する。新たなUO
Wインスタンスが生成される時、新たなOMTUCがO
MTMC内のリストに追加される。UOWインスタンス
が廃棄される時、OMTUCがOMTMC内のリストか
ら消去される。
オブジェクト管理テーブル作業単位情報クラス(OMT
UC)は、UOWインスタンスを追跡する。これは全て
のUOWインスタンスのリストを保持する。新たなUO
Wインスタンスが生成される時、新たなOMTUCがO
MTMC内のリストに追加される。UOWインスタンス
が廃棄される時、OMTUCがOMTMC内のリストか
ら消去される。
【0032】3.OMTオブジェクト・インスタンス情
報クラス2106:オブジェクト管理テーブル・オブジ
ェクト・インスタンス情報(OMTIC)は、現UOW
インスタンス内のインスタンス・フレームを追跡する。
これはインスタンス・フレームに対して生成される全て
のUOWレベルのリストを保持する。オブジェクトが実
体化または生成される時、常に、新たなOMTICがO
MTUC内のリストに追加される。自身を含むOMTU
Cが廃棄されるか、またはインスタンス・フレームが消
去と記され、コミットがUOWレベル1において実施さ
れる時、OMTICは消去される。
報クラス2106:オブジェクト管理テーブル・オブジ
ェクト・インスタンス情報(OMTIC)は、現UOW
インスタンス内のインスタンス・フレームを追跡する。
これはインスタンス・フレームに対して生成される全て
のUOWレベルのリストを保持する。オブジェクトが実
体化または生成される時、常に、新たなOMTICがO
MTUC内のリストに追加される。自身を含むOMTU
Cが廃棄されるか、またはインスタンス・フレームが消
去と記され、コミットがUOWレベル1において実施さ
れる時、OMTICは消去される。
【0033】4.OMTフレーム情報クラス2108:
オブジェクト管理テーブル・フレーム情報クラス(OM
TFC)は、OMTIC内の特定のUOWレベルのフレ
ームを追跡する。更に、これはインスタンスが消去され
るか否かを示す"消去"フラグを保持する。UOW通知
(UOW Notify)が対応するインスタンスに対し発行さ
れ、データ・フレームが現UOWレベルでない時、新た
なOMTFCがOMTIC内のリストに追加される。現
UOWレベルはOMTUC内に見い出される。OMTF
Cは、そのUOWレベルがコミットまたはロール・バッ
クされる時は常に消去され、それ以外の場合には廃棄さ
れる。
オブジェクト管理テーブル・フレーム情報クラス(OM
TFC)は、OMTIC内の特定のUOWレベルのフレ
ームを追跡する。更に、これはインスタンスが消去され
るか否かを示す"消去"フラグを保持する。UOW通知
(UOW Notify)が対応するインスタンスに対し発行さ
れ、データ・フレームが現UOWレベルでない時、新た
なOMTFCがOMTIC内のリストに追加される。現
UOWレベルはOMTUC内に見い出される。OMTF
Cは、そのUOWレベルがコミットまたはロール・バッ
クされる時は常に消去され、それ以外の場合には廃棄さ
れる。
【0034】これまでにOMTはテーブルとして述べら
れてきたが、テーブルは図4に示されるインスタンス・
フレームのサンプル・グループに対応するリンク・リス
ト形式として実施される。これは上述の米国特許出願第
602442号の図22(特願平3−187057号の
図25)を表す。OMTMC2202アンカはグローバ
ルUOWに対応するOMTUCを含む。更に、OMTM
Cは第1の非グローバルUOWインスタンスに対応する
OMTUCに対するポインタを含む。各OMTUC22
04は、OMTUC内の第1のOMTIC2206に対
するポインタと同様に、次のOMTUCに対するポイン
タを含む。OMTUC2204は、グローバルUOW2
212とは別の他の作業単位のリスト内に保持される。
各OMTICは次のOMTICに対するポインタと同様
に、OMTIC内の第1のOMTFC2208に対する
ポインタを含む。最後に、OMTFCは実際のインスタ
ンス・フレーム(IF)2210に対するポインタ、及
び次のOMTFCに対するポインタを含む。
れてきたが、テーブルは図4に示されるインスタンス・
フレームのサンプル・グループに対応するリンク・リス
ト形式として実施される。これは上述の米国特許出願第
602442号の図22(特願平3−187057号の
図25)を表す。OMTMC2202アンカはグローバ
ルUOWに対応するOMTUCを含む。更に、OMTM
Cは第1の非グローバルUOWインスタンスに対応する
OMTUCに対するポインタを含む。各OMTUC22
04は、OMTUC内の第1のOMTIC2206に対
するポインタと同様に、次のOMTUCに対するポイン
タを含む。OMTUC2204は、グローバルUOW2
212とは別の他の作業単位のリスト内に保持される。
各OMTICは次のOMTICに対するポインタと同様
に、OMTIC内の第1のOMTFC2208に対する
ポインタを含む。最後に、OMTFCは実際のインスタ
ンス・フレーム(IF)2210に対するポインタ、及
び次のOMTFCに対するポインタを含む。
【0035】オブジェクト・マネージャ(OM)は作業
単位のリスト内の任意のUOWにスイッチできる。グロ
ーバルUOWがリスト内に保持されないため、OMはグ
ローバルUOWへはスイッチできない。グローバルUO
Wがスイッチ不可の場合には、それはカレントではな
い。グローバルUOWがカレントでない場合、これは廃
棄、コミット、またはロール・バック不可である。
単位のリスト内の任意のUOWにスイッチできる。グロ
ーバルUOWがリスト内に保持されないため、OMはグ
ローバルUOWへはスイッチできない。グローバルUO
Wがスイッチ不可の場合には、それはカレントではな
い。グローバルUOWがカレントでない場合、これは廃
棄、コミット、またはロール・バック不可である。
【0036】IF解決はデータをメモリ内に実体化する
ためのOMT及びUOWに関連する処理である。インス
タンス・オブジェクトが呼出されると、オブジェクト・
マネージャは、呼出されるインスタンスに合致するオブ
ジェクトIDを有するエントリを突き止めるために、現
UOW及びグローバルUOWを調査する。この探索範囲
が合致するオブジェクトを解決できず、それが存続オブ
ジェクトの場合、その存続データを保持するために、フ
レームがメモリ内に割当てられる。この新たなオブジェ
クトは、データベースからそのデータを実体化するため
に呼出される。このようにして、オブジェクトは自動実
体化 (automaterialization)を使用することにより、
自動的に実体化される。
ためのOMT及びUOWに関連する処理である。インス
タンス・オブジェクトが呼出されると、オブジェクト・
マネージャは、呼出されるインスタンスに合致するオブ
ジェクトIDを有するエントリを突き止めるために、現
UOW及びグローバルUOWを調査する。この探索範囲
が合致するオブジェクトを解決できず、それが存続オブ
ジェクトの場合、その存続データを保持するために、フ
レームがメモリ内に割当てられる。この新たなオブジェ
クトは、データベースからそのデータを実体化するため
に呼出される。このようにして、オブジェクトは自動実
体化 (automaterialization)を使用することにより、
自動的に実体化される。
【0037】オブジェクト参照は解決されるか、解決さ
れないかのいずれかである。上述のように、オブジェク
ト参照はオブジェクトを識別するオブジェクトIDを含
む。オブジェクト参照はまたアクセス・アドレスを含
む。アクセス・アドレスは、オブジェクトが最初に解決
される時に、OMT内の正しいエントリを指示するため
にセットされる。オブジェクト参照が一度解決される
と、そのオブジェクトIDに対する探索はもはや必要な
い。
れないかのいずれかである。上述のように、オブジェク
ト参照はオブジェクトを識別するオブジェクトIDを含
む。オブジェクト参照はまたアクセス・アドレスを含
む。アクセス・アドレスは、オブジェクトが最初に解決
される時に、OMT内の正しいエントリを指示するため
にセットされる。オブジェクト参照が一度解決される
と、そのオブジェクトIDに対する探索はもはや必要な
い。
【0038】未解決のオブジェクト参照では、アクセス
・アドレスはOMT内の正しいエントリを指示するよう
にセットされる。これが一度解決されると、オブジェク
ト・マネージャは、エントリが正しいオブジェクト属性
に一致すること、及びこれが現UOWまたはグローバル
UOWのいずれに存在するかを確認しなければならな
い。
・アドレスはOMT内の正しいエントリを指示するよう
にセットされる。これが一度解決されると、オブジェク
ト・マネージャは、エントリが正しいオブジェクト属性
に一致すること、及びこれが現UOWまたはグローバル
UOWのいずれに存在するかを確認しなければならな
い。
【0039】メッセージが、既にエントリを指示する解
決済みのオブジェクト参照を使用して送信されるが、エ
ントリが現UOWに存在しない場合(すなわちカレント
ではなく、且つグローバルでない)、ビジタ・オブジェ
クトが生成されなければならない。オブジェクトのコピ
ーが現UOW内に生成され、次にメッセージがオリジナ
ル・オブジェクトにではなく、オブジェクトのコピーに
送信される。こうして解決処理の間、存続オブジェクト
が見い出され、実体化され、ビジタ・オブジェクトが生
成される。
決済みのオブジェクト参照を使用して送信されるが、エ
ントリが現UOWに存在しない場合(すなわちカレント
ではなく、且つグローバルでない)、ビジタ・オブジェ
クトが生成されなければならない。オブジェクトのコピ
ーが現UOW内に生成され、次にメッセージがオリジナ
ル・オブジェクトにではなく、オブジェクトのコピーに
送信される。こうして解決処理の間、存続オブジェクト
が見い出され、実体化され、ビジタ・オブジェクトが生
成される。
【0040】作業単位(UOW)機構は豊富で柔軟な操
作環境を提供し、これはオブジェクト指向コンピューテ
ィング環境が、オブジェクトのセット、及びオブジェク
トに作用するオペレーションの点から、メモリを操作、
更新、割当て、及び廃棄することを可能にする。これは
CやPascalなどの従来言語の場合に見られるメモ
リ・ポインタの操作とは異なる。しかしながら、同時に
この柔軟性は、望ましくない副作用を生成する可能性を
提供する。次に、この望ましくない副作用の2つの例に
ついて説明する。
作環境を提供し、これはオブジェクト指向コンピューテ
ィング環境が、オブジェクトのセット、及びオブジェク
トに作用するオペレーションの点から、メモリを操作、
更新、割当て、及び廃棄することを可能にする。これは
CやPascalなどの従来言語の場合に見られるメモ
リ・ポインタの操作とは異なる。しかしながら、同時に
この柔軟性は、望ましくない副作用を生成する可能性を
提供する。次に、この望ましくない副作用の2つの例に
ついて説明する。
【0041】第1に、子のパネル、ウィンドウまたはフ
ァイル・タイプ・コマンドが、親のパネル、ウィンドウ
またはファイル・タイプからのOREFを使用しようと
試みると、存続ビジタ・オブジェクトが親の作業単位か
ら生成される。一般に、子のパネル、ウィンドウ、また
はファイル・タイプ・コマンドは、そのオブジェクト
を、親からではなくデータベースから獲得するべきであ
る。オブジェクト・マネージャは、特定のメッセージに
応答して、データベースから存続オブジェクトの検索を
特別に強要することにより、この問題に対処することが
できる。しかしながら、本発明では、オブジェクトがメ
モリからではなくデータベースから検索される、より総
称的またはグローバルな仕様を提供する。
ァイル・タイプ・コマンドが、親のパネル、ウィンドウ
またはファイル・タイプからのOREFを使用しようと
試みると、存続ビジタ・オブジェクトが親の作業単位か
ら生成される。一般に、子のパネル、ウィンドウ、また
はファイル・タイプ・コマンドは、そのオブジェクト
を、親からではなくデータベースから獲得するべきであ
る。オブジェクト・マネージャは、特定のメッセージに
応答して、データベースから存続オブジェクトの検索を
特別に強要することにより、この問題に対処することが
できる。しかしながら、本発明では、オブジェクトがメ
モリからではなくデータベースから検索される、より総
称的またはグローバルな仕様を提供する。
【0042】第2の例では、子のパネル、ウィンドウま
たはファイル・タイプ・コマンドが、存続オブジェクト
に対する変更を試行する時、変更がしばしば親のパネ
ル、ウィンドウまたはファイル作業単位において誤って
発生する。このエラーを検出することは困難である。本
発明は、オブジェクト管理システムがこの振舞いをより
自動的に識別することを可能とする。
たはファイル・タイプ・コマンドが、存続オブジェクト
に対する変更を試行する時、変更がしばしば親のパネ
ル、ウィンドウまたはファイル作業単位において誤って
発生する。このエラーを検出することは困難である。本
発明は、オブジェクト管理システムがこの振舞いをより
自動的に識別することを可能とする。
【0043】境界制御方法及びシステム:全体設計及び
オペレーション図5を参照すると、本発明による境界制
御のブロック図が示される。図示のように、境界制御シ
ステムは好適にはオブジェクト指向プログラム12(図
1)において実施されるが、他の実施例も可能である。
図5に示されるように、境界制御システムは、オブジェ
クト管理テーブル52にビジタ・ロック・フラグ102
及び存続ロック・フラグ104を追加することにより、
オブジェクト管理機構に統合される。フラグはテーブル
内の各作業単位に対応して保持される。各フラグは2つ
の状態のいずれかをとり、本明細書では"オン"及び"オ
フ"として参照する。
オペレーション図5を参照すると、本発明による境界制
御のブロック図が示される。図示のように、境界制御シ
ステムは好適にはオブジェクト指向プログラム12(図
1)において実施されるが、他の実施例も可能である。
図5に示されるように、境界制御システムは、オブジェ
クト管理テーブル52にビジタ・ロック・フラグ102
及び存続ロック・フラグ104を追加することにより、
オブジェクト管理機構に統合される。フラグはテーブル
内の各作業単位に対応して保持される。各フラグは2つ
の状態のいずれかをとり、本明細書では"オン"及び"オ
フ"として参照する。
【0044】ビジタ・ロッキング手段106は適切な作
業単位のビジタ・ロック・フラグの状態に応答し、第1
の作業単位に関連するビジタ・ロック・フラグがオンの
時、第1の作業単位から第2の作業単位へのオブジェク
トのコピーを禁止し、第1の作業単位に関連するビジタ
・ロック・フラグがオフの時、第1の作業単位から第2
の作業単位へのオブジェクトのコピーを許可する。オブ
ジェクト・ロッキング手段108は、特定の作業単位に
関連する存続ロック・フラグ104に応答し、関連する
存続ロック・フラグがオンの時、作業単位内のオブジェ
クトをロックし、このフラグがオフの時、オブジェクト
をロック解除する。ロッキングは作業単位に対する追
加、消去、または他の変更を禁止し、ロック解除は作業
単位に対する追加、消去、及び他の変更を許可する。好
適には、ビジタ・ロッキング手段106及びオブジェク
ト・ロッキング手段108は、それぞれのフラグが適用
される関連する作業単位内の存続オブジェクトに対して
作用し、それによりデータベースの保全性が維持され
る。
業単位のビジタ・ロック・フラグの状態に応答し、第1
の作業単位に関連するビジタ・ロック・フラグがオンの
時、第1の作業単位から第2の作業単位へのオブジェク
トのコピーを禁止し、第1の作業単位に関連するビジタ
・ロック・フラグがオフの時、第1の作業単位から第2
の作業単位へのオブジェクトのコピーを許可する。オブ
ジェクト・ロッキング手段108は、特定の作業単位に
関連する存続ロック・フラグ104に応答し、関連する
存続ロック・フラグがオンの時、作業単位内のオブジェ
クトをロックし、このフラグがオフの時、オブジェクト
をロック解除する。ロッキングは作業単位に対する追
加、消去、または他の変更を禁止し、ロック解除は作業
単位に対する追加、消去、及び他の変更を許可する。好
適には、ビジタ・ロッキング手段106及びオブジェク
ト・ロッキング手段108は、それぞれのフラグが適用
される関連する作業単位内の存続オブジェクトに対して
作用し、それによりデータベースの保全性が維持され
る。
【0045】図6を参照すると、ビジタ・ロック・フラ
グ102と存続ロック・フラグ104を含むオブジェク
ト管理テーブル52の実施例が示される。図示のよう
に、ビジタ・ロック・フラグ102及び存続ロック・フ
ラグ104は、図3及び図4に関連して述べられたオブ
ジェクト管理テーブル作業単位情報クラス(OMTU
C)テーブル2204に追加される。既に述べたよう
に、このテーブルは全てのUOWインスタンスのリスト
を保持する。従って、このテーブルはUOW ID、現
UOW、親UOWフラグ、OMTICリスト、次OMT
UC、及び他の必要なパラメータを識別する行(row)
を含む。
グ102と存続ロック・フラグ104を含むオブジェク
ト管理テーブル52の実施例が示される。図示のよう
に、ビジタ・ロック・フラグ102及び存続ロック・フ
ラグ104は、図3及び図4に関連して述べられたオブ
ジェクト管理テーブル作業単位情報クラス(OMTU
C)テーブル2204に追加される。既に述べたよう
に、このテーブルは全てのUOWインスタンスのリスト
を保持する。従って、このテーブルはUOW ID、現
UOW、親UOWフラグ、OMTICリスト、次OMT
UC、及び他の必要なパラメータを識別する行(row)
を含む。
【0046】本発明によれば、各作業単位(OMTUC
行)はビジタ・ロック・フラグ102及び存続ロック・
フラグ104を含み、各フラグは2つの状態の内の一方
を取り、図6においてはオンまたはオフと指定される。
当業者には理解されるように、OMTUCテーブル22
04は当業者には既知の技術を使用することにより、図
4に示されるようなリンク・リスト形式によっても実施
される。ビジタ・ロック・フラグ及び存続ロック・フラ
グは好適には一緒に使用されるが、これらが独立に使用
されても良い。
行)はビジタ・ロック・フラグ102及び存続ロック・
フラグ104を含み、各フラグは2つの状態の内の一方
を取り、図6においてはオンまたはオフと指定される。
当業者には理解されるように、OMTUCテーブル22
04は当業者には既知の技術を使用することにより、図
4に示されるようなリンク・リスト形式によっても実施
される。ビジタ・ロック・フラグ及び存続ロック・フラ
グは好適には一緒に使用されるが、これらが独立に使用
されても良い。
【0047】図7を参照すると、ビジタ・ロッキング手
段106(図5)により実行されるオペレーションが説
明される。図7に示されるように、現UOWではなく別
のUOW内の存続オブジェクトに対する要求に応じて
(ブロック112)、関連するビジタ・ロック・フラグ
102の状態が識別される(ブロック114)。ビジタ
・ロック・フラグ102がオフの時(ブロック11
6)、存続オブジェクトが他のUOWから現作業単位へ
実体化される(ブロック118)。既に述べたように、
これは"ビジタ"と称される。一方、関連するビジタ・ロ
ック・フラグ102がオンの時(ブロック116)、存
続オブジェクトがデータベースから実体化される(ブロ
ック122)。処理はブロック124で終了する。
段106(図5)により実行されるオペレーションが説
明される。図7に示されるように、現UOWではなく別
のUOW内の存続オブジェクトに対する要求に応じて
(ブロック112)、関連するビジタ・ロック・フラグ
102の状態が識別される(ブロック114)。ビジタ
・ロック・フラグ102がオフの時(ブロック11
6)、存続オブジェクトが他のUOWから現作業単位へ
実体化される(ブロック118)。既に述べたように、
これは"ビジタ"と称される。一方、関連するビジタ・ロ
ック・フラグ102がオンの時(ブロック116)、存
続オブジェクトがデータベースから実体化される(ブロ
ック122)。処理はブロック124で終了する。
【0048】図8を参照すると、オブジェクト・ロッキ
ング手段108(図5)に対応するオペレーションが示
される。作業単位におけるオブジェクトの追加、通知ま
たは消去による、存続オブジェクトに対する変更要求に
応答して(ブロック132)、関連する存続ロック・フ
ラグ104の状態が識別される(ブロック134)。存
続ロック・フラグ104がオンの場合(ブロック13
6)、存続オブジェクトに対する変更が禁止され(ブロ
ック138)、エラー・メッセージが生成される。他
方、存続ロック・フラグ104がオフ(ブロック13
6)の場合、要求される存続オブジェクトに対する変更
が許可される(ブロック142)。処理はブロック14
4で終了する。
ング手段108(図5)に対応するオペレーションが示
される。作業単位におけるオブジェクトの追加、通知ま
たは消去による、存続オブジェクトに対する変更要求に
応答して(ブロック132)、関連する存続ロック・フ
ラグ104の状態が識別される(ブロック134)。存
続ロック・フラグ104がオンの場合(ブロック13
6)、存続オブジェクトに対する変更が禁止され(ブロ
ック138)、エラー・メッセージが生成される。他
方、存続ロック・フラグ104がオフ(ブロック13
6)の場合、要求される存続オブジェクトに対する変更
が許可される(ブロック142)。処理はブロック14
4で終了する。
【0049】境界制御方法及びシステム:詳細インプリ
メンテーション 本発明による作業単位に対する境界制御の詳細な設計及
びインプリメンテーションについて、次に述べる。ビジ
タ・ロック・フラグの処理について最初に説明し、次に
存続ロック・フラグの処理について説明する。
メンテーション 本発明による作業単位に対する境界制御の詳細な設計及
びインプリメンテーションについて、次に述べる。ビジ
タ・ロック・フラグの処理について最初に説明し、次に
存続ロック・フラグの処理について説明する。
【0050】存続ビジタがオフ、122:このオペレー
ションは、他の作業単位内で参照される現作業単位内の
全ての存続オブジェクトが、当該他の作業単位において
ビジタとなるのではなく、データベースから実体化され
ることを強要する。既述のように、ビジタはメッセージ
の生成時に、他の作業単位内に存在するオブジェクトか
ら生成された、現作業単位内のコピーである。
ションは、他の作業単位内で参照される現作業単位内の
全ての存続オブジェクトが、当該他の作業単位において
ビジタとなるのではなく、データベースから実体化され
ることを強要する。既述のように、ビジタはメッセージ
の生成時に、他の作業単位内に存在するオブジェクトか
ら生成された、現作業単位内のコピーである。
【0051】例えば、図9を参照し、ここで作業単位4
においてオブジェクトAが存続オブジェクトであると仮
定し、メッセージが作業単位5からオブジェクトAに送
信され、次に作業単位5がコミットされるものと仮定す
る。 Object_A.do_something; UOW.commit; 存続ビジタがオン(ロックがオフ)の場合(デフォルト
状態)、図9に示されるように、オブジェクトAが作業
単位4から検索され、作業単位4にコミットされる。し
かしながら、存続ビジタがオフ(ロックがオン)の場
合、図10に示されるように、オブジェクトAはデータ
ベースから検索され、データベースにコミットされる。
このオペレーションの擬似コードは次の通りである。
においてオブジェクトAが存続オブジェクトであると仮
定し、メッセージが作業単位5からオブジェクトAに送
信され、次に作業単位5がコミットされるものと仮定す
る。 Object_A.do_something; UOW.commit; 存続ビジタがオン(ロックがオフ)の場合(デフォルト
状態)、図9に示されるように、オブジェクトAが作業
単位4から検索され、作業単位4にコミットされる。し
かしながら、存続ビジタがオフ(ロックがオン)の場
合、図10に示されるように、オブジェクトAはデータ
ベースから検索され、データベースにコミットされる。
このオペレーションの擬似コードは次の通りである。
【0052】 -- CLASS METHOD --********************************************************************** --* メソッド名:uow_pers_visit_off --* 記述: --* この処理は、他の作業単位内で参照されるこの現作業単位内の全ての存続オ ブジェクトが、上記他の作業単位におけるビジタとなるのではなく、データベー スから実体化されることを強要する。 --* 注釈: --********************************************************************** procedure uow_pers_visit_off <*(*このUOW内の存続オブジェクトが他のUOW内のビジタとなることを禁
止 する。*)*>; begin -- LOGIC <*(*現UOW内の存続インスタンスが他のUOW内のビジタとならないよう
に、 現作業単位に対応する作業単位制御ブロックを記す。*)*> は、 current_unit_of_work.visit_lock := TRUE; end uow_pers_visit_off;
止 する。*)*>; begin -- LOGIC <*(*現UOW内の存続インスタンスが他のUOW内のビジタとならないよう
に、 現作業単位に対応する作業単位制御ブロックを記す。*)*> は、 current_unit_of_work.visit_lock := TRUE; end uow_pers_visit_off;
【0053】存続ビジタがオン、118:このオペレー
ションは現作業単位内の存続インスタンスが、他の作業
単位におけるビジタとなることを許可する。これは新た
な作業単位インスタンスのデフォルト状態である。この
オペレーションの擬似コードは次の通りである。
ションは現作業単位内の存続インスタンスが、他の作業
単位におけるビジタとなることを許可する。これは新た
な作業単位インスタンスのデフォルト状態である。この
オペレーションの擬似コードは次の通りである。
【0054】 --CLASS METHOD --********************************************************************** --* メソッド名:uow_pers_visit_on --* 記述: --* この処理は、現作業単位内の存続インスタンスが、他の作業単位内のビジタ となることを許可する。これは新たな作業単位インスタンスのデフォルト状態で ある。 --* 注釈: --********************************************************************** procedure uow_pers_visit_on <*(*このUOW内の存続オブジェクトが他のUOW内のビジタとなることを許
可 する。通常オペレーションを再スタートする。*)*>; begin -- LOGIC <*(*現UOW内の存続インスタンスが他のUOW内のビジタとなれるように、
現 作業単位に対応する作業単位制御ブロックをリセットする。*)*>は、 current_unit_of_work.visit_lock := FALSE; end uow_pers_visit_on;
可 する。通常オペレーションを再スタートする。*)*>; begin -- LOGIC <*(*現UOW内の存続インスタンスが他のUOW内のビジタとなれるように、
現 作業単位に対応する作業単位制御ブロックをリセットする。*)*>は、 current_unit_of_work.visit_lock := FALSE; end uow_pers_visit_on;
【0055】存続ロック、138:このオペレーション
は、存続オブジェクトが現作業単位内で追加、通知、ま
たは消去されないように、現作業単位インスタンスをロ
ックする。メッセンジャは、uow_pers_lock がセットさ
れている作業単位内のオブジェクトの追加、通知、また
は消去が試行されると、例外INVALID_PERS_UOW_ACTION
を発生する。
は、存続オブジェクトが現作業単位内で追加、通知、ま
たは消去されないように、現作業単位インスタンスをロ
ックする。メッセンジャは、uow_pers_lock がセットさ
れている作業単位内のオブジェクトの追加、通知、また
は消去が試行されると、例外INVALID_PERS_UOW_ACTION
を発生する。
【0056】例えば、作業単位4、5及び6の各々が1
個または複数の存続オブジェクトのセットを含むものと
仮定する。また、メソッドが次のように実行されている
ものと仮定する。
個または複数の存続オブジェクトのセットを含むものと
仮定する。また、メソッドが次のように実行されている
ものと仮定する。
【0057】UOW.switch(UOW4); Object_A.do_something; UOW.switch(UOW5); Object_B.do_something_too;
【0058】プログラマは作業単位4及び5の両方にお
いてオブジェクトを操作する可能性がある。しかしなが
ら、プログラマが作業単位6へのスイッチを既に試みた
が、プログラミング・エラーにより作業単位5への切替
えがその代わりに引起こされているかもしれない。この
場合、作業単位5は大概、外的な不正変更から自身をロ
ックし、プログラムが不注意に作業単位を変更すること
を許可する代わりに、メッセージObject_B.do_somethi
ng_tooが例外INVALID_PERS_UOW_ACTION を発生する。こ
のタイプのエラーは、この意図されない変更がプログラ
ムの後の方になるまで現れないため、デバッグが特に困
難である。このオペレーションの擬似コードは次の通り
である。
いてオブジェクトを操作する可能性がある。しかしなが
ら、プログラマが作業単位6へのスイッチを既に試みた
が、プログラミング・エラーにより作業単位5への切替
えがその代わりに引起こされているかもしれない。この
場合、作業単位5は大概、外的な不正変更から自身をロ
ックし、プログラムが不注意に作業単位を変更すること
を許可する代わりに、メッセージObject_B.do_somethi
ng_tooが例外INVALID_PERS_UOW_ACTION を発生する。こ
のタイプのエラーは、この意図されない変更がプログラ
ムの後の方になるまで現れないため、デバッグが特に困
難である。このオペレーションの擬似コードは次の通り
である。
【0059】 -- CLASS METHOD --********************************************************************** --* メソッド名:uow_pers_lock --* 記述: --* この処理は、存続オブジェクトが現作業単位内で追加、通知、または消去さ れないように、現作業単位インスタンスをロックする。 --* メッセンジャは、uow_pers_lock がセットされている作業単位内のオブジェ クトの追加(生成または実体化)、通知、または消去が試行されると、例外UOW_ PERS_LOCKを発生する。 --* 注釈: --********************************************************************** procedure uow_pers_lock <* (*現作業単位インスタンスをロックする。*)*>; *>; begin -- LOGIC <*(*存続オブジェクトが現作業単位内で追加、通知、または消去されないよう
に 、現作業単位の作業単位制御ブロックを記す。*)*>は、 current_unit_of_work.pers_lock := TRUE; end uow_pers_lock;
に 、現作業単位の作業単位制御ブロックを記す。*)*>は、 current_unit_of_work.pers_lock := TRUE; end uow_pers_lock;
【0060】存続ロック解除、142:このオペレーシ
ョンは、現作業単位内で存続オブジェクトが追加、通
知、または消去可能なように、現作業単位インスタンス
をロック解除する。これは新たな作業単位インスタンス
に対するデフォルト状態である。このオペレーションの
擬似コードは次の通りである。
ョンは、現作業単位内で存続オブジェクトが追加、通
知、または消去可能なように、現作業単位インスタンス
をロック解除する。これは新たな作業単位インスタンス
に対するデフォルト状態である。このオペレーションの
擬似コードは次の通りである。
【0061】 -- CLASS METHOD --********************************************************************** --* メソッド名:uow_pers_unlock --* 記述: --* この処理は、存続オブジェクトが現作業単位内で追加、通知、または消去可 能なように、現作業単位インスタンスをロック解除する。これは新たな作業単位 インスタンスのデフォルト状態である。 --* 注釈: --********************************************************************** procedure uow_pers_unlock <*(*作業単位内でオブジェクトが追加または通知されるように、作業単位をロ
ッ ク解除する。*)*>; begin -- LOGIC <*(*存続オブジェクトが現作業単位内で再度、追加、通知、または消去可能と
な るように、現作業単位の作業単位制御ブロックをリセットする。*)*>は、 current_unit_of_work.pers_lock := FALSE; end uow_pers_unlock;
ッ ク解除する。*)*>; begin -- LOGIC <*(*存続オブジェクトが現作業単位内で再度、追加、通知、または消去可能と
な るように、現作業単位の作業単位制御ブロックをリセットする。*)*>は、 current_unit_of_work.pers_lock := FALSE; end uow_pers_unlock;
【0062】UOW存続ロック状態:このオペレーショ
ンは現作業単位の存続ロック状態を戻す。TRUEはU
OWがロックされていることを意味し、FALSEはロ
ックされてないことを意味する。
ンは現作業単位の存続ロック状態を戻す。TRUEはU
OWがロックされていることを意味し、FALSEはロ
ックされてないことを意味する。
【0063】 -- CLASS METHOD --********************************************************************** --* メソッド名:uow_is_pers_locked --* 記述: --* この処理は、現UOWが存続ロックされている場合、TRUEを戻す。ロッ クされてない場合には、FALSEを戻す。 --* 注釈: --********************************************************************** function uow_is_pers_locked <*(*UOWが存続ロックされている場合、TRUEを戻す。それ以外の場合に
は 、FALSEを戻す。*)*> returns BOOLEAN;
は 、FALSEを戻す。*)*> returns BOOLEAN;
【0064】同様のオペレーションによって、ビジタ・
ロック・フラグの状態についても返却される。
ロック・フラグの状態についても返却される。
【0065】
【発明の効果】以上説明したように、本発明によれば、
改良されたオブジェクト指向コンピューティング環境が
提供される。
改良されたオブジェクト指向コンピューティング環境が
提供される。
【図1】オブジェクト指向コンピューティング環境のブ
ロック図である。
ロック図である。
【図2】オブジェクト指向プログラムのブロック図であ
る。
る。
【図3】オブジェクト管理テーブルを表す図である。
【図4】図3の管理テーブルをリンク・リストとして表
した図である。
した図である。
【図5】本発明による境界制御システムのブロック図で
ある。
ある。
【図6】本発明によるオブジェクト管理テーブルを表す
図である。
図である。
【図7】図5のビジタ・ロッキング手段により実行され
るオペレーションを表す図である。
るオペレーションを表す図である。
【図8】図5のオブジェクト・ブロッキング手段により
実行されるオペレーションを表す図である。
実行されるオペレーションを表す図である。
【図9】ビジタ・ロック・フラグがオフ状態の時の、図
5のビジタ・ロッキング手段のオペレーションを表す図
である。
5のビジタ・ロッキング手段のオペレーションを表す図
である。
【図10】ビジタ・ロック・フラグがオン状態の時の、
図5のビジタ・ロッキング手段のオペレーションを表す
図である。
図5のビジタ・ロッキング手段のオペレーションを表す
図である。
10 オブジェクト指向コンピューティング環境 11 データ・プロセッサ 12 オブジェクト・指向オペレーティング・プログラ
ム 13 揮発性データ記憶装置 14 不揮発性データ記憶装置 15 表示端末 51 メッセンジャ 52、2100 オブジェクト管理テーブル 53 ロード・クラス・テーブル 56 データ・フレーム 102 ビジタ・ロック・フラグ 104 存続ロック・フラグ 106 ビジタ・ロッキング手段 108 オブジェクト・ロッキング手段
ム 13 揮発性データ記憶装置 14 不揮発性データ記憶装置 15 表示端末 51 メッセンジャ 52、2100 オブジェクト管理テーブル 53 ロード・クラス・テーブル 56 データ・フレーム 102 ビジタ・ロック・フラグ 104 存続ロック・フラグ 106 ビジタ・ロッキング手段 108 オブジェクト・ロッキング手段
───────────────────────────────────────────────────── フロントページの続き (72)発明者 フロイド・ダブリュ・シャケルフォード アメリカ合衆国30518、ジョージア州ビ ューフォード、ハノバー・ドライブ 3510 (56)参考文献 特開 平4−120636(JP,A) 特開 平4−248640(JP,A)
Claims (17)
- 【請求項1】オブジェクト指向コンピューティング環境
のためのオブジェクト管理システムであって、該オブジ
ェクト指向コンピューティング環境が、各々が、データ
属性を含むオブジェクト・フレーム並びに関連オブジェ
クトに対する活動を実行する少なくとも1つのオブジェ
クト・メソッドを含む複数のオブジェクトを含み、所定
のオブジェクトがあるタスクを実行するグループとして
操作されるように、少なくとも該オブジェクトのいくつ
かが複数の作業単位に編成されており、 上記複数の作業単位のリストと、該作業単位に含まれる
オブジェクトに対するポインタと、第1または第2の状
態の一方を取る、該複数の作業単位の各々に対応して設
けられたビジタ・ロック・フラグ、及び第1または第2
の状態の一方を取る、該複数の作業単位の各々に対応し
て設けられた存続ロック・フラグとを含むオブジェクト
管理テーブルと、 第1の状態にある第1の作業単位に関連するビジタ・ロ
ック・フラグに応答して、該第1の作業単位から第2の
作業単位へのオブジェクトのコピーを禁止し、第2の状
態にある上記第1の作業単位に関連するビジタ・ロック
・フラグに応答して、該第1の作業単位から上記第2の
作業単位へのオブジェクトのコピーを許可するビジタ・
ロッキング手段と、 第1の状態にある第1の作業単位に関連する存続ロック
・フラグに応答して、該第1の作業単位内のオブジェク
トをロックし、第2の状態にある上記第1の作業単位に
関連する存続ロック・フラグに応答して、該第1の作業
単位からオブジェクトをロック解除するオブジェクト・
ロッキング手段と、 を含む、オブジェクト管理システム。 - 【請求項2】上記コンピューティング環境が不揮発性記
憶手段を含み、少なくとも上記オブジェクトのいくつか
が該不揮発性記憶手段に記憶される存続オブジェクトで
あり、上記ビジタ・ロッキング手段が、 第1の状態にある第1の作業単位に関連するビジタ・ロ
ック・フラグに応答して、該第1の作業単位から第2の
作業単位への存続オブジェクトのコピーを禁止するとと
もに、上記不揮発性記憶手段から上記第2の作業単位へ
の存続オブジェクトのコピーを許可する一方、第2の状
態にある上記第1の作業単位に関連するビジタ・ロック
・フラグに応答して、該第1の作業単位から上記第2の
作業単位への上記存続オブジェクトのコピーを許可する
手段を含む、請求項1記載のオブジェクト管理システ
ム。 - 【請求項3】上記オブジェクト管理テーブルが、作業単
位インスタンスをリストするオブジェクト管理テーブル
作業単位情報クラス(OMTUC)テーブルを含み、上
記ビジタ・ロック・フラグが該OMTUCテーブルに含
まれる、請求項2記載のオブジェクト管理システム。 - 【請求項4】上記コンピューティング環境が揮発性記憶
手段を含み、少なくとも上記オブジェクトのいくつかが
該揮発性記憶手段に記憶される存続オブジェクトであ
り、上記オブジェクト・ロッキング手段が、 第1の状態にある第1の作業単位に関連する存続ロック
・フラグに応答して、上記第1の作業単位から存続オブ
ジェクトをロックし、第2の状態にある上記第1の作業
単位に関連する存続ロック・フラグに応答して、該第1
の作業単位から該存続オブジェクトをロック解除する手
段を含む、請求項1記載のオブジェクト管理システム。 - 【請求項5】上記オブジェクト・ロッキング手段が、第
1の状態にある上記第1の作業単位に関連する存続ロッ
ク・フラグに応答して、該第1の作業単位への上記オブ
ジェクトの追加を禁止し、第2の状態にある上記第1の
作業単位に関連する存続ロック・フラグに応答して、該
第1の作業単位への上記オブジェクトの追加を許可する
手段を含む、請求項1または2記載のオブジェクト管理
システム。 - 【請求項6】上記オブジェクト・ロッキング手段が、第
1の状態にある上記第1の作業単位に関連する存続ロッ
ク・フラグに応答して、該第1の作業単位からの上記オ
ブジェクトの消去を禁止し、第2の状態にある上記第1
の作業単位に関連する存続ロック・フラグに応答して、
該第1の作業単位からの上記オブジェクトの消去を許可
する手段を含む、請求項1または2記載のオブジェクト
管理システム。 - 【請求項7】上記オブジェクト・ロッキング手段が、第
1の状態にある上記第1の作業単位に関連する存続ロッ
ク・フラグに応答して、該第1の作業単位内の上記オブ
ジェクトに対する変更を禁止し、第2の状態にある上記
第1の作業単位に関連する存続ロック・フラグに応答し
て、該第1の作業単位内の上記オブジェクトに対する変
更を許可する手段を含む、請求項1または2記載のオブ
ジェクト管理システム。 - 【請求項8】上記オブジェクト管理テーブルが、作業単
位インスタンスをリストするオブジェクト管理テーブル
作業単位情報クラス(OMTUC)テーブルを含み、上
記オブジェクト・ロック・フラグが該OMTUCテーブ
ルに含まれる、請求項1記載のオブジェクト管理システ
ム。 - 【請求項9】上記オブジェクト管理テーブルが、第1ま
たは第2の状態の一方を取る、上記複数の作業単位の各
々に対応して設けられたビジタ・ロック・フラグを含
み、 第1の状態にある第1の作業単位に関連するビジタ・ロ
ック・フラグに応答して、該第1の作業単位から第2の
作業単位への上記オブジェクトのコピーを禁止し、第2
の状態にある上記第1の作業単位に関連するビジタ・ロ
ック・フラグに応答して、該第1の作業単位から第2の
作業単位への上記オブジェクトのコピーを許可するビジ
タ・ロッキング手段を含む、 請求項1記載のオブジェクト管理システム。 - 【請求項10】上記コンピューティング環境が不揮発性
記憶手段を含み、少なくとも上記オブジェクトのいくつ
かが該不揮発性記憶手段に記憶される存続オブジェクト
であり、上記ビジタ・ロッキング手段が、 第1の状態にある第1の作業単位に関連するビジタ・ロ
ック・フラグに応答して、該第1の作業単位から第2の
作業単位への存続オブジェクトのコピーを禁止するとと
もに、上記不揮発性記憶手段から上記第2の作業単位へ
の存続オブジェクトのコピーを許可する一方で、第2の
状態にある上記第1の作業単位に関連するビジタ・ロッ
ク・フラグに応答して、該第1の作業単位から上記第2
の作業単位への上記存続オブジェクトのコピーを許可す
る手段を含む、請求項9記載のオブジェクト管理システ
ム。 - 【請求項11】上記オブジェクト管理テーブルが、作業
単位インスタンスをリストするオブジェクト管理テーブ
ル作業単位情報クラス(OMTUC)テーブルを含み、
上記ビジタ・ロック・フラグが該OMTUCテーブルに
含まれる、請求項10記載のオブジェクト管理システ
ム。 - 【請求項12】オブジェクト指向コンピューティング環
境のためのオブジェクト管理方法であって、 上記オブジェクト指向コンピューティング環境が、各々
が、データ属性を含むオブジェクト・フレーム並びに関
連オブジェクトに対する活動を実行する少なくとも1つ
のオブジェクト・メソッドを含む複数のオブジェクトを
含み、所定のオブジェクトがあるタスクを実行するグル
ープとして操作されるように、少なくとも該オブジェク
トのいくつかが複数の作業単位に編成されており、 上記オブジェクト指向コンピューティング環境が、上記
複数の作業単位のリストと、該作業単位に含まれるオブ
ジェクトに対するポインタと、第1または第2の状態の
一方を取る、該作業単位の各々に対応して設けられたビ
ジタ・ロック・フラグ、及び第1または第2の状態の一
方を取る、該作業単位の各々に対応して設けられた存続
ロック・フラグとを含むオブジェクト管理テーブルを含
むものにおいて、 第1の状態にある第1の作業単位に関連するビジタ・ロ
ック・フラグに応答して、該第1の作業単位から第2の
作業単位へのオブジェクトのコピーを禁止するステップ
と、 第2の状態にある上記第1の作業単位に関連するビジタ
・ロック・フラグに応答して、該第1の作業単位から上
記第2の作業単位へのオブジェクトのコピーを許可する
ステップと、 第1の状態にある第1の作業単位に関連する存続ロック
・フラグに応答して、該第1の作業単位内のオブジェク
トをロックするロッキング・ステップと、 第2の状態にある上記第1の作業単位に関連する存続ロ
ック・フラグに応答して、該第1の作業単位からオブジ
ェクトをロック解除するロック解除ステップと、を含む
方法。 - 【請求項13】上記コンピューティング環境が不揮発性
記憶手段を含み、少なくとも上記オブジェクトのいくつ
かが該不揮発性記憶手段に記憶される存続オブジェクト
であり、 上記禁止ステップが、第1の状態にある第1の作業単位
に関連するビジタ・ロック・フラグに応答して、該第1
の作業単位から第2の作業単位への存続オブジェクトの
コピーを禁止するとともに、上記不揮発性記憶手段から
上記第2の作業単位への存続オブジェクトのコピーを許
可するステップとを含み、 第2の状態のフラグに応答する上記許可ステップが、該
第2の状態にある上記第1の作業単位に関連するビジタ
・ロック・フラグに応答して、該第1の作業単位から上
記第2の作業単位への存続オブジェクトのコピーを許可
するステップを含む、 請求項12記載のオブジェクト管理方法。 - 【請求項14】上記ロッキング・ステップが、第1の状
態にある上記第1の作業単位に関連する存続ロック・フ
ラグに応答して、該第1の作業単位への上記オブジェク
トの追加を禁止するステップを含み、 上記ロック解除ステップが、第2の状態にある上記第1
の作業単位に関連する存続ロック・フラグに応答して、
該第1の作業単位への上記オブジェクトの追加を許可す
るステップを含む、請求項12または13記載のオブジ
ェクト管理方法。 - 【請求項15】上記ロッキング・ステップが、第1の状
態にある上記第1の作業単位に関連する存続ロック・フ
ラグに応答して、該第1の作業単位からの上記オブジェ
クトの消去を禁止するステップを含み、 上記ロック解除ステップが、第2の状態にある上記第1
の作業単位に関連する存続ロック・フラグに応答して、
該第1の作業単位からの上記オブジェクトの消去を許可
するステップを含む、 請求項12または13記載のオブジェクト管理方法。 - 【請求項16】上記ロッキング・ステップが、第1の状
態にある上記第1の作業単位に関連する存続ロック・フ
ラグに応答して、該第1の作業単位内の上記オブジェク
トに対する変更を禁止するステップを含み、 上記ロック解除ステップが、第2の状態にある上記第1
の作業単位に関連する存続ロック・フラグに応答して、
該第1の作業単位内の上記オブジェクトに対する変更を
許可するステップを含む、 請求項12または13記載のオブジェクト管理方法。 - 【請求項17】上記オブジェクト管理テーブルが、第1
または第2の状態の一方を取る、上記複数の作業単位の
各々に対応して設けられたビジタ・ロック・フラグを含
み、 第1の状態にある第1の作業単位に関連するビジタ・ロ
ック・フラグに応答して、該第1の作業単位から第2の
作業単位への上記オブジェクトのコピーを禁止するステ
ップと、 第2の状態にある上記第1の作業単位に関連するビジタ
・ロック・フラグに応答して、該第1の作業単位から上
記第2の作業単位への上記オブジェクトのコピーを許可
するステップと、 を含む、請求項12記載のオブジェクト管理方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US958093A | 1993-01-26 | 1993-01-26 | |
US9580 | 1993-01-26 | ||
US009580 | 1993-01-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07121424A JPH07121424A (ja) | 1995-05-12 |
JP2711216B2 true JP2711216B2 (ja) | 1998-02-10 |
Family
ID=21738533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5332891A Expired - Fee Related JP2711216B2 (ja) | 1993-01-26 | 1993-12-27 | オブジェクトを管理するためのシステム及び方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5488721A (ja) |
JP (1) | JP2711216B2 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5742826A (en) | 1994-11-09 | 1998-04-21 | International Business Machines Corporation | Object encapsulation protection apparatus |
US6360280B1 (en) * | 1994-12-13 | 2002-03-19 | Microsoft Corporation | Method and system for accessing shell folder capabilities by an application program |
US5761670A (en) * | 1995-12-08 | 1998-06-02 | Sun Microsystems, Inc. | System and method for space efficient object locking using global and local locks |
US5701470A (en) * | 1995-12-08 | 1997-12-23 | Sun Microsystems, Inc. | System and method for space efficient object locking using a data subarray and pointers |
US5940616A (en) * | 1996-05-31 | 1999-08-17 | International Business Machines Corporation | Tracker class for object-oriented programming environments |
WO1997050032A1 (en) * | 1996-06-25 | 1997-12-31 | Unisys Corporation | Methods and apparatus for managing objects in a distributed environment |
US5878432A (en) * | 1996-10-29 | 1999-03-02 | International Business Machines Corporation | Object oriented framework mechanism for a source code repository |
US6298401B1 (en) * | 1997-08-11 | 2001-10-02 | Seagate Technology Llc | Object oriented storage device having a disc drive controller providing an interface exposing methods which are invoked to access objects stored in a storage media |
GB2345167B (en) * | 1997-08-11 | 2002-08-21 | Seagate Technology | Object oriented data storage device |
US6546412B1 (en) * | 1997-11-07 | 2003-04-08 | Xerox Corporation | State-based object transition control and nested locking |
US6092086A (en) * | 1998-03-31 | 2000-07-18 | Bmc Software | System and method for handling backout processing during capture of changed data in an enterprise computer system |
US6223344B1 (en) * | 1998-06-11 | 2001-04-24 | Internationl Business Machines Corporation | Apparatus and method for versioning persistent objects |
US6606632B1 (en) * | 1999-02-19 | 2003-08-12 | Sun Microsystems, Inc. | Transforming transient contents of object-oriented database into persistent textual form according to grammar that includes keywords and syntax |
JP3535413B2 (ja) * | 1999-04-07 | 2004-06-07 | 新日鉄ソリューションズ株式会社 | データ処理装置、データ処理システム、データ処理方法、及び記録媒体 |
US6694328B1 (en) * | 2000-01-13 | 2004-02-17 | International Business Machines Corporation | Method for creating queries on version objects |
US6934716B2 (en) * | 2002-03-15 | 2005-08-23 | Ge Mortgage Holdings, Llc | Methods and apparatus for management of work objects |
JP4336613B2 (ja) * | 2004-04-28 | 2009-09-30 | キヤノン株式会社 | 画像形成装置およびデータ処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム |
US7861093B2 (en) * | 2006-08-30 | 2010-12-28 | International Business Machines Corporation | Managing data access via a loop only if changed locking facility |
JP2010211516A (ja) * | 2009-03-10 | 2010-09-24 | Toshiba Corp | 携帯可能電子装置および携帯可能電子装置におけるアクセス制御方法 |
US8914343B2 (en) * | 2012-12-04 | 2014-12-16 | Ca, Inc. | Aggregating keys of dependent objects for a given primary object |
US10768831B2 (en) | 2018-12-28 | 2020-09-08 | Micron Technology, Inc. | Non-persistent unlock for secure memory |
CN114339353B (zh) * | 2021-12-31 | 2023-09-29 | 晶晨半导体科技(北京)有限公司 | 音视频同步方法和装置及电子设备和计算机可读存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4723211A (en) * | 1984-08-30 | 1988-02-02 | International Business Machines Corp. | Editing of a superblock data structure |
US5220657A (en) * | 1987-12-02 | 1993-06-15 | Xerox Corporation | Updating local copy of shared data in a collaborative system |
US5134696A (en) * | 1988-07-28 | 1992-07-28 | International Business Machines Corp. | Virtual lookaside facility |
DE69031191T2 (de) * | 1989-05-15 | 1998-02-12 | Ibm | System zur Steuerung von Zugriffsprivilegien |
JPH0318935A (ja) * | 1989-06-15 | 1991-01-28 | Hitachi Ltd | データリストに対するアクセスの直列化方式 |
US5129083A (en) * | 1989-06-29 | 1992-07-07 | Digital Equipment Corporation | Conditional object creating system having different object pointers for accessing a set of data structure objects |
US5136712A (en) * | 1989-06-29 | 1992-08-04 | Digital Equipment Corporation | Temporary object handling system and method in an object based computer operating system |
US5313629A (en) * | 1989-10-23 | 1994-05-17 | International Business Machines Corporation | Unit of work for preserving data integrity of a data-base by creating in memory a copy of all objects which are to be processed together |
US5297279A (en) * | 1990-05-30 | 1994-03-22 | Texas Instruments Incorporated | System and method for database management supporting object-oriented programming |
US5261069A (en) * | 1990-08-13 | 1993-11-09 | Hewlett-Packard Company | Method of maintaining consistency of cached data in a database system |
JPH04120636A (ja) * | 1990-09-12 | 1992-04-21 | N T T Data Tsushin Kk | オブジェクト指向データベースにおける拡張記憶媒体への排他制御方法 |
US5265206A (en) * | 1990-10-23 | 1993-11-23 | International Business Machines Corporation | System and method for implementing a messenger and object manager in an object oriented programming environment |
JP2725219B2 (ja) * | 1991-02-05 | 1998-03-11 | 富士通株式会社 | 木構造文書処理装置 |
US5355477A (en) * | 1991-12-23 | 1994-10-11 | International Business Machines Corporation | Method for updating a block using record-level locks by committing the update if the block has not been updated by another process otherwise spinning |
US5315703A (en) * | 1992-12-23 | 1994-05-24 | Taligent, Inc. | Object-oriented notification framework system |
-
1993
- 1993-12-27 JP JP5332891A patent/JP2711216B2/ja not_active Expired - Fee Related
-
1995
- 1995-05-19 US US08/444,654 patent/US5488721A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH07121424A (ja) | 1995-05-12 |
US5488721A (en) | 1996-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2711216B2 (ja) | オブジェクトを管理するためのシステム及び方法 | |
US5313629A (en) | Unit of work for preserving data integrity of a data-base by creating in memory a copy of all objects which are to be processed together | |
US5247669A (en) | Persistent data interface for an object oriented programming system | |
US5414840A (en) | Method and system for decreasing recovery time for failed atomic transactions by keeping copies of altered control structures in main memory | |
US5265206A (en) | System and method for implementing a messenger and object manager in an object oriented programming environment | |
EP0767432B1 (en) | System and method for distributed object resource management | |
US7035870B2 (en) | Object locking in a shared VM environment | |
US5499365A (en) | System and method for controlling versions of objects in an object oriented computing environment | |
US6321234B1 (en) | Database server system with improved methods for logging transactions | |
US6738977B1 (en) | Class sharing between multiple virtual machines | |
EP1121639B1 (en) | Impact analysis of a model | |
US6772155B1 (en) | Looking data in a database system | |
EP1040433B1 (en) | A fine-grained consistency mechanism for optimistic concurrency control using lock groups | |
EP1116139B1 (en) | Method and apparatus for reorganizing an active dbms table | |
US6631366B1 (en) | Database system providing methodology for optimizing latching/copying costs in index scans on data-only locked tables | |
US20020120601A1 (en) | Dynamic seamless reconfiguration of executing parallel software | |
EP0549140A2 (en) | Record updating method | |
JP2008262585A (ja) | データベース・オブジェクト処理命令を挿入するためにデータベース・アクセス方法を自動的に変更するシステム及び方法 | |
US6829616B2 (en) | Method, system, and program for implementing a database trigger | |
US20030145035A1 (en) | Method and system of protecting shared resources across multiple threads | |
US6859919B1 (en) | Object modeling tool with meta model semantic registry (rules) a meta data manager for object(s) properties an object/property interface for instance(s) of objects/properties received via object/property interface of the object factory registry | |
US6768985B1 (en) | Method and apparatus for administration of database partitions | |
US5410702A (en) | Slot objects for an object oriented programming system | |
US5953715A (en) | Utilizing pseudotables as a method and mechanism providing database monitor information | |
US6985911B2 (en) | Mechanism for invocation of user-defined routines in a multi-threaded database environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |