JPH08194612A - プログラム実行制御方法及びプログラム実行制御システム - Google Patents

プログラム実行制御方法及びプログラム実行制御システム

Info

Publication number
JPH08194612A
JPH08194612A JP7008290A JP829095A JPH08194612A JP H08194612 A JPH08194612 A JP H08194612A JP 7008290 A JP7008290 A JP 7008290A JP 829095 A JP829095 A JP 829095A JP H08194612 A JPH08194612 A JP H08194612A
Authority
JP
Japan
Prior art keywords
program
subroutine
calling
server
message event
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
JP7008290A
Other languages
English (en)
Inventor
Takeya Mukaikaito
岳弥 向垣内
Junichi Kikuchi
淳一 菊池
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP7008290A priority Critical patent/JPH08194612A/ja
Publication of JPH08194612A publication Critical patent/JPH08194612A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 本発明の目的は、計算機システムにおいて、
サービスが複数のプログラムの組合せにより構成される
場合において、プログラムの追加や変更、プログラムの
呼出し順序の変更を現プログラムを停止させることな
く、行うことが可能なプログラム実行制御方法及びプロ
グアラム実行制御システムを提供することである。 【構成】 本発明は、複数のサブルーチンを含むサブル
ーチン群400と、呼び出されるサブルーチンの呼出し
を制御するための情報を保持する複数のサブルーチン呼
出制御票300と、サブルーチン呼出制御票300を参
照して、サブルーチン群400よりサブルーチンを呼び
出す主プログラム100とを有する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラム実行制御方
法及びプログラム実行制御システムに係り、特に、計算
機システムにおいて、複数のプログラムで一つのサービ
スが構成される場合に複数のサブルーチンを呼び出して
実行する、さらに、計算機システムにおけるクライアン
ト−サーバシステムにおいて、複数のサーバプログラム
を呼び出すことで一つのサービスを構成し、外部からの
メッセージイベントをサーバプログラムの呼出契機とす
るプログラム実行制御方法及びプログラム実行制御シス
テムに関する。
【0002】詳しくは、複数のサブルーチンを呼び出す
ことで、一つのサービスを構成し、外部からのメッセー
ジイベントの取得をサブルーチンの呼出し契機とするク
ライアントプログラムによるプログラム実行制御方法及
びプログラム実行制御システムに関する。
【0003】また、詳しくは、クライアント−サーバシ
ステムにおいて、複数のサーバプログラムを呼び出すこ
とで、一つのサービスを構成し、外部からのメッセージ
イベントをサーバプログラムの呼び出し契機とするプロ
グラム実行制御方法及びプログラム実行制御システムに
関する。
【0004】
【従来の技術】計算機システムにおいて、一つのサービ
スを複数のプログラムから構成する方法として以下の3
つの方法がある。まず、第1の方法は、サービスを実現
するために必要な呼出し関係を記述した主プログラムと
主プログラムから呼び出される副プログラムを、個別に
コンパイルしてオブジェクトモジュールを作成し、リン
カと呼ばれるプログラムを用いて、物理的に一つの実行
形式のプログラムとして静的に結合する方法である。
【0005】第2の方法は、サービスを実現するために
必要な呼出し関係を記述した主プログラムと主プログラ
ムから呼び出される副プログラムを、個別にコンパイル
してオブジェクトモジュールを作成し、それらオブジェ
クトモジュールを物理的に複数のプログラムとして実行
時に動的に結合する方法である。
【0006】第3の方法は、サービスを実現するために
必要な呼出し関係を記述した主プログラムと主プログラ
ムから呼び出される副プログラムを、個別にコンパイル
し、主プログラムをクライアント型プログラム、副プロ
グラムをサーバ型プログラムとし、実行時に動的に結合
する方法である。
【0007】図16は、ファイル転送の例を示す。同図
に示す例は、ある利用者がセンタを経由して他の利用者
にファイルを転送する場合を示す。各々の利用者間で
は、例えば、利用する漢字コードが異なるために、セン
タにおいて漢字コードの変換が必要になると、センタで
は、漢字コード変換プログラムを用いて転送されたファ
イルの漢字コードから利用者に対応する漢字コードに変
換する。例えば、同図の例では、利用者Aが利用者Dに
ファイルを転送する場合には、両利用者共に漢字コード
1を使用しているため、センタが変換処理を行う必要は
ない。しかし、利用者Bから利用者Eにファイルを転送
する場合には、利用者Bからファイルを転送する場合に
は、漢字コード2を使用し、利用者Eは漢字コード3を
使用しているために、センタにおいて漢字コード2から
漢字コード3への変換処理のプログラムを実行し、ファ
イルの転送を行う必要がある。
【0008】また、送信側の計算機と受信側の計算機の
計算機稼働時間が異なる場合には、センタである期間、
ファイルを蓄積して受信側の計算機が稼働する時間にフ
ァイルを転送する。例えば、利用者Aから利用者Dにフ
ァイル転送を行う場合に、両者の計算機稼働時間が異な
る場合には、センタが蓄積処理プログラムを実行するこ
とにより、利用者Dの計算機が稼働する時刻を取得し、
利用者Aから受信したファイルを、利用者Dに送信可能
となるまで蓄積しておき、次に、転送処理プログラムを
起動させて、利用者Dの計算機が稼働した時点で蓄積し
ておいたファイルを転送する。
【0009】また、計算機システムにおけるクライアン
ト−サーバシステムにおいて、複数のサーバプログラム
を呼び出すことで、一つのサービスを構成し、外部から
のメッセージイベントをサーバプログラムの呼び出し契
機とするクライアントプログラムを制御する従来の方法
として、以下のような方法がある。
【0010】クライアントプログラム中に、状態遷移
と、各状態のときに受け付け可能なメッセージイベン
ト、各メッセージイベントを受信した時に呼び出すサー
バプログラム、サーバプログラムの呼び出し方法を固定
的に一つ持ち、物理的に一つの実行形式のプログラムと
する方法がある。また、サービスが複数ある場合には、
クライアントプログラムを複数用意し、実行したいサー
ビスを提供している特定のクライアントプログラムに対
して、メッセージイベントを送信し、クライアントプロ
グラムがその内容に基づいて複数のサービスから特定の
サービスを選ぶ。
【0011】
【発明が解決しようとする課題】しかしながら、上記従
来の方法には、各々以下のような問題点がある。まず、
第1の方法は、サービスの追加や変更を行う場合、主/
副プログラムの変更や追加が必要となり、追加や変更の
対象となるプログラムをコンパイルし、追加や変更の対
象とならないプログラムと再リンクを行う必要がある。
このため、新サービスを提供する際には、現サービスを
停止して、新サービスのプログラムと入れ替える必要が
あり、そのサービスの利用者が多い場合や、高可用性が
要求される場合には、問題が生じる。
【0012】次に第2の方法は、副プログラムの変更を
行う場合、変更の対象となるプログラムをコンパイル
し、現プログラムと入れ替えるだけで現プログラムの停
止は発生しない。しかし、サービスの追加を行う場合
は、副プログラムの呼出し関係が主プログラム内に記述
されているため、当該主プログラムも変更する必要があ
り、第1の方法と同様に、高可用性が要求される場合に
は、問題が生じる。
【0013】次に、第3の方法についても第2の方法と
同様の問題が生じる。このように、従来は、一つのサー
ビスを複数のプログラムから構成する場合に、呼び出さ
れるプログラムの呼出し順序や呼出し方法を主プログラ
ム内に固定的に持つため、サービス変更に伴う主プログ
ラムを含むプログラムの再リンクを行う必要がある等の
問題がある。
【0014】上記の図16のファイル転送の例におい
て、ファイル転送プログラムをセンタで固定的に保持し
ている場合、各々の利用者間の計算機が使用する漢字コ
ードが異なる場合には、センタで漢字コードを変換する
必要があるが、多くの漢字コードが必要となり、センタ
でカバーできない種類のコードがある場合には、ファイ
ル転送プログラムに新たに当該漢字コード変換プログラ
ムや副プログラムの呼出関係を記載する必要があり、柔
軟に対処できない。
【0015】また、利用者の計算機の稼働時間がまちま
ちである場合には、センタにおいて転送されてきたファ
イルを送信先の計算機の稼働時間まで蓄積する必要があ
る。このとき、転送するファイルが大量にある場合に
は、ファイル蓄積を制御するために使用されるプログラ
ムのメモリ使用量も膨大となり、通常では処理できない
という問題がある。
【0016】また、上記のクライアントプログラム実行
制御方法では、新たに、サービスを追加、あるいは、既
存のサービスを変更しようとする場合に、クライアント
プログラムの新規追加、あるいは、既存のクライアント
プログラムの修正を行う必要があり、その度に、プログ
ラムのコンパイル及びリンク等の処理を行わなければな
らない。
【0017】さらに、複数のサービスを提供する場合に
は、クライアントプログラム数もサービスの数だけ作成
する必要があり、類似するようなプログラムであっても
個々に作成することになる。また、計算機上で、稼働す
るプログラム数が多くなることにより、コンテクストス
イッチが多発し、また、クライアントプログラムによっ
て使用されるメモリ量も増大し、計算機の利用効率が低
下するという問題がある。
【0018】本発明は、上記の点に鑑みなされたもの
で、本発明の目的は、計算機システムにおいて、サービ
スが複数のプログラムの組合せにより構成される場合に
おいて、プログラムの追加や変更、プログラムの呼出し
順序の変更を現プログラムを停止させることなく、行う
ことが可能なプログラム実行制御方法及びプログラム実
行制御システムを提供することである。
【0019】また、本発明の更なる目的は、複数のサー
バプログラムを呼び出すことで、一つのサービスを構成
し、外部からのメッセージイベントをサーバの呼び出し
契機とするクライアントプログラムにおいて、サービス
の追加あるいは、変更時に新規のクライアントプログラ
ムの追加、あるいは、既存のクライアントプログラム自
身の修正の必要性をなくすと共に、サービス数に応じて
増大していたコンテクストスイッチの回数を、可能な限
り少なくし、メモリ使用量も減少させるようなクラアイ
ント−サーバシステムにおけるプログラム実行制御方法
及びプログラム実行制御システムを提供することであ
る。
【0020】
【課題を解決するための手段】本発明は、計算機システ
ムにおいて、一つのサービスを複数のプログラムで構成
する場合に、外部からのメッセージイベントを第1のプ
ログラムが受信し、第2のプログラムの呼出しの契機と
するプログラム実行制御方法において、第1のプログラ
ムの外部に第2のプログラムの呼出しを制御するための
制御情報群を設け、第1のプログラムが制御情報群より
第2のプログラムを呼び出すための制御情報を取得して
解析し、解析結果に基づいて第2のプログラムを呼び出
す。
【0021】[主プログラム−サブルーチン]本発明の
プログラム実行制御方法は、計算機システムにおいて、
一つのサービスを複数のプログラムで構成する場合に、
外部からのメッセージイベントをサブルーチン呼出しの
契機とするプログラム実行制御方法において、主プログ
ラムの外部に呼び出されるサブルーチンの呼出しを制御
するためのサブルーチン呼出し制御情報を設け、主プロ
グラムでサブルーチン呼出制御情報を解析し、解析され
た結果に基づいてサブルーチンを呼び出す。
【0022】また、本発明は、サブルーチン呼出制御情
報を解析する際に、サブルーチン呼出制御情報に含まれ
るサブルーチン呼出順序及びサブルーチン呼出方法を参
照して解析する。図1は、本発明の原理を説明するため
のフローチャート(その1:主プログラム−サブルーチ
ン呼出)である。主プログラムからサブルーチンを呼び
出す場合における動作として、本発明のプログラム実行
制御方法は、主プログラムが、メッセージイベントを受
け取ると(ステップ1)、メッセージイベントに基づい
て参照すべきサブルーチン呼出制御情報を特定し(ステ
ップ2)、特定されたサブルーチン呼出制御情報に保持
されているメッセージイベントに対応するサブルーチン
を呼出し(ステップ3)、サブルーチン呼出制御情報の
現状態を更新する(ステップ4)。
【0023】本発明のプログラム実行制御システムは、
一つのサービスを複数のプログラムからの構成し、外部
からのメッセージイベントを第1のプログラムから第2
のプログラムの呼出しの契機とするプログラム実行シス
テムにおいて、少なくとも1つの第2のプログラムを含
む第2のプログラム群と、呼び出される第2のプログラ
ムを制御するための情報を記録・保持する少なくとも1
つのプログラム呼出制御票と、プログラム呼出制御票を
参照して、第2のプログラム群より第2のプログラムを
呼び出す第1のプログラムとをそれぞれ独立して有す
る。
【0024】図2は、本発明の原理構成図(その1:主
プログラム−サブルーチン呼出)である。本発明のプロ
グラム実行システムは、複数のプログラムから一つのサ
ービスを構成し、外部からのメッセージイベントをサー
ブルーチン呼出しの契機とするプログラム実行システム
において、少なくとも1つのサブルーチンを含むサブル
ーチン群400と、呼び出されるサブルーチンの呼出し
を制御するための情報を記録・保持する少なくとも1つ
のサブルーチン呼出制御票300と、サブルーチン呼出
制御票300を参照して、サブルーチン群400よりサ
ブルーチンを呼び出す主プログラム100とを有する。
【0025】また、上記のサブルーチン呼出制御票30
0は、サブルーチンの呼出し順序情報、サブルーチンの
呼び出し時のパラメータ、当該サブルーチン呼出制御表
の現在の状態、ある状態の時に受け付け可能なメッセー
ジイベント、メッセージイベントを受け付けた時に呼び
出すべきサブルーチン名、現在他のプログラムによって
参照されているかを示す参照中フラグを含む。
【0026】また、上記の主プログラム100は、メッ
セージイベントを受け取るメッセージイベント受信手段
110と、外部から入力されるメッセージイベントに対
してどのサブルーチン制御票300を利用するかを指定
する指定手段120と、指定手段により指定されたサブ
ルーチン呼出制御票に保持されているメッセージイベン
トに対応するサブルーチンを呼出す呼出手段150と、
サブルーチン呼出制御票の現在の状態を更新する更新手
段160とを有する。
【0027】また、参照中フラグが、サブルーチン呼出
制御票の参照可を示している時のみ、サブルーチン呼出
制御票300の参照を行う。上記の更新手段160は、
参照中フラグがサブルーチン呼出制御票300を参照可
を示している時に、参照中フラグを参照不可とし、サブ
ルーチン呼出制御票300の内容の変更・追加を行う。
【0028】また、上記の更新手段160は、サブルー
チン呼出制御票300の内容の変更・追加終了後に、参
照中フラグを参照可能状態を示すように変更する。本発
明は、計算機システムにおいて、一つのサービスを複数
のプログラムで構成する場合に、外部から入力されるメ
ッセージイベントをサブルーチン呼出しの契機とするプ
ログラム実行制御システムにおいて、少なくとも1つの
サブルーチンから構成されるサブルーチン群と、サブル
ーチンの呼出順序及びサブルーチン毎に呼出方法を記述
した少なくとも1つの呼出制御情報と、メッセージイベ
ントに基づいて呼出制御情報を指定する制御情報指定手
段と、サブルーチン群よりサブルーチンを呼び出す順序
及び方法を呼出制御情報より取得し、サブルーチン群よ
りサブルーチンを呼び出す主プログラムとを有する。
【0029】また、上記の制御情報指定手段は、呼出制
御情報が参照中であるか否かを示すフラグと呼出制御情
報を指定するための指定情報とを有する。また、フラグ
が呼出制御情報が他のプログラムから参照されていない
状態を示す場合に、指定情報又は呼出制御情報の更新を
行う更新手段を有する。
【0030】[クライアント−サーバシステム]図3
は、本発明の原理を説明するためのフローチャート(そ
の2:クライアント−サーバシステム)である。本発明
は、サーバ・クライアントシステムにおける計算機シス
テムで、クライアントプログラムが複数のサーバプログ
ラムを呼び出すことで一つのサービスを構成し、外部か
らの入力されるメッセージイベントを、サーバプログラ
ムを呼び出す契機とするクライアントプログラム実行制
御方法において、クライアントプログラムの外部に、呼
び出されるサーバプログラムの呼び出しを制御するため
のサービス定義票を少なくとも1つ設け、外部からメッ
セージイベントを受け取り(ステップ10)、メッセー
ジイベントに基づいてサービス定義票を特定し(ステッ
プ20)、特定されたサービス定義票を読み込んで解析
し(ステップ30)、サービス定義票を解析した結果に
基づいてサーバプログラムを呼び出す(ステップ4
0)。
【0031】上記ステップ30において、サービス定義
票を解析する際に、クライアントプログラムが取り得る
状態と、各状態の時に受け付けたイベントに対応したサ
ーバプログラム、及びサーバプログラム呼出方法、サー
バプログラム呼び出し後の新状態の各情報を参照して解
析する。
【0032】上記ステップ40において、クライアント
プログラムがサーバプログラムを呼び出す際に、特定さ
れたサービス定義票の現状態とメッセージイベントから
抽出したイベントに応じてサーバプログラム及びサーバ
プログラムの呼び出し方法を決定し、決定されたサーバ
プログラムを、決定されたサーバプログラムの呼び出し
方法により呼び出す。
【0033】また、サーバプログラムを呼び出した後の
状態を、特定されたサービス定義票の現状態の定義に従
って、クライアントプログラムの状態を遷移させる(ス
テップ50)。図4は、本発明の原理構成図(その2:
クライアント−サーバシステム)である。
【0034】本発明は、サーバ・クライアントシステム
における計算機システムで、クライアントプログラムが
複数のサーバプログラムを呼び出すことで一つのサービ
スを構成し、外部からの入力されるメッセージイベント
2000を、サーバプログラムを呼び出す契機とするク
ライアントプログラム実行制御システムにおいて、少な
くとも1つのサーバプログラムを含むサーバプログラム
群4000と、呼び出されるサーバプログラムの呼び出
しを制御する少なくとも1つのサービス定義票3000
と、サービス定義票3000を解析して、解析した結果
に基づいてサーバプログラム群4000よりサーバプロ
グラムを呼び出すクライアントプログラム1000とを
有する。
【0035】また、サービス定義票3000は、クライ
アントプログラム1000が取り得る状態と、各状態の
時に受け付けたイベントに対応したサーバプログラム、
サーバプログラム呼出方法、及びサーバプログラム呼び
出し後の新状態の各情報を含む。
【0036】また、クライアントプログラム1000
は、メッセージイベントを受け取るメッセージイベント
受信手段1100と、メッセージイベントに基づいて、
サービス定義票を特定する特定手段1200と、特定手
段1200により特定されたサービス定義票3000の
現状態とメッセージイベントから抽出したイベントに応
じてサーバプログラム及びサーバプログラムの呼び出し
方法を決定するサーバプログラム決定手段1400と、
サーバプログラム決定手段1400により決定されたサ
ーバプログラムを、決定されたサーバプログラムの呼び
出し方法により呼び出すサーバプログラム呼出手段15
00と、サーバプログラムを呼び出した後の状態を、特
定手段1200により特定されたサービス定義票の現状
態の定義に従って、クライアントプログラムの状態を遷
移させる遷移手段1600とを含む。
【0037】
【作用】本発明のプログラム実行制御方法及びプログラ
ム実行制御システムは、複数のプログラムから一つのサ
ービスを構成する場合に、サブルーチンを主プログラム
内部に固定的に持たずに、サブルーチンの呼出しを制御
するためのプログラム呼出し制御票を主プログラムの外
部に設け、これを主プログラムから参照することによ
り、サービスを停止せずに、サービスの変更を行うこと
が可能である。
【0038】また、本発明は、新たにサービスを追加す
る場合も主プログラムの外部で記述されているプログラ
ム呼出し制御票を変更することで実現できるためサービ
スの停止は伴わない。さらに、本発明のクライアント−
サーバシステムにおけるプログラム実行制御方法及びプ
ログラム実行制御システムは、クライアントプログラム
からサーバプログラムを呼び出す際に、サーバプログラ
ム群に含まれるサーバプログラムを、サービス定義票を
解析することにより、現在、当該クライアントプログラ
ムが使用可能なサーバプログラムと、その呼出方法を取
得して、サーバプログラムを呼び出す。従って、呼び出
すサーバプログラムの変更・追加等があった場合には、
クライアントプログラムを修正・コンパイルせずに、サ
ービス定義票上で変更や追加を行うものとする。つま
り、新たにサービスを追加、あるいは、既存のサービス
を変更しようとする場合に、サービス定義票の追加ある
いは、修正に写像することができるため、既存のクライ
アントプログラムのコンパイル及びリンクが不要とな
る。
【0039】また、複数のサービスを提供する場合には
サービス定義票を複数定義すればよく、クライアントプ
ログラム数は増加しない。さらに、クライアントプログ
ラム数は、サービス数に関わらず、一定であるので、コ
ンテクストスイッチの回数を抑制することが可能であ
り、また、クライアントプログラムによって、使用され
るメモリ量も単にクライアントプログラムを追加した場
合と比較して、小さくすることができる。
【0040】
【実施例】以下、図面と共に本発明の実施例を説明す
る。以下の第1及び第2の実施例の説明では、主プログ
ラムをクライアントプログラムと呼び、副プログラムを
サブルーチンと呼ぶ。
【0041】[第1の実施例]図5は、本発明の第1の
実施例の構成を示す。同図に示すプログラム実行制御装
置は、クライアントプログラム100、メッセージイベ
ントキュー200、サービス定義票部300及びサブル
ーチン群400より構成される。
【0042】クライアントプログラム100は、メッセ
ージイベント受信部110、メッセージイベント解析部
120、サービス定義票読込部130、状態遷移票解析
部140、サーバプログラム呼出し部150、サービス
定義票書込部160、及び利用中サービス定義票名記憶
部170より構成され、外部から入力されるメッセージ
イベントに基づいてサブルーチン群400よりサブルー
チンを呼び出す。
【0043】メッセージイベントキュー200は、複数
のメッセージイベント2101 〜210n より構成さ
れ、クライアントプログラム100のメッセージイベン
ト受信部110に入力される。図6に示すように、メッ
セージイベント210内には、イベント名211及びク
ライアントプログラム100で選択すべきサービス定義
票名212が含まれる。
【0044】サービス定義票群300は、複数のサービ
ス定義票3101 〜310n より構成される。各サービ
ス定義票310は利用中フラグ311、現状態312、
及び状態遷移票313より構成される。図7は、本発明
の第1の実施例のサービス定義票の構成を示す。利用中
フラグ311は、サービス定義票310が現在クライア
ントプログラム100により利用されている時“ON”
となり、利用されていない時は“OFF”となる。利用
中フラグ311の状態を切り替えることにより、“OF
F”状態時に現在処理中のサービス定義票310を修正
することが可能であり、一方、“ON”状態時における
修正中のサービス定義票の状態を保護するため、他のプ
ログラムからのアクセスを排他制御する。例えば、利用
されていない場合(利用中フラグ=OFF)に、利用中
フラグ311の“OFF”状態を“ON”状態に変更し
た後、サービス定義票の状態遷移票313の変更を行う
等の処理を行い、当該処理終了後、利用中フラグ311
の“ON”状態を“OFF”状態に切り替える。
【0045】現状態312は、現在このサービス定義票
310が状態遷移票313に定義されたどの状態を取っ
ているかを示す。図7の例では、状態遷移票313に記
載さている“状態1”を示し、サブルーチンAを呼び出
す状態(CALL:subA)であることを示してい
る。
【0046】状態遷移票313には、状態とイベントと
の組合せにより、サブルーチン群400のどのサブルー
チンに依頼を行うかを示す指定情報と、依頼後、このサ
ービス定義票310が移行すべき状態が記述されてい
る。図7の例では、イベント名は、“AAAA”、呼び
出すサブルーチンが“サブルーチンA”であり、サブル
ーチン呼び出し後に移行する処理は“状態2”であるこ
とを示している。
【0047】サブルーチン群400は、複数のサブルー
チン4101 〜410n より構成される。サブルーチン
群400に含まれる各サブルーチン410は、クライア
ントプログラム100より呼び出される。クライアント
プログラム100の概要動作を以下に説明する。
【0048】クライアントプログラム100のメッセー
ジイベント受信部110は、メッセージイベントキュー
200からメッセージイベント210を受信する。メッ
セージイベント解析部120は、受信したメッセージイ
ベント210を解析し、メッセージイベント210のサ
ービス定義票名212を参照して、サービス定義票群3
00のどのサービス定義票を利用するかを決定すると共
に、イベント名211よりイベント名を決定する(ここ
では、サービス定義票3101 を利用するように決定さ
れたとして、以降の説明を行う)。次に上記で取得した
利用するサービス定義票名を利用中サービス定義票名記
憶部170に書き込む。
【0049】サービス定義票読込部130は、利用中サ
ービス定義票名記憶部170に記録されているサービス
定義票名に基づいてサービス定義票群300よりサービ
ス定義票310を読み込み、利用中フラグ311が“O
FF”であることを確認する。サービス定義票3101
の利用中フラグ3111 が“OFF”であれば、利用中
フラグ311を“ON”にし、サービス定義票310が
利用中である旨を宣言する。
【0050】次に、状態遷移票解析部140は、現状態
312から現在のサービス定義票310の状態を獲得
し、状態遷移票313から現状態312とメッセージイ
ベント解析部120で解析されたイベント名称に対応す
るサブルーチンとサブルーチン呼出方法、サブルーチン
呼出後のサービス定義票310がとるべき状態を獲得す
る。
【0051】サブルーチン呼出部150は、状態遷移票
解析部140が取得したサブルーチン呼出方法でイベン
ト名称に対応するサブルーチンを呼び出す。最後に、サ
ービス定義票書込部160が、サービス定義票310の
現状態312を更新し、利用中のフラグ311を“OF
F”にし、利用中サービス定義票記憶部170をリセッ
トする。
【0052】利用中フラグ311が“OFF”となって
いるサービス定義票310は、クライアントプログラム
100から利用されていないため、利用中フラグ311
を“ON”に切り替えた後でサービス定義票310の書
換え(変更)が可能となる。サービス定義票310を書
き換えた後、利用中フラグ311を“OFF”にすれ
ば、クライアントプログラム100により利用可能とな
る。
【0053】また、サービス定義票を新たにサービス定
義票群300に追加する場合には、利用中フラグ311
を“ON”としてサービス定義票310を作成し、追加
した後、利用中フラグ311を“OFF”にする。次
に、クライアントプログラム100の詳細な動作を説明
する。図8は、本発明の第1の実施例のクライアントプ
ログラムの動作のフローチャートである。メッセージイ
ベント受信部110がメッセージイベント210を受信
すると(ステップ201)、メッセージイベント解析部
120が受信したイベントからサービス定義票名と、イ
ベント名とを獲得し(ステップ202)、獲得したサー
ビス定義票名を利用中サービス定義票名記憶部170に
書き込む(ステップ203)。次に、サービス定義票読
込部130はステップ202で獲得したサービス定義票
名に対応するサービス定義票を読み込む(ステップ20
4)。
【0054】状態遷移票解析部140は、読み込んだサ
ービス定義票310の利用中フラグ311が“ON”状
態、または、“OFF”状態であるかを判定し、“O
N”の状態であれば、(ステップ205,Yes)、既に他
のプログラムが当該サービス定義票310を利用中であ
ることを意味しているので、メッセージイベント210
をメッセージキューに戻す(ステップ212)。利用中
フラグ311が“OFF”ならば(ステップ205,N
o)、当該サービス定義票が利用されていないことを示
すので、利用中フラグ311を“ON”にする(ステッ
プ206)。これにより、他のプログラムにより当該サ
ービス定義票がアクセスされることはない。
【0055】状態遷移票解析部140は、サービス定義
票310内の現状態312を読込み(ステップ20
7)、さらに、上記ステップ202で取得したイベント
名に対応するサブルーチン、サブルーチン呼出方法、及
びサブルーチンの呼び出し後に遷移すべき状態を読み込
む(ステップ208)。
【0056】サブルーチン呼出部150は、ステップ2
08で獲得したサブルーチン呼出方法により、サブルー
チンを呼び出す(ステップ209)。さらに、サービス
定義票書込部160は、ステップ208で獲得したサブ
ルーチン呼出後の状態を現状態312に設定する(ステ
ップ210)。サービス定義票310の利用を終了した
ことを示すために、利用中フラグ311を“OFF”に
する(ステップ211)。
【0057】前述の図16のファイル転送の例に、上記
の実施例を適用した場合を考える。図9は、本発明の第
1の実施例の具体例を示す。 本発明をファイル転送に適用する場合には、ファイ
ル転送を行う利用者が保有する計算機の漢字コードが種
々異なる場合や、蓄積処理後に転送処理を行う場合に備
えて、図9に示すように、センタでは漢字コード変換プ
ログラム、蓄積処理プログラム及び転送処理プログラム
等をサブルーチンとしてサブルーチン群400内に格納
しておく。
【0058】 また、メッセージイベント200に
は、サービス定義票310として“サービス定義票A”
を利用する情報が埋め込んであるものとし、サービス定
義票Aの状態遷移票には、イベント名に対応する各状態
が記載されている。 さらに、サービス定義表310は、クライアントプ
ログラム100から呼び出されるまでは、利用中フラグ
311は“OFF”状態とする。
【0059】 上記のような前提において、クライア
ントプログラム100のメッセージイベント受信部11
0がメッセージイベントキュー200よりメッセージイ
ベントとして“イベントA”を受け付けると、メッセー
ジイベント解析部120が“インベントA”を解析し、
読み込むべきサービス定義票310として“サービス定
義票A”を認識する。
【0060】 次に、サービス定義票読込部130
は、サービス定義票Aをサービス定義票群300より読
み込む。このとき、利用中フラグ311は“OFF”状
態となっているため、“ON”状態に変更する。さら
に、利用中サービス定義票名記憶部170に参照してい
るサービス定義票名“サービス定義票A”を書き込んで
おく。
【0061】 更に状態遷移行解析部140は、読み
込まれたサービス定義票Aの内容を取得し、状態遷移票
313より呼び出すべきサブルーチンが“サブルーチン
A”であり、呼び出す際のパラメータ(CALL./S
UB−A)や、サブルーチン呼出後のサービス定義票が
とるべき状態(状態2)、即ち、サブルーチン処理後に
移行する状態等を解析する。
【0062】 次に、サブルーチン呼出部150は、
状態遷移票解析部140の解析結果を取得して、“サブ
ルーチンA”をサブルーチン群400より呼び出す。こ
れにより、漢字変換処理を行うサブルーチンAが実行さ
れる。実行が終了すると、サービス定義票書込部160
は、利用中フラグ311を“OFF”にし、利用中サー
ビス定義票名記憶部170をリセットする。
【0063】また、1つの転送処理のパターンを1つの
プログラムとすることにより、所定のファイルを1つの
プログラムで転送するため、メモリ使用量が従来の種々
の転送処理を行うプログラムと比較してはるかに少な
い。また、利用するサブルーチン(例えば、ファイル転
送、漢字コード変換等)を複数作成してサブルーチン群
400に登録しておき、例えば、転送処理を行う場合に
は、ある転送処理に対してサービス定義票に複数のサブ
ルーチンを呼び出すように定義しておけば、複数の転送
パターンを表現することが可能となる。
【0064】なお、上記の第1の実施例の図7では、状
態遷移票313に1つの状態のみを示していたが、図1
0に状態遷移票313に複数の状態を指定する例を示
す。図10に示す例は、状態遷移票313内に複数の状
態を指定しているものである。状態1において、“サブ
ルーチンA”を呼び出した後、状態2に遷移し、“サブ
ルーチンB”を呼び出し、さらに状態3に遷移し、“サ
ブルーチンC”を呼び出し、当該呼び出し処理の後クラ
イアントプログラムに移行することを示している。即
ち、1つのサービス定義票310で複数のサブルーチン
を順に呼び出すことが可能である。また、状態1の時に
イベント1が入力されるとサブルーチンAを呼び出して
自分の状態を“状態2”にする。さらに、この次に、イ
ベント1が入力されるとサブルーチンBを呼び出して状
態3に遷移する。
【0065】また、利用中フラグ311が“OFF”で
ある場合に、“ON”に切り替えた後、状態遷移票31
3の“状態2”の呼び出すべきサブルーチンを“サブル
ーチンB”から“サブルーチンD”に変更するような状
態遷移票313の更新処理も可能である。この更新処理
が終了したら利用中フラグ311を“ON”から“OF
F”に切り替える。この例は、状態遷移票313の状態
を変更する例であるが、さらにサービスを追加する処理
として状態遷移票313の“状態2”の遷移状態を“状
態3”(状態3に移行)から、他の状態、例えば、“状
態5”に遷移するように変更したり、状態遷移票313
に他の状態を追加することも可能である。
【0066】本実施例により、例えば、図9において、
サブルーチン400内の漢字変換サブルーチンAの内容
を変更する必要が有る場合に、漢字変換サブルーチンA
の内容の変更が終了するまで、サービス定義票Aの利用
中フラグを“ON”状態としておき、変更が終了したら
“OFF”状態とすることにより、新たなバージョンの
プログラムで実行することが可能であり、サービス定義
票A内の情報やメッセージイベントAの内容の変更は不
要となる。
【0067】また、サブルーチン群400に新たなサブ
ルーチンが追加された場合には、当該サブルーチンに合
わせてサービス定義票を作成すればよい。 [第2の実施例]上記の第1の実施例において、サービ
ス定義票310の内容を変更することにより、複数のサ
ブルーチンを呼び出す例を示したが、第2の実施例とし
て、複数のサブルーチンを呼び出す他の例を示す。
【0068】図11は、本発明の第2の実施例の構成を
示す。同図に示すシステムは、クライアントプログラム
500、サブルーチン群600、現プログラム呼出票指
示部700及びサブルーチン呼出行指示部700より構
成される。クライアントプログラム500は、サブルー
チン呼出順序読込部510、サブルーチン呼出方法読込
部520及び、サブルーチン呼出部530より構成され
る。
【0069】サブルーチン群600は、複数のサブルー
チン610により構成される。現プログラム呼出票指示
部700は、参照中フラグ710と現プログラム呼出制
御票指示ポインタ部720より構成される。参照中フラ
グ710は、現プログラム呼出制御票ポインタ部720
がクライアントプログラム500より参照されている時
は“ON”になり、参照されていない時は“OFF”と
なる。また、現プログラム呼出制御指示ポインタ720
は、現在使用すべきサブルーチン制御票名称が記述され
ている。
【0070】サブルーチン呼出制御票群800は、2つ
のサブルーチン呼出制御票810、820より構成さ
れ、サブルーチン呼出制御票810には、サブルーチン
呼出順序記述部811と複数のサブルーチン呼出方法記
述部812より構成される。サブルーチン呼出順序記述
部811はサブルーチンの呼出順序が示されており、サ
ブルーチン呼出方法記述部812は、それぞれサブルー
チン6101 〜610nの呼出方法が記述されている。
また、サブルーチン呼出制御票820の構成は、サブル
ーチン呼出制御票810と同様である。
【0071】なお、同図の例は、サブルーチン呼出制御
票は2つのみ示してあるが、同図の例に限定されること
なく、n個設定することも可能である。図12は、本発
明の第2の実施例のサブルーチン呼出制御票を示す。同
図に示すように、サブルーチン呼出制御票810のサブ
ルーチン呼出順序記述部811は複数のサブルーチンの
実行順序が記述されている。クライアントプログラム5
00は、このサブルーチン呼出順序記述部811を参照
して上位の番号から順にサブルーチンを呼び出す。サブ
ルーチン呼出方法記述部812は、各サブルーチン毎
に、呼出方法を示すパラメータが設定されており、例え
ば、サブルーチンAをサブルーチン群600から呼び出
す場合にクライントプログラム500のサブルーチン呼
出部530は、“CALL/ SUB-A ”を用いて呼び出す。
【0072】次に、上記の構成の動作を説明する。 クライアントプログラム500のサブルーチン呼出
順序読込部510は、現プログラム呼出票指示部700
の参照フラグ710が“OFF”であれば、“ON”に
切り替えて、現プログラム呼出制御票指示ポインタ72
0に記述されたサブルーチン呼出制御票810内のサブ
ルーチン呼出順序記述部811を読み込み、サブルーチ
ンの実行順序を獲得する。
【0073】 サブルーチン呼出順序読込部510
は、サブルーチンの実行順序を獲得した後、現プログラ
ム呼出票指示部700の参照中フラグ710を“OF
F”に戻す。 サブルーチン呼出順序読込部510は、取得した呼
出順序をサブルーチン呼出方法読込部520に転送す
る。
【0074】 サブルーチン呼出方法読込部520は
呼び出す順序にサブルーチン名をキーにして、サブルー
チン呼出方法記述部812を読み、サブルーチン410
の呼出方法を獲得する。 サブルーチン呼出方法読込部520は、取得した呼
出方法をサブルーチン呼出部530に転送する。
【0075】 サブルーチン呼出部530は、サブル
ーチン呼出順序読込部510が獲得した順序でサブルー
チン呼出方法読込部520が獲得したサブルーチンの呼
出方法を用いて、サブルーチンを順次呼び出す。 なお、現プログラム呼出制御票指示ポインタ720が指
し示していないサブルーチン呼出制御票は、参照されな
いため、サブルーチンが稼働している場合でも書き換え
ることができる。書換え後のサブルーチン呼出制御票を
用いて、サービスを提供したい場合は、現プログラム呼
出制御票指示部700中の参照中フラグ710が“OF
F”であれば、参照中フラグ710を“ON”にして、
現プログラム呼出票指示ポインタ720を書換え後のサ
ブルーチン呼出制御票を指すようにし、参照中フラグ7
10を“OFF”に戻すことで、次回に参照されるサブ
ルーチン呼出制御票800を変更することができる。
【0076】図13は、本発明の第2の実施例のクライ
アントプログラムの動作を示すフローチャートである。 ステップ301) クライアントプログラム500のサ
ブルーチン呼出順序読込部510は、メッセージイベン
トキュー(図示せず)が外部から入力されると、当該メ
ッセージイベントキューを解析し、指定されている処理
に対応する現プログラム呼出票指示部700を取得す
る。選択された現プログラム呼出制御票指示部700の
参照中ポインタ710が“OFF”であるかを判断し、
“OFF”であればステップ302に移行する。“O
N”であれば当該サブルーチンは、他のクライアントプ
ログラムから参照されているものとして、当該サブルー
チンの呼出しを中止する。この場合の処理は、選択され
たサブルーチンに対応する参照中ポインタ710が“O
FF”になるまで、待ちキューに選択されたサブルーチ
ン呼出しを待機させる等の処理を行う。
【0077】ステップ302) クライアントプログラ
ム500のサブルーチン呼出方法読込部520は、現プ
ログラム呼出票指示部700の参照中フラグ710を
“ON”にし、現プログラム呼出制御指示ポインタ72
0に記述されているサブルーチン呼出制御票810を獲
得し、参照中フラグ710を“OFF”に戻す。
【0078】ステップ303) サブルーチン呼出方法
読込部520は、上記のステップ302で獲得したサブ
ルーチン呼出制御票810からサブルーチン呼出順序記
述部811を読み込む。 ステップ304) サブルーチン呼出方法読込部520
は、次に実行すべきサブルーチンが存在するかをステッ
プ303で取得した呼出順序に従って判定し、次に呼び
出すサブルーチンが存在しない場合には、ステップ30
1に移行する。次に呼び出すサブルーチンが存在する場
合には、ステップ305に移行する。
【0079】ステップ305) サブルーチン呼出順序
記述部811に呼び出すべきサブルーチンが存在する場
合には、当該サブルーチンに対応するサブルーチン呼出
方法記述部812より当該サブルーチンを呼び出すため
のパラメータ等を取得する。 ステップ306) サブルーチン呼出部530は、取得
したパラメータ等の情報によりサブルーチンを呼出し、
当該サブルーチンを実行する。次に実行すべきサブルー
チンがサブルーチン呼出し順序記述部811にあるかを
再度問い合わせるために、順序をインクリメントしてス
テップ304に移行する。
【0080】次に、前述の図12を用いて具体的な例を
説明する。 まず、メッセージイベントがクライアントプログラ
ム500に入力されると、プログラム呼出順序読込部5
10は、メッセージイベントを解析し、現プログラム呼
出票指示部700を参照する。
【0081】 現プログラム呼出票指示部700の参
照中フラグ710が“OFF”状態にある場合には、他
の参照しているプログラムが存在しないので、“ON”
状態に切り替えて、現プログラム呼出制御票指示ポイン
タ720を参照する。現プログラム呼出制御票指示ポイ
ンタ720には、サブルーチン呼出制御票名として『転
送サブルーチン』“TRN−SUB”が設定されている
ため、サブルーチン呼出順序読込部510はこのサブル
ーチン呼出制御票名に該当するサブルーチン呼出制御票
810を読み込む。参照中フラグ710を“OFF”に
切り替える。
【0082】 サブルーチン呼出順序読込部510
は、サブルーチン呼出順序記述部811より1番目に呼
び出すサブルーチンが“サブルーチンA”、2番目に呼
び出すサブルーチンが“サブルーチンB”、最後に呼び
出すサブルーチンが“サブルーチンC”であることを取
得する。
【0083】 サブルーチン呼出順序読込部510
は、取得した呼出順序をサブルーチン呼出方法読込部5
20に転送する。 サブルーチン呼出方法読込部520は、呼出順序に
従って、サブルーチン名をキーにしてサブルーチン呼出
方法記述部812を検索する。最初に実行するサブルー
チンは“サブルーチンA”であるので、サブルーチン呼
出方法記述部8211 の“CALL/SUB−A”を取
得する。次に実行するサブルーチンは、“サブルーチン
B”であるので、“CALL/SUB−B”を取得し、
最後に実行する“サブルーチンC”のパラメータ“CA
LL/SUB−C”を取得する。
【0084】 サブルーチン呼出方法読込部520
は、これらのパラメータをサブルーチン呼出部530に
転送する。 サブルーチン呼出部530は、取得した順序で各サ
ブルーチンを対応するパラメータに基づいて呼び出し、
各サブルーチンを実行する。
【0085】上記は、参照中フラグ710が“OFF”
状態時に、サブルーチン呼出制御票810を参照して、
サブルーチンを呼び出す例を説明したが、この例に限定
されることなく、参照中フラグ710が“OFF”状態
時に、“ON”状態に切り替え、現プログラム呼出票指
示部700の現プログラム呼出制御指示ポインタ720
を他の設定に変更することも可能である。また、同様に
サブルーチン呼出制御票群800のいずれかのサブルー
チン呼出制御票の内容を変更、追加等の処理も可能であ
る。
【0086】また、上記の第2の実施例において、サブ
ルーチンの呼出順序が変更になった場合には、単にサブ
ルーチン呼出制御票810のサブルーチン呼出順序記述
811内で呼出順序を変更するのみで他のプログラム等
を変更する必要はない。なお、上記の第1の実施例の利
用中フラグと第2の実施例の参照中フラグとは両方とも
他のプログラムから参照されている場合には、ON状態
とし、参照されていない場合にはOFF状態となり、同
じ使途のフラグである。
【0087】[第3の実施例]次に、サーバ−クライア
ントシステムにおけるプログラム実行制御システムにつ
いて説明する。図14は、本発明の第3の実施例のクラ
イアントプログラム制御システム構成を示す。同図に示
すクライアントプログラム制御システムは、クライアン
トプログラム1000、メッセージイベントキュー20
00、サービス定義票群3000、及びサーバプログラ
ム群4000より構成される。
【0088】クライアントプログラム1000は、メッ
セージイベント受信部1100、メッセージイベント解
析部1200、サービス定義票読み込み部1300、状
態遷移表解析部1400、サーバプログラム呼出部15
00、及びサービス定義票書込部1600より構成され
る。
【0089】イベントキュー2000は、複数のメッセ
ージイベント21001 〜2100 n から構成される。
メッセージイベント21001 〜2100n 内には、複
数のサービス定義票名とイベント名とが含まれる。サー
ビス定義票群3000は、複数のサービス定義票310
1 〜3100nより構成される。サービス定義票31
00は、利用中フラグ3110、現状態3120、状態
遷移票3130から構成される。利用中フラグ3110
は、サービス定義票3100が現在利用中である時に、
ONになり、利用されていないときは、OFFとなる。
これを利用することで、現在処理中のサービス定義票を
修正したり、修正中のサービス定義票を実行したりする
ことを防ぐための排他制御を行うことができる。現状態
3120は、現在このサービス定義票3100が状態遷
移票3130に定義されたどの状態を取っているかを示
す。状態遷移票3130には、状態と、イベントの組合
せにより、どのサーバプログラムにどのように依頼を行
うかという情報と、依頼後、このサービス定義票が遷移
すべき状態が記録されている。
【0090】サーバプログラム群4000は、複数のサ
ーバプログラム41001 〜4100n から構成され
る。上記の構成において、クライアントプログラム10
00のメッセージイベント受信部1100は、メッセー
ジイベントキュー2000から、メッセージイベント2
100を受信する。
【0091】メッセージイベント解析部1200は、受
信したメッセージイベントを解析し、どのサービス定義
票を利用するか、及び、インベント名を決定する(ここ
では、サービス定義票31001 を利用するよう決定さ
れたものとして、以降の説明を行う)。
【0092】サービス定義票読込部1300は、利用す
ると決定されたサービス定義票31001 を読み込み、
利用中フラグ31101 がOFFであることを確認す
る。ここで、利用中フラグ31001 がOFFであれ
ば、利用フラグ31001 をONにし、サービス定義票
31001 が利用中である旨を宣言する。
【0093】状態遷移解析部1400は、サービス定義
票31001 の現状態31201 から現在のサービス定
義票31001 の状態を獲得し、状態遷移票31301
から、現状態とイベント名称とに応じたサーバプログラ
ムと、サーバプログラム呼出方法、サーバプログラム呼
出後のサービス定義票31001 がとるべき状態を獲得
する。
【0094】サーバプログラム呼出部1500は、状態
遷移解析部1400で決定されたサーバプログラム呼出
方法で、サーバプログラム群4000よりサーバプログ
ラム4100を呼び出す。サービス定義票書込み部16
00は、サービス定義票31001 の現状態31201
を更新し、利用中フラグ3111 をOFFにする。これ
により、利用中フラグ3110がOFFになっているサ
ービス定義票3100は利用されていないため、利用中
フラグ3110をONとすることで、サービス定義票3
100の書換えが可能となる。サービス定義票3100
を書き換えた後、利用中フラグ3110をOFFにすれ
ばクライアントプログラム1000から利用可能とな
る。
【0095】サービス定義票3100を追加する場合に
は、利用中フラグ3110をONとしたサービス定義票
を作成し、サービス定義票群に追加した後、利用中フラ
グ3110をOFFにする。上記の例では、クライアン
トプログラム数が1つの場合を説明したが、同時に複数
のクライアントプログラムを起動した場合にも本実施例
を適用できるのは、明らかである。
【0096】図15は、本発明の第3の実施例のクライ
アントプログラムの動作を示すフローチャートである。
メッセージイベント受信部1100がメッセージイベン
トを受信した後(ステップ2010)、メッセージイベ
ント解析部1200は受信したメッセージイベントから
サービス定義票名とイベント名を取得する(ステップ2
020)。
【0097】次に、サービス定義票読み込み部1300
は、サービス定義票群3000からメッセージイベント
解析部1200で解析されたサービス定義票名に該当す
るサービス定義票3100を読み込む(ステップ203
0)。読み込んだサービス定義票3100の利用中フラ
グ3110がOFFであれば(ステップ2040,N
o)、当該サービス定義票3100が利用中であること
を示すためにONにする(ステップ2050)。一方、
利用フラグ3110がONであれば(ステップ204
0,Yes)、メッセージイベントをメッセージイベントキ
ュー2000に戻す(ステップ2110)。
【0098】状態遷移票解析部1400は、サービス定
義票3100内の現状態3120を参照し、現状態とス
テップ2020で取得したイベント名に対応するサーバ
プログラム、サーバプログラム呼出方法、サーバプログ
ラム呼び出し後の状態を解析する(ステップ207
0)。
【0099】サーバプログラム呼出部1500は、ステ
ップ2070で取得したサーバプログラム呼出方法で、
サーバプログラム群4000よりサーバプログラム41
00を呼び出す(ステップ2080)。次に、サービス
定義票書込み部1600は、ステップ2070で状態遷
移票解析部1400で解析したサーバプログラム呼出後
の状態を現状態3120に設定する(ステップ209
0)。
【0100】最後に、サービス定義表3100の利用を
終了したことを示すために利用中フラグ3110をOF
Fにする(ステップ2100)。このように、サーバ・
クライアントシステムにおいても、サービス定義表群3
000をクライアントプログラム1000の外部に有
し、外部から入力されるメッセージイベント2100で
指定されたイベント名で、サービス定義表3100の状
態遷移表3130を参照することにより、イベント名で
指定されたサーバプログラムを呼び出すことが可能とな
る。
【0101】また、新たにサービスを追加する場合に
は、即ち、サーバプログラムが追加される場合には、ク
ライアントプログラムを修正せずに、追加されたサーパ
プログラムの情報を有するサービス定義票3100を追
加すればよい。また、サービス定義票3100の修正を
行う場合には、クライアントプログラム1000を修正
するのではなく、サービス定義票3100の利用中フラ
グ3110をONにして、修正箇所の修正を行うことが
可能となる。
【0102】なお、本発明は、上記の実施例に限定され
ることなく、特許請求の範囲内で種々変更・応用が可能
である。
【0103】
【発明の効果】上述のように、本発明のプログラム実行
制御方法及びプログラム実行制御システムによれば、呼
び出されるサブルーチンの呼出順序や呼出方法及び、サ
ブルーチンの呼出を制御するための呼出制御票をクライ
アントプログラムの外部に設けることにより、サービス
の変更に伴うサブルーチンの変更や追加をサービスを停
止させずに行うことが可能である。このため、高可用性
及びカスタマイズの容易なサービスを提供することが可
能である。
【0104】また、本発明のクライアントプログラム制
御方法及びクライアントプログラム制御システムによれ
ば、複数のサービスを提供する場合には、メッセージに
利用する定義票を表示するようにしたので、サービス定
義票を複数定義すればよく、クライアントプログラム数
が増加しないので、クライアントプログラムが作動する
計算機のコンテクストスイッチング回数も押さえられ、
また、クライアントプログラムによって使用されるメモ
リ量も、単にクライアントプログラムを追加した場合と
比べて、小さくすることができる。
【0105】また、新たに、サービスを追加する場合
や、既存のサービスを修正する場合には、サービス定義
票の追加或いは修正を行う場合に、サービス定義票を写
像することにより、クライアントプログラム自身の追加
や修正は不要となり、クライアントプログラムのコンパ
イルやリンク作業は不要となる。
【図面の簡単な説明】
【図1】本発明の原理を説明するためのフローチャート
(その1)である。
【図2】本発明の原理構成図(その1)である。
【図3】本発明の原理を説明するためのフローチャート
(その2)である。
【図4】本発明の原理構成図(その2)である。
【図5】本発明の第1の実施例の構成図である。
【図6】本発明の第1の実施例のメッセージキューの構
成図である。
【図7】本発明の第1の実施例のサービス定義票の構成
図である。
【図8】本発明の第1の実施例のクライアントプログラ
ムの動作のフローチャートである。
【図9】本発明の第1の実施例の具体例を示す図であ
る。
【図10】本発明の第1の実施例のサービス定義票の他
の例を示す図である。
【図11】本発明の第2の実施例の構成図である。
【図12】本発明の第2の実施例のサブルーチン呼出制
御票を示す図である。
【図13】本発明の第2の実施例のクライアントプログ
ラムの動作を示すフローチャートである。
【図14】本発明の第3の実施例のクライアントプログ
ラム制御システム構成図である。
【図15】本発明の第3の実施例のクライアントプログ
ラムの動作を示すフローチャートである。
【図16】ファイル転送を示す図である。
【符号の説明】
100 クライアントプログラム、主プログラム 110 メッセージイベント受信部、メッセージイベン
ト受信手段 120 メッセージイベント解析部、指定手段 130 サービス定義票読込部 140 状態遷移票解析部 150 サブルーチン呼出部、呼出手段 160 サービス定義票書込部、更新手段 170 利用中サービス定義票名記憶部 200 メッセージイベントキュー 210 メッセージイベント 211 イベント名 212 サービス定義票名 300 サービス定義票群 310 サービス定義票 311 利用中フラグ 312 現状態 313 状態遷移票 400 サブルーチン群 410 サブルーチン 500 クライアントプログラム 510 サブルーチン呼出順序読込部 520 サブルーチン呼出方法読込部 530 サブルーチン呼出部 600 サブルーチン群 610 サブルーチン 700 現プログラム呼出票指示部 710 参照中フラグ 720 現プログラム呼出制御票指示ポインタ 800 サブルーチン呼出制御票群 810、820 サブルーチン呼出制御票 811、821 サブルーチン呼出順序記述部 812、822 サブルーチン呼出方法記述部 1000 クライアントプログラム 1100 メッセージイベント受信手段、メッセージイ
ベント受信部 1200 特定手段、メッセージイベント解析部 1300 サービス定義票読み込み部 1400 サーバプログラム決定手段、状態遷移票解析
部 1500 サーバプログラム呼出手段、サーバプログラ
ム呼出部 1600 遷移手段、サービス定義票書込部 2000 メッセージイベントキュー 3000 サービス定義票、サービス定義票群 3100 サービス定義票 3110 利用中フラグ 3120 現状態 3130 状態遷移票 4000 サーバプログラム群 4100 サーバプログラム

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 計算機システムにおいて、一つのサービ
    スを複数のプログラムで構成する場合に、外部からのメ
    ッセージイベントを第1のプログラムが受信し、第2の
    プログラムの呼出しの契機とするプログラム実行制御方
    法において、 前記第1のプログラムの外部に前記第2のプログラムの
    呼出しを制御するための制御情報群を設け、 前記第1のプログラムが前記制御情報群より前記第2の
    プログラムを呼び出すための制御情報を取得して解析
    し、解析結果に基づいて前記第2のプログラムを呼び出
    すことを特徴とするプログラム実行制御方法。
  2. 【請求項2】 計算機システムにおいて、一つのサービ
    スを複数のプログラムで構成する場合に、外部からのメ
    ッセージイベントをサブルーチン呼出しの契機とするプ
    ログラム実行制御方法において、 主プログラムの外部に、呼び出されるサブルーチンの呼
    出しを制御するためのサブルーチン呼出し制御情報を設
    け、 主プログラムで前記サブルーチン呼出制御情報を解析
    し、 解析された結果に基づいて前記サブルーチンを呼び出す
    請求項1記載のプログラム実行制御方法。
  3. 【請求項3】 前記サブルーチン呼出制御情報を解析す
    る際に、 前記サブルーチン呼出制御情報に含まれるサブルーチン
    呼出順序及びサブルーチン呼出方法を参照して解析する
    請求項2記載のプログラム実行制御方法。
  4. 【請求項4】 前記主プログラムは、 前記メッセージイベントを受け取ると、前記メッセージ
    イベントに基づいて参照すべき前記サブルーチン呼出制
    御情報を特定し、 特定された前記サブルーチン呼出制御情報に保持されて
    いるメッセージイベントに対応するサブルーチンを呼出
    し、 前記サブルーチン呼出制御情報の現状態を更新する請求
    項2記載のプログラム実行制御方法。
  5. 【請求項5】 一つのサービスを複数のプログラムから
    構成し、外部からのメッセージイベントを第1のプログ
    ラムから第2のプログラムの呼出しの契機とするプログ
    ラム実行システムにおいて、 少なくとも1つの第2のプログラムを含む第2のプログ
    ラム群と、 呼び出される前記第2のプログラムを制御するための情
    報を記録・保持する少なくとも1つのプログラム呼出制
    御票と、 前記プログラム呼出制御票を参照して、前記第2のプロ
    グラム群より第2のプログラムを呼び出す第1のプログ
    ラムとを、それぞれ独立して有することを特徴とするプ
    ログラム実行制御システム。
  6. 【請求項6】 一つのサービスを複数のプログラムから
    構成し、外部からのメッセージイベントをサーブルーチ
    ン呼出しの契機とするプログラム実行システムにおい
    て、 少なくとも1つのサブルーチンを含むサブルーチン群
    と、 呼び出されるサブルーチンの呼出しを制御するための情
    報を記録・保持する少なくとも1つのサブルーチン呼出
    制御票と、 前記サブルーチン呼出制御票を参照して、前記サブルー
    チン群よりサブルーチンを呼び出す主プログラムとを、
    それぞれ独立して有する請求項5記載のプログラム実行
    制御システム。
  7. 【請求項7】 前記サブルーチン呼出制御票は、 サブルーチンの呼出し順序情報、サブルーチンの呼び出
    し時のパラメータ、実行される前記主プログラムの現在
    の状態、ある状態の時に受け付け可能なメッセージイベ
    ント、該メッセージイベントを受け付けた時に呼び出す
    べきサブルーチン名、現在、他のプログラムによって参
    照されているかを示す参照中フラグを含む請求項6記載
    のプログラム実行制御システム。
  8. 【請求項8】 前記主プログラムは、 メッセージイベントを受け取るメッセージイベント受信
    手段と、 外部から入力されるメッセージイベントに対してどの前
    記サブルーチン呼出制御票を利用するかを特定する指定
    手段と、 前記指定手段により特定された前記サブルーチン呼出制
    御票に保持されているメッセージイベントに対応するサ
    ブルーチンを呼び出す呼出手段と、 前記サブルーチン呼出制御票の前記現在の状態を更新す
    る更新手段とを有する請求項6記載のプログラム実行制
    御システム。
  9. 【請求項9】 前記呼出手段は、 前記参照中フラグが、前記サブルーチン呼出制御票の参
    照可を示している時のみ、前記サブルーチンの呼出処理
    を行う請求項8記載のプログラム実行制御システム。
  10. 【請求項10】 前記更新手段は、 前記参照中フラグが前記サブルーチン呼出制御票を参照
    可を示している時に、前記参照中フラグを参照不可に変
    更し、前記サブルーチン呼出制御票の内容の変更・追加
    を行う請求項8記載のプログラム実行制御システム。
  11. 【請求項11】 前記更新手段は、 前記サブルーチン呼出制御票の内容の変更・追加終了後
    に前記参照中フラグを参照可に変更する請求項8記載の
    プログラム実行制御システム。
  12. 【請求項12】 計算機システムにおいて、一つのサー
    ビスを複数のプログラムで構成する場合に、外部からの
    メッセージイベントをサブルーチン呼出しの契機とする
    プログラム実行制御システムにおいて、 少なくとも1つのサブルーチンから構成されるサブルー
    チン群と、 前記サブルーチンの呼出順序及び前記サブルーチン毎の
    呼出方法を記述した少なくとも1つの呼出制御情報と、 前記メッセージイベントに基づいて前記呼出制御情報を
    指定する制御情報指定手段と、 前記サブルーチン群よりサブルーチンを呼び出す順序及
    び方法を前記呼出制御情報より取得し、前記サブルーチ
    ン群よりサブルーチンを呼び出す主プログラムとを有す
    る請求項5記載のプログラム実行制御システム。
  13. 【請求項13】 前記制御情報指定手段は、前記呼出制
    御情報が他のプログラムにより参照されているか否かを
    示すフラグと前記呼出制御情報を指定するための指定情
    報とを有する請求項12記載のプログラム実行制御シス
    テム。
  14. 【請求項14】 前記フラグが、前記呼出制御情報が参
    照されていない状態時に、前記指定情報又は前記呼出制
    御情報の更新処理を行う更新手段を更に有する請求項1
    2及び13記載のプログラム実行制御システム。
  15. 【請求項15】 サーバ・クライアントシステムにおけ
    る計算機システムで、クライアントプログラムが複数の
    サーバプログラムを呼び出すことで一つのサービスを構
    成し、外部からの入力されるメッセージイベントを、該
    サーバプログラムを呼び出す契機とするプログラム制御
    方法において、 前記クライアントプログラムの外部に、呼び出されるサ
    ーバプログラムの呼び出しを制御するためのサービス定
    義票を少なくとも1つ設け、 前記クライアントプログラムが外部より前記メッセージ
    イベントを受け取り、 前記メッセージイベントに基づいて、前記サービス定義
    票を解析し、 前記サービス定義票を解析した結果に基づいて前記サー
    バプログラムを呼び出す請求項1記載のプログラム実行
    制御方法。
  16. 【請求項16】 前記サービス定義票を解析する際に、 前記クライアントプログラムが取り得る状態と、各状態
    の時に受け付けたイベントに対応するサーバプログラ
    ム、及びサーバプログラム呼出方法、サーバプログラム
    呼び出し後の新状態の各情報を参照する請求項15記載
    のプログラム実行制御方法。
  17. 【請求項17】 前記クライアントプログラムが前記サ
    ーバプログラムを呼び出す際に、 前記メッセージイベントに基づいて、サービス定義票を
    特定し、 特定した前記サービス定義票の現状態とメッセージイベ
    ントから抽出したイベントに応じてサーバプログラム及
    び該サーバプログラムの呼び出し方法を決定し、 決定された前記サーバプログラムを決定された前記サー
    バプログラムの呼び出し方法により呼び出す請求項15
    記載のプログラム実行制御方法。
  18. 【請求項18】 前記サーバプログラムを呼び出した後
    の状態を、特定された前記サービス定義票の現状態の定
    義に従って、前記クライアントプログラムの状態を遷移
    させる請求項15記載のプログラム実行制御方法。
  19. 【請求項19】 サーバ・クライアントシステムにおけ
    る計算機システムで、クライアントプログラムが複数の
    サーバプログラムを呼び出すことで一つのサービスを構
    成し、外部からの入力されるメッセージイベントを、該
    サーバプログラムを呼び出す契機とするプログラム制御
    システムにおいて、 少なくとも1つのサーバプログラムを含むサーバプログ
    ラム群と、 呼び出されるサーバプログラムの呼び出しを制御する少
    なくとも1つのサービス定義票と、 前記サービス定義票を解析して、解析した結果に基づい
    て前記サーバプログラム群より前記サーバプログラムを
    呼び出すクライアントプログラムとを、独立に有する請
    求項5記載のプログラム実行制御システム。
  20. 【請求項20】 前記サービス定義票は、 前記クライアントプログラムが取り得る状態と、各状態
    の時に受け付けたイベントに対応したサーバプログラ
    ム、及びサーバプログラム呼出方法、サーバプログラム
    呼び出し後の新状態の情報を含む請求項19記載のプロ
    グラム実行制御システム。
  21. 【請求項21】 前記クライアントプログラムは、 前記メッセージイベントを受け取るメッセージイベント
    受信手段と、 前記メッセージイベントに基づいて、前記サービス定義
    票を特定する特定手段と、 前記特定手段により特定された前記サービス定義票の現
    状態とメッセージイベントから抽出したイベントに応じ
    てサーバプログラム及び該サーバプログラムの呼び出し
    方法を決定するサーバプログラム決定手段と、 前記サーバプログラム決定手段により決定された前記サ
    ーバプログラムを、決定された前記サーバプログラムの
    呼び出し方法により呼び出すサーバプログラム呼出手段
    と、 前記サーバプログラムを呼び出した後の状態を、前記特
    定手段により特定された前記サービス定義票の現状態の
    定義に従って、前記クライアントプログラムの状態を遷
    移させる遷移手段とを含む請求項19記載のプログラム
    実行制御システム。
JP7008290A 1994-11-15 1995-01-23 プログラム実行制御方法及びプログラム実行制御システム Pending JPH08194612A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7008290A JPH08194612A (ja) 1994-11-15 1995-01-23 プログラム実行制御方法及びプログラム実行制御システム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP28065894 1994-11-15
JP6-280658 1994-11-15
JP7008290A JPH08194612A (ja) 1994-11-15 1995-01-23 プログラム実行制御方法及びプログラム実行制御システム

Publications (1)

Publication Number Publication Date
JPH08194612A true JPH08194612A (ja) 1996-07-30

Family

ID=26342782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7008290A Pending JPH08194612A (ja) 1994-11-15 1995-01-23 プログラム実行制御方法及びプログラム実行制御システム

Country Status (1)

Country Link
JP (1) JPH08194612A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011238247A (ja) * 2005-08-26 2011-11-24 Ricoh Co Ltd 機器、情報処理システム、情報処理方法、情報処理プログラム、及び記録媒体
US8522229B2 (en) 2005-08-26 2013-08-27 Ricoh Company, Ltd. Image forming apparatus, information processing method, and recording medium for directly update a module of the image forming apparatus without changing other modules
US11184216B2 (en) 2016-03-03 2021-11-23 Tencent Technology (Shenzhen) Company Limited State control method and apparatus

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011238247A (ja) * 2005-08-26 2011-11-24 Ricoh Co Ltd 機器、情報処理システム、情報処理方法、情報処理プログラム、及び記録媒体
US8522229B2 (en) 2005-08-26 2013-08-27 Ricoh Company, Ltd. Image forming apparatus, information processing method, and recording medium for directly update a module of the image forming apparatus without changing other modules
US8819665B2 (en) 2005-08-26 2014-08-26 Ricoh Company, Ltd. Image forming apparatus, information processing method, and recording medium
US11184216B2 (en) 2016-03-03 2021-11-23 Tencent Technology (Shenzhen) Company Limited State control method and apparatus

Similar Documents

Publication Publication Date Title
US6078945A (en) Operating system for use with computer networks incorporating two or more data processors linked together for parallel processing and incorporating improved dynamic load-sharing techniques
US6490255B1 (en) Network management system
US5835768A (en) Computer operating system providing means for formatting information in accordance with specified cultural preferences
EP0756232B1 (en) Data processing and operating system incorporating dynamic binding across two or more processors
JP3636744B2 (ja) 分散システムおよび分散システムの自動運転スケジュールの作成方法
US6470346B2 (en) Remote computation framework
EP0676693A2 (en) Method and system for dynamically selecting a communication mode
US6757679B1 (en) System for building electronic queue(s) utilizing self organizing units in parallel to permit concurrent queue add and remove operations
JPH08194612A (ja) プログラム実行制御方法及びプログラム実行制御システム
WO2023051034A1 (zh) 终端代码增量编译方法、系统、装置、服务器和存储介质
US7111288B2 (en) Method and system for minimizing the cycle time when compiling a program in a processing system
KR100661637B1 (ko) 이동통신 단말기에서 다중 가상머신 구동용 실행 환경 시스템 및 그 실행 방법
JP4666231B2 (ja) アプリケーション競合管理システム及びその方法並びにそれを用いた情報処理端末
JPH09160847A (ja) クライアント・サーバ型分散処理システム
JP4060890B2 (ja) 階層化ドライバ入出力システム内の複数ドライバによる入出力要求の再処理を可能にするファイル・システム・プリミティブ
US7055144B2 (en) Method and system for optimizing the use of processors when compiling a program
US5642510A (en) Catalog management system using a catalog pool, pool management table and pool number data table
US20010049735A1 (en) Calculation service providing system
JP2002041310A (ja) クラス動的バインドシステムおよび方法
JPH09160762A (ja) プログラム変換方式
JPH04335428A (ja) ファイルのバージョン管理方法
JP2002063096A (ja) 端末装置、提供源、および情報処理装置
JP2005071158A (ja) ファイル排他制御方法
JPH0527951A (ja) プログラム群管理システム
KR100321764B1 (ko) 이질적운용환경을갖는통신망운용관리시스템들의통합관리에의한통합응용서비스구현방법