(57)【特許請求の範囲】
【請求項１】
複数のプロセス間で、データ通信経路を介してメッセージ交換型通信によるデータ転送を行うメッセージ交換型通信システムにおいて、
前記複数のプロセスに、データ転送の際の通信待ち合わせ時に、複数の通信待ち合わせ方式を選択的に実行する機能を有するアプリケーション実行手段と、
過去の通信実績に基づいて前記アプリケーション実行手段によって実行する通信待ち合わせ方式を選択する通信待ち合わせ方式選択手段と、
前記過去の通信実績に基づいて算出された実績値と、通信待ち合わせ方式を選択する基準値とを設定したテーブルとを設け、
前記通信待ち合わせ方式選択手段は、前記テーブルを参照して複数の通信待ち合わせ方式のうちの１つを選択する、
ことを特徴とするメッセージ交換型通信システム。
【請求項２】
複数のプロセス間で、データ通信経路を介してメッセージ交換型通信によるデータ転送を行うメッセージ交換型通信システムにおいて、
前記複数のプロセスに、データ転送の際の通信待ち合わせ時に、複数の通信待ち合わせ方式を選択的に実行する機能を有するアプリケーション実行手段と、
過去の通信実績に基づいて前記アプリケーション実行手段によって実行する通信待ち合わせ方式を選択する通信待ち合わせ方式選択手段とを設け、
前記通信待ち合わせ方式選択手段は、通信を行う相手プロセス毎に異なる基準値によって複数の通信待ち合わせ方式のうちの１つを選択する、
ことを特徴とするメッセージ交換型通信システム。
【請求項３】
複数のプロセス間で、データ通信経路を介してメッセージ交換型通信によるデータ転送を行うメッセージ交換型通信システムにおいて、
前記複数のプロセスに、データ転送の際の通信待ち合わせ時に、複数の通信待ち合わせ方式を選択的に実行する機能を有するアプリケーション実行手段と、
過去の通信実績に基づいて前記アプリケーション実行手段によって実行する通信待ち合わせ方式を選択する通信待ち合わせ方式選択手段とを設け、
前記過去の通信実績は、送信時と受信時とで別々に算出されるものである、
ことを特徴とするメッセージ交換型通信システム。
【請求項４】
複数のプロセス間で、データ通信経路を介してメッセージ交換型通信によるデータ転送を行うメッセージ交換型通信システムにおいて、
前記複数のプロセスに、データ転送の際の通信待ち合わせ時に、複数の通信待ち合わせ方式を選択的に実行する機能を有するアプリケーション実行手段と、
過去の通信実績に基づいて前記アプリケーション実行手段によって実行する通信待ち合わせ方式を選択する通信待ち合わせ方式選択手段とを設け、
前記通信待ち合わせ方式選択手段は、システム全体の運用状態を反映した基準値によって複数の通信待ち合わせ方式のうちの１つを選択する、
ことを特徴とするメッセージ交換型通信システム。
【請求項５】
前記複数の通信待ち合わせ方式に、ビジーウエイト方式とサスペンド方式を含むことを特徴とする請求項１、２、３または４記載のメッセージ交換型通信システム。
【請求項６】
複数のプロセス間で、データ通信経路を介してメッセージ交換型通信によるデータ転送を行うメッセージ交換型通信システムの通信待ち合せ方法において、
アプリケーションプログラムによって通信待ち合わせを実行する場合に、過去の通信実績に基づいて複数の通信待ち合わせ方式のうちの１つを選択して実行するようにし、その際に、前記過去の通信実績に基づいて算出された実績値と、通信待ち合わせ方式を選択する基準値とを設定したテーブルを参照して複数の通信待ち合わせ方式のうちの１つを選択する、
ことを特徴とするメッセージ交換型通信システムの通信待ち合せ方法。
【請求項７】
複数のプロセス間で、データ通信経路を介してメッセージ交換型通信によるデータ転送を行うメッセージ交換型通信システムの通信待ち合せ方法において、
アプリケーションプログラムによって通信待ち合わせを実行する場合に、過去の通信実績に基づいて複数の通信待ち合わせ方式のうちの１つを選択して実行するようにし、その際に、通信を行う相手プロセス毎に異なる基準値によって複数の通信待ち合わせ方式のうちの１つを選択する、
ことを特徴とするメッセージ交換型通信システムの通信待ち合せ方法。
【請求項８】
複数のプロセス間で、データ通信経路を介してメッセージ交換型通信によるデータ転送を行うメッセージ交換型通信システムの通信待ち合せ方法において、
アプリケーションプログラムによって通信待ち合わせを実行する場合に、過去の通信実績に基づいて複数の通信待ち合わせ方式のうちの１つを選択して実行するようにし、前記過去の通信実績は、送信時と受信時とで別々に算出されるものである、
ことを特徴とするメッセージ交換型通信システムの通信待ち合せ方法。
【請求項９】
複数のプロセス間で、データ通信経路を介してメッセージ交換型通信によるデータ転送を行うメッセージ交換型通信システムの通信待ち合せ方法において、
アプリケーションプログラムによって通信待ち合わせを実行する場合に、過去の通信実績に基づいて複数の通信待ち合わせ方式のうちの１つを選択して実行するようにし、その際に、システム全体の運用状態を反映した基準値によって複数の通信待ち合わせ方式のうちの１つを選択する、
ことを特徴とするメッセージ交換型通信システムの通信待ち合せ方法。
【請求項１０】
前記複数の通信待ち合わせ方式に、ビジーウエイト方式とサスペンド方式を含むことを特徴とする請求項６、７、８、または９記載のメッセージ交換型通信システムの通信待ち合せ方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メッセージ交換型通信を行う通信システムに関し、特にその通信待ち合せ方法の改良に関する。
【０００２】
【従来の技術】
従来より、メッセージ交換型の通信システムでは、データを送信するプロセスとデータを受信するプロセスが共にデータ転送の動作を起こし、その対応が成立した時点で実際のデータ転送が行われる。
したがって、データ転送の動作を起こすタイミングに送信側プロセスと受信側プロセスとの間でズレが存在する場合、先にデータ転送動作を開始したプロセスは、対応するプロセスがデータ転送動作を開始するまで待たなければならない。これを通信待ち合わせと呼ぶ。
【０００３】
そして、一般に通信待ち合わせの方法としては、
（１）ビジーウェイト方式
（２）サスペンド方式
の２つの方式が知られている。
このうち、（１）のビジーウェイト方式は、通信が可能になるまで常にデータ通信経路を監視する方式である。このビジーウェイト方式では、相手側のプロセスで対応する転送の動作が開始された後、直ちにデータ転送を開始する。
一方、（２）のサスペンド方式は、通信待ちが必要であると判断された時点で、プログラムの実行を自ら停止する方式である。このサスペンド方式では、実行を停止したプロセスは自ら実行を再開することはせず、他のプロセスにより実行が再開されるまで、停止状態のまま通信待ち合わせ状態を保持する。
【０００４】
【発明が解決しようとする課題】
しかしながら、上述したビジーウェイト方式では、常にデータ通信経路を監視しているため、相手プロセスによる動作開始後、直ちにデータ転送を開始でき、性能面でサスペンド方式より有利であるものの、システム資源（特にＣＰＵ資源）  を通信待ち合わせの処理のために、通信待ち合わせの間、消費し続けることになるという問題がある。
一方、サスペンド方式は、通信待ち合わせの間、プログラムの実行を停止しているため、ＣＰＵ資源の消費は完全に抑えられるが、実行状態から停止状態への遷移、および、停止状態から実行状態への遷移のための処理が必要となり、通信待ち合わせにかかる負荷が増大し、その結果、通信性能の劣化へとつながる可能性がある。
【０００５】
そこで本発明の目的は、ビジーウェイト方式やサスペンド方式等の方式を有効に使い分けることにより、最適な通信待ち合わせを実現できるメッセージ交換型通信システム及びその通信待ち合せ方法を提供することにある。
【０００６】
【課題を解決するための手段】
本発明は前記目的を達成するため、複数のプロセス間で、データ通信経路を介してメッセージ交換型通信によるデータ転送を行うメッセージ交換型通信システムにおいて、前記複数のプロセスに、データ転送の際の通信待ち合わせ時に、複数の通信待ち合わせ方式を選択的に実行する機能を有するアプリケーション実行手段と、過去の通信実績に基づいて前記アプリケーション実行手段によって実行する通信待ち合わせ方式を選択する通信待ち合わせ方式選択手段と、前記過去の通信実績に基づいて算出された実績値と、通信待ち合わせ方式を選択する基準値とを設定したテーブルとを設け、前記通信待ち合わせ方式選択手段は、前記テーブルを参照して複数の通信待ち合わせ方式のうちの１つを選択することを特徴とする。
また本発明は、複数のプロセス間で、データ通信経路を介してメッセージ交換型通信によるデータ転送を行うメッセージ交換型通信システムにおいて、前記複数のプロセスに、データ転送の際の通信待ち合わせ時に、複数の通信待ち合わせ方式を選択的に実行する機能を有するアプリケーション実行手段と、過去の通信実績に基づいて前記アプリケーション実行手段によって実行する通信待ち合わせ方式を選択する通信待ち合わせ方式選択手段とを設け、前記通信待ち合わせ方式選択手段は、通信を行う相手プロセス毎に異なる基準値によって複数の通信待ち合わせ方式のうちの１つを選択することを特徴とする。
また本発明は、複数のプロセス間で、データ通信経路を介してメッセージ交換型通信によるデータ転送を行うメッセージ交換型通信システムにおいて、前記複数のプロセスに、データ転送の際の通信待ち合わせ時に、複数の通信待ち合わせ方式を選択的に実行する機能を有するアプリケーション実行手段と、過去の通信実績に基づいて前記アプリケーション実行手段によって実行する通信待ち合わせ方式を選択する通信待ち合わせ方式選択手段とを設け、前記過去の通信実績は、送信時と受信時とで別々に算出されるものであることを特徴とする。
また本発明は、複数のプロセス間で、データ通信経路を介してメッセージ交換型通信によるデータ転送を行うメッセージ交換型通信システムにおいて、前記複数のプロセスに、データ転送の際の通信待ち合わせ時に、複数の通信待ち合わせ方式を選択的に実行する機能を有するアプリケーション実行手段と、過去の通信実績に基づいて前記アプリケーション実行手段によって実行する通信待ち合わせ方式を選択する通信待ち合わせ方式選択手段とを設け、前記通信待ち合わせ方式選択手段は、システム全体の運用状態を反映した基準値によって複数の通信待ち合わせ方式のうちの１つを選択することを特徴とする。
また本発明は、複数のプロセス間で、データ通信経路を介してメッセージ交換型通信によるデータ転送を行うメッセージ交換型通信システムの通信待ち合せ方法において、アプリケーションプログラムによって通信待ち合わせを実行する場合に、過去の通信実績に基づいて複数の通信待ち合わせ方式のうちの１つを選択して実行するようにし、その際に、前記過去の通信実績に基づいて算出された実績値と、通信待ち合わせ方式を選択する基準値とを設定したテーブルを参照して複数の通信待ち合わせ方式のうちの１つを選択することを特徴とする。
また本発明は、複数のプロセス間で、データ通信経路を介してメッセージ交換型通信によるデータ転送を行うメッセージ交換型通信システムの通信待ち合せ方法において、アプリケーションプログラムによって通信待ち合わせを実行する場合に、過去の通信実績に基づいて複数の通信待ち合わせ方式のうちの１つを選択して実行するようにし、その際に、通信を行う相手プロセス毎に異なる基準値によって複数の通信待ち合わせ方式のうちの１つを選択することを特徴とする。
また本発明は、複数のプロセス間で、データ通信経路を介してメッセージ交換型通信によるデータ転送を行うメッセージ交換型通信システムの通信待ち合せ方法において、アプリケーションプログラムによって通信待ち合わせを実行する場合に、過去の通信実績に基づいて複数の通信待ち合わせ方式のうちの１つを選択して実行するようにし、前記過去の通信実績は、送信時と受信時とで別々に算出されるものであることを特徴とする。
また本発明は、複数のプロセス間で、データ通信経路を介してメッセージ交換型通信によるデータ転送を行うメッセージ交換型通信システムの通信待ち合せ方法において、アプリケーションプログラムによって通信待ち合わせを実行する場合に、過去の通信実績に基づいて複数の通信待ち合わせ方式のうちの１つを選択して実行するようにし、その際に、システム全体の運用状態を反映した基準値によって複数の通信待ち合わせ方式のうちの１つを選択することを特徴とする。
【０００７】
本発明によるメッセージ交換型通信では、各プロセスのアプリケーション実行手段がデータ転送を行う場合に、通信待ち合わせが発生した時、通信待ち合わせ方式選択手段が過去の通信実績に基づいて通信待ち合わせ方式を選択することから、アプリケーション実行手段では最適な通信待ち合わせ方式によって通信待ち合わせを行うことができる。
例えば、通信が頻繁に行われるプロセス間ではビジーウェイト方式  （通信待ち合わせ処理に伴うオーバーヘッドが少ない方式）  を選択し、通信が稀にしか発生しないプロセスの間ではサスペンド方式  （待ち合わせ処理中に必要とするＣＰＵ資源が少ない方式）  を選択する。
この結果、通信待ち合わ時における通信性能の劣化を防ぎ、同時にＣＰＵ資源の消費を抑えることが可能となる。
【０００８】
また、本発明によるメッセージ交換型通信システムの通信待ち合せ方法でも同様に、アプリケーションプログラムによって通信待ち合わせを実行する場合に、過去の通信実績に基づいて複数の通信待ち合わせ方式のうちの１つを選択して実行することから、最適な通信待ち合わせ方式によって通信待ち合わせを行うことができ、通信待ち合わ時における通信性能の劣化を防ぎ、同時にＣＰＵ資源の消費を抑えることが可能となる。
【０００９】
【発明の実施の形態】
以下、本発明によるメッセージ交換型通信システム及びその通信待ち合せ方法の実施の形態について説明する。
本実施の形態は、複数のプロセスから構成されるユーザアプリケーションプログラムの実行に関して、それら複数のプロセス間でのデータ転送の際に通信の待合せが発生した場合、最適な通信待ち合わせ方式を選択することにより、通信待ち合わせ処理に伴うオーバーヘッドによる通信性能の劣化、および、必要とするシステム資源  （特にＣＰＵ資源）  の増大、という２つの問題を同時に解決する手段を提供するものである。
本実施の形態によるメッセージ交換型通信システム及び通信待ち合せ方法では、各プロセス間のデータ転送の際に発生する通信待ち合わせの状態を監視し、その履歴を管理することにより、実行時に動的に待ち合わせ方式を変更し、通信が頻繁に行われるプロセス間ではビジーウェイト方式  （通信待ち合わせ処理に伴うオーバーヘッドが少ない方式）  を選択し、通信が稀にしか発生しないプロセスの間ではサスペンド方式  （待ち合わせ処理中に必要とするＣＰＵ資源が少ない方式）  を選択し、その結果、アプリケーションプログラムの実行に関して、通信性能の劣化を防ぎ、同時にＣＰＵ資源の消費を抑えることを可能にする。
【００１０】
さらに、通信待ち合わせは、送信の際にも受信の際にも同様に発生し得る。そこで、本形態では、通信待ち合わせ方式を送信と受信と別々に選択することで、より最適な通信待ち合わせ方式の選択を可能にする。
また、過去の通信発生状況および通信待ち合わせに要した時間から次の通信待ち合わせ方式を選択する場合に、プロセス間の通信や通信に伴う通信待ち合わせは、すべてのプロセス間で同じ程度発生するとは限らない。そこで、本形態では、各プロセスが備えている通信待ち合わせ方式を選択する手段が、全て同じ選択基準に基づくのではなく、プロセス毎に異なる選択基準を設定することにより、アプリケーションプログラム全体として最適な待ち合わせ方式へより早く到達できるようにするものである。
【００１１】
以下、本形態の具体的な実施例に基づいて、本発明によるメッセージ交換型通信システム及びその通信待ち合せ方法について説明する。
図１は、本発明の第１の実施例によるメッセージ交換型通信システムの構成例を示すブロック図である。
本形態によるメッセージ交換型通信システムは、ユーザアプリケーションを構成する複数のプロセス１（１−１、１−２、……、１−Ｎ）と、各プロセス１の間に存在するデータ通信経路２（２−１、２−２、……、２−Ｍ）とから構成される。
【００１２】
各プロセス１は、通信待ち合わせ方式の選択を行う通信待ち合わせ方式選択手段１１と、データの送受信動作を行うデータ転送手段１２とを有する。
データ通信経路２は、実際にデータを転送するために利用される経路２１と、データ通信経路２に接続されるプロセスの状態を示す状態フラグ２２（２２−１、２２−２）とを有する。この状態フラグ２２は、データ通信経路２の両端に接続される個々のプロセス１に対して設けられており、これによってデータ通信経路２は、両方のプロセスからアクセス可能である。
そして、各状態フラグ２２は、送信可能状態を示す送信可能フラグ２２１と、受信可能状態を示す受信可能フラグ２２２と、プロセスが実行停止状態にあることを示す実行停止状態フラグ２２３から構成されている。
【００１３】
図２は、各プロセス１の通信待ち合わせ方式選択手段１１が通信待ち合わせ方式を選択するために参照するテーブルの内容を示す説明図である。
このテーブルは、（１）通信回数、（２）通信待ち合わせ時間、（３）閾値の各項目から構成されており、これらの各項目の値を対象とするプロセスに対応したプロセス識別番号０、１、……、Ｎ−１に対応して設定したものである。
なお、本実施例で用いるテーブルは、送信と受信とで同じ設定データを用いるものである。
【００１４】
次に、図３は、本実施例におけるデータ転送手段の送信処理を説明するフローチャートであり、図４は、本実施例におけるデータ転送手段の受信処理を説明するフローチャートである。
以下、図１〜図４を参照して、本実施例の動作について詳細に説明する。
本実施例において、あるプロセスが他のプロセスとの間でデータ転送を行う場合、データ転送手段１２は、データ転送の対象プロセスとの間に存在するデータ通信経路２をデータ通信経路２−１〜２−Ｍから選択し、データ転送対象プロセス側の状態フラグ２２を参照する。
そして、この状態フラグ２２を参照することにより得られる情報を元にして、データ転送や待ち合わせ等の処理を実施する。
【００１５】
図３に示す送信処理では、まず最初に、送信先プロセスがデータ受信可能な状態にあるかどうかを調べ（ステップ１）、もし受信可能な状態になければ、次にステップ２において、送信先プロセスが送信待ちであるか否かを調べる。ここで、送信先プロセスが自プロセスに対して同様に送信待ちであれば、送信の衝突によるデッドロックを検出することができる（ステップ３）。
また、デッドロックが発生しないことが判明した後、ステップ４で図２のテーブルを参照し、過去の通信および待ち合わせ発生状態から待ち合わせ方式を選択し、ステップ５で自プロセスが送信待ちであることを示した後、ステップ６で待ち合わせ処理を実施する。この時、同時に待ち合わせに要する時間も計測する。そして、通信待ち合わせが終了した後、実際のデータ転送処理を実施する  （ステップ７）。
【００１６】
一方、送信先プロセスがすでに受信可能な状態にある場合、通信待ち合わせは必要ないが、送信先プロセスが通信待ち合わせのため自らの実行を停止している可能性があるので、状態フラグ２２を参照し（ステップ８）、もし、実行停止状態にあれば、実行を再開（ステップ９）した後、データ送信処理を実施する。
以上のようにしてデータ送信処理が完了した後、データ転送処理における通信待ち合わせ時間（ステップ８〜ステップ９を実行した場合は０とする）  により、テーブル内容の更新を行う（テップ１０）。
【００１７】
また、図４に示す受信処理では、まず最初に、送信元プロセスがデータ送信可能な状態にあるかどうかを調べ（ステップ２１）、もし送信可能な状態になければ、次にステップ２２において、送信元プロセスが受信待ちであるか否かを調べる。ここで、送信元プロセスが自プロセスからの送信を待っている状態であれば、双方の受信待ちによるデッドロックを検出できる（ステップ２３）。
また、デッドロックが発生しないことが判明した後、ステップ２４でテーブルを参照し、過去の通信および待ち合わせ発生状態から待ち合わせ方式を選択し、ステップ２５で自プロセスが受信待ち合わせ中であることを示した後、ステップ２６で待ち合わせ処理を実施する。この時、同時に待ち合わせに要する時間も計測する。そして、通信待ち合わせが終了した後、実際のデータ転送処理を実施する  （ステップ２７）。
【００１８】
一方、送信元プロセスがすでに送信可能な状態にある場合、通信待ち合わせは必要ないが、送信元プロセスが通信待ち合わせのため、自らの実行を停止している可能性があるので、状態フラグ２２を参照し（ステップ２８）、もし、実行停止状態にあれば、実行を再開（ステップ２９）した後、データ受信処理  （ステップ２７）を実施する。
以上のようにしてデータ受信処理を完了した後、データ転送処理における通信待ち合わせ時間（ステップ２８〜ステップ２９を実行した場合は０とする）により、テーブル内容の更新を行う（ステップ３０）。
【００１９】
次に、図３および図４のステップ２、２２で実施される通信待ち合わせ方式の決定方法について図２を参照しながら説明する。
まず、通信待ち合わせ方式は、図２のテーブル中の通信待ち時間（実績値）と閾値（基準値）を比較し、その結果により以下のように選択する。
（１）通信待ち時間≦閾値の場合には、ビジーウェイト方式を選択する。
（２）通信待ち時間＞閾値の場合には、サスペンド方式を選択する。
【００２０】
ここで、通信待ち時間は、過去に発生した通信における通信待ち合わせ時間から算出される値であり、その算出方法には種々の方法が考えられる。
最も代表的な値としては、過去の通信待ち合わせ時間の平均値を採る方法が考えられる。平均値を採用した場合、毎回の通信待ち合わせ時間にばらつきが少ない場合は、その計算が容易（計算に要するオーバーヘッドが少ない）なことから有効である。
一方、毎回の通信待ち合わせ時間にばらつきが大きい場合、平均値はそのプロセス間で発生する通信待ち合わせの特性を有効に表現するには不十分であり、この場合は、むしろ中央値などを採用することができる。
さらに、高度な手法を用いて通信待ち時間を計算することも可能である。その場合、通信待ち時間の計算に要する時間と、その値が実際の通信待ち合わせ発生状況と合致する度合との間のトレードオフとなる。
【００２１】
また、閾値の選択は、アプリケーションプログラムで選択することも可能であるが、しかし、アプリケーションプログラムだけの問題ではなく、アプリケーションプログラムを実行する計算機システム全体の運用方針による要因も考慮して設定されるべき値である。つまり、多くのアプリケーションが同時に同程度の優先度で実行されるような運用の下においては、この閾値は比較的小さな値に設定され、アプリケーションプログラムで発生する通信待ち合わせ時間が小さいうちから、サスペンド方式に移行する。また逆に、単一のアプリケーションプログラムが計算機システムを専有して実行できるような運用の下では、この閾値は大きな値（場合によっては無限大）  に設定される。
【００２２】
以上のような本発明の第１の実施例によれば、アプリケーションプログラムの実行中、動的に通信待ち合わせ方式を変更し、ビジーウェイト方式とサスペンド方式のうち、より適切な待ち合わせ方式を選択することができる。その結果、通信性能の低下を抑えつつ、通信待ち合わせ処理に必要なＣＰＵ資源の浪費を回避することができる。
これは、プロセス間での通信（特に通信待ち合わせ）  の発生を監視し、その情報を保存しておくことにより、次に通信待ち合わせが発生した際に、それ以前に発生した通信待ち合わせの状態を参照して、適切な待ち合わせ方式を選択することができるためである。
【００２３】
また、本実施例においては、図２のテーブルに示すように、通信待ち合わせ手段の選択基準となる閾値は、通信対象プロセス毎に異なる値を設定することが可能であり、これを利用することにより、特定のプロセス間では、通信待ち合わせ時間がある程度長くなる傾向になってもビジーウェイト方式を選択し、あるいは逆に、特定のプロセス間では、通信待ち合わせ時間が比較的短いうちにサスペンド方式へ移行することが可能となる。
その結果、より詳細にアプリケーションプログラムの通信特性（通信パターン）に適合した通信待ち合わせ方式の選択が可能となる。
また、本実施例では、図３に示すステップ２および図４に示すステップ２２における通信待ち合わせ方式の選択の結果、サスペンド方式が選択された場合、データ転送の対象となるプロセスもサスペンド方式による待ち合わせを行っているか否かを検査することにより、ステップ３、２３でデッドロックの検出が可能となり、その後の有効な対応をとることが可能となる。
【００２４】
次に、本発明の第２の実施例について説明する。
図５は、本発明の第２の実施例によるメッセージ交換型通信システムの構成例を示すブロック図であり、図６は、この第２の実施例において通信待ち合わせ選択手段が管理および参照するテーブルの具体例を示す説明図である。
図５に示すように、本実施例の通信待ち合わせ方式選択手段１１は、送信待ち合わせ方式選択手段１１１と受信待ち合わせ方式選択手段１１２とから構成されている。
すなわち、この実施例では、図１に示した通信待ち合わせ方式選択手段１１を、さらに送信用と受信用とで異なる選択手段１１１、１１２で構成することにより、転送の対象となるプロセスが同一であっても、送信と受信とで異なる通信待ち合わせ方式を選択することにより、よりきめ細かい、すなわち、より最適な通信待ち合わせ方式を選択することを可能としたものである。
【００２５】
また、このように通信待ち合わせ手段１１を送信と受信とで別々にすること伴い、図２に示したテーブルを図６に示すように送信と受信とで異なる情報を保持するように拡張したテーブルを利用する。すなわち、本実施例で参照するテーブルは、図２に示すテーブルの各項目を送信と受信とに分離して管理するものである。
なお、本実施例において、待ち合わせ方式を選択する場合の動作等は、送信時と受信時とで選択手段１１１、１１２とテーブルの参照場所を選択すること以外は、上述した第１の実施例と同様であるので、詳細は省略する。
【００２６】
【発明の効果】
以上説明したように本発明によるメッセージ交換型通信では、各プロセスのアプリケーション実行手段がデータ転送を行う場合に、通信待ち合わせが発生した時、通信待ち合わせ方式選択手段が過去の通信実績に基づいて通信待ち合わせ方式を選択するようにした。
このため、アプリケーション実行手段では最適な通信待ち合わせ方式によって通信待ち合わせを行うことができ、通信待ち合わ時における通信性能の劣化を防ぎ、同時にＣＰＵ資源の消費を抑えることが可能となる。
【００２７】
また、本発明によるメッセージ交換型通信システムの通信待ち合せ方法でも同様に、アプリケーションプログラムによって通信待ち合わせを実行する場合に、過去の通信実績に基づいて複数の通信待ち合わせ方式のうちの１つを選択して実行するようにした。
このため、最適な通信待ち合わせ方式によって通信待ち合わせを行うことができ、通信待ち合わ時における通信性能の劣化を防ぎ、同時にＣＰＵ資源の消費を抑えることが可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施例によるメッセージ交換型通信システムの構成例を示すブロック図である。
【図２】上記第１の実施例において通信待ち合わせ選択手段が管理および参照するテーブルの具体例を示す説明図である。
【図３】上記第１の実施例におけるデータ転送手段の送信処理を説明するフローチャートである。
【図４】上記第１の実施例におけるデータ転送手段の受信処理を説明するフローチャートである。
【図５】本発明の第２の実施例によるメッセージ交換型通信システムの構成例を示すブロック図である。
【図６】上記第２の実施例において通信待ち合わせ選択手段が管理および参照するテーブルの具体例を示す説明図である。
【符号の説明】
１−１、１−２、１−Ｎ……プロセス、２−１、２−２、２−Ｍ……データ通信経路、１１……通信待ち合わせ方式選択手段、１２……データ転送手段、２１……経路、２２−１、２２−２……状態フラグ、１１１……送信待ち合わせ方式選択手段、１１２……受信待ち合わせ方式選択手段、２２１……送信可能フラグ、２２２……受信可能フラグ、２２３……実行停止状態フラグ。
【図１】
0003599232.tif 000002
【図２】
0003599232.tif 000003
【図３】
0003599232.tif 000004
【図４】
0003599232.tif 000005
【図５】
0003599232.tif 000006
【図６】
0003599232.tif 000007