(57)【特許請求の範囲】
【請求項１】
複数のプロセスに共有される永続データと、特定のプロセスの実行中に存在し、そのプロセスの終了と共に消滅するプロセス固有の一時データとを扱うデータ管理システムにおいて、
各プロセスがデータベース上の永続データをメモリへ取り込む際に、その永続データが一時データを必要とするかを当該永続データ中のスキーマ情報に基づいて判定する判定手段と、
該判定手段により必要とすると判定された場合に、当該必要とする一時データを、前記データベース上の初期化ファクタに基づいて初期化し、初期化された一時データを前記メモリ上に確保する確保手段と、
該確保手段により確保された一時データに関するポインタを、取り込まれた前記永続データ中のプロセス固有の属性に設定する設定手段と、
各プロセスが前記永続データ中の属性値を更新する際に、当該属性値がプロセス固有の属性の値か否かを判別する判別手段と、
該判別手段によりプロセス固有の属性の値でないと判別された場合にのみ、前記データベースに更新を通知する通知手段とを有することを特徴とするデータ管理システム。
【請求項２】
前記確保手段が、前記必要とする一時データを新たに生成して確保することを特徴とする請求項１に記載のデータ管理システム。
【請求項３】
前記確保手段が、前記必要とする一時データを前記メモリ上の既存のデータより探索し、見つかったデータを共有化して確保することを特徴とする請求項１に記載のデータ管理システム。
【請求項４】
前記永続データは描画データであり、前記必要とする一時データは、カラー情報またはフォント情報のリソース識別子であることを特徴とする請求項１に記載のデータ管理システム。
【請求項５】
複数のプロセスに共有される永続データと、特定のプロセスの実行中に存在し、そのプロセスの終了と共に消滅するプロセス固有の一時データとを扱うデータ管理方法において、
各プロセスがデータベース上の永続データをメモリへ取り込む際に、その永続データが一時データを必要とするかを当該永続データ中のスキーマ情報に基づいて判定する判定工程と、
該判定工程により必要とすると判定された場合に、当該必要とする一時データを、前記データベース上の初期化ファクタに基づいて初期化し、初期化された一時データを前記メモリ上に確保する確保工程と、
該確保工程により確保された一時データに関するポインタを、取り込まれた前記永続データ中のプロセス固有の属性に設定する設定工程と、
各プロセスが前記永続データ中の属性値を更新する際に、当該属性値がプロセス固有の属性の値か否かを判別する判別工程と、
該判別工程によりプロセス固有の属性の値でないと判別された場合にのみ、前記データベースに更新を通知する通知工程とを有することを特徴とするデータ管理方法。
【請求項６】
前記確保工程では、前記必要とする一時データを新たに生成して確保することを特徴とする請求項５に記載のデータ管理方法。
【請求項７】
前記確保工程では、前記必要とする一時データを前記メモリ上の既存のデータより探索し、見つかったデータを共有化して確保することを特徴とする請求項５に記載のデータ管理方法。
【請求項８】
前記永続データは描画データであり、前記必要とする一時データは、カラー情報またはフォント情報のリソース識別子であることを特徴とする請求項５に記載のデータ管理方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、複雑な構造を持ったデータを利用するデータベース・アプリケーションを管理するデ−タ管理システムに関する。
【０００２】
特に、マルチメディア・データ処理のように、データベースによって管理される永続的なオブジェクトとアプリケーション・プロセス内にのみ存在する一時的なオブジェクトとが複雑な関係をもって絡み合うアプリケーションにおいて、オブジェクトを矛盾なく共有するデ−タ管理システムに関する。
【０００３】
【従来の技術】
一般に、データベース・アプリケーションにおいては、データベース上に置かれ複数のアプリケーションから共有される永続的なオブジェクト（以下，永続オブジェクト）と、アプリケーションの実行中存在しアプリケーション・プロセスと共に消滅してしまう一時的なオブジェクト（以下、揮発オブジェクト）とが混在している。
ここで、「オブジェクト」とは、従来のレコード・データ、あるいは、関係型データベースのタプルなどを含み、一つの意味をもつまとまりとして扱えるデータ構造全般を指す。
【０００４】
一般に、データベースを利用するアプリケーションを作ろうとする場合，永続オブジェクトと揮発オブジェクトはアプリケーション中で混在したものとなる。特に、永続オブジェクトが揮発オブジェクトをリンクなどの手段で指す状況が発生する。このような状況では、アプリケーション・プロセスの終了と共に  揮発オブジェクトが消滅し、揮発オブジェクトを含んだ永続的なデータ構造は、データ構造に欠損ができるので、データ構造全体としての意味がなくなってしまう、という問題が発生する。
【０００５】
【発明が解決しようとする課題】
上記従来技術では、データベースを用いない実現でのプログラミングでは必要のなかった手続きの追加やデータモデルの変更などのため、アプリケーション・プログラマがその責任において、アプリケーション毎に永続オブジェクトと揮発オブジェクトとを矛盾なく扱うプログラムを作成する必要が生じ、アプリケーション作成の生産性が落ちてしまうという問題があった。
【０００６】
【課題を解決するための手段】
上記課題を解決するために、本発明によれば、複数のプロセスに共有される永続データと、特定のプロセスの実行中に存在し、そのプロセスの終了と共に消滅するプロセス固有の一時データとを扱うデータ管理システムにおいて、各プロセスがデータベース上の永続データをメモリへ取り込む際に、その永続データが一時データを必要とするかを当該永続データ中のスキーマ情報に基づいて判定する判定手段と、該判定手段により必要とすると判定された場合に、当該必要とする一時データを、前記データベース上の初期化ファクタに基づいて初期化し、初期化された一時データを前記メモリ上に確保する確保手段と、該確保手段により確保された一時データに関するポインタを、取り込まれた前記永続データ中のプロセス固有の属性に設定する設定手段と、各プロセスが前記永続データ中の属性値を更新する際に、当該属性値がプロセス固有の属性の値か否かを判別する判別手段と、該判別手段によりプロセス固有の属性の値でないと判別された場合にのみ、前記データベースに更新を通知する通知手段とを備える。
また、他の態様によれば、複数のプロセスに共有される永続データと、特定のプロセスの実行中に存在し、そのプロセスの終了と共に消滅するプロセス固有の一時データとを扱うデータ管理方法において、各プロセスがデータベース上の永続データをメモリへ取り込む際に、その永続データが一時データを必要とするかを当該永続データ中のスキーマ情報に基づいて判定する判定工程と、該判定工程により必要とすると判定された場合に、当該必要とする一時データを、前記データベース上の初期化ファクタに基づいて初期化し、初期化された一時データを前記メモリ上に確保する確保工程と、該確保工程により確保された一時データに関するポインタを、取り込まれた前記永続データ中のプロセス固有の属性に設定する設定工程と、各プロセスが前記永続データ中の属性値を更新する際に、当該属性値がプロセス固有の属性の値か否かを判別する判別工程と、該判別工程によりプロセス固有の属性の値でないと判別された場合にのみ、前記データベースに更新を通知する通知工程とを備える。
【０００７】
【実施例】
（実施例１）
以下、本発明の実施例について、図を用いて説明する。
【０００８】
例えば、ビットマップディスプレイとマウスを用いて、図形のドローイングを行なう場合、それによって作成した描画データをデータベース管理する例の場合には、その描画データを表示するためのウィンドウ・サーバとの通信情報が、揮発オブジェクトであり、アプリケーションの終了と共にカラー情報やフォント情報が欠損する。したがって、描画データとしての意味が失われてしまう。
【０００９】
オブジェクトの混在から発生するこの問題を回避するため、計算機上で、データベース・システムを用いて蓄えられる永続オブジェクトは、揮発オブジェクトとの関係を記述せず、そのデータベース内に保存されるデータとの関係を保存してきた。つまり、データベース内のデータの明示的なもしくは暗に示された参照関係は、この意味において、データベース内に閉じていた。そして、これにより、データベースの整合性を保っていた。この整合性の保持のために、例えば、典型的な関係型データベース・システム上の永続オブジェクトは、揮発オブジェクトとの関係を保存することを禁止している。
【００１０】
このため、揮発オブジェクトとの関係を記述する必要があるアプリケーションにおいては、永続オブジェクトをアプリケーション・プロセスのメモリ空間にコピーしてから、揮発オブジェクトとの関係を記述するといった処理をする必要がある。
【００１１】
そのようなアプリケーションの記述の例として、ワークステーション上の一般的なウィンドウ・システムであるＸウィンドウ・システムを用いて表示される描画データをデータベース管理する例について説明する。
【００１２】
Ｘウィンドウ・システムでは、ウィンドウ上に表示される描画データは、実際に表示が行なわれるウィンドウ・サーバとの通信情報（フォント情報やカラー情報のリソース識別子など）を含んでいる。この時、それぞれのウィンドウ・サーバとのコネクションは、アプリケーション・プロセスごとに確立されるので、ウィンドウ・サーバとの通信情報は、アプリケーション・プロセスごとに異なる。したがって、この描画データは、揮発オブジェクト  をその属性として持つ。
一方、ここでは、ウィンドウ上の描画データを、データベースによって管理しようとしているので、これは、永続オブジェクトである。
【００１３】
本実施例では、Ｘウィンドウ・システムの描画ツール・アプリケーションにおいて、その描画情報をデータベース管理する例について説明する。
【００１４】
以後、永続オブジェクトからリンクが張られ、プロセスが終了すると消滅する揮発オブジェクトを特に『ｖａｐｏｒｉｚａｂｌｅ  ｏｂｊｅｃｔ』と呼び、永続オブジェクトから  ｖａｐｏｒｉｚａｂｌｅ  ｏｂｊｅｃｔ  を指しているリンクを『ｖａｐｏｒｉｚａｂｌｅ  ｐｏｉｎｔｅｒ』と呼ぶ事にする。
【００１６】
更に、図７に示す様に、ここでは共有される永続デ−タを各アプリケ−ションにマッピングして、それぞれのアプリケ−ションに固有な揮発デ−タと同様のメモリ空間上で利用する。
【００１７】
ここで、共有される永続デ−タのマッピングにについては、既に説明したオブジェクト（意味のあるデ−タのまとまり）を単位として行う。そしてそれぞれのアプリケ−ション内でもオブジェクト間の関係が、一貫性を保てる様に、マッピングの際に調節する。
【００１８】
上記の様に『共有される永続デ−タとアプリケ−ションに固有の揮発デ−タを、同様のメモリ空間で利用出来る』場合において、永続デ−タから揮発デ−タを差し示す際の揮発デ−タの消滅問題を解決する。
【００１９】
図１は、本実施例における揮発ポインタを含むオブジェクトの参照処理のフローチャートである。
【００２０】
図２は、本実施例におけるシステム構成を表わした図である。図中、１は、描画ツールの利用者が、描画ツールにコマンドやデータを入力するための入力装置で、例えば、キーボードあるいはマウスである。
【００２１】
２は、入力装置１より入力された指令に基づいて、本実施例の処理を行なうための処理部のＣＰＵ  で、後述する記憶装置に記憶された処理手順を実行する。
【００２２】
３は、ＣＰＵ  ２の処理結果、あるいは、描画ツールからのメッセージをプリントアウト、あるいは、表示するための出力装置で、例えば、プリンタ、ＣＲＴ  ディスプレイである。
【００２３】
４は、描画データを記憶し管理するためのデータベース、例えば、オブジェクト指向データベースで、後述する初期化ファクタも記憶されている。
【００２４】
５は、本実施例で扱う揮発オブジェクトのデータ、図１、図３及び図４に示す制御手順のプログラム、処理プログラム、および、デ−タベ−スシステム４から展開された永続オブジェクト、処理に要するデータ及びＸウインドウ等のプログラムなどを一時的に記憶するため主記憶のの記憶装置である。ここに含まれる各データは、それぞれが、独立の記憶装置に分けられていても良い。またここに記憶される情報は、その他の記憶装置からロ−ドされて来る。６は計算機バスで、入力装置１、ＣＰＵ２、出力装置３、デ−タベスシステム４及び記憶装置５を結合し、デ−タやアドレス及び制御情報を伝達する。
【００２５】
本実施例の処理のながれについて説明する。本処理は、揮発オブジェクトの参照と更新の２つの処理に大別される。
まず、揮発オブジェクトの参照処理について説明する。
【００２６】
永続デ−タＡデ−タ内にある他の永続デ−タＢへの参照をアクセスする際に、永続デ−タＢについての参照処理が起動される。
【００２７】
本実施例では、アプリケ−ションである描画ツ−ルが、共有されている複合図形を参照している際に、その複合図形内のいずれかの図形を利用しようとする時に参照処理が起動される。この処理は、次の２点を特徴とする。
【００２８】
（１）データベースシステム３上のデータを、アプリケーション・プログラムのプロセス内で定義される記憶装置５所定の記憶領域に取り込んだ際に、揮発オブジェクトの初期化手続きを、動的に呼び出す設定手段；  すなわち、データベースシステム３上の描画データを記憶装置５内の所定の記憶領域内に取り込み描画ツールの処理対象とする際、フォント情報やカラー情報などのリソース識別子からなる揮発オブジェクトを、記憶装置内の所定の領域に記憶されている揮発オブジェクトを初期化手続きにより前述の上記プロセスで定義された所定記憶領域内に設定する。
【００２９】
（２）記憶装置内に複写された永続オブジェクトに含まれながら、データベースに影響を与えないプロセス−ロカ−ル−アトリビュトによりアプリケーション・プロセス内におかれる揮発オブジェクトを直接指し示す識別手段；
すなわち、初期化したフォント情報やカラー情報などの揮発オブジェクトを、データベースに影響を与えない属性により永続オブジェクトから識別する。
これにより、複数の描画ツールの実行中、各永続オブジェクトから揮発オブジェクトへの参照が、プロセス中での参照と同様に処理可能となる。
これを図１を用いて説明する。
【００３０】
（ａ）揮発オブジェクトの初期化処理
本実施例においては、揮発オブジェクトの初期化処理は、描画データの参照処理の過程で行われる。
【００３１】
（Ｓ１０１）データベース３上の描画データを描画ツールで定義された記憶領域に、取り込んだ際に、その描画データのスキーマ情報から、揮発ポインタを含むかどうか調べる。  本実施例では、描画データに付随するフォント情報やカラー情報を指し示すために揮発ポインタが使われる。
【００３２】
（Ｓ１０２）含まない場合には、そのまま、本処理を終了する。
【００３３】
（Ｓ１０３）含む場合には、揮発オブジェクトを生成するためデ−タベ−スシステムに定義されている初期化ファクター１０１を取り出す。
【００３４】
本実施例では、フォント情報のためのフォント名リストや、カラー情報のための  ＲＧＢ  の各輝度の数値表現などである。
【００３５】
（Ｓ１０４）取り出した初期化ファクター１０１に基づいて、揮発ポインタ１０２を初期化する。
【００３６】
本実施例では、フォント情報、カラー情報のそれぞれについて、記憶装置内に存在しているＸ  ウィンドウ・システムのライブラリを用いてウインドウサーバと通信を行い、それらの情報のためのリソース識別子を得る事である。
【００３７】
（Ｓ１０５）初期化した揮発オブジェクト１０２を記憶装置の所定の領域内に保持するために、この描画データ内のプロセス−ロ−カル・アトリビュ−トに揮発オブジェクト１０２へのポインターを代入する。
【００３８】
このプロセス−ロ−カル・アトリビュ−トを含む永続オブジェクトは、データベース３上で複数のプロセスから共有されるが、プロセス−ロカ−ル・アトリビュ−トは、データベース３に影響を与えない属性なので、プロセス−ロ−カル・アトリビュ−トは、各アプリケーション・プロセスごとに独立の値を持つ事が可能となるここでは、揮発オブジェクトを新たに生成する処理について述べたが、プロセス内に存在している既存のオブジェクトの中から条件を満たすオブジェクトを探し出し、それを共有する事も容易に想像できる。
【００３９】
前述の参照処理のＳ１０４の揮発オブジェクトの初期化処理について図８を用いて説明する。
【００４０】
ステップＳ８０１において、初期化ファクタ−８０１から、揮発オブジェクトの共有可能性フラグ８０２を取り出す。
【００４１】
ステップＳ８０２において、共有可能性フラグ８０２から共有可能性を調べる。
【００４２】
ステップＳ８０３において、共有可能で有れば、初期化ファクタ８０１と同じ値を持つ揮発オブジェクトをこのアプリケ−ションの揮発オブジェクトの中から検索する。
【００４３】
ステップＳ８０４において、対象となる揮発オブジェクトが発見されれば、それをここでの揮発オブジェクト８０３として処理を終了する。
【００４４】
ステップＳ８０５において、発見されない場合には、共有不可能な場合と同様に、揮発オブジェクトの生成を行う。
【００４５】
ステップＳ８０６において、初期化ファクタから揮発オブジェクトの生成時に必要なデ−タ８０４を取り出す。
【００４６】
ステップＳ８０７において、生成用デ−タ８０４を揮発オブジェクトの生成手続きに渡し、揮発オブジェクト８０３を生成する。
【００４７】
（ｂ）揮発オブジェクトの識別処理
永続オブジェクトは、プロセス−ロカ−ル・アトリビュ−トを用いて、揮発オブジェクトを直接指し示めしている。このため、揮発オブジェクトの識別に関しては、特別の処理を必要としない。
【００４８】
従って、永続オブジェクトから揮発オブジェクトを参照する場合にも、アプリケーション・プロセス内の参照とまったく同様に処理する事が可能となる。
次に、揮発オブジェクトの更新処理について図３を用いて説明する。
【００４９】
（ｃ）  更新処理
揮発オブジェクトを含む描画オブジェクトの更新処理に関しては、描画ツール内の更新処理と、共有している描画データのデータベース上での更新処理の二通りに分かれる。以下では、二通りのそれぞれについて、手順を説明する。
【００５０】
（Ｓ３０１）描画ツールが、プロセス内に取り込まれた描画データの属性値を更新する。
【００５１】
（Ｓ３０２）このとき、そのオブジェクトのスキーマ情報を用いて、その属性が、プロセス−ロ−カル・アトリビュ−トであるかどうか調べる。
【００５２】
（Ｓ３０３）もし、プロセス−ロ−カル・アトリビュ−トであるなら、そのまま本処理を終了する。
【００５３】
（Ｓ３０４）そうでないならば、データベース管理システムへ、その変更を通知し、データベース３内の値の初期化ファクタの更新処理を依頼する。
また、データベース３上においても、揮発オブジェクトを変更する場合には、次のような特別の処理を行う必要がある。これを図４を用いて説明する。
【００５４】
（Ｓ４０１）新しい揮発オブジェクト４０１の値に関する初期化ファクター４０２を得る。
【００５５】
本実施例では、フォント情報のためのフォント名リストや、カラー情報のための  ＲＧＢ  の各輝度の数値表現などである。
【００５６】
（Ｓ４０２）その初期化ファクター４０２をデータベースシステム４に格納する。
【００５７】
（Ｓ４０３）この揮発オブジェクトを含む永続オブジェクトを共有している各アプリケーション・プロセスにおいて、新しい初期化ファクター４０２に基づき、それぞれ揮発オブジェクトを再初期化し、プロセス・ロ−カル・アトリビュ−トに保持する。
以上で、処理の説明を終了する。
【００５８】
本実施例において、
動的に揮発オブジェクトを再初期化する手段について述べたが、予めすべての揮発オブジェクトを把握しておくことにより、事前に全ての揮発オブジェクトを初期化し、実行中の初期化の負荷を減少させることも可能である。
【００５９】
また、初期化をまとめて行なうことで、初期化ファクターを集中管理することも容易に想像できる。
【００６０】
（実施例２）
次に本発明の第２の実施例について、図を用いて説明する。
第２の実施例では、複数の利用者によって共有されるフィルム・ストック・サービスのようなビデオ・ライブラリのシーン（永続オブジェクトに相当する。以下、永続シーン）の一部に、ユーザ独自のシーン（揮発オブジェクトに相当する。以下、揮発シーン）を取り込む例について説明する。
図５は、本実施例におけるシステム構成を表わした図である。図中、
１は、ビデオ・ライブラリの利用者が、コマンドを入力するための入力装置で、例えば、キーボードあるいはスイッチ・パネルである。また、この入力装置には、必要に応じて、記憶装置５に記憶する揮発シーンを取り込むためのカメラ装置も含むものとする。
【００６１】
２は、入力装置１より入力された指令に基づいて、後述の記憶装置５に記憶された制御手順を実行して本実施例の処理を行なうためのコントローラである。
【００６２】
３は、ビデオ・ライブラリからのメッセージ、あるいは、処理されたビデオをプリントアウト、あるいは、表示するための出力装置で、例えば、プリンタ、ＣＲＴ  ディスプレイである。
【００６３】
４は、永続シーンを管理するため装置で、例えば、レーザ・ディスク・プレーヤーやビデオデッキで、永続シ−ンと共に初期化ファクタが記憶されている記憶媒体を駆動する。
【００６４】
５は、本実施例で扱う揮発シーン、図６に示す制御手順のプログラム、コントローラー２へのコマンドなどを一時的に記憶するための記憶装置である。ここに含まれる各データは、それぞれが、独立の記憶装置に分けられていても良い。
【００６５】
６は、以上の構成要素を結合するバスのビデオ・ケーブルである。
【００６６】
本実施例における、ビデオ・シーンの再生の処理のながれについて、図６を用いて説明する。
【００６７】
本実施例においても、共有される永続シーンから、揮発シーンを識別するためには、第１の実施例において説明したプロセス・ロカ−ル・アトリビュ−トを用いている。
【００６８】
このプロセス・ロカ−ル・アトリビュ−トは、実行される再生処理の中で有効であり、共有されている永続シーンに影響を与えない。
【００６９】
このプロセス・ロカ−ル・アトリビュ−トを用いる事によって、永続シーンに変更を加えることなく、容易に揮発シーンとの関係を記述する事が可能である。
【００７０】
（Ｓ６０１）共有している永続シーンを再生中、揮発シーンを指すためのプロセス・ロカ−ル・アトリビュ−トが埋め込まれているかどうかを調べる。
【００７１】
（Ｓ６０２）プロセス・ロカ−ル・アトリビュ−トが埋め込まれている場合には、そのプロセス・ロカ−ル・アトリビュ−トに相当する揮発ポインタが指している揮発シーン６０１を取り出すため、コントローラーを呼び出す。
【００７２】
（Ｓ６０３）コントローラーは、必要に応じて、入力装置から、動的に、この際姓処理に局所的な揮発シーン６０１を取り込む。あるいは、既存の永続シーンや揮発シーン６０１から合成する。
【００７３】
（Ｓ６０４）コントローラーから取り出された揮発シーン６０１を出力装置に送り、永続シーンの揮発ポインタ部分を、この揮発シーン６０１により置き換える。
【００７４】
ビデオ・シーンをリアルタイムで表示処理するために、揮発ポインタの先読みをする事も容易に想像できる。
【００７５】
また、ここでは、動的に揮発ポインタ、すなわち揮発シーンを初期化し、永続シーンの再生時に取り込む例を示したが、事前に、揮発シーンの初期化を行っておき、永続シーンの再生中には、参照するとしることによって、ビデオ・シーン再生のリアルタイム性を向上させる事も容易に想像できる。  ここでは、ビデオ・ライブラリを例として、そのビデオ情報の管理について述べたが、複数ユーザおよび複数アプリケーションによるビデオ情報の共有を必要とする一般のアプリケーションにも適用できる。
【００７６】
また、ビデオ情報に限らず、共有を必要とするマルチメディア情報の管理に適用する事も容易に想像できる。
【００７７】
以下、次に本発明の第３の実施例について、図９、図２を用いて説明する。
本実施例では、
Ｘウィンドウ・システムの描画ツール・アプリケーションにおいて、その描画情報をデータベース管理する例について説明する。
【００７８】
以後、永続オブジェクトからリンクが張られ、プロセスが終了すると消滅する揮発オブジェクトを特に『ｖａｐｏｒｉｚａｂｌｅ  ｏｂｊｅｃｔ』と呼び、永続オブジェクトからｖａｐｏｒｉｚａｂｌｅ  ｏｂｊｅｃｔを指しているリンクを『ｖａｐｏｒｉｚａｂｌｅ  ｐｏｉｎｔｅｒ  』と呼ぶ事にする。
図９は、本実施例における  ｖａｐｏｒｉｚａｂｌｅ  ｐｏｉｎｔｅｒ  を含むオブジェクトの参照処理のフローチャートである。
【００７９】
図２は、本実施例におけるシステム構成を表わした図である。図中、
１は、描画ツールの利用者が、描画ツールにコマンドやデータを入力するための入力装置で、キーボードあるいはマウス等である。
【００８０】
２は、入力装置１より入力された指令に基づいて、本実施例の処理を行なう処理部のＣＰＵ  で、記憶装置に記憶されている後述のプログラムを実行する。
【００８１】
３は、ＣＰＵ  ２の処理結果、あるいは、描画ツールからのメッセージをプリントアウト、あるいは、表示するための出力装置で、例えば、プリンタ、ＣＲＴ  ディスプレイである。
【００８２】
４は、描画データを記憶し管理するためのデータベース、例えば、オブジェクト指向データベースである。
【００８３】
５は、本実施例で扱うデータ、処理プログラム、図に示す処理プログラムおよび、処理に要するデータなどを一時的に記憶するための記憶装置である。ここに含まれる各データは、それぞれが、独立の記憶装置に分けられていても良い。
【００８４】
６は、以上の構成要素を結合する計算機バスである。
【００８５】
次に本実施例の処理のながれについて説明する。本処理はｖａｐｏｒｉｚａｂｌｅ  ｏｂｊｅｃｔの参照と更新との２つの処理に大別される。
【００８６】
まず、ｖａｐｏｒｉｚａｂｌｅ  ｏｂｊｅｃｔの参照処理について図９を用いて説明する。
【００８７】
ステップ（Ｓ１０１）データベース上の描画データがｖａｐｏｒｉｚａｂｌｅ  ｐｏｉｎｔｅｒ  を含むかどうか調べる。
【００８８】
本実施例では、描画データに付随するフォント情報やカラー情報を指し示すために  ｖａｐｏｒｉｚａｂｌｅ  ｐｏｉｎｔｅｒ  が使われる。
【００８９】
ステップ（Ｓ１０２）含まない場合には、そのまま、本処理を終了する。
【００９０】
ステップ（Ｓ１０３）含む場合には、該ｖａｐｏｒｉｚａｂｌｅ  ｐｏｉｎｔｅｒ  によって指されているｖａｐｏｒｉｚａｂｌｅ  ｏｂｊｅｃｔの識別子を取り出す。
【００９１】
本実施例では、フォント情報のためのフォント名リストの名前や、カラー情報のための  ＲＧＢ  の各輝度の数値表現の名前などである。
【００９２】
ステップ（Ｓ１０４）該識別子から、データ特定手段によりｖａｐｏｒｉｚａｂｌｅ  ｏｂｊｅｃｔを特定する。
【００９３】
ステップＳ１０４で特定されたｖａｐｏｒｉｚａｂｌｅ  ｏｂｊｅｃｔに対するポインタが、参照処理の結果となる。ｖａｐｏｒｉｚａｂｌｅ  ｏｂｊｅｃｔは各プロセスごとに独立なので、該参照結果はプロセスごとに独立の値を持つことが可能となる。
次に、ｖａｐｏｒｉｚａｂｌｅ  ｏｂｊｅｃｔの更新処理について説明する。ｖａｐｏｒｉｚａｂｌｅ  ｐｏｉｎｔｅｒ  によって特定されたｖａｐｏｒｉｚａｂｌｅ  ｏｂｊｅｃｔを更新する場合に、ｖａｐｏｒｉｚａｂｌｅ  ｏｂｊｅｃｔの識別子に変更がなければ永続データに対する処理は不要である。ｖａｐｏｒｉｚａｂｌｅ  ｐｏｉｎｔｅｒ  の値が変更される等、ｖａｐｏｒｉｚａｂｌｅ  ｏｂｊｅｃｔの識別子が変更された場合は、データ名記録手段を用いることにより、永続データ中にｖａｐｏｒｉｚａｂｌｅ  ｏｂｊｅｃｔの識別子を記録する。
以上をもって、本実施例の処理のながれについての説明を終了する。
【００９４】
以下、次に第４の実施例について、図４、図５を用いて説明する。
第４の実施例では、複数の利用者によって共有されるフィルム・ストック・サービスのようなビデオ・ライブラリのシーン（永続オブジェクトに相当する。以下、永続シーン）の一部に、ユーザ独自のシーン（揮発オブジェクトに相当する。以下、揮発シーン）を取り込む例について説明する。
【００９５】
図５は、本実施例におけるシステム構成を表わした図である。図５中、１は、ビデオ・ライブラリの利用者が、コマンドを入力するための入力装置で、例えば、キーボードあるいはスイッチ・パネルである。また、この入力装置には、必要に応じて、シーンを取り込むためのカメラ装置も含むものとする。  ２は、入力装置１より入力された指令に基づいて、本実施例の処理を行なうためのコントローラである。
【００９６】
３は、ビデオ・ライブラリからのメッセージ、あるいは、処理されたビデオをプリントアウト、あるいは、表示するための出力装置で、例えば、プリンタ、ＣＲＴ  ディスプレイである。
【００９７】
４は、永続シーンを管理するための装置で、たとえば、レーザ・ディスク・プレーヤーやビデオデッキである。
【００９８】
５は、本実施例で扱う揮発シーン、および、コントローラーへのコマンドなどを一時的に記憶するための記憶装置である。ここに含まれる各データは、それぞれが、独立の記憶装置に分けられていても良い。
【００９９】
６は、以上の構成要素を結合するビデオ・ケーブルである。
本実施例における、ビデオ・シーンの再生の処理のながれについて図１０を用いて説明する。
【０１００】
（Ｓ４０１）コントローラは、共有している永続シーンを再生中、該永続シーンが揮発シーンを指しているかどうかを調べる。
【０１０１】
（Ｓ４０２）該永続シーンが揮発シーンを指している場合には、コントローラは揮発シーンの識別子を特定する。
【０１０２】
（Ｓ４０３）コントローラは、入力装置から入力されたシーン、あるいは第５図の４の管理装置中の既存の永続シーン、あるいは第５図の５の記憶装置中にすでに存在する揮発シーン等の中から、データ特定手段を用いることによって揮発シーンを特定する。
【０１０３】
（Ｓ４０４）コントローラは特定された揮発シーンを出力装置に送ることにより、永続シーンのｖａｐｏｒｉｚａｂｌｅ  ｐｏｉｎｔｅｒ  の部分を、該揮発シーンで置き換える。
【０１０４】
本実施例において、ビデオ・シーンをリアルタイムで表示処理するために、ｖａｐｏｒｉｚａｂｌｅ  ｐｏｉｎｔｅｒ  の先読みをする事も可能である。
【０１０５】
本実施例では、ｖａｐｏｒｉｚａｂｌｅ  ｏｂｊｅｃｔ、すなわち揮発シーン、を永続シーンの再生時に動的に取り込む例を示したが、事前に揮発シーンを用意しておき、永続シーンの再生中には、参照のみを行なうことによって、ビデオ・シーン再生のリアルタイム性を向上させる事も可能である。
【０１０６】
本実施例においては、ビデオ・ライブラリを例として、そのビデオ情報の管理について述べたが、複数ユーザおよび複数アプリケーションによるビデオ情報の共有を必要とする一般のアプリケーションにも適用可能である。
【０１０７】
また、ビデオ情報に限らず、共有を必要とするマルチメディア情報の管理に適用する事も可能である。
【０１０８】
【発明の効果】
以上説明したように、本発明によれば、マルチメディア・データベースのように、複数のプロセスに共有される永続データと、特定のプロセスの実行中に存在し、そのプロセスの終了と共に消滅するプロセス固有の一時データとを扱うデータ管理において、次のような利点が得られる。
【０１０９】
（１）永続データが一時データを含んでいたとしても、アプリケーション・プロセスでの利用時点では、欠けのない状態に保つことができる。
（２）複数のアプリケーション・プロセスによって共有される永続データの整合性を保つことができる。
（３）上述の利点を、永続オブジェクト内での参照あるいは揮発オブジェクト内での参照と同様に行なう事で実現できるので、プログラマの負担を減少させることができる。
【図面の簡単な説明】
【図１】本発明の実施例１の揮発オブジェクトを含むオブジェクトの参照処理のながれを説明するためのフローチャート
【図２】本発明における実施例１を説明するためのシステム構成図
【図３】実施例１の揮発オブジェクトを含むオブジェクトの更新処理のながれを説明するためのフローチャート
【図４】実施例１の揮発オブジェクトの更新処理のながれを説明するためのフローチャート
【図５】本発明における実施例２を説明するためのシステム構成図
【図６】実施例２の揮発オブジェクトを含むオブジェクトの参照処理のながれを説明するためのフローチャート
【図７】本発明の実施例を説明する為のマッピングを示す図
【図８】本発明の実施例を説明する為の初期化処理の更なる説明をするフロ−チャ−ト
【図９】本発明の実施例３の揮発オブジェクトを含むオブジェクトの参照処理のながれを説明するためのフローチャート
【図１０】本発明の実施例４の揮発オブジェクトを含むオブジェクトの参照処理の流れを説明するためのフロ−チャ−ト
【符号の説明】
１  入力装置
２  ＣＰＵ
３  出力装置
４  デ−タベ−スシステム
５  記憶装置
Ｓ１０１  揮発オブジェクトの有無を判定する処理
Ｓ１０３  揮発オブジェクトの初期化ファクタの取り出し処理
Ｓ１０４  揮発オブジェクトの初期化処理
Ｓ１０５  プロセス・ロカ−ル・アトリビュ−トの設定処理
【図１】
0003630696.tif 000002
【図２】
0003630696.tif 000003
【図３】
0003630696.tif 000004
【図４】
0003630696.tif 000005
【図５】
0003630696.tif 000006
【図６】
0003630696.tif 000007
【図７】
0003630696.tif 000008
【図８】
0003630696.tif 000009
【図９】
0003630696.tif 000010
【図１０】
0003630696.tif 000011