JPH10275082A - System and method for remote object access - Google Patents

System and method for remote object access

Info

Publication number
JPH10275082A
JPH10275082A JP10020613A JP2061398A JPH10275082A JP H10275082 A JPH10275082 A JP H10275082A JP 10020613 A JP10020613 A JP 10020613A JP 2061398 A JP2061398 A JP 2061398A JP H10275082 A JPH10275082 A JP H10275082A
Authority
JP
Japan
Prior art keywords
server
computer
rpc
client
access
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
JP10020613A
Other languages
Japanese (ja)
Inventor
Takashi Yamada
隆司 山田
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.)
N T T DATA TSUSHIN KK
NTT Data Corp
Original Assignee
N T T DATA TSUSHIN KK
NTT Data Communications Systems Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by N T T DATA TSUSHIN KK, NTT Data Communications Systems Corp filed Critical N T T DATA TSUSHIN KK
Priority to JP10020613A priority Critical patent/JPH10275082A/en
Publication of JPH10275082A publication Critical patent/JPH10275082A/en
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

PROBLEM TO BE SOLVED: To dynamically generate an object on a computer across a network by making use of a remote procedure(RPC) and to access it. SOLUTION: A client computer 11 has a main program 3 and a conversion logic client stub 8. A server computer 12 has a conversion logic server library 9. In response to a generation request from the main program 3, the server library 9 generates an object 2, assign a unique object ID thereto, and stores this object ID and a pointer into a correspondence table 10 and also returns the object ID to the main program 3. Then, the main program 3 specifies the object ID and issues a process request and a deletion request to the object 2. The server library 9 acquires the pointer corresponding to the object ID from the correspondence table 10 and processes the object 2 that the pointer 2 indicates.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、リモートプロシー
ジャコール(遠隔手続き呼び出し;以下、「RPC」と
略称する)を用いて、ネットワークを隔てた別のコンピ
ュータ上のオブジェクトを操作するためのリモートオブ
ジェクトアクセスシステムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a remote object access for operating an object on another computer across a network using a remote procedure call (hereinafter, abbreviated as "RPC"). About the system.

【0002】なお、RPCはその実装において、ネット
ワークからの個々の処理要求を、要求ごとにプロセスを
起こし独立したメモリ空間で処理するものと、スレッド
やキューイングロジックを用いて共通のメモリ空間で処
理するものが存在するが、本方式は後者に適用できる。
[0002] In the implementation, RPC processes individual processing requests from the network in a separate memory space by initiating a process for each request and processing in a common memory space using threads and queuing logic. However, this method can be applied to the latter.

【0003】[0003]

【従来の技術】手続き型プログラミングにおける呼び出
しをネットワークを隔てたコンピュータ間で実施するた
めに、RPCが使われている。RPCはネットワークを
隔てた別のコンピュータ上の手続を、あたかもローカル
コンピュータ上の手続のように呼出すことができる技術
である。RPCを用いてあるコンピュータが別のコンピ
ュータの手続を呼出すと、その別のコンピュータでその
手続が実行され、そして、手続の実行が完了すると、そ
の結果が後者から前者へと返される。
2. Description of the Related Art RPC is used to execute calls in procedural programming between computers across a network. RPC is a technology that allows a procedure on another computer across a network to be called like a procedure on a local computer. When one computer calls the procedure of another computer using RPC, the procedure is executed on the other computer, and when the execution of the procedure is completed, the result is returned from the latter to the former.

【0004】[0004]

【発明が解決しようとする課題】ところで、オブジェク
ト指向プログラミングでは、手続型プログラミングにお
けるような手続き呼び出しではなく、オブジェクトの生
成、処理要求、消滅のようなオブジェクトに対する操作
が行われる。このようなオブジェクト指向プログラミン
グでのオブジェクト操作に関しても、ネットワークを隔
てたコンピュータ間で、別のコンピュータ上のオブジェ
クトをあたかもローカルコンピュータ上のオブジェクト
のように扱えることが望ましい。
By the way, in object-oriented programming, operations such as object creation, processing request, and deletion are performed on objects, instead of procedure calls as in procedural programming. With regard to such object operation in object-oriented programming, it is desirable that objects on another computer can be handled as if they were objects on a local computer, between computers across a network.

【0005】しかしながら、上述した従来のRPCをそ
のまま利用して、ローカルコンピュータ内でのオブジェ
クト操作と同様な操作をネットワークを隔てた別のコン
ピュータ上のオブジェクトに対して行おうと試みた場
合、以下のような問題が生じる。
However, when an attempt is made to perform the same operation as the object operation in the local computer on an object on another computer via a network by using the above-mentioned conventional RPC as it is, the following will be performed. Problems arise.

【0006】図1は、ローカルコンピュータ1内でオブ
ジェクト2を操作する場合の通常のプログラムモデルを
示す。このモデルにおいて、メインプログラム3は次の
ような操作を行なう。
FIG. 1 shows a normal program model when the object 2 is operated in the local computer 1. In this model, the main program 3 performs the following operation.

【0007】1.オブジェクト生成要求を発行し、その
結果として、オブジェクトライブラリ4に生成されたオ
ブジェクト2のポインタを取得する。
[0007] 1. An object generation request is issued, and as a result, the pointer of the object 2 generated in the object library 4 is obtained.

【0008】2.以後、取得したポインタを使用して、
オブジェクト2に対し所望の処理の実行要求を発行す
る。
[0008] 2. Thereafter, using the obtained pointer,
A request for executing a desired process is issued to the object 2.

【0009】3.オブジェクト2が不要になったら、取
得したポインタを使用してオブジェクト2の消滅要求を
発行する。
3. When the object 2 is no longer needed, a deletion request for the object 2 is issued using the obtained pointer.

【0010】このようにローカルコンピュータ内の通常
のプログラムモデルでは、生成したオブジェクトのポイ
ンタを使用して、オブジェクトに対する操作がなされ
る。
As described above, in the ordinary program model in the local computer, the operation on the object is performed using the pointer of the generated object.

【0011】このようなオブジェクト操作を、従来のR
PCを利用して、他のコンピュータ上のオブジェクトに
対して行おうとする場合、操作要求はRPCの提供する
単純な手続き型言語インタフェースに変換せざるを得な
い。そのため、例えば、オブジェクトの生成、処理要
求、消滅をそれぞれ手続型言語による手続(関数)とし
て定義し、上述したポインタを関数の引数として設定す
るような実装を行わざるを得ない。しかし、ネットワー
クを隔てた別のコンピュータ上にオブジェクトを生成し
た場合、そのオブジェクトのポインタを取得しても、メ
モリ空間が異なるために、後の別の関数呼び出しにおい
て同じオブジェクトを指定するためにそのポインタを利
用できる保証は全くない。つまり、1つの関数呼び出し
中ならば、オブジェクトを生成してそのオブジェクトに
処理を要求し且つ消滅させることは可能であっても、1
つの関数呼び出しでオブジェクトを生成し、別の関数呼
び出しでそのオブジェクトに処理を要求し、さらに別の
関数呼び出しでそのオブジェクトを消滅させるという操
作は、従来のRPCを利用したポインタをやりとりする
方式では不可能である。これでは、オブジェクトを必要
に応じ動的に生成してアクセスするというオブジェクト
指向言語の特長を生かすことができない。
[0011] Such an object operation is performed by a conventional R
When an attempt is made to use an object on another computer by using a PC, the operation request must be converted into a simple procedural language interface provided by the RPC. For this reason, for example, it is inevitable to define the creation, processing request, and deletion of an object as a procedure (function) in a procedural language, and to set the above-described pointer as an argument of the function. However, when an object is created on another computer across a network, even if the pointer of the object is obtained, the pointer is used to specify the same object in another function call later because the memory space is different. There is no guarantee that you can use. In other words, if it is possible to generate an object and request the object to process and delete the object while one function is being called, 1
The operation of creating an object with one function call, requesting the object to process with another function call, and then destroying the object with another function call is not possible with the conventional method of exchanging pointers using RPC. It is possible. This makes it impossible to take advantage of the features of an object-oriented language that dynamically creates and accesses objects as needed.

【0012】従って、本発明の目的は、RPCを利用し
てネットワークを隔てたコンピュータ上にオブジェクト
を動的に生成し且つそれにアクセスすることができるリ
モートオブジェクトアクセスシステムを提供することに
ある。
SUMMARY OF THE INVENTION It is therefore an object of the present invention to provide a remote object access system capable of dynamically generating and accessing an object on a computer across a network using RPC.

【0013】[0013]

【課題を解決するための手段】本発明の第1の側面にか
かるシステムは、RPCを通じてクライアントコンピュ
ータがサーバコンピュータ上にオブジェクトを生成し且
つそのオブジェクトにアクセスする(つまり、処理実行
を要求する、及び消滅させる)ためのシステムであっ
て、オブジェクト生成に際しては、クライアントコンピ
ュータが手続型言語インタフェースの生成要求を発し、
それに応答してサーバコンピュータがオブジェクトを生
成すると共にそのオブジェクトにユニークなIDを割り
付け、そのIDをクライアントコンピュータにレスポン
スとして返す。以後、サーバコンピュータはオブジェク
トのIDとポインタとの対応関係を管理する。そして、
クライアントコンピュータは、手続型言語インタフェー
スのオブジェクトアクセス要求をオブジェクトのIDを
指定して発行し、これに応答してサーバコンピュータは
そのIDに対応するポインタにより指定されたオブジェ
クトにアクセスする。
According to a first aspect of the present invention, there is provided a system in which a client computer creates an object on a server computer and accesses the object through an RPC (that is, requests execution of processing, and The object is generated, the client computer issues a procedural language interface generation request when the object is generated,
In response, the server computer creates an object, assigns a unique ID to the object, and returns the ID to the client computer as a response. Thereafter, the server computer manages the correspondence between the object ID and the pointer. And
The client computer issues an object access request of the procedural language interface by designating the object ID, and in response, the server computer accesses the object designated by the pointer corresponding to the ID.

【0014】本発明の第2の側面にかかるシステムは、
上記構成に加え、クライアントコンピュータが、サーバ
コンピュータ内のオブジェクト(サーバオブジェクトと
いう)に対応した仮想的なオブジェクト(クライアント
オブジェクトという)を有する。クライアントオブジェ
クトは、対応するサーバオブジェクトと同一名称のメソ
ッドをサポートし、その生成時及び消滅時には手続型言
語インタフェースの生成要求及び消滅要求を発行し、ま
た、サポートするメソッドの要求を受けると、これを手
続型言語インタフェースの対応する要求に変換する。サ
ーバコンピュータは、クライアントオブジェクトからの
要求に応答して、対応するサーバオブジェクトを生成し
たりアクセスしたりする。本発明の第3の側面にかかる
システムは、第2の側面のシステムの構成に加え、生成
するオブジェクトの種類(クラス)を指定できる機構を
更に備える。
A system according to a second aspect of the present invention comprises:
In addition to the above configuration, the client computer has a virtual object (client object) corresponding to an object (server object) in the server computer. The client object supports a method with the same name as the corresponding server object, issues a procedural language interface generation request and a deletion request at the time of its creation and deletion, and when it receives a request for a supported method, it issues this request. Converts to the corresponding request of the procedural language interface. The server computer generates and accesses a corresponding server object in response to a request from the client object. A system according to a third aspect of the present invention further includes a mechanism capable of designating a type (class) of an object to be generated, in addition to the configuration of the system according to the second aspect.

【0015】なお、本発明のシステムを構成する各コン
ピュータのプログラムは、ディスク型ストレージ、半導
体メモリ、通信回線などの種々の媒体を通じてコンピュ
ータにインストール又はロードすることができる。
[0015] The program of each computer constituting the system of the present invention can be installed or loaded into the computer through various media such as a disk storage, a semiconductor memory, and a communication line.

【0016】[0016]

【発明の実施の形態】以下、本発明の実施の形態を添付
図面に従って説明する。尚、以下の説明では、オブジェ
クトの操作(生成、処理実行、消滅)要求を発するコン
ピュータを「クライアントコンピュータ」、その要求を
受けてオブジェクトの操作を実行するコンピュータを
「サーバコンピュータ」と呼ぶ。
Embodiments of the present invention will be described below with reference to the accompanying drawings. In the following description, a computer that issues a request for operation (generation, processing execution, and deletion) of an object is referred to as a “client computer”, and a computer that executes the object operation in response to the request is referred to as a “server computer”.

【0017】本発明の第1の実施形態に係るリモートオ
ブジェクトアクセスシステムについて図2〜図4を参照
して説明する。
A remote object access system according to a first embodiment of the present invention will be described with reference to FIGS.

【0018】この実施形態の概略は次の通りである。す
なわち、サーバコンピュータは、クライアントコンピュ
ータからの生成要求に応答したオブジェクトの生成時
に、そのオブジェクトに対してユニークなIDを割り付
け、そのオブジェクトのポインタとIDとの対応表を保
持すると共に、そのIDをクライアントコンピュータに
レスポンスとして返す。クライアントコンピュータは、
サーバコンピュータからのIDを保持し、以降のサーバ
コンピュータ上のオブジェクトに対する操作は、オブジ
ェクトのIDを指定して関数を呼び出すことによって実
施する。
The outline of this embodiment is as follows. That is, the server computer allocates a unique ID to the object when generating the object in response to the generation request from the client computer, holds a correspondence table between the pointer of the object and the ID, and stores the ID in the client. Return it as a response to the computer. The client computer
The ID from the server computer is held, and subsequent operations on the object on the server computer are performed by designating the ID of the object and calling a function.

【0019】図2は、この実施形態に係るリモートオブ
ジェクトアクセスシステムの構築の基礎となるローカル
コンピュータ1内の通常のプログラムモデルを示す。
FIG. 2 shows a normal program model in the local computer 1 on which the construction of the remote object access system according to this embodiment is based.

【0020】図2に示すプログラムモデルは、図1に示
した従来のプログラムモデルと比較して明らかなよう
に、メインプログラム3とオブジェクトライブラリ4と
の間に新たに変換ロジックライブラリ5を有する。この
変換ロジックライブラリ5は、オブジェクトの生成、処
理実行要求及び消滅というオブジェクト操作ための手続
(関数)の集まりであり、メインプログラム3からオブ
ジェクト生成関数の呼び出しを受けると、オブジェクト
ライブラリ4内にオブジェクト2を生成し、その時にオ
ブジェクト2に対して識別のためのユニークなIDを割
り付け、そして、オブジェクトライブラリ4から取得し
たオブジェクト2のポインタと、オブジェクト2に割り
付けたIDとを対応テーブル6に格納して保持及び管理
する。
The program model shown in FIG. 2 has a new conversion logic library 5 between the main program 3 and the object library 4, as is apparent from comparison with the conventional program model shown in FIG. The conversion logic library 5 is a group of procedures (functions) for object operations such as object generation, processing execution request, and deletion. When the object generation function is called from the main program 3, the object 2 is stored in the object library 4. Is generated, a unique ID for identification is assigned to the object 2 at that time, and the pointer of the object 2 acquired from the object library 4 and the ID assigned to the object 2 are stored in the correspondence table 6. Retain and manage.

【0021】このプログラムモデルでのオブジェクトの
生成とアクセスの動作を以下に説明する。
The operation of generating and accessing objects in this program model will be described below.

【0022】1.オブジェクトの生成 メインプログラム3は、オブジェクト生成関数呼び出し
を変換ロジックライブラリに発行する。変換ロジックラ
イブラリ5は、オブジェクトライブラリ4内にオブジェ
クト2を生成し、かつユニークなIDを決定し、そし
て、取得したポインタとIDとを対応テーブル6に格納
し、IDをメインプログラム3にIDを返却する。メイ
ンプログラム3は、変換ロジックライブラリ5より生成
したオブジェクト2のIDを取得する。
1. Object Generation The main program 3 issues an object generation function call to the conversion logic library. The conversion logic library 5 generates the object 2 in the object library 4, determines a unique ID, stores the obtained pointer and ID in the correspondence table 6, and returns the ID to the main program 3. I do. The main program 3 acquires the ID of the object 2 generated from the conversion logic library 5.

【0023】2.オブジェクトの処理実行 メインプログラム3は、取得したIDを引数にセットし
てオブジェクト2に対する処理実行要求関数呼び出しを
変換ロジックライブラリ5に発行する。変換ロジックラ
イブラリ5は、対応テーブル6からIDに対応するポイ
ンタを取得し、そのポインタを使用してオブジェクト2
に対して処理実行要求を発行する。
2. Object Processing Execution The main program 3 sets the acquired ID as an argument and issues a processing execution request function call for the object 2 to the conversion logic library 5. The conversion logic library 5 acquires a pointer corresponding to the ID from the correspondence table 6 and uses the pointer to
Issues a process execution request to

【0024】3.オブジェクトの消滅 メインプログラム3は、オブジェクト2が不要になった
ら、取得したIDを引数にセットしてオブジェクト消滅
関数呼び出しを変換ロジックライブラリ5に発行する。
変換ロジックライブラリ5は、対応テーブル6からID
に対応するポインタを取得し、そのポインタを使用して
オブジェクト2の消滅要求を発行する。
3. Object Deletion When the object 2 is no longer needed, the main program 3 sets the acquired ID as an argument and issues an object deletion function call to the conversion logic library 5.
The conversion logic library 5 uses the ID from the correspondence table 6
Of the object 2 is issued using the pointer.

【0025】図3は、図2に示した通常のプログラムモ
デルの変換ロジックライブラリ5を基に、本実施形態シ
ステムのクライアントコンピュータとサーバコンピュー
タとにそれぞれ搭載されるプログラムユニットを生成す
る様子を示す図である。
FIG. 3 is a diagram showing how program units mounted on the client computer and the server computer of the system of the present embodiment are generated based on the conversion logic library 5 of the normal program model shown in FIG. It is.

【0026】図2に示す変換ロジックライブラリ5を公
知のRPCコンパイラ7に入力すると、変換ロジックの
RPCクライアントスタブ(以下、単にクライアントス
タブと呼ぶ)8と、変換ロジックのRPCサーバライブ
ラリ(以下、単にサーバライブラリと呼ぶ)9とが自動
的に生成される。ここで、クライアントスタブ8とサー
バライブラリ9とは、RPC機構によって結合されるこ
とによって、全体として図2に示す変換ロジックライブ
ラリ5と同じ機能を果たすものである。クライアントス
タブ8は、変換ロジックライブラリ5と同じインタフェ
ースをメインプログラム3に提供するものであり、この
インタフェースをRPCの手続型インタフェースに変換
する機能をもつ。サーバライブラリ9は、変換ロジック
ライブラリ5内の対応テーブル6に相当する対応テーブ
ル10を保持及び管理しており、変換ロジックライブラ
リ5本来の機能、つまり、クライアントスタブ8からR
PC機構を通じて到来するオブジェクト操作要求に応じ
て、実際にオブジェクトを生成し、オブジェクトに処理
実行要求を発し、かつオブジェクトを消滅させる機能を
もつ。
When the conversion logic library 5 shown in FIG. 2 is input to a known RPC compiler 7, a conversion logic RPC client stub (hereinafter simply referred to as a client stub) 8 and a conversion logic RPC server library (hereinafter simply referred to as a server) are provided. 9) is automatically generated. Here, the client stub 8 and the server library 9 have the same function as the conversion logic library 5 shown in FIG. 2 as a whole by being connected by the RPC mechanism. The client stub 8 provides the same interface as the conversion logic library 5 to the main program 3, and has a function of converting this interface into an RPC procedural interface. The server library 9 holds and manages a correspondence table 10 corresponding to the correspondence table 6 in the conversion logic library 5, and has the original function of the conversion logic library 5, that is, the client stub 8 to R
It has a function of actually generating an object in response to an object operation request coming through the PC mechanism, issuing a processing execution request to the object, and deleting the object.

【0027】図4は、上記のクライアントスタブ8とサ
ーバライブラリ9を搭載したコンピュータにより構成さ
れる本実施形態システムのプログラムモデルを示す。
FIG. 4 shows a program model of the system according to the present embodiment constituted by a computer having the client stub 8 and the server library 9 mounted thereon.

【0028】図4に示すように、クライアントコンピュ
ータ11とサーバコンピュータ12とが、ネットワーク
を隔てて存在し、両者はRPC機構13によって通信可
能である。クライアントコンピュータ11は、メイプロ
グラム3と、図3に示したクラインアントスタブ8とを
備える。サーバコンピュータ12は、オブジェクトライ
ブラリ4と、図3に示したサーバライブラリ9を備え
る。サーバライブラリ9は、前述したようにオブジェク
トライブラリ4内の各オブジェクト2のポインタとID
との対応テーブル10を有する。前述したように、RP
C機構13を通じて結合されたクライアントスタブ8と
サーバライブラリ9とが、ちょうど図2に示した通常の
プログラムモデルの変換ロジックライブラリ5と同様に
機能する。RPC機構13を通じてやりとりされるの
は、オブジェクトのポインタではなくIDであるから、
クライアントコンピュータ11とサーバコンピュータ1
2とでメモリ空間が異なることは問題にならない。従っ
て、クライアントコンピュータ11はネットワークを隔
てたサーバコンピュータ12上のオブジェクト2を操作
することができる。
As shown in FIG. 4, a client computer 11 and a server computer 12 exist over a network, and both can communicate with each other by an RPC mechanism 13. The client computer 11 includes the May program 3 and the client stub 8 shown in FIG. The server computer 12 includes the object library 4 and the server library 9 shown in FIG. The server library 9 stores the pointer and ID of each object 2 in the object library 4 as described above.
And a correspondence table 10. As mentioned above, RP
The client stub 8 and the server library 9 connected through the C mechanism 13 function just like the conversion logic library 5 of the normal program model shown in FIG. Since what is exchanged through the RPC mechanism 13 is not an object pointer but an ID,
Client computer 11 and server computer 1
It does not matter that the memory space differs between the two. Therefore, the client computer 11 can operate the object 2 on the server computer 12 via the network.

【0029】次に、図4のシステムにおけるオブジェク
ト操作について説明する。
Next, the object operation in the system shown in FIG. 4 will be described.

【0030】1.オブジェクトの生成 クライアントコンピュータ11のメインプログラム3
が、クライアントスタブ8に対してオブジェクト生成関
数呼び出し発行すると、クライアントスタブ8は、この
関数呼び出しをRPC機構13を通じてサーバライブラ
リ9に送る。サーバライブラリ9は、この関数呼び出し
に応答して、オブジェクトライブラリ4内にオブジェク
ト2を生成し、オブジェクトライブラリ4からオブジェ
クト2のポインタを取得し、オブジェクト2に対しユニ
ークなIDを割り当て、そのポインタとIDとをテーブ
ル10に格納し、更に、そのIDをRPC機構13を通
じてクライアントスタブ8へ返却する。このIDはクラ
イアントスタブ8からメインプログラム3に渡され、メ
インプログラム3はそのIDを保持する。
1. Object creation Main program 3 of client computer 11
Issues an object generation function call to the client stub 8, the client stub 8 sends the function call to the server library 9 through the RPC mechanism 13. In response to this function call, the server library 9 generates the object 2 in the object library 4, obtains a pointer of the object 2 from the object library 4, assigns a unique ID to the object 2, and assigns the pointer and the ID to the object 2. Are stored in the table 10, and the ID is returned to the client stub 8 through the RPC mechanism 13. This ID is passed from the client stub 8 to the main program 3, and the main program 3 holds the ID.

【0031】2.オブジェクトの処理実行 メインプログラム3は、取得したIDを引数にセットし
てオブジェクト2に対する処理実行要求関数の呼び出し
をクライアントスタブ8に発行する。クライアントスタ
ブ8は、その関数呼び出しをサーバライブラリ9に送
る。サーバライブラリ9は、その呼び出しに応答して対
応テーブル10からそのIDに対応するポインタを取得
し、そのポインタによって特定されるオブジェクト2に
対して処理の実行要求を発行する。
2. Object Processing Execution The main program 3 sets the acquired ID as an argument and issues a call to a processing execution request function for the object 2 to the client stub 8. The client stub 8 sends the function call to the server library 9. The server library 9 acquires a pointer corresponding to the ID from the correspondence table 10 in response to the call, and issues a process execution request to the object 2 specified by the pointer.

【0032】3.オブジェクトの消滅 メインプログラム3は、オブジェクト2が不要になった
ら、取得したIDを引数にセットしてオブジェクト消滅
要関数呼び出しをクライアントスタブ8に発行する。ク
ライアントスタブ8は、その関数呼び出しをサーバライ
ブラリ9に送る。サーバライブラリ9は、対応テーブル
10からそのIDに対応するポインタを取得し、そのポ
インタによって特定されるオブジェクト2に対して消滅
要求を発行する。
3. Object Deletion When the object 2 is no longer needed, the main program 3 sets the acquired ID as an argument and issues an object deletion required function call to the client stub 8. The client stub 8 sends the function call to the server library 9. The server library 9 acquires a pointer corresponding to the ID from the correspondence table 10 and issues a deletion request to the object 2 specified by the pointer.

【0033】以下に、本実施例システムにおける変換ロ
ジックライブラリ5の実装例を示す。オブジェクト指向
言語の1つであるC++の例えば「ObjectA」と
いうクラスについての実装例を説明する。ここで、Ob
jectAは、「Action1」「Action2」
「Action3」という3つのメソッドを持つものと
する。なお、簡単のためObjectAの生成、消滅及
びメソッドにはパラメータがないものとする。
An implementation example of the conversion logic library 5 in the system of the present embodiment will be described below. An implementation example of a class called “ObjectA” of C ++, which is one of the object-oriented languages, will be described. Where Ob
“jctA” is “Action1” and “Action2”
It is assumed that there are three methods “Action3”. For simplicity, it is assumed that there is no parameter in the creation, destruction and method of ObjectA.

【0034】変換ロジックライブラリ5を実装する場
合、手続型言語であるC言語を用いて、オブジェクト操
作関数として以下の5つの関数を用意する。
When the conversion logic library 5 is implemented, the following five functions are prepared as object operation functions using the procedural language C language.

【0035】1.オブジェクト生成関数「Object
ACreate(ID,ret)」 これはクラスObjectAのインスタンス(オブジェ
クト)を生成するための関数である。この関数は、クラ
スObjectAのインスタンスを生成すると、そのイ
ンズタンスのポインタとそれに割り当てたIDとを対応
テーブル10に格納し、そのIDと生成結果retを呼
び出し元に返却する。
1. Object creation function "Object
ACCreate (ID, ret) "This is a function for generating an instance (object) of the class ObjectA. When generating an instance of the class ObjectA, the function stores the pointer of the instance and the ID assigned to the instance in the correspondence table 10, and returns the ID and the generation result ret to the caller.

【0036】2.オブジェクト消滅関数「Object
ADelete(ID,ret)」 これは、クラスObjectAのインスタンス(オブジ
ェクト)を消滅させるための関数である。この関数は、
渡されたIDを基に対応テーブル10から対応するイン
スタンスのポインタを取得し、そのポインタにより特定
されるインスタンスを削除し、対応テーブル10からエ
ントリを削除し、その結果retを呼び出し元へ返却す
る。
2. Object extinction function "Object
ADDelete (ID, ret) "This is a function for extinguishing an instance (object) of the class ObjectA. this function is,
Based on the passed ID, a pointer of the corresponding instance is acquired from the correspondence table 10, the instance specified by the pointer is deleted, the entry is deleted from the correspondence table 10, and the result ret is returned to the caller.

【0037】3.Action1要求関数「Objec
tAAction1(ID,ret) 」 これは、メソッドAction1をインスタンスに
対して要求するための関数である。この関数は、渡され
たIDを基に対応テーブル10から対応するインスタン
スのポインタを取得し、そのポインタにより特定される
インスタンスに対してAction1を発行し、そのA
ction1の結果を結果retとして呼び出し元へ返
却する。
3. Action1 request function "Object
tAaction1 (ID, ret) "This is a function for requesting the method Action1 to the instance. This function acquires the pointer of the corresponding instance from the correspondence table 10 based on the passed ID, issues Action 1 to the instance specified by the pointer, and
The result of the action1 is returned to the caller as a result ret.

【0038】4.Action2要求関数「Objec
tAAction2(ID,ret)」5.Actio
n3要求関数「ObjectAAction3(ID,
ret)」 発行するメソッドがそれぞれAction
2、Action3である以外は、ObjectAAc
tion1(ID,ret)と同じである。
4. Action2 request function "Object
tAAction2 (ID, ret) "5. Actio
The n3 request function “ObjectAAction3 (ID,
ret) "Method to be issued is each Action
2. Except for Action 3, ObjectAAc
This is the same as the operation of the first time.

【0039】以上のCの関数を図2に示した変換ロジッ
クライブラリ5として実装し、これを図3に示したよう
にコンパイルしてできたクライアントスタブ8とサーバ
ライブラリ9とを図4に示すようにネットワーク上のコ
ンピュータ11、12に搭載することにより、クライア
ントコンピュータ11からの要求でサーバコンピュータ
12上にクラスObjectAのインスタンスを生成
し、それにAction1、Action2又はAct
ion3を要求したり、消滅させたりすることが可能に
なる。
The above function of C is implemented as the conversion logic library 5 shown in FIG. 2, and the client stub 8 and the server library 9 obtained by compiling this as shown in FIG. 3 are shown in FIG. Is mounted on the computers 11 and 12 on the network, an instance of the class ObjectA is generated on the server computer 12 in response to a request from the client computer 11, and Action 1, Action 2 or Action is generated.
ion3 can be requested or deleted.

【0040】上述した第1の実施形態によると、リモー
トコンピュータ上にオブジェクトを生成し、処理を要求
し、消滅させることができるため、以下のような効果が
ある。
According to the first embodiment, an object can be generated on a remote computer, a process can be requested, and the object can be deleted.

【0041】(1)オブジェクトに対する処理要求の結
果としてオブジェクト内部に生成した情報をリモートマ
シン上に保持できる。
(1) Information generated inside an object as a result of a processing request for the object can be held on a remote machine.

【0042】(2)オブジェクト内部に生成した情報
を、独立した処理要求によって取り出すことができる。
(2) Information generated inside an object can be extracted by an independent processing request.

【0043】(3)複数のコンピュータがリモートコン
ピュータ上のオブジェクトを共有できる。
(3) A plurality of computers can share an object on a remote computer.

【0044】次に本発明の第2の実施の形態に係るリモ
ートオブジェクトアクセスシステムについて図5、図6
を参照して説明する。
Next, a remote object access system according to a second embodiment of the present invention will be described with reference to FIGS.
This will be described with reference to FIG.

【0045】この実施形態の概略は以下の通りである。
サーバコンピュータ上のオブジェクト(サーバオブジェ
クトと呼ぶ)に対応して、それと同じインタフェースを
もつオブジェクト(クライアントオブジェクトと呼ぶ)
がクライアントコンピュータ上に生成される。ここで、
サーバオブジェクトは「真」のオブジェクトであり、一
方、クライアントオブジェクトはインタフェースだけが
サーバオブジェクトと同じ「仮想的」なオブジェクトで
あるといえる。クライアントコンピュータ内のメインプ
ログラムがクライアントオブジェクトに操作すると、そ
れに対応したサーバオブジェクトの操作がサーバコンピ
ュータ上で実行される。第1の実施形態では、メインプ
ログラムからのオブジェクト操作はC言語のような手続
型言語で行う必要があったが、第2の実施形態では、オ
ブジェクト指向言語で行うことができる。
The outline of this embodiment is as follows.
An object with the same interface as the object on the server computer (called a server object) (called a client object)
Is generated on the client computer. here,
The server object is a "true" object, while the client object is a "virtual" object whose interface is the same as the server object. When the main program in the client computer operates on the client object, the corresponding operation of the server object is executed on the server computer. In the first embodiment, the object operation from the main program has to be performed in a procedural language such as the C language, but in the second embodiment, it can be performed in an object-oriented language.

【0046】図5は、この実施形態に係るリモートオブ
ジェクトアクセスシステムの構築の基礎となるローカル
コンピュータ内の通常のプログラムモデルを示す。
FIG. 5 shows a normal program model in a local computer on which a remote object access system according to this embodiment is built.

【0047】ローカルコンピュータ21は、図2に示し
たモデルと同様にメインプログラム3、変換ロジックラ
イブラリ5及びオブジェクトライブラリ4を有する他、
メインプログラム3と変換ロジックライブラリ5との間
にクライアントオブジェクトライブラリ14を有する。
このクライアントオブジェクトライブラリ14は、各サ
ーバオブジェクト2に対応したクライアントオブジェク
ト15を有する。
The local computer 21 has a main program 3, a conversion logic library 5 and an object library 4 in the same manner as the model shown in FIG.
A client object library 14 is provided between the main program 3 and the conversion logic library 5.
The client object library 14 has a client object 15 corresponding to each server object 2.

【0048】以下、上記モデルでのオブジェクト操作を
説明する。
Hereinafter, an object operation in the above model will be described.

【0049】1.オブジェクトの生成 メインプログラム3が、クライアントオブジェクトライ
ブラリ14内にクライアントオブジェクト15を生成す
る。クライアントオブジェクト15は、生成処理の中で
変換ロジックライブラリ5に対してオブジェクト生成関
数の呼び出しを発行する。この呼び出しに応答して変換
ロジックのライブラリ5は、サーバオブジェクト2を生
成し、オブジェクト2のポインタを取得し、オブジェク
ト2にユニークなIDを割り付け、ポインタとIDを対
応テーブル6に格納し、そして、IDをクライアントオ
ブジェクト15に返却する。クライアントオブジェクト
15はそのIDを属性として保持する。
1. Generation of Object The main program 3 generates a client object 15 in the client object library 14. The client object 15 issues a call for an object generation function to the conversion logic library 5 during the generation processing. In response to this call, the conversion logic library 5 creates the server object 2, obtains a pointer to the object 2, assigns a unique ID to the object 2, stores the pointer and the ID in the correspondence table 6, and The ID is returned to the client object 15. The client object 15 holds the ID as an attribute.

【0050】2.オブジェクトの処理実行 メインプログラム3は、クライアントオブジェクト15
に処理の実行を要求する。クライアントオブジェクト1
5は、属性として保持したIDを引数にセットして、サ
ーバオブジェクト2に対する処理実行要求関数の呼び出
しを、変換ロジックライブラリ5へ発行する。変換ロジ
ックライブラリ5は、対応テーブル6からIDに対応す
るポインタを取得し、さおのポインタにより特定される
サーバオブジェクト2に対して処理実行要求を発行す
る。
2. Object processing execution The main program 3 is a client object 15
Request execution of the process. Client object 1
5 sets the ID held as an attribute as an argument and issues a call to a process execution request function to the server object 2 to the conversion logic library 5. The conversion logic library 5 acquires a pointer corresponding to the ID from the correspondence table 6, and issues a processing execution request to the server object 2 specified by the pointer.

【0051】3.オブジェクトの消滅 メインプログラム3は、不要になったクライアントオブ
ジェクト15を消滅させる。クライアントオブジェクト
15は、消滅処理の中で、属性として保持したIDを引
数にセットしてオブジェクト消滅関数の呼び出し変換ロ
ジックライブラリ5へ発行する。変換ロジックライブラ
リ5は、対応テーブル6からIDに対応するポインタを
取得し、そのポインタが指すサーバオブジェクト2に消
滅要求を発行する。
3. Object Deletion The main program 3 deletes unnecessary client objects 15. In the disappearance processing, the client object 15 sets the ID held as an attribute as an argument and issues the ID to the call conversion logic library 5 of the object disappearance function. The conversion logic library 5 acquires a pointer corresponding to the ID from the correspondence table 6, and issues a deletion request to the server object 2 indicated by the pointer.

【0052】図6は、図5に示したモデルを基礎にして
構築された本実施例システムのプログラムモデルを示
す。
FIG. 6 shows a program model of the system of this embodiment constructed on the basis of the model shown in FIG.

【0053】図示のように、クライアントコンピュータ
31は、メインプログラム3と、クライアントオブジェ
クトライブラリ14と、クライアントスタブ8とを有す
る。サーバコンピュータ32は、サーバライブラリ9
と、オブジェクトライブラリ4とを有する。ここで、ク
ライアントスタブ8とサーバライブラリ9は、図3に示
したように、変換ロジックライブラリ5を公知のRPC
コンパイラでコンパイルすることにより生成されたもの
である。
As shown, the client computer 31 has a main program 3, a client object library 14, and a client stub 8. The server computer 32 stores the server library 9
And an object library 4. Here, as shown in FIG. 3, the client stub 8 and the server library 9 convert the conversion logic library 5 into a known RPC.
It is generated by compiling with a compiler.

【0054】本実施例システムでのオブジェクト操作は
以下の通りである。
The object operation in the system of the present embodiment is as follows.

【0055】1.オブジェクトの生成 メインプログラム3は、オブジェクトライブラリ14内
にクライアントオブジェクト15を生成する。クライア
ントオブジェクト15は、生成処理の中でクライアント
スタブ8に対してオブジェクト生成関数呼び出しを発行
する。クライアントスタブ18は、その関数呼び出しを
RPC機構13を通じてサーバライブラリ19に送る。
サーバライブラリ9は、その呼び出しに応答してサーバ
オブジェクト2を生成し、オブジェクト2のポインタを
取得し、オブジェクト2にユニークなIDを割り付け、
そのポインタとIDを対応テーブル10に格納し、そし
てIDをクライアントスタブ8に返す。クライアントス
タブ8はそのIDをクライアントオブジェクト15に渡
し、クライアントオブジェクト15はそのIDを属性と
して保持する。
1. Generation of Object The main program 3 generates a client object 15 in the object library 14. The client object 15 issues an object generation function call to the client stub 8 during the generation processing. The client stub 18 sends the function call to the server library 19 through the RPC mechanism 13.
The server library 9 generates the server object 2 in response to the call, obtains a pointer to the object 2, assigns a unique ID to the object 2,
The pointer and ID are stored in the correspondence table 10, and the ID is returned to the client stub 8. The client stub 8 passes the ID to the client object 15, and the client object 15 holds the ID as an attribute.

【0056】2.オブジェクトの処理実行 メインプログラム3は、クライアントオブジェクト15
に処理実行を要求する。クライアントオブジェクト15
は、属性として保持したIDを引数にセットして処理実
行要求関数呼び出しをクライアントスタブ8を通じてサ
ーバライブラリ9に発行する。サーバライブラリ9は、
対応テーブル10からIDに対応するポインタを取得
し、そのポインタが指すサーバオブジェクト2に対して
処理実行要求を発行する。
2. Object processing execution The main program 3 is a client object 15
To execute the process. Client object 15
Issues a process execution request function call to the server library 9 through the client stub 8 with the ID held as an attribute set as an argument. The server library 9
A pointer corresponding to the ID is acquired from the correspondence table 10, and a process execution request is issued to the server object 2 indicated by the pointer.

【0057】2.オブジェクトの消滅 メインプログラム3は、不要になったクライアントオブ
ジェクト15を消滅させる。クライアントオブジェクト
15は、消滅処理の中で、属性として格納したIDを引
数にセットしてオブジェクト消滅関数呼び出しを、RP
Cクライアントスタブ8を通じてサーバライブラリ9に
発行する。サーバライブラリ9は、対応テーブル10か
らIDに対応するポインタを取得し、そのポインタが指
すサーバオブジェクト2に消滅要求を発行する。
2. Object Deletion The main program 3 deletes unnecessary client objects 15. The client object 15 sets the ID stored as an attribute as an argument during the destruction processing, and executes an object destruction function call by RP
It is issued to the server library 9 through the C client stub 8. The server library 9 acquires a pointer corresponding to the ID from the correspondence table 10 and issues a deletion request to the server object 2 indicated by the pointer.

【0058】以下に、本実施形態システムの実装例を示
す。
The following is an example of mounting the system of the present embodiment.

【0059】第1の実施形態の実装例と同様に、C++
の「ObjectA」をサーバオブジェクトのクラスと
し、それが「Action1」「Action2」「A
ction3」のメソッドを持つものとして、その「O
bjectA」についての本実施形態の実装例を説明す
る。
As in the implementation example of the first embodiment, C ++
“ObjectA” is a server object class, and it is “Action1”, “Action2”, “A”.
Ction3 ”method, the“ O
An implementation example of the present embodiment for “objectA” will be described.

【0060】まず、第1の実施形態の実装例と同様に、
C言語の5つの関数「ObjectACreate(I
D,ret)」「ObjectADelete(ID,
ret)」「ObjectAAction1(ID,r
et)」「ObjectAAction2(ID,re
t)」「ObjectAAction3(ID,re
t)」を、変換ロジックライブラリ5として用意する。
First, similarly to the mounting example of the first embodiment,
Five functions of the C language "ObjectAcCreate (I
D, ret) "," ObjectADelete (ID,
ret) "" ObjectAAction1 (ID, r
et) ”,“ ObjectAAction2 (ID, re
t) ”“ ObjectAAction3 (ID, re
t) ”is prepared as the conversion logic library 5.

【0061】次に、サーバオブジェクトのクラスObj
ectAに対応したクライアントオブジェクトのクラス
ObjectBを用意する。なお、メインプログラム内
でObjectAを使用しない場合、ObjectBの
名称はObjectAの名称と同一であっても構わな
い。このObjectBには、ObjectAがサポー
トするメソッドと同一名称のメソッドを用意し、各メソ
ッドが上記のC関数を呼び出すように実装する。そのメ
ソッドは以下の通りである。
Next, the class Obj of the server object
A class ObjectB of a client object corresponding to ectA is prepared. If ObjectA is not used in the main program, the name of ObjectB may be the same as the name of ObjectA. In this ObjectB, a method having the same name as the method supported by ObjectA is prepared, and the method is implemented so that each method calls the above C function. The method is as follows:

【0062】1.コンストラクタ(生成時処理)「Ob
jectB::ObjectB」 これは、生成関数ObjectACreate(ID,
ret)を呼び出し、返却されたIDを内部に格納す
る。
1. Constructor (processing at generation) "Ob
objectB :: ObjectB ”This is the generation function ObjectACCreate (ID,
ret), and stores the returned ID internally.

【0063】2.デストラクタ(消滅時処理)「Obj
ectB::〜ObjectB」 これは、内部を保持しているIDを使用して、消滅関数
呼び出しObjectADelete(ID,ret)
を発行する。
2. Destructor (processing at the time of disappearance) "Obj
ectB :: 〜ObjectB ”This is an object function call ObjectADDelete (ID, ret) using the ID held inside.
Issue

【0064】3.「ObjectB::Action
1」 内部保持しているIDを使用して、Action1要求
関数呼び出しObjectAAction1(ID,r
et)を発行する。
3. "ObjectB :: Action
1 ”Using the internally stored ID, calls an Action1 request function ObjectAAction1 (ID, r
et).

【0065】4.「ObjectB::Action
2」 5.「ObjectB::Action3」 これらは、発行する関数呼び出しがそれぞれObjec
tAAction2(ID,ret)、ObjectA
Action3(ID,ret)である以外は、Act
ion1と同じ。
4. "ObjectB :: Action
2 "5. "ObjectB :: Action3" These are called by Objectc
tAAction2 (ID, ret), ObjectA
Act 3 except for Action 3 (ID, ret)
Same as ion1.

【0066】以上の第2の実施形態によると、次の利点
が得られる。
According to the second embodiment, the following advantages can be obtained.

【0067】(1)ネットワーク上に配置したいオブジ
ェクトから、機械的にクライアントオブジェクトを生成
できるため、簡単にネットワークプログラムが生成でき
る。
(1) Since a client object can be mechanically generated from an object to be arranged on a network, a network program can be easily generated.

【0068】(2)ネットワーク上のオブジェクトをロ
ーカルコンピュータ内のオブジェクトと同様に、ポイン
タで制御できる。
(2) Objects on the network can be controlled by pointers in the same way as objects in the local computer.

【0069】(3)ローカルコンピュータ内のオブジェ
クト管理ロジックをリモートコンピュータ上のオブジェ
クトに対しても適用できる。
(3) The object management logic in the local computer can be applied to objects on a remote computer.

【0070】(4)本実施形態の拡張方式として、クラ
イアントオブジェクトを全くの仮想的なものとせず部分
的に実処理を実装することにより、サーバコンピュータ
とクライアントコンピュータへの負荷分散が実現でき
る。
(4) As an extension method of this embodiment, load distribution to the server computer and the client computer can be realized by partially implementing the actual processing without making the client object completely virtual.

【0071】次に本発明の第3の実施形態に係るリモー
トオブジェクトアクセスシステムについて、図7、図8
を参照して説明する。
Next, a remote object access system according to a third embodiment of the present invention will be described with reference to FIGS.
This will be described with reference to FIG.

【0072】この実施形態は、上述の第2の実施形態
に、操作対象となるオブジェクトの種別(クラス)を任
意に指定できる機構を付加したものである。操作対象の
オブジェクトのクラスを変更したい場合、第2の実施形
態では変換ロジックライブラリを再構築しなければなら
ないが、本実施形態によればその必要がない。
In this embodiment, a mechanism capable of arbitrarily specifying the type (class) of an object to be operated is added to the second embodiment. To change the class of the object to be operated, the conversion logic library must be rebuilt in the second embodiment, but this is not necessary according to the present embodiment.

【0073】図7は本実施形態に係るリモートオブジェ
クトアクセスシステムのプログラムモデルを示す。
FIG. 7 shows a program model of the remote object access system according to the present embodiment.

【0074】クライアンコンピュータ41は、メインプ
ログラム3と、オブジェクトライブラリ51と、変換ロ
ジックのRPCクライアントスタブ(以下、単にクライ
アントスタブ)53とを備える。オブジェクトライブラ
リ51には、クライアントオブジェクト52と、これに
割り付けられたID(以下、インスタンスIDという)
と、そのオブジェクト種別(クラス)を示す種別IDと
が保持される。
The client computer 41 includes a main program 3, an object library 51, and an RPC client stub (hereinafter simply referred to as a client stub) 53 of conversion logic. The object library 51 includes a client object 52 and an ID assigned to the client object 52 (hereinafter referred to as an instance ID).
And a type ID indicating the object type (class).

【0075】サーバコンピュータ42は、変換ロジック
のRPCサーバライブラリ(以下、単にサーバライブラ
リという)54と、オブジェクトライブラリ56とを備
える。オブジェクトライブラリ56にはサーバオブジェ
クト57が保持される。サーバオブジェクト57にはク
ライアントオブジェクト52が1対1で対応している
が、その具体的な構成は後に説明する。サーバライブラ
リ54には、サーバオブジェクト57のポインタとイン
スタンスIDとの対応テーブル10、及びサーバオブジ
ェクト57のオブジェクト種別IDと種類(クラス)と
の対応テーブル55とが保持される。
The server computer 42 has an RPC server library (hereinafter simply referred to as a server library) 54 for conversion logic and an object library 56. The object library 56 holds a server object 57. The client object 52 has a one-to-one correspondence with the server object 57, and a specific configuration thereof will be described later. The server library 54 holds a correspondence table 10 between the pointer of the server object 57 and the instance ID, and a correspondence table 55 between the object type ID and the type (class) of the server object 57.

【0076】クライアントスタブ53とサーバライブラ
リ54は、以下のような変換ロジックライブラリを公知
のRPCコンパイラによりコンパイルして生成したもの
である。この変換ロジックライブラリは次の3つの関数
をもつ。
The client stub 53 and the server library 54 are generated by compiling the following conversion logic library using a known RPC compiler. This conversion logic library has the following three functions.

【0077】(1)オブジェクト生成関数 この関数は、クライアントオブジェクト52からの呼び
出しに含まれているオブジェクト種別IDを基にテーブ
ル55を参照してそのオブジェクト種別IDに対応した
種類(クラス)を認識し、その種類のサーバオブジェク
57をオブジェクトライブラリ56に生成し、そのオブ
ジェクト57に対しユニークなインスタンスIDを割り
当て、そのオブジェクト57のインスタンスIDとポイ
ンタとをテーブル10に格納し、更に、そのインスタン
スIDをクライアントオブジェクト52に返却する。な
お、ここで生成されるサーバオブジェクト57は、後述
するように基本サーバオブジェクトから派生しさせて構
築したものである。
(1) Object generation function This function refers to the table 55 based on the object type ID included in the call from the client object 52 and recognizes the type (class) corresponding to the object type ID. , Creates a server object 57 of that type in the object library 56, assigns a unique instance ID to the object 57, stores the instance ID and pointer of the object 57 in the table 10, and furthermore, stores the instance ID in the client. Return to object 52. The server object 57 generated here is derived from the basic server object and constructed as described later.

【0078】(2)オブジェクト消滅関数 この関数は、クライアントオブジェクト52からの呼び
出しに含まれているインスタンスIDを基にテーブル1
0を参照してそのインスタンスIDに対応するポインタ
を取得し、そのポインタが指すサーバオブジェクト57
を消滅させる。
(2) Object extinction function This function is based on the instance ID included in the call from the client
0 to obtain a pointer corresponding to the instance ID, and the server object 57 indicated by the pointer is obtained.
To extinguish.

【0079】(3)処理要求関数 この関数は、クライアントオブジェクト52からの呼び
出しに含まれているインスタンスIDを基にテーブル1
0を参照してそのインスタンスIDに対応するポインタ
を取得し、そのポインタが指すサーバオブジェクト27
に対し、後述する基本サーバオブジェクトがサポートす
るメソッドを要求する。このメソッドの要求には、後述
する処理種別の指定が含まれている。
(3) Processing request function This function is used to execute the processing in the table 1 based on the instance ID included in the call from the client object 52.
0 to obtain a pointer corresponding to the instance ID, and the server object 27 indicated by the pointer is obtained.
Requests the methods supported by the basic server object described later. The request of this method includes designation of a processing type described later.

【0080】図8は、クライアントオブジェクト52と
サーバオブジェクト57の構成を示す。
FIG. 8 shows the configuration of the client object 52 and the server object 57.

【0081】図8において、基本サーバオブジェクト6
1は、予め用意された1つのクラスのサーバオブジェク
トであり、一つのメソッド60をサポートしている。オ
リジナルオブジェクト65は、メインプログラム3が生
成しようと意図しているオブジェクトであり、ここでは
例として3つのメソッド62、63、64をサポートし
ていることにする。
In FIG. 8, the basic server object 6
1 is a server object of one class prepared in advance, and supports one method 60. The original object 65 is an object that the main program 3 intends to generate, and here supports three methods 62, 63, and 64 as an example.

【0082】図示のようにクライアントオブジェクト5
2は、オリジナルオブジェクト25から派生させて構築
したものであり、構築時にオリジナルオブジェクト25
に対して割り付けられたオブジェクト種別IDを属性と
して持つ。このクライアントオブジェクト52は、図中
でオリジナルオブジェクト65と同じ形態に描かれてい
るように、オリジナルオブジェクト65とインタフェー
スをメインプログラム3に対し提供するものである。こ
のクライアントオブジェクト52は仮想的なオリジナル
オブジェクト65ということができ、次のような振舞を
する。
As shown, the client object 5
2 is derived from the original object 25 and is constructed.
Has an object type ID assigned to the attribute as an attribute. The client object 52 provides an interface with the original object 65 to the main program 3 as depicted in the same form as the original object 65 in the drawing. This client object 52 can be said to be a virtual original object 65, and behaves as follows.

【0083】(1)メインプログラム3からの生成要求
に応答して生成処理を行い、生成処理では、上述した変
換ロジックライブラリに対して、属性として持っている
オブジェクト種別IDを引数にセットして上記オブジェ
クト生成関数の呼び出しを発行し、そして、変換ロジッ
クライブラリから返却されたインスタンスIDを属性と
して保持する。
(1) A generation process is performed in response to a generation request from the main program 3. In the generation process, an object type ID possessed as an attribute is set in the conversion logic library as an argument, and It issues a call to the object generation function, and holds the instance ID returned from the conversion logic library as an attribute.

【0084】(2)メインプログラム3からオリジナル
オブジェクト65のサポートするメソッド62、63又
は64の要求を受けると、変換ロジックライブラリに対
して、属性として持っているインスタンスIDと、要求
されたメソッド62、63又は64に割り付けられた処
理種別とを引数にセットして上記処理要求関数の呼び出
しを発行する。なお、メソッド62、63、64の処理
種別は、クライアントオブジェクト52とサーバオブジ
ェクト57との間で構築時に割り付けられたものであ
る。
(2) Upon receiving a request for the method 62, 63 or 64 supported by the original object 65 from the main program 3, the conversion logic library receives the instance ID as an attribute and the requested method 62, 63 The processing type assigned to 63 or 64 is set as an argument and a call to the processing request function is issued. Note that the processing types of the methods 62, 63, and 64 are allocated between the client object 52 and the server object 57 at the time of construction.

【0085】(3)メインプログラムからの消滅要求に
応答して消滅処理を行い、消滅処理では、変換ロジック
ライブラリに対して、属性として持っているインスタン
スIDを引数にセットして上記オブジェクト消滅関数の
呼び出しを発行する。
(3) Deletion processing is performed in response to a deletion request from the main program. In the deletion processing, an instance ID possessed as an attribute is set as an argument to the conversion logic library and the object deletion function Issue a call.

【0086】図8に示すように、サーバオブジェクト5
7は、オリジナルオブジェクト65と基本サーバオブジ
ェクト61の2つのオブジェクトから派生させて構築し
たものであり、外部に対するインタフェースとして基本
サーバオブジェクト61がサポートするメソッド60を
有し、このメソッド60の外部から遮蔽された内部に、
オリジナルオブジェクト65がサポートするメソッド6
2、63、64を有し、これらのメソッド62、63、
64は前述した処理種別に対応付けられている。
As shown in FIG. 8, the server object 5
Numeral 7 is derived from two objects, an original object 65 and a basic server object 61, and has a method 60 supported by the basic server object 61 as an interface to the outside. Inside
Method 6 supported by original object 65
2, 63, 64, and these methods 62, 63,
Reference numeral 64 is associated with the above-described processing type.

【0087】このサーバオブジェクト57は、変換ロジ
ックライブラリから基本サーバオブジェクト60のサポ
ートするメソッド60を要求されると、その要求に含ま
れる処理種別に対応したメソッド62、63又は64を
実行する。
When the server object 57 is requested by the conversion logic library for the method 60 supported by the basic server object 60, the server object 57 executes the method 62, 63 or 64 corresponding to the processing type included in the request.

【0088】以上のモデルにより、メインプログラム3
は、自コンピュータ内に所望の種類(クラス)のオブジ
ェクト(オリジナルオブジェクト)を生成するのと同じ
操作で、ネットワーク上に当該クラスの真のオブジェク
ト(サーバオブジェクト57)を生成でき、かつ、自コ
ンピュータ内の所望のオブジェクトに所望のメソッドを
要求するのと同じ操作で、ネットワーク上のサーバオブ
ジェクト57に所望のメソッドを実行させることができ
る。
With the above model, the main program 3
Can generate a true object (server object 57) of the class on the network by the same operation as generating an object (original object) of a desired type (class) in the own computer, and With the same operation of requesting a desired method for a desired object, the server object 57 on the network can execute the desired method.

【0089】本実施形態によれば次の利点が得られる。According to the present embodiment, the following advantages can be obtained.

【0090】(1)ネットワーク上に配置したいオブジ
ェクトから、機械的にサーバオブジェクト及びクライア
ントオブジェクトを生成できるため、簡単にネットワー
クプログラムが生成できる。
(1) Since a server object and a client object can be mechanically generated from an object to be arranged on a network, a network program can be easily generated.

【0091】(2)ネットワーク上のオブジェクトをコ
ンピュータ内のオブジェクトと同様に、ポインタで制御
できる。
(2) Objects on the network can be controlled by pointers, like objects in the computer.

【0092】(3)オブジェクトの種類を追加しない限
り、オブジェクトのメソッドの変更などがあったとして
も、変換ロジックライブラリを再構築しなくてもよい。
(3) As long as the type of the object is not added, the conversion logic library does not need to be reconstructed even if the method of the object is changed.

【0093】以上、本発明の幾つかの好適な実施形態を
説明したが、これに変更、修正、改良などを加えた他の
種々の形態でも本発明を実施することができる。例え
ば、図4、6、7に示した実施形態において、メインプ
ログラム3の中にクライアントスタブ8、53を構築す
ることも可能である。
While the preferred embodiments of the present invention have been described above, the present invention can be implemented in various other forms in which changes, modifications, improvements, and the like are made. For example, in the embodiment shown in FIGS. 4, 6, and 7, it is also possible to construct the client stubs 8 and 53 in the main program 3.

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

【図1】従来のローカルコンピュータにおける通常のプ
ログラムモデルを示すブロック図である。
FIG. 1 is a block diagram showing a normal program model in a conventional local computer.

【図2】本発明の第1の実施形態に係るリモートオブジ
ェクトアクセスシステムの構築の基礎となるローカルコ
ンピュータでの通常のプログラムモデルを示すブロック
図である。
FIG. 2 is a block diagram showing a normal program model on a local computer, which is a basis for building a remote object access system according to the first embodiment of the present invention.

【図3】図2に示す変換ロジックライブラリからRPC
コンパイラにより変換ロジックのRPCクライアントス
タブとRPCサーバライブラリを生成する工程を示す流
れ図である。
FIG. 3 shows an RPC from the conversion logic library shown in FIG. 2;
5 is a flowchart showing a process of generating an RPC client stub and an RPC server library of conversion logic by a compiler.

【図4】第1の実施形態に係るリモートオブジェクトア
クセスシステムのプログラムモデルを示すブロック図で
ある。
FIG. 4 is a block diagram showing a program model of the remote object access system according to the first embodiment.

【図5】本発明の第2の実施形態に係るリモートオブジ
ェクトアクセスシステムの構築の基礎となるローカルコ
ンピュータでの通常のプログラムモデルを示すブロック
図である。
FIG. 5 is a block diagram showing a normal program model on a local computer which is a basis for building a remote object access system according to a second embodiment of the present invention.

【図6】第1の実施形態に係るリモートオブジェクトア
クセスシステムのプログラムモデルを示すブロック図で
ある。
FIG. 6 is a block diagram showing a program model of the remote object access system according to the first embodiment.

【図7】本発明の第3の実施の形態に係るリモートオブ
ジェクトアクセスシステムのプログラムモデルを示すブ
ロック図である。
FIG. 7 is a block diagram showing a program model of a remote object access system according to a third embodiment of the present invention.

【図8】第3の実施形態におけるオブジェクトの構成を
示す図である。
FIG. 8 is a diagram illustrating a configuration of an object according to a third embodiment.

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

2、57 サーバオブジェクト 3 メインプログラム 4、56 オブジェクトライブラリ 5 変換ロジックライブラリ 6、10 オブジェクトのポインタとIDの対応テーブ
ル 8、53 変換ロジックのRPCクライアントスタブ 9、54 変換ロジックのRPCサーバライブラリ 11、31、41 サーバコンピュータ 12、32、42 サーバコンピュータ 13 RPC機構 14、51 クライアントオブジェクトライブラリ 15、52 クライアントオブジェクト 55 オブジェクトの種別IDと種類の対応テーブル
2, 57 server object 3 main program 4, 56 object library 5 conversion logic library 6, 10 correspondence table between object pointer and ID 8, 53 conversion logic RPC client stub 9, 54 conversion logic RPC server library 11, 31, 41 server computer 12, 32, 42 server computer 13 RPC mechanism 14, 51 client object library 15, 52 client object 55 object ID and type correspondence table

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 リモートプロシージャコール(RPC)
を通じて、クライアントコンピュータがサーバコンピュ
ータ上にオブジェクトを生成し且つそのオブジェクトに
アクセスするためのリモートオブジェクトアクセスシス
テムにおいて、 前記クライアントコンピュータは、 前記クライアントコンピュータ上で生じたオブジェクト
の生成及びアクセスのための個々の要求に応答して、オ
ブジェクトの生成及びアクセスのための個々の関数の呼
び出しを前記リモートプロシージャコールを通じて前記
サーバコンピュータへ発行するRPCクライアントスタ
ブを備え、 前記サーバコンピュータは、 前記オブジェクトの生成及びアクセスのための関数を有
して、前記RPCクライアントスタブからの個々の関数
の呼び出しに応答して、前記サーバコンピュータ上にサ
ーバオブジェクトを生成し且つそのサーバオブジェクト
に対するアクセスを実行するRPCサーバライブラリを
備え、 RPCクライアントスタブと前記RPCサーバライブラ
リとは、各サーバオブジェクトに割当てられたユニーク
なインスタンスIDを前記リモートプロシージャコール
を通じてやりとりし、 前記RPCサーバライブラリは、各サーバオブジェクト
のインスタンスIDをポインタに変換する手段を有する
ことを特徴とするリモートオブジェクトアクセスシステ
ム。
1. A remote procedure call (RPC)
Through a remote object access system for a client computer to create an object on a server computer and access the object, the client computer comprising: an individual request for creation and access of the object originating on the client computer An RPC client stub that issues individual function calls for object creation and access to the server computer through the remote procedure call in response to the server computer. Generating a server object on the server computer in response to a call to an individual function from the RPC client stub, and An RPC server library for executing access to a server object is provided. The RPC client stub and the RPC server library exchange a unique instance ID assigned to each server object through the remote procedure call. A remote object access system comprising means for converting an instance ID of each server object into a pointer.
【請求項2】 リモートプロシージャコール(RPC)
を通じて、クライアントコンピュータがサーバコンピュ
ータ上にオブジェクトを生成し且つそのオブジェクトに
アクセスするための方法において、 前記クライアントコンピュータ上で生じたオブジェクト
の生成及びアクセスのための個々の要求に応答して、オ
ブジェクトの生成及びアクセスのための個々の関数の呼
び出しを前記リモートプロシージャコールを通じて前記
サーバコンピュータへ発行するRPCクライアントスタ
ブとして、前記クライアントコンピュータが機能する過
程と、 前記オブジェクトの生成及びアクセスのための関数を有
して、前記RPCクライアントスタブからの個々の関数
の呼び出しに応答して、前記サーバコンピュータ上にサ
ーバオブジェクトを生成し且つそのサーバオブジェクト
に対するアクセスを実行するRPCサーバライブラリと
して、前記サーバコンピュータが機能する過程と、 前記RPCクライアントスタブと前記RPCサーバライ
ブラリとが、各サーバオブジェクトに割当てられたユニ
ークなインスタンスIDを前記リモートプロシージャコ
ールを通じてやりとりする過程と、 前記RPCサーバライブラリが、各サーバオブジェクト
のインスタンスIDをポインタに変換する過程と、を有
することを特徴とする方法。
2. Remote procedure call (RPC)
Through a method for a client computer to create an object on a server computer and access the object, the method comprising: creating an object in response to individual requests for object creation and access occurring on the client computer. And a process in which the client computer functions as an RPC client stub that issues calls of individual functions for access to the server computer through the remote procedure call, and a function for generating and accessing the object. Generating a server object on the server computer and performing access to the server object in response to invocation of individual functions from the RPC client stub A process in which the server computer functions as a PC server library; a process in which the RPC client stub and the RPC server library exchange a unique instance ID assigned to each server object through the remote procedure call; The server library converting the instance ID of each server object to a pointer.
【請求項3】 リモートプロシージャコール(RPC)
を通じて、クライアントコンピュータがサーバコンピュ
ータ上にオブジェクトを生成し且つそのオブジェクトに
アクセスするためのリモートオブジェクトアクセスシス
テムにおいて、 前記クライアントコンピュータは、 前記クライアントコンピュータ上で生じたオブジェクト
の生成及びアクセスのための個々の要求に応答して、オ
ブジェクトの生成及びアクセスのための個々の関数の呼
び出しを前記リモートプロシージャコールを通じて前記
サーバコンピュータへ発行するRPCクライアントスタ
ブを備え、 前記サーバコンピュータは、 前記オブジェクトの生成及びアクセスのための関数を有
して、前記RPCクライアントスタブからの個々の関数
の呼び出しに応答して、前記サーバコンピュータ上にサ
ーバオブジェクトを生成し且つそのサーバオブジェクト
に対するアクセスを実行するRPCサーバライブラリを
備え、 前記RPCサーバライブラリは、生成したサーバオブジ
ェクトに対しユニークなインスタンスIDを割り当て、
各サーバオブジェクトのインスタンスIDとポインタと
の対応テーブルを保有し、且つ、前記生成したサーバオ
ブジェクトに割り当てたインスタンスIDを前記RPC
クライアントスタブへ返却し、 前記RPCクライアントスタブは、各サーバオブジェク
トのアクセスのための関数呼び出しを発行する時、返却
された各サーバオブジェクトのインスタンスIDを前記
関数呼び出しに含ませる、ことを特徴とするリモートオ
ブジェクトアクセスシステム。
3. A remote procedure call (RPC)
Through a remote object access system for a client computer to create an object on a server computer and access the object, the client computer comprising: an individual request for creation and access of the object originating on the client computer; An RPC client stub that issues individual function calls for object creation and access to the server computer through the remote procedure call in response to the server computer; Generating a server object on the server computer in response to a call to an individual function from the RPC client stub, and An RPC server library for executing access to a server object, wherein the RPC server library assigns a unique instance ID to the generated server object,
Holding a correspondence table between the instance ID of each server object and the pointer, and assigning the instance ID assigned to the generated server object to the RPC
Returning to a client stub, wherein the RPC client stub includes, when issuing a function call for accessing each server object, an instance ID of each returned server object in the function call. Object access system.
【請求項4】 請求項3記載のシステムにおいて、 前記クライアントコンピュータが、前記オブジェクト生
成のための要求に応答して生成されるクライアントオブ
ジェクトを更に備え、 前記クライアントオブジェクトは、 (1)その生成時に、前記オブジェクト生成のための関数
呼び出しを発行するよう前記RPCクライアントスタブ
に指示し、且つ、この生成関数の実行の結果返却された
インスタンスIDを前記RPCクライアントスタブより
受けて保有し、さらに、 (2)前記オブジェクトのアクセスのための要求に応答し
て、前記保有したてインスタンスIDを使用して前記ア
クセスのための関数を発行するよう前記RPCクライア
ントスタブに指示することを特徴とするリモートオブジ
ェクトアクセスシステム。
4. The system of claim 3, wherein the client computer further comprises a client object created in response to the request for object creation, wherein the client object comprises: (1) Instructing the RPC client stub to issue a function call for generating the object, receiving and holding the instance ID returned as a result of execution of the generation function from the RPC client stub, and (2) A remote object access system, in response to a request for access to the object, instructing the RPC client stub to issue a function for access using the stored instance ID.
【請求項5】 請求項4記載のシステムにおいて、前記
クライアントオブジェクトは、オブジェクト種類を示す
オブジェクト種別IDを更に有し、このクライアントオ
ブジェクトの生成時に、前記オブジェクト種別IDを使
用して前記オブジェクト生成のための関数呼び出しを発
行するよう前記RPCクライアントスタブに指示し、 前記RPCクライアントスタブは、前記オブジェクト生
成のための関数呼び出しを発行する時、前記オブジェク
ト種別IDを前記関数呼び出しに含ませ、 前記RPCサーバライブラリは、オブジェクト種類とオ
ブジェクト種別IDとの対応テーブルを更に有し、前記
オブジェクト生成のための関数呼び出しに応答して、前
記オブジェクト種別IDに対応したオブジェクト種類に
属するオリジナルオブジェクトがサポートするメソッド
を有したサーバオブジェクトを生成することを特徴とす
るリモートオブジェクトアクセスシステム。
5. The system according to claim 4, wherein said client object further has an object type ID indicating an object type, and said client object is generated using said object type ID when said client object is generated. The RPC client stub instructs the RPC client stub to issue a function call for the object. When issuing the function call for generating the object, the RPC client stub includes the object type ID in the function call. Further has a correspondence table between the object type and the object type ID, and in response to the function call for generating the object, the original object belonging to the object type corresponding to the object type ID is displayed. Remote Object Access system and generates a server object having methods that port.
【請求項6】 請求項5記載のシステムにおいて、 前記クライアントオブジェクトは、前記オリジナルオブ
ジェクトから派生させて構築したものであって、前記オ
リジナルオブジェクトがサポートするメソッドに対する
要求を受け付けることができ、 前記サーバオブジェクトは、前記オリジナルオブジェク
トと所定の基本サーバオブジェクトとから派生させて構
築したものであって、前記基本サーバオブジェクトがサ
ポートするメソッドに対する要求を受け付けることがで
き、 前記クライアントオブジェクトは更に、前記オリジナル
オブジェクトがサポートするメソッドに対する要求に応
答して、そのメソッドに予め割当てられた処理種別を指
定して、前記基本オブジェクトがサポートするメソッド
に対する処理要求関数の呼出しを発行するよう前記RP
Cクライアントスタブに指示し、 更に、前記RPCサーバライブラリは、前記基本オブジ
ェクトがサポートするメソッドに対する処理要求関数の
呼出しに応答して、前記処理種別を指定して前記基本サ
ーバオブジェクトがサポートするメソッドに対する要求
を、前記サーバオブジェクトに発行し、 前記サーバオブジェクトは更に、前記基本サーバオブジ
ェクトがサポートするメソッドに対する要求に応答し
て、オリジナルオブジェクトがサポートするメソッドの
内の前記処理種別に対応するメソッドを実行することを
特徴とするリモートオブジェクトアクセスシステム。
6. The system according to claim 5, wherein the client object is derived from the original object and constructed, and can receive a request for a method supported by the original object. Is constructed by deriving from the original object and a predetermined basic server object, and can receive a request for a method supported by the basic server object. The client object is further supported by the original object. In response to a request for a method to be executed, a process type pre-assigned to the method is designated, and a call to a process request function for a method supported by the basic object is issued. RP
C client stub, and further, the RPC server library specifies a processing type in response to a call of a processing request function for a method supported by the basic object, and requests the method supported by the basic server object. Is issued to the server object, and the server object further executes a method corresponding to the processing type among the methods supported by the original object in response to a request for a method supported by the basic server object. A remote object access system.
【請求項7】 リモートプロシージャコール(RPC)
を通じて、クライアントコンピュータがサーバコンピュ
ータ上にオブジェクトを生成し且つそのオブジェクトに
アクセスするためのリモートオブジェクトアクセスシス
テムであって、 前記クライアントコンピュータは、 前記クライアントコンピュータ上で生じたオブジェクト
の生成及びアクセスのための個々の要求に応答して、オ
ブジェクトの生成及びアクセスのための個々の関数の呼
び出しを前記リモートプロシージャコールを通じて前記
サーバコンピュータへ発行するRPCクライアントスタ
ブを備え、 前記サーバコンピュータは、 前記オブジェクトの生成及びアクセスのための関数を有
して、前記RPCクライアントスタブからの個々の関数
の呼び出しに応答して、前記サーバコンピュータ上にサ
ーバオブジェクトを生成し且つそのサーバオブジェクト
に対するアクセスを実行するRPCサーバライブラリを
備え、 RPCクライアントスタブと前記RPCサーバライブラ
リとは、各サーバオブジェクトに割当てられたユニーク
なインスタンスIDを前記リモートプロシージャコール
を通じてやりとりし、 前記RPCサーバライブラリは、各サーバオブジェクト
のインスタンスIDをポインタに変換する手段を有する
リモートオブジェクトアクセスシステムにおける、前記
クライアントコンピュータとしてコンピュータを機能さ
せるためのプログラムを担持したコンピュータ読み取り
可能な記録媒体。
7. A remote procedure call (RPC)
Through a remote object access system for a client computer to create an object on a server computer and access the object, the client computer comprising: an object for generating and accessing the object generated on the client computer; An RPC client stub that issues individual function calls for creation and access of objects to the server computer through the remote procedure call in response to the request of For generating a server object on the server computer in response to invocation of individual functions from the RPC client stub, and An RPC server library for executing access to a server object is provided. The RPC client stub and the RPC server library exchange a unique instance ID assigned to each server object through the remote procedure call. A computer-readable recording medium carrying a program for causing a computer to function as the client computer in a remote object access system having means for converting an instance ID of each server object into a pointer.
【請求項8】 リモートプロシージャコール(RPC)
を通じて、クライアントコンピュータがサーバコンピュ
ータ上にオブジェクトを生成し且つそのオブジェクトに
アクセスするためのリモートオブジェクトアクセスシス
テムであって、 前記クライアントコンピュータは、 前記クライアントコンピュータ上で生じたオブジェクト
の生成及びアクセスのための個々の要求に応答して、オ
ブジェクトの生成及びアクセスのための個々の関数の呼
び出しを前記リモートプロシージャコールを通じて前記
サーバコンピュータへ発行するRPCクライアントスタ
ブを備え、 前記サーバコンピュータは、 前記オブジェクトの生成及びアクセスのための関数を有
して、前記RPCクライアントスタブからの個々の関数
の呼び出しに応答して、前記サーバコンピュータ上にサ
ーバオブジェクトを生成し且つそのサーバオブジェクト
に対するアクセスを実行するRPCサーバライブラリを
備え、 RPCクライアントスタブと前記RPCサーバライブラ
リとは、各サーバオブジェクトに割当てられたユニーク
なインスタンスIDを前記リモートプロシージャコール
を通じてやりとりし、 前記RPCサーバライブラリは、各サーバオブジェクト
のインスタンスIDをポインタに変換する手段を有する
リモートオブジェクトアクセスシステムにおける、前記
サーバコンピュータとしてコンピュータを機能させるた
めのプログラムを担持したコンピュータ読み取り可能な
記録媒体。
8. A remote procedure call (RPC)
Through a remote object access system for a client computer to create an object on a server computer and access the object, the client computer comprising: an object for generating and accessing the object generated on the client computer; An RPC client stub that issues individual function calls for creation and access of objects to the server computer through the remote procedure call in response to the request of For generating a server object on the server computer in response to invocation of individual functions from the RPC client stub, and An RPC server library for executing access to a server object is provided. The RPC client stub and the RPC server library exchange a unique instance ID assigned to each server object through the remote procedure call. A computer-readable recording medium carrying a program for causing a computer to function as the server computer in a remote object access system having means for converting an instance ID of each server object into a pointer.
【請求項9】 リモートプロシージャコール(RPC)
を通じて、クライアントコンピュータがサーバコンピュ
ータ上にオブジェクトを生成し且つそのオブジェクトに
アクセスするためのリモートオブジェクトアクセスシス
テムであって、 前記クライアントコンピュータは、 前記クライアントコンピュータ上で生じたオブジェクト
の生成及びアクセスのための個々の要求に応答して、オ
ブジェクトの生成及びアクセスのための個々の関数の呼
び出しを前記リモートプロシージャコールを通じて前記
サーバコンピュータへ発行するRPCクライアントスタ
ブを備え、 前記サーバコンピュータは、 前記オブジェクトの生成及びアクセスのための関数を有
して、前記RPCクライアントスタブからの個々の関数
の呼び出しに応答して、前記サーバコンピュータ上にサ
ーバオブジェクトを生成し且つそのサーバオブジェクト
に対するアクセスを実行するRPCサーバライブラリを
備え、 前記RPCサーバライブラリは、生成したサーバオブジ
ェクトに対しユニークなインスタンスIDを割り当て、
各サーバオブジェクトのインスタンスIDとポインタと
の対応テーブルを保有し、且つ、前記生成したサーバオ
ブジェクトに割り当てたインスタンスIDを前記RPC
クライアントスタブへ返却し、 前記RPCクライアントスタブは、各サーバオブジェク
トのアクセスのための関数呼び出しを発行する時、返却
された各サーバオブジェクトのインスタンスIDを前記
関数呼び出しに含ませる、リモートオブジェクトアクセ
スシステムにおける、前記クライアントコンピュータと
してコンピュータを機能させるためのプログラムを担持
したコンピュータ読み取り可能な記録媒体。
9. A remote procedure call (RPC)
Through a remote object access system for a client computer to create an object on a server computer and access the object, the client computer comprising: an object for generating and accessing the object generated on the client computer; An RPC client stub that issues individual function calls for creation and access of objects to the server computer through the remote procedure call in response to the request of For generating a server object on the server computer in response to invocation of individual functions from the RPC client stub, and An RPC server library for executing access to a server object, wherein the RPC server library assigns a unique instance ID to the generated server object,
Holding a correspondence table between the instance ID of each server object and the pointer, and assigning the instance ID assigned to the generated server object to the RPC
A remote object access system, wherein when returning a function call for accessing each server object, the RPC client stub includes an instance ID of each returned server object in the function call. A computer-readable recording medium carrying a program for causing a computer to function as the client computer.
【請求項10】 リモートプロシージャコール(RP
C)を通じて、クライアントコンピュータがサーバコン
ピュータ上にオブジェクトを生成し且つそのオブジェク
トにアクセスするためのリモートオブジェクトアクセス
システムであって、 前記クライアントコンピュータは、 前記クライアントコンピュータ上で生じたオブジェクト
の生成及びアクセスのための個々の要求に応答して、オ
ブジェクトの生成及びアクセスのための個々の関数の呼
び出しを前記リモートプロシージャコールを通じて前記
サーバコンピュータへ発行するRPCクライアントスタ
ブを備え、 前記サーバコンピュータは、 前記オブジェクトの生成及びアクセスのための関数を有
して、前記RPCクライアントスタブからの個々の関数
の呼び出しに応答して、前記サーバコンピュータ上にサ
ーバオブジェクトを生成し且つそのサーバオブジェクト
に対するアクセスを実行するRPCサーバライブラリを
備え、 前記RPCサーバライブラリは、生成したサーバオブジ
ェクトに対しユニークなインスタンスIDを割り当て、
各サーバオブジェクトのインスタンスIDとポインタと
の対応テーブルを保有し、且つ、前記生成したサーバオ
ブジェクトに割り当てたインスタンスIDを前記RPC
クライアントスタブへ返却し、 前記RPCクライアントスタブは、各サーバオブジェク
トのアクセスのための関数呼び出しを発行する時、返却
された各サーバオブジェクトのインスタンスIDを前記
関数呼び出しに含ませる、リモートオブジェクトアクセ
スシステムにおける、前記サーバコンピュータとしてコ
ンピュータを機能させるためのプログラムを担持したコ
ンピュータ読み取り可能な記録媒体。
10. A remote procedure call (RP
C) a remote object access system for a client computer to create an object on a server computer and access the object through the client computer, wherein the client computer is for creating and accessing the object generated on the client computer; An RPC client stub that issues individual function calls for object creation and access to the server computer through the remote procedure call in response to individual requests of the server computer; Creating a server object on the server computer in response to a call to an individual function from the RPC client stub with a function for accessing; An RPC server library for executing access to the server object, wherein the RPC server library assigns a unique instance ID to the generated server object,
Holding a correspondence table between the instance ID of each server object and the pointer, and assigning the instance ID assigned to the generated server object to the RPC
A remote object access system, wherein when returning a function call for accessing each server object, the RPC client stub includes an instance ID of each returned server object in the function call. A computer-readable recording medium carrying a program for causing a computer to function as the server computer.
JP10020613A 1997-02-03 1998-02-02 System and method for remote object access Pending JPH10275082A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10020613A JPH10275082A (en) 1997-02-03 1998-02-02 System and method for remote object access

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2074797 1997-02-03
JP9-20747 1997-02-03
JP10020613A JPH10275082A (en) 1997-02-03 1998-02-02 System and method for remote object access

Publications (1)

Publication Number Publication Date
JPH10275082A true JPH10275082A (en) 1998-10-13

Family

ID=26357585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10020613A Pending JPH10275082A (en) 1997-02-03 1998-02-02 System and method for remote object access

Country Status (1)

Country Link
JP (1) JPH10275082A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228322B1 (en) * 1999-11-17 2007-06-05 Fujitsu Limited Data management apparatus of switching system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228322B1 (en) * 1999-11-17 2007-06-05 Fujitsu Limited Data management apparatus of switching system

Similar Documents

Publication Publication Date Title
JP2724256B2 (en) Computer system
US6115738A (en) Input/output device information management method and apparatus for multi-computers
US6505286B1 (en) User specifiable allocation of memory for processes in a multiprocessor computer having a non-uniform memory architecture
JP3949180B2 (en) Integration of system management services with base system object model
US20010056522A1 (en) Methods and apparatus for memory allocation for object instances in an object-oriented software environment
JPH10500505A (en) Data management system
JPH03231352A (en) Packaging device for object class defining information
JP4541877B2 (en) Canceling simplified memory allocation for programming objects
JP3488500B2 (en) Distributed file system
US7933948B2 (en) Computer-readable medium to multiplex multiple application server requests over a single database connection
JPH10275082A (en) System and method for remote object access
US20110238702A1 (en) Creating multiple mbeans from a factory mbean
JPH08272744A (en) Information processing method and information processor
WO2022155937A1 (en) Security control method for dynamic link program
CN116760913B (en) Method and system for issuing k8s cluster protocol conversion platform configuration
JP2001331457A (en) Distributed shared memory system
JPH08153010A (en) Information processing method/device/system
JP4245304B2 (en) Computer cluster system, file access method
JP2004246789A (en) Program function expansion system, program function expansion method, program function expansion program and record medium
JPH06110813A (en) Asynchronous data input/output system
JP2005032171A (en) Communication control system between functional modules for data sharing, communication control method between functional modules, communication control program between functional modules, and its recording medium
JP2001034485A (en) Inter-process communication method in information processor
JPH10275081A (en) System and method for remote object access
JPH1196054A (en) System for constructing data base integrating application
JPH0512226A (en) Composite electronic computer system