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
Application number
JP5332891A
Other languages
English (en)
Other versions
JPH07121424A (ja
Inventor
ウィリアム・エル・リッチ
フロイド・ダブリュ・シャケルフォード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07121424A publication Critical patent/JPH07121424A/ja
Application granted granted Critical
Publication of JP2711216B2 publication Critical patent/JP2711216B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/4493Object persistence
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/955Object-oriented
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure

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)、すなわち別のオブジェクトに対するポイ
ンタであったりする。
【0003】各定義オブジェクトは、通常、多数の"イ
ンスタンス"において表現される。各インスタンスは特
定のオブジェクト例に対応する特定のデータ構造を含
む。オブジェクト指向のコンピューティング環境におい
ては、オブジェクトにそのメソッドの1つを実行するよ
うに要求することによりデータが処理される。これはオ
ブジェクトに"メッセージ"を送信することにより達成さ
れる。受信オブジェクトは、メッセージ名をインプリメ
ントするメソッドを選択することによりメッセージに応
答し、命名されたインスタンス上でこのメソッドを実行
し、制御をメソッドの結果と共に呼出し側の高レベル・
ルーチンに返却する。
【0004】オブジェクト指向プログラミング・システ
ムは大容量データベース上で動作可能なデータベース管
理システムとして使用でき、これは拡張可能且つ適用可
能である。オブジェクト指向データベース管理システム
では、データベース内のデータはオブジェクトの点から
編成及びカプセル化され、オブジェクトのインスタンス
はデータベース内のデータである。同様にデータベース
・マネージャがオブジェクトのセットとして編成され、
あるオブジェクトから別のオブジェクトにメッセージを
送信することにより、データベース管理オペレーション
が達成される。ターゲット・オブジェクトはその属性に
もとづき、そのメソッドを使用して要求されるアクショ
ンを実行する。
【0005】オブジェクト指向データベース管理システ
ムの主な問題は、データの保全性の維持である。データ
の保全性の維持は、データベースのサイズ及び複雑性が
増加するにつれ困難となる。更に、非常に大容量のデー
タベースでは、並行して複数のタスクが実行されること
が望まれ、データの保全性に大きな影響を与える。
【0006】オブジェクト指向コンピューティング環境
におけるデータの保全性を維持するための主な改善
は、"作業単位"(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"に関連するメソッドを含む。これらのメソッドはデ
ータベースの保全性を保証するために、作業単位インス
タンスが全体として操作されることを可能とする。
【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)テーブルである。これらのテーブ
ルへのエントリはオブジェクト・マネージャにより制御
され、それによりオブジェクト指向コンピューティング
環境のオペレーションが制御される。
【0009】データベースの保全性の維持のための作業
単位の改善にも関わらず、データベースの保全性に影響
を与えないように、作業単位インスタンスが互いに対話
しないことが重要である。例えば、作業単位システム
は、現作業単位内のオブジェクトのコピーである "ビジ
タ"(visitor)オブジェクトを許容する。これはメッセ
ージが送信された時刻にそれが存在する他の作業単位か
ら実体化(materialize)されたものであり、データベ
ースから実体化されたものではない。しかしながら、こ
のようなビジタ・オブジェクトを生成する機能は、デー
タベースからではなく、別の作業単位から、ある作業単
位にオブジェクトを配置することになる。従って、作業
単位がデータベース管理システムにより変更された中間
データを含む可能性があるために、データの保全性が影
響を受ける。一方、作業単位が別の作業単位からビジタ
・オブジェクトを合法的に獲得可能な多くのインスタン
スが存在する。
【0010】同様にある場合には、作業単位レベル内の
存続オブジェクト(persistentobject)の修正、変更ま
たは消去が許可されることが望まれるが、他の場合で
は、こうしたことが望まれない。当業者には既知のよう
に、オブジェクト指向コンピューティング環境は存続オ
ブジェクトを含み、これらは走行時に継続して存続しな
ければならず、不揮発性記憶装置内に記憶される。存続
オブジェクトが知らない内に変更されると、データベー
スの保全性に影響を与える。従って、オブジェクト指向
コンピューティング環境における作業単位に対応した境
界制御機構が求められる。
【0011】
【発明が解決しようとする課題】本発明の目的は、改良
されたオブジェクト指向コンピューティング環境を提供
することである。
【0012】本発明の別の目的は、作業単位オブジェク
ト及びインスタンスを含むオブジェクト指向コンピュー
ティング環境を提供することである。
【0013】本発明の更に別の目的は、オブジェクト指
向コンピューティング環境における作業単位の境界制御
を提供することである。
【0014】
【課題を解決するための手段】上述の目的が、本発明に
よるオブジェクト指向コンピューティング環境の作業単
位に適応されるビジタ・ロッキングのためのシステム及
び方法、並びに存続オブジェクト・ロッキングのための
システム及び方法により達成される。特にオブジェクト
管理テーブルが、作業単位のリスト及びそれに含まれる
オブジェクトをさすポインタの他に、各作業単位に対応
する"ビジタ・ロック"フラグ、及び各作業単位に対応す
る"存続ロック"フラグを含む。各フラグは第1または第
2の状態をとる。
【0015】オブジェクト・マネージャは、第1の作業
単位に関連するビジタ・ロック・フラグが第1状態であ
ることに応答して、第1の作業単位から第2の作業単位
へのオブジェクトのコピーを禁止し、一方、第1の作業
単位に関連するビジタ・ロック・フラグが第2状態であ
ることに応答して、第1の作業単位から第2の作業単位
へのオブジェクトのコピーを許可する。オブジェクト・
マネージャはまた、第1の作業単位に関連する存続ロッ
ク・フラグが第1状態であることに応答して、この作業
単位内のオブジェクトをロックし、一方、第1の作業単
位に関連する存続ロック・フラグが第2状態であること
に応答して、この作業単位からそのオブジェクトをロッ
ク解除する。
【0016】特に、存続ビジタ・ロック・フラグが第1
状態であることに応答して、オブジェクト・マネージャ
は第1の作業単位から第2の作業単位への存続オブジェ
クトのコピーを禁止し、不揮発記憶装置から第2の作業
単位への存続オブジェクトのコピーを許可する。ビジタ
・ロック・フラグが第2状態の時、第1の作業単位から
第2の作業単位への存続オブジェクトのコピーが許可さ
れる。
【0017】存続ロック・フラグに応答して、オブジェ
クト・マネージャは第1の作業単位に対するオブジェク
トの追加、消去、または変更を許可または禁止すること
により、作業単位をロック及びロック解除する。好適に
は、ロックまたはロック解除すなわち追加、消去、また
は変更の禁止及び許可などは、作業単位に関連する存続
ロック・フラグに応答して、その作業単位内の存続オブ
ジェクトに適応される。
【0018】当業者には理解されるように、ビジタ・ロ
ッキング及びオブジェクト・ロッキングは、作業単位の
境界を制御するために別々に使用される。しかしなが
ら、好適には、これらは作業単位に対する健全な境界制
御を提供するために一緒に使用される。作業単位の境界
は、それにより全体として制御され、それに含まれるデ
ータの破壊を防止する。
【0019】
【実施例】本発明の実施例を表す図を参照しながら、本
発明を詳細に説明する。しかしながら、本発明は多くの
異なる形式により実施され、本明細書において説明され
る実施例に限定されるものではない。これらの実施例
は、本開示を明らかにするために提供され、本発明の範
疇を当業者に伝達するものである。説明全体に渡り、同
一番号が同一要素を参照するために使用される。
【0020】本発明による作業単位の境界制御システム
及び方法を説明する前に、オブジェクト指向データベー
ス管理システム及び方法の一般的な概要について説明す
る。その次に、本発明のシステム及び方法の一般的な説
明が提供され、続いて詳細設計の説明について記すこと
にする。
【0021】オブジェクト指向コンピューティング環
境:図1を参照すると、上述の米国特許出願第4256
07号(特願平2−241360号)の図4が示され、
これはオブジェクト指向コンピューティング環境10の
ブロック図を表す。オブジェクト指向コンピューティン
グ環境10はデータ・プロセッサ11を含み、これはメ
インフレーム・コンピュータ、ミニコンピュータ、パー
ソナル・コンピュータまたは他のハードウェア・プラッ
トフォームなどである。複数ユーザを有する大容量デー
タベースでは、メインフレーム・コンピュータが通常使
用される。当業者には既知のように、データ・プロセッ
サ11は揮発性データ記憶装置13を含み、これは通常
はランダム・アクセス・メモリ(RAM)であり、アク
ティブ・データ及び中間結果用の作業記憶域を提供す
る。RAM13内のデータはデータ・プロセッサ11の
パワーが除去される時、または新たなユーザ・セッショ
ンが開始される時に消去される。
【0022】オブジェクト指向コンピューティング環境
10は更に、オブジェクトを永久的に記憶するための不
揮発性データ記憶装置14を含む。装置14は直接アク
セス記憶装置(DASD−ディスク・ファイル)、テー
プ・ファイル、消去可能光ディスク、または他の既知の
装置などによる。不揮発性データ記憶装置14は本明細
書では"データベース"としても参照する。また、揮発性
データ記憶装置13は"メモリ" としても参照する。陰
極線管(CRT)または他の表示装置、及びキーボード
を含む表示端末15も示されている。
【0023】オブジェクト指向オペレーティング・プロ
グラム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発行)に述べられ
ている。
【0025】図2を参照すると、オブジェクト指向プロ
グラム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はポインタを実体化され
たインスタンス・オブジェクトに戻す。
【0027】メッセンジャ51は次にロード・クラス・
テーブル53からメソッドBのアドレスを獲得する。イ
ンスタンス・クラスがロードされていない場合、ロード
・クラス・テーブル53はこの時点でそれをロードし、
そのデータを実体化する。ロード・クラス・テーブル5
3は指定されたメソッド(メソッドB)を探索し、その
メソッドのアドレスをメッセンジャ51に戻す。
【0028】メッセンジャ51は次にメソッドBを呼出
し、それに対し、システム・データ領域、及びポインタ
を含むメソッドAにより発行された呼出しからのパラメ
ータを受渡す。メソッドBはこのポインタを使用して、
データ・フレーム56をアクセスする。メソッドBは次
に制御をメッセンジャ51に返却し、メッセンジャは制
御をメソッドAに戻す。
【0029】既に述べたように、オブジェクト・マネー
ジャはオブジェクト管理テーブルを使用し、そのオペレ
ーションを制御する。概念的には、オブジェクト管理テ
ーブルは多次元配列であり、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インスタンスに対応する。
【0031】2.OMT作業単位情報クラス2104:
オブジェクト管理テーブル作業単位情報クラス(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は消去される。
【0033】4.OMTフレーム情報クラス2108:
オブジェクト管理テーブル・フレーム情報クラス(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に対するポインタを含む。
【0035】オブジェクト・マネージャ(OM)は作業
単位のリスト内の任意のUOWにスイッチできる。グロ
ーバルUOWがリスト内に保持されないため、OMはグ
ローバルUOWへはスイッチできない。グローバルUO
Wがスイッチ不可の場合には、それはカレントではな
い。グローバルUOWがカレントでない場合、これは廃
棄、コミット、またはロール・バック不可である。
【0036】IF解決はデータをメモリ内に実体化する
ためのOMT及びUOWに関連する処理である。インス
タンス・オブジェクトが呼出されると、オブジェクト・
マネージャは、呼出されるインスタンスに合致するオブ
ジェクトIDを有するエントリを突き止めるために、現
UOW及びグローバルUOWを調査する。この探索範囲
が合致するオブジェクトを解決できず、それが存続オブ
ジェクトの場合、その存続データを保持するために、フ
レームがメモリ内に割当てられる。この新たなオブジェ
クトは、データベースからそのデータを実体化するため
に呼出される。このようにして、オブジェクトは自動実
体化 (automaterialization)を使用することにより、
自動的に実体化される。
【0037】オブジェクト参照は解決されるか、解決さ
れないかのいずれかである。上述のように、オブジェク
ト参照はオブジェクトを識別するオブジェクトIDを含
む。オブジェクト参照はまたアクセス・アドレスを含
む。アクセス・アドレスは、オブジェクトが最初に解決
される時に、OMT内の正しいエントリを指示するため
にセットされる。オブジェクト参照が一度解決される
と、そのオブジェクトIDに対する探索はもはや必要な
い。
【0038】未解決のオブジェクト参照では、アクセス
・アドレスはOMT内の正しいエントリを指示するよう
にセットされる。これが一度解決されると、オブジェク
ト・マネージャは、エントリが正しいオブジェクト属性
に一致すること、及びこれが現UOWまたはグローバル
UOWのいずれに存在するかを確認しなければならな
い。
【0039】メッセージが、既にエントリを指示する解
決済みのオブジェクト参照を使用して送信されるが、エ
ントリが現UOWに存在しない場合(すなわちカレント
ではなく、且つグローバルでない)、ビジタ・オブジェ
クトが生成されなければならない。オブジェクトのコピ
ーが現UOW内に生成され、次にメッセージがオリジナ
ル・オブジェクトにではなく、オブジェクトのコピーに
送信される。こうして解決処理の間、存続オブジェクト
が見い出され、実体化され、ビジタ・オブジェクトが生
成される。
【0040】作業単位(UOW)機構は豊富で柔軟な操
作環境を提供し、これはオブジェクト指向コンピューテ
ィング環境が、オブジェクトのセット、及びオブジェク
トに作用するオペレーションの点から、メモリを操作、
更新、割当て、及び廃棄することを可能にする。これは
CやPascalなどの従来言語の場合に見られるメモ
リ・ポインタの操作とは異なる。しかしながら、同時に
この柔軟性は、望ましくない副作用を生成する可能性を
提供する。次に、この望ましくない副作用の2つの例に
ついて説明する。
【0041】第1に、子のパネル、ウィンドウまたはフ
ァイル・タイプ・コマンドが、親のパネル、ウィンドウ
またはファイル・タイプからのOREFを使用しようと
試みると、存続ビジタ・オブジェクトが親の作業単位か
ら生成される。一般に、子のパネル、ウィンドウ、また
はファイル・タイプ・コマンドは、そのオブジェクト
を、親からではなくデータベースから獲得するべきであ
る。オブジェクト・マネージャは、特定のメッセージに
応答して、データベースから存続オブジェクトの検索を
特別に強要することにより、この問題に対処することが
できる。しかしながら、本発明では、オブジェクトがメ
モリからではなくデータベースから検索される、より総
称的またはグローバルな仕様を提供する。
【0042】第2の例では、子のパネル、ウィンドウま
たはファイル・タイプ・コマンドが、存続オブジェクト
に対する変更を試行する時、変更がしばしば親のパネ
ル、ウィンドウまたはファイル作業単位において誤って
発生する。このエラーを検出することは困難である。本
発明は、オブジェクト管理システムがこの振舞いをより
自動的に識別することを可能とする。
【0043】境界制御方法及びシステム:全体設計及び
オペレーション図5を参照すると、本発明による境界制
御のブロック図が示される。図示のように、境界制御シ
ステムは好適にはオブジェクト指向プログラム12(図
1)において実施されるが、他の実施例も可能である。
図5に示されるように、境界制御システムは、オブジェ
クト管理テーブル52にビジタ・ロック・フラグ102
及び存続ロック・フラグ104を追加することにより、
オブジェクト管理機構に統合される。フラグはテーブル
内の各作業単位に対応して保持される。各フラグは2つ
の状態のいずれかをとり、本明細書では"オン"及び"オ
フ"として参照する。
【0044】ビジタ・ロッキング手段106は適切な作
業単位のビジタ・ロック・フラグの状態に応答し、第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)
を含む。
【0046】本発明によれば、各作業単位(OMTUC
行)はビジタ・ロック・フラグ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で終了する。
【0048】図8を参照すると、オブジェクト・ロッキ
ング手段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はデータ
ベースから検索され、データベースにコミットされる。
このオペレーションの擬似コードは次の通りである。
【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;
【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;
【0055】存続ロック、138:このオペレーション
は、存続オブジェクトが現作業単位内で追加、通知、ま
たは消去されないように、現作業単位インスタンスをロ
ックする。メッセンジャは、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 を発生する。こ
のタイプのエラーは、この意図されない変更がプログラ
ムの後の方になるまで現れないため、デバッグが特に困
難である。このオペレーションの擬似コードは次の通り
である。
【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;
【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;
【0062】UOW存続ロック状態:このオペレーショ
ンは現作業単位の存続ロック状態を戻す。TRUEはU
OWがロックされていることを意味し、FALSEはロ
ックされてないことを意味する。
【0063】 -- CLASS METHOD --********************************************************************** --* メソッド名:uow_is_pers_locked --* 記述: --* この処理は、現UOWが存続ロックされている場合、TRUEを戻す。ロッ クされてない場合には、FALSEを戻す。 --* 注釈: --********************************************************************** function uow_is_pers_locked <*(*UOWが存続ロックされている場合、TRUEを戻す。それ以外の場合に
は 、FALSEを戻す。*)*> returns BOOLEAN;
【0064】同様のオペレーションによって、ビジタ・
ロック・フラグの状態についても返却される。
【0065】
【発明の効果】以上説明したように、本発明によれば、
改良されたオブジェクト指向コンピューティング環境が
提供される。
【図面の簡単な説明】
【図1】オブジェクト指向コンピューティング環境のブ
ロック図である。
【図2】オブジェクト指向プログラムのブロック図であ
る。
【図3】オブジェクト管理テーブルを表す図である。
【図4】図3の管理テーブルをリンク・リストとして表
した図である。
【図5】本発明による境界制御システムのブロック図で
ある。
【図6】本発明によるオブジェクト管理テーブルを表す
図である。
【図7】図5のビジタ・ロッキング手段により実行され
るオペレーションを表す図である。
【図8】図5のオブジェクト・ブロッキング手段により
実行されるオペレーションを表す図である。
【図9】ビジタ・ロック・フラグがオフ状態の時の、図
5のビジタ・ロッキング手段のオペレーションを表す図
である。
【図10】ビジタ・ロック・フラグがオン状態の時の、
図5のビジタ・ロッキング手段のオペレーションを表す
図である。
【符号の説明】
10 オブジェクト指向コンピューティング環境 11 データ・プロセッサ 12 オブジェクト・指向オペレーティング・プログラ
ム 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)

    (57)【特許請求の範囲】
  1. 【請求項1】オブジェクト指向コンピューティング環境
    のためのオブジェクト管理システムであって、該オブジ
    ェクト指向コンピューティング環境が、各々が、データ
    属性を含むオブジェクト・フレーム並びに関連オブジェ
    クトに対する活動を実行する少なくとも1つのオブジェ
    クト・メソッドを含む複数のオブジェクトを含み、所定
    のオブジェクトがあるタスクを実行するグループとして
    操作されるように、少なくとも該オブジェクトのいくつ
    かが複数の作業単位に編成されており、 上記複数の作業単位のリストと、該作業単位に含まれる
    オブジェクトに対するポインタと、第1または第2の状
    態の一方を取る、該複数の作業単位の各々に対応して設
    けられたビジタ・ロック・フラグ、及び第1または第2
    の状態の一方を取る、該複数の作業単位の各々に対応し
    て設けられた存続ロック・フラグとを含むオブジェクト
    管理テーブルと、 第1の状態にある第1の作業単位に関連するビジタ・ロ
    ック・フラグに応答して、該第1の作業単位から第2の
    作業単位へのオブジェクトのコピーを禁止し、第2の状
    態にある上記第1の作業単位に関連するビジタ・ロック
    ・フラグに応答して、該第1の作業単位から上記第2の
    作業単位へのオブジェクトのコピーを許可するビジタ・
    ロッキング手段と、 第1の状態にある第1の作業単位に関連する存続ロック
    ・フラグに応答して、該第1の作業単位内のオブジェク
    トをロックし、第2の状態にある上記第1の作業単位に
    関連する存続ロック・フラグに応答して、該第1の作業
    単位からオブジェクトをロック解除するオブジェクト・
    ロッキング手段と、 を含む、オブジェクト管理システム。
  2. 【請求項2】上記コンピューティング環境が不揮発性記
    憶手段を含み、少なくとも上記オブジェクトのいくつか
    が該不揮発性記憶手段に記憶される存続オブジェクトで
    あり、上記ビジタ・ロッキング手段が、 第1の状態にある第1の作業単位に関連するビジタ・ロ
    ック・フラグに応答して、該第1の作業単位から第2の
    作業単位への存続オブジェクトのコピーを禁止するとと
    もに、上記不揮発性記憶手段から上記第2の作業単位へ
    の存続オブジェクトのコピーを許可する一方、第2の状
    態にある上記第1の作業単位に関連するビジタ・ロック
    ・フラグに応答して、該第1の作業単位から上記第2の
    作業単位への上記存続オブジェクトのコピーを許可する
    手段を含む、請求項1記載のオブジェクト管理システ
    ム。
  3. 【請求項3】上記オブジェクト管理テーブルが、作業単
    位インスタンスをリストするオブジェクト管理テーブル
    作業単位情報クラス(OMTUC)テーブルを含み、上
    記ビジタ・ロック・フラグが該OMTUCテーブルに含
    まれる、請求項2記載のオブジェクト管理システム。
  4. 【請求項4】上記コンピューティング環境が揮発性記憶
    手段を含み、少なくとも上記オブジェクトのいくつかが
    該揮発性記憶手段に記憶される存続オブジェクトであ
    り、上記オブジェクト・ロッキング手段が、 第1の状態にある第1の作業単位に関連する存続ロック
    ・フラグに応答して、上記第1の作業単位から存続オブ
    ジェクトをロックし、第2の状態にある上記第1の作業
    単位に関連する存続ロック・フラグに応答して、該第1
    の作業単位から該存続オブジェクトをロック解除する手
    段を含む、請求項1記載のオブジェクト管理システム。
  5. 【請求項5】上記オブジェクト・ロッキング手段が、第
    1の状態にある上記第1の作業単位に関連する存続ロッ
    ク・フラグに応答して、該第1の作業単位への上記オブ
    ジェクトの追加を禁止し、第2の状態にある上記第1の
    作業単位に関連する存続ロック・フラグに応答して、該
    第1の作業単位への上記オブジェクトの追加を許可する
    手段を含む、請求項1または2記載のオブジェクト管理
    システム。
  6. 【請求項6】上記オブジェクト・ロッキング手段が、第
    1の状態にある上記第1の作業単位に関連する存続ロッ
    ク・フラグに応答して、該第1の作業単位からの上記オ
    ブジェクトの消去を禁止し、第2の状態にある上記第1
    の作業単位に関連する存続ロック・フラグに応答して、
    該第1の作業単位からの上記オブジェクトの消去を許可
    する手段を含む、請求項1または2記載のオブジェクト
    管理システム。
  7. 【請求項7】上記オブジェクト・ロッキング手段が、第
    1の状態にある上記第1の作業単位に関連する存続ロッ
    ク・フラグに応答して、該第1の作業単位内の上記オブ
    ジェクトに対する変更を禁止し、第2の状態にある上記
    第1の作業単位に関連する存続ロック・フラグに応答し
    て、該第1の作業単位内の上記オブジェクトに対する変
    更を許可する手段を含む、請求項1または2記載のオブ
    ジェクト管理システム。
  8. 【請求項8】上記オブジェクト管理テーブルが、作業単
    位インスタンスをリストするオブジェクト管理テーブル
    作業単位情報クラス(OMTUC)テーブルを含み、上
    記オブジェクト・ロック・フラグが該OMTUCテーブ
    ルに含まれる、請求項1記載のオブジェクト管理システ
    ム。
  9. 【請求項9】上記オブジェクト管理テーブルが、第1ま
    たは第2の状態の一方を取る、上記複数の作業単位の各
    々に対応して設けられたビジタ・ロック・フラグを含
    み、 第1の状態にある第1の作業単位に関連するビジタ・ロ
    ック・フラグに応答して、該第1の作業単位から第2の
    作業単位への上記オブジェクトのコピーを禁止し、第2
    の状態にある上記第1の作業単位に関連するビジタ・ロ
    ック・フラグに応答して、該第1の作業単位から第2の
    作業単位への上記オブジェクトのコピーを許可するビジ
    タ・ロッキング手段を含む、 請求項1記載のオブジェクト管理システム。
  10. 【請求項10】上記コンピューティング環境が不揮発性
    記憶手段を含み、少なくとも上記オブジェクトのいくつ
    かが該不揮発性記憶手段に記憶される存続オブジェクト
    であり、上記ビジタ・ロッキング手段が、 第1の状態にある第1の作業単位に関連するビジタ・ロ
    ック・フラグに応答して、該第1の作業単位から第2の
    作業単位への存続オブジェクトのコピーを禁止するとと
    もに、上記不揮発性記憶手段から上記第2の作業単位へ
    の存続オブジェクトのコピーを許可する一方で、第2の
    状態にある上記第1の作業単位に関連するビジタ・ロッ
    ク・フラグに応答して、該第1の作業単位から上記第2
    の作業単位への上記存続オブジェクトのコピーを許可す
    る手段を含む、請求項9記載のオブジェクト管理システ
    ム。
  11. 【請求項11】上記オブジェクト管理テーブルが、作業
    単位インスタンスをリストするオブジェクト管理テーブ
    ル作業単位情報クラス(OMTUC)テーブルを含み、
    上記ビジタ・ロック・フラグが該OMTUCテーブルに
    含まれる、請求項10記載のオブジェクト管理システ
    ム。
  12. 【請求項12】オブジェクト指向コンピューティング環
    境のためのオブジェクト管理方法であって、 上記オブジェクト指向コンピューティング環境が、各々
    が、データ属性を含むオブジェクト・フレーム並びに関
    連オブジェクトに対する活動を実行する少なくとも1つ
    のオブジェクト・メソッドを含む複数のオブジェクトを
    含み、所定のオブジェクトがあるタスクを実行するグル
    ープとして操作されるように、少なくとも該オブジェク
    トのいくつかが複数の作業単位に編成されており、 上記オブジェクト指向コンピューティング環境が、上記
    複数の作業単位のリストと、該作業単位に含まれるオブ
    ジェクトに対するポインタと、第1または第2の状態の
    一方を取る、該作業単位の各々に対応して設けられたビ
    ジタ・ロック・フラグ、及び第1または第2の状態の一
    方を取る、該作業単位の各々に対応して設けられた存続
    ロック・フラグとを含むオブジェクト管理テーブルを含
    むものにおいて、 第1の状態にある第1の作業単位に関連するビジタ・ロ
    ック・フラグに応答して、該第1の作業単位から第2の
    作業単位へのオブジェクトのコピーを禁止するステップ
    と、 第2の状態にある上記第1の作業単位に関連するビジタ
    ・ロック・フラグに応答して、該第1の作業単位から上
    記第2の作業単位へのオブジェクトのコピーを許可する
    ステップと、 第1の状態にある第1の作業単位に関連する存続ロック
    ・フラグに応答して、該第1の作業単位内のオブジェク
    トをロックするロッキング・ステップと、 第2の状態にある上記第1の作業単位に関連する存続ロ
    ック・フラグに応答して、該第1の作業単位からオブジ
    ェクトをロック解除するロック解除ステップと、を含む
    方法。
  13. 【請求項13】上記コンピューティング環境が不揮発性
    記憶手段を含み、少なくとも上記オブジェクトのいくつ
    かが該不揮発性記憶手段に記憶される存続オブジェクト
    であり、 上記禁止ステップが、第1の状態にある第1の作業単位
    に関連するビジタ・ロック・フラグに応答して、該第1
    の作業単位から第2の作業単位への存続オブジェクトの
    コピーを禁止するとともに、上記不揮発性記憶手段から
    上記第2の作業単位への存続オブジェクトのコピーを許
    可するステップとを含み、 第2の状態のフラグに応答する上記許可ステップが、該
    第2の状態にある上記第1の作業単位に関連するビジタ
    ・ロック・フラグに応答して、該第1の作業単位から上
    記第2の作業単位への存続オブジェクトのコピーを許可
    するステップを含む、 請求項12記載のオブジェクト管理方法。
  14. 【請求項14】上記ロッキング・ステップが、第1の状
    態にある上記第1の作業単位に関連する存続ロック・フ
    ラグに応答して、該第1の作業単位への上記オブジェク
    トの追加を禁止するステップを含み、 上記ロック解除ステップが、第2の状態にある上記第1
    の作業単位に関連する存続ロック・フラグに応答して、
    該第1の作業単位への上記オブジェクトの追加を許可す
    るステップを含む、請求項12または13記載のオブジ
    ェクト管理方法。
  15. 【請求項15】上記ロッキング・ステップが、第1の状
    態にある上記第1の作業単位に関連する存続ロック・フ
    ラグに応答して、該第1の作業単位からの上記オブジェ
    クトの消去を禁止するステップを含み、 上記ロック解除ステップが、第2の状態にある上記第1
    の作業単位に関連する存続ロック・フラグに応答して、
    該第1の作業単位からの上記オブジェクトの消去を許可
    するステップを含む、 請求項12または13記載のオブジェクト管理方法。
  16. 【請求項16】上記ロッキング・ステップが、第1の状
    態にある上記第1の作業単位に関連する存続ロック・フ
    ラグに応答して、該第1の作業単位内の上記オブジェク
    トに対する変更を禁止するステップを含み、 上記ロック解除ステップが、第2の状態にある上記第1
    の作業単位に関連する存続ロック・フラグに応答して、
    該第1の作業単位内の上記オブジェクトに対する変更を
    許可するステップを含む、 請求項12または13記載のオブジェクト管理方法。
  17. 【請求項17】上記オブジェクト管理テーブルが、第1
    または第2の状態の一方を取る、上記複数の作業単位の
    各々に対応して設けられたビジタ・ロック・フラグを含
    み、 第1の状態にある第1の作業単位に関連するビジタ・ロ
    ック・フラグに応答して、該第1の作業単位から第2の
    作業単位への上記オブジェクトのコピーを禁止するステ
    ップと、 第2の状態にある上記第1の作業単位に関連するビジタ
    ・ロック・フラグに応答して、該第1の作業単位から上
    記第2の作業単位への上記オブジェクトのコピーを許可
    するステップと、 を含む、請求項12記載のオブジェクト管理方法。
JP5332891A 1993-01-26 1993-12-27 オブジェクトを管理するためのシステム及び方法 Expired - Fee Related JP2711216B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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