JPH0916417A - メッセージ通信方法およびメッセージ通信システム - Google Patents

メッセージ通信方法およびメッセージ通信システム

Info

Publication number
JPH0916417A
JPH0916417A JP16097195A JP16097195A JPH0916417A JP H0916417 A JPH0916417 A JP H0916417A JP 16097195 A JP16097195 A JP 16097195A JP 16097195 A JP16097195 A JP 16097195A JP H0916417 A JPH0916417 A JP H0916417A
Authority
JP
Japan
Prior art keywords
message
server
client
information
queue
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
JP16097195A
Other languages
English (en)
Inventor
Ikuko Kobayashi
郁子 小林
Junji Fukuzawa
淳二 福澤
Hideya Kawahara
英哉 川原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP16097195A priority Critical patent/JPH0916417A/ja
Publication of JPH0916417A publication Critical patent/JPH0916417A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】クライアント/サーバ型の分散システムにおい
て、クライアント側ユーザプログラムによって、非同期
型通信を実現可能とするシステムを提供すること。 【構成】クライアント(プロセス)が作成した任意のメ
ッセージを、クライアント用情報保管部へ送るクライア
ント側送信ステップと、クライアント用情報保管部から
サーバ用情報保管部へ転送するクライアント側転送ステ
ップと、メッセージを、サーバ用情報保管部から受け取
るサーバ側受信ステップと、さらに、受けとったメッセ
ージに対応する応答メッセージを、サーバがサーバ用情
報保管部へ送るサーバ側送信ステップと、応答メッセー
ジをサーバ用情報保管部から獲得し、クライアント用情
報保管部へ転送するサーバ側転送ステップと、応答メッ
セージを、クライアント用情報保管部から受け取るクラ
イアント用受信ステップとを備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プロセス間で行なうメ
ッセージ通信技術に係り、特に、メッセージの送受信を
行なうプロセス同士が互いに独立して稼働する、クライ
アント/サーバプロセス型等の通信において、メッセー
ジを送受信する際に好適な非同期型のメッセージ通信技
術に関する。
【0002】
【従来の技術】分散型システムのプロセス間メッセージ
通信方法には、同期型通信方法と非同期型通信方法があ
る。同期型通信方法は、メッセージ送信側プロセスとメ
ッセージ受信側プロセスとが同時に稼働している状態
で、メッセージを送受信する方法であり、メッセージ送
信側プロセスとメッセージ受信側プロセスとは、同期し
て通信動作を行なう。
【0003】即ち、送信側プロセスが行なうメッセージ
送信処理は、受信側プロセスにメッセージが到達した時
点、または、受信側プロセスにメッセージが到達し、か
つ、受信側プロセスからの、これに対する応答メッセー
ジを送信側プロセスが受信した時点で、終了する。
【0004】一方、非同期型通信方法は、メッセージ送
信側プロセスとメッセージ受信側プロセスとが互いに相
手の稼働状態を意識しないでメッセージを送受信する方
法であり、メッセージ送信側プロセスとメッセージ受信
側プロセスとは、非同期で通信動作を行なう。このよう
な通信動作を行なうためには、メッセージの受渡しを仲
介する機能を有する仲介部が設けられており、送信側プ
ロセスが行なうメッセージ送信処理は、受信側プロセス
を指定して、メッセージの送信を前記仲介部に依頼した
段階で終了する。そして、受信側プロセスは、任意のタ
イミングで仲介部からメッセージを受け取ることによっ
て、メッセージ通信が行なわれる。
【0005】ところで、従来から、非同期型通信を行な
うシステムが提案されており、かかるシステム例とし
て、「DEC Message Q」がある。
【0006】このような通信システムにおいては、シス
テム上のプロセスに、メッセージを送受信するための送
信(put)命令、受信(get)命令を発行する機能を与え
る構成になっている。
【0007】メッセージ受信側プロセスは、「キュー」
と称されるメッセージ格納場所を生成し、該キューを、
システムを構成する任意の計算機上に登録する処理を行
なう。一方、メッセージ送信側プロセスは、受信側プロ
セスが生成したキューを指定して、put命令を発行す
る。次に、通信システムは、指定されたキューに対し
て、メッセージを送る。次に、メッセージ受信側プロセ
スは、受信側プロセスが生成したキューを指定して、ge
t命令を発行する。そして、通信システムは、指定され
たキューからメッセージを取り出して、受信側プロセス
内のメッセージ受信領域にメッセージを書き込む処理を
行なう。
【0008】なお、このような従来の通信システムで
は、各プロセスが送受信するメッセージは、単なるバイ
ト列である。バイト列とは、通信媒体によって送受信さ
れるデータのデータ形式である。送信側プロセスは、あ
るデータ構造で定義されるメッセージをバイト列に変換
し、通信システムに渡すとともに、受信側プロセスは、
バイト列を、前記あるデータ構造に変換して、変換して
得られたデータ構造の内容を参照して、対応する手続き
を実行するようになっていた。
【0009】
【発明が解決しようとする課題】ところで、上述したよ
うな従来技術における問題点として、分散型システムの
形態が、クライアント/クライアント型になっており、
クライアント/サーバ型の分散型システムには、従来の
非同期型通信方法が適用できないことがあった。
【0010】なお、本明細書において使用するクライア
ント/サーバなる用語の殆どは、ハードウエアを意味す
るものではない。即ち、要求情報を発する側をクライア
ント(プロセス)と称し、また、概要求情報に対する応
答情報を発する側をサ−バ(プロセス)と称している。
【0011】クライアント/クライアント型システムに
おいては、システム上の総てのプロセスが、通信システ
ムに対してメッセージ送信命令、受信命令を発行するク
ライアントとして機能する。
【0012】一方、クライアント/サーバ型システムに
おいては、命令を発行してメッセージを送信する側のプ
ロセスがクライアントとして機能するとともに、命令を
受け取って、メッセージに対応する手続きを実行する側
のプロセスがサーバとして機能する。
【0013】クライアント/クライアント型の通信シス
テムでは、メッセージとバイト列との変換処理、およ
び、メッセージに対応する手続きを呼び出す処理を行な
うように、ユーザがプログラムを記述する必要があり、
メッセージの抽象度が低い(即ち、メッセージを定義す
るための属性や手続きが体系化されておらず、工数のか
かるプログラム記述作業により対応している)。
【0014】しかしながら、クライアント/サーバ型の
通信システムでは、システム自身が、メッセージとバイ
ト列との変換処理、および、メッセージに対応する手続
きを呼び出す処理を行なう機能を有するように構成する
ことが可能なため、サーバ側のユーザプログラムでは、
手続きを実行するための処理に対するプログラミングを
行なうだけで良く、メッセージの抽象度は高くなる。
【0015】例えば、オブジェクト指向型ソフトウエア
設計思想に基づく、クライアント/サーバ型システムで
は、サーバプログラムは、複数のオブジェクトの集合か
らなる。
【0016】ここで、オブジェクトとは、データ構造
と、データ構造の構成要素であるデータに対する複数の
手続きとを有して構成される、プログラム単位である。
【0017】クライアントプログラムは、オブジェクト
とオブジェクトの手続きとを呼び出して、オブジェクト
へメッセージ(この場合、オブジェクト識別子、手続
き、手続きが実行できる情報等)を送る。次に、メッセ
ージを受けたサーバプログラムは、オブジェクトの手続
きを実行する。通信システムは、メッセージをバイト列
に変換して、オブジェクトが存在するサーバ側計算機に
送る。サーバ側計算機は、バイト列をメッセージに変換
して、オブジェクトの手続きを呼び出す。
【0018】このようなシステムに対して、従来の非同
期型通信方法を適用すると、オブジェクトがメッセージ
を受けとって手続きを実行するという、オブジェクト指
向特有の機能を実現できないという問題点が存在してい
た。
【0019】そこで、本発明の目的は、クライアント/
サーバ型の構成形態を有する分散システムにおいて、サ
ーバ側ユーザプログラムの設計、プログラム構造の変更
等を行なうことなく、クライアント側ユーザプログラム
の起動によって、非同期型の通信方法によって、メッセ
ージ通信を可能とする手段を提供することにある。
【0020】
【課題を解決するための手段】上記課題を解決し、本発
明の目的を達成するために、以下の手段がある。
【0021】すなわち、クライアントプロセスがサーバ
プロセスへ送るメッセージ、および、クライアントプロ
セスがサーバプロセスから受け取る応答メッセージを保
管するクライアント用情報保管部と、サーバプロセスが
クライアントプロセスから受け取るメッセージ、およ
び、サーバプロセスがクライアント送る応答メッセージ
を保管するサーバ用情報保管部を用意しておく。
【0022】次に、クライアントプロセスが作成した任
意のメッセージを、クライアントプロセスが前記クライ
アント用情報保管部へ送るクライアント側送信ステップ
と、前記クライアント用情報保管部から、前記任意のメ
ッセージを獲得し、前記サーバ用情報保管部へ転送する
クライアント側転送ステップと、転送されたメッセージ
を、サーバプロセスが、サーバ用情報保管部から受け取
るサーバ側受信ステップとを備える。
【0023】そして、受けとったメッセージに対応す
る、所定の応答メッセージを、サーバプロセスがサーバ
用情報保管部へ送るサーバ側送信ステップと、前記所定
の応答メッセージを、サーバ用情報保管部から獲得し、
クライアント用情報保管部へ転送するサーバ側転送ステ
ップと、前記所定の応答メッセージを、クライアントプ
ロセスがクライアント用情報保管部から受け取るクライ
アント用受信ステップとを備える、メッセージ通信方法
である。
【0024】また、以下に示すような態様も考えられ
る。
【0025】すなわち、さらに、クライアントプロセス
とサーバプロセスの間で通信されるメッセージを加工す
るステップを有し、該ステップは、メッセージ中に、サ
ーバが、サーバの提供機能を示す「手続き」を実行する
ために必要な情報(手続き実行情報)を組み込む実行要
求組み込みステップと、組み込み処理されたメッセージ
から、前記手続き実行情報を抽出する実行要求抽出ステ
ップと、手続き実行情報に基づいて、手続きを呼出す手
続き呼出しステップと、応答メッセージの中に、サーバ
の手続き実行結果を組み込む実行結果組み込みステップ
と、応答メッセージから、手続き実行結果を抽出する実
行結果抽出ステップとを有するメッセージ通信方法であ
る。
【0026】また、以下に示すようなシステム構成も考
えられる。
【0027】クライアントプロセスとサーバプロセスの
間でメッセージ通信を行なうシステムであって、クライ
アントプロセスがサーバプロセスへ送るメッセージ、お
よび、クライアントプロセスがサーバプロセスから受け
取る応答メッセージを保管するクライアント用情報保管
手段と、サーバプロセスがクライアントプロセスから受
け取るメッセージ、および、サーバプロセスがクライア
ント送る応答メッセージを保管するサーバ用情報保管手
段とを有した構成にする。
【0028】さらに、クライアントプロセスが作成した
任意のメッセージを、クライアントプロセスが前記クラ
イアント用情報保管手段へ送るクライアント側送信手段
と、前記クライアント用情報保管手段から、前記任意の
メッセージを獲得し、前記サーバ用情報保管手段へ転送
するクライアント側転送手段と、転送されたメッセージ
を、サーバプロセスが、サーバ用情報保管手段から受け
取るサーバ側受信手段と、受けとったメッセージに対応
する、所定の応答メッセージを、サーバプロセスがサー
バ用情報保管手段へ送るサーバ側送信手段と、前記所定
の応答メッセージを、サーバ用情報保管手段から獲得
し、クライアント用情報保管手段へ転送するサーバ側転
送手段と、前記所定の応答メッセージを、クライアント
プロセスがクライアント用情報保管手段から受け取るク
ライアント用受信手段とを有して構成される、メッセー
ジ通信システムである。
【0029】
【作用】まず、クライアント側送信ステップによって、
クライアントプロセスが作成した任意のメッセージを、
クライアントプロセスが前記クライアント用情報保管部
へ送り、また、クライアント側転送ステップによって、
前記クライアント用情報保管部から、前記任意のメッセ
ージを獲得し、前記サーバ用情報保管部へ転送する。
【0030】そして、サーバ側受信ステップによって、
転送されたメッセージを、サーバプロセスが、サーバ用
情報保管部から受け取る。
【0031】さらに、サーバ側送信ステップによって、
受けとったメッセージに対応する、所定の応答メッセー
ジを、サーバプロセスがサーバ用情報保管部へ送り、ま
た、サーバ側転送ステップによって、前記所定の応答メ
ッセージを、サーバ用情報保管部から獲得し、クライア
ント用情報保管部へ転送する。
【0032】そして、クライアント用受信ステップによ
って、前記所定の応答メッセージを、クライアントプロ
セスがクライアント用情報保管部から受け取る。
【0033】このように、送信ステップ、転送ステッ
プ、受信ステップは、各々独立した動作を行なうので、
非同期型の、クライアントプロセスとサーバプロセス間
でのメッセージ通信が可能となる。
【0034】また、本発明の他の態様によれば、以下の
ような動作が行なわれる。
【0035】すなわち、実行要求組み込みステップによ
って、メッセージ中に、サーバが、サーバの提供機能を
示す「手続き」を実行するために必要な情報(手続き実
行情報)を組み込み、さらに、実行要求抽出ステップに
よって、組み込み処理されたメッセージから、前記手続
き実行情報を抽出する。次に、手続き呼出しステップに
よって、手続き実行情報に基づいて、手続きを呼出し
て、実行結果組み込みステップによって、応答メッセー
ジの中に、サーバの手続き実行結果を組み込む。さら
に、実行結果抽出ステップによって、応答メッセージか
ら、手続き実行結果を抽出する。
【0036】このように、本発明によれば、サーバプロ
セス側の手続きを呼び出すことができるため、クライア
ント/サーバプロセス型のシステムにおいて、非同期メ
ッセージ通信を適用できることになる。
【0037】
【実施例】以下、本発明の実施例を図面を参照しつつ説
明するが、理解の容易化のために、まず、発明の概要を
図2を参照して説明し、その後に詳細な実施例について
説明して、発明の理解の容易化を図るように心掛ける。
【0038】(発明の概要)まず、図2を参照しつつ、
本発明の概要について説明する。
【0039】図2は、クライアント/サーバ型の情報処
理システムに対して、非同期型通信を適用した場合の、
通信手順を説明するための図面である。
【0040】以下、クライアント側を「情報送信者」、
サーバ側を「情報受信者」、クライアントとサーバが同
期型で通信していたメッセージの内容(オブジェクト識
別子、サーバ側で実行する手続きを識別する情報、手続
きを実行するためのデータ群)を「伝達情報オブジェク
ト」と称する。
【0041】非同期型通信システムでは、情報送信者と
情報受信者との間の通信を仲介する情報仲介者を設けた
構成にする。情報仲介者は、キューオブジェクトを備え
ている。
【0042】以下「キューオブジェクト」とは、伝達情
報オブジェクトを一時保管するための場所を意味する。
【0043】情報仲介者は、情報送信者から渡された伝
達情報オブジェクトをキューオブジェクトに格納し、伝
達情報オブジェクトをキューオブジェクトから取り出し
て、情報受信者に渡す処理を行なう。
【0044】同期型通信の手続きには、1方向手続きと
2方向手続きとがある。1方向手続きとは、オブジェク
トが、手続きの実行結果をクライアントへ返さない手続
きであり、また、2方向手続きとは、オブジェクトが、
手続きの実行結果をクライアントへ返す手続きである。
【0045】これらの手続きを、非同期型通信で実行す
る場合、非同期型通信システムは、以下のような動作を
行なう。
【0046】情報送信者は、通信システムに対して、手
続きの実行を要求する非同期送信命令を発行する
(1)。通信システムは、伝達情報オブジェクトを組み
立てて、オブジェクト送信要求メッセージに組み込む
(2)。通信システムは、メッセージを情報仲介者に送
り、情報送信者に送信命令終了を報告する(3)。情報仲
介者は、メッセージを、キューオブジェクトに保管して
おく(4)。情報受信側の通信システムは、オブジェクト
受信要求を情報仲介者に送り、情報仲介者からメッセー
ジを得る(5)。
【0047】情報受信側の通信システムは、メッセージ
から伝達情報オブジェクトを取り出して、情報受信者へ
渡せるデータ形式に分解し、対応する手続きを呼び出す
(6)。情報受信者は、呼び出された手続きを実行する
(7)。1方向手続きは、この段階で終了する。
【0048】2方向手続きの場合、引き続き以下の処理
を行う。
【0049】情報受信側の通信システムは、オブジェク
トの実行結果に基づいて、伝達情報オブジェクトを組立
ててオブジェクト送信要求に埋め込む(8)。次に、メッ
セージを情報仲介者へ送る(9)。情報仲介者は、メッセ
ージをキューオブジェクトに保管しておく(10)。情報送
信者は、通信システムに手続き実行結果を受け取る非同
期受信命令を発行する(11)。次に、情報送信側の通信シ
ステムは、オブジェクト受信要求メッセージを作成する
(12)。情報送信側の通信システムは、メッセージを情報
仲介者へ送り、情報仲介者からメッセージを得る(13)。
情報送信側の通信システムは、メッセージから伝達情報
オブジェクトを取り出して、情報送信者へ渡せるデータ
形式に分解し、手続き実行結果、および、受信命令終了
を報告する(14)。
【0050】以上が、発明の概要を示す処理手順の説明
である。
【0051】以下、本発明の具体的な実施例について図
面を参照しつつ説明することにする。
【0052】図1は、本発明にかかる非同期型メッセー
ジ通信システムの実施例の構成例を示す構成図である。
本システムは、分散型システムを構成している。
【0053】分散型システムは、複数のプロセス1003
(1003a,…,1003d)が、LAN等の伝送路1001によ
って接続された複数の計算機1002(1002a,…,1002
d)上に配置され、これらのプロセスが協調して動作す
るシステムである。
【0054】各計算機に配置されたプロセス1003は、プ
ロセスが有する機能を識別してメッセージを配送する処
理を行なうオブジェクト間通信モジュール1004(1004
a,…,1004d)と、サービスを提供、または、利用す
るアプリケーションモジュール1005(1005a,…,1005
d)とを有している。
【0055】本実施例では、オブジェクト間通信モジュ
ール1004が識別可能な単位を、アプリケーションモジュ
ール1005が有するデータ、および、該データに関連する
「手続き」からなるプログラム単位、即ち、「オブジェ
クト」とする。
【0056】また、アプリケーションモジュール1005の
オブジェクトを提供する側を「サーバ」、オブジェクト
を利用する側を「クライアント」とする。クライアント
は、オブジェクトと手続きとを指定して、メッセージ送
信を行なう旨を、オブジェクト間通信モジュール1004に
命令する。
【0057】オブジェクト間通信モジュール1004は、ク
ライアントが発行した命令を、予め定めた、転送用のメ
ッセージ形式(バイト列)に変換する処理を行なう。さ
らに、後に述べる、オブジェクト間通信モジュール1004
に格納されているオブジェクト配置情報3000より、オブ
ジェクトの配置情報を得て、メッセージを該当するプロ
セスのオブジェクト間通信モジュール1004へ送る。サー
バ側のオブジェクト間通信モジュール1004は、バイト列
からメッセージの種類を判断して、メッセージに対応す
るオブジェクトの手続きを呼び出す。
【0058】アプリケーションモジュール1005cは、ユ
ーザが定義したオブジェクト(ユーザオブジェクト)を
利用するクライアントモジュール1007と、ユーザオブジ
ェクトとの非同期型通信を可能とするための非同期通信
モジュール1006cとを有する。
【0059】非同期通信モジュール1006cは、さらに、
(オブジェクト)送信命令部/(オブジェクト)受信命
令部と、伝達情報オブジェクト組立て部/伝達情報オブ
ジェクト分解部とを備える。アプリケーションモジュー
ル1005cは、非同期型通信システムにおいて、情報送信
者(クライアント)として機能する。
【0060】アプリケーションモジュール1005dは、ユ
ーザオブジェクトを有するユーザオブジェクトモジュー
ル1008と、情報送信者との非同期型通信を可能とするた
めの非同期通信モジュール1006dとを有する。非同期通
信モジュール1006dは、さらに、(オブジェクト)送信
命令部/(オブジェクト)受信命令部と、伝達情報オブ
ジェクト組立て部/伝達情報オブジェクト分解部と、手
続き呼び出し部とを備える。
【0061】アプリケーションモジュール1005dは、非
同期型通信システムにおいて、情報受信者(サーバ)と
なる。
【0062】アプリケーションモジュール1005bは、情
報送信者と情報受信者との間で伝達情報オブジェクトの
受け渡しを仲介するキュー管理機能モジュール1009であ
る。キュー管理機能モジュール1009は、手続きを実行す
る実行部と、手続き実行を命令する命令部を有する。実
行部は、(キュー)作成実行部/(オブジェクト)送信
実行部/(オブジェクト)受信実行部/(オブジェク
ト)転送実行部を備える。命令部は、(オブジェクト)
転送命令部/(キュー)問合せ命令部を備える。
【0063】キュー管理機能モジュール1009は、キュー
管理情報1010に基づいて、キューオブジェクトを管理す
る。
【0064】アプリケーションモジュール1005aは、ユ
ーザオブジェクトとキューオブジェクトとの関係を定義
した、ユーザオブジェクト管理情報1012を管理する、ユ
ーザオブジェクト管理モジュール1011である。ユーザオ
ブジェクト管理モジュール1011は、手続きを実行する
(キュー)登録実行部/(キュー)問合わせ実行部を備
える。
【0065】以上の構成要素のうち、本発明において主
要なモジュールは、ユーザオブジェクト管理モジュール
1011、キュー管理機能モジュール1009、非同期通信モジ
ュール1006(1006c、1006d)である。
【0066】図3は、前述した、オブジェクトの配置情
報を管理するために使用するオブジェクト配置情報3000
の構成例の説明図である。
【0067】オブジェクト識別子3001は、オブジェクト
をシステム内で識別するために、オブジェクト固有に定
められた情報、オブジェクトタイプ3002は、オブジェク
トの種類を定めるための情報、属性タイプ3003は、オブ
ジェクトが持つ属性を定めるための情報、属性値3004
は、該属性を表す情報である。
【0068】例えば、キューオブジェクトの場合、ま
ず、キューというオブジェクトを識別するオブジェクト
タイプに「タイプX」が設定され、各々のキューオブジ
ェクトを識別するために「識別子A」が設定される。さ
らに、配置場所という属性を識別するために「属性a」
が設定され、属性値として、アドレス情報である「属性
値1」が設定される。ユーザオブジェクトの場合も同様
に、オブジェクトを識別するオブジェクトタイプに「タ
イプY」が設定され、各々のユーザオブジェクトを識別
するために「識別子B」が設定される。さらに、配置場
所という属性を識別するために「属性a」が設定され、
属性値として、アドレス情報である「属性値3」が設定
される。なお、オブジェクト間通信モジュール1004が、
このオブジェクト管理情報を管理する。
【0069】図4は、キュー管理機能モジュール1009が
管理するキュー管理情報1010の構成例の説明図である。
キュー識別子4001は、キューオブジェクトを識別するた
めの情報で、上記オブジェクト識別子3001に対応する情
報である。キュータイプ4002は、キューオブジェクトの
種類を識別するための情報で、上記オブジェクトタイプ
3002に対応する情報である。属性タイプ4003は、キュー
オブジェクトが持つ属性を識別するための情報、属性値
4004は、該属性を表す情報である。キューオブジェクト
が持つ属性としては、例えば、キューオブジェクトを作
成した者を識別するためのキュー管理者識別情報、キュ
ーオブジェクトを使用することができる者を識別するた
めのキュー使用者識別情報、キューオブジェクトに保存
されたメッセージの処理の仕方を定めるメッセージ制御
情報、メッセージを保存する場所を示すメッセージ保管
場所情報等が挙げられる。図中の矢印は、アドレス情報
が示す位置を表す。
【0070】図10は、ユーザオブジェクト管理モジュ
ール1011が管理するユーザオブジェクト管理情報1012の
構成の説明図である。ユーザオブジェクト識別子1001
は、非同期型通信が行えるユーザオブジェクトを識別す
るための情報である。キューオブジェクト識別子1002
は、非同期型通信を行うユーザオブジェクトが使用す
る、キューオブジェクトを識別するための情報である。
【0071】図5は、オブジェクト間通信モジュール10
04が使用する、メッセージのフォーマット例である。メ
ッセージは、制御部と、データ部とを有する。制御部の
OBJRF5001は、メッセージ送信先オブジェクトのア
ドレス情報、SRC5002は、メッセージ送信元プロセス
のアドレス情報、OBJID5003は、オブジェクトを識
別する識別子、MSGID5004は、メッセージ(即ち、
オブジェクトの手続き)を識別するための情報、RQ/
RP5005は、要求(手続き実行要求:手続きを実行する
ことを要求すること)メッセージと、応答(手続き実行
結果)メッセージを識別する情報である。データ部のD
ATA5006は、手続き実行に必要な情報、および、手続
き実行結果の内容を表す情報である。
【0072】図6は、キュー管理機能モジュール1009に
関するメッセージと、メッセージを構成するデータ部の
フォーマット(上記5006に対応)の構成例の説明図であ
る。キュー管理機能モジュール1009への命令として、キ
ュー作成(6100、6200)、オブジェクト送信(6300、64
00)、オブジェクト転送(6500、6600)、オブジェクト
受信(6700、6800)があり、各命令に対して要求/応答
メッセージが存在する。
【0073】例えば、キュー作成の要求メッセージ6100
は、キュー識別子6101、キュータイプ6102、キュー管理
者識別情報6103、および、メッセージ6104とを備えてい
る。これに対して、キュー作成の応答メッセージ6200
は、終了状態を示す情報からなっている。また、オブジ
ェクト送信の要求メッセージ6300は、宛先オブジェクト
を識別するための宛先オブジェクト識別子6301、該メッ
セージ発進オブジェクトを識別するための発進オブジェ
クト識別子6302、命令を識別するための命令識別子630
3、伝達情報オブジェクトを識別するための伝達情報オ
ブジェクト識別子6304、および、伝達情報オブジェクト
6305とを備えている。これに対して、オブジェクト送信
の応答メッセージ6400は、終了状態を示す情報6401
からなっている。
【0074】同様に、オブジェクト転送の要求メッセー
ジ6500は、宛先キューオブジェクトを識別するための宛
先キューオブジェクト識別子6501、発進オブジェクト識
別子6502、命令を識別するための命令識別子6503、伝達
情報オブジェクトを識別するための伝達情報オブジェク
ト識別子6504、および、伝達情報オブジェクト6505とを
備えている。
【0075】これに対して、オブジェクト送信の応答メ
ッセージ6600は、終了状態を示す情報6601からなってい
る。また、オブジェクト受信の要求メッセージ6700は、
受信するメッセージを指定するための情報である選択基
準6701からなっている。これに対して、オブジェクト受
信の要求メッセージ6800は、終了状態6801を示す情報、
宛先オブジェクト識別子6802、発進オブジェクト6803、
命令を識別するための命令識別子6804、伝達情報オブジ
ェクトを識別するための伝達情報オブジェクト識別子68
05、および、伝達情報オブジェクト6806とを備えてい
る。
【0076】図7は、ユーザオブジェクト管理モジュー
ル1011に関するメッセージと、メッセージのデータ部の
フォーマット(上記5006に対応)の構成例の説明図であ
る。ユーザオブジェクト管理モジュール1011への命令と
して、キュー登録(7100、7200)、キュー問合わせ(73
00、7400)があり、各命令に対応して要求/応答メッセ
ージがある。キュー登録の要求メッセージ7100は、ユー
ザオブジェクトを識別するためのユーザオブジェクト識
別子7101、およびキューを識別するためのキュー識別子
7102とを備えている。これに対して、キュー登録の応答
メッセージ7200は、終了状態を示す情報(7201)からなっ
ている。
【0077】また、キュー問合せの要求メッセージ7300
は、ユーザオブジェクトを識別するためのユーザオブジ
ェクト識別子7301からなっている。これに対して、キュ
ー問合せの応答メッセージ7300は、終了状態を示す情報
(7401)、およびキューを識別するためのキュー識別子74
02を備えている。
【0078】図8は、上記で述べたモジュールと、命
令、メッセージ、手続きの関係を示す説明図である。1
方向手続きを例に、関係を説明する。
【0079】クライアントモジュールが発行した非同期
送信命令を受けた非同期通信モジュールは、オブジェク
ト間通信モジュール(A)にオブジェクト送信命令を与
える。オブジェクト間通信モジュール(A)は、オブジ
ェクト間通信モジュール(B)との間で、オブジェクト
送信メッセージの送受信を行なう。オブジェクト間通信
モジュール(B)は、キュー管理機能モジュールに対し
て、手続き呼び出しを行ない、オブジェクト送信実行を
行なわせる。
【0080】非同期通信モジュールが発行したオブジェ
クト受信命令を受けたオブジェクト間通信モジュール
(C)は、オブジェクト間通信モジュール(B)との間
で、オブジェクト受信メッセージの送受信を行なう。オ
ブジェクト間通信モジュール(B)は、キュー管理機能
モジュールに対して、手続き呼び出しを行ない、オブジ
ェクト受信実行を行なわせる。ユーザオブジェクトモジ
ュールは、非同期通信モジュールから、手続き呼び出し
を行なうためのコール命令が与えられ、呼び出し結果を
非同期通信モジュールに与える。
【0081】図9は、ユーザオブジェクトの手続き定義
9100と、このユーザオブジェクトと同期通信する場合の
インタフェース9200、これに対応する非同期通信の場合
のインタフェース9300の一例を説明する図面である。
【0082】インタフェースとは、クライアントモジュ
ール1007が、オブジェクトへ発行する命令のフォーマッ
トをいう。1方向手続きのインタフェースは、手続きの
実行結果をクライアントへ返さないため、入力情報のみ
からなる。
【0083】これに対して、2方向手続きのインタフェ
ースは、手続きの実行結果をクライアントへ返すため、
入力情報および出力情報からなる。
【0084】ユーザオブジェクトの手続き定義9100は、
手続き名9101、手続き実行に関連するパラメータ列から
なる。各パラメータは、手続き実行において使用する入
力データか、手続き実行結果となる出力データかを示す
入出力区別9102と、データの型を示すデータ型9103、お
よびデータ識別子9104を、少なくとも備えている。
【0085】また、同期インタフェース9200は、命令名
9201とパラメータ列からなる。命令名は、手続きの定義
の手続き名に対応する。パラメータ列は、メッセージ送
信先のユーザオブジェクト識別子9202と、手続き定義の
入出力パラメータ列に対応するパラメータ列9203とを有
している。
【0086】非同期インタフェース9300は、命令名9301
とパラメータ列からなる。命令名9301は、送信/受信の
識別子とユーザオブジェクトの手続き名とを有してい
る。
【0087】受信命令9301rは、2方向手続きの場合
に、ユーザオブジェクト手続き定義内の出力情報を得る
ために使用する。
【0088】送信命令9301sのパラメータ列は、発行し
た命令を識別するための命令識別子9302sと、メッセー
ジ送信先のキューオブジェクト識別子9303s、伝達情報
オブジェクト送信先のユーザオブジェクト識別子9304
s、および手続き定義の入力パラメータ列に対応するパ
ラメータ列9305sを有している。
【0089】受信命令9301rのパラメータ列は、関連す
る送信命令を識別する命令識別子9302r、メッセージ送
信先のキューオブジェクト識別子9303r、伝達情報オブ
ジェクト送信先のユーザオブジェクト識別子9304r、お
よび手続き定義の出力パラメータ列に対応する出力パラ
メータ列9305を有している。
【0090】1方向手続きを非同期通信する場合、送信
命令のみを発行する。また、2方向手続きの場合は、送
信命令を発行した後に、受信命令を発行する。このよう
に、ユーザオブジェクトの手続き定義と、同期型/非同
期通信のためのインタフェースとを一意に定義できる。
【0091】以下、実施例1として、1命令で1オブジ
ェクトへメッセージを送る、1対1通信の場合の非同期
型通信の基本動作について述べ、さらに、実施例2とし
て、1命令で複数オブジェクトへメッセージを送る、1
対n通信の場合の非同期型通信の基本動作について述べ
る。
【0092】(実施例1)以下、図11、図12を参照
して、2方向手続きの非同期通信処理について詳細に説
明する。
【0093】(1)キューオブジェクトを作成する(ス
テップ1101) まず、情報送信者、情報受信者は、各々のキューオブジ
ェクトを作成する。
【0094】情報受信者となるアプリケーションモジュ
ール1005dの管理者は、サーバ用のキューオブジェクト
を作成する。なお、クライアントアプリケーションモジ
ュールの1つであるキュー管理プログラムが、キュー作
成命令を発行する。
【0095】オブジェクト間通信モジュール1004は、キ
ュー作成命令によって渡された、作成するキューの識別
子6101、キューのタイプ(例えば、サーバ用タイプ)61
02、キュー管理者を識別する情報6103、キューに保管さ
れたメッセージの制御情報(制御方法を示す)6104、例
えば、メッセージを保管する時間、受け取り順等にした
がって、キュー作成要求メッセージ6100を作り、メッセ
ージを、キュー管理機能モジュール1009へ送り、キュー
作成実行部を呼び出す。
【0096】キュー管理機能モジュール1009のキュー作
成実行部は、キュー管理情報1010へキューオブジェクト
識別子等を登録し、処理を終了する。
【0097】オブジェクト間通信モジュール1004は、処
理終了状態等の情報から、キュー作成応答メッセージ62
00を作成して、オブジェクト間通信モジュール1004に返
送し、命令の実行を終了する。
【0098】情報送信者となるアプリケーションモジュ
ール1005cの管理者は、クライアント用のキューオブジ
ェクトを作成する。管理者は、作成するキューの識別
子、キューのタイプ(例えば、クライアント用タイ
プ)、管理者を識別する情報、キューに保管されたメッ
セージの制御方法(例えば、メッセージを保管する時
間、送信順等)を指定して、キュー作成命令を発行す
る。以下は、サーバ用キューオブジェクトの場合と同様
な処理の流れとなる。
【0099】次に、情報受信者となるアプリケーション
モジュール1005dの管理者は、ユーザオブジェクトとキ
ューオブジェクトとの関連を、ユーザオブジェクト管理
情報1012に登録する。クライアントアプリケーションモ
ジュールの1つである、キュー管理プログラムが、キュ
ー登録命令を発行する。オブジェクト間通信モジュール
1004は、キュー登録命令によって渡された、登録するユ
ーザオブジェクトの識別子7101、キューオブジェクトの
識別子7102等から、キュー登録要求メッセージ7100を作
成し、メッセージを、ユーザオブジェクト管理モジュー
ル1011へ送り、キュー登録実行部を呼び出す。キュー登
録実行部は、ユーザオブジェクト管理情報1012に、ユー
ザオブジェクト識別子等を登録し、処理を終了する。オ
ブジェクト間通信モジュール1004は、処理終了状態等の
情報から、キュー登録応答メッセージ7200を作成して、
オブジェクト間通信モジュール1004に返送し、命令を終
了する。
【0100】最後に、情報送信者、情報受信者となるア
プリケーションモジュールの管理者は、作成したキュー
オブジェクトの情報を、オブジェクト間通信モジュール
1004が規定する方法にしたがって、オブジェクト管理情
報3000に登録する。この方法は、任意に予め定めておけ
ば良い。
【0101】(2)伝達情報オブジェクトの組立て/分
解手段を用意する(ステップ1102)。
【0102】非同期通信モジュール1006は、伝達情報オ
ブジェクトを組立てて、オブジェクト送信要求メッセー
ジ6300の伝達情報オブジェクト6304のフィールドへ組み
込む手段、伝達情報オブジェクト6304のフィールドか
ら、組み込まれている情報を取り出す手段を用意する。
【0103】情報送信側の非同期通信モジュール1006c
が情報受信側へ渡す伝達情報オブジェクト(送信伝達情
報オブジェクト)とは、情報受信側の非同期通信モジュ
ールがオブジェクトの手続きを呼び出すために必要な情
報である。例えば、オブジェクト識別子、手続き識別
子、手続きを実行するためのデータ等である。
【0104】情報送信側の非同期通信モジュール1006c
が受け取る伝達情報オブジェクト(受信伝達情報オブジ
ェクト)とは、情報送信側の非同期通信モジュールが手
続き実行結果を情報送信者に返すために必要な情報であ
る。例えば、オブジェクト識別子、手続き識別子、手続
き実行結果を表すデータ等である。
【0105】送信伝達情報オブジェクトの組立て、分解
手段は、例えば、以下の方法で用意できる。送信伝達情
報オブジェクトの構成要素、オブジェクト識別子、手続
き識別子、手続きを実行するためのデータは、非同期送
信インタフェース9300のユーザオブジェクト識別子9304
s、命令名(送信、手続き名)9301s、入力パラメータ
列9305sから得られる。非同期送信インタフェースか
ら、伝達情報オブジェクトの構成要素を選び出し、この
構成要素をメッセージに組み込む処理(伝達オブジェク
ト組立て部)を、非同期送信インタフェース毎に予め作
成しておく。伝達オブジェクト組立て部が組み立てた送
信伝達情報オブジェクトを、メッセージから取り出し
て、同期インタフェースを再構成する処理(伝達オブジ
ェクト分解部)を、非同期送信インタフェース毎に予め
作成しておく。
【0106】この伝達オブジェクト組立て部と伝達オブ
ジェクト分解部との対応をとるために、非同期送信イン
タフェース毎に、伝達オブジェクト識別子を作成する。
組立て部は手続き名から、分解部は伝達情報オブジェク
ト識別子から選択して、各々関連する処理を実行する。
送信伝達情報オブジェクトの組立て部は、クライアント
側の非同期通信モジュール1006cに、分解部は、ユーザ
オブジェクト側の非同期通信モジュール1006dに配置す
る。
【0107】受信伝達情報オブジェクトの組立て、分解
手段は、例えば、以下の方法で用意できる。受信伝達情
報オブジェクトの構成要素、オブジェクト識別子、手続
き識別子、手続き実行結果を表すデータは、非同期受信
インタフェース9300のオブジェクト識別子9304r、命令
名(送信、手続き名)9301r、出力パラメータ列9305r
に対応する。この情報は、同期インタフェース9200のオ
ブジェクト識別子9202、手続き名9201、入出力パラメー
タ列9203から得られる。
【0108】同期インタフェースによる手続き実行結果
から、伝達情報オブジェクトの構成要素を選び出し、こ
の構成要素をメッセージに組み込む処理(伝達オブジェ
クト組立て部)を、非同期受信インタフェース毎に予め
作成しておく。伝達オブジェクト組立て部が組み立てた
受信伝達情報オブジェクトを、メッセージから取り出し
て、非同期受信インタフェースの出力パラメータに設定
する処理(伝達オブジェクト分解部)を、非同期受信イ
ンタフェース毎に予め作成しておく。伝達オブジェクト
組立て部と伝達オブジェクト分解部との対応をとるため
に、非同期受信インタフェース毎に、伝達オブジェクト
識別子を作成する。組立て部は、手続き名から、分解部
は、伝達情報オブジェクト識別子、および、手続き名か
ら選択して、各々関連する処理を実行できる。受信伝達
情報オブジェクトの組立て部は、ユーザオブジェクト側
の非同期通信モジュール1006dに、分解部は、クライア
ント側の非同期通信モジュール1006cに配置する。
【0109】以下からの説明は、クライアントモジュー
ル1007とユーザオブジェクトモジュール1008との、非同
期通信に関連する処理となる。
【0110】(3)メッセージをクライアント用キュー
オブジェクトに送る(ステップ1103)。
【0111】まず、クライアントモジュール1007は、非
同期送信命令を発行する。
【0112】非同期通信モジュール1006cの送信命令部
は、非同期送信インタフェースの命令名から手続き名を
得て、関連する伝達情報オブジェクト組立て処理部を起
動して、伝達情報オブジェクトを作成し、オブジェクト
送信要求メッセージの伝達情報オブジェクト6305のフィ
ールドに設定する。同様に、ステップ1102において用意
した伝達情報オブジェクト識別子を、伝達情報オブジェ
クト識別子6304のフィールドに設定する。
【0113】次に、非同期送信インタフェースのユーザ
オブジェクト識別情報9304を、宛先オブジェクト識別情
報6301のフィールドに設定する。次に、非同期送信イン
タフェースのキューオブジェクト識別子9303を、発進オ
ブジェクト識別子領域6302に設定する。
【0114】次に、非同期送信命令をシステム内で識別
するための命令識別子を作成して、命令識別子6303のフ
ィールドに設定する。次に、非同期送信インタフェース
のキューオブジェクト識別子9303を、宛て先オブジェク
トに指定して、オブジェクト送信命令を発行する。
【0115】オブジェクト間通信モジュール1003cは、
キューオブジェクト識別子から、クライアント用キュー
オブジェクトのアドレス情報5001を得て、オブジェクト
送信要求メッセージを送る。
【0116】オブジェクト送信要求メッセージを受けた
キュー管理機能モジュール1009の送信実行部は、メッセ
ージの内容を、該当するクライアント用キューオブジェ
クトのキュー管理情報1010に設定して、オブジェクト送
信応答メッセージを返送する。送信要求メッセージデー
タ部を送信メッセージ保管場所に配置し、保管時間等の
メッセージ管理情報を設定する。
【0117】オブジェクト送信応答メッセージを受けた
非同期通信モジュール1006cの送信命令部は、命令識別
子を非同期インタフェースの命令識別子9302のフィール
ドに設定し、非同期送信命令を終了する。
【0118】(4)メッセージをサーバ用キューオブジ
ェクトへ転送する(ステップ1104)。
【0119】まず、キュー管理機能モジュール1009の転
送命令部は、クライアント用キューオブジェクトの送信
メッセージ保管場所を調べる。送信されていない送信要
求メッセージがある場合、メッセージ制御情報に従って
メッセージを選択して、以下の処理を行う。
【0120】送信要求メッセージデータ部に設定されて
いる、宛先オブジェクト識別子から、ユーザオブジェク
トが使用するサーバ用キューオブジェクトの識別子を得
る。これは、キュー問い合わせ命令を、ユーザオブジェ
クト管理モジュール1011宛に発行することによって得ら
れる。メッセージ内の、宛先オブジェクト識別子を、サ
ーバ用キューオブジェクトの識別子に変更する。送信要
求メッセージデータ部を、キュー管理情報テーブルから
取り出して、転送要求メッセージデータ部に設定する。
サーバ用キューオブジェクトの識別子を宛先オブジェク
トに指定して、オブジェクト転送要求命令を発行する。
【0121】オブジェクト間通信モジュール1004bは、
キューオブジェクト識別子から、サーバ用キューオブジ
ェクトのアドレス情報を得て、オブジェクト転送要求メ
ッセージを送る。
【0122】オブジェクト転送要求メッセージを受けた
キュー管理機能モジュール1009の転送実行部は、メッセ
ージの内容を、該当するサーバ用キューオブジェクトの
キュー管理情報1010に設定して、オブジェクト転送応答
メッセージを返送する。転送要求メッセージデータ部
を、受信メッセージ保管場所に配置し、保管時間等のメ
ッセージ管理情報を設定する。
【0123】オブジェクト転送応答メッセージを受けた
キュー管理機能モジュール1009の転送命令部は、転送が
正常に終了した場合、転送したメッセージに対応する情
報を、キュー管理情報から削除する。正常な転送処理が
行なえなかった場合、メッセージを保管しておき、任意
の時間に、再度転送処理を行うようにしておくのが好ま
しい。
【0124】(5)サーバ用キューオブジェクトからメ
ッセージを受け取る(ステップ1105)。
【0125】まず、非同期通信モジュール1006dの手続
き呼び出し部が、非同期通信モジュール1006dの受信命
令部に対して、オブジェクトの受信を依頼する。
【0126】次に、非同期通信モジュール1006dの受信
命令部は、サーバ用のキューオブジェクト識別子を指定
して、オブジェクト受信命令を発行する。
【0127】オブジェクト間通信モジュール1004dは、
キューオブジェクト識別子に基づいて、サーバ用キュー
オブジェクトのアドレス情報を得て、オブジェクト受信
要求メッセージを送る。
【0128】次に、オブジェクト受信要求メッセージを
受けたキュー管理機能モジュール1009の受信実行部は、
サーバ用キューオブジェクトのキュー管理情報1010の内
容を調べる。そして、受信メッセージ保管場所に、メッ
セージが保管されている場合、メッセージ制御情報に従
ってメッセージを選択し、メッセージをオブジェクト受
信応答メッセージデータ部に設定する。次に、キュー管
理情報テーブルの記述内容から、当該メッセージに関連
する情報を削除して、オブジェクト受信応答メッセージ
を返送する。
【0129】オブジェクト受信応答メッセージを受けた
非同期通信モジュール1006dの受信命令部は、メッセー
ジ内の伝達情報オブジェクト識別子6805より、関連する
送信伝達情報オブジェクト分解処理部による処理を実行
し、オブジェクトの受信依頼に対する処理を終了する。
【0130】(6)オブジェクトの手続きを呼び出す
(ステップ1106)。
【0131】手続き呼び出し部は、送信伝達情報オブジ
ェクト分解処理部によって再構成された同期インタフェ
ースを使用して手続きを呼び出し、さらに、オブジェク
トの手続き実行の終了を待つ。手続き実行終了後、1方
向手続きの場合には、処理を終了する。しかしながら、
2方向手続きの場合、継続して以下の処理が行われる。
【0132】(7)メッセージをサーバ用キューオブジ
ェクトに送る(ステップ1201)。
【0133】まず、非同期通信モジュール1006dの手続
き呼び出し部が、非同期通信モジュール1006dの送信命
令部に、オブジェクトの送信を依頼する。
【0134】次に、非同期通信モジュール1006dの送信
命令部は、手続き名に基づいて、関連する伝達情報オブ
ジェクト組立て処理部による処理を実行して、受信伝達
情報オブジェクトを作成し、オブジェクト送信要求メッ
セージの伝達情報オブジェクト6305のフィールドに設定
する。同様に、図11のステップ1102において用意した
伝達情報オブジェクト識別子を、伝達情報オブジェクト
識別子6304のフィールドに設定する。次に、オブジェク
ト受信応答メッセージの発進オブジェクト識別子6803の
フィールドに設定されていたクライアント用キューオブ
ジェクト識別子を、宛先オブジェクト識別子6301のフィ
ールドに設定する。また、サーバ用キューオブジェクト
識別子を、発進オブジェクト識別子6302のフィールドに
設定する。
【0135】次に、オブジェクト受信応答メッセージに
含まれていた命令識別子6804を、命令識別子6303のフィ
ールドに設定する。次に、サーバ用キューオブジェクト
識別子を、宛先オブジェクトに指定して、オブジェクト
送信命令を発行する。
【0136】そして、オブジェクト間通信モジュール10
04dは、キューオブジェクト識別子に基づいて、サーバ
用キューオブジェクトのアドレス情報を得て、オブジェ
クト送信要求メッセージを送る。
【0137】オブジェクト送信要求メッセージを受けた
キュー管理機能モジュール1009の送信実行部は、メッセ
ージの内容を、該当するサーバ用キューオブジェクトの
キュー管理情報1010に設定して、オブジェクト送信応答
メッセージを返送する。また、送信要求メッセージデー
タ部を送信メッセージ保管場所に配置し、保管時間等の
メッセージ管理情報を設定する。
【0138】そして、オブジェクト送信応答メッセージ
を受けた非同期通信モジュール1006dの送信命令部は、
非同期送信処理結果を手続き呼び出し部へ返し、オブジ
ェクトの送信依頼を終了する。
【0139】(8)メッセージをクライアント用キュー
オブジェクトへ転送する(ステップ1202)。
【0140】まず、キュー管理機能モジュール1009の転
送命令部は、サーバ用キューオブジェクトの送信メッセ
ージ保管場所の情報を調べる。送信されていない送信要
求メッセージがある場合、メッセージ制御情報に従って
メッセージを選択し、以下の処理を行う。
【0141】送信要求メッセージデータ部に設定されて
いる宛先オブジェクト識別子に基づいて、クライアント
用キューオブジェクトの識別子を得る。次に、送信要求
メッセージデータ部を、キュー管理情報テーブルから取
り出して、転送要求メッセージデータ部に設定する。次
に、クライアント用キューオブジェクトの識別子を、宛
先オブジェクトに指定して、オブジェクト転送要求命令
を発行する。
【0142】次に、オブジェクト間通信モジュール1004
bは、キューオブジェクト識別子に基づいて、クライア
ント用キューオブジェクトのアドレス情報を得て、オブ
ジェクト転送要求メッセージを送る。
【0143】次に、オブジェクト転送要求メッセージを
受けたキュー管理機能モジュール1009の転送実行部は、
メッセージの内容を、該当するクライアント用キューオ
ブジェクトのキュー管理情報1010に設定し、オブジェク
ト転送応答メッセージを返送する。
【0144】また、転送要求メッセージデータ部を受信
メッセージ保管場所に配置し、保管時間等のメッセージ
管理情報を設定する。
【0145】そして、オブジェクト転送応答メッセージ
を受けたキュー管理機能モジュール1009の転送命令部
は、転送処理が正常に終了した場合には、転送したメッ
セージに関する情報をキュー管理情報から削除する。一
方、転送処理が正常に終了しなかった場合には、メッセ
ージを保管しておき、任意の時間に再度転送処理、即
ち、リトライを行なう。
【0146】(9)メッセージをクライアントキューオ
ブジェクトから受け取る(ステップ1203)。
【0147】まず、クライアントモジュール1007は、非
同期受信命令を発行する。
【0148】非同期通信モジュール1006cの受信命令部
は、非同期受信インタフェースの命令識別子9302rを、
オブジェクト受信要求メッセージの選択基準6701のフィ
ールドに設定する。次に、非同期受信インタフェースの
キューオブジェクト識別子9303rを宛先オブジェクトに
指定して、オブジェクト受信命令を発行する。
【0149】次に、オブジェクト間通信モジュール1004
cは、キューオブジェクト識別子から、クライアント用
キューオブジェクトのアドレス情報を得て、オブジェク
ト受信要求メッセージを送る。
【0150】次に、オブジェクト受信要求メッセージを
受けたキュー管理機能モジュール1009の受信実行部は、
クライアント用キューオブジェクトのキュー管理情報10
10を調べる。そして、受信メッセージ保管場所にメッセ
ージが保管されている場合には、命令識別子に一致する
メッセージを選択し、メッセージをオブジェクト受信応
答メッセージデータ部に設定する。また、キュー管理情
報テーブルから、当該メッセージに関連する情報を削除
し、オブジェクト受信応答メッセージを返送する。
【0151】(10)オブジェクトの手続き実行結果を
返す(ステップ1204)。
【0152】オブジェクト受信応答メッセージを受けた
非同期通信モジュール1006cの受信命令部は、メッセー
ジ内の伝達情報オブジェクト識別子6805に基づき、関連
する伝達情報オブジェクト分解処理部による処理を実行
して、非同期受信インタフェースの出力パラメータ列93
05rのフィールドに出力パラメータを設定する。
【0153】(実施例2)以下、図11、図12を参照
して、1対nの非同期通信処理の動作について詳細に説
明する。1対nの通信は、同じ手続きを実行するオブジ
ェクトが複数存在する場合に、1命令によって、複数オ
ブジェクトにメッセージを送る通信である。
【0154】本処理の大部分は、実施例1と同様の処理
内容であるため、相違点を中心に説明し、重複部分の記
載は極力避けて、理解の容易化を行なうように心掛け
る。
【0155】(1)キューオブジェクトを作成する(ス
テップ1101)。
【0156】本ステップの処理は、実施例1と、ほぼ同
様の手順で行われる。
【0157】相違点は、情報受信者となるアプリケーシ
ョンモジュールが、複数個存在することである。よっ
て、情報受信者となるアプリケーションモジュール毎
に、サーバ用キューオブジェクトを作成する。この結
果、ユーザオブジェクト管理情報1012として、1つのユ
ーザオブジェクト識別子に対して、複数のキューオブジ
ェクト識別子が登録されることになる。
【0158】(2)伝達情報オブジェクトの組立て/分
解手段を用意する(ステップ1102)。
【0159】本ステップの処理は、実施例1と、ほぼ同
様の手順で行われる。但し、情報受信者となる非同期通
信モジュール1006の総てに、送信伝達情報オブジェクト
分解部、受信伝達情報オブジェクト組立て部、手続き呼
出し部を配置する。
【0160】(3)メッセージをクライアント用キュー
オブジェクトに送る(ステップ1103)。
【0161】本ステップの処理は、実施例1と同様の手
順で行われる。
【0162】(4)メッセージをサーバ用キューオブジ
ェクトへ転送する(ステップ1104)。
【0163】まず、キュー管理機能モジュール1009の転
送命令部は、クライアント用キューオブジェクトの送信
メッセージ保管場所を調べる。送信されていない送信要
求メッセージがある場合には、メッセージ制御情報に従
ってメッセージを選択して、以下の処理を行う。
【0164】送信要求メッセージデータ部に設定されて
いる、宛先オブジェクト識別子に基づいて、ユーザオブ
ジェクトが使用する、サーバ用キューオブジェクトの識
別子を得る。これは、キュー問い合わせ命令を、ユーザ
オブジェクト管理モジュール1011宛に発行して得られ
る。1対nの通信の場合には、サーバ用キューオブジェ
クト識別子が、複数個返される。
【0165】そして、総てのサーバ用キューオブジェク
トに対して、以下実施例1と同様の手順で処理を行う。
【0166】(5)サーバ用キューオブジェクトからメ
ッセージを受け取る(ステップ1105)。
【0167】各々の非同期通信モジュール1006の手続き
呼び出し部が、非同期通信モジュール1006の受信命令部
に対して、オブジェクトの受信を依頼する。
【0168】以下、実施例1と同様の手順で処理を行
う。
【0169】(6)オブジェクトの手続きを呼び出す
(ステップ1106)。
【0170】実施例1と同様の手順で処理を行う。
【0171】(7)メッセージをサーバ用キューオブジ
ェクトに送る(ステップ1201)。
【0172】実施例1と同様の手順で処理を行う。
【0173】(8)メッセージをクライアント用キュー
オブジェクトへ転送する(ステップ1202)。実施例1と
同様の手順で処理を行う。
【0174】(9)メッセージをクライアントキューオ
ブジェクトから受け取る(ステップ1203)。実施例1と
ほぼ同様の手順で処理を行う。
【0175】実施例1との相違点は、受信メッセージ保
管場所に命令識別子に一致するメッセージが、複数個存
在することである。該当するメッセージを1つ取り出し
た後の残りのメッセージの処理方法は、キュー管理情報
1010のメッセージ制御情報を予め定めておくことによっ
て指定できる。例えば、メッセージ保管時間を指定する
場合、これにより、残りのメッセージは、保管時間時間
切れとなることによって、受信メッセージ保管場所から
削除できる。
【0176】(10)オブジェクトの手続き実行結果を
返す(ステップ1204)。
【0177】実施例1と同様の手順で処理を行う。
【0178】以上、説明したように、実施例1と同様の
手順によって、1対nの通信も、実行可能となる。
【0179】
【発明の効果】以上述べてきたように、本発明によれ
ば、クライアント側の送信手段と受信手段とは、独立し
た処理を行なうこととなるが、命令識別情報を使用する
ことによって、手続き実行要求と手続き実行結果との対
応付けを行なうことができる。
【0180】従来、例えば、数分単位以上の実行時間を
必要とする機能をサーバのサービスとして独立させ、ク
ライアント側が共用することができなかった。しかしな
がら、本発明によれば、クライアント送信機能を有する
クライアントプロセスと、クライアント受信機能を有す
るクライアントプロセス、サーバ受信/送信機能を有す
るサーバプロセスを、各々、別プロセスとして設け、サ
ーバの実行時間とクライアントの実行時間とを、独立さ
せたものとすることを可能とし、サーバのサービス提供
機能が拡大される。
【0181】さらに、本発明によれば、クライアント側
の転送手段は、要求情報の転送処理が可能な場合に、サ
ーバ用情報保管場所へ要求情報を転送することが可能と
なる。
【0182】また、従来、クライアントとして機能する
情報処理装置を、ネットワークから外した状態で、クラ
イアントからサーバへ要求情報を送ることができなかっ
た。
【0183】しかしながら、本発明によれば、クライア
ント送信機能を有するプロセス、クライアント転送機能
を有するプロセスを、クライアントとして機能する情報
処理装置に実行可能に設けた構成とし、クライアント転
送機能を有するプロセスを、クライアントとして機能す
る情報処理装置がネットワークに接続された時点で、要
求情報を転送させるように起動することが可能となるた
め、クライアントプロセスは、ネットワークの状態を考
慮せずに起動可能になる。
【図面の簡単な説明】
【図1】本発明の一実施例である非同期メッセージ通信
システムの構成図である。
【図2】本発明の概要を示す説明図である。
【図3】オブジェクト配置情報の説明図である。
【図4】キュー管理情報の説明図である。
【図5】メッセージのデータ形式の説明図である。
【図6】メッセージと、そのデータ部の構成例の説明図
である。
【図7】メッセージと、そのデータ部の構成例の説明図
である。
【図8】モジユール、命令、メッセージ、手続の関係を
表した説明図である。
【図9】ユーザオブジェクトの手続、同期型インタフェ
ース、および非同期型インタフェースの各例の説明図で
ある。
【図10】ユーザオブジェクト管理情報の説明図であ
る。
【図11】非同期型通信の手順を示すフローチャートで
ある。
【図12】非同期型通信の手順を示すフローチャートで
ある。
【符号の説明】
1001…伝送路、1002…計算機、1003…プロ
セス、1004…オブジェクト間通信モジュール、10
05…アプリケーションモジュール、1006…非同期
通信モジュール、1007…クライアントモジュール、
1008…ユーザオブジェクトモジュール、1009…
キュー管理機能モジュール、1010…キュー管理情
報、1011…ユーザオブジェクト管理モジュール、1
012…ユーザオブジェクト管理情報

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】クライアントプロセスとサーバプロセスの
    間でメッセージ通信を行なう方法であって、 クライアントプロセスがサーバプロセスへ送るメッセー
    ジ、および、クライアントプロセスがサーバプロセスか
    ら受け取る応答メッセージを保管するクライアント用情
    報保管部と、サーバプロセスがクライアントプロセスか
    ら受け取るメッセージ、および、サーバプロセスがクラ
    イアント送る応答メッセージを保管するサーバ用情報保
    管部を用意しておき、 クライアントプロセスが作成した任意のメッセージを、
    クライアントプロセスが前記クライアント用情報保管部
    へ送るクライアント側送信ステップと、前記クライアン
    ト用情報保管部から、前記任意のメッセージを獲得し、
    前記サーバ用情報保管部へ転送するクライアント側転送
    ステップと、転送されたメッセージを、サーバプロセス
    が、サーバ用情報保管部から受け取るサーバ側受信ステ
    ップとを備え、 さらに、 受けとったメッセージに対応する、所定の応答メッセー
    ジを、サーバプロセスがサーバ用情報保管部へ送るサー
    バ側送信ステップと、前記所定の応答メッセージを、サ
    ーバ用情報保管部から獲得し、クライアント用情報保管
    部へ転送するサーバ側転送ステップと、前記所定の応答
    メッセージを、クライアントプロセスがクライアント用
    情報保管部から受け取るクライアント用受信ステップと
    を備える、メッセージ通信方法。
  2. 【請求項2】請求項1において、クライアントプロセス
    とサーバプロセスの間で通信されるメッセージを加工す
    るステップを有し、該ステップは、 メッセージ中に、サーバが、サーバの提供機能を示す
    「手続き」を実行するために必要な情報(手続き実行情
    報)を組み込む実行要求組み込みステップと、組み込み
    処理されたメッセージから、前記手続き実行情報を抽出
    する実行要求抽出ステップと、手続き実行情報に基づい
    て、手続きを呼出す手続き呼出しステップと、応答メッ
    セージの中に、サーバの手続き実行結果を組み込む実行
    結果組み込みステップと、応答メッセージから、手続き
    実行結果を抽出する実行結果抽出ステップとを有するこ
    とを特徴とするメッセージ通信方法。
  3. 【請求項3】請求項1において、クライアントプロセス
    とサーバプロセスの間で通信されるメッセージを加工す
    るステップを有し、該ステップは、 クライアントプロセスが発行した各メッセージを識別す
    る命令識別情報、および、各メッセージに対応する応答
    メッセージの保管場所情報を、メッセージに付加するス
    テップであることを特徴とするメッセージ通信方法。
  4. 【請求項4】請求項1において、さらに、サーバプロセ
    スとサーバ用情報保管部との関連を記述したサーバ用情
    報保管管理部を用意しておき、 前記クライアント側転送ステップは、前記サーバ用情報
    保管管理部を参照し、対応するサーバプロセスのサーバ
    用情報保管部における存在場所を問い合わせるステップ
    を含むことを特徴とするメッセージ通信方法。
  5. 【請求項5】請求項1において、前記クライアント側転
    送ステップ、および、前記サーバ側転送ステップのうち
    少なくともいずれかにおいて、メッセージの転送処理が
    失敗した場合には、所定時間経過後に再試行することを
    繰り返すステップを含む、ことを特徴とするメッセージ
    通信方法。
  6. 【請求項6】クライアントプロセスとサーバプロセスの
    間でメッセージ通信を行なうシステムであって、 クライアントプロセスがサーバプロセスへ送るメッセー
    ジ、および、クライアントプロセスがサーバプロセスか
    ら受け取る応答メッセージを保管するクライアント用情
    報保管手段と、サーバプロセスがクライアントプロセス
    から受け取るメッセージ、および、サーバプロセスがク
    ライアント送る応答メッセージを保管するサーバ用情報
    保管手段と、クライアントプロセスが作成した任意のメ
    ッセージを、クライアントプロセスが前記クライアント
    用情報保管手段へ送るクライアント側送信手段と、前記
    クライアント用情報保管手段から、前記任意のメッセー
    ジを獲得し、前記サーバ用情報保管手段へ転送するクラ
    イアント側転送手段と、転送されたメッセージを、サー
    バプロセスが、サーバ用情報保管手段から受け取るサー
    バ側受信手段と、 受けとったメッセージに対応する、所定の応答メッセー
    ジを、サーバプロセスがサーバ用情報保管手段へ送るサ
    ーバ側送信手段と、前記所定の応答メッセージを、サー
    バ用情報保管手段から獲得し、クライアント用情報保管
    手段へ転送するサーバ側転送手段と、前記所定の応答メ
    ッセージを、クライアントプロセスがクライアント用情
    報保管手段から受け取るクライアント用受信手段とを有
    して構成される、メッセージ通信システム。
JP16097195A 1995-06-27 1995-06-27 メッセージ通信方法およびメッセージ通信システム Pending JPH0916417A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16097195A JPH0916417A (ja) 1995-06-27 1995-06-27 メッセージ通信方法およびメッセージ通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16097195A JPH0916417A (ja) 1995-06-27 1995-06-27 メッセージ通信方法およびメッセージ通信システム

Publications (1)

Publication Number Publication Date
JPH0916417A true JPH0916417A (ja) 1997-01-17

Family

ID=15726125

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16097195A Pending JPH0916417A (ja) 1995-06-27 1995-06-27 メッセージ通信方法およびメッセージ通信システム

Country Status (1)

Country Link
JP (1) JPH0916417A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100397503B1 (ko) * 2001-07-04 2003-09-13 엘지전자 주식회사 큐를 통한 클라이언트와 에이전트간의 트랜잭션순차인덱싱 방법
JP2006260588A (ja) * 1998-08-17 2006-09-28 Microsoft Corp 分散コンポーネントアプリケーションでの待機メソッド呼び出し方法
JP2007517279A (ja) * 2003-11-26 2007-06-28 インリア・インスティテュート・ナショナル・ドゥ・ルシェルチェ・アン・インフォマティック・エ・アン・アートマティック 通信オブジェクト間で結果を送信するための非同期自動デバイス及び方法
CN103649921A (zh) * 2011-06-30 2014-03-19 国际商业机器公司 促进通信环境的隔离存储空间之间的通信
JP2015082172A (ja) * 2013-10-22 2015-04-27 セイコーエプソン株式会社 送信システム、ホスト装置、及び、データ送信方法
US10032152B2 (en) 2013-10-22 2018-07-24 Seiko Epson Corporation Transmission system that enables correlation between a sending device and each of multiple receiving devices

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260588A (ja) * 1998-08-17 2006-09-28 Microsoft Corp 分散コンポーネントアプリケーションでの待機メソッド呼び出し方法
KR100397503B1 (ko) * 2001-07-04 2003-09-13 엘지전자 주식회사 큐를 통한 클라이언트와 에이전트간의 트랜잭션순차인덱싱 방법
JP2007517279A (ja) * 2003-11-26 2007-06-28 インリア・インスティテュート・ナショナル・ドゥ・ルシェルチェ・アン・インフォマティック・エ・アン・アートマティック 通信オブジェクト間で結果を送信するための非同期自動デバイス及び方法
CN103649921A (zh) * 2011-06-30 2014-03-19 国际商业机器公司 促进通信环境的隔离存储空间之间的通信
CN103649921B (zh) * 2011-06-30 2017-04-12 国际商业机器公司 用于促进通信环境中的通信的方法、装置和计算机系统
JP2015082172A (ja) * 2013-10-22 2015-04-27 セイコーエプソン株式会社 送信システム、ホスト装置、及び、データ送信方法
US10032152B2 (en) 2013-10-22 2018-07-24 Seiko Epson Corporation Transmission system that enables correlation between a sending device and each of multiple receiving devices

Similar Documents

Publication Publication Date Title
EP0978056B1 (en) Providing communications links in a computer network
US6202100B1 (en) Object linking and embedding over a computer network
JP2583027B2 (ja) トランザクション・メッセージを処理するための装置、システムおよび方法
US6275843B1 (en) Method and apparatus for processing multiple service requests within a global transaction by a single server application program instance
US6567848B1 (en) System for coordinating communication between a terminal requesting connection with another terminal while both terminals accessing one of a plurality of servers under the management of a dispatcher
US5790809A (en) Registry communications middleware
JP3427933B2 (ja) クライアント・サーバ・システムにおける長期トランザクションの処理
US6466968B2 (en) Information processing system capable of file transmission and information processing apparatus in the system
JPS62118465A (ja) 資源情報を伝播する方法
JP2002512400A (ja) 第1のトランザクション処理環境におけるコンポーネントを能動化して別の環境におけるリソースにアクセスするための方法および装置
US7373424B2 (en) Exactly once protocol for message-based collaboration
US6199111B1 (en) Client-led network computing system and its method
JPH11328066A (ja) ネットワ―ク管理演算のトランザクション支援のための装置、方法及びコンピュ―タプログラム製品
JP2004086299A (ja) トランザクション処理システムにおけるデータ操作永続化方法及びリモートデータベースに対するデータ操作プログラム
US6141679A (en) High performance distributed transaction processing methods and apparatus
WO1997040457A2 (en) System and method for data access
JPH0916417A (ja) メッセージ通信方法およびメッセージ通信システム
US6795824B1 (en) Independent storage architecture
US20030177279A1 (en) Creation of middleware adapters from paradigms
US6948001B1 (en) Modular software method for independent storage nodes
JP4129353B2 (ja) 分散データ管理システム、分散データ管理方法及び分散データ管理プログラム
JP3207644B2 (ja) 画像表示制御装置および画像描画装置および画像表示制御方法および画像描画方法
JP3842360B2 (ja) ワークフローの履歴情報取得方法及び履歴サーバの履歴情報取得方法及びワークフローの履歴情報取得システム及びワークフローサーバ及び履歴サーバ
JPH06348634A (ja) リモートプログラム起動方式
JPH05342123A (ja) ネットワークシステムのコマンド転送方式