JP2526799B2 - Remote program calling method - Google Patents

Remote program calling method

Info

Publication number
JP2526799B2
JP2526799B2 JP5231512A JP23151293A JP2526799B2 JP 2526799 B2 JP2526799 B2 JP 2526799B2 JP 5231512 A JP5231512 A JP 5231512A JP 23151293 A JP23151293 A JP 23151293A JP 2526799 B2 JP2526799 B2 JP 2526799B2
Authority
JP
Japan
Prior art keywords
global data
program
calling
computer
called
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.)
Expired - Fee Related
Application number
JP5231512A
Other languages
Japanese (ja)
Other versions
JPH0784923A (en
Inventor
晃徳 伊藤
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP5231512A priority Critical patent/JP2526799B2/en
Publication of JPH0784923A publication Critical patent/JPH0784923A/en
Application granted granted Critical
Publication of JP2526799B2 publication Critical patent/JP2526799B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、ネットワークで接続さ
れたコンピュータシステムにおける遠隔プログラムの呼
び出し方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a remote program calling system in a computer system connected by a network.

【0002】[0002]

【従来の技術】従来、UNIXシステム等で良く利用さ
れる遠隔プログラム呼び出し(遠隔プロシージャコール
(以下、RPCとする))方式には、サンマイクロシス
テムズ社が規定した規約であるRFC1057「RP
C: Remote Procedure Call
protocol specification: V
ersion2.」に示される方式や、「Dietma
r Fauth andChikong Shue,
Remote Procedure Call:Tec
hnology, Standardization
and OSF’s Distributed Com
puting Environment, Open
Software Foundation Techn
icalPaper, Jan. 1992 (DEV
−DCE−TP5−1)」において説明されている方式
が存在する。
2. Description of the Related Art Conventionally, a remote program call (remote procedure call (hereinafter referred to as RPC)) method which is often used in a UNIX system or the like is RFC1057 "RP which is a rule defined by Sun Microsystems, Inc.
C: Remote Procedure Call
protocol specification: V
version2. The method shown in "," and "Dietma
r Fauth and Chikong Shue,
Remote Procedure Call: Tec
hology, Standardization
and OSF's Distributed Com
putting Environment, Open
Software Foundation Techn
icalPaper, Jan. 1992 (DEV
-DCE-TP5-1) ".

【0003】これらのRPCでは、呼び出し側プログラ
ムが呼び出し先プログラムに必要となるデータをパラメ
ータとしてネットワークを介して渡し、処理結果のデー
タを再びネットワークを介して受け取る。そしてポイン
タ型データの受け渡しもポイント先と一緒に送ることに
より、より自由度を高めることを可能にしている。
In these RPCs, the calling program passes the data required for the called program as parameters via the network, and receives the processing result data again via the network. By sending and receiving pointer-type data together with the point destination, it is possible to increase the degree of freedom.

【0004】さらにこれらのRPCでは、呼び出し先プ
ログラムの終了を待って、呼び出し側プログラムが動作
を継続する同期型通信方法と、呼び出し先プログラムの
終了を待たずに継続的に呼び出し側プログラムが動作す
る非同期型通信方法を採ることができるようになってい
る。
Further, in these RPCs, the synchronous communication method in which the calling program continues to operate after waiting for the calling program to end, and the calling program continuously operates without waiting for the calling program to finish. Asynchronous communication method can be adopted.

【0005】[0005]

【発明が解決しようとする課題】しかしながら上述した
従来の遠隔プログラム呼び出し方式においては、以下に
示す課題がある。
However, the above-mentioned conventional remote program calling method has the following problems.

【0006】まず、FORTRAN言語のBLOCK
COMMON領域のように、呼び出し先プログラムと呼
び出し側プログラムが巨大なデータを共有して、呼び出
し先プログラムがその一部のデータのみを処理に使用す
る場合には、呼び出し側プログラムは呼び出し先プログ
ラムに全てのデータをネットワークを介して渡さなけれ
ばならず、通信効率が非常に悪い。
First, BLOCK in FORTRAN language
When a called program and a called program share huge data like a COMMON area and the called program uses only a part of the data for processing, the called program is the only called program. Data has to be passed through the network, and the communication efficiency is very poor.

【0007】また、遠隔プログラム呼び出し方式による
非同期通信を行い、かつ各呼び出し先プログラムに元々
1つの巨大なデータを処理させようとすると、同時更新
により矛盾が発生する恐れがある。
Further, if asynchronous communication is performed by the remote program calling method, and each called program tries to process one huge data originally, there is a possibility that a contradiction occurs due to the simultaneous update.

【0008】通常、このような処理では、呼び出し先プ
ログラムがどのデータを処理するかといった動作を推測
することは困難なため、呼び出し側プログラムは呼び出
し順序を考えて順番に処理を行う必要がある。
In such a process, it is usually difficult to infer what data the callee program will process, so the caller program needs to consider the call sequence and perform the process in order.

【0009】しかしこのような処理を実施した場合、呼
び出し側プログラムが複雑になり、またネットワーク上
に複数存在するコンピュータシステムを順序処理待ちの
間、放置することになり処理効率が悪い。
However, when such a process is performed, the calling program becomes complicated, and a plurality of computer systems existing on the network are left alone while waiting for sequential processing, resulting in poor processing efficiency.

【0010】[0010]

【課題を解決するための手段】第1の発明の遠隔プログ
ラム呼び出し方式は、ローカルエリアネットワーク(以
下、LANとする)等のネットワークで接続されている
呼び出し側コンピュータ上の呼び出し側プログラムが、
他の呼び出し先コンピュータ上の呼び出し先プログラム
をプログラムとして呼び出す方式であって、この呼び出
し側コンピュータが、前記呼び出し側プログラムが宣言
した大域データの所在位置を記憶する大域データ管理表
と、前記呼び出し側プログラムが起動されたときに大域
データをこの大域データ管理表に登録する大域データ登
録手段と、前記呼び出し側プログラムが終了したときに
大域データをこの大域データ管理表から削除する大域デ
ータ削除手段と、前記呼び出し側プログラムが前記呼び
出し先プログラムを呼び出すときに、大域データへの参
照を可能にするキー情報を前記呼び出し先コンピュータ
に通知する遠隔プログラム呼び出し手段とを有し、前記
呼び出し先コンピュータが、前記呼び出し側コンピュー
タの前記遠隔プログラム呼び出し手段から通知された遠
隔プログラム呼び出し要求を受け取り、前記呼び出し先
プログラムを呼び出す呼び出し先プログラム呼び出し手
段と、前記呼び出し先プログラムが大域データを参照す
るときに、前記呼び出し側コンピュータへ大域データへ
の参照をキー情報とともに要求する大域データ参照手段
と、前記呼び出し先プログラムが大域データを更新する
ときに、前記呼び出し側コンピュータへ大域データへの
更新をキー情報とともに要求する大域データ更新手段と
を有し、さらに前記呼び出し側コンピュータが、前記大
域データ参照手段と、この大域データ更新手段からの参
照・更新要求を受け付け、前記大域データ管理表から大
域データの存在位置を決定し、大域データの参照・更新
を行って、結果を返却する大域データ参照更新手段を有
している。
According to a first aspect of the present invention, there is provided a remote program calling method, wherein a calling program on a calling computer connected by a network such as a local area network (hereinafter referred to as LAN) is
A method for calling a callee program on another callee computer as a program, wherein the caller computer stores a global data management table that stores the location of the global data declared by the caller program, and the caller program Global data registration means for registering global data in this global data management table when is activated, and global data deletion means for deleting global data from this global data management table when the calling program ends, Remote program call means for notifying the callee computer of key information that enables reference to global data when the caller program calls the callee program, and the callee computer has the caller program Computer remote control Reference to global data to the calling computer when the remote program call request notified from the RAM calling means is received and the called program calls the called program and the called program refers to global data. And global data updating means for requesting with the key information and global data updating means for requesting the calling computer to update the global data together with the key information when the called program updates the global data, Further, the calling computer receives the global data reference means and a reference / update request from the global data update means, determines the location of the global data from the global data management table, and refers to / updates the global data. Global Day to go and return results It has a reference update means.

【0011】第2の発明の遠隔プログラム呼び出し方式
は、第1の発明の遠隔プログラム呼び出し方式におい
て、前記呼び出し側コンピュータが、前記呼び出し側プ
ログラムの要求により大域データへの参照・更新を排他
するためのロックを要求する大域データロック手段とア
ンロックを要求する大域データアンロック手段とを有
し、前記呼び出し先コンピュータが、前記呼び出し先プ
ログラムの要求により大域データへの参照・更新を排他
するためのロックを要求する大域データロック手段とア
ンロックを要求する大域データアンロック手段とを有
し、さらに前記呼び出し側コンピュータが、前記大域デ
ータ参照手段、前記大域データ更新手段、大域データロ
ック手段、および大域データアンロック手段からの参
照、更新、ロック、およびアンロック要求を受け付け、
参照・更新要求なら前記大域データ管理表から大域デー
タの存在位置を決定し、大域データの参照・更新を行っ
て、結果を返却し、ロック・アンロック要求なら前記大
域データ管理表の排他参照情報を更新して結果を返却す
る大域データ参照更新手段を有している。
A remote program calling method of a second invention is the remote program calling method of the first invention, wherein the calling computer excludes the reference / update to the global data at the request of the calling program. A global data lock means for requesting a lock and a global data unlock means for requesting an unlock, and a lock for the callee computer to exclude reference / update to the global data at the request of the callee program. And a global data unlock means for requesting an unlock, wherein the calling computer further has the global data reference means, the global data update means, the global data lock means, and the global data. References, updates, locks from unlocking means, and It accepts the unlock request,
If it is a reference / update request, the location of the global data is determined from the global data management table, the global data is referenced / updated, and the result is returned, and if it is a lock / unlock request, exclusive reference information of the global data management table It has a global data reference updating means for updating and returning the result.

【0012】[0012]

【実施例】以下本発明の一実施例について、図を参照し
ながら詳細に説明する。
An embodiment of the present invention will be described in detail below with reference to the drawings.

【0013】図1と図2を参照すると、本発明の第1の
実施例である遠隔プログラム呼び出し方式は、まず呼び
出し側コンピュータ1と呼び出し先コンピュータ2がL
AN3により接続されている。
Referring to FIGS. 1 and 2, in the remote program calling method according to the first embodiment of the present invention, first, the calling computer 1 and the called computer 2 are set to L level.
It is connected by AN3.

【0014】呼び出し側コンピュータ1には、呼び出し
側プログラムの原始プログラム101を翻訳する翻訳プ
ログラム102があり、翻訳によって呼び出し側プログ
ラムの実行形式103(以下、呼び出し側プログラム1
03とする)が生成され、二次記憶装置からロードされ
ている。また、呼び出し側プログラム103内に大域デ
ータ104が存在する。
The calling computer 1 has a translation program 102 for translating a source program 101 of the calling program, and an execution form 103 of the calling program by the translation (hereinafter called the calling program 1).
03) has been generated and loaded from the secondary storage device. Global data 104 exists in the calling program 103.

【0015】呼び出し先コンピュータ2には、呼び出し
先プログラムの原始プログラム201を翻訳する翻訳プ
ログラム202があり、翻訳によって呼び出し先プログ
ラムの実行形式203(以下、呼び出し先プログラム2
03とする)が生成され、二次記憶装置からロードされ
ている。
The callee computer 2 has a translation program 202 for translating the source program 201 of the callee program, and an execution form 203 of the callee program by translation (hereinafter called the callee program 2).
03) has been generated and loaded from the secondary storage device.

【0016】また、呼び出し側コンピュータ1には、大
域データ管理表105と、この大域データ管理表105
に大域データ104を登録する大域データ登録手段10
6と、大域データ管理表105から大域データ104を
削除する大域データ削除手段107、および遠隔からの
大域データへのアクセス要求を処理する大域データ参照
更新手段108と、呼び出し側プログラム103からの
要求に基づいて呼び出し先プログラム203を呼び出す
遠隔プログラム呼び出し手段111と、遠隔プログラム
呼び出し受け付け手段112が存在する。
Further, the calling computer 1 has a global data management table 105 and the global data management table 105.
Global data registration means 10 for registering global data 104 in
6, global data deleting means 107 for deleting the global data 104 from the global data management table 105, global data reference updating means 108 for processing a remote global data access request, and a request from the calling program 103. There are a remote program call means 111 for calling the called program 203 based on the remote program call accepting means 112.

【0017】呼び出し先コンピュータ2には、大域デー
タ104への参照・更新を行う大域データ参照手段20
4と大域データ更新手段205があり、これらは呼び出
し側コンピュータ1へ要求を転送するため、遠隔プログ
ラム呼び出し手段211と接続しており、さらに呼び出
し側プログラム103からの要求を受け付けて呼び出し
先プログラム203を呼び出す遠隔プログラム呼び出し
受け付け手段212が存在する。
The called computer 2 has a global data reference means 20 for referring to and updating the global data 104.
4 and the global data updating means 205, which are connected to the remote program calling means 211 for transferring the request to the calling computer 1, and further accept the request from the calling program 103 to send the called program 203. There is a remote program call accepting means 212 for calling.

【0018】大域データ管理表105は、領域名標フィ
ールド301、大域データの存在するプロセスのプロセ
ス識別子フィールド302、プロセス内相対位置フィー
ルド303、大域データサイズフィールド304、およ
びセキュリティ情報フィールド307を各エントリに保
持している。
The global data management table 105 includes an area name field 301, a process identifier field 302 of a process in which global data exists, an in-process relative position field 303, a global data size field 304, and a security information field 307 for each entry. keeping.

【0019】次に本発明の第1の実施例の動作につい
て、図1、図2、そして図3を参照して説明する。
Next, the operation of the first embodiment of the present invention will be described with reference to FIGS. 1, 2 and 3.

【0020】まず利用者が呼び出し側コンピュータ1と
呼び出し先コンピュータ2において、呼び出し側プログ
ラム103と呼び出し先プログラム203のそれぞれの
原始プログラム101と201を、それぞれの翻訳プロ
グラム102と202を使用して翻訳する。
First, the user translates the source programs 101 and 201 of the calling program 103 and the called program 203 in the calling computer 1 and the called computer 2 using the translation programs 102 and 202, respectively. .

【0021】翻訳プログラム102と202は、遠隔プ
ログラム呼び出し専用の翻訳プログラムと、言語の翻訳
プログラムから成っていることが通常であるが、本実施
例においては便宜上1つとして説明する。
The translation programs 102 and 202 are usually composed of a translation program dedicated to remote program call and a language translation program, but in the present embodiment, they will be explained as one for convenience.

【0022】翻訳プログラム102では、遠隔アクセス
を宣言された大域データ104を大域データ管理表10
5に登録する大域データ登録手段106を呼び出すよう
に実行形式ファイルを出力する。
In the translation program 102, the global data 104 declared as remote access is stored in the global data management table 10.
The execution format file is output so as to call the global data registration means 106 to be registered in 5.

【0023】翻訳プログラム202では、遠隔アクセス
を宣言された大域データ104への参照・更新を行う大
域データ参照手段204、および大域データ更新手段2
05を呼び出すように実行形式ファイルを出力する。
In the translation program 202, the global data reference means 204 for referring to and updating the global data 104 declared to be remotely accessed, and the global data updating means 2
Output the executable file so that 05 is called.

【0024】次に呼び出し側プログラム103と呼び出
し先プログラム203を起動した場合の動作を説明す
る。
Next, the operation when the calling side program 103 and the called side program 203 are activated will be described.

【0025】呼び出し側プログラム103の起動時に、
まず大域データ登録手段106が呼び出される。
When the calling program 103 is started,
First, the global data registration means 106 is called.

【0026】大域データ登録手段106では、呼び出し
側プログラム103が宣言した大域データ104の領域
の名前と、呼び出し側プログラム103が動作するプロ
セスのプロセス識別子、大域データ104のプロセス内
相対位置、および大域データ104の大きさを翻訳時の
情報から得て、大域データ管理表105のそれぞれ領域
名標フィールド301、プロセス識別子フィールド30
2、プロセス内相対位置フィールド303、および大域
データサイズフィールド304に設定し、プロセスを所
有するユーザ識別子をセキュリティ情報としてセキュリ
ティ情報フィールド307に設定する(ステップ6
1)。
In the global data registration means 106, the name of the area of the global data 104 declared by the calling program 103, the process identifier of the process in which the calling program 103 operates, the relative position within the process of the global data 104, and the global data. The size of the area 104 is obtained from the information at the time of translation, and the area name field 301 and the process identifier field 30 of the global data management table 105 are obtained.
2, the relative position in process field 303 and the global data size field 304 are set, and the user identifier of the process is set in the security information field 307 as security information (step 6).
1).

【0027】次に呼び出し側プログラム103に制御が
戻り、利用者の要求に従って遠隔プログラム呼び出しが
行われると、遠隔プログラム呼び出し手段111が呼び
出される。遠隔プログラム呼び出し手段111は従来の
遠隔プログラム呼び出し(RPC)と同様にプログラム
呼び出しの引き数を回線上に流せる形式に変更し、トラ
ンザクションIDやセキュリティ情報とともに呼び出し
先コンピュータ2に転送する(ステップ11)。
Next, the control is returned to the calling side program 103, and when the remote program is called according to the user's request, the remote program calling means 111 is called. The remote program calling means 111 changes the argument of the program call into a format that can be flowed on the line like the conventional remote program call (RPC), and transfers it to the called computer 2 together with the transaction ID and security information (step 11).

【0028】呼び出し先コンピュータ2上の遠隔プログ
ラム呼び出し受け付け手段212は遠隔プログラム呼び
出し手段111からの遠隔プログラムの呼び出し要求を
受け付け、セキュリティ情報をローカルな領域に記憶
し、呼び出し先プログラム203を呼び出す(ステップ
21)。
The remote program call accepting means 212 on the called computer 2 accepts a remote program calling request from the remote program calling means 111, stores security information in a local area, and calls the called program 203 (step 21). ).

【0029】呼び出し先プログラム203で大域データ
104への参照が発生すると大域データ参照手段204
が呼び出される。大域データ参照手段204では、参照
する大域データ104の名標と、大域データ104内で
の相対位置、参照領域の大きさ、そして遠隔プログラム
呼び出し受け付け手段212によりローカルな領域に記
憶されたセキュリティ情報を引き数にして、遠隔プログ
ラム呼び出し手段211および呼び出し側コンピュータ
1の遠隔プログラム呼び出し受け付け手段112を経由
して、大域データ参照更新手段108を呼び出す(ステ
ップ41)。
When a reference is made to the global data 104 in the called program 203, the global data reference means 204
Is called. In the global data reference means 204, the name of the global data 104 to be referred to, the relative position in the global data 104, the size of the reference area, and the security information stored in the local area by the remote program call acceptance means 212 are stored. As an argument, the global data reference updating means 108 is called via the remote program calling means 211 and the remote program call receiving means 112 of the calling computer 1 (step 41).

【0030】呼び出し先プログラム203で大域データ
104への更新が発生すると大域データ更新手段205
が呼び出される。大域データ更新手段205では、更新
する大域データ104の名標と、大域データ104内で
の相対位置、更新領域の大きさ、更新内容、および遠隔
プログラム呼び出し受け付け手段212によりローカル
な領域に記憶されたセキュリティ情報を引き数にして、
遠隔プログラム呼び出し手段211および呼び出し側コ
ンピュータ1の遠隔プログラム呼び出し受け付け手段1
12を経由して、大域データ参照更新手段108を呼び
出す(ステップ51)。
When an update to the global data 104 occurs in the called program 203, the global data updating means 205
Is called. In the global data update means 205, the name of the global data 104 to be updated, the relative position in the global data 104, the size of the update area, the update content, and the remote program call acceptance means 212 are stored in a local area. Security information as an argument,
Remote program call means 211 and remote program call accepting means 1 of the calling computer 1
The global data reference updating means 108 is called via 12 (step 51).

【0031】呼び出し側コンピュータ1上の大域データ
参照更新手段108は、呼び出し先プログラム2上の呼
び出し先プログラム203が呼びだした大域データ参照
手段204または大域データ更新手段205からの参照
要求・更新要求を受け取ると、引き数に指定された大域
データ104の名標で大域データ管理表105を検索す
る(ステップ81)。大域データ管理表105内に名標
の一致する大域データ104があれば、次にその大域デ
ータ104のセキュリティ情報と引き数に指定されたセ
キュリティ情報を比較し(ステップ82)、セキュリテ
ィ情報の正当性に問題がなければ、さらに引き数に指定
された大域データ104の相対位置と大きさが、大域デ
ータ管理表105に登録されている大域データ104内
に収まっているか否かを比較する(ステップ83)。
The global data reference updating means 108 on the calling computer 1 receives the reference request / update request from the global data reference means 204 or the global data updating means 205 called by the call destination program 203 on the call destination program 2. Then, the global data management table 105 is searched by the name of the global data 104 designated by the argument (step 81). If there is global data 104 with the same name in the global data management table 105, then the security information of the global data 104 is compared with the security information specified in the argument (step 82), and the validity of the security information is verified. If there is no problem with the above, it is further compared whether or not the relative position and size of the global data 104 designated by the argument are within the global data 104 registered in the global data management table 105 (step 83). ).

【0032】この比較作業において異常があればエラー
を返却する(ステップ84)。
If there is an abnormality in this comparison work, an error is returned (step 84).

【0033】この比較作業において異常がなければ、大
域データ104を参照して(ステップ85)、参照結果
を返却する(ステップ86)か、または大域データ10
4を更新して(ステップ87)、更新結果として正常を
返却する(ステップ88)。
If there is no abnormality in this comparison work, the global data 104 is referred to (step 85) and the reference result is returned (step 86), or the global data 10 is returned.
4 is updated (step 87), and normal is returned as the update result (step 88).

【0034】呼び出し先プログラム203が終了する
と、遠隔プログラム呼び出し受け付け手段212と遠隔
プログラム呼び出し手段111を経由して、呼び出し側
プログラム103に制御を戻す。
When the called program 203 ends, control is returned to the calling program 103 via the remote program call receiving means 212 and the remote program calling means 111.

【0035】呼び出し側プログラム103が終了する
と、大域データ削除手段107が呼び出される。大域デ
ータ削除手段107では終了した呼び出し側プログラム
103の動作していたプロセス空間のプロセス識別子を
キーにして大域データ管理表105を検索し、一致する
プロセス識別子を持つ大域データの情報を全て削除する
(ステップ71)。
When the calling program 103 ends, the global data deleting means 107 is called. The global data deleting means 107 searches the global data management table 105 by using the process identifier of the process space in which the terminated calling program 103 is operating as a key, and deletes all the information of the global data having the matching process identifier ( Step 71).

【0036】以上により、本発明の第1の実施例の動作
である遠隔プログラム呼び出し方式の処理が完了する。
As described above, the processing of the remote program calling method, which is the operation of the first embodiment of the present invention, is completed.

【0037】本発明の第1の実施例である遠隔プログラ
ム呼び出し方式は、呼び出し側コンピュータ上に存在す
る大域データを、呼び出し先プログラムが大域データに
アクセスする必要があるときにのみデータを転送する方
式であるため、従来の遠隔プログラム呼び出し方式のよ
うに遠隔プログラム呼び出しの際に全ての大域データを
引き数として転送する必要がなく、必要最小限の通信デ
ータ量で大域データへのアクセスを実現することができ
る効果を有している。
The remote program calling method according to the first embodiment of the present invention transfers the global data existing on the calling computer only when the called program needs to access the global data. Therefore, it is not necessary to transfer all global data as an argument when calling a remote program as in the conventional remote program calling method, and to realize access to global data with the minimum required communication data amount. It has the effect that

【0038】図1と図2を参照すると、本発明の第2の
実施例である遠隔プログラム呼び出し方式は、第1の発
明の遠隔プログラム呼び出し方式において、呼び出し側
コンピュータ1には、大域データロック手段109と、
大域データアンロック手段110とが存在する。
Referring to FIGS. 1 and 2, the second embodiment of the remote program calling method of the present invention is that in the remote program calling method of the first invention, the calling computer 1 has a global data locking means. 109,
There is a global data unlocking means 110.

【0039】また、呼び出し先コンピュータ2には、大
域データロック手段206と、大域データアンロック手
段207とが存在する。
Further, the called computer 2 has a global data lock means 206 and a global data unlock means 207.

【0040】大域データ管理表105は、ロック情報フ
ィールド305と、ロック解除待ちフィールド306と
をエントリとして保持している。
The global data management table 105 holds a lock information field 305 and a lock release wait field 306 as entries.

【0041】次に本発明の第2の実施例の動作につい
て、図1、図2、および図4を参照して説明する。
Next, the operation of the second embodiment of the present invention will be described with reference to FIGS. 1, 2 and 4.

【0042】非同期で遠隔プログラム呼び出しを行い同
一の大域データを呼び出し側コンピュータ1上の呼び出
し側プログラム103と呼び出し先コンピュータ2上の
呼び出し先プログラム203とで同時に更新する可能性
がある場合には、プログラム中で同時更新を防ぐため
に、呼び出し側プログラム103からは大域データロッ
ク手段109または大域データアンロック手段110
を、呼び出し先プログラム203からは大域データロッ
ク手段206または大域データアンロック手段207を
呼び出す。
If there is a possibility that the remote program is called asynchronously and the same global data is updated simultaneously by the calling program 103 on the calling computer 1 and the called program 203 on the called computer 2, the program In order to prevent the simultaneous update in the calling program 103, the global data lock means 109 or the global data unlock means 110 is sent from the calling program 103.
From the called program 203, the global data lock means 206 or the global data unlock means 207 is called.

【0043】呼び出し側コンピュータ1上の大域データ
ロック手段109と大域データアンロック手段110と
が呼び出されると、更新対象の大域データ104の名標
と大域データ104内での相対位置、ロック領域の大き
さ、およびセキュリティ情報を引き数にして遠隔プログ
ラム呼び出しにより、遠隔プログラム呼び出し手段11
1を経由して大域データ参照更新手段108を呼び出
す。
When the global data lock means 109 and the global data unlock means 110 on the calling computer 1 are called, the name of the global data 104 to be updated, the relative position in the global data 104, and the size of the lock area. , And the remote program call means 11 by remote program call using the security information as an argument.
The global data reference updating means 108 is called via 1.

【0044】同様に呼び出し先コンピュータ2上の大域
データロック手段206と大域データアンロック手段2
07が呼び出されると、更新対象の大域データ104の
名標と大域データ104内での相対位置、ロック領域の
大きさ、およびセキュリティ情報を引き数にして遠隔プ
ログラム呼び出しにより、遠隔プログラム呼び出し手段
211を経由して呼び出し側コンピュータ1上の大域デ
ータ参照更新手段108を呼び出す。
Similarly, the global data lock means 206 and the global data unlock means 2 on the called computer 2 are called.
When 07 is called, the name of the global data 104 to be updated, the relative position in the global data 104, the size of the lock area, and the security information are used as arguments to call the remote program calling unit 211. The global data reference updating means 108 on the calling side computer 1 is called via.

【0045】呼び出し側コンピュータ1上の大域データ
参照更新手段108は、大域データ104のロック要求
またはアンロック要求を受けると、引き数に指定された
大域データ104の名標で大域データ管理表105を検
索する(ステップ8A)。大域データ管理表105内に
名標の一致する大域データ104があれば、次にその大
域データ104のセキュリティ情報と引き数に指定され
たセキュリティ情報を比較し(ステップ8B)、セキュ
リティ情報の正当性に問題がなければ、さらに引き数に
指定されたロック要求の大域データ104の相対位置と
大きさが、大域データ管理表105に登録されている大
域データ104内に収まっているか否かを比較する(ス
テップ8C)。
When the global data reference updating means 108 on the calling computer 1 receives the lock request or the unlock request for the global data 104, the global data reference updating means 108 stores the global data management table 105 with the name of the global data 104 designated by the argument. Search (step 8A). If there is global data 104 with the same name in the global data management table 105, then the security information of the global data 104 is compared with the security information specified in the argument (step 8B), and the security information is valid. If there is no problem in, the relative position and size of the global data 104 of the lock request specified by the argument are compared with each other to determine whether or not the relative position and size are within the global data 104 registered in the global data management table 105. (Step 8C).

【0046】この比較作業において異常があればエラー
を返却する(ステップ8D)。
If there is an abnormality in this comparison work, an error is returned (step 8D).

【0047】大域データ104のロック要求の場合に
は、大域データ管理表105のロック情報フィールド3
05を参照して、要求されたロック領域と重なるものが
あるか否かを判定する(ステップ91)。重なっている
ロック情報があれば応答を返却せずに、受信した要求を
ロック解除待ちフィールド306に記憶する(ステップ
92)。重なっているロック情報が無ければ、ロック情
報フィールド305にロック領域を登録し、ロックした
旨を応答する(ステップ93)。
In the case of a lock request for the global data 104, the lock information field 3 of the global data management table 105
With reference to 05, it is determined whether or not there is any overlap with the requested lock area (step 91). If there is overlapping lock information, the received request is stored in the lock release wait field 306 without returning a response (step 92). If there is no overlapping lock information, the lock area is registered in the lock information field 305 and a response indicating that the lock is made is returned (step 93).

【0048】大域データ104のアンロック要求の場合
には、大域データ管理表105のロック情報フィールド
305を参照して、要求されたロック領域と一致したも
のを探す(ステップ01)。大域データ104の領域が
一致しているロック情報が無ければ、不正なアンロック
要求としてエラーを返却する(ステップ02)。一致し
ているロック情報があり、要求したプロセスがロックし
たものと同一ならば(ステップ03)、該ロック情報を
削除し、アンロックした旨を応答する(ステップ0
4)。このとき、ロック解除待ちフィールド306に登
録されているロック要求でロック可能なものがあるか否
かを調べ(ステップ05)、ロック可能なものがあれば
ロック情報フィールド305に記憶してロックした旨を
応答する(ステップ06)。この処理はロック解除待ち
フィールド306に登録されている全てのロック要求に
対して実施する。
In the case of an unlock request for the global data 104, the lock information field 305 of the global data management table 105 is referred to search for the one that matches the requested lock area (step 01). If there is no lock information in which the areas of the global data 104 match, an error is returned as an invalid unlock request (step 02). If there is matching lock information and it is the same as the one that the requesting process has locked (step 03), the lock information is deleted and a response indicating that it is unlocked is returned (step 0).
4). At this time, it is checked whether or not there is a lock request in the lock request registered in the lock release waiting field 306 (step 05), and if there is a lock request, it is stored in the lock information field 305 and locked. Is responded (step 06). This process is executed for all lock requests registered in the lock release wait field 306.

【0049】呼び出し側プログラム103が終了する
と、大域データ削除手段107が呼び出される。大域デ
ータ削除手段107では終了した呼び出し側プログラム
103の動作していたプロセス空間のプロセス識別子を
キーにして大域データ管理表105を検索し、一致する
プロセス識別子を持つメンバを全て削除する(ステップ
7A)。このときロック解除待ちフィールド306に登
録されているロック要求には全てエラーを返却する(ス
テップ7B)。
When the calling program 103 ends, the global data deleting means 107 is called. The global data deleting means 107 searches the global data management table 105 by using the process identifier of the process space in which the terminated calling program 103 is operating as a key, and deletes all members having the matching process identifier (step 7A). . At this time, an error is returned to all the lock requests registered in the lock release wait field 306 (step 7B).

【0050】以上により、本発明の第2の実施例の動作
である遠隔プログラム呼び出し方式の処理が完了する。
As described above, the processing of the remote program calling method, which is the operation of the second embodiment of the present invention, is completed.

【0051】本発明の第2の実施例である遠隔プログラ
ム呼び出し方式は、第1の実施例に加えて、大域データ
へのロック手段とアンロック手段を有しているので、従
来の遠隔プログラム呼び出し方式のように順序性を考慮
して呼び出し側プログラムを設定する必要が無く、また
複数の呼び出し先コンピュータが同時に動作することが
できるため、待ち合わせのためにプロセッサを無駄にす
ることがない効果を有している。
The remote program calling method according to the second embodiment of the present invention has a lock means and an unlock means for global data in addition to the first embodiment, so that the conventional remote program calling method is used. Unlike the system, it is not necessary to set the calling program in consideration of the order, and multiple callee computers can operate at the same time, which has the effect of not wasting the processor for waiting. are doing.

【0052】また、本発明の第1の実施例および第2の
実施例とも、呼び出し先コンピュータが1台の例を説明
したが、呼び出し先コンピュータが複数台存在する場合
においても、同様に動作する。
Further, in both the first and second embodiments of the present invention, an example in which there is one called computer has been described, but the same operation is performed even when there are a plurality of called computers. .

【0053】[0053]

【発明の効果】以上説明したように、本発明の遠隔プロ
グラム呼び出し方式は、呼び出し側コンピュータ上に存
在する大域データを、呼び出し先プログラムが大域デー
タにアクセスする必要があるときにのみデータを転送す
る方式であるため、従来の遠隔プログラム呼び出し方式
のように遠隔プログラム呼び出しの際に全ての大域デー
タを引き数として転送する必要がなく、必要最小限の通
信データ量で大域データへのアクセスを実現することが
できる効果を有している。
As described above, the remote program calling method of the present invention transfers the global data existing on the calling computer only when the called program needs to access the global data. Since it is a system, it is not necessary to transfer all global data as an argument when calling a remote program unlike the conventional remote program calling system, and access to global data is realized with the minimum required communication data amount. It has the effect of being able to.

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

【図1】図1は本発明の第1および第2の実施例を示す
ブロック図である。
FIG. 1 is a block diagram showing first and second embodiments of the present invention.

【図2】図2は本発明の第1および第2の実施例の大域
データ管理表105の例を示す図である。
FIG. 2 is a diagram showing an example of a global data management table 105 according to the first and second embodiments of this invention.

【図3】図3は本発明の第1の実施例の大域データ登録
手段106、遠隔プログラム呼び出し手段111、遠隔
プログラム呼び出し受け付け手段212、大域データ参
照手段204、大域データ更新手段205、大域データ
参照更新手段108、および大域データ削除手段107
の処理を示す流れ図である。
FIG. 3 is a diagram showing a global data registration means 106, a remote program call means 111, a remote program call acceptance means 212, a global data reference means 204, a global data update means 205 and a global data reference according to the first embodiment of the present invention. Updating means 108 and global data deleting means 107
6 is a flowchart showing the processing of FIG.

【図4】図4は本発明の第2の実施例の大域データ参照
更新手段108、大域データロック手段109、大域デ
ータアンロック手段110、および大域データ削除手段
107の処理を示す流れ図である。
FIG. 4 is a flow chart showing the processing of a global data reference updating means 108, a global data locking means 109, a global data unlocking means 110 and a global data deleting means 107 according to the second embodiment of the present invention.

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

1 呼び出し側コンピュータ 2 呼び出し先コンピュータ 101 原始プログラム 102 翻訳プログラム 103 呼び出し側プログラム 104 大域データ 105 大域データ管理表 106 大域データ登録手段 107 大域データ削除手段 108 大域データ参照更新手段 109 大域データロック手段 110 大域データアンロック手段 111 遠隔プログラム呼び出し手段 112 遠隔プログラム呼び出し受け付け手段 201 原始プログラム 202 翻訳プログラム 203 呼び出し側プログラム 204 大域データ参照手段 205 大域データ更新手段 206 大域データロック手段 207 大域データアンロック手段 211 遠隔プログラム呼び出し手段 212 遠隔プログラム呼び出し受け付け手段 301 領域名フィールド 302 プロセス識別子フィールド 303 プロセス内相対位置フィールド 304 大域データサイズフィールド 305 ロック情報フィールド 306 ロック解除待ちフィールド 307 セキュリティ情報フィールド 1 Calling Computer 2 Called Computer 101 Source Program 102 Translation Program 103 Calling Program 104 Global Data 105 Global Data Management Table 106 Global Data Registration Means 107 Global Data Deletion Means 108 Global Data Reference Updating Means 109 Global Data Locking Means 110 Global Data Unlocking means 111 Remote program calling means 112 Remote program call receiving means 201 Source program 202 Translation program 203 Calling program 204 Global data reference means 205 Global data updating means 206 Global data locking means 207 Global data unlocking means 211 Remote program calling means 212 remote program call acceptance means 301 area name field 302 process Identifier field 303 In-process relative position field 304 Global data size field 305 Lock information field 306 Lock release wait field 307 Security information field

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 ローカルエリアネットワーク等のネット
ワークで接続されている呼び出し側コンピュータ上の呼
び出し側プログラムが、他の呼び出し先コンピュータ上
の呼び出し先プログラムをプログラムとして呼び出す方
式であって、 この呼び出し側コンピュータが、 前記呼び出し側プログラムが宣言した大域データの所在
位置を記憶する大域データ管理表と、 前記呼び出し側プログラムが起動されたときに大域デー
タをこの大域データ管理表に登録する大域データ登録手
段と、 前記呼び出し側プログラムが終了したときに大域データ
をこの大域データ管理表から削除する大域データ削除手
段と、 前記呼び出し側プログラムが前記呼び出し先プログラム
を呼び出すときに、大域データへの参照を可能にするキ
ー情報を前記呼び出し先コンピュータに通知する遠隔プ
ログラム呼び出し手段とを備え、 前記呼び出し先コンピュータが、 前記呼び出し側コンピュータの前記遠隔プログラム呼び
出し手段から通知された遠隔プログラム呼び出し要求を
受け取り、前記呼び出し先プログラムを呼び出す呼び出
し先プログラム呼び出し手段と、 前記呼び出し先プログラムが大域データを参照するとき
に、前記呼び出し側コンピュータへ大域データへの参照
をキー情報とともに要求する大域データ参照手段と、 前記呼び出し先プログラムが大域データを更新するとき
に、前記呼び出し側コンピュータへ大域データへの更新
をキー情報とともに要求する大域データ更新手段とを備
え、 さらに前記呼び出し側コンピュータが、 前記大域データ参照手段と、この大域データ更新手段か
らの参照・更新要求を受け付け、前記大域データ管理表
から大域データの存在位置を決定し、大域データの参照
・更新を行って、結果を返却する大域データ参照更新手
段を備えることを特徴とする遠隔プログラム呼び出し方
式。
1. A method in which a calling program on a calling computer connected by a network such as a local area network calls a called program on another called computer as a program, wherein the called computer A global data management table that stores the location of global data declared by the calling program; global data registration means that registers global data in the global data management table when the calling program is activated; Global data deleting means for deleting global data from this global data management table when the calling program terminates, and key information enabling reference to global data when the calling program calls the called program The callee Remote program call means for notifying the computer, the call destination computer receiving the remote program call request notified from the remote program call means of the calling computer, and calling the call destination program. And, when the called program refers to global data, global data reference means for requesting the calling computer to refer to global data together with key information, and when the called program updates global data, Global data updating means for requesting the calling computer to update the global data together with key information, and the calling computer further includes the global data reference means and a reference from the global data updating means. A remote program calling method characterized by comprising global data reference updating means for receiving a new request, determining the location of the global data from the global data management table, referring / updating the global data, and returning the result. .
【請求項2】 前記呼び出し側コンピュータが、 前記呼び出し側プログラムの要求により大域データへの
参照・更新を排他するためのロックを要求する大域デー
タロック手段とアンロックを要求する大域データアンロ
ック手段とを備え、 前記呼び出し先コンピュータが、 前記呼び出し先プログラムの要求により大域データへの
参照・更新を排他するためのロックを要求する大域デー
タロック手段とアンロックを要求する大域データアンロ
ック手段とを備え、 さらに前記呼び出し側コンピュータが、 前記大域データ参照手段、前記大域データ更新手段、大
域データロック手段、および大域データアンロック手段
からの参照、更新、ロック、およびアンロック要求を受
け付け、参照・更新要求なら前記大域データ管理表から
大域データの存在位置を決定し、大域データの参照・更
新を行って、結果を返却し、ロック・アンロック要求な
ら前記大域データ管理表の排他参照情報を更新して結果
を返却する大域データ参照更新手段を備えることを特徴
とする請求項1の遠隔プログラム呼び出し方式。
2. A global data lock means for requesting a lock for exclusive reference / update to global data and a global data unlock means for requesting an unlock by the calling computer at the request of the calling program. The callee computer comprises a global data lock means for requesting a lock for exclusive reference / update to global data at the request of the callee program, and a global data unlock means for requesting an unlock. Further, the calling computer receives a reference, update, lock, and unlock request from the global data reference unit, the global data update unit, the global data lock unit, and the global data unlock unit, and a reference / update request. If so, the location of the global data from the global data management table A global data reference updating unit that returns the result by referring / updating the global data, returning the result, and updating the exclusive reference information of the global data management table if the request is a lock / unlock. The remote program calling method according to claim 1, wherein
JP5231512A 1993-09-17 1993-09-17 Remote program calling method Expired - Fee Related JP2526799B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5231512A JP2526799B2 (en) 1993-09-17 1993-09-17 Remote program calling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5231512A JP2526799B2 (en) 1993-09-17 1993-09-17 Remote program calling method

Publications (2)

Publication Number Publication Date
JPH0784923A JPH0784923A (en) 1995-03-31
JP2526799B2 true JP2526799B2 (en) 1996-08-21

Family

ID=16924655

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5231512A Expired - Fee Related JP2526799B2 (en) 1993-09-17 1993-09-17 Remote program calling method

Country Status (1)

Country Link
JP (1) JP2526799B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9513980B2 (en) * 2010-10-19 2016-12-06 Sap Se Transparent distribution and decoupling of modules using asynchronous communication and scopes

Also Published As

Publication number Publication date
JPH0784923A (en) 1995-03-31

Similar Documents

Publication Publication Date Title
US7260578B2 (en) Database-file link system and method therefor
US6377948B2 (en) Directory access method
US5864669A (en) Method and system for accessing a particular instantiation of a server process
US7437407B2 (en) File server system providing direct data sharing between clients with a server acting as an arbiter and coordinator
US6385701B1 (en) Method, system and program products for sharing data between varied clients using token management
US5535375A (en) File manager for files shared by heterogeneous clients
JP2533266B2 (en) Locking method of data resource in shared data system and data lock management method between systems
US6324581B1 (en) File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems
US6466965B1 (en) Centralized affinity maintenance in a workload managed client/server data processing system
US5459862A (en) Network concurrency control for autonomous databases featuring independent lock release and lock ownership transfer
US20050138375A1 (en) Method and apparatus providing optimistic locking of shared computer resources
JP2001522115A (en) Method and apparatus for implementing an extensible authentication mechanism in a web application server
JP2001522086A (en) Method and apparatus for performing transactions in a stateless web environment supporting a declarative paradigm
JPH10187519A (en) Method for preventing contention of distribution system
JPH05274241A (en) Method and device for discriminating equivalence of objects
JPH03222048A (en) Sharing system for inter-system data base
JP2526799B2 (en) Remote program calling method
JPH036751A (en) File-locking method and device
JPH11306151A (en) Decentralized object processor and program storage medium
US20030018653A1 (en) Database management method, system for practicing the method and medium recording process program
JP2710329B2 (en) User information management method in distributed system
JPH05113959A (en) Method and device for alternatively processing remote procedure call request
JP2000194613A (en) Data transfer optimization system and method for client- server system
CN112732530B (en) LVS operation and maintenance control system, method and device
KR100228404B1 (en) Method for generating database driving environment in intelligent network service controlling/managing system

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19960416

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

Free format text: PAYMENT UNTIL: 20080614

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20090614

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20100614

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees