New! View global litigation for patent families

JPH08512151A - Data access method in the database of the primary storage device type - Google Patents

Data access method in the database of the primary storage device type

Info

Publication number
JPH08512151A
JPH08512151A JP50271695A JP50271695A JPH08512151A JP H08512151 A JPH08512151 A JP H08512151A JP 50271695 A JP50271695 A JP 50271695A JP 50271695 A JP50271695 A JP 50271695A JP H08512151 A JPH08512151 A JP H08512151A
Authority
JP
Grant status
Application
Patent type
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
JP50271695A
Other languages
Japanese (ja)
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

Links

Classifications

    • G06F9/4493

Abstract

(57)【要約】 一次記憶装置方式のデータベース(2)の中のオブジェクト(18)にユーザがアクセスするとき、ユーザプロセス(14)にエージェントオブジェクト(16)がつくられ、これは実際のオブジェクト(18)に対する参照(20)を含み、あたかもそれが実際のオブジェクトであるかのように見える。 (57) Abstract: When accessing user objects (18) in the database of the primary storage device type (2), the agent object (16) is made to the user process (14), which is the actual object ( It contains a reference (20) for 18), though it looks as if the actual object. オブジェクト(18)のデータへのアクセスはすべてエージェントオブジェクト内の参照(20)を介して、メモリマネージャのメモリを直接読み出すことにより行われる。 All access to the data object (18) via a reference in the agent object (20), is performed by reading out the memory of the memory manager directly. データアクセスは基本インタフェイス(12)を経由して、アトリビュータに対する読み出し操作と書き込み操作という形で行われる。 Data access is through a basic interface (12), it takes place in the form of read and write operations for the attribution Byuta.

Description

【発明の詳細な説明】 一次記憶装置方式のデータベースにおけるデータアクセス方法 発明の技術分野本発明は一次記憶装置方式のデータベースのデータにアクセスする方法に関するものである。 BACKGROUND OF THE INVENTION Technical Field of the Invention The data access method invention in the database of the primary storage device type is related to a method for accessing data in a database of the primary storage device type. このデータベースはメモリ付きのメモリマネージャを含むオペレーティングシステムを有し、データベースのデータはアトリビュートとメソッドとを含むデータエンティティとして編制されている。 This database has an operating system that includes a memory manager with the memory, the data in the database are organized as data entities containing the attributes and methods. ここでデータエンティティとはオブジェクト指向データシステムにおける一種のオブジェクトになりうるエンティティを意味する。 Here, the data entity means an entity that can become objects of one type in an object-oriented data system. ユーザ(クライアント)が一次記憶装置方式のデータベース内のオブジェクトにアクセスすると、データはある方法でデータベースからユーザプロセスへ転送されなければならない。 When a user (client) to access objects in the database of the primary storage device type, must be transferred from the database to the user process data some methods. 重ね書きによりデータを壊す危険性があるため、アプリケーションコードはデータベースのメモリに直接アクセスしてはいけない。 Due to the risk of breaking the data by overwriting, the application code should not directly access the memory of the database. 関連技術の説明アプリケーションにデータを転送するのに使われる通常の方法は、ユーザプロセスの私的メモリにコピーをつくることである。 Conventional methods used to transfer data to the Description of Related Art application is to make a copy to private memory of the user process. するとオブジェクトはユーザプロセス内でオブジェクトとして管理され、それは当然プログラミング言語に適合する、すなわち、オブジェクト内でデータを読み出したりメソッドを呼び出すことが可能である。 Then the object is managed as an object in the user process, which naturally conforms to the programming language, i.e., it is possible to call a method to read the data in the object. もし何かあれば、オブジェクトがデータベースに返される瞬間まで、オブジェクトの更新は更新中のユーザプロセスにのみ見える。 If you have any if, until the moment the object is returned to the database, updating the object visible only to the user process of being updated. US特許5,043,869にはオブジェクト指向プログラム言語を使う情報プロセッサ用メモリ構造が述べられている。 Memory structure information processor using an object-oriented programming language is described in US patent 5,043,869. この場合には、オブジェクトにおけるデータと手続きという形でプログラムが存在する。 In this case, there are programs in the form of data and procedure in the object. 例えばメッセージを転送する場合などにオブジェクトにアクセスするには、オブジェクトリストをアドレスする。 For example, to access the object, for example, to forward the message, the address of the object list. オブジェクトリストにはなかんずく(i.a)別のメモリ領域に記憶されているオブジェクトに対するアドレスがある。 The object list there is an address for inter alia (I .A) Another object stored in the memory area. プログラムの実行時にはオブジェクトから多くの読み出しが必要である。 At the time of the execution of the program it is necessary to many of reading from the object. しばしばアクセスする場合にプロセスのスピードを上げるために、オブジェクトに関する何らかの情報がオブジェクトリストに加えられる。 Often in order to speed up the process when accessing some information about the object is added to the object list. そうすることによって、オブジェクトのメモリ領域とは異なるメモリ領域にオブジェクトのリストがつくられた。 By doing so, a list of objects in the different memory area is made to the memory area of ​​the object. このリストにはオブジェクトの部分的情報と共にオブジェクトへの参照が含まれる。 The list includes references to objects with partial information of the object. EP、A2,117,906はコンピュータシステムにおけるファイルの編制に関するものである。 EP, A2,117,906 is related to curriculum of the file in a computer system. コンピュータシステムは一次記憶装置と二次記憶装置とを有する。 The computer system includes a primary storage device and a secondary storage device. ファイルは2種類のレベルに分かれている。 File is divided into two levels. ひとつのデータレベルは二次記憶装置に記憶されている情報ブロックと、ファイルが使われるときに一次記憶装置に記憶されるインデックスレベルとを含む。 One data level contains information blocks stored in the secondary storage device, and an index level which is stored in the primary storage device when the file is used. ファイルが使われないとき、 2種類のレベルが二次記憶装置に記憶される。 When the file is not used, two levels are stored in the secondary storage device. 二次記憶装置の一方の側にアクセスしたいときには、インデックスレベルが使われる。 When you want to access one side of the secondary storage device, the index level is used. インデックスレベルには頁が記憶されている二次記憶装置のブロックに関するインデックス入力が含まれている。 Contains index input for block of the secondary storage device page is stored in the index level. したがって、インデックスレベルにはアクセス時間を短縮するために二次記憶装置内の「オブジェクト」に対する参照が含まれている。 Therefore, the index level contains references to "objects" in the secondary storage device in order to shorten the access time. EP、A2,381,447は記憶装置へのアクセス時間を短縮する方法に関するものである。 EP, A2,381,447 relates to a method of shortening the access time to the storage device. コンピュータシステムの性能を向上させるためには仮想メモリアドレッシング(仮想メモリシステム)を使うのが普通であり、特にシステムがいくつかのユーザを有するときに用いられる。 To improve the performance of a computer system is usually to use a virtual memory addressing (virtual memory systems) are used, particularly when the system has several users. もしいくつかのプログラムが1個のメモリ領域に同時にアクセスしようとすると、もしメモリが実際の物理的アドレスを用いてアドレスされていれば、衝突状態が起きる危険性がある。 When If several programs are simultaneously attempt to access one memory area, if if they are addressed using the memory the actual physical address, there is a risk of crash condition occurs. 異なるプログラムが同じアドレスに読み書きしようとする結果、書込みによってデータを壊すかもしれないことが想像される。 Results different program tries to read or write to the same address, it is envisioned that might break the data by writing. 仮想アドレスとは、あたかもアドレスがメモリ内のオブジェクトの実際の物理的アドレスであるかのように、プログラムがメモリからオブジェクトにアクセスすることを意味する。 And virtual address, though the address is as if it were the actual physical address of the object in memory, the program means to access the object from memory. 実際には、仮想アドレスを物理的アドレスに翻訳する装置がプロセッサとメモリとの間にある。 In practice, an apparatus for translating a virtual address into a physical address is between the processor and memory. この装置はいくつかのプログラムから発せられるアドレッシングを編制することができるように、これらのアドレスを中間記憶する能力も持っている。 As this device can be organized addressing emanating from several programs, also has the ability to intermediate storage these addresses. このことは、あたかも各プログラムがシステム内に自分だけが存在するかのように、メモリにアドレスすることができることを意味する。 This is as if each program means that can be as if your own are present in the system, addressing the memory. 上述の文献により、ある種の中間レベルを経由してメモリ領域にアクセスすることが知られている。 The above references, it is known that access to the memory area via some kind of intermediate level. 最初の文献では、オブジェクトのアドレスを得るためにオブジェクトリストを呼び出すことによりこのことが実現される。 In the first document, this is achieved by calling the object list in order to obtain the address of the object. 2番目の文献では、二次記憶装置に記憶されている興味ある部分にアクセスするために、インデックスレベルが使われる。 The second document, in order to access the interesting part stored in the secondary storage device, the index level is used. 最後の文献では、メモリへ直接アクセスするために仮想アドレスが使われ、仮想アドレスはプロセッサとメモリとの間に設けられた装置により翻訳される。 In the last document, virtual address to directly access the memory is used, the virtual addresses are translated by the device provided between the processor and memory. 発明の要約本発明のひとつの目的は冒頭に述べたような方法を提供することである。 SUMMARY One object of the present invention of the invention is to provide a method as mentioned at the beginning. すなわち、従来技術と比較して優れた性能が得られ、オープン時の応答時間が短く、 かつ更新後にデータベースに再コピーする必要が全くないというデータアクセス方法を提供することである。 That is, superior performance over the prior art is obtained, is to provide a data access method of response time when open short and there is no need to re-copy the database after the update. 本発明による方法ではユーザプロセスがオープンされて、ユーザプロセス用に基本インタフェイス(generic interface)が提供される。 In the method according to the invention is opened by the user process, the basic interface (generic in interface) is provided for the user process. データベース内のデータエンティティはユーザプロセスからアクセスされ、このことは、実際のデータエンティティに対する参照を含み、あたかもそれが実のデータエンティティであるかのように見えるエージェントエンティティをユーザプロセス内につくるステップと、前記参照を用いてメモリマネージャ内のメモリ内で直接読み出すことによりデータエンティティのデータへのすべてのアクセスを行うステップとにより行われる。 Data entities in the database is accessed from the user process, the steps This includes a reference to actual data entity, as if it make the agent entity appears as if it were real data entity in the user process, It is performed by a step of performing all access to the data of the data entity by reading directly in memory in the memory manager with reference to the reference. 読み出し書込み操作は前記基本インタフェイスを経由してデータエンティティのアトリビュートに対して行われる。 Read and write operations are performed on the attribute of the data entities through the basic interface. 言い換えれば、データベース内のデータエンティティがユーザによりアクセスされるとき、実のデータエンティティへの参照を含むエージェントエンティティのみが、ユーザプロセスに生成される。 In other words, when the data entities in the database is accessed by the user, only the agent entity that contains a reference to the real data entity is generated to the user process. エージェントエンティティはあたかもそれが実のデータエンティティであるかのように見えるが、データエンティティのデータに対するすべてのアクセスは、記憶された参照を介してメモリマネージャのメモリ内で直接読出すことにより実行される。 Agent entity but as if it looks as if a real data entity, all access to the data of the data entities is performed by reading directly in the memory of the memory manager via a reference stored . データアクセスはアトリビュートに対する読み書きという形で、基本インタフェイスを経由して行われる。 Data access in the form of reading and writing for the attribute, performed via the basic interface. 本発明のすぐれた実施例と考えられるものを以下いくつか示す。 What are considered to be good examples of the present invention showing some less. データエンティティをオープンするためのオープニング操作は、データエンティティ用にデータエンティティ型記述で宣言されたとき、実のデータエンティティのインタフェイスを有するエージェントエンティティに関するポインタをユーザプロセスに割り当てることを含むことができる。 Opening operation to open the data entity, when declared in a data entity type description for the data entity may include assigning a pointer about the agent entity having an interface of the real data entity to the user process. エージェントエンティティは、参照が有効であることの検査が可能なように実現されるポインタとして参照を形成するように生成することができる。 Agent entity references may be generated to form a reference as a pointer inspection is realized as possible to be effective. データエンティティのメソッドに関するコードはダイナミック・リンキング・ メカニズムにより得ることができ、これはエージェントエンティティを生成することと、データエンティティのクラスコードを知る必要なくしてユーザプロセスがデータエンティティをオープンすることを認めることとが一緒になって実現する。 Code on the methods of the data entity can be obtained by the dynamic linking mechanism, which is to recognize that and generating agent entity, which without the need to know a class code of the data entity is the user process to open the data entity door is realized together. エージェントエンティティはメモリマネージャのメモリ領域から直接データエンティティのデータを読み出すことができる。 Agent entity may read the data directly data entities from the memory area of ​​the memory manager. メモリマネージャを呼出してスーパバイザモードに遷移させることができる。 Can be changed to supervisor mode calls a memory manager. このとき実行されるコードはプロセッサのメモリのすべての部分に書込むことができるが、ユーザプロセスは自分の私的メモリ領域にしかアクセスすることができない。 This time code to be executed can be written to all portions of the memory of the processor, the user process can access only to their own private memory area. データ定義言語で記述されたデータエンティティのデータエンティティ型記述から、エージェントエンティティ用のコードと、データエンティティを含むデータベースレコードの構造の記述とを生成することができる。 From the data definition data entity types of the described data entities in the language description, it is possible to generate the code for the agent entity and a description of the structure of the database record containing the data entities. 後者の記述はメモリマネージャがデータエンティティのデータを管理するのに用いられる。 The latter description memory manager is used to manage the data of the data entity. アクセスしたいアトリビュータはエージェントエンティティによりメモリマネージャに照合することができる。 Attribution Byuta to be accessed can be matched to the memory manager by the agent entity. 生成コードには基本インタフェイスの呼び出しを含むことができ、そこでデータエンティティのアトリビュートがアトリビュート番号と照合される。 The generated code can include calls to base interface, where the attribute data entities are collated with attribute number. 生成したエージエントエンティティのインタフェイスでは、データエンティティ型記述で使われているアトリビュート名によりプレーン言語の同じアトリビュートが照合される。 The interface of the generated age entry entity, same attributes in plain language is collated by attributes names used in the data entity type description. アトリビュートはその名前と型とを指示することによりデータ定義言語で宣言することができる。 Attribute can be declared in the data definition language by instructing its name and type. そして生成したコードではアトリビュートを2種類の機能として得ることができる。 And it is possible to obtain the attribute as two functions in the generated code. ひとつは読み出しでもうひとつは書込みであって、宣言されたアトリビュートと同じ名前を有する。 One is a another is writing in the reading, has the same name as the declared attribute. これらの機能は宣言されたアトリビュートの型と同じ型の値をそれぞれ返したり、受取ったりする。 These functions and return the value of the same type as the type of the declared attribute, respectively, or received. メモリマネージャにロードされるデータベースレコードの構造の記述において、アトリビュート番号と、宣言された型のメモリ空間に対するサイズ情報とにより、同じアトリビュートを表わすことができる。 In the description of the structure of the database record to be loaded into the memory manager, and the attribute number by the size information for the memory space of the declared type, it is possible to represent the same attributes. 図面の簡単な説明以下図面を参照しながら実施例により本発明をもっと詳細に説明する。 The present invention will be described in more detail by way of example with reference to the brief description below drawing figures. 第1図は一次記憶装置方式のデータベースにおける本発明によるデータアクセスを、概略ブロック図形式で示したものである。 Figure 1 is intended to data access according to the invention in the database of the primary storage device system, shown in schematic block diagram form. 第2図はデータベースのメモリマネージャが働らく分散型メモリ環境における論理的また仮想的メモリ空間を図式化したものである。 Figure 2 is one database memory manager is schematized logical addition virtual memory space in working Raku distributed memory environment. 第3図は本発明によりユーザプロセス内につくられたエージェントオブジェクト用のコードの生成について、概略ブロック図形式で示したものである。 Figure 3 is the generation of code for an agent object created in a user process in accordance with the present invention, there is shown in schematic block diagram form. 好ましい実施例の詳細な説明第1図と第2図に参照番号2で示してある問題のデータベースのデータは、アトリビュートとメソッドとを含むデータエンティティとして編制されている。 Preferred data in the database in the embodiment of the DETAILED DESCRIPTION Figure 1 and Aru problems indicated by reference numeral 2 in FIG. 2, are organized as data entities containing the attributes and methods. 以下説明する実施例では、データエンティティはオブジェクト指向システムにおけるオブジェクトと同じものとして扱うことにする。 In the embodiment described below, the data entity to be treated as the same object in an object-oriented system. オブジェクトの概念はここではデータ処理技術における通常の意味を持つものとして扱う。 The concept of object here treated as having its ordinary meaning in the data processing art. 一口で言えば、オブジェクトとはその情報の管理の仕方を記述したものが付随した情報パケットである。 Speaking bite, the object is an information packet accompanied those described how to manage its information. オブジェクトのデータは直接またはオブジェクト内のメソッドを呼出すことによって、読み出すことができる。 Data objects by invoking a method of directly or object can be read out. オブジェクトはデータレコードと同様、使用領域に従ってクラスに分類され、キーにより識別される。 Objects as well as data records are classified into classes according to use region is identified by a key. オブジェクトに関するもっと詳しい説明は、ヨードン・プレス・コンピューティング・シリーズ(Yourdon Press Conputing Series)のピータ・コード(Peter Coad)とエドワード・ヨードン(Edward Yourdon)との共著である「オブジェクト指向解析」(OBJECT-ORIENTE DANA-LYSIS)に記載されている。 More detailed description of the object is a co-author of the Yourdon Press Computing Series (Yourdon Press Conputing Series) Peter code of (Peter Coad) and Edward Yourdon (Edward Yourdon) "object-oriented analysis" (OBJECT- It has been described in ORIENTE DANA-LYSIS). データベースは分散型一次記憶装置を有する環境で作動するメモリマネージャ4を含む。 The database includes a memory manager 4 operating in an environment with distributed primary memory device. その論理的なアドレス空間を第2図に示すが、各プロセスに私用メモリ領域6,6′,6″…等が割り当てられており、各々は読み書き両方の権利を有するが、オペレーティングシステムのデータベース2、コード8およびデータ10のような共通部分を読む権利も有する。論理的アドレス空間において、いくつかのプロセスのローカルメモリでは同じアドレスが存在することができるが、 物理的メモリでは異なるアドレスにマッピングされる。共通部分に関しては、すべてのプロセスが論理的アドレスと物理的アドレスに同じマッピングを有する。 ユーザ(クライアント)のプロセスがデータベースのメモリ領域において書込み権利なしの読み出し権利を得ることができれば、本発明が提供する方法により、オブジェクトにアクセスする Shows the logical address space in Figure 2, private memory area 6, 6 to each process', 6 "... etc. it is allocated, but each has both read and write rights, the operating system database 2, the common part may have. logical address space right to read, such as code 8 and data 10, although in some local memory of the process there may be the same address, mapped to different addresses in the physical memory is. for the intersection, all processes if it is possible to obtain a reading rights without writing rights process in the memory area of ​​the database. user (client) having the same mapping to the logical address and the physical address, the the method of the invention is to provide, to access the object とが実現される。以下それについて詳しく説明する。 オペレーティングシステムの一部であるメモリマネージャ4はアプリケーションに基本インタフェイス12、以下DMIインタフェイスと呼ぶ(DMI=Data base Manager interface)、を提供する。これはすべてのユーザが使うことができるようにする。DMIインタフェイスはローレベル・キャラクタを有し、なかんずく(i.a.)型セキュリティのための機構を全く持っていない。 データのアクセスはすべてのオブジェクトをオープンすることによって実行される。オープン操作のための入力データはオブジェクト型、一次キーおよびユーザが必要とするオブジェクトへのアクセス型である。オープン操作時にオブジェクトは一次キーにより記憶されて、カレント・ロック型が与えられ Bets are realized. Hereinafter it will be described in detail. Memory Manager 4 Basic interface 12 to the application, which is part of the operating system, hereinafter referred to as DMI interface (DMI = Data base Manager interface), it provides. This .DMI interface that allows all users use has low level character, inter alia (i.a.) type do not have any mechanism for security. access all data the input data for the. open operations performed by opening an object is an access type to an object that requires an object type, primary key and the user. at open operation object stored by the primary key, given the current lock type 。それと関連して、そのオブジェクトを他のプロセスが使っているかどうかが検査される。 オープニング操作の結果、ユーザプロセス14はエージェントオブジェクト1 6に対するポインタ15を受信する。エージェントオブジェク16は実際のオブジェクトのインタフェイスを有するが、オブジェクトのアトリビュートを全く持ってない。その替りにエージェントオブジェクト16はデータベース2の中のデータレコード18に記憶されているオブジェクトのデータに対する参照を含む。 エージェントオブジェクト16はアトリビュートの読み書き操作という形で、基本インタフェイス12を経由してデータベースレコード18にアクセスする。データベースレコード18に対する参照は本質的にポインタ20であるが、これは参照が . At the same relation to, the object of other processes using whether is is the. Opening operation inspection results, the user process 14 receives a pointer 15 to the agent object 1 6. Agent object 16 is an actual object has an interface does not have any attribute of an object. agent object 16 in that instead the. agent object 16 attributes read and write, including a reference to data objects stored in the data record 18 in the database 2 in the form of operations to access the database records 18 through the basic interface 12. Although references to database records 18 is essentially a pointer 20, which reference is 効か否かを検査可能なようにして実現される。 It is implemented whether to allow inspection work. オブジェクトのメソッドのコードに達するには、記憶されているオブジェクトをオープンしたユーザが、オープンしたオブジェクトのクラスのコードを同じローディングモジュールにリンクさせることを必要としないということをダイナミック・リンキング・メカニズムが認めるという形式による。 To reach the code of the method of the object, the user who opened the object stored is dynamic linking mechanism admits that it does not require that the linking code for the class of objects which opened in the same loading module by the form. リンキングはエージェントオブジェクトをつくるのと一緒に実行される。 Linking is carried out in conjunction with making the agent object. ダイナミック・リンキング・メカニズムはまた、オープンしたオブジェクトはオープニングプロセスにより期待されたものの特殊化されたものであることも容認する。 Dynamic linking mechanism is also acceptable that the object which opened are those specialized what was expected by the opening process. 特に、実際にオープンされたオブジェクトはオープニングプロセスにとって知られてないメソッドとアトリビュートとを有するかもしれないし、それによって知られたメソッドは基礎クラスとは異なる風に実現されるかもしれない。 In particular, to actually open object may have the methods and attributes that are not known for the opening process, the method that has been known by it may be implemented in different wind from the base class. 特化されたオブジェクト型のコードは、ユーザコードがコンパイルされてリンクされたときに、それが知られる必要なくダイナミック・リンキグ・メカニズムによりプロセスからアクセスされる。 Code specialized object type, when the user code is linked compiled, it is accessed from the process by dynamic Rinkigu mechanism without known. エージェントオブジェクト16、以下「DOA(Data Object Agent(データ・ オブジェクト・エージェント))」とも呼ぶ、は以下のものを用いてメモリマネージャ4の機能を助ける。 Agent object 16, hereinafter also referred to as "DOA (Data Object Agent (Data Object Agent))", helps the function of the memory manager 4 using the following. ・インタフェイス22、以下「DOI(Data Object Agent Interface(データ・オブジェクト・エージェント・インタフェイス))」と呼ぶ。 · Interface 22, hereinafter referred to as "DOI (Data Object Agent Interface (Data Object Agent interface))". ・DOIインタフェイスにおける型制御。 • The type control in the DOI interface. ・アトリビュート番号の隠匿(Hiding)。 Concealment of-attribute number (Hiding). ・双方向参照の更新の実行。 And execution of the update of the bi-directional reference. ・分散とアドレッシングの隠匿(Hiding)。 And dispersing and addressing concealment of (Hiding). ・「トリガ」、すなわち、ある定められたイベント時に、通常記憶されているオブジェクト内のアトリビュートの更新時に、実行されるユーザが定義したルーチン。 · "Trigger", i.e., when there a defined event, when updating the attributes in the object being normally stored, the routine user defined to be executed. ・トランザクションとの接続。 Transaction and connection. 以下DMIインタフェイス12の機能について詳しく説明する。 Will be described in detail the function of DMI interface 12 or less. 前述の説明から明らかなように、オブジェクトはアクセス時にユーザプロセス14に転送されないで、替わりにエージェントオブジェクト16がつくられ、これがメモリマネージャ4のメモリ部から直接オブジェクトのデータ18にアクセスすることができる。 As apparent from the foregoing description, the object is not transferred to the user process 14 at access, the agent object 16 is made instead, it can access the data 18 of the object directly from the memory unit of the memory manager 4. そのとき何らかのプログラムエラーのせいで、ユーザプロセス14が書込みによりデータベース2内のデータを破壊するのを防止するために、このアクセスはメモリマネージャ4内のルーチンを呼ぶことにより行うことが要求される。 Because of some program error at that time, to the user process 14 is prevented from destroying the data in the database 2 by the writing, the access it is required to perform by calling routines in the memory manager 4. するとメモリマネージャは、ユーザプロセスがまだオープンしてないオブジェクトに更新のために書込もうとしているのか否かということを調べることができる。 Then the memory manager, it is possible to find out that whether or not the user process trying to still Komimo write for an update to an object that is not open. メモリマネージャ4の呼出しは、スーパバイザモードへの遷移を意味するいわゆるトラップ呼出しの形で実行される。 Call the memory manager 4 is executed in the form of a so-called trap calls, which means a transition to supervisor mode. スーパバイザモードで実行されるコードはコンピュータのメモリのすべての部分に書込む可能性を有するが、ユーザプロセス14は自分専用のメモリ領域6にしかアクセスできない。 Code running in the supervisor mode has the possibility of writing in all parts of the memory of the computer, the user process 14 can only access the memory area 6 of their own. メモリマネージャ4とインタフェイス12のコードは汎用(generic)でなければならない。 Code memory manager 4 and the interface 12 must be universal (generic). すなわち管理すべきすべてのオブジェクトの型に適用できるように、またメモリマネージャ4を設計するときに詳細がわからなかったオブジェクトの型にも適用できるようにつくらなければならない。 That is, as applicable to the type of all objects to be managed, and must be made to be also applicable to the type of detail did not know objects when designing the memory manager 4. この理由のために、DM I操作は、データ型の表現とセマンテックに関する知識を何も持たずとも、データベース2内に記憶されているすべてのタイプのオブジェクトを管理することができるように、インタフェイス12をつくる。 For this reason, DM I operations, even without the knowledge representation and Semantic data types anything, to be able to manage all types of objects stored in the database 2, interface create a 12. そのためにインタフェイス12はローレベル・キャラクタを有し、アプリケーション設計のための直接プログラミングインタフェイスとしてそれを不適当なものにしている。 Its interface 12 to have a low level character, it is the unsuitable as a direct programming interface for application design. これまで使ってきた概念型セキュリティは、プログラミング言語の範囲内の概念であり、変数がプログラム全体で首尾一貫して使われていることをコンパイラが調べることができることを意味する。 So far with getting the concept type security is a concept within the scope of the programming language, which means that it is possible that the compiler check that variables are used consistently throughout the program. プログラムはどの型のデータを変数に記憶すべきかを宣言する。 The program declares whether to store any type of data in the variable. 型を定義することによって、変数に記憶される情報の表現と解釈が決まる。 By defining the mold, representation and interpretation of information stored in the variable is determined. プログラムにおける種々の関数に対する変数、定数、パラメータおよびリターン値は通常型宣言される。 Variables for the various functions in the program, constants, parameters and return values ​​are normally type declared. 宣言することにより、コンパイラが意図されたように変数を使うことができるようになる。 By declaring, it is possible to use a variable as the compiler is intended. 例えば、文字列が期待されているとき、ある関数に対するパラメータに整数を使うことが阻止される。 For example, when the string is expected, it is prevented to use the integer parameters for a function. ここで、本発明による方法を用いて、データベース2内のデータにアクセスしてそれを管理することを、部分的に擬似コードを用いることにより詳しく説明する。 Here, with the method according to the invention, to manage it by accessing the data in the database 2, partially explained in detail by using the pseudo code. 説明を明確にするために次の規定を使うことにする。 In order to clarify the description will be using the following provisions. 各発生毎に 1;注釈が続くことを示す。 Indicating that the annotation is followed; 1 for each occurrence. 2;ユーザコードが続くことを示す。 2; it indicates that the user code is followed. 3;生成したコードが続くことを示す。 3; it indicates that generated code is followed. 4;メモリマネージャ内で汎用コード(generic code)が続くことを示す。 4; it indicates that generic code (generic code) followed by the memory manager. 読み出しアクセス 1;オブジェクト型のパーソン(Person)がデータベースに含まれているとする。 The object type Person (Person) is contained in the database; read access 1. オブジェクトへのアクセスは以下のように行われる。 Access to the object is carried out as follows. 2;Person::open Dirty Read(〈primary-key-value〉)//Directed to a gene rated class method(C++シンタックス) 3;クラスメソッドがDMIインタフェイスの汎用オープンメソッド・パラメータであるオブジェクト型の番号と一次キー値とを呼び出し、それらのうちオブジェクト型の番号を生成したオープンメソッドにコード化する。 2; Person :: open Dirty Read (<primary-key-value>) // Directed to a gene rated class method (C ++ syntax) 3; class method is an object type which is a general-purpose open method parameters of the DMI interface call the number and primary key value, encoding the open method that generated the number of object types of them. 4;メモリマネージャはサーチインデックスによりカレントオブジェクトを記憶する。 4; memory manager stores the current object by the search index. ポインタ、すなわち記憶されたデータベースレコードに対する物理的アドレスが表に書き込まれて、表に対するチェックサム・インデックスが生成したオープンメソッドに返される。 Pointer, i.e. a physical address for the stored database record is written in the table, it is returned to the open method checksum index for the table has been generated. データベースレコードはクラスオブジェクトへの参照を含み、それはなかんずく(i.a.)DOAクラスデザイナに対するポインタを含む。 Database record includes a reference to the class object, which inter alia contains a pointer to (i.a.) DOA class designer. このことにより、実際のクラスのDOAオブジェクトがユーザプロセスのメモリ領域内につくられる。 Thus, the actual class DOA object is created in the memory area of ​​the user process. DOAオブジェクトには、アドレス表に対するチェックサム・インデックスが記憶される。 The DOA object checksum index for the address table is stored. DOAオブジェクトに対するポインタはオープンメソッドに返される。 Pointer to the DOA object is returned to the open method. 3;オープンメソッドはユーザにポインタを返す。 3; open method returns a pointer to the user. 1;ここでDOAオブジェクトは記憶されているオブジェクトのエージェントとして働く。 1; where DOA object acts as an agent of the object stored. オブジェクト内のシューのアトリビュートサイズ(attribute size of shoe)へのアクセスは以下のように行われる。 Access to the attribute size of the shoe in the object (attribute size of shoe) is carried out as follows. 2;Size of shoe = Person DOA->Size of shoe 3:シューのアトリビュートサイズはメソッドによりDOAオブジェクトにおいて同じ名前で表現される。 2; Size of shoe = Person DOA-> Size of shoe 3: attribute size of shoe is represented by the same name in the DOA object by the method. メソッドはパラメータオフセットとアドレス表とを用いてアトリビュート値を読むために、DMIオペレーションを呼出す。 Method to read the attribute value by using the parameters offset and address table, calls the DMI operation. 4;メモリマネージャはアドレス表によりデータベースレコードを記憶して、 指示されたアトリビュートの値を返す。 4; memory manager stores the database record by the address table and returns the value of the indicated attribute. 3;DOAはユーザに呼出しを返す。 3; DOA returns the call to the user. 更新 1;データベース内にオブジェクト型のパーソン(Person)があって、トランザクションが始まったとする。 Update 1: There is object types person in the database (Person), and the transaction began. オブジェクトの更新は以下のようにして行われる。 Update of the object is carried out in the following manner. 2;Person::open Update(〈primary-key-balue〉,〈transaction Id〉)//Dir ected togenerated class method. 2; Person :: open Update (<primary-key-balue>, <transaction Id>) // Dir ected togenerated class method. (C++シンタックス) 3;クラスメソッドはDMIインタフェイスの汎用オープンメソッド・パラメータであるトランザクションID、オブジェクト型の番号および一次キー値を呼び出す。 (C ++ syntax) 3; class method calls the transaction ID is a generic open method parameters of DMI interface, the number and primary key value of the object type. これらのうちオブジェクト型の番号が汎用オープンメソッドにコード化される。 Of these object types number is encoded into the general-purpose open method. 4;メモリマネージャはサーチインデックスにより問題のオブジェクトを記憶する。 4; memory manager stores the object in question by the search index. データベースレコードのコピーがメモリマネージャのメモリ空間につくられる。 Copy of the database record is created in the memory space of the memory manager. ポインタ、すなわちコピーに対する物理的メモリのアドレスが表に書き込まれて、表に対するチェックサム・インデックスが生成したオープンメソッドに返される。 Pointer, or address of the physical memory is written in the table for the copy is returned to the open method checksum index for the table has been generated. データベースレコードはクラスオブジェクトに対する参照を含み、クラスオブジェクトはなかんずく(i.a.)DOAクラスデザイナに対するポインタを含む。 Database record includes a reference to the class object, class object inter alia contains a pointer to (i.a.) DOA class designer. このことにより、ユーザプロセスのメモリ領域に実際のクラスのD OAオブジェクトがつくりだされる。 Thus, D OA object actual class in the memory area of ​​the user process are created. DOAオブジェクトにはアドレス表に対するチェックサム・インデックスが記憶される。 The DOA object checksum index for the address table is stored. DOAオブジェクトに対するポインタはオープンメソッドに返される。 Pointer to the DOA object is returned to the open method. 3;オープンメソッドはポインタをクライアントに返す。 3; open method returns a pointer to the client. 1;ここでDOAオブジェクトは記憶されているオブジェクトのエージェントとして働くことができる。 1; where DOA object can act as an agent of the object stored. オブジェクトにおけるシューのアトリビュートサイズへの値の割当ては、以下のようにして行われる。 Assigning values ​​to the shoe attribute size in the object is performed as follows. 2;Person DOA->Size of shoe_put (47) 3;シューのアトリビュートサイズは、メソッドによりDOAオブジェクトにおいて同じ名前で表わされる。 2; Person DOA-> Size of shoe_put (47) 3; attribute size of shoe is represented by the same name in the DOA object by the method. そのメソッドはパラメータアトリビュート番号とアドレス表インデックスを用いてアトリビュート値を更新するために、DMIオペレーションを呼出す。 That method is to update the attribute values ​​with the parameters attribute number and address table index, calls the DMI operation. 4;メモリマネージャはアドレス表により更新用コピーを記憶して、指示されたアトリビュートに値を割り当てる。 4; memory manager stores a copy for update the address table and assigns the value to the indicated attribute. 3;DOAは呼出しをユーザに返す。 3; DOA returns the user call. 1;更新を永続的にして他のプロセスからも見えるようにするために、それを含むトランザクションを「コミット」しなければならない。 1; and permanently updated in order to be visible to other processes, must "commit" a transaction that contains it. このことは概ね以下のようにして行われる。 This is generally done as follows. 2;trRef->commit 4;もしトランザクションがいくつかのプロセッサに分散されていれば、トランザクションはログ(logs)等と書込んで2PCプロトコルを実行することにより、コミットする準備をする。 2; trRef-> commit 4; if the if dispersed in the transaction are several processors, transaction by executing the 2PC protocol is written and the like log (logs), to prepare to commit. その後でコピーとオリジナルとが交換されるので、更新されたオブジェクトが見えるようになる。 Since then copy and the original are exchanged, so that the updated object is visible. トランザクション・マネージャはトランザクションに含まれるすべてのオブジェクトに対して、DOA内でポストコミット・トリガを実行する。 Transaction manager for all objects included in the transaction, executing the post commit triggers in the DOA. 3;トリガメソッドはDOAに所属する。 3; trigger method belongs to the DOA. 4;トランザクション・マネージャはロックを解いて、DOAオブジェクトを除去する。 4; transaction manager by solving the lock, remove the DOA object. クライアントに戻す。 Back to the client. インスタンス化 2;Person::create(〈primary-key-value〉,〈transaction Id〉)//Directed to the generated class method(C++シンタックス) 3;クラスメソッドはDMIインタフェイスの汎用オープンメソッドパラメータである、transaction Id、オブジェクト型番号および一次キー値を呼出す。 Instantiate 2; Person :: create (<primary -key-value>, <transaction Id>) // Directed to the generated class method (C ++ syntax) 3; is a class method of DMI interface general-purpose open method parameter , transaction Id, call the object type number and primary key value. それらのうちオブジェクト型番号を生成したオープンメソッドにコード化する。 Encoding the open method which generated the object type number of them. 4;メモリマネージャはオブジェクトの一次キー値を保存する。 4; memory manager stores the primary key value of the object. データベースレコードがメモリマネージャのメモリ空間につくられるが、ポインタには接続されない。 Although database record is created in the memory space of the memory manager, the pointer is not connected. すなわち、コピーに対する物理的メモリアドレスが表に書込まれて、表に対するチェックサム・インデックスは生成したオープンメソッドに返される。 That is, the physical memory address to the copy is written in the table, a checksum index for the table is returned to the open method generated. データベースレコードはクラスオブジェクトに対する参照を含み、クラスオブジェクトはなかんずく(i.a.)DOAクラスデザイナに対するポインタを含む。 Database record includes a reference to the class object, class object inter alia contains a pointer to (i.a.) DOA class designer. このことによりユーザプロセスのメモリ領域に実際のクラスのDOAオブジェクトがつくられる。 The DOA object of a real class in the memory area of ​​the user process are made by. DOAオブジェクトにはアドレス表に対するチェックサム・ インデックスが記憶される。 The DOA object checksum index for the address table is stored. DOAオブジェクトに対するポインタはオープンメソッドに返される。 Pointer to the DOA object is returned to the open method. 3;オープンメソッドはポインタをユーザに返す。 3; open method returns a pointer to the user. 1;ここでDOAオブジェクトは記憶されたオブジェクトのエージェントとして働くことができる。 1; where DOA object can act as an agent for the stored object.オブジェクトにおけるシューのアトリビュートサイズへの値の割当ては以下のようにして実行される。 2;Person DOA->Size of shoe_put (47) 3;シューのアトリビュートサイズは、メソッドによりDOAオブジェクトにおいて同じ名前で表現される。メソッドはパラメータアトリビュート番号とアドレス表インデックスを用いてアトリビュート値を更新するために、DMIオペレーションを呼出す。 4;メモリマネージャはアドレス表により更新用コピーを記憶して、指示されたアトリビュートに値を割当てる。 3;DOAを呼出しをユーザに返す。 1;更新を永続的にして他のプロセスからも見えるようにするために、それを含むハランザクションを「コミット」しなければならない。このことは既に述べたオブジェクトの更新と同様に行われる。次にサポートシステム機能について説明する。第3図を参照して、エージェントオブジェクトのコードは決められたデータ定義言語で書かれたオブジェクト型記述24から生成される。この言語用のコンパイラ26もデータレコードの構造の記述を生成し、それはメモリマネージャ4によりオブジェクトのデータを管理するのに使われる。データ構造記述とDOAコードとはローディングモジュールに収納され、それをシステムにロードすることができる。以下上述のコード生成について更に詳しく説明する。上述したところから明らかなように、記憶されたオブジェクトはメモリマネージャ4においてデータレコードとして管理され、ユーザに対してエージェントオブジェクト16により表わされる。このことはメモリマネージャ4がオブジェクトの構造、すなわちその記憶されたアトリビュートを知っていることと、エージェントオブジェクトはどのアトリビュートアクセスするのかをメモリマネージャに照合することができることとを前提とする。このことはコンパイラを用いたデータ定義言語により可能になる。データ定義言語によりオブジェクト型の正式な仕様書を書くことができる。この仕様書から一方ではメモリマネージャ4にロードされる、(矢印28)、データ構造記述と、他方ではエージェントオブジェクト16に提供される、(矢印3 0)、コードとが生成される。生成されたコードにはDMIインタフェイス12 に対する呼出しが含まれ、そこでオブジェクトのアトリビュートがアトリビュート番号と照合される。生成されたDOIインタフェイス22では、同じアトリビュートがプレーン言語でアトリビュート名と照合され、それが宣言に使われる。データ定義言語でアトリビュートが宣言されると、その名前と型とが指示される。生成されたコードにはアトリビュートが2種類の機能、ひとつが読出し用でもうひとつが書込み用、として、宣言されたアトリビュートと同じ名前で存在する。これらの機能はそれぞれアトリビュートの宣言された型と同じ型の値を返したり受取ったりする。メモリマネージャ4にロードされたデータ構造記述において、同じアトリビュートはアトリビュート番号と、宣言された型のメモリ空間に対応するサイズ情報とにより表わされる。本発明は特にオブジェクトの比較的小さい部分の読出しアクセスと更新に関して優れた性能を提供する。オープン時に応答時間が短く、更新後データベースに再コピーする必要がなく、オブジェクトはいつでもデータベースに記憶されている。メモリマネージャ4への書込み操作はすべてインタフェイス12を経由して行い、データベースメモリに直接アプリケーションコードを書込まないようにすることによって、今アクセスしている以外のオブジェクトに書込むことにより無意識にアプリケーションを破壊することに対する保護がなされる。本発明により別の方法なら難しかったであろう以下のような他の機能も実現可能になる。 ・トリガデータベースへの書込みはすべてエージェントオブジェクト16のインタフェイス22を経由して行われるので、オブジェクト型とアトリビュートにトリガをつけることができる。トリガはDMI呼出し、すなわちインタフェイス12を経由した呼出し以外にも、またトリガコードの実行以外にも、エージェントオブジェクト16の一部であるDOI操作によるインプリメントされる。 MOSIインタフェイスユーザインタフェイス用基本ツールと協力するために、オブジェクトにはMO SI(Marraged object Support Interface(管理されたオブジェクト・サポート・インタフェイス)と呼ばれるインタフェイスが付いている。これはオブジェクト内のアトリビュートにアクセスしてメソッドを実行するためのパラメータを含むインタフェイスであって、基本オブジェクト管理エージェントから操作される。MOSIインタフェイスのメソッドは外部のアイデンティティからの内部アイデンティティへのマッピングを含み、コンパイラ26により生成される。

Claims (1)

  1. 【特許請求の範囲】 1. [Claims] 1. データベースがメモリ付きのメモリマネージャを含むオペレーティングシステムを有しており、該データベースのデータがアトリビュートとメソッドとを含むデータエンティティとして編成されている、一次記憶装置方式データベースのデータにデータアクセスする方法であって、 ユーザプロセスをオープンして該ユーザプロセス用基本インタフェイスを提供するステップと、 前記ユーザプロセスからデータベース内のデータエンティティにアクセスするステップとを含み、 該アクセスステップは、 実際のデータエンティティに対する参照を含み、あたかもそれが実際のデータエンティティであるかのように見えるエージェントエンティティをユーザプロセス内につくるステップと、 前記参照を用いてメモリマネージャのメモリ内で直接 Database has an operating system that includes a memory manager with the memory, the data of the database is organized as data entities containing the attributes and methods, there in a way that the data access to the data of the primary storage device system database Te, comprising: providing a basic interface for the user process to open a user process, and a step of accessing the data entities in the database from the user process, the access step is a reference to the actual data entities wherein, though the steps for making the agent entity in a user process that looks as if it is an actual data entity, directly in the memory of the memory manager with reference to the reference み出すことにより、データエンティティのデータへのすべてのアクセスを実行するステップとにより行われ、 該データアクセス方法は更に、 前記基本インタフェイスを経由してデータエンティティのアトリビュートに対する読み出し書込み操作を行うステップと、 を含む、 データアクセス方法。 By out seen, is performed by the steps of performing all access to the data of the data entity, the data access method further includes the steps of performing read and write operations with respect to attributes of the basic via the interface data entities , including, data access method. 2. 2. 請求項1記載の方法において、前記データエンティティをオープンするためのオープニング操作を実行するステップを含み、該ステップは、前記データエンティティ用にデータエンティティ型記述で宣言されたとき、実のデータエンティティのインタフェイスを有する前記エージェントエンティティに対するポインタをユーザプロセスに割り当てることを含む、データアクセス方法。 The method of claim 1, comprising: performing the opening operation for opening said data entity, said step, when the declared data entity types described data entities, the actual entity of data interface It includes assigning a pointer to the agent entity having a face to the user process, the data access method. 3. 3. 請求項2記載の方法において、参照が有効であることの検査が可能なように実現されるポインタとして前記参照を形成するように、前記エージェントエンティティを生成するステップを含む、データアクセス方法。 The method of claim 2, wherein, as reference to form the reference as a pointer inspection is realized as possible to be effective, comprising the step of generating the agent entity, the data access method. 4. 4. 請求項1〜3記載の方法において、ダイナミック・リンキング・メカニズムによりデータエンティティのメソッドに関するコードを得るステップを含み、 これは前記エージェントエンティティを生成することと、データエンティティのクラスコードを知る必要なくして前記ユーザプロセスがデータエンティティをオープンすることを認めることとが一緒になって実現する、データアクセス方法。 The method of claim 1, wherein, wherein the step of obtaining a code on the methods of the data entity by the dynamic linking mechanism, which is without the need to know and generating said agent entity, the class code of the data entity the user process and is realized together admit to open the data entity, the data access method. 5. 5. 請求項1〜4記載の方法において、エージェントエンティティはメモリマネージャのメモリ領域から直接データエンティティのデータを読み出すことができるようにすることを含む、データアクセス方法。 The method of claim 1 wherein the agent entity includes to be able to read the data directly data entities from the memory area of ​​the memory manager, the data access method. 6. 6. 請求項1〜5記載の方法において、スーパバイザモードに遷移するために前記メモリマネージャを呼び出すステップを含み、このとき実行されるコードはプロセッサのメモリのすべての部分に書込むことができるが、ユーザプロセスは自分の私的メモリ領域にしかアクセスすることができない、データアクセス方法。 The method of claims 1 to 5, wherein, wherein the step of invoking the memory manager to transition to supervisor mode, this time code to be executed can be written to all portions of the memory of the processor, the user process my not be able to access only to the private memory area, data access method. 7. 7. 請求項1〜6記載の方法において、データ定義言語で記述された前記データエンティティのデータエンティティ型記述から、前記エージェントエンティティ用のコードと、前記データエンティティを含むデータベースレコードの構造とを生成するステップと、前記メモリマネージャがデータエンティティのデータを管理するために前記記述を使うステップとを含む、データアクセス方法。 The method of claim 6, wherein, from a data entity type description of said data entity described in the data definition language, and generating a code for the agent entity and structure of the database record containing the data entities and a step in which the memory manager uses the description to manage data in the data entities, the data access method. 8. 8. 請求項7記載の方法において、アクセスしたいアトリビュートエージェントエンティティによりメモリマネージャに照合するステップを含む、データアクセス方法。 The method of claim 7, comprising the step of checking to the memory manager by attributes agent entity to be accessed, the data access method. 9. 9. 請求項7記載の方法において、生成コードに基本インタフェイスの呼び出しを含むことと、ここでデータエンティティのアトリビュートがアトリビュート番号と照合され、かつ生成したエージェントエンティティのインタフェイスでは、データエンティティ型記述で使われているアトリビュート名によりプレーン言語の同じアトリビュートを照合することとを含む、データアクセス方法。 The method of claim 7, and include a call to the basic interface to the generated code, wherein the attribute data entities are matched with the attribute number, and on the interface of the generated agent entities, used in the data entity type description the cracking indicated attribute name and a matching the same attributes in plain language, data access methods. 10. 10. 請求項9記載の方法において、その名前と型とを指示することによりデータ定義言語でアトリビュートを宣言することと、生成したコードにおいて宣言されたアトリビュートと同じ名前を有する2種類の機能、ひとつは読み出しでもうひとつは書込み、としてアトリビュートを含み、前記機能は宣言されたアトリビュートの型と同じ型の値をそれぞれ返したり、受取ったりすることを含む、データアクセス方法。 The method of claim 9, wherein, two functions, one read with the declaring an attribute in the data definition language by instructing its name and type, the same name as the attribute declared in generated code another contains attributes writing, as the function comprises or receive or return a value of the same type as the type of the declared attribute, respectively, the data access method in. 11. 11. 請求項10記載の方法において、メモリマネージャにロードされるデータベースレコードの構造の記述において、アトリビュート番号と、宣言された型のメモリ空間に対応するサイズ情報とにより、同じアトリビュートを表わすことを含む、データアクセス方法。 In method of claim 10, including the description of the structure of the database record to be loaded into the memory manager, and the attribute number by the size information corresponding to the memory space of the declared type, that represent the same attributes, data how to access. 12. 12. 請求項1〜11記載の方法において、前記データエンティティはオブジェクト指向データシステムにおけるオブジェクトである、データアクセス方法。 The method of claims 1 to 11, wherein said data entities are objects in an object-oriented data system, the data access method.
JP50271695A 1993-06-23 1994-06-17 Data access method in the database of the primary storage device type Pending JPH08512151A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
SE9302175-6 1993-06-23
SE9302175 1993-06-23
PCT/SE1994/000600 WO1995000907A1 (en) 1993-06-23 1994-06-17 A method of attaining data access in a primary memory based database

Publications (1)

Publication Number Publication Date
JPH08512151A true true JPH08512151A (en) 1996-12-17

Family

ID=20390394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50271695A Pending JPH08512151A (en) 1993-06-23 1994-06-17 Data access method in the database of the primary storage device type

Country Status (6)

Country Link
EP (1) EP0705460A1 (en)
JP (1) JPH08512151A (en)
CN (1) CN1125991A (en)
CA (1) CA2165774A1 (en)
FI (1) FI956243A (en)
WO (1) WO1995000907A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864864A (en) * 1995-09-27 1999-01-26 Sun Microsystems, Inc. Method and apparatus for providing transparent persistent data support to foreign data types
US6401080B1 (en) 1997-03-21 2002-06-04 International Business Machines Corporation Intelligent agent with negotiation capability and method of negotiation therewith
US6085178A (en) * 1997-03-21 2000-07-04 International Business Machines Corporation Apparatus and method for communicating between an intelligent agent and client computer process using disguised messages
US6192354B1 (en) 1997-03-21 2001-02-20 International Business Machines Corporation Apparatus and method for optimizing the performance of computer tasks using multiple intelligent agents having varied degrees of domain knowledge
US6510429B1 (en) 1998-04-29 2003-01-21 International Business Machines Corporation Message broker apparatus, method and computer program product
CN100461176C (en) * 2006-01-26 2009-02-11 无锡永中科技有限公司 Object memory store based object reference method
CN101410836B (en) 2006-06-08 2012-05-30 国际商业机器公司 A method for providing access to data stored in a database to an application
CN100403315C (en) 2006-09-25 2008-07-16 华为技术有限公司 System and method for database access for implementing load sharing

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06105435B2 (en) * 1985-10-25 1994-12-21 株式会社日立製作所 Memory by the information processing apparatus management mechanism
US5297279A (en) * 1990-05-30 1994-03-22 Texas Instruments Incorporated System and method for database management supporting object-oriented programming
US5235701A (en) * 1990-08-28 1993-08-10 Teknekron Communications Systems, Inc. Method of generating and accessing a database independent of its structure and syntax
US5291593A (en) * 1990-10-24 1994-03-01 International Business Machines Corp. System for persistent and delayed allocation object reference in an object oriented environment
US5212787A (en) * 1991-03-12 1993-05-18 International Business Machines Corporation Method and apparatus for accessing a relational database without exiting an object-oriented environment

Also Published As

Publication number Publication date Type
EP0705460A1 (en) 1996-04-10 application
CA2165774A1 (en) 1995-01-05 application
WO1995000907A1 (en) 1995-01-05 application
FI956243A (en) 1995-12-22 application
FI956243D0 (en) grant
FI956243A0 (en) 1995-12-22 application
CN1125991A (en) 1996-07-03 application

Similar Documents

Publication Publication Date Title
Clarke et al. Ownership types for flexible alias protection
Carey et al. The EXODUS extensible DBMS project: An overview
Atkinson et al. An approach to persistent programming
Coquand et al. The calculus of constructions
Dahm Byte code engineering
Noble et al. Flexible alias protection
Gorman Understanding the Linux virtual memory manager
Parrington et al. The design and implementation of Arjuna
US6854123B1 (en) Method, system, and program for mapping standard application program interfaces (APIs) to user interface APIs
US5913064A (en) Method for generating instructions for an object-oriented processor
Gifford et al. The Cedar file system
Gabriel et al. CLOS: Integrating object-oriented and functional programming
US6493719B1 (en) Method and system for scripting for system management information
US6134559A (en) Uniform object model having methods and additional features for integrating objects defined by different foreign object type systems into a single type system
US6728963B1 (en) Highly componentized system architecture with a loadable interprocess communication manager
US5903720A (en) Object system capable of using different object authorization systems
US5682532A (en) System and method having programmable containers with functionality for managing objects
US5390310A (en) Memory management unit having cross-domain control
Richardson et al. Persistence in the E language: Issues and implementation
US5375241A (en) Method and system for dynamic-link library
US5999942A (en) Method and apparatus for enforcement of behavior of application processing systems without modifying application processing systems
US5265206A (en) System and method for implementing a messenger and object manager in an object oriented programming environment
US6493816B1 (en) Method and apparatus for encapsulating address translation for shared persistent virtual storage
US5842220A (en) Methods and apparatus for exposing members of an object class through class signature interfaces
US6446077B2 (en) Inherited information propagator for objects