JPH09508734A - 分散形データベースシステム - Google Patents

分散形データベースシステム

Info

Publication number
JPH09508734A
JPH09508734A JP7521151A JP52115195A JPH09508734A JP H09508734 A JPH09508734 A JP H09508734A JP 7521151 A JP7521151 A JP 7521151A JP 52115195 A JP52115195 A JP 52115195A JP H09508734 A JPH09508734 A JP H09508734A
Authority
JP
Japan
Prior art keywords
entity
data
distributed
processor
information
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.)
Pending
Application number
JP7521151A
Other languages
English (en)
Inventor
ミカエル サミュエルソン,ボ
ブヨルネルステドト,アンデルス
Original Assignee
テレフオンアクチーボラゲツト エル エム エリクソン
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 テレフオンアクチーボラゲツト エル エム エリクソン filed Critical テレフオンアクチーボラゲツト エル エム エリクソン
Publication of JPH09508734A publication Critical patent/JPH09508734A/ja
Pending 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

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)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

(57)【要約】 分散形データベースシステムにおいて、データベースの種々の部分は、多数の相互接続されたプロセッサ(54、74)のそれぞれによって取り扱われる。これら種々のデータベース部分は多数のデータエンティティ(58、66、66’、95)を含み、このようなデータエンティティのそれぞれに対して、データエンティティが存在するプロセッサに関する大域情報(82)と、自己のプロセッサでのデータエンティティの位置に関する局部情報(79、80、84)とが設けられる。大域情報(82)は、前もって定められたデータエンティティの組のそれぞれ1つに対して共通でかつ特有な大域情報の形でシステムの各プロセッサに位置付けされる。より詳細には、データエンティティの上記組は分散エンティティからなり、各分散エンティティはある1つのプロセッサに位置付けられたある形式のデータエンティティの多数のインスタンスに関連する情報とこのプロセッサへのアドレスを見い出すことができる情報とを含んでいる。

Description

【発明の詳細な説明】 分散形データベースシステム 技術分野 本発明は、一般的に、データベースの種々の部分が多数の相互接続されたプロ セッサそれぞれ1つによって取り扱われ、これら種々のデータベース部分が多数 のデータエンティティを含むような分散形データベースシステムに関する。 より詳細には、本発明は、これに関連して、どのようにしてデータエンティテ ィがデータベースシステムにおいてアドレスされかつ分散されるかを意味するデ ータベース分散に関する。 ここで、データエンティティとは、例えばオブジェクト指向システムにおいて タイプ(型)オブジェクトのエンティティを意味する。 当該技術の現状 オブジェクト指向分散形データベースシステムにおいては、含まれたプロセッ サのそれぞれは自己のデータベース部分だけでなく、他のプロセッサのデータベ ース部分のオブジェクトをアクセスする必要性を持ってもよい。従って、各オブ ジェクトに対して、サブネットワークおよびオブジェクトが存在するプロセッサ に関する情報、所望のサービスを行う、例えばオブジェクトを得るといった他の プロセッサにおけるエージェントについての情報、および問題のオブジェクトが 実際プロセッサのメモリ位置のどこに置かれるかについての情報がある。この情 報の全てをプロセッサの全てで利用できるようにするならば、極めて大きなアド レステーブルが必要となり、またオブジェクトが作られ、取り除かれあるいは移 動される時には、全体のデータベースシステムにわたってオブジェクトのアドレ スを大量に更新する必要性が生じる。 ヨーロッパ特許第405,829号は、ソフトウェアがオブジェクトの形の独 立したソフトウェア要素によって構成された通信システムに関連する。「ランタ イムシステム」の機能「ランタイムリンカ(linker)」はオブジェクトを 記録し、オブジェクトのデータにデータポインタを記憶する。他のオブジェクト と通信を行うために、ソースオブジェクトはメッセージをランタイムシステムに 発送する。このメッセージは宛先オブジェクトの手順の名前および識別を含んで いる。 ランタイムシステムは、単に1つのプロセッサあるいは一群のオブジェクトに 対して動作し、宛先オブジェクトがランタイムシステムで動作する一群のオブジ ェクトに属するならば、手順の識別およびデータポインタによって宛先オブジェ クトを呼び出す。宛先オブジェクトが他のプロセッサに置かれている場合には、 ランタイムシステムは他のプロセッサにメッセージを送出する。それぞれの受信 側プロセッサにおいて、ランタイムシステムはメッセージの宛先オブジェクトの 記号名に対するその「リンカテーブル」をサーチし、これが見つかれば、メッセ ージの手順識別およびランタイムリンカのデータポイント情報に基づいて宛先オ ブジェクトを呼び出す。プロセッサ間メッセージはソースプロセッサ宛先を含み 、各プロセッサのランタイムシステムは、プロセッサ間メッセージを受けた時に 、ソースプロセッサの名前とソースオブジェクトの記号名を記憶する。 「エイリアステーブル」は登録されたローカルプロセッサの全ての「エイリア ス名」を含んでいる。エイリアステーブルに名前がリストされていなければ、宛 先オブジェクトがリンカテーブルにあるかどうかの調査がなされる。否定の回答 であれば、宛先テーブルの調査がなされ、宛先プロセッサの名前が知られたら、 その宛先プロセッサにメッセージが送られる。 米国特許第4,901,231号には、複数のプロセッサにわたって実行され るマイクロプロセッサシステムが記載されている。1つのプロセッサのユーザプ ロセスは他のプロセッサのシステムリソースをアクセスできる。ユーザプロセス が局部ファイルをアクセスする時に、抽象的にはユーザファイルテーブルによっ てアクセスが行われる。ユーザプロセスが遠隔ファイルをアクセスする時には、 ポートテーブルを介して、そのポートテーブルによって部分プロセスに識別され る仮想チャンネルにわたって、次いで部分プロセスのユーザファイルシステムお よびシステムファイルテーブルを介して、アクセスが行われる。 米国特許第5,187,790号は、少なくとも1つのサーバープロセスと複 数のクライアントプロセスとを含み、複数の同時に走るプロセスを有するコンピ ュータシステムに関している。各プロセスは、オブジェクトアクセス権を表す識 別リストを有している。各オブジェクトは、そのオブジェクトをアクセスできる プロセッサを決定するために使用されるような識別を備えたアクセスチェックリ ストを具備する。 発明の概要 本発明の一般的な目的は、記憶され、維持されかつ分配される少量のアドレス 情報で働くことができる、本明細書の導入部で定めた種類のシステムを提供する ことである。 本発明の他の目的は、アプリケーション(すなわち、データベースへのプログ ラムの書込みおよび読出し)ならびにデータベースにおいて、単純なマニュアル の構成を可能とし、かつデータエンティティの作成の場合にどのプロセッサに属 するかについてのステートメントが不用であるすなわちそれが予め定められてい る、本明細書の導入部で定めた種類のシステムを提供することである。 本発明の更に他の目的は、融通性のある分散および冗長的な切換えを可能とし 、かつサービスメンテナンスおよび可用性を保証する、すなわち冗長的な切換え の際に更新されなければならないアドレス情報を多く持つ必要がない、本明細書 の導入部で定めた種類のシステムを提供することである。 本発明の第1の特徴によれば、これらの目的は、データベースの種々の部分が 多数の相互接続されたプロセッサのそれぞれ1つで取り扱われるような分散形デ ータベースシステムにおいて達成される。これら種々のデータベース部分は多数 のデータエンティティを含んでいる。このようなデータエンティティのそれぞれ に対して、そのデータエンティティがどのプロセッサに存在するかについての大 域情報、およびそのデータエンティティが自己のプロセッサのどこに存在するか についての局部情報が設けられる。大域情報は、データエンティティの予め定め た組のそれぞれに対して共通でかつ特有である大域情報の形でシステムの各プロ セッサに存在する。 好適実施例によれば、上記組のデータエンティティは、分散エンティティから なり、このそれぞれは、ある1つのプロセッサに存在する特定の形式のデータエ ンティティの多数のインスタンスに関する情報、およびそのプロセッサが見い出 されることができるようにするアドレスの情報を含んでいる。 データエンティティは、キー値あるいはデータエンティティ識別のいずれかに よってアドレスされることができ、上記データエンティティ識別はデータエンテ ィティが属する分散エンティティに関する情報、およびデータエンティティを識 別する情報を含んでいる。 データエンティティ識別は局部および大域データエンティティ識別を含むこと ができ、これらはそれぞれ2つの情報フィールドを有している。局部識別に対し て、これらフィールドの1つは自己のプロセッサを識別し、他のフィールドはデ ータエンティティを識別する。大域識別に対して、フィールドの1つは分散エン ティティを識別し、他のフィールドはデータエンティティを識別する。 局部情報は少なくとも3つのテーブルに含まれることができる。これらテーブ ルの第1のものは局部データエンティティ識別を含み、第2のものは大域データ エンティティ識別を含み、少なくとも第3のものはキー値を含む。大域情報は、 分散エンティティ番号および各このような分散エンティティ番号に対して他のプ ロセッサに対するポインタを含む第4のテーブルに含まれる。 第2の特徴によれば、本発明の上述の目的は、分散形データベースシステムに おいて、特定のクラスに属するデータエンティティを、そのデータエンティティ に対して特異であるキー値および問題のクラスに対する識別番号によってアドレ スする方法で達成される。上記データベースシステムにおいて、データベースの 種々の部分は多数の相互接続されたプロセッサのそれぞれ1つによって取り扱わ れる。これら種々のデータベース部分は上述した種類の多数のデータエンティテ ィを含んでおり、各このようなデータエンティティに対して、そのデータエンテ ィティがどのプロセッサに存在するかについての大域情報と、そのデータエンテ ィティが自己のプロセッサのどこに存在するかについての局部情報とが設けられ る。データエンティティのためのサーチはキー値によって自己のプロセッサで開 始する。データエンティティがこの同じプロセッサに存在しないということをこ のサーチが指示したら、この方法は次のようなステップを実行する。ある1つの プロセッサに存在するアクセスされるべきデータエンティティのクラスの多数の インスタンスに関する情報およびこのプロセッサに関するアドレス情報を識別す る論理的分散エンティティ番号が作られる。データエンティティのクラスに関す る情報とこの論理的分散エンティティ番号とを結合することによって対応する物 理的分散エンティティ番号が作られる。サーチされるデータエンティティが存在 するデータベースのプロセッサは、この物理的分散エンティティ番号によって識 別される。メッセージがサーチされるデータエンティティに関する情報を含んだ 問題のプロセッサに送られ、このサーチされるデータエンティティは見い出され たプロセッサのキー値によって局部サーチを行うことによりサーチされる。見い 出されたデータエンティティのコピーがアクセスを要求したプロセッサに戻され る。 第3の特徴によれば、上述した目的は、本発明に従って、分散形データベース システムにおいて、データエンティティの特定のクラスに属するデータエンティ ティをアドレスする方法により達成される。上記データベースシステムにおいて 、データベースの種々の部分は多数の相互接続されたプロセッサのそれぞれ1つ によって取り扱われる。種々のデータベース部分は上述した種類の多数のデータ エンティティを含んでおり、各このようなデータエンティティに対して、そのデ ータエンティティがどのプロセッサに存在するかについての大域情報と、そのデ ータエンティティが自己のプロセッサのどこに存在するかについての局部情報と が設けられる。自己のプロセッサに存在するデータエンティティのクラスの多数 のインスタンスに関する第1の部分情報を含んだ分散エンティティに関する情報 とそのデータエンティティを識別する情報とを含む局部データエンティティ識別 が作られる。この局部データエンティティによってどこにデータエンティティが あるかを見い出すことを試みるために、局部プロセッサのサーチが最初に開始さ れる。データエンティティが自己のプロセッサに存在しないということをこのサ ーチが指示したら、この方法は次のようなステップを実行する。局部データエン ティティ識別は分散エンティティに関する第1の情報を含んだ大域データエンテ ィティ識別に変換される。この時に、これは、ある1つのプロセッサに存在しか つデータエンティティが属する特定のクラスのデータエンティティの多数のイン ス タンスに関する情報と、そのプロセッサへのアドレスに関する情報とを含む。大 域データエンティティ識別は、また、データエンティティを識別する第2の情報 を含んでいる。大域データエンティティ識別に含まれた分散エンティティによっ て、サーチされるデータエンティティが存在するプロセッサに対するサーチが行 われる。メッセージが大域データエンティティ識別を含んだ問題のプロセッサに 送られ、この大域データエンティティ識別によって、見い出されたプロセッサで のサーチが行われる。見い出されたデータエンティティ識別のコピーがアクセス を開始したプロセッサに戻される。 第4の特徴によれば、上述した目的は、本発明に従って、データベースの種々 の部分が多数の相互接続されたプロセッサのそれぞれによって取り扱われるよう な分散形データベースシステムにおける分散エンティティによって達成される。 上記種々のデータベース部分は多数のデータエンティティを含んでいる。上記分 散エンティティはある1つのプロセッサに存在する特定の形式のデータエンティ ティの多数のインスタンスに関する情報と、このプロセッサに関するアドレス情 報とを含んでいる。 第5の特徴によれば、上述した目的は、本発明に従って、データベースの種々 の部分が多数の相互接続されたプロセッサのそれぞれによって取り扱われるよう な分散形データベースシステムにおける分散エンティティによって達成される。 上記種々のデータベース部分は多数のデータエンティティを含んでいる。上記分 散エンティティは予め定めた組のデータエンティティに共通でかつ特有な情報を 含んでいる。 第4および第5の特徴による分散エンティティは、この分散エンティティに関 する情報とデータエンティティを識別する情報とを含んだデータエンティティ識 別の一部を形成することができる。 第6の特徴によれば、本発明は、データベースの種々の部分が多数の相互接続 されたプロセッサのそれぞれによって取り扱われるような分散形データベースに おけるデータエンティティのための識別エンティティに関する。種々のデータベ ース部分は多数のデータエンティティを含んでいる。上記識別エンティティは、 ある1つのプロセッサに存在しかつデータエンティティが属する特定の形式のデ ータエンティティの多数のインスタンスに関する情報とそのプロセッサへのアド レスに関する情報とを含んだ分散エンティティに関する第1の情報を含んでいる 。更に、識別エンティティはデータエンティティを識別する第2の情報をも含ん でいる。 図面の簡単な説明 本発明およびその種々の実施例は、ここで、以下についての添付図面に関連し てより詳細に記載される。 第1図は分散形データベースシステムを図式的に示す。 第2図は第1図に示された種類の従来のシステムのアドレス指定の原理を示す ように意図される。 第3図は第1図に示された種類のデータベースシステムにおいて本発明による 一般的なアドレス指定の原理を示すように意図される。 第4図および第5図は、サーチされるオブジェクトが同じプロセッサあるいは 他のプロセッサにそれぞれ存在する場合の、本発明によるアドレス指定を図式的 に示す。 第6図a−cは第4および5図にそれぞれ示されたプロセスに係わるオブジェ クトエンティティの内容を示す。 第7図は第4および5図によるプロセスに関連して使用されるアドレス指定テ ーブルを示す。 第8図は、種々のプロセッサへの分散エンティティのシーケンスの割当てを特 定するファイルを示す。 第9図は各オブジェクトクラスに対する分散エンティティの分散を記述してい るファイルを示す。 第10図は第8および9図の情報によって幾つかのプロセッサに分散エンティ ティをロードするための原理を示す。 第11図は、アクセスされるプロセスとしてオブジェクトが同じプロセッサに 局部的に存在しない場合の、キーによるオブジェクトのアクセスを示す。 第12図は分散エンティティの物理的識別の図である。 第13図は分散エンティティの番号のネットワークアドレスへの移行に関連し て使用されかつそれを表すテーブルを図式的に示す。 第14図は他のプロセッサのマスタオブジェクトに向けられかつこのマスタオ ブジェクトのコピーオブジェクトを自己のプロセッサに透明的に転送することを 目的とする2つの場合のサーチプロセスを示す。 第15図は第14図による場合の1つにおいてサーチプロセスを示すために使 用される図式的に表したテーブルである。 第16図は第14図によるサーチプロセスがマスタオブジェクトの検出を行っ た後のコピーオブジェクトの伝達を示す。 第17図は第11−16図に関連して記載されたサーチプロセスの場合の1つ を要約する流れ図である。 第18図は第11−16図に関連して記載されるサーチプロセスの第2の場合 を要約する流れ図である。 好適実施例 第1図には、分散形データベースシステムが図式的に示されており、これはオ ブジェクト指向となるように、すなわちそのデータがオブジェクトとして編成さ れているものとして想定されている。これに関して、オブジェクトは、直接的に あるいはそのオブジェクトの手順を呼び出すことによって読み出されることがで きる、互いに保持される量のデータである。これに関連して以下で使用される概 念は、オブジェクトのクラスあるいは形式、属性およびインスタンスである。オ ブジェクトのクラスの例は、電話予約の情報を表すオブジェクトであってもよい 。このオブジェクトは、この際に、電話番号およびライン回線数のような属性を 含んでもよい。オブジェクトのインスタンスは種々の予約を形成する。 当該システムはそれぞれ2、4および6で表された3つのサブネットワークを 含んでいる。これらサブネットワーク2、4および6は4個、6個および8個の プロセッサをそれぞれ含み、各サブネットワークのプロセッサの1つをそれぞれ 8、10および12で表す。各サブネットワークのプロセッサは、それぞれのサ ブネットワーク2、4および6に対してそれぞれ14、16および18で示した リンクによって相互接続されている。サブネットワーク2、4および6はリンク 20および22によって相互接続されている。 当該分散形データベースシステムに含まれた各プロセッサは、全体のデータベ ースのそれぞれの付属の部分(第1図には示されていない)に、他のプロセッサ からアクセスされる必要があってもよい多数のオブジェクトを含むことができる 。各オブジェクトに関連して、その外に、サブネットワークおよびオブジェクト を具備したプロセッサに関連した部分情報、所望のサービスを行う他のプロセッ サのエージェントに関する部分情報、問題のオブジェクトが実際にそのプロセッ サのメモリに存在している場所に関する部分情報が通常の態様で設けられている 。他のプロセッサのエージェントに関する上述の部分情報は、ある場合に、以後 「通信プロセス」と呼ぶことにする。この場合に注目され得るサービスは、以下 により綿密に記載するように、そのプロセッサのメモリのオブジェクトを得て、 自己のプロセッサと他のプロセッサとの間の通信を取り扱うことである。 これら部分情報からなる全体の情報が全てのプロセッサで利用可能となるよう にしたら、極めて大きなアドレステーブルを導入しなければならず、全体のデー タベースシステムにわたってオブジェクトのアドレスを大量に更新する必要性が 生じることになる。これは、データベースシステムの一部、すなわちサブネット ワーク2を示す第2図で表されている。4つのプロセッサ8のそれぞれは、全て のプロセッサに対して同一であるアドレステーブル24を含むものとして図式的 に表されている。各アドレステーブル24は、自己のプロセッサおよびデータベ ースシステムに含まれた全ての他のプロセッサの全てのオブジェクトに対するポ インタを有する。これは、オブジェクト28に照準を合わせている矢印26によ って示されている。明確化の目的のため、このような矢印は図の右側のプロセッ サに対しては省略されている。新たなオブジェクトが作られる各時間で、そのア ドレスは、全ての他のプロセッサに分散されなければならず、あるいは別態様と して、中央カタログ(それからアドレス情報をアクセス時に得ることができる) に記憶されなければならない。これはオブジェクトの分散に関して大きな融通性 を与えるが、極めて大きなアドレステーブルを必要とする。 第2図は、また、アドレステーブル24の1つに向けて照準を合わせた矢印3 0をも示しており、データベースシステムに含まれた任意のオブジェクトにアク セスすることになるように意図した問題のテーブルのキー値を識別するオブジェ クトの導入を指示するようになっている。 簡単にいえば、本発明は、抽象的にどのプロセッサにオブジェクトが存在して いるかを指示する大域情報が極めて多数のオブジェクトにとって共通であるとい う考えに基づいている。以下により詳細に記載するように、この大域情報は全て のプロセッサにとって同一である。明確化の目的のため、それはアドレステーブ ルの形で第3図に示されている(それは32でプロセッサの1つに対してのみ示 されている)。 大域情報32は、あるオブジェクトのクラスの多数のインスタンスに関する情 報をそれぞれが含んだ多数の分散エンティティに関する情報を含んでいる。 第3図には、これらの分散エンティティの幾つかが34で示されている。各こ のような分散エンティティ34に対して、それはまたプロセッサが属するテーブ ル32に記述されている。第2図に関連して記載したキー値は、ある分散エンテ ィティ34に対応するインデックスに36で変換される。従って、テーブル32 は、各分散エンティティ34に対して、当該分散エンティティが属するあるプロ セッサに照準が合わせられるアドレスポインタを含んでいる。多数のこのような アドレスポインタは第3図にそれぞれ38、40、42および44で示されてい る。より詳細には、これらポインタは、各プロセッサの別のテーブル46の方向 を向いており、そのテーブル46からは別のアドレスポインタ48が対応するサ ブデータベースの分散エンティティ34に存在するオブジェクトに向けて照準を 合わせている。これらオブジェクトの幾つかはポイント50として表される。 本発明によるアドレス指定の原理の実施例は、後続の図面に関連して次により 詳細に説明される。 アプリケーションのレベルから理解されるように、データベースオブジェクト のレコードは、2つの態様で、すなわちキーによってあるいはデータオブジェク トの識別によってアドレスされることができる。 第4図で、ユーザプロセスは52で示され、プロセッサは54で示されている 。プロセス52はキー値によってアクセスし、オブジェクト58の属性56はプ ロ セッサ54のメモリに含まれている。矢印60によって示されたアクセスはユー ザプロセス52の目的のために作られたエージェントオブジェクト62の手順に よって行われる。これに応じて、オブジェクト58は矢印64で属性56に記憶 されている局部オブジェクト識別を戻し、プロセッサ54のメモリの他のオブジ ェクト66に参照させる。この参照は矢印68によって表される。ここで、プロ セス22は局部オブジェクト識別によってオブジェクト66を開き、オブジェク ト66の属性を矢印77で読むことができるようにする手順を含んだ第2のエー ジェントオブジェクト70を作る。従って、第4図において、オブジェクト識別 は同じプロセッサのオブジェクトをアドレスするために使用される。 第4図でオブジェクト66に達するオブジェクト58の迂回は、オブジェクト 66へのオブジェクト58における参照がサーチされなければならず、これは単 に一例にしか過ぎないということが最初から知られていることを前提としている 。オブジェクト指向データベースにおいて、データは、一般的に、アクセス指定 がデータベースにおいて「航行する」ことを必要とする、つまりオブジェクトか らオブジェクトへ参照を追従することを必要とする。 第5図の状況は、アドレスされるべきオブジェクトが他のプロセッサ74に存 在する(この場合、そのオブジェクトは66’で示されている)点で、第4図の ものとは異っている。この場合に、プロセッサ54のメモリにはオブジェクト6 6’のコピー66’’が作られ、ユーザプロセス52はエージェントオブジェク ト70によってコピー66’’の属性を矢印72’で示されるようにアクセスす る。これは次に続けてより詳細に記載される。 上述のことから明かとなるように、オブジェクト識別はオブジェクトを局部的 にあるいは他のプロセッサにおいてアドレスするためのアプリケーションによっ て使用されてもよい。オブジェクトが第5図のように自己のプロセッサに局部的 に存在しなければ、他のプロセッサに分散されるアクセスはそのアプリケーショ ンのため透明的に、いわゆる隠し分散で処理される。この時に、オブジェクトは 、理想的には、データベースの分散ロジックによって大域オブジェクト識別に変 換される。しかしながら、このオブジェクト識別は、アプリケーションによって は、その自己の分散プロトコル、いわゆる開放分散に使用されることもできるが 、そ の際に、アプリケーションによっては、外部の使用のため、特に大域オブジェク ト識別に最初に変換される。 第6a図を参照して、上述した種類のオブジェクト識別は例えばそれぞれが3 2ビットの2つのフィールドを含んでもよい。最初のフィールドはそのオブジェ クトが属する分散エンティティを識別し、他のフィールドはそのオブジェクトを 識別する連続番号を表す。分散エンティティの識別はデータベースシステムの外 部の支援システムによって発生され、連続番号は、アプリケーションシステムに おけるオブジェクトのインスタンスに、つまりデータベースへのプログラムの読 出しおよび書込みに割り当てられる。オブジェクトの外部的に可視的な名前と分 散エンティティとの間の関係は設計の段階で決定され、この場合アプリケーショ ンシステムの寿命の間では変わらない。 第4図による例において、オブジェクト識別は、第1のフィールドにおいて、 オブジェクトすなわち66が自己のプロセッサに存在することを識別する値、例 えば0を有し、従って、このために命名された「局部オブジェクト識別」が使用 される(第6b図参照)。第5図による場合、および第6c図を参照し、このオ ブジェクト識別は上述のように大域オブジェクト識別に変換される。以下により 詳細に記載されるように、これは、オブジェクト識別の第1のフィールドに、オ ブジェクトが属するプロセッサを見い出すために使用されてもよい分散エンティ ティを与えることによって行われる。 第7図を参照し、かつ第3−5図に関連して上述したものを参照し、各プロセ ッサはそれぞれ4つのテーブル79、80、82および84を含んでいる。 テーブル79はキー値を識別するオブジェクトのためのテーブルである。テー ブル79は、第4図による場合に、現在のキー値に関連してそのテーブルに位置 しているポインタによってオブジェクト58を見い出すためプロセッサ52によ って使用される。図示されてはいないが、実際上、各プロセッサの各キー操作さ れるオブジェクトのクラスに対してこのようなキーテーブル79であってもよい 。 テーブル80は、同一のプロセッサ(これから、「自己のプロセッサ」と呼ぶ )のオブジェクトに向ける局部オブジェクト識別を含んでいる。第4図による場 合において、データベース処理器は第1のフィールドのゼロを見て、オブジェク ト 66を見つけるようにテーブル80に入る。 テーブル82は2つのカラム86および88を含んでおり、この第1のカラム 86は分散エンティティ数のためのものであり、第2のカラム88は、一般的に 、他のプロセッサすなわち論理的にはこの他のプロセッサのデータベース処理器 に指向する。この例において、第2のカラムは、スウェーデン特許出願第930 0431−5号に対応する米国特許出願第08/193,844号に記載された 種類の通信ポート(これは第2のプロセッサのアクティビティ手続に関連してい る)に指向するように想定している。この米国特許出願第08/193,844 号は参照のためここの組み込まれる。特に、要約して述べれば、上記米国特許出 願による通信ポート(以下、簡略化のため単にポートと呼ぶ)は、オペレーティ ングシステムの通信機構に属するある形式のリソースを意味するように意図され ており、アクティビティはこれとの接続を達成するように使用される。アクティ ビティの概念は、同米国特許出願第08/193,844号において、オペレー ティングシステムで作られるジョブのチェインを、独立した外部あるいは内部事 象にチェインがその実行時に使用するリソースの和をプラスしたものの結果とし て定めるように使用される。更に、問題の米国特許出願において、ジョブはある プロセスに向けられる現象を更に意味し、そのプロセスが持つオブジェクトの手 順が実行されるようにし、その点に関して、ジョブは他のプロセスあるいは自己 のプロセスに向けられる新たなジョブを作ることができる。 第3図のテーブル46に対応するテーブル84は2つのカラム84’および8 4’’を含んでおり、その第1のものは大域オブジェクト識別のためのもので、 他のものはプロセッサのメモリの対応するオブジェクトへのポインタのためのも のである。 第5図による場合についての以下の記載において、概念「ポート」は、明瞭化 の目的のため、上記の説明による関連した概念「プロセッサ」あるいは「データ ベース処理器」によって置き換えられる。 第5図による場合において、自己のプロセッサ54のデータベース処理器は、 一般的に、このプロセッサのテーブル82に入り、矢印89に従ってプロセッサ 74を見い出す。メッセージは他のプロセッサ74のデータベース処理器に送ら れ、このメッセージは、抽象的には、オブジェクトがキーあるいは大域オブジェ クト識別によってサーチされなければならないかどうかを指示するインジケータ を含んでいる。第5図で仮定される大域オブジェクト識別が既知であるならば、 プロセッサ74のデータベース処理器は、その大域オブジェクト識別と共にプロ セッサ74のテーブル84での大域オブジェクト識別のためのカラム84’を入 力することによって矢印90に従ってサーチプロセスを続ける。テーブル84で の見い出された大域オブジェクト識別と同じ行ではあるが、他のカラム84’’ で、オブジェクト66’へのポインタが矢印92に従って見い出される。 別態様として、大域オブジェクト識別がない場合のように、キーによってサー チが行われなければならないことを上記インジケータが指示するならば、プロセ ッサ74のデータベース処理器が、矢印94に従って、サーチプロセスをプロセ ッサ74のテーブル79に向ける。サーチされるオブジェクト93のキー値によ って、このオブジェクトのアドレスは矢印95に従ってそこで見い出される。 第5図による場合において、同じ分散エンティティに属するプロセッサ74の メモリに更にオブジェクトが存在すべきであるならば、すなわち同じ番号ではあ るが異った連続番号の分散エンティティを持ったオブジェクトが存在すべきであ るならば、プロセスはプロセッサ74に転送される。 次に、第8−18図に関連して、同様テーブル79、80、82、84の使用 がより詳細に示されている2つの実用的な実施例が記載される。 以下のオブジェクトのクラスの記載で、オブジェクトのクラスを記載するため に使用される言語、例えば雑誌Tele、4/93号のゲーテ・アンデルセン( Gote Andersson)による「ソフトウェアの開発」と題する論文に 述べられているDELOSで永久的なオブジェクトのクラスが特定される。より 詳細には、2つの属性(その1つは主キー、すなわち分散属性である)を含んだ クラス加入者のオブジェクトについての提案がある。 オブジェクトの形式 加入者IS 永久特性 主キー subscrNum; −−MDP−シーケンス0..論理MDPハイ 属性 subscrNum:加入者番号; iAge:整数 END; 形式 加入者番号 ISストリング(ISO8859) END; この表示において、最初の行はオブジェクトの形式、すなわち加入者を定める 。次の行は記憶の特性を表す。その後は、属性主キーすなわちsubscrNu mの名前のステートメントが続く。 定義−−MDP−シーケンス0..論理MDPハイにおいて、MDP(マスタ データパーティション)は分散エンティティを表す。この定義は、オブジェクト のクラスの最大分散率すなわち問題のオブジェクトのクラスの分散エンティティ の最大数に関する情報である。問題のこの情報は、以下により詳細に記載される コンフィギュレーションステップへの入力データを発生するため、および同様以 下に詳細に記載するように、機能keyToMDPが宣言した範囲から出た値に 戻らないことをシステムがランタイムでチェックすることができるようにするた めに使用される。 上述した表示の「属性」の下の最初の行で、subscrNumは形式、加入 者番号のものであり、第2の行で、名前iAgeを持ったsubscrNumに おける手順は形式、整数のものである。両者の場合に、予め定めた形式といった 提案が存在する。 上述した表記の最後の行において、「ISストリング」で属性形式加入者番号 の特性、すなわち属性がディジットのストリングで表されることがより明確に定 義される。 上述したオブジェクトのクラスの記載、ならびにオブジェクトのクラスに関連 した以下の同様な手順の記載から、特定のデータ定義言語において、この言語の ためのコンパイラによってコードが発生される。以下の記載ならびに上述の記載 は、一例として、本発明によるアドレス方法を用いる場合にデータアクセスを達 成するためのスウェーデン特許出願第9302175−6号に対応する米国特許 出願第08/264,059号に記載されている種類のエージェントオブジェク トの使用に基づいている。この米国特許出願第08/264,059号はこの明 細書に参照として組み込まれる。この米国特許出願においては、ここに指摘した 態様でコードを発生することも記載されており、従ってここではより詳細な記載 は省略される。問題のエージェントオブジェクトは、同米国特許出願では「デー タオブジェクトエージェント」を表すDOAと呼ばれ、同じ名称が本明細書でも 往々使用される。 キー値を分散エンティティに変換する手順において、手順のフレームワークが DELOSによって発生されるが、アプリケーションの設計者は、どのようにし てキーが分散エンティティ番号に翻訳されるべきかを書く必要がある。アルゴリ ズムはDOAクラスの一部を形成し、アドレスされるオブジェクトクラスに依存 する。この場合において、主キー=電話番号1111122と想定している。問 題の手順は次のようにして行われる。 DicosDbMDP 加入者:KeyToMdp(キー) ここで、KeyToMdpは以下により詳細に記載される呼び出される変換関 数である。 この例において、2つの末位の数字22は00−>99の値の範囲でマスクさ れる。このようにしてマスクされた値は分散エンティティ番号22になる。 この手順は、(インスタンス)を作りかつ(インスタンス)を開く両演算、す なわちインスタンスのそれぞれ作成および開きの両演算によって使用される。 オブジェクトのアクセス、すなわち読出しあるいは書込みに対して、そのオブ ジェクトの局部コピーは、第5図に関連した上述の記載から明らかなように実行 プロセッサでインストールされる(第5図において66’’を参照)。これに関 連して、2つの形式のコピー、すなわち「低速」コピーと「高速」コピーへの参 照がなされる。常に使用することができるデフォルトは「低速」であり、オブジ ェクトはアクセスに関連してフェッチされることを意味する。「高速」コピーは 前もって構成決めされ、高速複製のためのユニットは完全な分散エンティティと なる。 インストレーションの構成に対して、マスタデータおよび高速コピーの割当て はある所望のプロセッサについてなされなければならない。これは、マスタある いは高速分散エンティティのシーケンスがそれぞれ1つのプロセッサおよびプロ セッサのプールに、すなわち分散形データベースシステムの更に多いプロセッサ のシステムに割り当てられなければならないということを指定することにより各 分散エンティティに対して行われる。これは第8図に示される態様を有するファ イルで特定される。 第8図において、最初の列はマスタあるいは高速MDPを示す。第2の列は物 理的なMDPシーケンスを示し、この第2の列の2つの副列はオブジェクトのク ラスとMDP番号とを示す。例えば、最初の行において、9914はオブジェク トのクラスを識別するオブジェクトクラス番号であり、0と49は分散エンティ ティ番号を表し、すなわちクラス番号9914を有するオブジェクトクラスの5 0の分散エンティティのうちの該当のものが指示される。最後の列は問題のマス タあるいは高速分散エンティティがインストールされるべきプロセッサを表す。 更にまた、システムにロードされるべきローディングモジュールへの入力デー タとしての各オブジェクトクラスのための分散エンティティ分散についての情報 が必要である。この概念によって、ローディングモジュールは、ここでは、上述 の米国特許出願第08/264,059号の場合と同じに意図される。問題の分 散エンティティ分散は第9図に示された態様を有するファイルで特定される。こ のファイルは第8図からその値を得る。第9図において、最初の列はオブジェク トクラス名(オブジェクト形式)を表し、第2の列はオブジェクトクラス番号( dbClassId)を表す。第3番目の列には、オブジェクトクラスのための 分散エンティティの番号(論理MDPハイ)が示され、これら分散エンティティ の番号決めは0で開始する。両オブジェクトクラスは創設されてもよいオブジェ クトの番号に関して制限はされないが、分散エンティティの番号すなわちオブジ ェクトが分散され得るプロセッサの最大番号は加入者に対しては100、Lic に対しては10であることをテーブルが指定している。 第8および9図は全てのオブジェクトクラスに対する分散エンティティ割当て 情報を備えた構成データを含んでいる。この情報は局部データバスの全てのプロ セッサにロードされなければならない。より詳細には、分散エンティティ割当て 情報は、データベースローディング相の間にデータベースの開始機能によってク ラスオブジェクトにデータベースでロードされる。従って、これは基本的な機能 性に含まれる。 第10図はどのようにしてこのローディングが物理的になされるかを示すよう に意図される。簡略化のため、第8図に含まれたただ2つのプロセッサのみすな わちプロセッサ4および2が示されている(第8図の1および3行を参照)。 より詳細には、オブジェクトクラス加入者に対する分散エンティティ100が どのようにして副データベース102および104のそれぞれに含まれたプロセ ッサ#4および#2にそれぞれロードされるかが示される。プロセッサ#4のメ モリへは、シーケンス0−>49内のマスタ分散エンティティ106がロードさ れ、これに対してプロセッサ#2のメモリへは、シーケンス0−>33内の高速 分散エンティティ108がロードされる。 上に定められたオブジェクトクラスは次のようにすることによってデータベー スにインストールされる。 無効な加入者::インストール(”1111122”). 例えばオブジェクトインスタンスは次のものによって作られる subx=加入者::作成(”1111122”). このようにして分散エンティティ22に属するオブジェクトインスタンスは、 上述したことから明らかなように、プロセッサへの分散エンティティ割当てによ りプロセッサ#4のメモリに導入される。キーはあるアルゴリズムに従って分散 エンティティに上述のものにより変換される。このアルゴリズムは、主キーデー タ形式を入力パラメータとして取りかつ0と論理MDPハイとの間の整数になる ようにする機能である。この機能は可能なキー値を識別された分散エンティティ に平等に分散しなければならないが、オブジェクトクラスの設計者は自己の設計 を考慮して好ましいアルゴリズムを選択する。 オブジェクトは次のようにして更新を行うために開放される。 subx=加入者::開放更新(”1111122”) データベースは、前に述べたように、データベース処理器によりアプリケーシ ョンに対しては透明に分散されたアクセスを取り扱う(いわゆる隠し分散)。 分散形データベースシステムでのオブジェクトのためのサーチは、このサーチ がキーあるいは局部オブジェクト識別によって行われるべきかどうかにより、第 7図のテーブル79あるいは80で現在のマスタオブジェクトを見い出すことを 試みるために局部プロセッサにおいて最初に開始する。 第11図は、オブジェクトがアクセスプロセスと同じプロセッサに局部的に存 在しない場合に、そのオブジェクトがどのようにしてキーによってアクセスされ るかをより詳細に表す。詳細には、他のプロセッサで実行される110で示した プロセスは、プロセッサ118を備えた副データベース116の、第7図のキー テーブル79に対応する局部キーテーブル114において矢印112で示すよう にサーチを行う。データベース116のデータベース処理器は、論理MDP番号 を与えるキーをパラメータとして用いて、矢印120で示すように、上述したD OA手順、加入者::keyToMDP(キー)により変換機能keyToMd p(キー)を呼び出す。その時に、第12図に従ってその場合のクラス番号と論 理MDP番号とを結合することによって物理的なMDP番号が作られる。この物 理的MDP番号は大域オブジェクト識別の最初のフィールドを形成する(第6c 図を参照)。 その時に、分散エンティティが属するプロセッサはテーブル82を参照する( 第7図を参照)。次いで、オブジェクトが存在するプロセッサ、すなわち実際に はこのプロセッサのデータベース処理器のプロセスによって発行されたポートに メッセージが送られる。このメッセージは、分散エンティティ番号がオブジェク トを特異に識別するには充分でないため、オブジェクトクラスと主キーを含んで いる。また、必要に応じて読出しあるいは書込みをロック状態に設定することが できるようにするために、オブジェクトに関して何をするように意図するかがそ のメッセージにより明かとなる。この場合に、書込みのロックが設定される。 分散形データベースシステムにおいて全てのプロセッサに分散されるネットワ ークアドレスをデータベース内部テーブルによって見い出すために分散エンティ ティ識別が使用される。これらのテーブルの原理は、現実のものとは一致しない が第13図に図式的に示されている。実際的な実現のためには、これらテーブル はより圧縮される。 第13図によれば、各プロセッサのこれらテーブルはサーチテーブル130と 、第7図のテーブル82に対応する第2のテーブルとからなる。サーチテーブル 130は、オブジェクトクラスの番号が付されている各オブジェクトクラスのた めの行を含んでいる。テーブル82はインストールされた各分散エンティティの ための行を含み、この行は3つの列にわたって延びる。各行は、最初の列におい てはオブジェクトクラス番号を、次の第2の列においては分散エンティティ番号 を、最後の第3の列においては1つのオブジェクトに対するポート名を含んでい る。より詳細には、第2のテーブルから明らかなように、オブジェクトクラス番 号、自己クラスidに対して、オブジェクトに対するポート名の関連した識別を 有する102の分散エンティティがある。 サーチされるオブジェクトのクラス番号を知って、自己のプロセッサの分散処 理器は、矢印134により表されたサーチプロセスの後に問題のオブジェクトク ラス番号、自己クラスidが見い出されるまでテーブル130のサーチを矢印1 32で示されるように開始する。次いで、これはポインタ136に従って、テー ブル82のオブジェクトクラス番号、自己クラスidの組に導き、そこで矢印1 38で示されたサーチが分散エンティティ番号100に達するようになされる。 矢印140に従って、これは、最終的には、サーチされるオブジェクトが存在す る現在のプロセッサをアドレスする結果となる。 第14および16図において、第7、11および13図に関連して簡略に記載 した種類の透明分散をより詳細に示す。 第14図の状態は、分散を始めたプロセッサの分散処理器が大域オブジェクト 識別を用いる種類のあるいはキーを用いる種類のサーチプロセス(これは第13 図に関連して上述した)を行ったという推定から開始し、これは矢印142のM DP100+自己キーで示される。 150で示されるプロセッサにおいて、プロセッサ150を含むデータベース 156の154で示された分散処理器によってインターフェースエージェント1 52が作られる。メッセージは送り出しフォーマットにパックされ、160で示 される他のプロセッサに矢印158で示されるように送られ、これは対応する副 データベース162において、サーチされるマスタオブジェクトを含んでいる。 このメッセージがデータベース162に達すると、分散処理器166によって作 られるインターフェースエージェント168がこのメッセージを受ける。プロセ ッサ間の分散形通信を取り扱わなければならない通信プロセスが動作すると、メ ッセージはパック解除され、オブジェクトのための局部サーチが行われる。 メッセージが大域オブジェクト識別を含むならば、データベース162のテー ブル174を介して矢印170および172に従ってサーチが行われる。テーブ ル174は第7図のテーブル84に対応し、矢印170、172は第7図の矢印 90と同じ処理を示す。見い出されたオブジェクトは175で示される。 サーチされるオブジェクトの大域識別が既知ではない場合における、オブジェ クトクラス番号および主キーでのプロセッサ160の別態様のサーチプロセスが 第15図のテーブルによって示される。第13図での場合のように、現実のもの とは一致しない、これらテーブルの使用のための原理のみが第15図に図式的に 示される。実際の構成では、テーブルはここでもより圧縮される。 第15図によるテーブルは各プロセッサに含まれ、その図に従い、サーチテー ブル180と、第7図のテーブル79に対応する第2のテーブルからなる。テー ブル180は各オブジェクトクラスのための行を含み、オブジェクトクラスの番 号はこの行に示されている。テーブル79はインストールされた各キーのための 行を含み、これら行は3つの列にわたって延びる。各行は、最初の第1の列でオ ブジェクトクラス番号を、次の第2の列でキーを示し、最後の第3の列はデータ ベースオブジェクトへのポインタを示す。 第15図に示されるように、プロセッサ#4のデータベース処理器はサーチさ れるオブジェクトのオブジェクトクラス番号、自己クラスidによってサーチプ ロセスを行い、それはテーブル180において矢印182によって開始し、矢印 184により問題のオブジェクトクラス番号、自己クラスidに達し、そして矢 印186によりクラス番号、自己クラスidを有するオブジェクトの組に達する 。最終的に、矢印188によるサーチで、サーチされるオブジェクトへの関連し たポインタ190を備えたキー、主キーを見い出す。 第15図によるテーブルもブロック79として第14図に同様図式的に示され ている。 第14図の状態は、テーブル130、82により、分散を始めた副データベー ス156の分散処理器が第13図に関連して上述したものに類似する種類のサー チプロセスを行ったという推定から開始する。上述のように、自己のプロセッサ 150において、そのプロセッサ150の副データベース156の分散処理器1 54によってインターフェースエージェント152が作られる。メッセージは送 り出しフォーマットにパックされ、これは次いで矢印158に従って他のプロセ ッサ160に送られ、このデータベース162は192で示されたサーチされる マスタオブジェクトを含んでいる。 このメッセージが副データベース162に達すると、インターフェースエージ ェント168がこのメッセージを受ける。プロセッサ間の分散形通信を取り扱わ なければならない通信プロセスが動作すると、メッセージはパック解除され、オ ブジェクトのための局部サーチが第15図に関連した上述のサーチプロセスに従 って、データベース162のテーブル182および79によって行われる。 マスタオブジェクト175あるいは192が見い出されたら、それにそれぞれ 書込みロックが施される。書込みロックはマスタオブジェクトを含んだプロセッ サ160に、データベース処理器から得られなければならない。これは、他のプ ロセッサへのロックの割当てがそのデータベースの分散処理器によって自動的に なされるからである。同時に、第16図を参照し、低速コピーオブジェクト20 0は、サーチトランザクションが開始されたプロセッサ150を含んだデータベ ース156に矢印202で戻される(第5図の66’’をも参照)。プロセッサ 150の204に、アクセスを開始したプロセスが示されている。 第11−16図に関連して上述した透明分散のためのプロセスは、明瞭化のた め、第17および18図に示す流れ図によって要約される。 第17図において、オブジェクトに対するサーチはステップ250でクラス番 号とキーとで開始される。 最初に、局部プロセッサにおいてサーチが行われ、そこに現在のマスタオブジ ェクトが存在するかを見い出す試みがなされる。これは局部キーテーブル79( 第7図参照)においてキーによって行われる。ステップ252において、オブジ ェクトが同じプロセッサにあると見い出されるならば、処理は矢印253に従 って以下により詳細に記載される第17図の終了ステップに行く。 ステップ252で、第11図に関連して上述のことに従って、同じプロセッサ にそこで作られたオブジェクトが見い出されなかった場合には、ステップ254 で、変換機能keyToMDPにより論理的分散エンティティを作り、ステップ 256で、第12図に従って、オブジェクトクラス番号と論理的分散エンティテ ィとを結合することによって物理的分散エンティティを作る。 その後に、ステップ258で、サーチがプロセッサ(その副データベースにサ ーチされるオブジェクトが存在する)におけるデータベースプロセスに対するポ ート識別のために行われる。より詳細には、これは第13図によるテーブルによ りサーチを行うことによってなされる。 ステップ260で、問題のポートにメッセージを送る。このメッセージには、 分散エンティティ番号がオブジェクトを特異に識別するには充分ではないため、 クラス番号とキーとが含まれる。更に、メッセージから、必要に応じて読出しあ るいは書込みロックを施すことができるようにするために、オブジェクトに関し てなされなければならないことが明かとなる。 第14図において見い出されたプロセッサのテーブル79の局部的なサーチに よってサーチオブジェクトが見い出された後に、コピーオブジェクトはステップ 262でアクセスを開始したプロセッサに戻され(第16図に関連した記載を参 照)、そこにインストールされる。 ステップ264で、米国特許出願第08/264,059号の記載に従って、 最終的にデータベースエージェントDOAが作られ、アプリケーションプロセス に戻される。 第18図においては、オブジェクトに対するサーチはステップ266でオブジ ェクト識別により開始される。 最初に、局部プロセッサにおいてサーチが行われ、そこに現在のマスタオブジ ェクトが存在するかを、局部オブジェクト識別および局部テーブル80(第7図 参照)によって見い出す試みがなされる。ステップ268において、オブジェク トが局部的に存在すると見い出されるならば、処理は矢印269に従って直接第 18図の最後のステップに行く。 ステップ268で、オブジェクトが同じプロセッサにないと解ったら、アプリ ケーションによる局部オブジェクト識別は、第5図に関連して上述した記載に従 ってステップ270で大域オブジェクト識別に変換される。 その後に、ステップ272で、サーチされるオブジェクトが存在する副データ ベースを備えたプロセッサにおいてデータベースプロセスへのポート識別がサー チされる。より詳細には、これは、大域オブジェクト識別に含まれた第7図のテ ーブル82の分散エンティティ番号によってサーチを行うことによってなされる 。 ステップ274で、問題のポートにメッセージを送る。このメッセージには大 域オブジェクト識別が含まれている。更に、メッセージから、必要に応じて読出 しあるいは書込みロックを施すことができるようにするために、オブジェクトに 関してなされなければならないことが明かとなる。 第14図において見い出されたプロセッサのテーブル174の局部的なサーチ によってサーチオブジェクトが見い出された後に、コピーオブジェクトはステッ プ276でアクセスを開始したプロセッサに戻され(第16図に関連した記載を 参照)、そこにインストールされる。 ステップ278で、最終的にデータベースオブジェクトエージェントDOAが 作られ、アプリケーションプロセスに戻される。

Claims (1)

  1. 【特許請求の範囲】 1.データベースとこのデータベースの種々の部分を取り扱う多数の相互接続 されたプロセッサを含んでいる分散形データベースシステムにおいて、上記デー タベース部分は多数のデータエンティティを含んでおり、このようなデータエン ティティのそれぞれは、それに関連して、そのデータエンティティがどのプロセ ッサに存在するかについての大域情報と、そのデータエンティティが自己のプロ セッサのどこに存在するかについての局部情報とを有しており、上記大域情報は 、データエンティティの予め定めた組のそれぞれに対して共通でかつ特有である 大域情報の形で上記システムの各プロセッサに存在するようにしたことを特徴と する分散形データベースシステム。 2.請求の範囲第1項記載の分散形データベースシステムにおいて、上記組の データエンティティは分散エンティティからなり、このそれぞれは、ある1つの プロセッサに存在する特定の形式のデータエンティティの多数のインスタンスに 関する情報、およびそのプロセッサが見い出されることができるようにするアド レスの情報を含んでいることを特徴とする分割形データベースシステム。 3.請求の範囲第2項記載の分散形データベースシステムにおいて、データエ ンティティは、キー値あるいはデータエンティティ識別のいずれかによってアド レスされることができ、上記データエンティティ識別はデータエンティティが属 する分散エンティティに関する情報、およびデータエンティティを識別する情報 を含んでいることを特徴とする分散形データベースシステム。 4.請求の範囲第3項記載の分散形データベースシステムにおいて、データエ ンティティ識別は局部および大域データエンティティ識別を含み、各局部データ エンティティ識別は自己のプロセッサを識別する第1の情報フィールドと、デー タエンティティを識別する第2の情報フィールドとを含んでおり、各大域データ エンティティ識別は分散エンティティを識別する第1の情報フィールドと、デー タエンティティを識別する第2の情報フィールドとを含んでいることを特徴とす る分散形データベースシステム。。 5.上記局部情報は少なくとも3つのテーブルに含まれ、これらテーブルの第 1のものは局部データエンティティ識別を含み、第2のテーブルは大域データエ ンティティ識別を含み、少なくとも第3のテーブルはキー値を含み、上記大域情 報は、分散エンティティ番号および各このような分散エンティティ番号に対して 他のプロセッサへのポインタを含む第4のテーブルに含まれることを特徴とする 分散形データベースシステム。 6.データベースとこのデータベースの種々の部分を取り扱うための多数の相 互接続されたプロセッサとを含む分散形データベースシステムであって、上記デ ータベース部分が多数のデータエンティティを含んでおり、各このようなデータ エンティティは、そのデータエンティティがどのプロセッサに存在するかについ ての大域情報と、そのデータエンティティが自己のプロセッサのどこに存在する かについての局部情報とを有しており、 特定のクラスに属するデータエンティティを、そのデータエンティティに対 して特異であるキー値および問題のクラスに対する識別番号によってアドレスす る方法が、 キー値によって自己のプロセッサにおいて最初にデータエンティティのため のサーチを開始すること、 データエンティティが同一のプロセッサに存在しないということをこのサー チが指示したら、以下のステップを実行するようにすること、 ある1つのプロセッサに存在するデータエンティティのクラスの多数のイン スタンスに関する情報およびこのプロセッサに関するアドレス情報を識別する論 理的分散エンティティ番号を作ること、 データエンティティのクラスに関する情報とこの論理的分散エンティティ番 号とを結合することによって対応する物理的分散エンティティ番号を作ること、 サーチされるデータエンティティが存在するデータベースのプロセッサをこ の物理的分散エンティティ番号によって識別すること、 サーチされるデータエンティティに関する情報を含んだ問題のプロセッサに メッセージを送ること、 アクセスすべきデータエンティティをキー値によって見い出されたプロセッ サの局部的なサーチを行うこと、 見い出されたデータエンティティのコピーを、アクセスを要求したプロセッ サに戻すこと、 からなることを特徴とする上記方法。 7.データベースとこのデータベースの種々の部分を取り扱うための多数の相 互接続されたプロセッサとを含む分散形データベースシステムであって、上記デ ータベース部分は多数のデータエンティティを含んでおり、各このようなデータ エンティティは、そのデータエンティティがどのプロセッサに存在するかについ ての大域情報と、そのデータエンティティが自己のプロセッサのどこに存在する かについての局部情報とを有しており、 データエンティティの特定のクラスに属するデータエンティティをアドレス する方法が、 自己のプロセッサに存在するデータエンティティのクラスの多数のインスタ ンスに関する情報を含んだ分散エンティティに関する情報とそのデータエンティ ティを識別する情報とを含む局部データエンティティ識別を作ること、 この局部データエンティティによってどこにデータエンティティがあるかを 見い出すことを試みるために、局部プロセッサのサーチを開始すること、 データエンティティが自己のプロセッサに存在しないということをこのサー チが指示したら、以下のステップを実行すること、 ある1つのプロセッサに存在し、かつアクセスされるべきデータエンティテ ィが属する特定のクラスのデータエンティティの多数のインスタンスに関する情 報および上記あるプロセッサへのアドレスに関する情報を含んだ分散エンティテ ィに関する情報と、アクセスされるべきデータエンティティに関する情報とを含 む大域データエンティティ識別に上記局部データエンティティ識別を変換するこ と、 アクセスされるべきデータエンティティが上記大域データエンティティ識別 に含まれる分散エンティティによって配置されているプロセッサをサーチするこ と、 上記大域データエンティティ識別を含んだ問題のプロセッサにメッセージを 送ること、 上記大域データエンティティ識別によって、見い出されたプロセッサのデー タエンティティ識別をサーチすること、 見い出されたデータエンティティ識別のコピーをアクセスを開始したプロセ ッサに戻すこと、 からなることを特徴とする上記方法。 8.分散形データベースシステムにおける分散エンティティにおいて、データ ベースの種々の部分が多数の相互接続されたプロセッサのそれぞれによって取り 扱われるようになっており、上記種々のデータベース部分は多数のデータエンテ ィティを含んでいる。上記分散エンティティはある1つのプロセッサに存在する 特定の形式のデータエンティティの多数のインスタンスに関する情報と、このプ ロセッサに関するアドレス情報とを含んでいることを特徴とする分散エンティテ イ。 9.請求の範囲第8項記載の分散エンティティにおいて、それは、分散エンテ ィティに関する情報とデータエンティティを識別する情報とを含んだデータエン ティティ識別の一部を形成することを特徴とする分散エンティティ。 10.分散形データベースシステムにおける分散エンティティにおいて、データ ベースの種々の部分が多数の相互接続されたプロセッサのそれぞれによって取り 扱われるようになっており、上記種々のデータベース部分は多数のデータエンテ ィティを含んでおり、上記分散エンティティはデータエンティティの予め定めた 組に共通でかつ特有な情報を含んでいることを特徴とする分散エンティティ。 11.請求の範囲第10項の分散エンティティにおいて、それは、分散エンティ ティに関する情報とデータエンティティを識別する情報とを含んだデータエンテ ィティ識別の一部を形成することを特徴とする分散エンティティ。 12.分散形データベースシステムにおけるデータエンティティのための識別エ ンティティにおいて、データベースの種々の部分が多数の相互接続されたプロセ ッサのそれぞれによって取り扱われるようになっており、上記種々のデータベー ス部分は多数のデータエンティティを含んでおり、上記識別エンティティは、 ある1つのプロセッサに存在しかつデータエンティティが属する特定の形式 のデータエンティティの多数のインスタンスに関する情報とそのプロセッサへの アドレスに関する情報とを含んだ分散エンティティに関する情報と、 データエンティティを識別する情報と、 を含んだことを特徴とする識別エンティティ。
JP7521151A 1994-02-08 1995-02-06 分散形データベースシステム Pending JPH09508734A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE9400410A SE515344C2 (sv) 1994-02-08 1994-02-08 Distribuerat databassystem
SE9400410-8 1994-02-08
PCT/SE1995/000118 WO1995022111A1 (en) 1994-02-08 1995-02-06 Distributed data base system

Publications (1)

Publication Number Publication Date
JPH09508734A true JPH09508734A (ja) 1997-09-02

Family

ID=20392850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7521151A Pending JPH09508734A (ja) 1994-02-08 1995-02-06 分散形データベースシステム

Country Status (14)

Country Link
US (2) US5761672A (ja)
EP (1) EP0744055B1 (ja)
JP (1) JPH09508734A (ja)
KR (1) KR100293795B1 (ja)
CN (1) CN1140500A (ja)
AU (1) AU687168B2 (ja)
BR (1) BR9506734A (ja)
DE (1) DE69523142T2 (ja)
FI (1) FI963107A0 (ja)
MX (1) MX9702366A (ja)
NO (1) NO963281L (ja)
SE (1) SE515344C2 (ja)
TW (1) TW346580B (ja)
WO (1) WO1995022111A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000505921A (ja) * 1996-12-12 2000-05-16 クァワンタム ネットワークス ピーティーワイ リミテッド 分散オペレーティング・システム
WO2012115194A1 (ja) * 2011-02-25 2012-08-30 ディジタル・ワークス株式会社 分散型データベースシステムおよび分散型データベースのデータ構造

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374329B1 (en) 1996-02-20 2002-04-16 Intergraph Corporation High-availability super server
GB2315889A (en) * 1996-07-31 1998-02-11 Ibm Locating and sampling of data in parallel processing systems
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US7136903B1 (en) 1996-11-22 2006-11-14 Mangosoft Intellectual Property, Inc. Internet-based shared file service with native PC client access and semantics and distributed access control
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US6026474A (en) * 1996-11-22 2000-02-15 Mangosoft Corporation Shared client-side web caching using globally addressable memory
US5909540A (en) * 1996-11-22 1999-06-01 Mangosoft Corporation System and method for providing highly available data storage using globally addressable memory
US6647393B1 (en) * 1996-11-22 2003-11-11 Mangosoft Corporation Dynamic directory service
US5963944A (en) * 1996-12-30 1999-10-05 Intel Corporation System and method for distributing and indexing computerized documents using independent agents
US6334122B1 (en) * 1998-12-23 2001-12-25 Advanced Micro Devices, Inc. Method and apparatus for translating variable names to column names for accessing a database
US6393419B1 (en) 1999-02-08 2002-05-21 Telefonaktiebolaget Lm Ericsson (Publ) Multipoint database synchronization protocol to avoid data corruption
US6957228B1 (en) * 2000-01-07 2005-10-18 International Business Machines Corporation Object oriented apparatus and method for providing context-based class replacement in an object oriented system
DE10035140A1 (de) * 2000-07-19 2002-01-31 Philips Corp Intellectual Pty System zur effizienten Übertragung von Teilobjekten in verteilten Datenbanken
US6732109B2 (en) * 2001-01-31 2004-05-04 The Eon Company Method and system for transferring information between a user interface and a database over a global information network
GB0224589D0 (en) 2002-10-22 2002-12-04 British Telecomm Method and system for processing or searching user records
US20040153440A1 (en) * 2003-01-30 2004-08-05 Assaf Halevy Unified management of queries in a multi-platform distributed environment
US7574419B2 (en) * 2004-05-13 2009-08-11 Oracle International Corporation Automatic tuning of undo retention
US8756200B2 (en) * 2004-05-14 2014-06-17 Oracle International Corporation Undo advisor
US7885939B2 (en) * 2005-10-11 2011-02-08 Oracle International Corporation Longest query duration for auto tuning undo retention
US7801932B2 (en) * 2005-10-11 2010-09-21 Oracle International Corporation Undo hints to speed up segment extension and tuning of undo retention
US7870226B2 (en) * 2006-03-24 2011-01-11 International Business Machines Corporation Method and system for an update synchronization of a domain information file
AT506735B1 (de) 2008-04-23 2012-04-15 Human Bios Gmbh Verteilte datenspeicherungseinrichtung
CN102035865B (zh) * 2009-09-30 2013-04-17 阿里巴巴集团控股有限公司 数据存储及数据寻址方法、系统和设备
US8914400B2 (en) * 2011-05-17 2014-12-16 International Business Machines Corporation Adjusting results based on a drop point
CN104636405A (zh) * 2013-11-14 2015-05-20 中兴通讯股份有限公司 基于分布式数据库的iptv的数据处理方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4754394A (en) * 1984-10-24 1988-06-28 International Business Machines Corporation Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage
US4901231A (en) * 1986-12-22 1990-02-13 American Telephone And Telegraph Company Extended process for a multiprocessor system
IT1228728B (it) * 1989-03-15 1991-07-03 Bull Hn Information Syst Sistema multiprocessore con replicazione di dati globali e due livelli di unita' di traduzione indirizzi.
US5036037A (en) * 1989-05-09 1991-07-30 Maschinenfabrik Andritz Aktiengesellschaft Process of making catalysts and catalysts made by the process
US5187790A (en) * 1989-06-29 1993-02-16 Digital Equipment Corporation Server impersonation of client processes in an object based computer operating system
EP0405829B1 (en) * 1989-06-30 1998-04-15 AT&T Corp. Object oriented software system architecture
CA2025160A1 (en) * 1989-09-28 1991-03-29 John W. White Portable and dynamic distributed applications architecture
IT1239122B (it) * 1989-12-04 1993-09-28 Bull Hn Information Syst Sistema multiprocessore a risorse distribuite con replicazione dinamica di dati globali
CH682676A5 (de) * 1991-01-10 1993-10-29 Zellweger Uster Ag Fadenwächter.
JPH04246745A (ja) * 1991-02-01 1992-09-02 Canon Inc 情報処理装置及びその方法
US5280612A (en) * 1991-11-26 1994-01-18 International Business Machines Corporation Multiple version database concurrency control system
WO1993020511A1 (en) * 1992-03-31 1993-10-14 Aggregate Computing, Inc. An integrated remote execution system for a heterogenous computer network environment
SE500656C2 (sv) * 1992-12-08 1994-08-01 Ellemtel Utvecklings Ab System för backuptagning i en distribuerad databas
SE508828C2 (sv) * 1992-12-08 1998-11-09 Ericsson Telefon Ab L M System för relationsåterhämtning av databas i händelse av fel
SE500940C2 (sv) * 1993-02-10 1994-10-03 Ellemtel Utvecklings Ab Sätt och system för att i ett distribuerat operativsystem demontera en kedja av sammanlänkade processer
US5560005A (en) * 1994-02-25 1996-09-24 Actamed Corp. Methods and systems for object-based relational distributed databases

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000505921A (ja) * 1996-12-12 2000-05-16 クァワンタム ネットワークス ピーティーワイ リミテッド 分散オペレーティング・システム
WO2012115194A1 (ja) * 2011-02-25 2012-08-30 ディジタル・ワークス株式会社 分散型データベースシステムおよび分散型データベースのデータ構造
JP2012178025A (ja) * 2011-02-25 2012-09-13 Degital Works Kk 分散型データベースシステムおよび分散型データベースのデータ構造

Also Published As

Publication number Publication date
SE9400410D0 (sv) 1994-02-08
AU1723695A (en) 1995-08-29
EP0744055B1 (en) 2001-10-10
AU687168B2 (en) 1998-02-19
FI963107A (fi) 1996-08-07
WO1995022111A1 (en) 1995-08-17
SE9400410L (sv) 1995-08-09
TW346580B (en) 1998-12-01
US5761672A (en) 1998-06-02
FI963107A0 (fi) 1996-08-07
KR970701393A (ko) 1997-03-17
MX9602918A (es) 1997-12-31
US5940837A (en) 1999-08-17
NO963281L (no) 1996-10-08
BR9506734A (pt) 1997-09-23
DE69523142D1 (de) 2001-11-15
EP0744055A1 (en) 1996-11-27
KR100293795B1 (ko) 2001-09-17
SE515344C2 (sv) 2001-07-16
MX9702366A (es) 1997-06-28
CN1140500A (zh) 1997-01-15
NO963281D0 (no) 1996-08-06
DE69523142T2 (de) 2002-01-31

Similar Documents

Publication Publication Date Title
JPH09508734A (ja) 分散形データベースシステム
US5581765A (en) System for combining a global object identifier with a local object address in a single object pointer
US5133053A (en) Interprocess communication queue location transparency
US6654741B1 (en) URL mapping methods and systems
US5963947A (en) Technique of dynamically adding functionality from a client to manipulated data at a server
US6308163B1 (en) System and method for enterprise workflow resource management
US5524202A (en) Method for forming graphic database and system utilizing the method
CA2152752C (en) Multiprocessor system for locally managing address translation table
US6411956B1 (en) Method for distributed transaction support using JDBC 1.0 drivers
EP0620522B1 (en) High performance dynamic linking through caching
EP0889422A2 (en) Global file system-based system and method for rendering devices on a cluster globally visible
JPH07210443A (ja) 分散ファイル・システム
EP0737922A1 (en) Method and apparatus for managing computer processes
JPH0675846A (ja) アプリケーションのオブジェクト指向呼出しをデータベースで行うための方法及び装置
US6353859B1 (en) Object-oriented apparatus and method for controlling accesses to objects in a distributed object environment
JPH09244896A (ja) 永続性オブジェクトのオブジェクトベース構築方法、コンピュータ読み取り可能媒体、および情報操作システム
US20050055325A1 (en) Identity for data sources
US6769125B2 (en) Methods and apparatus for managing computer processes
US6292824B1 (en) Framework and method for facilitating client-server programming and interactions
JP3489216B2 (ja) ファイルシステム
US5960424A (en) Method and system for managing computer database connections
JPH08297573A (ja) オブジェクトデータ処理装置
JPH06110841A (ja) 名前管理方法
JPH10187468A (ja) 並列分散処理システムおよびその方法
JPH0378045A (ja) 計算機システム