JPH09185517A - Object management system - Google Patents

Object management system

Info

Publication number
JPH09185517A
JPH09185517A JP34221795A JP34221795A JPH09185517A JP H09185517 A JPH09185517 A JP H09185517A JP 34221795 A JP34221795 A JP 34221795A JP 34221795 A JP34221795 A JP 34221795A JP H09185517 A JPH09185517 A JP H09185517A
Authority
JP
Japan
Prior art keywords
instance
memory space
class
proxy
stub
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
JP34221795A
Other languages
Japanese (ja)
Inventor
Nobuyuki Yamamoto
展之 山本
Hiroshi Tomita
浩史 冨田
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP34221795A priority Critical patent/JPH09185517A/en
Publication of JPH09185517A publication Critical patent/JPH09185517A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To operate an object operating by means of sharing a memory space with the user of the object of an application and the like even in an independent memory space SOLUTION: In a class-B, the operation memory space of the object is independently set with a memory space attribute table 10. The instance 135 of a Proxy class-C corresponding to the class-B is generated at the time of generation and a new memory space 200 is generated so as to operate a stub S. An instance 225 corresponding to the class-B is operated in the memory space 200.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、計算機上のオブジ
ェクトの管理方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of managing objects on a computer.

【0002】[0002]

【従来の技術】分散オブジェクト管理システムにおい
て、オブジェクト提供者は、オブジェクト提供者の有す
る内部構造を隠蔽し、オブジェクト提供者の有する機能
を手続きとして公開する。個々のオブジェクトはインス
タンス識別子が付けられ、区別されている。オブジェク
ト利用者はオブジェクト提供者の提供する機能を利用す
るさいに、インスタンス識別子と手続きを指定して機能
の実行を要求する。このような分散オブジェクト管理シ
ステムとして、「X/Open Preliminar
y Specification,The Commo
n ObjectRequest Broker:Ar
chitecture and Specificat
ion」に記述のシステムがある。
2. Description of the Related Art In a distributed object management system, an object provider hides the internal structure of the object provider and discloses the functions of the object provider as procedures. Each object is distinguished by attaching an instance identifier. When using the function provided by the object provider, the object user requests the execution of the function by specifying the instance identifier and procedure. As such a distributed object management system, "X / Open Preliminar
y Specification, The Commo
n ObjectRequest Broker: Ar
chapter and Specificat
There is a system described in "ion".

【0003】また、オペレーティングシステムが保護の
単位であるメモリ空間を複数有している場合は、オブジ
ェクト提供者をオブジェクト利用者と異なるメモリ空間
で動作させる独立メモリ空間オブジェクトが可能であ
る。オペレーティングシステムが、記憶装置からメモリ
空間へプログラムを実行中に読み込む機能である動的リ
ンクライブラリを有している場合は共有メモリ空間オブ
ジェクトが利用可能である。「Kraig Brock
schmidt著、Inside OLE2,Micr
osoft PRESS」に記述のシステムでは独立メ
モリ空間オブジェクトと共有メモリ空間オブジェクトが
ある。
In addition, when the operating system has a plurality of memory spaces as a unit of protection, an independent memory space object for operating the object provider in a memory space different from that of the object user is possible. A shared memory space object is available if the operating system has a dynamic link library, which is the facility to read programs from storage into memory space during execution. "Kraig Block
by Schmidt, Inside OLE2, Micr
In the system described in "soft PRESS", there are independent memory space objects and shared memory space objects.

【0004】[0004]

【発明が解決しようとする課題】従来のオブジェクト管
理では、共有メモリ空間オブジェクトを独立メモリ空間
オブジェクトとして実行することはできなかった。
In the conventional object management, the shared memory space object cannot be executed as an independent memory space object.

【0005】このため、共有メモリ空間オブジェクトの
処理で障害が発生した場合、オブジェクトを含むメモリ
空間全体が失われオブジェクト利用者のデータまでもが
失われていた。
Therefore, when a failure occurs in the processing of the shared memory space object, the entire memory space including the object is lost and even the data of the object user is lost.

【0006】[0006]

【課題を解決するための手段】上記目的を達成するた
め、本発明のファイル制御方法は、(1)メモリ空間内
の手続きからは他のメモリ空間内の手続きやデータにア
クセス不可能で、各メモリ空間内の手続きはメッセージ
によって他メモリ空間内の手続きと通信可能で、記憶装
置からプログラムを読み込み可能な、複数のメモリ空間
を有する計算機上で、インスタンスに対する手続きを実
行するためのプログラムであるクラスとクラスへの参照
とデータをもつインスタンスからなるオブジェクトのオ
ブジェクト管理システムにおいて、クラスごとにインス
タンス生成要求元プログラムとオブジェクトのメモリ空
間が共有か独立かをクラスのメモリ空間属性に登録し、
クラスごとに対応するプロキシクラスを設け、プロキシ
クラスごとに対応するプログラムであるスタブを設け、
クラスのインスタンス生成を要求されたとき、クラスの
メモリ空間属性が独立ならば、クラスに対応するプロキ
シクラスのインスタンスであるプロキシインスタンスを
生成し、前記プロキシインスタンスは新たなメモリ空間
を生成してスタブメモリ空間とし、前記クラスに対応す
るスタブを前記スタブメモリ空間に読み込んで実行さ
せ、前記プロキシインスタンスは前記スタブに前記クラ
スのインスタンス生成を要求し、前記プロキシインスタ
ンスは前記スタブメモリ空間のメモリ空間識別子と前記
インスタンスのインスタンス識別子を記憶してプロキシ
インスタンスのインスタンス識別子を返し、前記プロキ
シインスタンスに手続き実行が要求されたとき、前記プ
ロキシインスタンスが記憶しているインスタンス識別子
で示されるインスタンスに手続きを実行するように前記
プロキシインスタンスが記憶しているメモリ空間識別子
で示されるメモリ空間のスタブにメッセージを送信して
応答メッセージを受け取って結果を返し、前記プロキシ
インスタンスに削除が要求されたとき、前記プロキシイ
ンスタンスが記憶しているインスタンス識別子で示され
るインスタンスを削除するように前記プロキシインスタ
ンスが記憶しているメモリ空間識別子で示されるメモリ
空間のスタブにメッセージを送信して応答メッセージを
受け取って結果を返し、前記スタブは終了して前記スタ
ブメモリ空間も消滅し、前記スタブメモリ空間で障害が
発生したとき、前記プロキシインスタンスの生成要求元
プログラムは処理を続行する。
In order to achieve the above object, the file control method of the present invention is (1) a procedure in a memory space cannot access a procedure or data in another memory space. A class that is a program for executing a procedure for an instance on a computer that has a plurality of memory spaces and that can communicate with procedures in other memory spaces by messages and can read the program from the storage device. In the object management system of an object consisting of an instance with a reference to the class and data, register whether the memory space of the instance generation request source program and the object is shared or independent for each class in the memory space attribute of the class,
Providing a proxy class corresponding to each class, providing a stub that is a program corresponding to each proxy class,
When a class instantiation is requested and the memory space attributes of the class are independent, a proxy instance that is an instance of the proxy class corresponding to the class is created, and the proxy instance creates a new memory space and creates a stub memory. As a space, a stub corresponding to the class is loaded into the stub memory space and executed, the proxy instance requests the stub to instantiate the class, and the proxy instance uses the memory space identifier of the stub memory space and the The instance identifier of the instance is stored and the instance identifier of the proxy instance is returned. When the proxy instance is requested to execute a procedure, the instance indicated by the instance identifier stored in the proxy instance is stored. The proxy instance is requested to delete, by sending a message to the stub in the memory space indicated by the memory space identifier stored by the proxy instance to receive a response message and returning the result, and executing the procedure. When a message is sent to the stub of the memory space indicated by the memory space identifier stored by the proxy instance and a response message is received so that the instance indicated by the instance identifier stored by the proxy instance is deleted. When a result is returned, the stub ends, the stub memory space disappears, and when a failure occurs in the stub memory space, the proxy instance generation request source program continues processing.

【0007】本発明においては、オブジェクト管理シス
テムにおいて、共有メモリ空間オブジェクトをメモリ空
間属性の登録によって独立メモリ空間オブジェクトとし
ても動作可能にする。これにより、オブジェクト提供者
の障害が発生しても、障害の範囲がメモリ空間内に限ら
れ、オブジェクト利用者のデータは保護される。
According to the present invention, in the object management system, the shared memory space object can be operated as an independent memory space object by registering the memory space attribute. As a result, even if the failure of the object provider occurs, the range of the failure is limited to the memory space and the data of the object user is protected.

【0008】[0008]

【発明の実施の形態】以下、本実施例のオブジェクト管
理システムの本発明に係る動作をさらに詳しく説明す
る。
BEST MODE FOR CARRYING OUT THE INVENTION The operation of the object management system of this embodiment according to the present invention will be described in more detail below.

【0009】図1は本発明を適用したオブジェクト管理
システムの一実施例を示すブロック図であり、計算機1
と記憶装置2から構成されるシステムが示されている。
計算機1はオペレーティングシステム3、メモリ空間1
00、200を有し、メモリ空間100はアプリケーシ
ョン110、オブジェクト120、オブジェクト130
を有し、メモリ空間200はスタブ210、オブジェク
ト220を有する。記憶装置2はメモリ空間属性テーブ
ル10、スタブテーブル20、スタブ−Sファイル3
3、クラスファイル30、31、32を有する。
FIG. 1 is a block diagram showing an embodiment of an object management system to which the present invention is applied.
And a storage device 2 is shown.
Calculator 1 is operating system 3, memory space 1
The memory space 100 includes an application 110, an object 120, and an object 130.
The memory space 200 has a stub 210 and an object 220. The storage device 2 includes a memory space attribute table 10, a stub table 20, and a stub-S file 3.
3. Has class files 30, 31, 32.

【0010】アプリケーション110はインスタンスへ
の参照を格納するための変数111、112をもつ。イ
ンスタンスへの参照はポインタやインスタンス識別子な
どである。
Application 110 has variables 111, 112 for storing a reference to the instance. References to instances are pointers, instance identifiers, etc.

【0011】オブジェクトは1個のクラスと複数のイン
スタンスからなる。実施例では、オブジェクト120、
220、130はそれぞれクラス121、221、13
1とインスタンス125、225、135をもつ。
An object consists of one class and multiple instances. In the example, the object 120,
220 and 130 are classes 121, 221, and 13 respectively
1 and instances 125, 225, 135.

【0012】クラスはクラスのインスタンス数を保持す
るインスタンス数フィールドと手続きをもつ。実施例で
は、クラス121、221、131はそれぞれインスタ
ンス数122、222、132と手続き123、22
3、133をもつ。
A class has an instance number field for holding the number of instances of the class and a procedure. In the embodiment, the classes 121, 221, and 131 have the number of instances 122, 222, and 132 and the procedures 123 and 22, respectively.
3 and 133.

【0013】インスタンスはクラスへの参照であるクラ
スポインタとデータをもつ。クラスへの参照はポインタ
でなく、クラス識別子などでもよい。実施例では、イン
スタンス125、225、135はそれぞれクラスポイ
ンタ126、226、136をもち、インスタンス12
5、225、135はそれぞれインスタンスデータ12
7、227、137をもつ。
An instance has a class pointer and data that is a reference to the class. A reference to a class may be a class identifier or the like instead of a pointer. In the example, instances 125, 225, 135 have class pointers 126, 226, 136, respectively, and instance 12
5, 225 and 135 are instance data 12 respectively
7, 227, 137.

【0014】クラス131はプロキシクラスである。プ
ロキシクラスのインスタンスのデータはメモリ空間識別
子フィールドとインスタンス識別子フィールドからな
る。実施例では、メモリ空間識別子138とインスタン
ス識別子139をもつ。
The class 131 is a proxy class. The data of an instance of the proxy class consists of a memory space identifier field and an instance identifier field. In the embodiment, it has a memory space identifier 138 and an instance identifier 139.

【0015】メモリ空間属性テーブル10はクラスフィ
ールド11、メモリ空間属性フィールド12をもつ。ク
ラスフィールド11はクラス識別子を格納する。メモリ
空間属性フィールド12はオブジェクトがオブジェクト
利用者とメモリ空間の関係が、共有であるか、独立であ
るか、を格納する。
The memory space attribute table 10 has a class field 11 and a memory space attribute field 12. The class field 11 stores a class identifier. The memory space attribute field 12 stores whether the object has a relationship between the object user and the memory space, which is shared or independent.

【0016】スタブテーブル20はクラスフィールド2
1、プロキシクラスフィールド22、スタブフィールド
23をもつ。クラスフィールド21はクラス識別子を格
納する。プロキシクラスフィールド22はプロキシクラ
スのクラス識別子を格納する。スタブフィールド23は
スタブファイルへの参照を格納する。
The stub table 20 has a class field 2
1, a proxy class field 22 and a stub field 23. The class field 21 stores a class identifier. The proxy class field 22 stores the class identifier of the proxy class. The stub field 23 stores a reference to the stub file.

【0017】クラスファイル30、31、32はそれぞ
れクラス121、221、131の手続きプログラムを
格納する。
The class files 30, 31, 32 store the procedure programs of the classes 121, 221, 131, respectively.

【0018】スタブ−Sファイル33はスタブ210の
プログラムを格納する。
The stub-S file 33 stores the program of the stub 210.

【0019】図1では、エントリ13によりクラス−A
はメモリ空間属性が共有であり、エントリ14によりク
ラス−Bはメモリ空間属性が独立であることを示してい
る。
In FIG. 1, the entry 13 indicates class-A.
Indicates that the memory space attribute is shared, and entry 14 indicates that class-B has independent memory space attributes.

【0020】また、クラス121、221に対応するプ
ロキシクラスがクラス−C、スタブがスタブ−Sである
ことを示している。
Further, it is shown that the proxy class corresponding to the classes 121 and 221 is class-C and the stub is stub-S.

【0021】図2は図1のクラス121、221、13
1がもつ手続きの構造の一実施例を示すブロック図であ
る。インスタンス生成手続き500、インスタンス削除
手続き510はインスタンスの生成、削除を処理するも
のである。他の手続き520、530はインスタンスに
対する処理を行なうものである。
FIG. 2 shows the classes 121, 221, and 13 of FIG.
3 is a block diagram showing an example of a structure of a procedure possessed by 1. The instance generation procedure 500 and the instance deletion procedure 510 process generation and deletion of an instance. Other procedures 520 and 530 perform processing for the instance.

【0022】図3はアプリケーションのインスタンス生
成動作を示すフローチャートである。
FIG. 3 is a flow chart showing the operation of creating an instance of an application.

【0023】クラス識別子を指定してオペレーティング
システムにインスタンス生成を要求する(1300)。
A class identifier is specified to request the operating system to generate an instance (1300).

【0024】生成されたインスタンスへの参照を変数へ
格納する(1310)。
The reference to the created instance is stored in a variable (1310).

【0025】図4はオペレーティングシステムのインス
タンス生成動作を示すフローチャートである。
FIG. 4 is a flow chart showing an instance generation operation of the operating system.

【0026】クラス識別子を受け取る(1400)。A class identifier is received (1400).

【0027】メモリ空間属性テーブルを検索してクラス
識別子に一致するエントリからメモリ空間属性を得る
(1410)。
The memory space attribute table is searched to obtain the memory space attribute from the entry that matches the class identifier (1410).

【0028】メモリ空間属性を調べる(1420)。The memory space attributes are examined (1420).

【0029】メモリ空間属性が独立の場合は、スタブテ
ーブルを検索してクラス識別子に一致するエントリから
プロキシクラス識別子を得(1430)、プロキシクラ
ス識別子に対応するプロキシクラスを獲得し(143
1)、プロキシクラスのインスタンス生成手続きにクラ
ス識別子を渡してインスタンス生成を要求する(143
2)。
When the memory space attributes are independent, the stub table is searched to obtain the proxy class identifier from the entry matching the class identifier (1430), and the proxy class corresponding to the proxy class identifier is obtained (143).
1) Pass a class identifier to the proxy class instance creation procedure to request instance creation (143)
2).

【0030】メモリ空間属性が共有の場合は、クラス識
別子に対応するクラスを獲得し(1441)、クラスの
インスタンス生成手続きにインスタンス生成を要求する
(1442)。
When the memory space attribute is shared, the class corresponding to the class identifier is acquired (1441), and the instance creation procedure of the class is requested to create an instance (1442).

【0031】生成されたインスタンスのインスタンス識
別子を返す(1450)。
The instance identifier of the created instance is returned (1450).

【0032】図5はクラスのインスタンス生成動作を示
すフローチャートである。
FIG. 5 is a flowchart showing the class instance generation operation.

【0033】メモリ空間内にインスタンスのメモリ領域
を確保する(1500)。
A memory area for the instance is secured in the memory space (1500).

【0034】インスタンスのクラスポインタがクラスを
指すように設定する(1510)。
The class pointer of the instance is set to point to the class (1510).

【0035】インスタンスのデータを初期化する(15
20)。
Initialize the data of the instance (15
20).

【0036】インスタンスのインスタンス識別子を返す
(1530)。
The instance identifier of the instance is returned (1530).

【0037】図6はプロキシクラスのインスタンス生成
動作を示すフローチャートである。
FIG. 6 is a flow chart showing the operation of creating an instance of the proxy class.

【0038】クラス識別子を受け取る(1600)。The class identifier is received (1600).

【0039】メモリ空間内にプロキシインスタンスのメ
モリ領域を確保する(1601)。
A memory area for the proxy instance is secured in the memory space (1601).

【0040】プロキシインスタンスのクラスポインタが
プロキシクラスを指すように設定する(1602)。
The class pointer of the proxy instance is set to point to the proxy class (1602).

【0041】スタブテーブルを検索してクラス識別子に
一致するエントリからスタブを得る(1603)。
The stub table is searched to obtain the stub from the entry that matches the class identifier (1603).

【0042】オペレーティングシステムに、新しいスタ
ブメモリ空間を生成して、スタブを読み込んで実行する
よう要求する(1604)。
The operating system is requested to create a new stub memory space and load and execute the stub (1604).

【0043】プロキシインスタンスのメモリ空間識別子
フィールドに生成されたスタブメモリ空間のメモリ空間
識別子を格納する(1605)。
The memory space identifier of the generated stub memory space is stored in the memory space identifier field of the proxy instance (1605).

【0044】クラス識別子を指定してインスタンス生成
を指示するメッセージをスタブへ送信する(160
6)。
A message for designating an instance by designating a class identifier is sent to the stub (160
6).

【0045】スタブから応答メッセージを受信する(1
607)。
Receive a response message from the stub (1
607).

【0046】プロキシインスタンスのインスタンス識別
子フィールドに応答メッセージから得たインスタンス識
別子を格納する(1608)。
The instance identifier obtained from the response message is stored in the instance identifier field of the proxy instance (1608).

【0047】プロキシインスタンスのインスタンス識別
子を返す(1609)。
The instance identifier of the proxy instance is returned (1609).

【0048】図7はアプリケーションのインスタンスに
対する手続き実行動作を示すフローチャートである。
FIG. 7 is a flow chart showing the procedure execution operation for an application instance.

【0049】手続き名、入力パラメータを指定して変数
が参照するインスタンスに手続き実行を要求する(17
00)。
Specify the procedure name and the input parameters to request the instance referenced by the variable to execute the procedure (17
00).

【0050】図8はクラスのインスタンスに対する手続
き実行動作を示すフローチャートである。
FIG. 8 is a flow chart showing the procedure execution operation for an instance of a class.

【0051】手続き名、入力パラメータを受け取る(1
800)。
Receive procedure name and input parameters (1
800).

【0052】インスタンスのクラスポインタが示すクラ
ス内を検索し手続き名に一致する手続きを実行する(1
810)。
The class indicated by the class pointer of the instance is searched and the procedure matching the procedure name is executed (1
810).

【0053】実行結果を返す(1820)。The execution result is returned (1820).

【0054】図9はプロキシクラスのインスタンスに対
する手続き実行動作を示すフローチャートである。
FIG. 9 is a flowchart showing the procedure execution operation for an instance of the proxy class.

【0055】手続き名、入力パラメータを受け取る(1
900)。
Receive procedure name and input parameters (1
900).

【0056】プロキシインスタンスのインスタンス識別
子フィールドに格納されているインスタンス識別子、手
続き名、入力パラメータを指定して手続き実行を指示す
るメッセージを、プロキシインスタンスのメモリ空間識
別子フィールドに格納されているメモリ空間識別子の示
すメモリ空間のスタブへ送信する(1910)。
A message for designating the procedure execution by designating the instance identifier stored in the instance identifier field of the proxy instance, the procedure name, and the input parameter is stored in the memory space identifier field of the proxy instance. It transmits to the stub of the memory space shown (1910).

【0057】スタブから応答メッセージを受信する(1
920)。
Receive a response message from the stub (1
920).

【0058】実行結果を返す(1930)。The execution result is returned (1930).

【0059】図10はアプリケーションのインスタンス
削除動作を示すフローチャートである。
FIG. 10 is a flow chart showing the operation of deleting an instance of an application.

【0060】変数が参照するインスタンスにインスタン
ス削除手続き実行を要求する(2000)。
The instance referred to by the variable is requested to execute the instance deletion procedure (2000).

【0061】図11はクラスのインスタンス削除動作を
示すフローチャートである。
FIG. 11 is a flow chart showing the class instance deletion operation.

【0062】インスタンスのメモリ領域を解放する(2
100)。
Release the memory area of the instance (2
100).

【0063】インスタンスのクラスポインタが示してい
たクラスを解放する(2110)。
The class indicated by the class pointer of the instance is released (2110).

【0064】図12はプロキシクラスのインスタンス削
除動作を示すフローチャートである。
FIG. 12 is a flow chart showing the operation of deleting an instance of the proxy class.

【0065】プロキシインスタンスのインスタンス識別
子フィールドに格納されているインスタンス識別子を指
定してインスタンス削除手続き実行を指示するメッセー
ジを、メモリ空間識別子フィールドに格納されているメ
モリ空間識別子の示すメモリ空間のスタブへ送信する
(2200)。
A message designating the instance deletion procedure by designating the instance identifier stored in the instance identifier field of the proxy instance is sent to the stub of the memory space indicated by the memory space identifier stored in the memory space identifier field. (2200).

【0066】プロキシインスタンスのメモリ領域を解放
する(2210)。
The memory area of the proxy instance is released (2210).

【0067】プロキシインスタンスのクラスポインタが
示していたプロキシクラスを解放する(2220)。
The proxy class indicated by the class pointer of the proxy instance is released (2220).

【0068】図13はクラスの獲得動作を示すフローチ
ャートである。
FIG. 13 is a flow chart showing the class acquisition operation.

【0069】クラス識別子を受け取る(2300)。The class identifier is received (2300).

【0070】メモリ空間内にクラスが存在するかどうか
調べる(2310)。
It is checked whether the class exists in the memory space (2310).

【0071】既に存在していればインスタンス数フィー
ルドを1増加する(2320)。
If it already exists, the instance number field is incremented by 1 (2320).

【0072】まだ存在していなければメモリ空間内にク
ラスの領域を確保し(2330)、インスタンス数フィ
ールドを1にし(2331)、記憶装置からクラスに対
応するクラスファイルを読み込む(2332)。
If it does not exist, a class area is secured in the memory space (2330), the instance number field is set to 1 (2331), and the class file corresponding to the class is read from the storage device (2332).

【0073】図14はクラスの解放動作を示すフローチ
ャートである。
FIG. 14 is a flowchart showing the class releasing operation.

【0074】クラスへの参照を受け取る(2400)。A reference to a class is received (2400).

【0075】インスタンス数フィールドを1減少する
(2410)。
The instance number field is decremented by 1 (2410).

【0076】インスタンス数フィールドが0かどうか判
定し(2420)、0ならば、クラスの領域を解放する
(2430)。
It is determined whether the instance number field is 0 (2420). If it is 0, the class area is released (2430).

【0077】図15はスタブの動作を示すフローチャー
トである。
FIG. 15 is a flow chart showing the operation of the stub.

【0078】メッセージが到着するのを待つ(250
0)。
Wait for message to arrive (250
0).

【0079】メッセージの種類を判定する(251
0)。
Determine the type of message (251
0).

【0080】メッセージがインスタンス生成ならば、メ
ッセージからクラス識別子を得て(2520)、クラス
識別子を指定してオペレーティングシステムにインスタ
ンス生成を要求する(2521)。
If the message is the instance generation, the class identifier is obtained from the message (2520), the class identifier is designated and the operating system is requested to generate the instance (2521).

【0081】メッセージが他の手続きならば、メッセー
ジからインスタンス識別子、手続き名、入力パラメータ
を得て(2530)、手続き名、入力パラメータを指定
してインスタンス識別子の示すインスタンスに手続き実
行を要求する(2531)。
If the message is another procedure, the instance identifier, the procedure name, and the input parameter are obtained from the message (2530), the procedure name and the input parameter are designated, and the procedure execution is requested to the instance indicated by the instance identifier (2531). ).

【0082】実行結果を応答メッセージにして送信する
(2540)。
The execution result is sent as a response message (2540).

【0083】再度メッセージの種類を判定し、インスタ
ンス削除なら終了する(2550)。
The message type is determined again, and if the instance is deleted, the process ends (2550).

【0084】[0084]

【発明の効果】本発明によれば、メモリ空間を共有して
動作するオブジェクトを独立メモリ空間で動作させるこ
とができるようになるので、オブジェクト利用者のデー
タが失われることがなくなる。
As described above, according to the present invention, since an object which operates by sharing a memory space can be operated in an independent memory space, data of an object user is not lost.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施例を示すブロック図。FIG. 1 is a block diagram showing one embodiment of the present invention.

【図2】クラスの構造を示すブロック図。FIG. 2 is a block diagram showing a class structure.

【図3】インスタンス生成時のアプリケーションのフロ
ーチャート。
FIG. 3 is a flowchart of an application when creating an instance.

【図4】インスタンス生成時のオペレーティングシステ
ムのフローチャート。
FIG. 4 is a flowchart of an operating system when creating an instance.

【図5】インスタンス生成時のクラスのフローチャー
ト。
FIG. 5 is a flowchart of a class when creating an instance.

【図6】インスタンス生成時のプロキシクラスのフロー
チャート。
FIG. 6 is a flowchart of a proxy class when creating an instance.

【図7】インスタンス実行時のアプリケーションのフロ
ーチャート。
FIG. 7 is a flowchart of an application when executing an instance.

【図8】インスタンス実行時のクラスのフローチャー
ト。
FIG. 8 is a flowchart of a class when an instance is executed.

【図9】インスタンス実行時のプロキシクラスのフロー
チャート。
FIG. 9 is a flowchart of a proxy class when executing an instance.

【図10】インスタンス削除時のアプリケーションのフ
ローチャート。
FIG. 10 is a flowchart of an application when deleting an instance.

【図11】インスタンス削除時のクラスのフローチャー
ト。
FIG. 11 is a flowchart of a class when deleting an instance.

【図12】インスタンス削除時のプロキシクラスのフロ
ーチャート。
FIG. 12 is a flowchart of a proxy class when deleting an instance.

【図13】クラス獲得の処理を示すフローチャート。FIG. 13 is a flowchart showing a class acquisition process.

【図14】クラス解放の処理を示すフローチャート。FIG. 14 is a flowchart showing a class releasing process.

【図15】スタブの処理を示すフローチャート。FIG. 15 is a flowchart showing a stub process.

【符号の説明】[Explanation of symbols]

1…計算機、 2…記憶装置、 110…アプリ
ケーション、210…スタブ、
100,200…メモリ空間、120,220,13
0…オブジェクト、 121,221,131…クラ
ス、125,225,135…インスタンス、 10
…メモリ空間属性テーブル、20…スタブテーブル、
33…スタブファイル、30,31,
32…クラスファイル。
1 ... Calculator, 2 ... Storage Device, 110 ... Application, 210 ... Stub,
100, 200 ... Memory space, 120, 220, 13
0 ... Object, 121, 221, 131 ... Class, 125, 225, 135 ... Instance, 10
... memory space attribute table, 20 ... stub table,
33 ... Stub file, 30, 31,
32 ... Class file.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】メモリ空間内の手続きからは他のメモリ空
間内の手続きやデータにアクセス不可能で、各メモリ空
間内の手続きはメッセージによって他メモリ空間内の手
続きと通信可能で、記憶装置からプログラムを読み込み
可能な、複数のメモリ空間を有する計算機上で、インス
タンスに対する手続きを実行するためのプログラムであ
るクラスとクラスへの参照とデータをもつインスタンス
からなるオブジェクトのオブジェクト管理システムにお
いて、クラスごとにインスタンス生成要求元プログラム
とオブジェクトのメモリ空間が共有か独立かをクラスの
メモリ空間属性に登録し、クラスごとに対応するプロキ
シクラスを設け、プロキシクラスごとに対応するプログ
ラムであるスタブを設け、クラスのインスタンス生成を
要求されたとき、クラスのメモリ空間属性が独立なら
ば、クラスに対応するプロキシクラスのインスタンスで
あるプロキシインスタンスを生成し、前記プロキシイン
スタンスは新たなメモリ空間を生成してスタブメモリ空
間とし、前記クラスに対応するスタブを前記スタブメモ
リ空間に読み込んで実行させ、前記プロキシインスタン
スは前記スタブに前記クラスのインスタンス生成を要求
し、前記プロキシインスタンスは前記スタブメモリ空間
のメモリ空間識別子と前記インスタンスのインスタンス
識別子を記憶してプロキシインスタンスのインスタンス
識別子を返し、前記プロキシインスタンスに手続き実行
が要求されたとき、前記プロキシインスタンスが記憶し
ているインスタンス識別子で示されるインスタンスに手
続きを実行するように前記プロキシインスタンスが記憶
しているメモリ空間識別子で示されるメモリ空間のスタ
ブにメッセージを送信して応答メッセージを受け取って
結果を返し、前記プロキシインスタンスに削除が要求さ
れたとき、前記プロキシインスタンスが記憶しているイ
ンスタンス識別子で示されるインスタンスを削除するよ
うに前記プロキシインスタンスが記憶しているメモリ空
間識別子で示されるメモリ空間のスタブにメッセージを
送信して応答メッセージを受け取って結果を返し、前記
スタブは終了して前記スタブメモリ空間も消滅し、前記
スタブメモリ空間で障害が発生したとき、前記プロキシ
インスタンスの生成要素元プログラムは処理を続行する
ことを特徴とするオブジェクト管理システム。
1. A procedure in a memory space cannot access a procedure or data in another memory space, and a procedure in each memory space can communicate with a procedure in another memory space by a message. For each class in the object management system of an object consisting of a class that is a program for executing procedures for instances on a computer that can read the program and has multiple memory spaces, and a reference to the class and an instance that has data Register in the memory space attribute of the class whether the memory space of the instance generation request source program and the object is shared or not, set a proxy class corresponding to each class, set a stub that is a program corresponding to each proxy class, When requested to instantiate, If the memory space attributes of the lath are independent, a proxy instance that is an instance of the proxy class corresponding to the class is generated, and the proxy instance generates a new memory space as a stub memory space, and the stub corresponding to the class is generated. The proxy instance loads and executes the stub memory space, the proxy instance requests the stub to instantiate the class, the proxy instance stores the memory space identifier of the stub memory space and the instance identifier of the instance, and the proxy instance Of the proxy instance, and when the proxy instance is requested to execute the procedure, the proxy instance is configured to execute the procedure to the instance indicated by the instance identifier stored in the proxy instance. A message is sent to the stub of the memory space indicated by the memory space identifier stored in the stance, the response message is received and the result is returned, and when the proxy instance is requested to delete, the proxy instance remembers it. A message is sent to the stub in the memory space indicated by the memory space identifier stored by the proxy instance so as to delete the instance indicated by the instance identifier, the response message is received and the result is returned, and the stub terminates. The object management system, wherein the stub memory space also disappears, and when a failure occurs in the stub memory space, the generation element source program of the proxy instance continues processing.
JP34221795A 1995-12-28 1995-12-28 Object management system Pending JPH09185517A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34221795A JPH09185517A (en) 1995-12-28 1995-12-28 Object management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34221795A JPH09185517A (en) 1995-12-28 1995-12-28 Object management system

Publications (1)

Publication Number Publication Date
JPH09185517A true JPH09185517A (en) 1997-07-15

Family

ID=18352030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34221795A Pending JPH09185517A (en) 1995-12-28 1995-12-28 Object management system

Country Status (1)

Country Link
JP (1) JPH09185517A (en)

Similar Documents

Publication Publication Date Title
JP3868013B2 (en) Code remote execution method and system
US6175878B1 (en) Integration of systems management services with an underlying system object model
EP0737916B1 (en) Methods, apparatus and data structures for managing objects
US5581760A (en) Method and system for referring to and binding to objects using identifier objects
US6463446B1 (en) Method and apparatus for transporting behavior in an event-based distributed system
US5689664A (en) Interface sharing between objects
US5793965A (en) Method and apparatus for determining the type of an object in a distributed object system
US5291593A (en) System for persistent and delayed allocation object reference in an object oriented environment
US5771384A (en) Method and system for replacement and extension of container interfaces
US20020038390A1 (en) Method and apparatus for fast, local corba object references
US6434543B1 (en) System and method for reliable caching of database connections in a distributed application
US8141104B2 (en) Integrating non-compliant providers of dynamic services into a resource management infrastructure
US20040073828A1 (en) Transparent variable state mirroring
CA2171817A1 (en) Methods and apparatus for conspiracy among objects
JPH0916503A (en) Method and apparatus for management of computer process
US20020055965A1 (en) Method and system for accessing objects of different thread types
JPH0668729B2 (en) How to start the execution of a new program in a multiprocessor system
US20020059358A1 (en) Method and system for accessing objects of different thread types
WO2000010084A2 (en) Object load balancing
JP2000515279A (en) Method and apparatus for performing distributed object invocation using proxy and memory allocation
US6751796B1 (en) Integration of systems management services with an underlying system object model
US6292824B1 (en) Framework and method for facilitating client-server programming and interactions
JPH09185517A (en) Object management system
JPH03209526A (en) Object directional computor system
JP3304353B2 (en) Software resource distribution management system