JPH04107741A - Rpcにおけるサービスプロシージャの外出し方式 - Google Patents
Rpcにおけるサービスプロシージャの外出し方式Info
- Publication number
- JPH04107741A JPH04107741A JP22714590A JP22714590A JPH04107741A JP H04107741 A JPH04107741 A JP H04107741A JP 22714590 A JP22714590 A JP 22714590A JP 22714590 A JP22714590 A JP 22714590A JP H04107741 A JPH04107741 A JP H04107741A
- Authority
- JP
- Japan
- Prior art keywords
- program
- procedure
- service
- rpc
- definition file
- 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
Links
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、RP C(Remote Procedu
re Ca1l)機能を持つコンピュータにおいて、R
PCを使用したプログラム作成、及びその後のプログラ
ム改良に関するものである。
re Ca1l)機能を持つコンピュータにおいて、R
PCを使用したプログラム作成、及びその後のプログラ
ム改良に関するものである。
RPCプログラムは、大きく分けてクライアント、サー
バの両プログラムから構成される。
バの両プログラムから構成される。
前記サーバ側の工つのプログラムは、自分自身のプログ
ラム番号をポート・マツプ(port map)という
RPCサーバプログラムに関する情報を持つプログラム
に登録し、1つのプログラム番号に対し、複数のプロシ
ージャ番号(サービスプロシージャ)を持つ。
ラム番号をポート・マツプ(port map)という
RPCサーバプログラムに関する情報を持つプログラム
に登録し、1つのプログラム番号に対し、複数のプロシ
ージャ番号(サービスプロシージャ)を持つ。
一方、クライアント側のプログラムは、サービスを受け
たいサーへのプログラム番号を指定して、該プログラム
番号を上記ポート・マツプに問い合わせ、指定のプログ
ラムが存在すると判明したならば、更に、そのプログラ
ム番号に対するプロシージャを指定し、サービス要求を
出力する。
たいサーへのプログラム番号を指定して、該プログラム
番号を上記ポート・マツプに問い合わせ、指定のプログ
ラムが存在すると判明したならば、更に、そのプログラ
ム番号に対するプロシージャを指定し、サービス要求を
出力する。
サーバ側の各サービスプロシージャは、タライアンド側
プログラムからのサービス要求を受けて実際のサービス
を実行するための処理を記述している必要がある。
プログラムからのサービス要求を受けて実際のサービス
を実行するための処理を記述している必要がある。
現在のRPCでは、RPCを使用した新しいサービスを
追加するためには、サーバ側で1つ新しいプログラムを
作成する必要がある。これは、各サービスプロシージャ
はサーバ側プログラム作成時にプログラム中に既に組み
込まれている必要があるためである。
追加するためには、サーバ側で1つ新しいプログラムを
作成する必要がある。これは、各サービスプロシージャ
はサーバ側プログラム作成時にプログラム中に既に組み
込まれている必要があるためである。
また、サーバ側で新しいプログラムを作成し、それをポ
ート・マツプに登録するためには、そのプログラムは常
に動作中である必要がある。
ート・マツプに登録するためには、そのプログラムは常
に動作中である必要がある。
従来のRPCの機構では、上述のようにサービスプロシ
ージャの追加は常に新しいサーバ側プログラムの作成を
意味し、また、ポート・マツプに対する登録はサーバ側
プログラムを動作中にする必要があるので、より多くの
メモリを占有し、ホストコンピュータの処理能力を低下
させる恐れがある。
ージャの追加は常に新しいサーバ側プログラムの作成を
意味し、また、ポート・マツプに対する登録はサーバ側
プログラムを動作中にする必要があるので、より多くの
メモリを占有し、ホストコンピュータの処理能力を低下
させる恐れがある。
この発明は、上記の問題点を解決するためになされたも
ので、既存のRPCサー八側へのサービスプロシージャ
の追加をモジュールを再作成(リコンパイル)すること
なく実行することを目的とする。
ので、既存のRPCサー八側へのサービスプロシージャ
の追加をモジュールを再作成(リコンパイル)すること
なく実行することを目的とする。
即ち、ワークステーションを中心に既に標準機能になっ
ているRPCにおいて、各プログラムが独自に持つサー
ビスプロシージャを、現在のロードモジュール内部に持
つ方法以外に、後からのサービスプロシージャの追加を
可能にするものである。
ているRPCにおいて、各プログラムが独自に持つサー
ビスプロシージャを、現在のロードモジュール内部に持
つ方法以外に、後からのサービスプロシージャの追加を
可能にするものである。
この発明に係るRPCにおけるサービスプロシージャの
外出し方式は、現在の標準RPC機能に加え、RPCサ
ーバ側プログラムにおいて、プログラム組み込みのサー
ビス要求に対する新たなルーチン、そのために必要なプ
ログラム番号、プロシージャ番号等の対応を示すデータ
ベース及び実際のサービスを実行する別プログラムを利
用することにより、追加のサービスプロシージャの参照
を可能とするものである。
外出し方式は、現在の標準RPC機能に加え、RPCサ
ーバ側プログラムにおいて、プログラム組み込みのサー
ビス要求に対する新たなルーチン、そのために必要なプ
ログラム番号、プロシージャ番号等の対応を示すデータ
ベース及び実際のサービスを実行する別プログラムを利
用することにより、追加のサービスプロシージャの参照
を可能とするものである。
この発明におけるRPCにおけるサービスプロシージャ
の外出し方式は、RPCサー八側へログラムにおけるサ
ービスプロシージャの外出しを実行することによりRP
Cサーバ側のモジュール性(modularity)を
高める。
の外出し方式は、RPCサー八側へログラムにおけるサ
ービスプロシージャの外出しを実行することによりRP
Cサーバ側のモジュール性(modularity)を
高める。
以下、この発明の一実施例を図について説明する。
第1図において、101はRPCサーバ側プログラムの
うち、各サービスプロシージャに対する処理を実行する
部分の抜粋、102は各RPCプログラムに対し、外出
し可能となったRPCサービスプロシージャの定義ファ
イル、103はRPCの実際のサービス要求を実行する
部分である。
うち、各サービスプロシージャに対する処理を実行する
部分の抜粋、102は各RPCプログラムに対し、外出
し可能となったRPCサービスプロシージャの定義ファ
イル、103はRPCの実際のサービス要求を実行する
部分である。
ここで、現在のRPCサーバ側のプログラムに関して考
えると、第1図の1−01において、“default
:”の際の処理結果は常に図に示した“else”“の
場合しか存在しなかった。
えると、第1図の1−01において、“default
:”の際の処理結果は常に図に示した“else”“の
場合しか存在しなかった。
二の場合において、図でいう各“case”文に相当し
ないサービスプロシージャの場合には、必ス”no 5
uch procedure’となる。
ないサービスプロシージャの場合には、必ス”no 5
uch procedure’となる。
そこで、第1図に示す104 (RPCサーバプログラ
ムの追加プログラム)の処理をRPCサーバ側プログラ
ムに追加し、任意のRPCサービスプロシージャの追加
を可能にする機構を従供する。
ムの追加プログラム)の処理をRPCサーバ側プログラ
ムに追加し、任意のRPCサービスプロシージャの追加
を可能にする機構を従供する。
第1図における104に必要な処理を第2図のフローチ
ャートに示す。
ャートに示す。
ここの処理が実行されるのは、RPCサーバ側プログラ
ム内に要求されたサービスプロシージャが存在しないと
きである。
ム内に要求されたサービスプロシージャが存在しないと
きである。
第1に、サービスプロシージャ定義ファイルを参照する
(関数getrpcprocent())。換言すると
、定義ファイル中に要求したプログラムプロシージャー
の対応が存在するか否か判断しくステップ5201)、
定義ファイルがない、或いは定義ファイル中に要求され
たプログラムプロシージャの対応が存在しなかった場合
には、 no 5uchprocedure”の結果
を繰り返し、指定のプロシージャに対するサービスを実
行しない(ステ、プ5202)。反対に、定義ファイル
がある、或いは定義ファイル中乙こ要求されたプログラ
ムプロシージャの対応が存在する場合うこは、定義ファ
イル中のexecpathで指定されたプログラムが、
実際のサービスプロシージャに対する処理を実行する。
(関数getrpcprocent())。換言すると
、定義ファイル中に要求したプログラムプロシージャー
の対応が存在するか否か判断しくステップ5201)、
定義ファイルがない、或いは定義ファイル中に要求され
たプログラムプロシージャの対応が存在しなかった場合
には、 no 5uchprocedure”の結果
を繰り返し、指定のプロシージャに対するサービスを実
行しない(ステ、プ5202)。反対に、定義ファイル
がある、或いは定義ファイル中乙こ要求されたプログラ
ムプロシージャの対応が存在する場合うこは、定義ファ
イル中のexecpathで指定されたプログラムが、
実際のサービスプロシージャに対する処理を実行する。
その際、RPCサーバ側プログラムは、その処理を子プ
ロセスに任せ、自分自身は子プロセスにより得られる結
果を受は取るまで待機状態となる(ステップ3203〜
ステツプ5206)。
ロセスに任せ、自分自身は子プロセスにより得られる結
果を受は取るまで待機状態となる(ステップ3203〜
ステツプ5206)。
結果として受は取るデータの型は、各サービスにより異
なるが、定義ファイルにその型を記述しておくことによ
り、データ型が保証される。
なるが、定義ファイルにその型を記述しておくことによ
り、データ型が保証される。
子プロセスの結果を受は取ったRPCサーバ側プログラ
ムは、この状態で、サービスプロシージャに対する処理
を終了したことを確認できたので、第1図における他の
“case”文と同等の機能を果たしたことになる。
ムは、この状態で、サービスプロシージャに対する処理
を終了したことを確認できたので、第1図における他の
“case”文と同等の機能を果たしたことになる。
一方、RPCサーバ側プログラムにより起動され、実際
のサービスプロシージャに対する処理を実行するプログ
ラムのフローチャートを第3図に示す。
のサービスプロシージャに対する処理を実行するプログ
ラムのフローチャートを第3図に示す。
ここでは、定義ファイルより得られる引数のタイプ(第
1図“argutype” )を基に引数を解釈しくス
テップS 301 ) 、3解釈された引数を使用して
要求されたサービスプロシージャに対する処理の実行(
ステップ5302)L、定義ファイルより得られる結果
のタイプ(第1図のresulttype” )に合わ
せたRPCサーバ側プログラムに返却すべき結果データ
を作成しくステップ5303)、該結果データをプロセ
ス間通信機能を使用してRPCサーバ側プログラムに転
送する処理を実行する(ステップ5304)。
1図“argutype” )を基に引数を解釈しくス
テップS 301 ) 、3解釈された引数を使用して
要求されたサービスプロシージャに対する処理の実行(
ステップ5302)L、定義ファイルより得られる結果
のタイプ(第1図のresulttype” )に合わ
せたRPCサーバ側プログラムに返却すべき結果データ
を作成しくステップ5303)、該結果データをプロセ
ス間通信機能を使用してRPCサーバ側プログラムに転
送する処理を実行する(ステップ5304)。
なお、上記実施例では、従来のRPCサーバ側プログラ
ムと同様、その処理がRPCサーバマシン内にのみ閉じ
たものと考えて説明したが、サービスプロシージャ定義
ファイルの書式にホスト名を加える、及び、プロセス間
通信の手段としてネットワーク・アクセス可能な手段を
使用することにより、ネットワーク透過な機能としても
使用できる。
ムと同様、その処理がRPCサーバマシン内にのみ閉じ
たものと考えて説明したが、サービスプロシージャ定義
ファイルの書式にホスト名を加える、及び、プロセス間
通信の手段としてネットワーク・アクセス可能な手段を
使用することにより、ネットワーク透過な機能としても
使用できる。
〔発明の効果]
以上のように、この発明によれば1、つのRPCサーバ
側プログラムに任意のサービスプロシージャの追加を可
能としているので、サービスプロシージャの追加が容易
にでき、また、ソフトウェアの開発、保守の便宜が図れ
る効果がある。
側プログラムに任意のサービスプロシージャの追加を可
能としているので、サービスプロシージャの追加が容易
にでき、また、ソフトウェアの開発、保守の便宜が図れ
る効果がある。
第1図はこの発明の一実施例によるRPCサーバ側で必
要なプログラム及びファイルの構成を示す説明図、第2
図は第1図中で本発明に必要な処理動作を示すフローチ
ャート、第3図は各RPCサービスに対する追加可能な
サービスプロシージャに必要な処理動作を示すフローチ
ャートである。 図において、 101−RP Cサーバ側プログラム 10:l”−−サービスプロシージャ定義ファイル10
3−サービス実行 104−RP Cサーバ側プログラムの追加プログラム である。 なお、各図中、同一符号は同一、又は相当部分を示す。
要なプログラム及びファイルの構成を示す説明図、第2
図は第1図中で本発明に必要な処理動作を示すフローチ
ャート、第3図は各RPCサービスに対する追加可能な
サービスプロシージャに必要な処理動作を示すフローチ
ャートである。 図において、 101−RP Cサーバ側プログラム 10:l”−−サービスプロシージャ定義ファイル10
3−サービス実行 104−RP Cサーバ側プログラムの追加プログラム である。 なお、各図中、同一符号は同一、又は相当部分を示す。
Claims (1)
- 【特許請求の範囲】 クライアントプログラムとサーバプログラムから成るR
PC(RemoteProcedureCall)プロ
グラムにおいて、 前記サーバプログラムにおけるプログラム組み込みのサ
ービス要求に対するルーチンと、 前記ルーチンを実行するための必要なプログラム番号、
プロシージャ番号等の対応を示すデータベースと、 実際のサービスを実行する別プログラムとを利用するこ
とにより追加のサービスプロシージャの参照を可能にし
たことを特徴とするRPCにおけるサービスプロシージ
ャの外出し方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22714590A JPH04107741A (ja) | 1990-08-29 | 1990-08-29 | Rpcにおけるサービスプロシージャの外出し方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22714590A JPH04107741A (ja) | 1990-08-29 | 1990-08-29 | Rpcにおけるサービスプロシージャの外出し方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04107741A true JPH04107741A (ja) | 1992-04-09 |
Family
ID=16856197
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP22714590A Pending JPH04107741A (ja) | 1990-08-29 | 1990-08-29 | Rpcにおけるサービスプロシージャの外出し方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04107741A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH1021059A (ja) * | 1996-07-02 | 1998-01-23 | Mitsubishi Electric Corp | ネットワークシステムのソフトウェア・バージョン管理方式 |
| US5915112A (en) * | 1996-01-02 | 1999-06-22 | International Business Machines Corporation | Remote procedure interface with support for multiple versions |
| US6208428B1 (en) | 1997-05-21 | 2001-03-27 | Nec Corporation | Printing system and charging method thereof |
| JP2004533046A (ja) * | 2001-03-21 | 2004-10-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プラグ対応認可システムに対するサーバサポート方法およびシステム |
-
1990
- 1990-08-29 JP JP22714590A patent/JPH04107741A/ja active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5915112A (en) * | 1996-01-02 | 1999-06-22 | International Business Machines Corporation | Remote procedure interface with support for multiple versions |
| US6493768B1 (en) * | 1996-01-02 | 2002-12-10 | International Business Machines Corporation | Remote procedure interface with support for multiple versions |
| JPH1021059A (ja) * | 1996-07-02 | 1998-01-23 | Mitsubishi Electric Corp | ネットワークシステムのソフトウェア・バージョン管理方式 |
| US6208428B1 (en) | 1997-05-21 | 2001-03-27 | Nec Corporation | Printing system and charging method thereof |
| JP2004533046A (ja) * | 2001-03-21 | 2004-10-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プラグ対応認可システムに対するサーバサポート方法およびシステム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2665089B2 (ja) | 分散環境下におけるコンパイル方式 | |
| US5442779A (en) | System and method for enabling an interpreted programming language to be executed in a database management system environment | |
| JPH0827726B2 (ja) | 共通エージェント・コンピュータ管理システムと方法 | |
| US7533136B2 (en) | Efficient implementation of multiple work areas in a file system like repository that supports file versioning | |
| US6353859B1 (en) | Object-oriented apparatus and method for controlling accesses to objects in a distributed object environment | |
| US5761696A (en) | Parallel database serving mechanism for a single-level-store computer system | |
| JPH04107741A (ja) | Rpcにおけるサービスプロシージャの外出し方式 | |
| US7366734B2 (en) | Enabling client systems to discover services accessible by remote procedure calls (RPC) on server systems | |
| US6938052B2 (en) | Access to server resources from heterogeneous platforms | |
| US5062046A (en) | Multiple processor system having a correspondence table for transferring processing control between instruction processors | |
| JPH07141237A (ja) | データベースアクセス制御装置 | |
| CN116644081B (zh) | 数据操作方法、装置、电子设备及存储介质 | |
| US7412456B2 (en) | System and method for improved exposure of database schema information | |
| JPH04260141A (ja) | データ共有処理装置 | |
| JP2871931B2 (ja) | 帳票出力制御方法 | |
| JPH1040118A (ja) | クライアント/サーバシステム及びクライアント端末装置 | |
| JPH05143410A (ja) | 分散データベースのアクセス制御方法 | |
| JPH0954736A (ja) | ファイルサーバシステム環境におけるosi実装方法 | |
| JPH05289919A (ja) | データベースアクセスプログラム生成方式 | |
| JPH07334401A (ja) | ネットワーク接続システムのデータベースアクセス業務 の高速化方法 | |
| JPH0752417B2 (ja) | ソフトウエアのデバイスサポ−ト方式 | |
| JP2003036171A (ja) | プログラム実行方法及びプログラム実行装置 | |
| JPH04348438A (ja) | 利用権管理方式 | |
| JPH0635719A (ja) | 複数プログラム間データ共有管理方式 | |
| JPH0795296B2 (ja) | データ処理システムにおける情報共有処理方式 |