JP3527014B2 - オブジェクト管理方法 - Google Patents
オブジェクト管理方法Info
- Publication number
- JP3527014B2 JP3527014B2 JP12049896A JP12049896A JP3527014B2 JP 3527014 B2 JP3527014 B2 JP 3527014B2 JP 12049896 A JP12049896 A JP 12049896A JP 12049896 A JP12049896 A JP 12049896A JP 3527014 B2 JP3527014 B2 JP 3527014B2
- Authority
- JP
- Japan
- Prior art keywords
- oid
- information
- management system
- client
- database
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Description
方法に係り、特に、クライアント−サーバ型で構成され
るオブジェクト指向データベースシステムに用いるに好
適なオブジェクト管理方法に関する。
ーバ型のシステム構成は、可用性や保守容易性を備える
ための手段として、多くの計算機システムに適用されて
いる。オブジェクト指向データベース(Object−
Oriented Database:OODB)シス
テムにおいても、クライアント−サーバ型のシステム構
成を適用することが一般的である。この場合、データベ
ース管理システム(Database Managem
ent System:DBMS)をサーバとし、デー
タベース管理システム(DBMS)で管理されるデータ
にアクセスするアプリケーションプログラム(Appl
ication Program:AP)をクライアン
トとしている。
B)システムで扱われるオブジェクトには、一般に「動
的状態」と「永続状態」がある。オブジェクトの「動的
状態」とは、通常、アプリケーションプログラム(A
P)がオブジェクトに対して操作を行なえるように、計
算機の主記憶上におかれた状態を指している。「動的状
態」は、揮発的な性質を有している。主記憶の内容が失
われるとき、例えば、アプリケーションプログラム(A
P)プロセスの終了やデータベースシステムの停止など
により、「動的状態」は失われる。
るために退避された状態であり、通常、ディスクなどの
二次記憶装置に保持される。なお、オブジェクトデータ
を「永続状態」から「動的状態」へ移すことを「活性
化」(activate)という。また、「動的状態」
でアプリケーションプログラム(AP)からの操作が可
能な状態を、「活性化状態」という。
る,即ち、オブジェクトの永続性を実現するための標準
仕様として、オブジェクト・マネージメント・グループ
社(Object Management Group
Inc.(OMG))によって規定されたオブジェク
ト永続性サービス仕様(Object Persist
ence Service Specificatio
n(OPSS))が知られている。オブジェクト永続性
サービス仕様(OPSS)は、オブジェクトの永続状態
を管理するための機構とインタフェイスを与えるガイド
ラインである。例えば、オブジェクト永続性サービス仕
様(OOPS)によれば、データストア(data s
tore)とは、オブジェクトの永続状態のための記憶
を与える機構をいい、永続識別子(Persisten
t Identifier:PID)とは、オブジェク
トの永続状態の記憶場所を識別する情報を保持する値を
いう。
取り扱うときは、個々のオブジェクトをシステム内で一
意に識別する機構が必要になる。オブジェクト・データ
ベース・マネージメント・グループ社(Object
Database Management Group
(ODMG))が規定するオブジェクト指向データベー
ス(OODB)の標準仕様のデータモデルによれば、
“The ObjectDatabase Stand
ard:ODMG−93 Release 1.1”,
Cattel,R.G.G.ed.Morgan Ka
ufmannPublishers,1994に記載さ
れているように、データベースシステム内の個々のオブ
ジェクトを一意に識別するために、オブジェクト識別子
(Object Identifier: OID)が
用いられる。
onship)は、オブジェクト指向データモデルにお
ける特長的なモデリングの手段である。「OMT」と呼
ばれる一般的なオブジェクト設計技法によれば、「オブ
ジェクト指向方法論 OMTモデル化と設計」,J.R
umbaugh他、羽生田栄一監訳、トッパン(199
2年)に記載されているように、「関連」とは、オブジ
ェクトの関係を確立するための手段であり、「リンク」
(link)とは、オブジェクト間の物理的あるいは概
念的な結合である。「関連」は、同一の意味を持つ「リ
ンク」の集まり(定義)である。
しては、オブジェクト識別子(OID)をオブジェクト
データ内部に保持する方法がある。データ内部に保持し
ているオブジェクト識別子(OID)に一意に対応する
オブジェクトを、関連付けられたリンク先オブジェクト
と解釈する。
「人」と「会社」の間に関連「勤務する」を定義する場
合、「勤務する」の逆関連「雇う」は「会社」と「人」
との間の関連であり、どちらの方向をたどることも等し
く意味を持ち、根底にある同一の関連を示す。
の概念があり、いくつのオブジェクトがリンクで関連付
けられるかが示される。例えば、「会社」が複数の「従
業員」を「雇う」場合、この関連の多重度は1対多とな
る。
ODB)システムでは、オブジェクト識別子(OID)
がシステム内で一意となることを保証する。そのため
に、オブジェクト識別子(OID)の発行管理は、オブ
ジェクト指向データベース(OODB)システム全体を
管理するデータベース管理システム(DBMS)サーバ
で行なっている。
生成したオブジェクトにオブジェクト識別子(OID)
を割り付けるには、データベース管理システム(DBM
S)サーバとの通信が必要になる。
ときには、一般にリンク先の情報として、オブジェクト
識別子(OID)を用いる。そのため、新規オブジェク
トにリンクを設定する際には、先にオブジェクト生成を
データベース管理システム(DBMS)サーバに伝えて
オブジェクト識別子(OID)を割り付けてから、リン
ク設定処理を行なわなければならない。
に行なう方式としては、まずオブジェクト生成をデータ
ベース管理システム(DBMS)サーバと通信してオブ
ジェクト識別子(OID)を発行し、発行したオブジェ
クト識別子(OID)を受け取ってクライアントでリン
ク設定を行ない、リンク設定に伴う更新要求について別
途データベース管理システム(DBMS)サーバと通信
することが考えられる。
る方式では、通信回数が増加するという問題がある。通
信は処理コストが高いため、上記のような処理方式で
は、クライアント−サーバ型システムにおいて、クライ
アントの要求を効率良く処理することができず、高性能
で動作することができない。
ライアント−サーバ型オブジェクト指向データベース
(OODB)システムの例として、例えば、オブジェク
トデザイン(Object Design)社の製品と
して、オブジェクト・ストア(Object Stor
e)が知られている。オブジェクト・ストアでは、オブ
ジェクトの識別については、メモリ上のポインタを用い
ており、オブジェクト間の関連については、リンク先を
ポインタで直接的に表わしている。このポインタを永続
的に使用できるように、オペレーティングシステム(O
S)のページングおよび仮想記憶の機構を応用した「仮
想記憶マッピングアーキテクチャ」と呼ばれる方法を採
用している。
データページ中のオブジェクトの格納構成が決定され、
サーバではそのページの状態がそのままデータストアに
格納される。従って、それぞれのクライアント毎に扱う
オブジェクトをデータストア中で物理的に近い位置にま
とめて格納(クラスタリング)することで、個々のクラ
イアントの処理でのアクセス効率の向上が図れる。
クライアントの処理とは無関係にオブジェクト操作を行
なうような場合,例えば、データベース全体を対象にし
て、あるデータ構造を持つ(あるタイプに属する)オブ
ジェクトを全件検索する場合、物理的に離れた位置のデ
ータページへのアクセスが多く、特に、検索のためのイ
ンデクスなど特殊な機構を用いていない場合は、すべて
のデータページを検索対象にしなければならず、効率が
悪いものである。
よる方法では、複数のクライアントが個別に扱うオブジ
ェクト群をまとめて格納制御することは困難である。
で構成されるオブジェクト指向データベースシステムに
おいて、システム内でのオブジェクト識別性を保証しつ
つ、サーバと通信を行うことなく、クライアントアプリ
ケーションでのオブジェクト操作を効率よく処理できる
オブジェクト管理方法を提供するにある。
め、本発明は、データベース管理システムクライアント
は、クライアントアプリケーションで生成したオブジェ
クトに対して、このデータベース管理システムクライア
ントで一意に識別する仮オブジェクト識別子を発行し、
割り付け、上記仮オブジェクト識別子を、上記データベ
ースシステムで一意に識別する正式オブジェクト識別子
に変換するための補足的な情報であり、仮オブジェクト
識別子から正式オブジェクト識別子にOID変換する位
置を示すオフセットである更新位置オフセットを有する
OID変換情報を作成し、データベース管理システムサ
ーバへ、上記オブジェクト及びこのオブジェクトに対す
る上記OID変換情報を一括して送信し、上記データベ
ース管理システムサーバは、上記OID変換情報の更新
位置オフセットを用いて、上記仮オブジェクト識別子を
上記正式オブジェクト識別子に変換し、上記オブジェク
トのデータストアへの格納を制御するようにしたもので
あり、かかる方法により、クライアントアプリケーショ
ンでのオブジェクト操作を、サーバとの通信を行うこと
なく、処理し得るものとなる。
しくは、上記データベース管理システムクライアント
は、上記オブジェクトを生成順の番号で管理し、この生
成順の番号に基づいて上記仮オブジェクト識別子をそれ
ぞれのオブジェクトに割り付けるようにしたものであ
り、かかる方法により、仮オブジェクト識別子の管理が
容易となる。
しくは、上記データベース管理システムクライアント
は、複数のオブジェクトを一括して上記データベース管
理システムサーバに送信して、反映要求をするようにし
たものであり、かかる方法により、クライアント−サー
バ間の通信回数を削減できるものとなる。
しくは、上記データベース管理システムクライアント
は、上記複数のオブジェクト間にリンクを設定し、上記
データベース管理システムサーバへ、リンク先情報を設
定する部分更新情報を送信するようにしたものである。
オブジェクト管理方法について、図1乃至図19を用い
て説明する。図1は、本発明の一実施形態によるオブジ
ェクト管理方法を適用したオブジェクト指向データベー
ス(OODB)システムの構成図である。
101bは、ネットワーク102を介して、データベー
ス管理システム(DBMS)サーバ103と通信し、デ
ータストア104に格納されるオブジェクトにアクセス
するクライアント−サーバ型でシステムを構成してい
る。
く、クライアントでのオブジェクト操作(特に、オブジ
ェクト生成とオブジェクト間リンク設定)を行なえるよ
うに構成されている。そして、通信を回避するための基
本的な処理方式として、以下の(1)〜(3)を備えて
いる。
の発行 クライアントアプリケーション101a,101bは、
データベース管理システム(DBMS)サーバ103と
通信せずに、新規生成したオブジェクトに対して、仮の
オブジェクト識別子(OID)を発行し、割り付ける。
ここでは、この仮のオブジェクト識別子(OID)のこ
とを「仮OID」と呼ぶことにする。
ステム(DBMS)サーバ103がシステム内で一意に
なるように正式に発行するオブジェクト識別子(OI
D)である「正式OID」と対比して用いるものであ
る。
トアプリケーション101a,101bが、オブジェク
ト識別子(OID)の内部データに取り込んで作成す
る。
101bにおいて、オブジェクト操作対象となったオブ
ジェクトを識別する値および操作要求の内容は、仮OI
Dを用いて記録される。
変換情報の付加 クライアントアプリケーション101a,101bにお
けるオブジェクト操作に対応するデータベース管理シス
テム(DBMS)サーバ103へ反映要求は、トランザ
クションコミットを契機に一括して送信する。
OIDに効率良く変換するための補足的な情報(OID
変換情報)を付加しておく。
換してデータストアへ反映 データベース管理システム(DBMS)サーバ103
は、上記のOID変換情報に従い、オブジェクトの生成
通番を元に、仮OIDを効率良く正式OIDに変換し、
通信電文中の仮OID中のオブジェクト操作要求をデー
タストアに反映する。
理システム(DBMS)サーバ103が制御し、クラス
タリングなどによりアクセス効率の向上を図る。
ーション101a,101b及びデータベース管理シス
テム(DBMS)サーバ103の構成について説明す
る。
01a,101bの構成について説明する。クライアン
トアプリケーション101のアプリケーションプログラ
ム(AP)105は、データベース(DB)にアクセス
する手順を指示する。アプリケーションプログラム(A
P)105は、データベース管理システム(DBMS)
クライアント106が提供するアプリケーションプログ
ラムインタフェイス(Application Pro
gram Interface:API)の関数群を用
いて記述される。クライアントアプリケーション105
には、データベース管理システム(DBMS)クライア
ント106がバインドされる。
ライアント106のオブジェクト管理部107は、クラ
イアントアプリケーション101が扱うオブジェクト1
08を管理する。オブジェクト108は、オブジェクト
管理部107のクライアントオブジェクトキャッシュ1
09上に保持される。
クト状態管理テーブル110は、クライアントオブジェ
クトキャッシュ109上のオブジェクト108の状態を
管理する。オブジェクト状態管理テーブル110のエン
トリは、各オブジェクト108に、1つずつ対応付けら
れる。
ライアント106の中のディクショナリ定義管理部11
1は、オブジェクト108のデータ構造(タイプ)およ
びアクセス方法の定義の集まりであるディクショナリ情
報を管理する。アプリケーションプログラム105の動
作に必要なディクショナリ定義情報が、クライアントア
プリケーション101にバインドされるものとする。
ライアント106の中の仮OID管理部112は、クラ
イアントアプリケーション101で生成する個々のオブ
ジェクト108を識別する仮OIDの発行を管理する。
仮OIDは、仮OID管理部112で管理される生成順
による生成通番113をもとに作成される。
ライアント106の通信管理部114では、データベー
ス管理システム(DBMS)サーバ103との通信を管
理し、クライアントアプリケーション101におけるオ
ブジェクト操作をデータベース(DB)に反映させるた
めの更新電文115を管理する。
S)サーバ103の構成について説明する。データベー
ス管理システム(DBMS)サーバ103は、トランザ
クション管理やオブジェクト管理など、データベースシ
ステムが提供する各機能を実現するためのプロセスの集
まりから構成されている。
ーバ103の中のシステム制御部116は、データベー
ス(DB)システムを構成するプロセス群を監視し、シ
ステム全体の制御を行なう。
ョン管理部117は、各クライアントアプリケーション
101で実行されるトランザクションの管理を行なう。
bは、クライアントアプリケーション101a,101
bにそれぞれ1つずつ対応するプロセスで、クライアン
トアプリケーション101からの要求を受け付け、デー
タベース管理システム(DBMS)サーバ103の各モ
ジュール(管理部,制御部)に要求を伝える。
ーバ103の中のオブジェクト管理部119は、サーバ
アプリケーション118のオブジェクト操作要求を受け
付けて処理する。サーバオブジェクト管理部119は、
クライアントアプリケーション101のオブジェクト1
08に対応するように、データベース管理システム(D
BMS)サーバ103のオブジェクトキャッシュ120
上でオブジェクト121を操作し、このオブジェクト1
21の状態は、オブジェクト管理情報テーブル122に
より管理する。
03の中のサーバOID管理部123は、データベース
(DB)システムにおける正式OIDを発行し、一意性
を保証するように管理する。
03の中のサーバOID変換管理部124は、クライア
ントアプリケーション101が発行した仮OIDと、正
式OIDとの対応関係を管理する。対応関係は、サーバ
OID変換管理部124の中のOID変換テーブル12
5を用いて管理する。OID変換テーブル125の詳細
については、図19を用いて後述する。
を格納するデータストア104とのデータ入出力を管理
する。
1の永続状態のための記憶を与える機構である。
ケーション101からメッセージを受け取るバッファの
管理を行う。
ブジェクト管理方法の処理方式について説明する。図2
は、本発明の一実施形態によるオブジェクト管理方法に
おけるクライアントアプリケーションでのアプリケーシ
ョンプログラムの処理フローの概念を示すフローチャー
トである。なお、詳細な処理フローについては、図3以
下を用いて後述する。
ブジェクトを作成し、それらのオブジェクト間にリンク
を設定するオブジェクト操作のプログラムの処理につい
て説明する。
理システム(DBMS)クライアント106は、データ
ベース(DB)接続するためのデータベース管理システ
ム(DBMS)クライアント106のアプリケーション
プログラムインタフェイス(API)関数をコールし、
クライアントアプリケーション101とデータベース管
理システム(DBMS)サーバ103との通信を確立す
る。ステップ201の詳細については、図3を用いて後
述する。
理システム(DBMS)クライアント106は、トラン
ザクションを開始するAPI関数をコールする。ステッ
プ202の詳細については、図6を用いて後述する。こ
の後、トランザクション開始から、次のトランザクショ
ンコミットまで間の処理について、データベース(D
B)システムで整合性が保証される。
理システム(DBMS)クライアント106は、オブジ
ェクト108を生成するAPI関数をコールし、「オブ
ジェクト1」を生成する。ステップ203の詳細につい
ては、図7,8を用いて後述する。
して、生成するオブジェクトのタイプを指定する手段が
あるものとする。例えば、ディクショナリ定義管理部1
11に定義されたタイプ識別子を指定するものとする。
タイプ識別子は、データベース(DB)システムの一般
的なディクショナリ定義操作により与えられ、指定され
たタイプ識別子に対応するタイプ定義に基づくデータ構
造のオブジェクトが生成されるものとする。
理システム(DBMS)クライアント106は、ステッ
プ203と同様にして、「オブジェクト2」を生成す
る。ここで、「オブジェクト1」と「オブジェクト2」
で指定するタイプは、同じであっても、異なっていても
よい。ただし、それぞれのタイプ間に1対1の双方向関
連が定義されているものとする。
理システム(DBMS)クライアント106は、オブジ
ェクト間リンク設定API関数をコールし、「オブジェ
クト1」と「オブジェクト2」の間にリンクを設定す
る。ステップ205の詳細については、図9,10,1
1を用いて後述する。ここで、リンク設定APIの入力
として、ディクショナリに定義された関連の関連識別子
を指定するものとする。この指定により、関連の定義情
報に従い、オブジェクト間のリンクが設定されるものと
する。
理システム(DBMS)クライアント106は、トラン
ザクションコミットするAPI関数をコールする。ステ
ップ206の詳細については、図12を用いて後述す
る。これにより、ステップ203以降の処理を、データ
ベース(DB)に反映させる。
(DB)接続を解除するAPI関数をコールし、クライ
アントアプリケーション101とデータベース管理シス
テム(DBMS)サーバ103との通信を解除する。ス
テップ207を終えた後、アプリケーションプログラム
を終了する。
したデータベース管理システム(DBMS)クライアン
トにおけるデータベース(DB)接続APIの処理の詳
細について説明する。図3は、本発明の一実施形態によ
るオブジェクト管理方法におけるデータベース(DB)
接続APIの処理手順を示すフローチャートである。
理システム(DBMS)クライアント106のオブジェ
クト管理部107は、制御情報のデータ領域を確保し、
初期化する。
MS)クライアント106の制御データ構造について、
図4を用いて説明する。図4は、本発明の一実施形態に
よるオブジェクト管理方法において用いるデータベース
管理システム(DBMS)クライアントで取り扱う制御
データの構造の説明図である。
アプリケーション101で一意となる仮OIDの発行を
管理し、トランザクションコミット時に、一括して更新
反映要求を行なうための情報を保持する。
ライアント106の機能のための制御情報として、クラ
イアント管理制御ヘッダ401,オブジェクト管理制御
ヘッダ402,仮OID管理制御ヘッダ403,通信管
理制御ヘッダ404がある。これらの制御情報のアドレ
スは、クライアント管理制御ヘッダアドレスとして、デ
ータベース管理システム(DBMS)クライアントの各
モジュールに対してグローバルな値に保持され、各モジ
ュールがこれらの制御情報にアクセスする。
ライアントアプリケーション101のプロセス全体を管
理するために必要な情報(ステータス)を保持してい
る。例えば、アプリケーションプロセスの状態(DB接
続状態,トランザクション実行状態)を保持している。
ブジェクト管理部107を制御する情報を保持してい
る。オブジェクト管理制御ヘッダ402は、キャッシュ
制御ヘッダ405のアドレス、およびオブジェクト状態
管理制御ヘッダ406のアドレスを保持している。
クトキャッシュ109を管理するために使用し、オブジ
ェクト108のデータのキャッシングの管理に必要な情
報を保持している。キャッシュ制御ヘッダ405は、例
えば、オブジェクトキャッシュ109のキャッシュ領域
の先頭アドレス,利用可能領域の先頭アドレスを保持し
ている。
406は、オブジェクト状態管理テーブル110を管理
する。オブジェクト状態管理テーブル110のエントリ
を割り付けるために、オブジェクト状態管理テーブル1
10のテーブル領域の先頭アドレス,利用可能テーブル
エントリの先頭アドレスなどの情報を保持している。
Dを発行するための情報を管理する。仮OIDの元とな
る生成順通番カウンタ113を保持している。
報を制御するために用い、通信電文を保持する領域であ
る通信バッファ408の先頭アドレスなどを保持する。
アプリケーション101で行なったオブジェクト操作の
データベース管理システム(DBMS)サーバ103に
対する反映は、コミット時に一括して行なう。反映する
要求の内容を、データベース管理システム(DBMS)
クライアント106で一時的に更新情報として保持し、
オブジェクト状態管理エントリ407からポイントして
おく。反映が必要な更新要求情報を効率良くに得るため
に、反映が必要なオブジェクト状態管理エントリ407
を、オブジェクト状態管理制御ヘッダ402からポイン
トし、さらに、複数の更新対象のオブジェクト状態管理
エントリ407を得られるように各エントリをポインタ
で連結しておく。ここでは、この連結のことを「反映要
求チェイン409」と称する。
クト管理部107は、仮OID管理部112を初期化
し、仮OID管理部112は、生成通番113を初期化
する。
理部107は、通信管理部114を初期化し、以降のデ
ータベース管理システム(DBMS)サーバ103への
通信要求に備える。
理システム(DBMS)クライアント106は、データ
ベース(DB)接続要求電文を作成する。
文のデータ構造について、図5を用いて説明する。図5
は、本発明の一実施形態によるオブジェクト管理方法に
おいてクライアントアプリケーションが作成する通信電
文のデータ構造の説明図である。
と、複数(n個)のコマンドパラメタブロック503か
ら構成されている。電文制御ヘッダ502は、通信電文
501を制御するために必要な以下の情報を保持してい
る。
ータであることを示す値など) (2)「電文のサイズ」 (3)「先頭ブロックオフセット」(先頭のコマンドパ
ラメタブロック503の位置を示すオフセット値;通信
電文501の先頭からのオフセット値として与えられて
いる) (4)「ブロック総数(n)」(電文501に保持する
コマンドパラメタブロック503の総数) コマンドパラメタブロック503は、ブロック制御ヘッ
ダ504と、ブロックデータ504から構成されてい
る。ブロック制御ヘッダ504は、各コマンドパラメタ
ブロック503を制御する情報を有している。ブロック
制御ヘッダ504は、例えば、「ブロック形式」,「ブ
ロックサイズ」(ブロックのデータ長),「コマンド識
別子」(データベース(DB)接続要求であることなど
を示す値など),「ブロックデータオフセット」(ブロ
ックデータの位置を示すオフセット値;コマンドパラメ
タブロック503の先頭からのオフセット値),「次ブ
ロックのオフセット」(次のブロックの位置を示すオフ
セット値;通信電文501の先頭からのオフセット値)
を保持している。
えば、データベース(DB)接続要求の電文メッセージ
では、電文制御ヘッダ502内の「ブロック総数」を
「1」とし、最初のブロック1のブロック制御ヘッダ5
04内の「コマンド識別子」に「DB接続」を示す値を
設定するようにしている。
4は、データベース管理システム(DBMS)サーバ1
03へ通信電文501を送信する。ステップ305を終
えた後、データベース(DB)接続処理を終了する。
については、本実施形態の方法を実装するために特別な
機能を必要とせず、周知の機構を用いてよい。
したデータベース管理システム(DBMS)クライアン
トにおけるトランザクション開始APIの処理の詳細に
ついて説明する。図6は、本発明の一実施形態によるオ
ブジェクト管理方法におけるトランザクション開始AP
I関数コールの処理手順を示すフローチャートである。
理システム(DBMS)クライアント106は、オブジ
ェクト管理部107にリセット要求し、オブジェクト管
理部107がリセットする(制御情報を初期状態に戻
し)ことにより、後のオブジェクト操作要求に備える。
理部107は、仮OID管理部112にリセット要求
し、仮OID管理部112がリセットすることにより、
後のオブジェクト生成時の仮OID発行に備える。
理システム(DBMS)クライアント106は、トラン
ザクション開始要求の通信電文を作成する。通信電文
は、通信管理部114の通信バッファ領域に作成され
る。
4は、作成した通信電文を、データベース管理システム
(DBMS)サーバ103へ送信する。データベース管
理システム(DBMS)サーバ103は、トランザクシ
ョン管理部117に、トランザクション開始要求が伝え
られ、クライアントアプリケーション101のプロセス
でのトランザクションが認識され、管理対象となる。
了する。
ップ203に示したデータベース管理システム(DBM
S)クライアントにおけるオブジェクト生成APIの処
理の詳細について説明する。図7は、本発明の一実施形
態によるオブジェクト管理方法におけるオブジェクト生
成APIの処理手順を示すフローチャートであり、図8
は、生成されるオブジェクトのデータ構造の説明図であ
る。
ジェクト管理部107は、ディクショナリに定義されて
いるタイプ定義情報を参照する。参照するタイプ定義対
象は、アプリケーションプログラム105からオブジェ
クト生成APIのパラメタで指定されており、このタイ
プ識別子に対応するタイプ定義情報を、ディクショナリ
定義管理部111から取得する。
理部107は、オブジェクトキャッシュ109上にデー
タ領域を取得する。データ領域の大きさは、ステップ7
01で取得したタイプ定義情報を参照して、必要なサイ
ズを算出する。
理部107は、ステップ701で取得したタイプ定義情
報に従って、オブジェクト108を初期化する。オブジ
ェクト108のデータ構造には、リンク先情報を保持す
る構造があり、このステップにおいて、リンク先情報を
初期化する。
理部107は、このオブジェクトの状態を管理するため
に、オブジェクト状態管理テーブル110のエントリを
割り付ける。
理部107は、ステップ704で取得したオブジェクト
状態管理テーブル110のエントリを初期化する。ここ
で、オブジェクト状態管理テーブル110のエントリの
中のオブジェクト状態を保持する領域のフラグを、新規
状態であることを示すONに設定する。
理部107は、このオブジェクト状態管理テーブル11
0のエントリを、反映要求チェイン409につなぐ。反
映要求チェイン409は、次のエントリをポインタで指
示する。
生成API処理を終了する。
ステム(DBMS)クライアント106におけるオブジ
ェクト108のデータ構造について説明する。オブジェ
クト108は、オブジェクト制御ヘッダ801と、オブ
ジェクトデータ領域802から構成されている。オブジ
ェクト制御ヘッダ801は、オブジェクトデータを制御
情報するために、以下の情報から構成されている。
10のオブジェクト状態管理エントリ806のアドレ
ス」 (2)「オブジェクトの種別」 (3)「オブジェクト全体のデータサイズ」 (4)「自分自身のOID」(このオブジェクトに割り
付けられたOID) クライアントアプリケーション101で生成された時点
では、「自分自身のオブジェクト識別子(OID)」は
設定されていない。仮OIDは、当該オブジェクト操作
において、オブジェクト識別子(OID)が必要になる
とき、例えば、リンク設定を行なうときに発行され、割
り付けられる。リンク設定時の仮OIDの割り付けにつ
いては、図9を用いて後述する。
クト識別子(OID)の形式」(「仮」であるか「正
式」であるかを示す値)と、一意性のための「識別値」
から構成されている。
式」には、仮オブジェクト識別子(OID)形式である
ことを示す値が設定され、「識別値」には、割付対象オ
ブジェクトの生成時の生成通番が設定される。
式」には、正式オブジェクト識別子(OID)形式であ
ることを示す値が設定され、「識別値」には、データベ
ース管理システム(DBMS)サーバ103のOID変
換管理部124において、データベース(DB)システ
ム内で一意になるように作成された値が設定される。こ
こでは、オブジェクトデータ格納位置情報に基づく永続
識別子PIDを識別値として用いる。
ジェクトの内容を示す「オブジェクトデータ」を保持し
ている。この領域に、リンク先情報805も保持され
る。リンク先情報805には、「リンク先OID」(リ
ンク先オブジェクトのオブジェクト識別子(OID))
が保持される。リンク先オブジェクトが生成されてトラ
ンザクションコミットする前ならば、仮OID803を
保持することになる。リンク先オブジェクトがデータス
トアに格納されている既存のオブジェクトならば、正式
OID804を保持することになる。
ブジェクト状態管理エントリ806は、オブジェクト1
08の状態を管理するために、以下の情報を保持してい
る。
(OID)」 (2)「オブジェクト状態フラグ」(生成/更新の状態
であることを示す値を保持する。新規の場合には、フラ
グをONする) (3)「オブジェクトデータのアドレス」(管理対象オ
ブジェクトのオブジェクトデータ領域の先頭アドレス;
オブジェクト制御ヘッダ801の種別の欄を先頭アドレ
スとしている) (4)「部分更新情報のアドレス」(管理対象オブジェ
クトに対して要求された部分更新情報のアドレス) (5)「オブジェクト識別子(OID)変換情報のアド
レス」(管理対象オブジェクトに対して要求されたOI
D変換情報のアドレス) (6)「オブジェクト識別子(OID)変換テーブル登
録要請フラグ」 (7)「更新チェイン409の続き要素エントリのアド
レス」 次に、図9,10,11を用いて、図2のステップ20
5に示したデータベース管理システム(DBMS)クラ
イアントにおけるオブジェクト間リンク設定APIの処
理の詳細について説明する。図9は、本発明の一実施形
態によるオブジェクト管理方法におけるオブジェクト間
リンク設定APIの処理手順を示すフローチャートであ
る。
理部107は、ディクショナリ定義管理部111に定義
されているオブジェクト間関連定義情報を参照する。対
象となる関連定義は、アプリケーションプログラム10
5からリンク設定APIのパラメタとして関連識別子で
指定され、この関連識別子に対応する関連定義情報を、
ディクショナリ定義管理部111から取得する。
理部107は、リンク元オブジェクトが新規で、かつ仮
OIDが割り当てられていないかを判定する。新規であ
るか否かは、図8に示したオブジェクト状態管理エント
リ806内の「状態フラグ」で判定する。新規の場合に
は、「状態フラグ」がONになっている。仮OIDが割
り当てられているか否かは、図8に示したオブジェクト
制御ヘッダ801内の「自分自身のOID」で、「OI
D形式」を参照することにより判定する。「OID形
式」には、仮OID形式であることを示す値若しくは、
正式OID形式であることを示す値が設定されているの
で、これらの値が設定されていない場合には、仮OID
が割り当てられていないと判定する。
ステップ903に進み、仮OIDが割り当てられている
場合は、ステップ906に進む。
112は、新規の仮OIDを発行する。このとき、仮O
ID管理部112は、生成通番113をインクリメント
する。
クト管理部107は、リンク元オブジェクトのオブジェ
クト制御ヘッダ801およびオブジェクト状態管理エン
トリ806内に、発行した仮OIDを設定する。即ち、
オブジェクト制御ヘッダ801の自分自身のOIDに、
仮OID803を設定する。生成通番113には、ステ
ップ903でインクリメントした生成通番を設定する。
また、オブジェクト状態管理エントリ806の「管理対
象OID」に、仮OIDを設定する。
クト管理部107は、オブジェクト状態管理エントリ8
06内の「OID変換テーブル登録要請フラグ」をON
にする。このフラグの値に従って、データベース管理シ
ステム(DBMS)サーバ103で反映処理を行なうと
きに、OID変換テーブル125に、このオブジェクト
についてのエントリを登録することにより、OID変換
テーブル125へのエントリ登録を効率良く行なうこと
ができる。ステップ905を終えた後、ステップ906
に進む。
ては、リンク先オブジェクトについて、ステップ902
からステップ905と同様して、オブジェクト識別子
(OID)を判定し、仮OIDを割り付ける処理を行な
う。
クト管理部107は、リンク先オブジェクトが新規で、
かつ仮OIDが割り当てられていないかを判定する。仮
OIDが割り当てられていない場合は、ステップ907
に進み、仮OIDが割り当てられている場合は、ステッ
プ910に進む。
112は、新規に仮OIDを発行する。このとき、仮O
ID管理部112は、生成通番113をインクリメント
する。
オブジェクトのオブジェクト制御ヘッダ801およびオ
ブジェクト状態管理エントリ806内に、発行した仮O
IDを設定する。
クト管理部107は、オブジェクト状態管理エントリ8
06内の「OID変換テーブル登録要請フラグ」をON
にする。ステップ909を終えた後、ステップ910へ
進む。
理部107は、当該処理でリンク元オブジェクトに対し
て行なう更新を記録しておくための部分更新要求情報を
作成する。この更新要求情報作成処理の詳細について
は、図10,11を用いて後述する。
ェクト管理部107は、ステップ910と同様に、当該
処理でリンク先オブジェクトに対して行なう更新を記録
しておくための更新要求情報を作成する。この更新要求
情報作成処理の詳細についても、図10,11を用いて
後述する。
PI処理を終了する。
ップ910,911に示したデータベース管理システム
(DBMS)クライアントにおける更新情報作成の処理
の詳細について説明する。図10は、本発明の一実施形
態によるオブジェクト管理方法におけるリンク設定時の
更新情報作成の処理手順を示すフローチャートであり、
図11は、本発明の一実施形態によるオブジェクト管理
方法におけるリンク設定時の更新情報作成処理で扱われ
るデータ構造の説明図である。
管理部107は、ディクショナリ定義管理無111から
取得した関連定義情報を参照する。取得した関連定義情
報から、オブジェクト内にリンク先情報を保持する位置
のオフセットを取得し、リンク先情報をリンク元オブジ
ェクト内に埋め込む。ここで、リンク先情報とは、リン
ク先オブジェクトのOIDである。
01aをリンク先オブジェクトとし、オブジェクト11
01bをリンク元オブジェクトとすると、リンク元オブ
ジェクト110bのリンク先情報1102に、リンク先
オブジェクト1101aの「仮OIDa」を埋め込む。
管理部107は、リンク元オブジェクトから、「オブジ
ェクト制御ヘッダ」に保持しているアドレスを参照し
て、オブジェクト状態管理エントリを取得する。
クト1101bの「オブジェクト制御ヘッダ」の先頭に
保持しているアドレスを参照して、オブジェクト状態管
理テーブル110のオブジェクト状態管理エントリ11
04bを取得する。
管理部107は、リンク先オブジェクトのOIDが仮O
IDであるかを判定する。この判定は、OID内の「O
ID形式」を参照して行われる。仮OIDの場合は、ス
テップ1004に進み、仮OIDでない場合は、ステッ
プ1006に進む。
クト1101aの「オブジェクト制御ヘッダ」内の「自
分自身のOID」の「OID形式」(図8参照)を参照
して判定する。ここでは、リンク先オブジェクト110
1a及びリンク元オブジェクト1101bのいづれも仮
OIDであるので、ステップ1004に進むものとす
る。
管理部107は、リンク先オブジェクトのOIDを埋め
込む位置(リンク元オブジェクト内のリンク先情報)の
オフセットをもとに、OID変換情報を作成する。この
OID変換情報に設定するオフセットは、データベース
管理システム(DBMS)サーバ103が、仮OIDが
埋め込まれた位置を効率良く得るために用いられる。
105には、更新位置オフセットが設定される。この更
新位置オフセットは、リンク元オブジェクト1101b
のリンク先情報11102のオフセットである。
ェクト管理部107は、リンク元オブジェクトのオブジ
ェクト管理管理エントリに、OID変換情報のアドレス
を設定する。1つのオブジェクトに対して複数の仮OI
Dが埋め込まれる場合に対処するため、OID変換情報
をアドレスポインタで連結し、オブジェクト状態管理エ
ントリには、OID変換情報のチェインの先頭の要素
(OID変換情報1105)のアドレスを保持する。
クト1101bのオブジェクト管理管理エントリ110
4bに、OID変換情報1105のアドレスを設定す
る。アドレスの設定位置は、図8において説明したよう
に、OID変換要請フラグの前の位置である。複数の仮
OIDが埋め込まれる場合には、図11に示すように、
次のOID変換情報を、前のOID変換情報1105の
アドレスポインタで連結するようにする。
管理部107は、リンク先情報を設定するための部分更
新情報を作成する。部分更新情報は、「更新位置オフセ
ット」,「更新範囲」および「更新データ内容の先頭ア
ドレス」から構成されている。1つのオブジェクトに対
する複数の部分更新に対処するため、部分更新情報は、
「アドレスポインタ」で連結する。オブジェクト状態管
理エントリには、部分更新情報チェインの先頭要素のア
ドレスを保持する。
03は、「更新位置オフセット」,「更新範囲サイ
ズ」,「更新データ内容の先頭アドレス」及び「次の部
分更新情報のアドレスポインタ」から構成されている。
「更新データ内容の先頭アドレス」は、リンク先情報1
102の先頭アドレスである。オブジェクト状態管理エ
ントリ1104bは、部分更新情報のチェインの先頭の
要素(部分更新情報1103)のアドレスを保持してい
る。その位置は、図8において説明したように、OID
変換情報1105のアドレスの前の位置である。
管理部107は、リンク元オブジェクトのオブジェクト
状態管理エントリに部分更新情報のアドレスを設定す
る。既に、部分更新情報が作成されている場合には、新
たに作成した部分更新情報を、既作成の部分更新情報の
チェインに連結する。
管理エントリ1104bの「OID変換要請フラグ」の
2つ前の位置に、部分更新情報1103のアドレスを設
定する。
管理部107は、リンク元オブジェクト状態管理エント
リを設定する。即ち、リンク元オブジェクト状態管理エ
ントリの「状態フラグ」の「更新」を示す値をONにす
る。このフラグは、後のトランザクションコミットで反
映情報電文を作成するときに、当該オブジェクトに部分
更新の反映が要求されていること判定するために用い
る。
クト1101bのオブジェクト状態管理エントリ110
4bのオブジェクト状態フラグの「更新」を示す値をO
Nにする。
管理部107は、リンク元オブジェクト状態管理エント
リを、反映要求チェインに連結する。
クト1101bのオブジェクト状態管理エントリ110
4bを、反映要求チェイン409に連結する。
成処理を終了する。
説明した更新情報作成処理を実行した結果、リンク元オ
ブジェクト1101bのオブジェクトデータ領域内にあ
るリンク先情報1102に、リンク先オブジェクト11
01aに割り付けられたOID(仮OIDa)が設定さ
れる。この設定要求を記録しておくために、部分更新情
報1103が割り付けられる。部分更新情報1103
は、オブジェクト状態管理エントリ1104bの部分更
新情報チェインにつながれる。
OIDが仮OIDの場合は、OID変換情報1105が
作成され、オブジェクト状態管理エントリ1104bの
OID変換情報チェインにつながれる。リンク先が正式
OIDを持つ場合は、このリンク設定に関しては、OI
D変換情報は不要となる。
いるため、リンク先オブジェクトについても、同様の構
造をとっている。
テップ206に示したデータベース管理システム(DB
MS)クライアントにおけるトランザクションコミット
するAPIの処理の詳細について説明する。図12は、
本発明の一実施形態によるオブジェクト管理方法におけ
るトランザクションコミットAPIの処理手順を示すフ
ローチャートであり、図13は、本発明の一実施形態に
よるオブジェクト管理方法におけるトランザクションコ
ミット要求の通信電文データ構造の説明図である。
管理システム(DBMS)クライアント106は、オブ
ジェクト制御ヘッダからオブジェクト状態管理エントリ
の反映要求チェインの先頭要素アドレスを取得する。
01bのオブジェクト制御ヘッダからオブジェクト状態
管理エントリ1104bを取得し、オブジェクト状態管
理エントリ1104bから反映要求チェイン409の先
頭アドレスを取得する。
管理システム(DBMS)クライアント106は、ステ
ップ1201で取得した反映要求チェインに要素がある
か、すなわち、反映要求がなされているかを判定する。
反映要求がなされていない場合は、ステップ1203に
進み、反映要求がなされている場合は、ステップ120
5に進む。
とリンク元オブジェクト1101bがリンクされている
ので、反映要求がなされているとして、ステップ120
5に進んで説明する。
管理システム(DBMS)クライアント106は、仮O
ID管理部の生成通番を、OID変換総数として、通信
電文に設定する。この値は、サーバでOID変換が必要
な総数を伝え、OID変換テーブルの領域を初期化する
ために用いられる。
01bの2つのオブジェクトに対して仮OIDが発行さ
れており、この2つのオブジェクトを一括送信する場合
について考えると、図13に示したコミット要求の通信
電文1301の変換OID総数302には、”2”が設
定される。
管理システム(DBMS)クライアント106は、反映
要求チェイン409をたどり、反映が必要なオブジェク
ト状態管理エントリ1104bのアドレスを取得する。
管理システム(DBMS)クライアント106は、ステ
ップ1206で取得したオブジェクト状態管理エントリ
内の「状態フラグ」で「新規」を示す値がONであるか
を判定する。「新規フラグ」がONの場合には、ステッ
プ1208に進み、オブジェクト生成要求電文を作成す
る。オブジェクト生成要求電文は、図13のコマンドパ
ラメタ1303に示されるように作成されるが、このオ
ブジェクト生成要求電文作成の詳細については、図14
を用いて後述する。「新規フラグ」がONでない場合に
は、ステップ1209に進む。
管理システム(DBMS)クライアント106は、反映
要求チェインの続きがあるかを判定する。続きがある場
合には、ステップ1206に戻り、ステップ1206か
らステップ1209までの処理を繰り返すことにより、
すべての生成要求についての電文が作成される。2回目
のステップ1208において、図13のコマンドパラメ
タ1304に示されるオブジェクト生成要求電文が作成
される。ステップ1209で続きがない場合は、ステッ
プ1210に進む。
管理システム(DBMS)クライアント106は、反映
要求チェインの先頭に戻る。即ち、図11に示したオブ
ジェクト制御ヘッダ1101bを参照して、オブジェク
ト状態管理テーブル110のオブジェクト状態管理エン
トリ1104bのアドレスを取得する。
管理システム(DBMS)クライアント106は、反映
要求チェインをたどり、反映が必要なオブジェクト状態
管理エントリのアドレスを取得する。即ち、図11に示
した反映要求チェイン409をたどり、次のオブジェク
ト状態管理エントリのアドレスを取得する。
管理システム(DBMS)クライアント106は、オブ
ジェクト状態管理エントリ内の状態フラグで更新を示す
値がONであるかを判定する。更新フラグがONの場
合、ステップ1213に進み、オブジェクト更新要求電
文を作成する。オブジェクト更新要求電文は、図13の
コマンドパラメタ1305に示されるように作成される
が、このオブジェクト更新要求電文作成の詳細について
は、図15を用いて後述する。更新フラグがONでない
場合、ステップ1214に進む。
管理システム(DBMS)クライアント106は、反映
要求チェインの続きがあるかを判定する。続きがある場
合は、ステップ1211に戻り、ステップ1211から
ステップ1214までの処理を繰り返すことにより、す
べての更新要求についての電文が作成される。2回目の
ステップ1213において、図13のコマンドパラメタ
1308に示されるオブジェクト更新要求電文が作成さ
れる。ステップ1214で続きがない場合は、ステップ
1215に進む。これにより、すべての更新要求につい
ての電文が作成される。
管理システム(DBMS)クライアント106は、トラ
ンザクションコミット要求の電文を作成する。データベ
ース管理システム(DBMS)クライアント106は、
通信管理部114にコミット要求の電文領域を確保し、
図13に示すトランザクションコミット要求電文のコマ
ンドパラメタブロック1311に、コミット要求である
ことを示すコマンド識別子を設定する。なお、コマンド
識別子の後方の次ブロックオフセットには、次ブロック
があるときには、その次ブロックのオフセットが設定さ
れる。
ベース管理システム(DBMS)クライアント106
は、通信管理部114より、サーバ103へ電文を送信
し、トランザクションコミット要求処理を終了する。
求がないとして、ステップ1203に進んだ場合に、ス
テップ1203では、ステップ1215と同様にして、
トランザクションコミット要求の電文を作成し、さら
に、ステップ1204において、データベース管理シス
テム(DBMS)クライアント106は、通信管理部1
14より、サーバ103へ電文を送信し、トランザクシ
ョンコミット要求処理を終了する。
コミット要求電文のデータ構造について説明する。通信
電文1301の電文制御ヘッダは、(1)「電文の形
式」(サーバへの送信データであることを示す値な
ど),(2)「電文のサイズ」,(3)「先頭ブロック
オフセット」(先頭のコマンドパラメタブロック130
3の位置を示すオフセット値;通信電文1301の先頭
からのオフセット値として与えられている),(4)
「ブロック総数」(通信電文1301に保持するコマン
ドパラメタブロック1303の総数),(5)「変換O
ID総数」(図12のステップ1205で設定)から構
成されている。「ブロック総数」に設定されたデータか
ら、通信電文1301が5つのコマンドパラメタブロッ
ク1303,1304,1305,1308,1311
によって構成されていることが示されている。また、
「変換OID総数1302」により、この通信電文処理
で変換OIDテーブルに登録する要素の数が”2”であ
ることが示されている。
3には、「コマンド識別子」に”生成”が設定されてお
り、「オブジェクトデータ」として”オブジェクトa”
が設定されており、オブジェクトaの生成要求が記され
ている。コマンドパラメタブロック1303では、「O
ID変換テーブル登録要請フラグ」がONに設定されて
おり、データベース管理システム(DBMS)サーバ1
03で要求を処理するときに、OID変換テーブル12
5にこのオブジェクトについてのエントリを登録するよ
うに指示されている。また、「次ブロックオフセット」
により、コマンドパラメタブロック1304の先頭位置
を指示している。
4には、コマンドパラメタブロック1303と同様に、
オブジェクトbについての生成要求が記されている。コ
マンドパラメタブロック1304の「OID変換テーブ
ル登録要請フラグ」がONに設定されており、また、
「次ブロックオフセット」により、コマンドパラメタブ
ロック1305の先頭位置を指示している。
5には、「コマンド識別子」に”更新”が設定されてお
り、「更新対象データ」として”仮OIDa”が設定さ
れており、オブジェクトaの更新要求が記されている。
「次ブロックオフセット」により、コマンドパラメタブ
ロック1308の先頭位置を指示している。「部分更新
数」には、図11に示した部分更新情報1103のチェ
インの数が設定される。「部分更新情報オフセット」
は、部分更新情報1306の先頭位置を指示している。
「OID変換数」は、図11に示したOID変換情報1
105のチェインの数が設定される。「OID変換情報
オフセット」は、OID変換情報1307の先頭位置を
指示している。
ジェクトbへのリンク先情報の設定情報が記されてい
る。「部分更新オフセット」,「部分更新オフセット」
及び「更新データ内容」(リンク先情報)は、図11に
示した部分更新情報1103の内容が設定される。
ク先情報内のオブジェクトbの仮OIDを変換するため
の情報が記されている。「OID変換位置オフセット」
は、図11に示したOID変換情報1105の内容が設
定される。
8,部分更新情報1309,OID変換情報1310に
は、コマンドパラメタブロック1305,部分更新情報
1306,OID変換情報1307と同様にして、オブ
ジェクトbの更新要求が記されている。
1には、コミット要求が記されている。このコマンドパ
ラメタブロック1311により、データベース管理シス
テム(DBMS)サーバ103でトランザクションコミ
ットが行なわれることにより、コマンドパラメタブロッ
ク1303からコマンドパラメタブロック1310によ
る要求が、データストアへ反映されることが保証され
る。
1208に示したデータベース管理システム(DBM
S)クライアントにおけるオブジェクト生成要求電文作
成の処理の詳細について説明する。図14は、本発明の
一実施形態によるオブジェクト管理方法におけるオブジ
ェクト生成要求電文作成の処理手順を示すフローチャー
トである。
管理システム(DBMS)クライアント106は、オブ
ジェクト108のデータサイズをもとに電文に必要な領
域サイズを算出する。
14は、ステップ1401で算出した値を元に、電文領
域を確保する。
管理システム(DBMS)クライアント106は、オブ
ジェクト状態管理エントリ1104b内の「OID変換
テーブル登録要請フラグ」がONであるかを判定する。
「OID変換テーブル登録要請フラグ」がONの場合
は、ステップ1404に進み、ONでない場合には、ス
テップ1405に進む。
管理システム(DBMS)クライアント106は、コマ
ンドパラメタ中の「OID変換テーブル登録要請フラ
グ」をONに設定する。即ち、図13に示したコマンド
パラメタブロック1303,1304中の「OID変換
テーブル登録要請フラグ」をONに設定する。
管理システム(DBMS)クライアント106は、オブ
ジェクト108のデータをコマンドパラメタ中の新規オ
ブジェクトデータ領域にコピーする。即ち、オブジェク
トデータをコマンドパラメタブロック1303,130
4の中の「オブジェクトデータ」の領域に設定する。ス
テップ1405を終えた後、生成要求電文作成の処理を
終了する。
1213に示したデータベース管理システム(DBM
S)クライアントにおけるオブジェクト更新要求電文作
成の処理の詳細について説明する。図15は、本発明の
一実施形態によるオブジェクト管理方法におけるオブジ
ェクト更新要求電文作成の処理手順を示すフローチャー
トである。
管理システム(DBMS)クライアント106は、オブ
ジェクト状態管理エントリの部分更新情報のチェインを
たどり、更新要求数をカウントし、電文のコマンドパラ
メタブロックに必要なサイズを算出する。即ち、図11
に示した部分更新情報1103のチェインをたどり、部
分更新情報のエントリ数をカウントする。
管理システム(DBMS)クライアント106は、OI
D変換情報チェインをたどり、変換する仮OID数をカ
ウントし、電文のコマンドパラメタブロックに必要なサ
イズを算出する。即ち、図11に示したOID変換情報
1105のチェインをたどり、OIDの変換要求数をカ
ウントする。
管理システム(DBMS)クライアント106は、ステ
ップ1501およびステップ1502で得た値をもと
に、更新要求コマンドパラメタブロック全体で必要なサ
イズを算出し、通信管理部114は、電文領域を確保す
る。
管理システム(DBMS)クライアント106は、更新
対象オブジェクトのOIDを通信電文に設定する。即
ち、図11に示したオブジェクト状態管理エントリ11
04bの仮OIDbを、図13に示したコマンドパラメ
タブロック1305の「更新対象」に設定する。
管理システム(DBMS)クライアント106は、部分
更新情報1103のチェインをたどり、1つの部分更新
情報1103を取得する。
管理システム(DBMS)クライアント106は、ステ
ップ1505で得た部分更新情報を参照し、「部分更新
位置オフセット」,「更新範囲」を取得し、これを通信
電文に設定する。また、オブジェクトキャッシュ上のオ
ブジェクトの更新内容を参照し、更新データ内容を電文
に設定する。即ち、図11に示した部分更新情報110
3の「部分更新位置オフセット」,「部分更新範囲サイ
ズ」を取得し、図13に示した部分更新情報1306の
「部分更新位置オフセット」,「部分更新範囲サイズ」
に設定し、また、更新データ内容(リンク先情報)を設
定する。
管理システム(DBMS)クライアント106では、部
分更新情報チェインで続き要素があるかを判定する。続
きがある場合は、ステップ1505に戻り、ステップ1
505からステップ1507の処理を繰り返し、すべて
の部分更新情報の電文を作成する。即ち、図13に示し
た部分更新情報1306及び部分更新情報1309が作
成される。
続きがない場合は、ステップ1508に進む。
管理システム(DBMS)クライアント106は、更新
情報の数および電文中で更新情報を設定した位置のオフ
セット情報を、コマンドパラメタブロックのブロック制
御ヘッダに設定する。即ち、図13に示したコマンドパ
ラメタブロック1305の「部分更新数」に、更新情報
の数を設定し、「部分更新情報オフセット」に、電文中
で更新情報を設定した位置のオフセット情報を設定す
る。
管理システム(DBMS)クライアント106は、更新
データ中にOID変換情報があるか否かを判定する。即
ち、図11に示したオブジェクト状態管理エントリ11
04bの「OID変換情報アドレス」が、OID変換情
報1105の先頭アドレスを保持しているか判定する。
このオブジェクト内に、OID変換が必要であるかを判
定する。
510に進み、OID変換情報がない場合は、ステップ
1512に進む。
管理システム(DBMS)クライアント106は、OI
D変換情報チェインをたどり、1つのOID変換情報を
得る。即ち、図11に示したOID変換情報1105を
取得する。
ベース管理システム(DBMS)クライアント106
は、OID変換情報を電文に設定する。ここで、OID
変換する位置を示すオフセットを設定する。
07を設定する。また、このとき、「次OID変換オフ
セット」を設定する。
管理システム(DBMS)クライアント106は、OI
D変換情報チェインで続き要素があるかを判定する。続
きがある場合は、ステップ1510に戻り、ステップ1
510からステップ1512の処理を繰り返す。これに
より、すべてのOID変換情報の電文が作成される。即
ち、OID変換情報1307,1310が設定される。
続きがない場合は、ステップ1513に進む。
管理システム(DBMS)クライアント106は、ステ
ップ1509からステップ1512の処理で作成したO
ID変換情報の数,および電文中でのOID変換情報の
位置を示すオフセットをコマンドパラメタブロックのブ
ロック制御ヘッダに設定する。即ち、図13に示したコ
マンドパラメタブロック1305,1308の「OID
変換数」に、OID変換情報の数を設定し、「OID変
換情報オフセット」に、電文中でのOID変換情報の位
置を示すオフセットを設定する。
求電文作成処理を終了する。
06に示したデータベース管理システム(DBMS)サ
ーバにおけるトランザクションコミットの処理の詳細に
ついて説明する。図16は、本発明の一実施形態による
オブジェクト管理方法におけるトランザクションコミッ
トの処理手順を示すフローチャートである。
ケーション118aは、通信管理部107から、電文の
アドレスを取得する。
信電文中の変換OID総数(図13に示した変換OID
総数1302)をもとに、総数分の要素配列を保持可能
な領域を確保し、OID変換テーブル125を初期化す
る。
ケーション118は、ステップ1601で得た通信電文
から、電文制御ヘッダの「先頭ブロックオフセット」を
参照して、コマンドパラメタブロック1303を取得す
る。
ケーション118は、コマンドパラメタブロック130
3の「コマンド識別子」が「生成」を示す値であるかを
判定する。「生成」の場合は、ステップ1605に進
む。ステップ1605において、オブジェクト管理部1
19は、生成要求の電文解析処理を行なう。生成要求の
電文解析処理の詳細については、図17を用いて後述す
る。ステップ1605を終えた後、ステップ1610に
進む。
パラメタブロックを取得する。図13に示すように、コ
マンドパラメタブロック1303の「コマンド識別子」
は「生成」であり、続くコマンドパラメタブロック13
04の「コマンド識別子」も「生成」であるので、ステ
ップ1605による生成コマンド処理を実行する。
成」でない場合は、ステップ1606へ行き、コマンド
識別子が「更新」を示す値であるかを判定する。
1305,1308の「コマンド識別子」は「更新」で
あるので、ステップ1607に進み、オブジェクト管理
部119は、更新要求の電文解析処理を行なう。更新要
求の電文解析処理の詳細については、図18を用いて後
述する。ステップ1607を終えた後、ステップ161
0に進む。
場合は、ステップ1608へ行き、コマンド識別子が
「コミット」を示す値であるかを判定する。
1311の「コマンド識別子」は「コミット」であるの
で、ステップ1609に進み、サーバアプリケーション
118は、トランザクション管理部117へトランザク
ションコミットの要求を行なう。ステップ1609を終
えた後、当該コミット処理を終了する。
別が「コミット」でない場合は、ステップ1610に進
み、ステップ1610では、電文中の次のコマンドパラ
メタブロックを取得し、ステップ1604に戻る。以上
の繰り返しにより、「コミット」要求までのすべての
「生成」および「更新」の反映要求に対する処理が行な
われる。
ステップ1605に示したデータベース管理システム
(DBMS)サーバにおけるオブジェクト生成コマンド
処理の詳細について説明する。図17は、本発明の一実
施形態によるオブジェクト管理方法における生成コマン
ドの処理手順を示すフローチャートであり、図19は、
本発明の一実施形態によるオブジェクト管理方法におけ
るDBMSサーバ内でのオブジェクトデータの構造の説
明図である。
管理部119は、コマンドパラメタブロック中のオブジ
ェクトデータサイズを取得し、オブジェクトデータサイ
ズのオブジェクトを保持できるように、オブジェクトキ
ャッシュ領域を確保する。
ロック1303,1304の「オブジェクトデータ」の
構成は、図8に示したような構成になっており、図8に
示したオブジェクトデータ108のオブジェクト制御ヘ
ッダ801の中の「オブジェクトの全体のサイズ」から
オブジェクトデータサイズを取得する。
管理部119は、コマンドパラメタブロック中のオブジ
ェクトデータを、ステップ1701で確保した領域にコ
ピーする。即ち、図13に示したコマンドパラメタブロ
ック1303,1304の「オブジェクトデータ」を、
図19に示したオブジェクトキャッシュ120のオブジ
ェクト1901aにコピーする。
管理部119は、格納制御部126にオブジェクト格納
を要求する。格納位置が確定することにより、永続識別
子(PID)が与えられ、OID管理部124よりこの
オブジェクトに対して正式OIDが割り付けられる。こ
こで、割り付けられた正式OIDをオブジェクトキャッ
シュ120上のオブジェクト1901aの制御ヘッダの
自分自身のOIDの保持域(図19における正式OID
aの領域)に設定する。即ち、図19のオブジェクトキ
ャッシュ120上のオブジェクト1901aの「自分自
身のOID」に「正式OIDa」が設定され、オブジェ
クト1901bの「自分自身のOID」に「正式OID
b」が設定される。
管理部119は、このオブジェクトデータに対して、オ
ブジェクト状態管理エントリを割り付け、初期化する。
これにより、このオブジェクトが活性化状態となる。
管理部119は、コマンドパラメタブロック1303,
1304中の「OID変換テーブル登録要請フラグ」が
ONであるかを判定する。フラグがONの場合は、ステ
ップ1706に進む。
管理部119は、オブジェクトの仮OID内の通番を元
に、OID変換テーブルに登録する。即ち、図13に示
したコマンドパラメタブロック1303,1304の中
の構造は、図8に示したとおりであり、図8に示したオ
ブジェクト108のオブジェクト制御ヘッダ801の中
の「自分自身のOID」の中の仮OID803内の生成
通番をもとに、図19に示したOID変換テーブル12
5において、このオブジェクトに関するエントリの登録
位置を確定し、活性化されているオブジェクトデータの
アドレスを設定する。
テップ1705でフラグがONでない場合は、生成コマ
ンド処理を終了する。
1607に示したデータベース管理システム(DBM
S)サーバにおけるオブジェクト更新コマンド処理の詳
細について説明する。図18は、本発明の一実施形態に
よるオブジェクト管理方法における更新コマンドの処理
手順を示すフローチャートである。
管理部119は、更新対象オブジェクトをオブジェクト
キャッシュに活性化する。ここで、更新対象が新規オブ
ジェクトの場合は、先に、図17で説明した処理によ
り、すでに活性化状態になっており、OID変換テーブ
ルを参照することにより、対象オブジェクトを取得する
ことができる。また、更新対象がデータストアに格納さ
れている既存のオブジェクトの場合は、通信電文中に指
定される正式OIDにより、周知の活性化機構を用い
て、データストアから活性化されるものとする。
管理部119は、ブロック制御ヘッダを参照して、ブロ
ック中の1つの部分更新情報を取得する。即ち、図13
に示したコマンドパラメタブロック1305の「部分更
新情報オフセット」から部分更新情報1306を取得す
る。
管理部119は、ステップ1802で取得した部分更新
情報をもとに、ステップ1801で取得したオブジェク
トデータを書き換える。即ち、ステップ1801におい
て、初期化した領域に部分更新情報を入れる。
管理部119は、更新情報のブロック制御ヘッダを参照
し、先のステップ1803で処理した部分更新情報に続
きがあるか判定する。
り、すべての部分更新が行なわれるようにする。即ち、
図13に示したコマンドパラメタブロック1308の
「部分更新情報オフセット」から部分更新情報1309
を取得し、取得した部分更新情報をもとに、ステップ1
801で取得したオブジェクトデータを書き換える。続
きがない場合は、ステップ1805に進み。
管理部119は、ブロック制御ヘッダを参照し、ブロッ
ク中にOID変換情報を保持しているか判定する。即
ち、図13に示したコマンドパラメタブロック1305
の「OID変換情報オフセット」からOID変換情報を
保持しているか判定する。保持していない場合は、ステ
ップ1812に進み、保持している場合は、ステップ1
806に進む。
管理部119は、ブロック中から1つのOID変換情報
を取得する。即ち、図13に示したOID変換情報13
07を取得する。
管理部119は、ステップ1806で取得したOID変
換情報内のオフセットをもとに、オブジェクトデータ内
に埋め込まれている仮OIDを取得する。即ち、図13
に示したコマンドパラメタブロック1305の中の「更
新対象」の「仮OIDa」を取得する。
管理部119は、ステップ1807で取得した仮OID
の内容を参照し、仮OIDの内部データに保持されてい
る生成通番を取得する。即ち、仮OIDの構造は、図8
に示したようであり、図8の仮OID803の「生成通
番」を取得する。
管理部119は、ステップ1808で得られた値をもと
に、この値を、OID変換テーブル配列の要素位置とし
て、オブジェクトに対応するエントリを取得する。この
エントリには、図19に示したように、オブジェクトキ
ャッシュ120上に活性化されたオブジェクトのアドレ
スが設定されている。オブジェクト1901の制御ヘッ
ダには、自分自身の正式OIDが設定されているので、
これを参照することにより、正式OIDを取得する。
管理部119は、オブジェクトデータ内の仮OIDを、
ステップ1809で得られた正式OIDに書き換える。
即ち、図19に示したオブジェクト1901aの中で、
図8に示したオブジェクト制御ヘッダ801の中の「リ
ンク先OID」に正式OIDbを書き込む。
管理部119は、ブロック中に続きのOID変換情報が
あるか判定する。OID変換情報がある場合は、ステッ
プ1806に戻り、すべてのOID変換を処理するま
で、ステップ1806からステップ1811の処理を繰
り返す。これにより、図19に示したオブジェクト19
01bの中の「リンク先OID」に正式OIDaを書き
込まれる。
変換情報がない場合は、ステップ1812に進む。
管理部119は、格納制御部126に対して、これまで
の更新をデータストアに反映するよう要求する。ステッ
プ1812を終えた後、当該更新コマンド処理を終了す
る。
理システム(DBMS)サーバにおけるオブジェクトデ
ータ構造について説明する。
b1901bが、オブジェクトキャッシュ120上に活
性化されている。OID管理部124のOID変換テー
ブル125には、オブジェクトaとオブジェクトbのそ
れぞれのエントリが登録されている。ここで、オブジェ
クトaは、生成通番でa番目に生成されたものとし、生
成順に従って、OID変換テーブル125の配列でa番
目にエントリが登録されている。同様に、オブジェクト
bについても、OID変換テーブル125の配列でb番
目にエントリが登録されている。
ェクトa1901aとオブジェクトb1901bのオブ
ジェクト制御ヘッダで、「自分自身のOID」の保持領
域に、それぞれ、「正式OIDa」、「正式OIDb」
が設定されている。
オブジェクトa1901aとオブジェクトb1901b
のリンク先情報で、「リンク先OID」に、それぞれ、
「正式OIDb」、「正式OIDa」が設定されてい
る。
たが、これは例示したものであり、これによって本発明
が制限されるものではない。
間の関連の多重度は1対1としていたが、多対多の関連
についても、本発明を適用することができる。多対多関
連の実装方法としては、一般に、直にリンク先OIDを
保持するのではなく、OIDの集合を管理するコレクシ
ョン機能を介して実装され、コレクションの要素のOI
Dがリンク先オブジェクトのOIDであると解釈され
る。この場合、基本的にはOIDを扱うので、上記の方
式で仮OIDを正式OIDに変換すれば、実装すること
が可能である。
意性を保証する期間単位をトランザクションとしている
が、サーバと通信を行なうタイミングや、データベース
(DB)接続、クライアントプロセス単位など、クライ
アントアプリケーションの形態に応じて適当に単位を設
定することも考えられる。
バ構成のオブジェクト指向データベースシステムにおい
て、新規オブジェクトに対して生成順通番をもとにした
仮OIDを用いるにより、正式OIDを必要とするよう
なクライアントアプリケーションでのオブジェクト操作
を、データベース管理システム(DBMS)サーバとの
通信を行なうことなく(通信回数を削減して)、効率良
く処理することが可能となる。
アントからサーバに送信することにより、通信回数を削
減することができる。
付加しておくことにより、仮OIDから正式OIDへの
変換を効率よく行えるようになる。
型で構成されるオブジェクト指向データベースシステム
において、システム内でのオブジェクト識別性を保証し
つつ、サーバと通信を行うことなく、クライアントアプ
リケーションでのオブジェクト操作を効率よく処理でき
る。
法を適用したオブジェクト指向データベース(OOD
B)システムの構成図である。
法におけるクライアントアプリケーションでのアプリケ
ーションプログラムの処理フローの概念を示すフローチ
ャートである。
法におけるデータベース(DB)接続APIの処理手順
を示すフローチャートである。
法において用いるデータベース管理システム(DBM
S)クライアントで取り扱う制御データの構造の説明図
である。
法においてクライアントアプリケーションが作成する通
信電文のデータ構造の説明図である。
法におけるトランザクション開始API関数コールの処
理手順を示すフローチャートである。
法におけるオブジェクト生成APIの処理手順を示すフ
ローチャートであり、
よって生成されるデータベース管理システム(DBM
S)クライアントのオブジェクトデータ構造の説明図で
ある。
法におけるオブジェクト間リンク設定APIの処理手順
を示すフローチャートである。
方法におけるリンク設定時の更新情報作成の処理手順を
示すフローチャートである。
方法におけるリンク設定時の更新情報作成処理で扱われ
るデータ構造の説明図である。
方法におけるトランザクションコミットAPIの処理手
順を示すフローチャートである。
方法におけるトランザクションコミット要求の通信電文
データ構造の説明図である。
方法におけるオブジェクト生成要求電文作成の処理手順
を示すフローチャートである。
方法におけるオブジェクト更新要求電文作成の処理手順
を示すフローチャートである。
方法におけるトランザクションコミットの処理手順を示
すフローチャートである。
方法における生成コマンドの処理手順を示すフローチャ
ートである。
方法における更新コマンドの処理手順を示すフローチャ
ートである。
方法におけるDBMSサーバ内でのオブジェクトデータ
の構造の説明図である。
Claims (4)
- 【請求項1】データベース管理システムクライアント
は、クライアントアプリケーションで生成したオブジェ
クトに対して、このデータベース管理システムクライア
ントで一意に識別する仮オブジェクト識別子を発行し、
割り付け、 上記仮オブジェクト識別子を、上記データベースシステ
ムで一意に識別する正式オブジェクト識別子に変換する
ための補足的な情報であり、仮オブジェクト識別子から
正式オブジェクト識別子にOID変換する位置を示すオ
フセットである更新位置オフセットを有するOID変換
情報を作成し、 データベース管理システムサーバへ、上記オブジェクト
及びこのオブジェクトに対する上記OID変換情報を一
括して送信し、 上記データベース管理システムサーバは、上記OID変
換情報の更新位置オフセットを用いて、上記仮オブジェ
クト識別子を上記正式オブジェクト識別子に変換し、上
記オブジェクトのデータストアへの格納を制御すること
を特徴とするオブジェクト管理方法。 - 【請求項2】請求項1記載のオブジェクト管理方法にお
いて、 上記データベース管理システムクライアントは、上記オ
ブジェクトを生成順の番号で管理し、この生成順の番号
に基づいて上記仮オブジェクト識別子をそれぞれのオブ
ジェクトに割り付けることを特徴とするオブジェクト管
理方法。 - 【請求項3】請求項1記載のオブジェクト管理方法にお
いて、 上記データベース管理システムクライアントは、複数の
オブジェクトを一括して上記データベース管理システム
サーバに送信して、反映要求をすることを特徴とするオ
ブジェクト管理方法。 - 【請求項4】請求項3記載のオブジェクト管理方法にお
いて、上記データベース管理システムクライアントは、 上記複
数のオブジェクト間にリンクを設定し、上記データベー
ス管理システムサーバへ、リンク先情報を設定する部分
更新情報を送信することを特徴とするオブジェクト管理
方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12049896A JP3527014B2 (ja) | 1996-05-15 | 1996-05-15 | オブジェクト管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12049896A JP3527014B2 (ja) | 1996-05-15 | 1996-05-15 | オブジェクト管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09305468A JPH09305468A (ja) | 1997-11-28 |
JP3527014B2 true JP3527014B2 (ja) | 2004-05-17 |
Family
ID=14787697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12049896A Expired - Fee Related JP3527014B2 (ja) | 1996-05-15 | 1996-05-15 | オブジェクト管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3527014B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU4949000A (en) * | 1999-05-24 | 2000-12-12 | Sony Corporation | Information processing device and method, and information processing system |
JP5098950B2 (ja) * | 2008-10-21 | 2012-12-12 | 株式会社島津製作所 | クライアント・サーバ型分析システム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5522077A (en) * | 1994-05-19 | 1996-05-28 | Ontos, Inc. | Object oriented network system for allocating ranges of globally unique object identifiers from a server process to client processes which release unused identifiers |
-
1996
- 1996-05-15 JP JP12049896A patent/JP3527014B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
鶴岡他,オブジェクト指向DBMSのアーキテクチャに関する考察,情報処理学会研究報告,日本,社団法人情報処理学会,1993年 7月,第93巻第65号(93−DBS−94),p.109−116 |
Also Published As
Publication number | Publication date |
---|---|
JPH09305468A (ja) | 1997-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5649103A (en) | Method and apparatus for managing multiple server requests and collating reponses | |
US5493671A (en) | Method and apparatus for conversion of database data into a different format on a field by field basis using a table of conversion procedures | |
US6173313B1 (en) | Methodology for hosting distributed objects at a predetermined node in a distributed system | |
JP3512910B2 (ja) | 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法 | |
EP1252584B1 (en) | Method for distributed transaction support using jdbc 1.0 drivers | |
US5519875A (en) | Distributed processing system for modules, each having modularized objects | |
US5970488A (en) | Real-time distributed database system and method | |
US6874061B1 (en) | Method and system for implementing variable sized extents | |
KR100473162B1 (ko) | 로그인 서비스 변수를 보관하는 방법 | |
EP0684569B1 (en) | Database system | |
US6314417B1 (en) | Processing multiple database transactions in the same process to reduce process overhead and redundant retrieval from database servers | |
KR100293795B1 (ko) | 분산형데이터베이스시스템및데이터엔티티액세스방법 | |
US6275843B1 (en) | Method and apparatus for processing multiple service requests within a global transaction by a single server application program instance | |
EP0629960A2 (en) | Extendible file system | |
US20070043726A1 (en) | Affinity-based recovery/failover in a cluster environment | |
EP1021764B1 (en) | I/o forwarding in a cache coherent shared disk computer system | |
JPH02228744A (ja) | データ処理システム | |
JPH02201653A (ja) | アプリケーシヨン・プログラム・インターフエース方法 | |
US20040024808A1 (en) | Wide area storage localization system | |
US6829761B1 (en) | Method and apparatus for managing shared memory in a run-time environment | |
JP3527014B2 (ja) | オブジェクト管理方法 | |
US20080270609A1 (en) | Computer-readable medium to multiplex multiple application server requests over a single database connection | |
US5920869A (en) | Database management system | |
JPS61289457A (ja) | マルチプロセス・コンピュータ装置における分散データ処理方法 | |
JPH0765019A (ja) | データベースサービス方法およびそれを利用したサービス制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040217 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040218 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080227 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090227 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090227 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100227 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100227 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110227 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |