JP2002297432A - 分散処理型データベース管理システム - Google Patents

分散処理型データベース管理システム

Info

Publication number
JP2002297432A
JP2002297432A JP2001101738A JP2001101738A JP2002297432A JP 2002297432 A JP2002297432 A JP 2002297432A JP 2001101738 A JP2001101738 A JP 2001101738A JP 2001101738 A JP2001101738 A JP 2001101738A JP 2002297432 A JP2002297432 A JP 2002297432A
Authority
JP
Japan
Prior art keywords
host
data
lexicon
resident
lexicon set
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.)
Granted
Application number
JP2001101738A
Other languages
English (en)
Other versions
JP4131781B2 (ja
Inventor
Shuichi Kamimura
秀一 上村
Mutsumi Fujiwara
睦 藤原
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2001101738A priority Critical patent/JP4131781B2/ja
Priority to EP02252292A priority patent/EP1246064A3/en
Priority to US10/109,640 priority patent/US7143082B2/en
Publication of JP2002297432A publication Critical patent/JP2002297432A/ja
Application granted granted Critical
Publication of JP4131781B2 publication Critical patent/JP4131781B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 システム構築が容易で、機能変更等にも柔軟
に対応することができる分散処理型データベース管理シ
ステムを提供する。 【解決手段】 予め各ホストに常駐させるべきレキシコ
ンセットとレキシコンと、このレキシコンセットのオリ
ジナルが格納されたベースホストと、各ホストでレキシ
コンセットを常駐させるときリトリーブ要求を発信する
リトリーブ要求先ホストリストと、を設定するデータ常
駐状態設定部401を設ける。オリジナルデータが格納
されたベースホストまたはオリジナルデータと同一のレ
プリカデータを持つレプリカホストからそのレプリカデ
ータを前記各ホストに対して送信するリトリーブデータ
管理部405を設ける。データ常駐管理部13には、レ
キシコンセット常駐設定部402と、レキシコンセット
常駐計画設定部403と、レキシコンセット常駐状況設
定部404を設ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータの主
記憶上に実現されたデータベースシステムに関するもの
であって、特に、データベースの管理に加えて、トラン
ザクション管理とバックアップ、障害回復、負荷分散な
どの分散システム管理などの諸機能を持ち、インターネ
ット/イントラネット上に構築されるアプリケーション
システムをサポートするのに適したデータ分散処理型デ
ータベース管理システムに係る。
【0002】
【従来の技術】ネットワークに分散したマシン間におけ
る共有データをリアルタイムに監視・制御するデータベ
ースシステムでは、大量のデータを高速に処理(検索・
更新)する必要があるので、それらのデータへのアクセ
ス手段を提供するデータ管理システムの性能がデータベ
ースシステムの性能を決定する。このようなデータ管理
システムの性能向上を図るためには、通常ハードディス
ク等の外部記憶装置に格納されているデータのすべてを
主記憶上に配置して管理することが考えられる。特に、
昨今の主記憶容量の増加により、現在のハードウェア環
境でも全データを主記憶上に常駐させることは可能とな
ってきている。
【0003】
【発明が解決しようとする課題】しかしながら、従来の
外部記憶装置を前提にしたデータ管理システムを単に主
記憶でキャッシングするだけでは、リアルタイムアプリ
ケーションが必要とする性能を達成することはできな
い。その理由としては、(a) アプリケーションとデータ
管理システムとの間で大量のデータ転送操作が必須とな
る、(b) 外部記憶装置を前提として設計されたアルゴリ
ズムを各マシンの主記憶上で実行してもそれほど性能が
向上しないという2点が挙げられる。さらに、外部記憶
装置を前提として設計されたアルゴリズムでは、データ
管理システムが提供できる機能が限られているため、多
少高速化されてもアプリケーションの開発負荷は軽減さ
れない。
【0004】また、近年、24時間・365日稼動のシ
ステム等、高い信頼性を要求するものが多くなってい
る。このようなシステムにおいては、システムダウンは
いかなることがあっても許されない。そのために多重系
のシステム構成を取ることが多い。また、このような機
能をサポートするためのミドルウェア(MW)やハード
ウェア(HW)はアプリケーション・ソフトウェアでコ
ントロールしなくてはならない。その結果、上記のよう
な機能とデータ構造のアクセスを同時に実現しなくては
ならず、多重系でシステムの信頼性を高めても、アプリ
ケーションが複雑になるだけでなく、バグが残りやすく
なり、アプリケーションの品質が低下する要因となって
いる。そのため、データベース管理システムの設定とデ
ータの高信頼化機能を簡単に実装できる手段の開発が切
望されていた。
【0005】
【発明が解決しようとする課題】以上述べたように、従
来のデータベースシステムは、高速性、信頼性および高
機能性について不十分なものであって、より具体的に
は、次のような問題点があった。
【0006】(1)機能変更によるシステム停止 システムの開発途中に機能の改造、拡張が発生した場
合、当初のデータ構造では対応できない状況が起こりう
る。もしそのような状況になった場合はデータベースを
変更して対応するが、データベースを変更する際にはシ
ステムを停止しないといけない。しかし、システムが稼
動し始めてから機能の変更が起きた場合、システムを停
止すると莫大なコストがかかってしまう。また、システ
ムを止めないと機能変更ができないのは保守性の低下を
意味する。
【0007】(2)構造変更の困難性 システムのライフサイクル中に機能の改造や拡張が発生
することはよくある。システム設計時には予想もつかな
かったような機能の追加が発生し、当初のデータ構造で
は対応できない状況が起きてしまうことがある。このよ
うな場合、データベースを変更して対応することによ
り、つぎはぎのデータ構造になりがちであり、このよう
なデータ構造になると保守性が著しく下がってしまい、
生産性や性能が劣化してしまう。
【0008】(3)大規模システム開発時における生産
性の低下 大規模システムの開発では、同時期に多くの開発者がア
プリケーションの開発に携わることになる。データ構造
は多くのアプリケーション共通に設計され、個々のアプ
リケーション固有の特性を配慮されないことが多い。そ
のためアプリケーション開発者にとってはとても使いに
くいデータ構造になることが多い。大規模開発のための
データ構造開発方法を含む開発スタイルがないため、後
戻りや無駄な処理が発生し生産性が悪くなってしまう。
【0009】(4)ローカル/リモート処理の困難性 リモートのマシンに対して処理(トランザクション)を
行う際、従来のデータベース管理システムではRPC(Rem
ote Procedure Call)を使う必要がある。しかし、この
ような手法によると、リモートのマシンに対してトラン
ザクションを実行する時は、アプリケーションでの処理
手順が変わり、通常の実行より手間がかかる。
【0010】本発明は、上記のような従来技術の問題点
を解決するために提案されたものであり、その目的は、
システム構築が容易で、機能変更等にも柔軟に対応する
ことができる分散処理型データベース管理システムを提
供することにある。本発明の他の目的は、ネットワーク
で結合された複数のマシンの主記憶上で保有する共有デ
ータを、高精度に管理することができるデータベース管
理システム及びこの管理システムにおける各種の設定を
容易に実行することのできる分散処理型データベース管
理システムを提供することにある。
【0011】すなわち、複数のサイトに同一内容のデー
タベースが存在するという状況は分散処理型のデータベ
ースが基本的な機能を発揮する前提である。この前提を
構成する方法として、本発明においては、「リトリー
ブ」という手段を使用して既にデータベースを保有して
いるサイトからデータの一部または全部を新たな(例え
ばそれまで停止していて起動した)サイトにコピーして
本システムに参加させるという方法を採用する。この方
法はシステム全体を停止させることなくシステムに参加
するサイト(データベース)を追加できるという効果が
あり、さらにリトリーブ要求先を複数指定しておいてそ
れらのうちの可能なサイトからデータを得るので、新た
なサイトがシステムに参加する(最新のデータ内容を得
ることができる)可能性をシステム管理者(ユーザー)
の裁量で高めることができる。
【0012】しかも、リトリーブ要求先の指定情報も対
象(リトリーブ元)サイトがシステムに参加しているか
否かにかかわらず、システムを停止させることなく、設
定/変更することができる。したがってシステムを停止
させることなく、それまで全く本システムの構成対象に
なっていなかったサイトを本システムに参加させると同
時に、実際に初期データをロードする際の確実性を制御
することができるので、システムのオンライン(随時)
拡張性が高められる。
【0013】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明は、ネットワークを介して接続
された複数のコンピュータの主記憶領域上にそれぞれデ
ータベースを配置し、ある特定のコンピュータに格納さ
れたデータをオリジナルデータとし、このオリジナルデ
ータを有するコンピュータをベースホストとすると共
に、ある特定のコンピュータとは異なる他のコンピュー
タには、前記ベースホストに格納されているオリジナル
データと同一のレプリカデータを格納し、このレプリカ
データを格納したコンピュータをレプリカホストとした
分散処理型データベース管理システムにおいて、あるホ
ストの起動時において、そのホストが必要とするデータ
を、そのデータのオリジナルデータが格納されたベース
ホスト、またはオリジナルデータと同一のレプリカデー
タが格納されたレプリカホストから取得し、その取得し
たデータを主記憶領域に常駐させることを特徴とする。
このような構成を有する請求項1の発明によれば、シス
テムの起動時において、常にオリジナルデータと同一の
データを、そのデータを利用するホストに常駐させるこ
とが可能になり、ネットワーク上に配置された各ホスト
間で利用するデータの整合性が確保される。
【0014】請求項2の発明は、自ホストに前記データ
のオリジナルが配置され、システムの起動時において、
このオリジナルデータを自ホストの主記憶領域に常駐さ
せることを特徴とする。このような構成を有する請求項
2の発明によれば、自己がデータのオリジナルを有する
場合には、そのデータをそのまま自己の主記憶領域に常
駐させることで、自ホストに配置されたオリジナルデー
タに直接アクセスすることが可能になる。
【0015】請求項3の発明は、自ホストとは異なる他
のホストであるベースホストに前記データのオリジナル
が配置され、オリジナルデータと同一のレプリカデータ
が自ホストとは異なるレプリカホストに配置され、シス
テムの起動時において、前記ベースホストまたはレプリ
カホストから、そのレプリカデータを自ホストに対して
リトリーブ送信し、このリトリーブされたデータを自ホ
ストの主記憶領域に常駐させることを特徴とする。この
ような構成を有する請求項3の発明によれば、自ホスト
の他からリトリーブされたレプリカデータを自ホストに
常駐させることにより、常にベースホスト上のオリジナ
ルデータと同一内容のデータを自己の主記憶領域に常駐
させて利用することが可能になり、ネットワーク上の各
ホストが、オリジナルデータの所在を意識することな
く、自ホストのデータとして利用できる。
【0016】請求項4の発明は、前記データベースが、
データの処理単位であるレキシコンと、このレキシコン
を1つあるいは複数有するレキシコンセットによって構
成され、前記オリジナルデータのリトリーブ処理がレキ
シコンセットを単位として行われることを特徴とする。
このような構成を有する請求項4の発明によれば、各ホ
スト毎に使用するデータが異なる場合であっても、各ホ
ストに対するデータのリトリーブ処理をレキシコンセッ
トを単位として行うため、個々のデータ(レキシコン)
毎にリトリーブ処理を行う場合に比較して、その処理単
位がまとまり、リトリーブ処理が容易に実行できる。
【0017】請求項5の発明は、前記リトリーブ処理
が、ベースホストからレプリカホストに対してレキシコ
ンセットを単位として実行され、レプリカホストにおい
ては、リトリーブされたレキシコンセット中の予め定め
られたレキシコンに対して常駐処理がなされることを特
徴とする。このような構成を有する請求項5の発明によ
れば、リトリーブ処理はデータをグループ化した処理単
位であるレキシコンセットを対象として行い、データの
常駐そのものは、各ホストで必要とするレキシコンのみ
を対象とするので、データ常駐に必要な主記憶領域の効
率的な使用が可能となる。
【0018】請求項6の発明は、前記ネットワークを介
して接続された複数のコンピュータの1つにおいて、各
ホストに常駐させるべきレキシコンセットとレキシコン
と、このレキシコンセットのオリジナルが格納されたベ
ースホストと、レキシコンセットを常駐させるべき各ホ
ストからリトリーブ要求を送り付ける要求送信先ホスト
のリストを各ホスト毎に設定し、これらの設定されたデ
ータをシステム管理レキシコンセットのオリジナルとし
てシステム管理レキシコンセットのベースホストに配置
し、各ホストの起動時には、このシステム管理レキシコ
ンセットを、そのベースホストまたはシステム管理レキ
シコンセットのオリジナルと同一のレプリカデータを格
納するレプリカホストから他のホストに対してリトリー
ブ送信することを特徴とする。このような構成を有する
請求項6の発明によれば、データ常駐およびリトリーブ
に必要なデータをシステム管理レキシコンセットとし
て、予めそのベースホストに配置し、これを他のホスト
にリトリーブ送信することにより、各ホストを起動した
場合に、共通のシステム管理レキシコンセットが配置さ
れることになり、各ホストにおけるデータ常駐処理が均
等に実施されることになり、どのホストでも他のシステ
ムの状況が把握できて、システムの整合性が確保され
る。
【0019】請求項7の発明は、システム管理レキシコ
ンセットに登録されているリトリーブ要求先ホストに従
って要求先ホストを決定し、その要求先ホストに対して
リトリーブ要求を発信し、このリトリーブ要求に対し
て、リトリーブ要求先ホストからリトリーブ応答がある
か否かを検証し、どこからも応答のない場合は、リトリ
ーブ要求の発信元ホストがシステム管理レキシコンセッ
トのベースホストであるか否かを検証し、リトリーブ要
求の発信元ホストがシステム管理レキシコンセットのベ
ースホストである場合には、自ホストにデータがあれば
自ホストの有するデータをその主記憶領域に常駐させ、
自ホストにデータがなければ空のレキシコンセットを作
成することを特徴とする。
【0020】このような構成を有する請求項7の発明に
よれば、どのホストを立ち上げた場合であっても、リト
リーブ要求にどこからも応答がなかった場合、ベースホ
ストかどうか判断し、ベースホストの場合、自ホスト内
でデータの常駐をさせて解決するようになるので、デー
タベース管理システムでの重要なベースホストの起動を
確実にできる。
【0021】請求項8の発明は、各ホスト上にすべての
データが常駐された後、常駐状態にあるデータの改変が
なされた場合に、前記ベースホストのオリジナルデータ
と、レプリカホストのレプリカデータとの同一性を確保
するためのレプリケーション処理部を設けたことを特徴
とする。このような構成を有する請求項8の発明によれ
ば、各ホスト上にデータが常駐された後でも、各ホスト
上で常駐させたデータの同一性を確保することが可能で
ある。
【0022】請求項9の発明は、予め設定されたデータ
が各ホストに常駐されて各ホストが稼働状態にある場合
に、前記システム管理レキシコンセットのベースホスト
において、このシステム管理レキシコンセットのデータ
を更新し、この更新されたシステム管理レキシコンセッ
トのデータを各ホストにレプリケーション送信すること
により、各ホストにおける常駐対象データを追加するこ
とを特徴とする。このような構成を有する請求項9の発
明によれば、各ホストの稼働後に常駐対象となるデータ
の追加・削除・変更があった場合に、これをシステム管
理レキシコンセットのベースホストから各ホストに反映
させることが可能になる。
【0023】請求項10の発明は、予め設定されたデー
タが各ホストに常駐されて各ホストが稼働状態にある場
合に、前記システム管理レキシコンセットのベースホス
トと異なるホストにおいて、このホストからシステム管
理レキシコンセットのデータをリモート実行で更新し、
このシステム管理レキシコンセットのベースホストから
他のホストに対してレプリケーション送信して、各ホス
トにおける常駐対象レキシコンセット及びレキシコンに
関する情報を一元化することを特徴とする。このような
構成を有する請求項10の発明によれば、各ホストの稼
働後に常駐対象となるデータの追加・削除・変更があっ
た場合に、これをシステム管理レキシコンセットのベー
スホストから各ホストに反映させることが可能になる。
【0024】請求項11の発明は、ネットワークを介し
て接続された複数のコンピュータの主記憶領域上にそれ
ぞれデータベースを配置し、ある特定のコンピュータに
格納されたデータをオリジナルデータとし、このオリジ
ナルデータを有するコンピュータをベースホストとする
と共に、ある特定のコンピュータとは異なる他のコンピ
ュータには、前記ベースホストに格納されているオリジ
ナルデータと同一のレプリカデータを格納し、このレプ
リカデータを格納したコンピュータをレプリカホストと
し、あるホストの起動時において、そのホストが必要と
するデータを主記憶領域に常駐させることにより、この
データに対する処理を可能とした分散処理型データベー
ス管理システムにおいて、予め、レキシコンセットを常
駐させるべきホストと、このレキシコンセットのオリジ
ナルが格納されたベースホストと、常駐させるべきホス
トからのリトリーブ要求を発信する要求先ホストリスト
とを設定するデータ常駐状態設定部を備え、このデータ
常駐状態設定部の設定に従い、リトリーブ要求先ホスト
リストに従ってリトリーブ要求を発信し、応答したホス
ト(ベースまたはレプリカ)から要求元ホストに対して
データを送信するリトリーブデータ管理部を備えたこと
を特徴とする。
【0025】請求項16の発明は、前記請求項11の発
明を実現するプログラムに関するものであって、ネット
ワークを介して接続された複数のコンピュータの主記憶
領域上にそれぞれデータベースを配置し、ある特定のコ
ンピュータに格納されたデータをオリジナルデータと
し、このオリジナルデータを有するコンピュータをベー
スホストとすると共に、ある特定のコンピュータとは異
なる他のコンピュータには、前記ベースホストに格納さ
れているオリジナルデータと同一のレプリカデータを格
納し、このレプリカデータを格納したコンピュータをレ
プリカホストとし、あるホストの起動時において、その
ホストが必要とするデータを主記憶領域に常駐させるこ
とにより、このデータに対する処理を可能とした分散処
理型データベース管理システムの一部を構成するプログ
ラムにおいて、予め各ホストに常駐させるべきレキシコ
ンセットとレキシコンと、このレキシコンセットのオリ
ジナルが格納されたベースホストと、レキシコンセット
を常駐させるべき各ホストからリトリーブ要求を発信す
る要求先ホストのリストを各ホスト別に設定するステッ
プと、前記の設定処理の結果に従い、オリジナルデータ
が格納されたベースホストまたはオリジナルと同一のレ
プリカデータを格納したレプリカホストからそのレプリ
カデータを前記各ホストに対して送信するステップを有
することを特徴とする。
【0026】このような構成を有する請求項11または
請求項16の発明によれば、データ常駐状態設定部とリ
トリーブデータ管理部とによって、予めデータの常駐先
や常駐すべきデータの内容、更には各ホストに対する常
駐常駐データのオリジナルの所在を設定しておくことが
でき、これらの設定内容に従って、システム起動時に各
ホストに対するデータの常駐を円滑に実施できる。
【0027】請求項12の発明は、前記データ常駐状態
設定部には、アクセス対象とするレキシコンセット名、
そのレキシコンセットを配置させる常駐ホスト名、およ
びそのレキシコンセットを常駐させるときに使用するリ
トリーブホスト名を設定するレキシコンセット常駐設定
部と、各ホストに配置するレキシコンをそのレキシコン
セットと共に設定するレキシコンセット常駐計画設定部
と、前記レキシコンセット常駐計画設定部による設定内
容に従って、各ホストにおいて、あるレキシコンが現在
常駐しているか否かの状況を確認するレキシコンセット
常駐状況設定部が設けられていることを特徴とする。
【0028】請求項17の発明は、前記請求項12に記
載の発明を実現するプログラムであって、前記請求項1
6の発明における設定ステップが、アクセス対象とする
レキシコンセット名、そのレキシコンセットを配置させ
る常駐ホスト名、およびそのレキシコンセットを常駐さ
せるときに使用するリトリーブホスト名を設定するステ
ップと、各ホストに配置するレキシコンをそのレキシコ
ンセットと共に設定するステップと、前記の設定内容に
従って、各ホストにおいて、あるレキシコンが現在常駐
しているか否かの状況を確認するステップから構成され
ていることを特徴とする。
【0029】このような構成を有する請求項12または
請求項17の発明によれば、各設定部により、常駐すべ
きデータやそのリトリーブ先、更には各ホストにおける
データの常駐状況などを、そのレキシコンセットおよび
レキシコンを対象として詳細に設定・確認することが可
能である。
【0030】請求項13の発明は、前記請求項11また
は請求項12の発明において、各ホスト上にすべてのデ
ータが常駐された後、常駐状態にあるデータの改変がな
された場合に、前記ベースホストのオリジナルデータ
と、レプリカホストのレプリカデータとの同一性を確保
するためのレプリケーション処理部を設けたことを特徴
とする。このような構成を有する請求項13の発明によ
れば、各ホスト上にデータが常駐された後でも、各ホス
ト上で常駐させたデータの同一性を確保することが可能
である。
【0031】請求項14の発明は、前記請求項13の発
明において、前記データ常駐状態設定部が、予め設定さ
れたデータが各ホストに常駐されて各ホストが稼働状態
にある場合に、前記システム管理レキシコンセットのベ
ースホストにおいて、このシステム管理レキシコンセッ
トのデータを更新し、この更新されたシステム管理レキ
シコンセットのデータを前記レプリケーション処理部よ
り各ホストにレプリケーション送信することを特徴とす
る。このような構成を有する請求項14の発明によれ
ば、各ホストの稼働後に常駐対象となるデータの追加・
削除・変更があった場合に、これをシステム管理レキシ
コンセットのベースホストから各ホストに反映させるこ
とが可能になる。
【0032】請求項15の発明は、前記請求項13の発
明において、前記データ常駐状態設定部が、予め設定さ
れたデータが各ホストに常駐されて各ホストが稼働状態
にある場合に、前記システム管理レキシコンセットのベ
ースホストと異なるホストにおいて、このホストが所有
するシステム管理レキシコンセットのデータを更新し、
この更新されたシステム管理レキシコンセットのデータ
を前記レプリケーション処理部よりシステム管理レキシ
コンセットのベースホストにレプリケーション送信し、
前記レプリケーション処理部が、このシステム管理レキ
シコンセットのベースホストから他のホストに対してレ
プリケーション送信して、各ホストにおける常駐対象レ
キシコンセット及びレキシコンに関する情報を一元化す
ることを特徴とする。このような構成を有する請求項1
5の発明によれば、各ホストの稼働後に常駐対象となる
データの追加・削除・変更があった場合に、これをシス
テム管理レキシコンセットのベースホストから各ホスト
に反映させることが可能になる。
【0033】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して具体的に説明する。なお、本実施の形
態のうち情報処理に関する部分は、典型的には、コンピ
ュータをソフトウェアで制御することで実現される。こ
の場合のソフトウェアは、コンピュータのハードウェア
を物理的に活用することで本発明の作用効果を実現する
もので、また、従来技術との共通部分には従来技術も適
用される。但し、この場合のハードウェアやソフトウェ
アの種類や構成、ソフトウェアで処理する範囲などは各
種変更可能であるため、以下の説明では、本発明及び実
施形態の各機能を実現する仮想的回路ブロックを用い
る。
【0034】[1.分散データ管理システムの全体像]
本発明は、ネットワークで接続された複数のマシンに備
えられたデータベースを、適切且つ効率良く管理するた
めの分散データ管理システムに関するものである。
【0035】本発明の詳細については後述するが、ここ
では本発明の分散データ管理システム(以下、本システ
ムという)について概説する。すなわち、本システム
は、データベース(レキシコンセット)とトランザクシ
ョンを扱うものであって、アプリケーション(=ユー
ザ)からデータベースの内容の参照・検索・更新の一群
の操作依頼をトランザクションとして受け付け、そのト
ランザクションを適切に実行し、必要(要求)に応じて
実行完了通知および実行結果をアプリケーションに通知
するものである。
【0036】図1は、本発明に係る分散データ管理シス
テムの構成を示す図である。すなわち、本システムは、
図1に示すように、複数のコンピュータA,B,C……
(各ホストと呼ぶ)を通信ネットワークで接続すること
によって構成されている。また、各ホストA,B,Cの
主記憶領域には、それぞれデータベース1a、1b、1
cとこのデータベースにアクセスするためのトランザク
ション関数2a、2b、2cが配置されている。
【0037】各ホストでは1または複数個のアプリケー
ションが実行されるが、本システムが複数のホストから
構成される場合、異なるホストでは異なるアプリケーシ
ョンが実行されることが多い。すなわち、アプリケーシ
ョンX,Y,Zは本システムの外部にあって、各ホスト
ごとにそのデータベースにアクセスして必要な処理を行
う。この場合、各アプリケーションX,Y,Zは、各ホ
ストに設けられた処理部3a、3b、3cを介して、本
システムに予め登録されているトランザクション関数2
a、2b、2cに参照・更新などの処理を依頼し、その
結果を受けてデータベースへのアクセス以外にプログラ
ムの実行に必要となる処理を行う。通常、アプリケーシ
ョンでは画面への表示や印刷などのフロントエンド処理
を行う。
【0038】(データベース)また、本システムのデー
タベース1a、1b、1cは、1つ以上の部分(レキシ
コン)から構成されている。このレキシコンは、レキシ
コンセットのデータの部分に選択的にアクセスしたり、
属性を付与するための単位であって、名称(レキシコン
名)等でユニークに識別される。本システムの実行環境
においては、図2に示すように、ユニスペースが複数の
レキシコンセットを含むことができるので、レキシコン
セットもまた名称(レキシコンセット名)等で識別す
る。さらに、同一の物理的マシン上に共通のネットワー
クを使用して複数のユニスペース、すなわち異なるレキ
シコンセットの組を管理する複数のシステムとして本シ
ステムを実施することもあり得るので、ユニスペースも
また名称(ユニスペース名)等で区別する。
【0039】そして、各ホストのデータベースに格納さ
れているレキシコンセットは、いずれかのホスト上にそ
のオリジナルデータが保有され、他のホストにはそのコ
ピーであるレプリカデータが保有されている。例えば、
図1においては、ホストA(コンピュータA)には、デ
ータBのオリジナルデータが保有され、ホストC(コン
ピュータC)には、データAのオリジナルデータが保有
されている。また、ホストB(コンピュータB)には、
データA及びデータBのレプリカデータが保有されてい
る。また、本システムにおいては、データの更新処理
は、オリジナルデータに対してのみ実行でき、レプリカ
データでは、データの更新処理を行うことはできない。
【0040】(トランザクション)トランザクションが
行うべき操作を抽象化/一般化した手続を「トランザク
ション関数」と呼ぶ。すなわち、図1に示したトランザ
クション関数(TR関数)A,Bは、各マシンのデータ
ベースにアクセスして、アプリケーション共通で必要と
なる処理を実現する関数である。すなわち、本システム
においては、各アプリケーションX,Y,Zは、直接デ
ータベースにアクセスして処理を行うわけではなく、ト
ランザクション関数を介してデータベースにアクセスす
るように構成されている。
【0041】トランザクションには、各種の属性を付与
するため識別子(トランザクション名等)が含まれてい
る。この識別子に対して、例えば実行すべきトランザク
ション関数を対応付けたりする。この識別子は、付与す
べき属性の種類に応じて必要な数を設定すればよい。
【0042】トランザクションが操作の対象とするの
は、1つのレキシコンセットとする。本システムでは、
ユニスペースが複数のレキシコンセットを含むことがで
きるので、トランザクションには、操作対象のレキシコ
ンセットを明記する。このレキシコンセット名を上記識
別子の1つと考えても良い。もちろん、他の識別子から
操作対象レキシコンセットを判別する手段を設けること
もでき、レキシコンセット名の明記は必須ではない。
【0043】そして、本システムにおいては、アプリケ
ーションからのデータ操作の依頼をトランザクションを
単位として処理する。従って、オリジナルデータに対す
る更新処理も更新TRを単位として実行され、レプリカ
サイトにおける更新内容(レプリケーションデータ)の
レプリカデータに対する反映処理も、原因となった更新
TRを単位として行われる。
【0044】(本システムの主たる目的)本システムの
主たる目的は、データベース(レキシコンセット)を複
数のマシン上で同一内容に保つことを意図している。す
なわち、各マシンは同一内容のデータベースのコピーを
保持しており、1つのマシンでそのデータベースに対し
て更新が加えられた場合には、通信ネットワークを経由
して各マシンに更新情報(内容)を伝達し、各マシンの
データベースに更新内容を速やかに反映させることによ
ってこの目的を達成しようとするものである。本明細書
においては、この機能を「レプリケーション」と称す
る。
【0045】なお、本明細書においては、データベース
を更新する権利を持つマシンをそのデータベースのオリ
ジナルサイト、そのデータをオリジナルデータと呼ぶ。
また、それ以外のマシンでそのデータベースのコピーを
保有するものをレプリカサイト、そのデータをレプリカ
データと呼ぶ。
【0046】また、本システムは、データベースを更新
するトランザクション(更新TR)を上記オリジナルサ
イトで実行する機能を備え、前記レプリケーションと併
せて、複数のコピーからなるデータベースを、各マシン
のアプリケーションからは論理的に1つのデータベース
に見えるように運用する。すなわち、各マシンのアプリ
ケーションはオリジナルサイトがどのマシンかを気にす
る必要がない。本明細書においては、このようなシステ
ム構成を「リモート/ローカル構造」と呼ぶ。
【0047】さらに、本システムにおいては、トランザ
クションの実行及びレプリケーションデータの反映が一
単位完了するまでは、そのデータベース(レキンコンセ
ット)を操作対象とする他のトランザクションの処理を
行わない(もちろん他のレプリケーションデータの反映
も行なわない)。それらの実行及び反映、また、そのデ
ータベース(レキンコンセット)を操作対象とする他の
トランザクションの実行またはレプリケーションデータ
の反映が進行中の場合は、それらの完了を待って開始さ
れる。すなわち、(1つのマシンの)1つのデータベー
ス(レキンコンセント)に関するトランザクションの実
行及びレプリケーションデータの反映は、トランザクシ
ョン単位でシリアルに処理される。それゆえ、トランザ
クション及びその実行を依頼したアプリケーションが他
のトランザクションの実行途中のデータベースの内容に
アクセスすることはない。
【0048】なお、更新操作を行なわず、データの検索
・参照のみを行なうトランザクションを、更新トランザ
クションに対して参照トランザクションと呼ぶ。本シス
テムでは、レプリケーション機能によって、オリジナル
データとレプリカデータの一致がトランザクション単位
で速やかに図られるので、参照トランザクションは、そ
のトランザクションを依頼されたマシン(ローカルマシ
ン)のレプリカデータを操作対象としても何ら不都合を
生じない。
【0049】また、通信ネットワークはオリジナルサイ
トがレプリケーションをレプリカサイトに伝達してレプ
リケーション機能を実現するための手段であると同時
に、レプリカサイトで発行(依頼)された更新トランザ
クションをオリジナルサイトに転送するための手段でも
ある。この更新トランザクションをオリジナルサイトの
みで実行する機能は、具体的には通信ネットワークを経
由してレプリカサイトで発行された更新トランザクショ
ンをオリジナルサイトに転送することによって実現され
る。 [2.用語の説明]各実施形態について説明する前に、
本明細書中で用いられる種々の用語について説明する。
【0050】(1)ユニスペース(共有単位領域/デー
タベース実行単位領域) 本システムは、ネットワークで結合された複数のマシン
(ホスト)上で協調動作することで、主記憶上の共有デ
ータを一貫して維持・更新するためのものであり、本シ
ステムにおいて、ユニスペースとは、このシステムを構
成する複数のマシン(ホスト)間で共有されるデータお
よびデータアクセス(参照・更新)のサービスを区別す
るための識別子である。この識別子は、サーバ同士が通
信する際のグループを識別する際に使用する。また、ア
プリケーションが各サーバに対して共有データへのアク
セスのサービスを要求する際にも利用する。なお、ユニ
スペースの識別子は、ユニスペースの名前をあらわすア
スキー文字列とグループ間通信に利用するIPマルチキ
ャストアドレスの組で構成されている。
【0051】(2)レキシコンセット ユニスペースを構成する共有データに部分集合を定めて
レキシコンセットと呼ぶ。主記憶領域を構成する各マシ
ンに対して、レキシコンセット毎にデータを配置するか
否かの指定が可能である。本システムでは、主記憶デー
タをファイルにバックアップ保存することが可能である
が、この際もレキシコンセット単位となる。
【0052】レキシコンセット内には、データベースと
して共有データへの高速アクセスを可能にするインデッ
クス機能がある。以下に基本となるデータ構造を記す
る。 (a) レキシコン(LEXICON):レキシコンセットの部分
集合。レキシコンセットに属する。 (b) セル(CELL):データを格納する配列。タイプ(デ
ータ型)、キャパシティ(配列の長さ)、カウント(ソ
ート時のキーとしての有効長)属性を持つ。レキシコン
に属する。 (c) コンテキスト(CONTEXT):セルに直線的な関係を
与えるデータ(セルの配列)。キャパシティ属性を持
つ。レキシコンに属する。 (d) ロー(ROW):コンテキストの一部に対してソート
キーを指定するデータ。ローレングス、キーレングスの
属性を持つ。コンテキストに属する。 (e) ファサード(FACADE):ローをソートして検索を可
能にするデータ。インデックス機能の中心となるもの。
レキシコンに属する。
【0053】(3)トランザクション トランザクションとは、ユニスペース・サービスに参加
しているアプリケーションの要求に応じて共有データを
一貫して参照および更新する操作を意味する。トランザ
クションが一度に操作対象とすることが出来るデータの
集合は、ひとつのレキシコンセットのみである。本シス
テムでは、トランザクションを用いて共有データを更新
する際は、オリジナルデータが存在する特定のサイト
(以下、ベースホスト又はオリジナルサイトと呼ぶ)で
更新後、同じユニスペースを構成する他サイトに更新結
果(以下、レプリケーションと呼ぶ)をマルチキャスト
することでデータの一貫性を保持している。なお、この
ベースホストはレキシコンセット毎に指定することがで
きる。アプリケーションの発行するトランザクション
を、本システムでは、(a) ローカル参照、(b) ローカル
更新、(c) リモート更新の3つに区別する。
【0054】(a)ローカル参照 トランザクション操作が共有データの参照だけの場合
で、完全にローカルな主記憶データへのアクセスとして
処理され、ネットワークのトラフィックは一切発生しな
い。言い換えれば、トランザクションの実行によりデー
タが参照されるだけで、なんら変更されないので、自サ
イトがオリジナルサイトであるかレプリカサイトである
かを問わず、常に自サイトの主記憶データにアクセスす
ることにより、トランザクションの実行処理がなされ
る。
【0055】(b) ローカル更新 トランザクションを発行したアプリケーションが存在す
るサイトがオリジナルサイトの場合。つまり、自サイト
でデータ更新をすることができ、更新後、他のサイトに
その更新データをマルチキャスト送信することにより、
常に各ホストで同一のデータを利用できるようにする機
能をいう。
【0056】(c) リモート更新 トランザクションを発行したアプリケーションが存在す
るサイトがレプリカサイトの場合。つまり、自サイトの
データはレプリカデータなので、データ更新をすること
ができず、そのトランザクションをオリジナルサイトに
転送し、オリジナルサイトでデータ更新後、その更新デ
ータをレプリケーション受信することにより、常に各ホ
ストで同一のデータを利用できるようにする機能をい
う。なお、自サイトがレプリカサイトであり、且つ、ト
ランザクションを発行したアプリケーションが存在しな
い場合には、オリジナルサイトからレプリケーションさ
れた更新データを、自サイトに反映させることにより、
常に各ホストで同一のデータを利用できるように構成さ
れている。
【0057】前記(b) のローカル更新と(c) のリモート
更新の区別は、ベースホストがトランザクション受付サ
イトと同じであるか否かに依存して区別される。(b) の
ローカル更新の場合はローカルな主記憶データを更新し
たタイミング、(c) のリモート更新の場合はトランザク
ションをベースホストに転送し共有データを更新後、レ
プリケーションを受信してローカルデータを更新したタ
イミングで終了する。あくまでもこのローカル更新とリ
モート更新の区別は本システム内で行われるので、アプ
リケーションがこれについて意識することはない。
【0058】(5)リトリーブ リトリーブとは、システムの起動時またはレキシコンセ
ットデータを主記憶上に格納するときに、オリジナルデ
ータやレプリカデータを設定された通りに利用可能な状
態にする機能である。自ホストの他から(オリジナルで
もレプリカでもよい)レキシコンセットデータのすべて
をネットワーク経由で受け取る。
【0059】また、リトリーブ要求を送る相手先のホス
トのリストを指定することができる。あるルールに従っ
てホストリストの中のホストに対して送信要求を出す。
オリジナルやレプリカの配置、ネットワークの帯域幅、
マシンのスペックなどによってホストリストを決定する
ことで、システム構成に適した設定をとることができ
る。なお、一般には、データはネットワークを通じて各
ホストに配置されるが、システムの起動時においては、
ネットワークからのリトリーブに失敗した時はファイル
からのロードも可能であり、また、ネットワークリトリ
ーブをする前にファイルからのロードを行うことも可能
である。
【0060】(6)レプリケーション レプリケーションとは、更新トランザクションによるデ
ータの変更を他のマシンへマルチキャストで送信する機
能である。オリジナルで更新トランザクションを実行
し、更新分のみをマルチキャストでレプリカへ送信す
る。レプリカ側はそれを受信し、レプリカデータへ反映
する。
【0061】(7)バックアップ バックアップとは、2次記憶装置へレキシコンセットの
内容を保存する機能である。2次記憶へバックアップす
るかどうかはオプションで指定できるので(適宜指定す
ることができるように構成されているので)、要求する
スループットや信頼性向上などに柔軟に対応したシステ
ム構成をとることができる。バックアップ機能で保存さ
れたデータは、起動時や障害回復時のリトリーブ機能で
使用される。2次記憶装置へのバックアップ処理は、ト
ランザクション処理と非同期で処理されるため、トラン
ザクション処理のスループットを低下させることはな
く、主記憶データ管理の高速性を維持できる。
【0062】(8)ネットワークを構成するサイト等に
関する用語 ローカルサイト:自サイトのこと リモートサイト:他のサイトのこと オリジナルサイト:オリジナルデータを持っているサイ
ト レプリカサイト:レプリカデータ(コピー)を持ってい
るサイト
【0063】[3.各ホストの構成…図2]次に、各ホ
ストの構成を図2によって説明する。前記の全体構成図
で説明したように、各ホストの主記憶領域には、それぞ
れデータベース管理システム1が配置されている。この
管理システム1は、複数の処理部あるいは設定部と、こ
れらの処理や設定を反映させるためのレキシコンセット
2と呼ばれるデータベースを備えている。また、システ
ム管理アプリケーションや業務アプリケーションとの接
点(窓口)となるトランザクション受付部3および各ホ
ストをネットワークに接続するための送信部および受信
部4,5を備えている。
【0064】この管理システムが備えている複数の処理
部および設定部としては、次のものが用意されている。 (1)システム構成設定部11 このシステム構成設定部11は、ベースホスト設定部1
11、バックアップホスト設定部112、レキシコン定
義部113およびマルチキャストアドレス設定部114
を備えている。このうち、ベースホスト設定部111
は、複数のホストのいずれかにオリジナルデータをおく
か、すなわち、あるレキシコンセットのベース(オリジ
ナル)をネットワーク上のどのホストに置くかを定義す
る。バックアップホスト設定部112は、本システムが
稼動中、各ベースホストについて、1つ以上のバックア
ップホストが存在するように配置する。レキシコン定義
部113は、ベースホスト設定部111によって定義さ
れたレキシコンセットについて、そのレキシコンに属す
るレキシコンを決定する。マルチキャストアドレス設定
部114は、各レキシコンセットについて、システム起
動時のパラメータとしてデフォルトのマルチキャストア
ドレスを設定したり、デフォルトと異なるマルチキャス
トアドレスを設定する。
【0065】(2)トランザクション管理部12A トランザクション管理部12Aは、アプリケーションが
利用するトランザクションと、このトランザクションに
よって実行されるトランザクション関数を定義したり、
このトランザクション関数がアクセスするレキシコンセ
ットとの関係を定義する。また、トランザクションを利
用してレキシコンセット内のデータの参照・更新・検索
などの処理を行う。
【0066】(3)トランザクション処理部12B トランザクション処理部12Bは、前記トランザクショ
ン管理部12Aの設定に従い、アプリケーションからの
トランザクションの実行依頼があった場合に、そのトラ
ンザクションに対応するトランザクション関数を選択し
て、このトランザクション関数を用いてレキシコンセッ
ト内のデータの参照・更新・検索などの処理を行う。
【0067】(4)データ常駐管理部13 このデータ常駐管理部13は、各ホストにどのレキシコ
ンセットを常駐させるか、すなわち、各ホストの業務ア
プリケーションがどのレキシコンセットのデータにアク
セス可能かを、あらかじめ設定する処理を行う。また、
システムの稼働時には、必要なデータをベースホストか
ら各レプリカサイト呼び出すリトリーブ処理や、新たな
レキシコンセットを所定のホストに追加常駐させたり、
常駐を解放したりする常駐状態の変更処理も行う。この
データ常駐管理部13の構成については、図5に詳述す
る。
【0068】(5)レプリケーション処理部14 このレプリケーション処理部14は、システム構成設定
部においてあらかじめ設定されたベースホストとレプリ
カサイトとの間で、データの同一性を確保するためのレ
プリケーション処理を行う。すなわち、業務アプリケー
ションが行うデータに対するアクセスは、トランザクシ
ョンを介して行われるが、このトランザクションには前
記用語の説明で述べたように、データを参照するだけの
「参照」と、データが変更される「更新」の2種類の処
理がある。また、そのTRを実行するホストにも「ロー
カルサイト…自サイトのこと」と「リモートサイト…他
のサイトのこと」の2種類がある。そこで、このレプリ
ケーション処理部14は、これらの種類に応じて、前記
用語の説明で述べた次の処理を行う。 (a) ローカル参照処理 (b) ローカル更新処理 (c) リモート更新処理
【0069】(6)ベースホスト切替処理部15 前記システム構成設定部11で設定したように、各レキ
シコンセットについては、そのベースホストがあらかじ
め設定され、それに従ってシステムが稼働されている。
ところが、ネットワーク上に接続されている各ホストの
故障、保守点検、ネットワーク障害などの理由から、レ
キシコンセットのベースホストを他のホストへ切り替え
ることが必要となる場合がある。この場合、ネットワー
ク上に接続されている各ホストには、次の3種類の立場
がある。すなわち、(a) 現在Baseホストであるホスト
(旧Baseホスト)、(b) 次にBaseホストになる予定のホ
スト(新Baseホスト)、(c) 上記2種以外のホスト(他
のホスト)である。このベースホスト切替処理部15
は、前記の3種のホストにおいては、旧ベースホストか
ら新ベースホストあるいは他のホストへのオリジナルデ
ータのレプリケーション、および切替後のベースホスト
がどのホストであるかを各ホスト間に周知させるための
処理を行う。
【0070】[4.システム構成の設定…図3]前記図
2示したような各ホストについて、本実施の形態では、
次ぎのように各種の設定を行う。この設定は、システム
管理アプリケーションから実行を依頼されたデータ管理
システム設定トランザクションが、各設定部や処理部に
アクセスすることにより行われる。すなわち、本システ
ムは、各ホストの主記憶領域(本実施の形態では、ユニ
スペース/Unispaceと呼ぶ)上にレキシコンセットと呼
ばれるデータ及びこのデータに対して様々な処理を行う
ためのトランザクションに関するデータのすべてを配置
するものであるから、以降の例では、主記憶領域が予め
正しく初期化されていることを前提とする。
【0071】本システムを稼働するには、このように初
期化完了された主記憶領域に対しては、各データを割り
当て、各データに対する種々の設定を行うのであるが、
そのために、専用のシステム管理アプリケーションが使
用される。トランザクションの登録もアプリケーション
から行うものであるが、トランザクションの実行依頼を
行うアプリケーションとトランザクションの登録を行う
アプリケーションでは異なったアプリケーションを使用
しているため、アプリケーションの種類は異なったもの
である。そこで、本実施の形態では、トランザクション
の登録等のシステム設定を行うアプリケーションのこと
を、「システム管理アプリケーション」と呼び、トラン
ザクションの実行依頼を行うアプリケーションを「ユー
ザ実行アプリケーション」と呼ぶ。
【0072】(1)レキシコンセットの定義(S030
1) ユーザは、設計時に決めたレキシコンセットを定義する
必要がある。すなわち、システム管理アプリケーション
から発行したトランザクションを、トランザクション受
付部3が受け付け、このトランザクション受付部3から
の指令により、図2のシステム構成設定部11に設けら
れたベースホスト設定部111がレキシコンセットのベ
ースホストを指定する。以下の例は、Unispaceと呼ばれ
る主記憶領域に対して、定義するレキシコンセットの
「本名」と、このレキシコンセットのベース(オリジナ
ル)をネットワーク上のどのホストに置くかを定義して
いる。すなわち、"SampleLexiconSet"というレキシコン
セットをベースホスト"host_1"で定義する。 DefineLexiconSet(&us,"SampleLexiconSet","host_1"); ただし、この状態では、レキシコンセットが定義された
だけで、実体であるデータはどこにもない。
【0073】(2)バックアップホストの定義(S03
02) すなわち、システム構成設定部11に設けられたバック
アップホスト設定部112により、ユーザは、各レキシ
コンセットのバックアップホストを1つ以上定義するも
ので、その際、本システムが稼動している限り常に1つ
以上のバックアップホストが存在するように配置する。
また、バックアップホスト設定部112により、各バッ
クアップホストにおいてファイルのバックアップを取る
か否か決める。例えば、SampleLexiconSetのBackupホス
トとしてhost1、host2とし、host1ではファイルBackup
し、host2ではファイルBackupしない場合は以下の通り
である。 SetLexiconSetBackupHost(&us,"SampleLexiconSet","ho
st1",TRUE); SetLexiconSetBackupHost(&us,"SampleLexiconSet","ho
st2",FALSE);
【0074】(3)レキシコンの定義(S0303) 次に、レキシコン定義部113により、前記のように定
義されたレキシコンセットの中にそのレキシコンセット
に属するレキシコンを定義する。この場合、本実施の形
態では、定義するレキシコンには、それが属するレキシ
コンセットと共に、そのレキシコンがシングルオリジナ
ルかマルチオリジナルかのタイプも合わせて定義する。
ここで、シングルオリジナルのレキシコンはレキシコン
セットのベースホストでのみ更新操作(cell/contextの
作成/変更 etc)が可能である。ベースホスト以外のホス
トでは、レキシコンの内容はベースホストでの更新操作
の結果がレプリケーションされて反映される。マルチオ
リジナルのレキシコンでは、どこのホストでも更新操作
が可能である。更新操作の結果はレプリケーションされ
ず、更新結果はローカルにとどまる。すなわち、"Sampl
eLexiconSet"の中に2つのレキシコン"Lexicon_1"、"Le
xicon_2"を定義する。"Lexicon1"をシングルオリジナル
とし、"Lexicon2"をマルチオリジナルとする。 DefineLexiconInLexiconSet(&us,"SampleLexiconSet","
Lexicon1",SingleORG); DefineLexiconInLexiconSet(&us,"SampleLexiconSet","
Lexicon2",MultiORG);
【0075】(4)トランザクションライブラリの定義
(S0304,S0305) 本システムにおいて、トランザクション関数とトランザ
クションは1対1に対応しており、トランザクション処
理部12は、トランザクションの集合をライブラリとし
て定義し、このランザクションライブラリをレキシコン
セットに登録する。例えば、トランザクションライブラ
リ"TRLIB"をレキシコンセット "SampleLexiconSet"に定
義する。ライブラリは3つのトランザクション "tr1","t
r2","tr3"からなる場合。 char *TrNames[3]; TrNames[0]="tr1"; TrNames[1]="tr2"; TrNames[2]="tr
3"; DefineTransactionLibrary(&us,"SampleLexiconSet","T
RLIB",3,TrNames); このようにしてトランザクションが定義されたが、実行
できるトランザクションの実体はまだない。
【0076】(5)トランザクション名とトランザクシ
ョン関数名の関連付け(S0306) また、トランザクション処理部12は、トランザクショ
ン名とトランザクション関数名を関連付ける。同時に、
トランザクションのアクセス対象レキシコンとアクセス
形態を決定し、トランザクションと関連付けてレキシコ
ンセットに登録する。この時点で、トランザクションが
どのレキシコンに対してアクセスされるか設定される。
ここで、アクセス形態とは、参照または更新を示す。参
照の場合は、トランザクションはレキシコンの内容の参
照のみが許され、レキシコンの内容を書き換えることは
不可能である。更新の場合は、レキシコンの内容を参照
することも、内容を書き換えることも可能である。例え
ば、3つのトランザクション "tr1","tr2","tr3"がそれ
ぞれトランザクション関数 "tr1all", "tr2srh", "tr3u
pd"に関連付けられ、"tr1"はレキシコン "Lexicon1","L
exicon2"を更新し、"tr2"は"Lexicon1"のみ参照し、"tr
3"は"Lexicon1"を更新し、"Lexicon2"を参照する場合は
以下の通りである。 char *lex[2]; int mode[2]; lex[0]="Lexicon1"; lex[1]="Lexicon2"; mode[0]=TRUE; mode[1]=TRUE; AttachTransactionToFunction(&us,"SampleLexiconSe
t","tr1","tr1all",2,lex,mode); lex[0]="Lexicon1"; mode[0]=FALSE; AttachTransactionToFunction(&us,"SampleLexiconSe
t","tr2","tr2srh",1,lex,mode); lex[0]="Lexicon1"; lex[1]="Lexicon2"; mode[0]=TRUE; mode[1]=FALSE; AttachTransactionToFunction(&us,"SampleLexiconSe
t","tr3","tr3upd",2,lex,mode); この場合、トランザクション名とトランザクション関数
名が関連付けられただけであり、まだトランザクション
が実行できる状態ではない。
【0077】(6)レキシコン配置の定義(S030
7) データ常駐管理部13は、レキシコンを配置するホスト
を定義する。各ホストで実行するトランザクションに必
要なレキシコンだけを配置するのが最もリソース節約に
なる。計算機に余裕があるならば各ホスト同一の配置状
況にするのを勧める。例えば、レキシコンセット "Samp
leLexiconSe"の"Lexicon1"と"Lexicon2"をホスト "host
1"に配置する場合波、以下の通りである。。 DefineHostOfLexiconResidence(&us,"SampleLexiconSe
t","Lexicon1","host1"); DefineHostOfLexiconResidence(&us,"SampleLexiconSe
t","Lexicon2","host1"); この状態では、レキシコンを配置するホストを定義した
だけであり、実際にレキシコンのデータが配置された
り、またはレキシコンのデータを格納する主記憶領域が
確保されない。実際にデータが配置され主記憶領域が確
保されるのはレキシコンセットデータの常駐を行ったと
きである。
【0078】(7)トランザクションライブラリとDLL
ファイルのロード(S0308) 次に、トランザクション処理部12は、トランザクショ
ン関数をライブラリ化したDLLファイルをトランザクシ
ョンのライブラリと関連付けて、レキシコンセットが格
納されている本システムが起動しているホストにロード
する。ロードする時点でトランザクション関数名との関
連付けができているトランザクションのみトランザクシ
ョン関数ポインタとリンクされる。トランザクションラ
イブラリ内のトランザクション全てに対して、トランザ
クション関数名の関連付けを見つけ出し、ロードしたDL
Lファイルからトランザクション関数名を用いてトラン
ザクション関数ポインタを見つけ出してリンクする。例
えば、トランザクションライブラリ "TRLIB"に対して、
ホスト "host1" でDLLファイル"c:\gigabase\trfunc.dl
l"をロードする場合は以下の通りである。なお、ファイ
ルタイプはDLLである。 LoadTransactionLibraryFile(&us,"SampleLexiconSe
t","TRLIB","host1","c:\gigabase\trfunc.dll",DLL);
【0079】ここで初めてトランザクションと関数ポイ
ンタがリンクされたが、実際にトランザクションが実行
できるためには実行するトランザクションのレキシコン
セットが実行するホストにおいて常駐されていなければ
ならない。これで、トランザクション関数が本システム
にロードされ、トランザクションとトランザクション関
数の関連付けが完了した。このようにしてトランザクシ
ョンを本システムに登録することにより、トランザクシ
ョン関数は本システム上で実行され、本システム内でデ
ータベースの操作が可能になる。
【0080】(8)レキシコンセット別名の定義(S0
309) さらに、トランザクション処理部12では、トランザク
ションの実行をアプリケーションから投げる際、レキシ
コンセットの別名を指定して実行できる。レキシコンセ
ットの別名でトランザクションを実行したい場合は、ト
ランザクションの実行より予め別名を定義する。例え
ば、レキシコンセット "SampleLexiconSet"に別名"ALIA
S"を定義する場合は以下の通りである。 DefineLexiconSetAlias(&us,"SampleLexiconSet","ALIA
S"); アプリケーションからトランザクションの実行を投げる
場合、"SampleLexiconSet"だけでなく"ALIAS"でも投げ
られる。なお、本実施の形態では、システム管理アプリ
ケーションではレキシコンセット別名を使用できないよ
うに構成する。
【0081】(9)マルチキャストアドレスの設定(S
0310) 本設定を行わなければ、ユーザ定義のレキシコンセット
に関する通信は、システム起動パラメータで設定された
デフォルトのマルチキャストアドレスで行われる。そこ
で、システム構成設定部11におけるマルチキャストア
ドレス設定部114により、この設定を行うとデフォル
トと異なるマルチキャストアドレスで通信を行うように
なる。デフォルトマルチキャストアドレスと異なるマル
チキャストアドレスでレキシコンセットの通信を行う場
合は、設定する。設定したマルチキャストアドレスでレ
キシコンセットデータの通信を行わせるには、本設定を
行ってからレキシコンセットデータの常駐を行わなけれ
ばならない。あるホストにおいてマルチキャストアドレ
スを設定する前にレキシコンセットデータの常駐済みの
場合、既にデータの送受信を行っているためマルチキャ
ストアドレスは変更されない。この場合はいったんレキ
シコンセットデータを非常駐として再び常駐させ直せ
ば、設定したマルチキャストアドレスが有効になる。例
えば、"SampleLexiconSet"にマルチキャストアドレス 2
32.122.32.93 を設定する場合は、以下の通りである。 unsigned int maddr; maddr=(232<<24)+(122<16)+(32<<8)+93; SetMulticastAddressForLexiconSet(&us,"SampleLexico
nSet",maddr);
【0082】(11)レキシコンセットの常駐(S03
11) ユーザはデータ常駐管理部13により、各ホストにおい
てレキシコンセットの常駐を行うことで、データを主記
憶領域にロードしトランザクション関数を実行できるよ
うになる。本設定をするとき、どこからレキシコンセッ
トのデータを取ってくるか指定しなければならない。こ
れがリトリーブ要求先ホストである。レキシコンセット
を常駐させたいホストにおいて本システムが起動してい
ない場合、実際のレキシコンセットデータの常駐動作で
あるリトリーブは動かず、常駐情報が定義されるだけで
ある。この場合,実際にリトリーブが動くのは、次に本
システムが起動されたときである。
【0083】すなわち、レキシコンセットの常駐動作で
は、本システムが起動済みであると、データのリトリー
ブを行う。レキシコンセットデータのリトリーブが済む
と、その時点でリンク済みであるTRが実行できるように
なる。レキシコンセットデータのリトリーブが済むと、
設定されているならばマルチキャストアドレスが使用で
きるようになる。また、レキシコンセットのリトリーブ
が動くとき、その時点でそのホストで配置が定義されて
いるレキシコンだけが主記憶上にデータが格納される。
例えば、レキシコンセット "SampleLexiconSet"をホス
ト"host1"に配置する場合。そのときリトリーブ要求先
ホストを " host2","host3"とする。 char *rethost[2]; rethost[0]="host2"; rethost[1]="host3"; LoadLexiconSetData(&us,"SampleLexiconSet","host1",
2,rethost);
【0084】[5.アプリケーションとトランザクショ
ン関数の実行手順…図4]アプリケーションからトラン
ザクション関数が呼び出されて一連の処理を実行する処
理フローを図4および図7に示す。 (1) アプリケーションは、最初に本システムへの接続を
行う(S0401)。 (2) アプリケーションは、本システムとのデータのやり
取りをするための共有メモリを確保する(S040
2)。 (3) アプリケーションは、トランザクション関数へ渡す
入力パラメータを共有メモリへセットする(S040
3)。 (4) アプリケーションは、トランザクションの実行依頼
を本システムへ出す(S0404)。 (5) アプリケーションは、トランザクション関数の処理
が終了するまで実行待ちに入る(S0405)。 (6) 本システムは、アプリケーションからトランザクシ
ョンの実行依頼を受けると、指定されたトランザクショ
ン関数を起動する(S0406)。すなわち、図7に示
すように、アプリケーションが、自己が実行しようとす
ると処理に対応するトランザクションの実行依頼を行う
と、そのトランザクションに1対1に対応したトランザ
クション関数が選択され、そのトランザクション関数が
起動される。 (7) トランザクション関数は、起動されると最初にアプ
リケーションからの処理に必要なパラメータを共有メモ
リから取り出す(S0407)。 (8) トランザクション関数は、次に、データベースへ参
照、検索、更新、削除、追加などのアクセスを行う。こ
のデータを使ってトランザクション関数の処理を行い、
出力として必要なデータを作成する(S0408)。こ
の場合、トランザクション関数は、システム管理アプリ
ケーションにより予め登録されているレキシコンセット
のレキシコンに対して、必要な処理を行う。 (9) トランザクション関数は、作成したデータを共有メ
モリにセットする(S0409)。 (10)トランザクション関数は、処理を終了する(S04
10)。 (11)本システムは、トランザクション関数の処理が終了
すると、トランザクションの終了通知をアプリケーショ
ンへ伝える(S0411)。 (12)アプリケーションは、終了通知を受け取ると、トラ
ンザクション関数の処理結果を共有メモリから読み出す
(S0412)。 (13)アプリケーションは、共有メモリを開放する(S0
413)。 (14)アプリケーションは、一連の処理が終わって本シ
ステムへのアクセスが不用になれば本システムからの切
断を実行する(S0414)。 (15)アプリケーションは、終了する(END)。
【0085】[6.参照トランザクションと更新トラン
ザクションの実行]前記のようなトランザクションの実
行時において、ユーザアプリケーションから依頼された
トランザクションの種類、すなわち前記図3のステップ
S0408におけるデータベースへの参照、検索、更
新、削除、追加などアクセス形態によって、本システム
内の処理が次のように異なる。
【0086】(1)参照トランザクション トランザクションが、データベースに改変を加えること
のない参照トランザクションの場合、トランザクション
処理部12はアクセス対象レキシコンに対してトランザ
クションを実行させる。そして、トランザクションの実
行が終わった後、その実行結果をアプリケーションに対
して通知する。この参照トランザクションは、データを
参照するだけでその書き換えを行うことがないので、そ
のホストにあるデータがオリジナルデータであるか、レ
プリカデータであるかを問わず、各サイトで実行でき
る。
【0087】(2)更新トランザクション 更新トランザクションの場合、実行を依頼したホストが
オリジナルデータを持つか(以下、オリジナル側)、レプ
リカデータを持つか(以下、レプリカ側)によって処理が
異なる。まず、オリジナルデータを持つ場合は、参照ト
ランザクションと同様にトランザクション処理部12が
アクセス対象レキシコンに対してトランザクションを実
行させ、実行結果をアプリケーションに通知する。レプ
リカデータを持つ場合、トランザクションで直接レキシ
コンを更新することはできない。そこで、レプリカサイ
トのトランザクション処理部12がネットワークを介し
て、ベースホストのトランザクション処理部12にトラ
ンザクションの実行依頼を行う。ベースホストのトラン
ザクション処理部12は、ベースホストに格納されてい
るトランザクションを実行し、オリジナルデータのレキ
シコンを更新する。オリジナルデータが更新されると、
レプリカサイトにその更新データがレプリケーションさ
れ、レプリカサイトのデータが更新される。レプリカサ
イトのデータが更新されると、レプリカサイトのトラン
ザクションはその実行結果をアプリケーションに結果を
通知する。
【0088】[7.トランザクションに関する設定]こ
のような本システムを実行するには、次のようなシステ
ム構成を設定することが必要となる。このシステム構成
の設定は、一般には、システム管理アプリケーションと
呼ばれるプログラムによって行われる。 (1) レキシコンセット名とそのベースホスト(切り替え
先候補) (2) レキシコンセットとそれに含まれるレキシコン (3) トランザクションライブラリとそれに含まれるトラ
ンザクション (4) トランザクション名とこのトランザクションを実行
するために必要なトランザクション関数 (5) トランザクションがアクセスするレキシコンとその
アクセス形態(参照/更新) (6) レキシコンセットの別名(必要ならば) (7) レキシコンセットを各ホストに反映させるために行
うレプリケーション送信のマルチキャストアドレス(必
要ならば) (8) 各ホストで常駐させるレキシコンセット (9) 各ホストに配置するレキシコン(常駐させるレキシ
コンセットに含まれている) (10)各ホストでロードするトランザクションライブラリ
とそのDLLファイル名 (11)各レキシコンセットのバックアップホストとそれぞ
れファイルバックアップの有無
【0089】[8.データ常駐管理部] [8−1.データ常駐管理部の構成…図5]以下、前記
のようなデータの常駐処理に関する設定を行うデータ常
駐管理部13の一実施の形態を図5に示す機能ブロック
図に従って説明する。
【0090】すなわち、本実施形態のデータ常駐管理部
13は、前記図2の各ホストの構成の欄で説明したよう
に、トランザクション受付部3を介してシステム管理ア
プリケーションSYS_APから依頼されたデータ管理
システム設定トランザクションの処理に従って、ネット
ワークを構成する各ホストにおけるデータ常駐に関する
種々の設定を行うものである。このデータ常駐管理部1
3には、各ホストにおけるデータの常駐状態を設定する
ための常駐状態設定部401と、前記常駐状態設定部4
01の設定内容に基づいて常駐すべきデータをそのベー
スホストからリトリーブするためのリトリーブデータ管
理部405とが設けられている。
【0091】前記常駐状態設定部401には、レキシコ
ンセット名とそのレキシコンセットを配置するホスト名
(常駐ホスト名)を列挙したレキシコンセット−常駐ホ
スト対応表501(表A)、及びレキシコンセット名と
そのレキシコンセットを配置させるホスト名(常駐ホス
ト名)とそのレキシコンセットを常駐させるときに使用
するリトリーブホストを列挙したリトリーブ要求先ホス
ト対応表502(表B)を作成するレキシコンセット常
駐設定部402が設けられている。このリトリーブ要求
先ホスト対応表502により、同一ホストをリトリーブ
先としてリストに登録しているレキシコンセット名を列
挙することができる。なお、レキシコンセット−常駐ホ
スト対応表501とリトリーブ要求先ホスト対応表50
2の一例を下記に示す。
【0092】
【表1】
【表2】
【0093】また、前記常駐状態設定部401には、レ
キシコン−常駐ホスト対応表503(表C)を作成する
レキシコンセット常駐計画設定部403と、このレキシ
コン−常駐ホスト対応表503(表C)に基づいて各ホ
ストが独自に作成するレキシコン常駐状況表504(表
D)を作成するためのレキシコンセット常駐状況設定部
404が設けられている。なお、このレキシコン−常駐
ホスト対応表503(表C)とレキシコン常駐状況表5
04(表D)の一例を下記に示す。
【表3】
【表4】
【0094】前記表Cは、あるホストにデータ配置する
レキシコンをレキシコンセット名、レキシコン名の組で
列挙したものであり、いわば常駐計画表として機能す
る。また、表Dは、常駐計画を示したレキシコン−常駐
ホスト対応表を参照して各ホスト毎に作成される表であ
って、各ホストにおいて、あるレキシコンが現在「常
駐」しているか否かの状況を示すものである。なお、前
記の表Aから表Cは、システム管理レキシコンセットの
ベースホストにおいて、システム管理レキシコンセット
の一部として作成され、各ホストの起動時には、リトリ
ーブ要求先ホストリストに従ってリトリーブ要求を出し
てリトリーブ受信する。
【0095】また、本実施形態のデータ常駐管理部13
には、自ホストにおいて「常駐する」との設定がなされ
ている各レキシコンセットについて、そのレキシコンセ
ットを他のホストからリトリーブしてもらうためのリト
リーブ要求を送信するために、前記表Bを参照して各レ
キシコンセット毎にリトリーブ要求先を決定するリトリ
ーブ要求先決定部601と、そのリトリーブ要求先に対
してリトリーブ要求を発信するリトリーブ要求送信部6
02とが設けられている。また、リトリーブ要求先ホス
トから送られたリトリーブデータを受信するリトリーブ
データ受信部603が設けられている。これらのリトリ
ーブ要求送信部602とリトリーブデータ受信部603
とは、各ホストに配置されたデータベース管理システム
1の送信部5と受信部6とに接続され、ネットワークを
介して他のホストに送信される。
【0096】本実施形態のデータ常駐管理部13には、
前記のようにリトリーブデータ管理部405が備えら
れ、このリトリーブデータ管理部405には、前記リト
リーブデータ受信部603が受信したレキシコンセット
の各レキシコンが自ホストに常駐させるべきものである
か否かを判定する常駐レキシコン判定部406と、自ホ
ストに常駐させるレキシコンであると判定した場合に主
記憶領域を割り当てる主記憶領域割当部407が設けら
れている。
【0097】[8−2.データ常駐管理部の作用]前記
のような構成を有するデータ常駐管理部13を備えた各
ホストにおいて、システム管理アプリケーションSYS
_APによりデータ管理システム設定トランザクション
の実行が依頼されると、以下に述べるような処理がなさ
れる。
【0098】[8−2−1.各ユーザにおける本システ
ム初期起動時の処理]…図6,図7 先ず、起動ホストのリトリーブ要求先決定部601が、
システム管理レキシコンセットに登録されているリトリ
ーブ要求先ホスト対応表502(表B)に従って要求先
ホストを決定し、リトリーブ要求送信部602を介し
て、その要求先ホストに対してリトリーブ要求を発信す
る(S0601)。
【0099】このリトリーブ要求に対して、リトリーブ
要求先ホストからリトリーブ応答があるか否かを検証し
(S0602)、応答のない場合(S0602の"N
O")は、現起動ホストはシステム管理レキシコンセッ
トのベースホストであるか否かを検証する(S060
3)。すなわち、現起動ホストがベースホストである場
合には、他のホストからのリトリーブ要求の応答がなく
とも起動可能なので、応答のない場合の可能性として、
現起動ホストがベースホストであるか否かの検証を行
う。
【0100】ステップS0603において、現起動ホス
トがベースホストでない場合(S0603の"NO")
は、他のホストがベースホストであるにもかかわらず、
リトリーブ応答がないわけであるから、何らかの異常が
あって初期起動が失敗した状態であるため(S060
4)、処理を終了する。一方、現起動ホストがベースホ
ストであるためリトリーブ応答がない場合には(S06
03の"YES")、初期起動は成功するが、その場合、
表A〜表Cは空の状態である(S0605)。
【0101】一方、前記ステップS0602において、
リトリーブ要求先ホストからリトリーブ応答があった場
合には(S062の"YES")、システム管理レキシコ
ンセットのリトリーブを受信し(S0606)、これを
主記憶領域割当部407により主記憶領域に割り当てる
(S0607)。このリトリーブの受信と主記憶領域に
対する割り当ては、システム管理レキシコンセットのリ
トリーブを全部受信するまで繰り返される(S0608
の"NO")。
【0102】この状態においては、システム管理レキシ
コンセットのみが現起動ホストに常駐した状態であり、
アプリケーションプログラムが使用するデータに関する
レキシコンセット(一般レキシコンセット)は、まだ常
駐されていない。しかし、どのホストにどのレキシコン
セットを常駐させるかを示すレキシコンセット−常駐ホ
スト対応表501(表A)、リトリーブ要求先ホスト対
応表502(表B)、及び常駐させるレキシコンセット
中のどのレキシコンを常駐させるかを示すレキシコン−
常駐ホスト対応表503(表C)については、システム
管理レキシコンセットとしてリトリーブされている。
【0103】上記のステップS0606〜S0608の
処理を繰り返すことにより、すべてのシステム管理レキ
シコンセットのリトリーブ受信が完了した後(S060
8の"YES")、各ホストにおけるレキシコンの常駐状
況を示すレキシコン常駐状況表504(表D)を作成す
る(S0609)。なお、このレキシコン常駐状況表5
04は、表中の各レキシコンが、現在そのホストに実際
に常駐しているかどうかを示すものであって、表の内容
はホスト毎に異なるものであり、現起動ホストにおいて
は常駐しているレキシコンはまだ一つも存在しないの
で、レキシコン常駐状況表504(表D)の内容はすべ
て×(常駐なし)になる。
【0104】次に、自ホスト(現起動ホスト)は、自己
に常駐させるレキシコンセットを対応表501に従って
検索する(S0610)。例えば、自ホストがレキシコ
ンセット−常駐ホスト対応表501(表A)中のhost1
である場合は、LexiconSet_AとLexiconSet_Bとが常駐さ
せるレキシコンセットである。この対応表501(表
A)中に常駐させるレキシコンセットがない場合には
(S0611の"NO")初期起動は完了するが、初期起
動成功という観点では正常であっても、レキシコンセッ
トがないためユーザTRの実行は不可能である(S06
12)。ただし、後述するように、自ホストにおいて、
ユーザデータ用の一般レキシコンセットの常駐を追加・
修正することが可能である。
【0105】ステップS0611において、対応表50
1(表A)に従い常駐させる一般レキシコンセットがあ
る場合には(S0611の"YES")、該当するレキシ
コンセットを常駐させる処理を行う。すなわち、ステッ
プS0613において、一般レキシコンセットの常駐が
完了したか否かを検証するが、システム管理レキシコン
セットのみが常駐している状態においては、まだ常駐し
ているユーザデータ用の一般レキシコンセットは存在し
ないので、その常駐は完了していない(S0613は"
NO")。
【0106】そして、ステップS0615以下の処理を
繰り返すことにより、対応表501(表A)に記載され
たすべてのユーザデータ用レキシコンセットについて常
駐が完了した状態(S0613の"YES")において、
初期起動が完了し、これらのレキシコンセットに含まれ
たデータに対してアプリケーションプログラムがユーザ
トランザクションを実行することが可能な状態となり
(S0614)、データ常駐処理を終了する。
【0107】以下、全レキシコンセットの常駐が完了し
ていない状態(S0613の"NO")における、各レキ
シコンセットの常駐処理について説明する。先ず、レキ
シコンセット−常駐ホスト対応表501(表A)中の常
駐対象レキシコンセットの中から、最初に常駐させるレ
キシコンセットを選択して、そのレキシコンセットに含
まれる各レキシコンについて、レキシコン常駐計画を示
すレキシコン−常駐ホスト対応表503(表C)を参照
して、レキシコン常駐状況表504(表D)に○印を付
ける(S0615)。すなわち、レキシコン−常駐ホス
ト対応表503(表C)は、各レキシコンセットに含ま
れているレキシコンをどのホストにおいて常駐させる予
定があるかを記録したものであって、この対応表503
(表C)を参照することにより、自己のホストにおいて
は、どのレキシコンを常駐させるべきか否かをレキシコ
ン常駐状況表504(表D)に記録する。例えば、レキ
シコン−常駐ホスト対応表503VDにおいて、自ホス
トがhost1である場合、LexiconSet_Aのlex1とlex2、Lex
iconSet_BのlexPを常駐させる必要があるが、まず最初
にLexiconSet_Aの常駐処理を行う場合には、レキシコン
常駐状況表504中のLexiconSet_Aのlex1とlex2に該当
する部分に○を付ける。
【0108】次に、リトリーブ要求先ホスト対応表50
2(表B)からhost1のLexiconSet_Aのリトリーブ要求
先ホスト(host2.host3.host4)を検索し(S061
6)、各要求先ホストに対してリトリーブ要求を発信す
る(S0617)。この場合、リトリーブ要求の出し方
と応答の受け方は、方法が提供されていれば、どのよう
な方法でも良い。例えば、どの要求先ホストにリトリー
ブ要求を出すかは、予めその順番を定めておいても良い
し、すべての要求先ホストに一斉にリトリーブ要求を送
信しても良い。このリトリーブ要求に対して、すべての
要求先ホスト(host2.host3.host4)からリトリーブ
応答がなかった場合は(S0618の"NO")、常駐対
象レキシコンセットを中身が空の状態で構築し(S06
19)、ステップS0625に進み最初のレキシコンセ
ット(LexiconSet_A)についてのリトリーブ処理を完了
する。
【0109】一方、いずれかの要求先ホストからリトリ
ーブ応答があった場合には(S0618の"YES")、
そのリトリーブデータ(LexiconSet_A)を受信し(S0
620)、受信データ中に含まれるレキシコンが、レキ
シコン常駐状況表504(表D)に登録された(○をつ
けた)常駐させるレキシコンデータか否かを検証する
(S0621)。受信データが常駐させるレキシコンで
ない場合には、そのデータを破棄し(S0622)、常
駐させるデータである場合には、主記憶領域割当部40
7により主記憶領域を割り当てる(S0623)。
【0110】このようにして、受信したリトリーブデー
タを常駐させた後は、常駐対象レキシコンセットのリト
リーブの全受信が完了したか否かを検証し(S062
4)、全受信が完了していない場合には(S0624
の"NO")ステップS0620に戻り、次のリトリーブ
データの受信とその常駐処理を繰り返す。全受信が完了
した場合には(S0624の"YES")、常駐対象レキ
シコンセットのリトリーブが完了したものとして(S0
625)、前記ステップS0613に戻る。
【0111】上記のようにして、host1の最初の常駐対
象レキシコンセット(LexiconSet_A)の常駐が完了した
後は、対応表501(表A)に登録されている次の常駐
対象レキシコンセット(LexiconSet_B)に関してステッ
プS0615以下の処理を繰り返し、対応表501(表
A)に記載されたすべてのレキシコンセットについて、
常駐処理を行う。そのようにして、すべてのレキシコン
セットについて常駐処理が終了すると(S0613の"
YES")、自ホストにおける初期起動が完了する(S
0614)。
【0112】[8−2−2.システム管理レキシコンセ
ットのベースホストにおける追加設定の処理]…図8 ところで、本システムにおいては、前記のように各ホス
トの初期起動が成功し、各ホストが稼働状態にある場合
に、各ホストにおける常駐対象レキシコンセットを追加
することが可能である。この追加設定は、システム管理
レキシコンセットのベースホストにおいて実行すること
も、また、次項で述べるように、追加対象レキシコンセ
ットの常駐先ホストにおいても実行可能である。
【0113】以下、システム管理レキシコンセットのベ
ースホストにおける追加設定の処理について、図8を参
照して説明する。まず、システム管理レキシコンセット
のベースホストにおいて、あるホストに追加して常駐さ
せるレキシコンセット名とその常駐ホスト名を対応表5
01(表A)に追加する(S0801)と共に、対応表
501(表A)に追加した常駐ホストがレキシコンセッ
トを取得するためのリトリーブ要求先ホストをリトリー
ブ要求先ホスト対応表502(表B)に追加する(S0
802)。
【0114】この状態で、ベースホストは、対応表50
1(表B)に追加設定した常駐先ホストで本システムが
起動しているか否かを検証し(S0803)、常駐先ホ
ストでシステムが起動している場合には、レプリケーシ
ョン送信で、常駐先ホストの対応表501(表A)、リ
トリーブ要求先ホスト対応表502(表B)に、ベース
ホストで追加した対応表501(表A),502(表
B)の内容を追加する(S0804)。
【0115】この場合、レキシコン−常駐ホスト対応表
503(表C)については、予めベースホスト側で作成
してレプリケーション送信で各ホスト(常駐先ホストを
含む)にも作成される。さらに、常駐先ホストにおい
て、レキシコン−常駐ホスト対応表503(表C)に基
づいて、追加対象レキシコンセットのレキシコンについ
て、レキシコン常駐状況表504(表D)に○印を付け
る。
【0116】続いて、ベースホストからの関数レプリケ
ーションにより、常駐先ホストにおいてリトリーブ要求
を起こさせる。すなわち、常駐先ホストは、図7のステ
ップS0616及びS0617と同様にして、リトリー
ブ要求先ホスト対応表502(表B)に登録されたリト
リーブ要求先ホストに対して、追加して常駐すべきレキ
シコンセットのリトリーブ要求を起こす(S080
5)。そして、図7のS0618以下の処理を行い、追
加されたレキシコンセットの常駐処理を行う。
【0117】次に、システム管理レキシコンセットのベ
ースホストは、常駐先ホストのモードをチェックし(S
0806)、常駐先ホストでリトリーブが完了している
か否かを検証する(S0807)。常駐先ホストでリト
リーブが完了していない場合には(S0807の"N
O")、リトリーブ完了通知があるまで待機する(S0
808)。一方、常駐先ホストでリトリーブが完了した
場合には(S0807の"YES")、追加対象レキシコ
ンセットやそれに含まれる追加対象レキシコンの常駐が
完了したと判断し、常駐先ホストにおいてデータ常駐が
成功したとして(S0809)、ベースホストにおける
処理を終了する。なお、一定の時間が経過してもリトリ
ーブ完了通知がこない場合には、リトリーブ完了を待た
ずにステップS0809に進むこともできる。
【0118】[8−2−3.常駐先ホストにおける追加
設定の処理]…図9、図10 次に、常駐先ホストがシステム管理レキシコンセットの
ベースホストと異なる場合の、常駐先ホストにおける常
駐対象レキシコンセットの追加設定処理を説明する。
【0119】まず、常駐先ホストにおいて、アプリケー
ションプログラムから常駐対象レキシコンセットの追加
設定の実行依頼を受付けると(S0901)、常駐先ホ
ストにおいては、追加するレキシコンセット名と常駐ホ
スト名(自ホスト名)を自己の所有しているレキシコン
セット−常駐ホスト対応表501(表A)に追加する
(S0902)。また、追加した常駐対象レキシコンセ
ットのリトリーブ要求先のホストリストをリトリーブ要
求先ホスト対応表502(表B)に追加する(S090
3)。なお、この対応表501(表A)及び対応表50
2(表B)の追加は、リモートトランザクションによ
り、システム管理レキシコンセットのベースホストの対
応表501(表A)及び対応表502(表B)の上で追
加され、その結果のレプリケーション送信によるもので
ある。また、レキシコン−常駐ホスト対応表503(表
C)は、予めどのホストでどのレキシコンを配置するか
を計画したものとして用意されている。
【0120】また、このようにして用意された対応表5
01(表A)〜503(表C)については、システム管
理レキシコンセットのベースホストから他のホストに対
してレプリケーション送信することにより、各ホストに
おける常駐対象レキシコンセット及びレキシコンに関す
る情報を一元化しておくことができる。
【0121】上記のようにして、対応表501(表A)
〜503(表C)が用意された後は、ステップS090
4に記載のように、レキシコンの常駐計画を示すレキシ
コン−常駐ホスト対応表503(表C)から、常駐させ
るべきレキシコン名を読み出し(S0904)、そのレ
キシコンについてのレキシコン常駐状況を示すレキシコ
ン常駐状況表504(表D)に○印を付ける(S090
5)。次に、対応表502(表B)から、追加した常駐
対象レキシコンセットのリトリーブ要求先ホストを検索
し(S0906)、各要求先ホストに対してリトリーブ
要求を送信する(S0907,S0908)。このリト
リーブ要求に対して、リトリーブ応答がなかった場合は
(S0909の"NO")、リトリーブを完了して(S0
915)、追加の常駐処理は失敗したものとする。
【0122】一方、いずれかの要求先ホストからリトリ
ーブ応答があった場合には(S0909の"YES")、
そのリトリーブデータを受信し(S0910)、受信デ
ータ中に含まれるレキシコンが、レキシコン常駐状況表
504(表D)に登録された(○をつけた)常駐させる
レキシコンデータか否かを検証する(S0911)。受
信データが常駐させるレキシコンでない場合には、その
データを破棄し(S0912)、常駐させるデータであ
る場合には、そのデータを主記憶領域割当部407によ
り主記憶領域を割り当てる(S0913)。
【0123】このようにして、受信したリトリーブデー
タを常駐させた後は、常駐対象レキシコンセットのリト
リーブの全受信が完了したか否かを検証し(S091
4)、完了していない場合には(S0914の"NO")
ステップS0910に戻り、次のリトリーブデータの受
信とその常駐処理を繰り返す。このようにして、全受信
が完了した場合には(S0914の"YES")、常駐対
象レキシコンセットのリトリーブを完了し(S091
5)、リトリーブモードを通常のアプリケーションプロ
グラム処理モードに変更して、アプリケーションプログ
ラムに対してリトリーブ終了通知トランザクションを発
行する(S0916)。
【0124】[8−2−4.常駐レキシコンの変更時に
おける処理]…図11 本実施形態のデータ常駐管理部13によれば、前記のよ
うな常駐レキシコンの追加以外に、常駐対象レキシコン
セット及びそれに含まれたレキシコンの常駐状態を変更
することも可能である。
【0125】以下、ホストhost1で、レキシコンセットL
exiconSet_Bに常駐するレキシコンlexQを追加する場合
を想定して、その場合の処理を図11により説明する。
まず、対応表501(表A)から常駐対象レキシコンセ
ットの対象ホストの行(対応表501のLexiconSet_B、
host1の行)を削除すると共に(S1101)、対応表
502(表B)から対象レキシコンセットの対象ホスト
の行(LexiconSet_B、host1の行)を削除する(S11
02)。なお、この対応表501(表A)及び対応表5
02(表B)の削除は、リモートトランザクションによ
り、システム管理レキシコンセットのベースホストの対
応表501(表A)及び対応表502(表B)の上で削
除され、その結果のレプリケーション送信によるもので
ある。
【0126】次に、常駐対象LexiconSet_Bのデータをホ
ストの主記憶上から消し(S1103)、レキシコン−
常駐ホスト対応表503(表C)の上で、常駐レキシコ
ンの追加・削除・変更(レキシコン−常駐ホスト対応表
503にLexiconSet_B、lexQ、host1のデータを追加)
を行う(S1104)。
【0127】このようにして、新たなレキシコン−常駐
ホスト対応表503(表C)の作成と、変更前の常駐対
象レキシコンセットが主記憶上から削除された後に、改
めて対応表501(表A)及び対応表502(表B)に
対して、常駐対象レキシコンセットと常駐先ホスト及び
リトリーブホストの追加登録を行うことにより、前記図
Cに示した常駐先ホストにおける追加設定の場合と同様
の処理がなされる(S1105)。
【0128】[8−3.第1実施形態の効果]以上のよ
うな構成を有する本実施の形態によれば、次のような効
果が発揮される。 (1)システムの起動時において、ベースホストからリ
トリーブされたレプリカデータを自ホストに常駐させる
ことにより、常にベースホスト上のオリジナルデータと
同一内容のデータを自己の主記憶領域に常駐させて利用
することが可能になり、ネットワーク上の各ホストが、
オリジナルデータの所在を意識することなく、自ホスト
のデータとして利用できる。
【0129】(2)各ホスト毎に使用するデータが異な
る場合であっても、各ホストに対するデータのリトリー
ブ処理をレキシコンセットを単位として行うため、個々
のデータ(レキシコン)毎にリトリーブ処理を行う場合
に比較して、その処理単位がまとまり、リトリーブ処理
が容易に実行できる。一方、リトリーブ処理はデータを
グループ化した処理単位であるレキシコンセットを対象
として行い、データの常駐そのものは、アプリケーショ
ンが使用するレキシコンのみを対象とするので、データ
常駐に必要な主記憶領域の効率的な仕様が可能となる。
【0130】(3)データ常駐およびリトリーブに必要
なデータをシステム管理レキシコンセットとして、予め
そのベースホストに配置し、これを他のホストリトリー
ブ送信することにより、各ホストを起動した場合に、共
通のシステム管理レキシコンセットが配置されることに
なり、各ホストにおけるデータ常駐処理が均等に実施さ
れることになり、システムの整合性が確保される。
【0131】(4)各ホストの稼働後に常駐対象となる
データの追加・削除・変更があった場合に、これをシス
テム管理レキシコンセットのベースホストから各ホスト
に反映させることが可能になり、各ホスト上にデータが
常駐された後でも、各ホスト上で常駐させたデータの同
一性を確保することが可能である。
【0132】(5)データ常駐状態設定部とリトリーブ
データ管理部とによって、予めデータの常駐先や常駐す
べきデータの内容、更には各ホストに対する常駐常駐デ
ータのオリジナルの所在を設定しておくことができ、こ
れらの設定内容に従って、システム起動時に各ホストに
対するデータの常駐を円滑に実施できる。
【0133】(6)本実施形態のデータ常駐管理部13
が適用される分散ネットワークシステムは、システムの
ハードウェア構成に依存しないリモート/ローカル構造
を採用することにより、アプリケーション・ソフトウェ
アをコンピュータのハードウェア構成から独立させるこ
とができる。そのため、アプリケーションはシステムの
物理構造、すなわちハードウェアの物理構成や、データ
がどのコンピュータ上に実装されているか、あるいはデ
ータの整合性がとれているかといった点をまったく意識
する必要がない。これにより、種々のシステム開発に従
事するユーザは、業務ロジックの設計・実装に専念する
ことができるので、システム開発の生産性が大幅に向上
する。
【0134】[9.他の実施の形態] (1)前記実施の形態では、リトリーブ処理をレキシコ
ンセットを単位として行い、常駐処理をレキシコンセッ
ト中のレキシコンを単位として行ったが、リトリーブ処
理と常駐処理をレキシコンセット毎に行っても、レキシ
コン毎に行うこともできる。
【0135】(2)システム管理レキシコンセットのベ
ースホストは、特定のコンピュータに固定されている必
要はなく、各ホストにシステム管理アプリケーションを
配置しておき、権限のあるシステム管理者が所望のホス
トからシステム管理レキシコンセットの改変を行うこと
もできる。その場合、最新のシステム管理レキシコンセ
ットを既に起動中のホストにレプリケーションしたり、
あるいはその後初期起動した他のホストにリトリーブし
たりすることにより、最新のシステム管理レキシコンセ
ットが作成されたホストをシステム管理レキシコンセッ
トのベースホストとすることができる。
【0136】(3)実施例の説明では、データ常駐に関
する各種の設定をシステム管理アプリケーションから発
行するシステム設定用トランザクションに従って行い、
このトランザクションの実行をすべてトランザクション
関数の呼出としているが、トランザクションの実行の形
態はこれに限られるものではない。例えば、個々のトラ
ンザクションには具体的なデータ操作手続の記述が含ま
れており、本システムが一定の手順に従ってそれを解釈
実行するという形態でも構わない。
【0137】(4)前記のようにトランザクションに
は、各種の属性を付与するため識別子(トランザクショ
ン名等)が含まれている。この識別子に対して、例えば
実行すべきトランザクション関数を対応付けるが、この
識別子は付与すべき属性の種類に応じて必要な数を設定
すればよい。トランザクションが操作の対象とするの
は、1つのレキシコンセットとする。前記の実施の形態
では、ユニスペースが複数のレキシコンセットを含むこ
とができるので、トランザクションには、操作対象のレ
キシコンセットを明記する。このレキシコンセット名を
上記識別子の1つと考えても良い。もちろん、他の識別
子から操作対象レキシコンセットを判別する手段を設け
た実施の形態も可能で、レキシコンセット名の明記は必
須ではない。
【0138】(5)実施例の説明では、「複数のマシ
ン」を物理的に異なるマシンと、通信ネットワークをそ
れらの間の物理的媒体を含む通信手段として想定した
が、これを論理的に異なるマシン、例えば同一マシン内
の異なるプロセスを対象として実施しても構わない。そ
の場合には、各(論理)マシンの識別に異なる手段(プ
ロセスID等)を使用すればよい。また、本システムが
管理対象とするデータベース(レキシコンセット)は、
1つでも複数でも構わない。
【0139】(6)レプリケ−ションデ−タを伝達する
手段としての通信ネットワ−クとトランザクションを転
送する手段としての通信ネットワ−クは物理的/論理的
に同一のものを用いても異なるものを用いてもよい。多
数のレプリカホストに伝送するにはマルチキャスト/ブ
ロ−ドキャストのネットワ−クを使用するのが効率的な
場合が多いが、本発明の実施はそれに限定されるもので
はない。一方、トランザクションの転送は通常1対1通
信で足りるが、実行すべきでないサイトが受信した場合
はそのサイトの判断で実行しないあるいは破棄する等の
処理を行うという条件でマルチキャスト/ブロ−ドキャ
ストのネットワ−クを採用することも可能である。
【0140】
【発明の効果】以上説明したように、本発明によれば、
下記に述べるような優れた効果を発揮する分散処理型デ
ータベース管理システムを提供することができる。
【0141】(1)リモート/ローカル構造による柔軟
性 本発明で提供している分散システムは、リモート/ロー
カル構造と呼ばれるシステムのハードウェア構成に依存
しない方式である。アプリケーション・ソフトウェアは
システムのハードウェア構成に関する実装を行う必要が
無いため、ソフトウェア開発をシステム構築から独立さ
せることができる。そのため、システム構築のためのコ
ーディングは一切不要で、システム構築/設定作業はす
べてシステム運用環境を用いて行うことができる。
【0142】(2)ネットワークを活用した多様な信頼
性強化 本発明の特徴的機能としては、システムの多重化機能と
データのリカバリ機能がある。これらの機能により、初
期化や障害発生時にバックアップファイルから再ロード
して速やかなシステムリカバリ処理が可能となる。すな
わち、各ホストに常駐させるデータを、システム管理レ
キシコンセットのベースホストで設定することができる
ので、ネットワークを構成する各マシン上のデータ管理
を一ヶ所で集中して行うことができる。
【0143】また、各ホストにおいてすべてのデータを
常駐させる必要はなく、そのホストで用いるデータのみ
を常駐させるように設定することにより、各ホストの主
記憶領域を有効に使用することができる。さらに、常駐
データの設定変更は、システム管理レキシコンセットの
ベースホストのみならず、常駐先ホストにおいても可能
であるので、各ホストにおいて処理するトランザクショ
ンが変更されても、迅速に対応することができる。
【0144】(3)システム停止を伴わない機能変更 本実施形態のデータ管理システム設定装置においては、
自ホストに常駐するデータを適宜変更することができる
ので、データ構造の変更に対して動的に対応することが
できる。また、これらの変更は、システムを停止させる
ことなく適宜実行することができるので、システム設定
変更の処理が非常に容易なものとなる。
【図面の簡単な説明】
【図1】本発明の分散処理型データベース管理システム
の全体構成を示す機能ブロック図である。
【図2】図1のデータベース管理システムにおける各ホ
ストの構成を示すブロック図である。
【図3】図1のデータベース管理システムにおけるシス
テム構成の設定順序を示すフローチャートである。
【図4】図1のデータベース管理システムにおけるアプ
リケーションとトランザクション関数の実行手順を示す
フローチャートである。
【図5】図1のデータベース管理システムにおけるデー
タ常駐管理部13の構成を示すブロック図である。
【図6】各ユーザにおける本システム初期起動時の処理
の流れ(前半)を示すフローチャートである。
【図7】各ユーザにおける本システム初期起動時の処理
の流れ(後半)を示すフローチャートである。
【図8】システム管理レキシコンセットのベースホスト
における追加設定の処理の流れを示すフローチャートで
ある。
【図9】常駐先ホストがシステム管理レキシコンセット
のベースホストと異なる場合の、常駐先ホストにおける
常駐対象レキシコンセットの追加設定処理の流れ(前
半)を示すフローチャートである。
【図10】常駐先ホストがシステム管理レキシコンセッ
トのベースホストと異なる場合の、常駐先ホストにおけ
る常駐対象レキシコンセットの追加設定処理の流れ(後
半)を示すフローチャートである。
【図11】常駐レキシコンの変更時における処理の流れ
を示すフローチャートである。
【符号の説明】
1…データベース管理システム 2…レキシコンセット 21…レキシコン 3…トランザクション受付部 4…送信部 5…受信部 11…システム構成設定部 12A…トランザクション管理部 12B…トランザクション処理部 13…データ常駐管理部 14…レプリケーション処理部 15…ベースホスト切替部 401…常駐状態設定部 402…レキシコンセット常駐設定部 403…レキシコンセット常駐計画設定部 404…レキシコンセット常駐状況設定部 405…リトリーブデータ管理部 406…常駐レキシコン判定部 407…主記憶領域割当部 501…レキシコンセット−常駐ホスト対応表(表A) 502…リトリーブ要求先ホスト対応表(表B) 503…レキシコン−常駐ホスト対応表(表C) 504…レキシコン常駐状況表(表D) 601…リトリーブ要求先決定部 602…リトリーブ要求送信部 603…リトリーブデータ受信部
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B045 DD15 DD18 GG01 5B082 HA01 5B085 AA08 BA07 BG04 BG07

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 ネットワークを介して接続された複数の
    コンピュータの主記憶領域上にそれぞれデータベースを
    配置し、 ある特定のコンピュータに格納されたデータをオリジナ
    ルデータとし、このオリジナルデータを有するコンピュ
    ータをベースホストとすると共に、 ある特定のコンピュータとは異なる他のコンピュータに
    は、前記ベースホストに格納されているオリジナルデー
    タと同一のレプリカデータを格納し、このレプリカデー
    タを格納したコンピュータをレプリカホストとした分散
    処理型データベース管理システムにおいて、 あるホストの起動時において、そのホストに配置すべき
    データを、そのデータのオリジナルデータが格納された
    ベースホストまたはオリジナルデータと同一のレプリカ
    データが格納されたレプリカホストから取得し、その取
    得したデータを主記憶領域に常駐させることを特徴とす
    る分散処理型データベース管理システム。
  2. 【請求項2】 自ホストに前記データのオリジナルが配
    置され、システムの起動時において、このオリジナルデ
    ータを自ホストの主記憶領域に常駐させることを特徴と
    する請求項1に記載の分散処理型データベース管理シス
    テム。
  3. 【請求項3】 自ホストとは異なる他のホストであるベ
    ースホストに前記データのオリジナルが配置され、オリ
    ジナルデータと同一のレプリカデータが自ホストとは異
    なるレプリカホストに配置され、 システムの起動時において、前記ベースホストまたはレ
    プリカホストから、そのレプリカデータを自ホストに対
    してリトリーブ送信し、このリトリーブされたデータを
    自ホストの主記憶領域に常駐させることを特徴とする請
    求項1に記載の分散処理型データベース管理システム。
  4. 【請求項4】 前記データベースが、データの処理単位
    であるレキシコンと、このレキシコンを1つあるいは複
    数有するレキシコンセットによって構成され、前記オリ
    ジナルデータのリトリーブ処理がレキシコンセットを単
    位として行われることを特徴とする請求項1ないし請求
    項3のいずれか1つに記載の分散処理型データベース管
    理システム。
  5. 【請求項5】 前記リトリーブ処理が、すでにデータを
    格納しているベースホストまたはレプリカホストからレ
    プリカホストに対してレキシコンセットを単位として実
    行され、レプリカホストにおいては、リトリーブされた
    レキシコンセット中の予め定められたレキシコンに対し
    て常駐処理がなされることを特徴とする請求項4に記載
    の分散処理型データベース管理システム。
  6. 【請求項6】 前記ネットワークを介して接続された複
    数のコンピュータの1つにおいて、 各ホストに常駐させるべきレキシコンセットとレキシコ
    ンと、このレキシコンセットのオリジナルが格納された
    ベースホストと、レキシコンセットを常駐させるべき各
    ホストからリトリーブ要求を送り付ける要求送信先ホス
    トのリストを各ホスト毎に設定し、これらの設定された
    データをシステム管理レキシコンセットのオリジナルと
    してシステム管理レキシコンセットのベースホストに配
    置し、 各ホストの起動時には、このシステム管理レキシコンセ
    ットを、そのベースホストまたはシステム管理レキシコ
    ンセットのオリジナルと同一のレプリカデータを格納す
    るレプリカホストから他のホストに対してリトリーブ送
    信することを特徴とする請求項4に記載の分散処理型デ
    ータベース管理システム。
  7. 【請求項7】 システム管理レキシコンセットに登録さ
    れているリトリーブ要求先ホストに従って要求先ホスト
    を決定し、その要求先ホストに対してリトリーブ要求を
    発信し、このリトリーブ要求に対して、リトリーブ要求
    先ホストからリトリーブ応答があるか否かを検証し、ど
    こからも応答のない場合は、リトリーブ要求の発信元ホ
    ストがシステム管理レキシコンセットのベースホストで
    あるか否かを検証し、リトリーブ要求の発信元ホストが
    システム管理レキシコンセットのベースホストである場
    合には、自ホストにデータがある場合にはそのデータを
    常駐させ、なければ空のシステム管理レキシコンセット
    を作成することを特徴とする請求項6に記載の分散処理
    型データベース管理システム。
  8. 【請求項8】 各ホスト上にすべてのデータが常駐され
    た後、常駐状態にあるデータの改変がなされた場合に、
    前記ベースホストのオリジナルデータと、レプリカホス
    トのレプリカデータとの同一性を確保するためのレプリ
    ケーション処理部を設けたことを特徴とする請求項6に
    記載の分散処理型データベース管理システム。
  9. 【請求項9】 予め設定されたデータが各ホストに常駐
    されて各ホストが稼働状態にある場合に、前記システム
    管理レキシコンセットのベースホストにおいて、このシ
    ステム管理レキシコンセットのデータを更新し、この更
    新されたシステム管理レキシコンセットのデータを各ホ
    ストにレプリケーション送信することにより、各ホスト
    における常駐対象データを追加することを特徴とする請
    求項8に記載の分散処理型データベース管理システム。
  10. 【請求項10】 予め設定されたデータが各ホストに常
    駐されて各ホストが稼働状態にある場合に、前記システ
    ム管理レキシコンセットのベースホストと異なるホスト
    において、 このホストからシステム管理レキシコンセットのデータ
    をリモートで変更し、このシステム管理レキシコンセッ
    トのベースホストから他のホストに対してレプリケーシ
    ョン送信して、各ホストにおける常駐対象レキシコンセ
    ット及びレキシコンに関する情報を一元化することを特
    徴とする請求項8に記載の分散処理型データベース管理
    システム。
  11. 【請求項11】 ネットワークを介して接続された複数
    のコンピュータの主記憶領域上にそれぞれデータベース
    を配置し、 ある特定のコンピュータに格納されたデータをオリジナ
    ルデータとし、このオリジナルデータを有するコンピュ
    ータをベースホストとすると共に、 ある特定のコンピュータとは異なる他のコンピュータに
    は、前記ベースホストに格納されているオリジナルデー
    タと同一のレプリカデータを格納し、このレプリカデー
    タを格納したコンピュータをレプリカホストとし、 あるホストの起動時において、そのホストが必要とする
    データを主記憶領域に常駐させることにより、このデー
    タに対する処理を可能とした分散処理型データベース管
    理システムにおいて、 予め、レキシコンセットを常駐させるべきホストと、こ
    のレキシコンセットのオリジナルが格納されたベースホ
    ストと、常駐させるべきホストからのリトリーブ要求を
    発信する要求先ホストリストとを設定するデータ常駐状
    態設定部を備え、 このデータ常駐状態設定部の設定に従い、リトリーブ要
    求先ホストリストに従ってリトリーブ要求を発信し、応
    答したホスト(ベースまたはレプリカ)から要求元ホス
    トに対してデータを送信するリトリーブデータ管理部を
    備えたことを特徴とする分散処理型データベース管理シ
    ステム。
  12. 【請求項12】 前記データ常駐状態設定部には、アク
    セス対象とするレキシコンセット名、そのレキシコンセ
    ットを配置させる常駐ホスト名、およびそのレキシコン
    セットを常駐させるときに使用するリトリーブホスト名
    を設定するレキシコンセット常駐設定部と、 各ホストに配置するレキシコンをそのレキシコンセット
    と共に設定するレキシコンセット常駐計画設定部と、 前記レキシコンセット常駐計画設定部による設定内容に
    従って、各ホストにおいて、あるレキシコンが現在常駐
    しているか否かの状況を確認するレキシコンセット常駐
    状況設定部が設けられていることを特徴とする請求項1
    1に記載の分散処理型データベース管理システム。
  13. 【請求項13】 各ホスト上にすべてのデータが常駐さ
    れた後、常駐状態にあるデータの改変がなされた場合
    に、前記ベースホストのオリジナルデータと、レプリカ
    ホストのレプリカデータとの同一性を確保するためのレ
    プリケーション処理部を設けたことを特徴とする請求項
    11または請求項12に記載の分散処理型データベース
    管理システム。
  14. 【請求項14】 前記データ常駐状態設定部が、予め設
    定されたデータが各ホストに常駐されて各ホストが稼働
    状態にある場合に、前記システム管理レキシコンセット
    のベースホストにおいて、このシステム管理レキシコン
    セットのデータを更新し、この更新されたシステム管理
    レキシコンセットのデータを前記レプリケーション処理
    部より各ホストにレプリケーション送信することを特徴
    とする請求項13に記載の分散処理型データベース管理
    システム。
  15. 【請求項15】 前記データ常駐状態設定部が、予め設
    定されたデータが各ホストに常駐されて各ホストが稼働
    状態にある場合に、前記システム管理レキシコンセット
    のベースホストと異なるホストにおいて、 このホストが所有するシステム管理レキシコンセットの
    データを更新し、この更新されたシステム管理レキシコ
    ンセットのデータを前記レプリケーション処理部よりシ
    ステム管理レキシコンセットのベースホストにレプリケ
    ーション送信し、 前記レプリケーション処理部が、このシステム管理レキ
    シコンセットのベースホストから他のホストに対してレ
    プリケーション送信して、各ホストにおける常駐対象レ
    キシコンセット及びレキシコンに関する情報を一元化す
    ることを特徴とする請求項13に記載の分散処理型デー
    タベース管理システム。
  16. 【請求項16】 ネットワークを介して接続された複数
    のコンピュータの主記憶領域上にそれぞれデータベース
    を配置し、 ある特定のコンピュータに格納されたデータをオリジナ
    ルデータとし、このオリジナルデータを有するコンピュ
    ータをベースホストとすると共に、 ある特定のコンピュータとは異なる他のコンピュータに
    は、前記ベースホストに格納されているオリジナルデー
    タと同一のレプリカデータを格納し、このレプリカデー
    タを格納したコンピュータをレプリカホストとし、 あるホストの起動時において、そのホストが必要とする
    データを主記憶領域に常駐させることにより、このデー
    タに対する処理を可能とした分散処理型データベース管
    理システムの一部を構成するプログラムにおいて、 予め各ホストに常駐させるべきレキシコンセットとレキ
    シコンと、このレキシコンセットのオリジナルが格納さ
    れたベースホストと、レキシコンセットを常駐させるべ
    き各ホストからリトリーブ要求を発信する要求先ホスト
    のリストを各ホスト別に設定するステップと、 前記の設定処理の結果に従い、オリジナルデータが格納
    されたベースホストまたはオリジナルと同一のレプリカ
    データを格納したレプリカホストからそのレプリカデー
    タを前記各ホストに対して送信するステップを有するこ
    とを特徴とするデータ常駐設定プログラム。
  17. 【請求項17】 前記設定ステップが、アクセス対象と
    するレキシコンセット名、そのレキシコンセットを配置
    させる常駐ホスト名、およびそのレキシコンセットを常
    駐させるときに使用するリトリーブホスト名を設定する
    ステップと、 各ホストに配置するレキシコンをそのレキシコンセット
    と共に設定するステップと、 前記の設定内容に従って、各ホストにおいて、あるレキ
    シコンが現在常駐しているか否かの状況を確認するステ
    ップから構成されていることを特徴とする請求項16に
    記載のデータ常駐設定プログラム。
JP2001101738A 2001-03-30 2001-03-30 分散処理型データベース管理システム Expired - Fee Related JP4131781B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001101738A JP4131781B2 (ja) 2001-03-30 2001-03-30 分散処理型データベース管理システム
EP02252292A EP1246064A3 (en) 2001-03-30 2002-03-28 Startup method of a new node in a distributed database management system
US10/109,640 US7143082B2 (en) 2001-03-30 2002-04-01 Distributed-processing database-management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001101738A JP4131781B2 (ja) 2001-03-30 2001-03-30 分散処理型データベース管理システム

Publications (2)

Publication Number Publication Date
JP2002297432A true JP2002297432A (ja) 2002-10-11
JP4131781B2 JP4131781B2 (ja) 2008-08-13

Family

ID=18955012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001101738A Expired - Fee Related JP4131781B2 (ja) 2001-03-30 2001-03-30 分散処理型データベース管理システム

Country Status (3)

Country Link
US (1) US7143082B2 (ja)
EP (1) EP1246064A3 (ja)
JP (1) JP4131781B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004066152A1 (ja) * 2003-01-21 2004-08-05 Quest Co., Ltd. 分散型データベースシステム
WO2013031286A1 (ja) * 2011-09-02 2013-03-07 株式会社日立製作所 データ共有装置およびデータ共有方法
WO2013046352A1 (ja) * 2011-09-28 2013-04-04 株式会社日立製作所 計算機システム、データ管理方法及びデータ管理プログラム
JP2014524078A (ja) * 2011-06-23 2014-09-18 シンプリヴィティ・コーポレーション 分散構成管理のための方法および装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050267920A1 (en) * 2004-05-13 2005-12-01 Fabrice Helliker System and method for archiving data in a clustered environment
WO2008042907A2 (en) * 2006-10-02 2008-04-10 Presenceid, Inc. Systems and methods for managing identities in a database system
US20080209260A1 (en) * 2007-02-27 2008-08-28 Venkateswara Rao Vykunta Apparatus and method for synchronizing embedded databases of applications in a failover cluster
JP2011198109A (ja) * 2010-03-19 2011-10-06 Hitachi Ltd Id管理方法、id管理システム、およびid管理プログラム
US20210303164A1 (en) * 2020-03-25 2021-09-30 Pure Storage, Inc. Managing host mappings for replication endpoints

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US221320A (en) * 1879-11-04 James m
US221394A (en) * 1879-11-11 Improvement in refrigerators
US221392A (en) * 1879-11-11 Improvement in lathe attachments for turning lathe-centers
US221393A (en) * 1879-11-11 Improvement in corsets
KR100204027B1 (ko) * 1996-02-16 1999-06-15 정선종 이중면 비휘발성 메모리를 이용한 데이타베이스 회복 장치 및 그 방법
US5832514A (en) * 1996-06-26 1998-11-03 Microsoft Corporation System and method for discovery based data recovery in a store and forward replication process
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US6532491B1 (en) * 1997-03-24 2003-03-11 Novell, Inc. Processes and apparatuses for managing network devices
US6012059A (en) * 1997-08-21 2000-01-04 Dataxel Corporation Method and apparatus for replicated transaction consistency
US6018746A (en) * 1997-12-23 2000-01-25 Unisys Corporation System and method for managing recovery information in a transaction processing system
US6243825B1 (en) * 1998-04-17 2001-06-05 Microsoft Corporation Method and system for transparently failing over a computer name in a server cluster
WO1999063441A1 (en) * 1998-06-05 1999-12-09 Mylex Corporation Snapshot backup strategy
US6393485B1 (en) * 1998-10-27 2002-05-21 International Business Machines Corporation Method and apparatus for managing clustered computer systems
US6349306B1 (en) * 1998-10-30 2002-02-19 Aprisma Management Technologies, Inc. Method and apparatus for configuration management in communications networks
JP2000163344A (ja) * 1998-11-27 2000-06-16 Nec Corp ネットワーク管理システムのデータベース復旧方式
US6671704B1 (en) * 1999-03-11 2003-12-30 Hewlett-Packard Development Company, L.P. Method and apparatus for handling failures of resource managers in a clustered environment
US7627694B2 (en) * 2000-03-16 2009-12-01 Silicon Graphics, Inc. Maintaining process group membership for node clusters in high availability computing systems
US6795830B1 (en) * 2000-09-08 2004-09-21 Oracle International Corporation Techniques for providing off-host storage for a database application
US6691245B1 (en) * 2000-10-10 2004-02-10 Lsi Logic Corporation Data storage with host-initiated synchronization and fail-over of remote mirror
US6898609B2 (en) * 2002-05-10 2005-05-24 Douglas W. Kerwin Database scattering system

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004066152A1 (ja) * 2003-01-21 2004-08-05 Quest Co., Ltd. 分散型データベースシステム
JP2014524078A (ja) * 2011-06-23 2014-09-18 シンプリヴィティ・コーポレーション 分散構成管理のための方法および装置
US9436748B2 (en) 2011-06-23 2016-09-06 Simplivity Corporation Method and apparatus for distributed configuration management
US10255340B2 (en) 2011-06-23 2019-04-09 Hewlett Packard Enterprise Development Lp Method and apparatus for distributed configuration management
WO2013031286A1 (ja) * 2011-09-02 2013-03-07 株式会社日立製作所 データ共有装置およびデータ共有方法
WO2013046352A1 (ja) * 2011-09-28 2013-04-04 株式会社日立製作所 計算機システム、データ管理方法及びデータ管理プログラム
JP5548829B2 (ja) * 2011-09-28 2014-07-16 株式会社日立製作所 計算機システム、データ管理方法及びデータ管理プログラム
US9367261B2 (en) 2011-09-28 2016-06-14 Hitachi, Ltd. Computer system, data management method and data management program

Also Published As

Publication number Publication date
US7143082B2 (en) 2006-11-28
US20020184198A1 (en) 2002-12-05
EP1246064A2 (en) 2002-10-02
EP1246064A3 (en) 2005-03-23
JP4131781B2 (ja) 2008-08-13

Similar Documents

Publication Publication Date Title
US5751962A (en) Object-based systems management of computer networks
US7240116B2 (en) Dynamic RDF groups
US8224860B2 (en) Database management system
US7325041B2 (en) File distribution system in which partial files are arranged according to various allocation rules associated with a plurality of file types
US6711559B1 (en) Distributed processing system, apparatus for operating shared file system and computer readable medium
JP3526474B2 (ja) ネットワークにおける配布情報管理システム
US20070112812A1 (en) System and method for writing data to a directory
CN109684282B (zh) 一种构建元数据缓存的方法及装置
JPH09244940A (ja) 分散計算機資源の管理方法
US7440971B2 (en) Context based access of files by file system to a client based on detection of related files opened by the client
US8572201B2 (en) System and method for providing a directory service network
JP3592016B2 (ja) リモートプロシジャコール処理方法
US20150160949A1 (en) Bootstrapping server using configuration file stored in server-managed storage
US7228352B1 (en) Data access management system in distributed processing system
JP4131781B2 (ja) 分散処理型データベース管理システム
JPH11282686A (ja) ネットワークコンピュータシステム
JP4131780B2 (ja) 分散トランザクション処理システム、分散トランザクション処理方法及び分散トランザクション処理プログラム
KR20210082481A (ko) 데이터베이스 관리 서비스 제공 시스템
JP4129353B2 (ja) 分散データ管理システム、分散データ管理方法及び分散データ管理プログラム
US20070106691A1 (en) System and method for efficient directory performance using non-persistent storage
JP4050479B2 (ja) トランザクション処理型データベースシステム
JP2002297593A (ja) ベースホスト切替型データベース管理システム
JP4343056B2 (ja) ストレージ装置割当て方法ならびにそのための管理サーバおよびプログラム
JP2000215179A (ja) オブジェクト名前管理方式
JPH09171480A (ja) 情報記憶システムを備えるネットワークシステム、該システムの入力システムならびに自動運用システム、および該ネットワークシステムの自動運用方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071105

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: 20080520

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080528

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130606

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees