(57)【特許請求の範囲】
【請求項１】
ネットワーク上に配置された複数台の計算機のうち、送信側計算機となる一台の計算機から受信側計算機となる一台以上の計算機に同報通信をするための複数計算機間における通信プロトコルを選択する方法であって、
前記送信側計算機および前記受信側計算機に対してデータ通信手段、ネゴシエーション管理手段、ネゴシエーション通信手段およびアプリケーションを共通して設けるとともに、前記送信側計算機に対して更に通信プロトコル判定手段および通信相手管理手段を付加するようにし、
受信側計算機の前記ネゴシエーション管理手段は、通信を開始するとき、送信側計算機で使用する通信プロトコルを問い合わせるために、前記ネゴシエーション通信手段にネゴシエーション要求を通知し、当該ネゴシエーション通信手段より送信側計算機から送信された通信プロトコルを受け取り、前記データ通信手段に当該受け取った通信プロトコルの通信プロトコル設定要求を行い、
受信側計算機の前記ネゴシエーション通信手段は、前記ネゴシエーション管理手段から受け取ったネゴシエーション要求を送信側計算機の前記ネゴシエーション通信手段に送信し、送信側計算機の当該ネゴシエーション通信手段から送信されてきたネゴシエーション応答を受信し、当該受信したネゴシエーション応答を前記ネゴシエーション管理手段に通知し、
送信側計算機の前記ネゴシエーション管理手段は、前記ネゴシエーション通信手段から受け取ったネゴシエーション要求を前記通信プロトコル判定手段に通知して当該通信プロトコル判定手段から使用する通信プロトコルを受け取り、前記データ通信手段に対して使用する通信プロトコルの通信プロトコル設定要求を行い、受信側計算機に使用する通信プロトコルを通知するために前記ネゴシエーション通信手段にネゴシエーション応答要求を通知し、
送信側計算機の前記ネゴシエーション通信手段は、受信側計算機の前記ネゴシエーション通信手段から送信されてくるネゴシエーション要求を受信し、当該ネゴシエーション要求を前記ネゴシエーション管理手段に通知し、前記ネゴシエーション管理手段からのネゴシエーション応答要求を受け取り、前記受信側計算機のネゴシエーション通信手段に対してネゴシエーション応答を送信し、
前記通信プロトコル判定手段は、送信側計算機の前記ネゴシエーション管理手段からネゴシエーション要求を受け取り、前記通信相手管理手段に対してネゴシエーション要求に含まれる受信側計算機の情報を通知して、当該通信相手管理手段から受信側計算機の一覧データを取得し、当該一覧データの受信側計算機の計算機台数および計算機構成によるルールに従って通信プロトコルを選択し、当該選択した通信プロトコルを前記ネゴシエーション管理手段に通知し、
前記通信相手管理手段は、前記通信プロトコル判定手段からの受信側計算機の情報を受け取って受信側計算機の一覧データを更新し、前記通信プロトコル判定手段からの受信側計算機一覧データ取得要求に対して受信側計算機の一覧データを前記通信プロトコル判定手段に渡し、
送信側計算機の前記データ通信手段は、前記アプリケーションからのデータ送信要求を受け取り、受信側計算機の前記データ通信手段に対してデータを送信し、前記ネゴシエーション管理手段からの通信プロトコル設定要求を受け取った場合、データ送信のために使用する通信プロトコルの切り替えを行い、
受信側計算機の前記データ通信手段は、送信側計算機の前記データ通信手段から送信されてきたデータを受信し、前記アプリケーションに受信データを渡し、前記ネゴシエーション管理手段からの通信プロトコル変更通知を受け取った場合、データ受信のために使用する通信プロトコルの切り替えを行い、
送信側計算機の前記通信相手管理手段は、前記ネゴシエーション通信手段の受信側計算機との通信状態を監視し、受信側計算機の台数の変化を検出した場合、前記通信相手管理手段は受信側計算機の一覧データを更新し、前記通信プロトコル判定手段に通信プロトコルの再判定要求を行い、
送信側計算機の前記通信プロトコル判定手段は、最新の受信側計算機一覧データから通信プロトコルを再選択し、
送信側計算機の前記ネゴシエーション管理手段は、前記通信プロトコルの再選択により通信プロトコルが変更された場合、前記データ通信手段に通信プロトコル設定要求を行うとともに、前記ネゴシエーション通信手段に通信プロトコル変更通知を行い、
受信側計算機の前記ネゴシエーション通信手段は、送信側計算機から送信されてきた通信プロトコル変更通知を前記ネゴシエーション管理手段に通知し、
受信側計算機の前記ネゴシエーション管理手段は、通信プロトコル変更通知が既に選択された通信プロトコルと異なる場合、前記データ通信手段に対して通信プロトコル設定要求を行い、
受信側計算機で使用したい通信プロトコルを指定した場合、受信側計算機の前記ネゴシエーション管理手段は、ネゴシエーション要求として受信側計算機のアドレス情報に加えて通信プロトコルも送信し、
送信側計算機の前記通信プロトコル判定手段は、受信側計算機のアドレス情報及び通信プロトコルにより指定した通信プロトコルが利用可能か否か判定し、利用可能であれば指定した通信プロトコルを、利用不可能であれば利用可能な代替通信プロトコルをネゴシエーション応答として受信側計算機に送信することを特徴とする複数計算機間における通信プロトコルの動的選択方法。
【請求項２】
ネットワーク上に配置された複数台の計算機のうち、送信側計算機となる一台の計算機から受信側計算機となる一台以上の計算機に同報通信をするための複数計算機間における通信プロトコルを選択する方法であって、
前記送信側計算機および前記受信側計算機に対してデータ通信手段、ネゴシエーション管理手段、ネゴシエーション通信手段およびアプリケーションを共通して設けるとともに、前記送信側計算機に対して更に通信プロトコル判定手段および通信相手管理手段を付加するようにし、
受信側計算機の前記ネゴシエーション管理手段は、通信を開始するとき、送信側計算機で使用する通信プロトコルを問い合わせるために、前記ネゴシエーション通信手段にネゴシエーション要求を通知し、当該ネゴシエーション通信手段より送信側計算機から送信された通信プロトコルを受け取り、前記データ通信手段に当該受け取った通信プロトコルの通信プロトコル設定要求を行い、
受信側計算機の前記ネゴシエーション通信手段は、前記ネゴシエーション管理手段から受け取ったネゴシエーション要求を送信側計算機の前記ネゴシエーション通信手段に送信し、送信側計算機の当該ネゴシエーション通信手段から送信されてきたネゴシエーション応答を受信し、当該受信したネゴシエーション応答を前記ネゴシエーション管理手段に通知し、
送信側計算機の前記ネゴシエーション管理手段は、前記ネゴシエーション通信手段から受け取ったネゴシエーション要求を前記通信プロトコル判定手段に通知して当該通信プロトコル判定手段から使用する通信プロトコルを受け取り、前記データ通信手段に対して使用する通信プロトコルの通信プロトコル設定要求を行い、受信側計算機に使用する通信プロトコルを通知するために前記ネゴシエーション通信手段にネゴシエーション応答要求を通知し、
送信側計算機の前記ネゴシエーション通信手段は、受信側計算機の前記ネゴシエーション通信手段から送信されてくるネゴシエーション要求を受信し、当該ネゴシエーション要求を前記ネゴシエーション管理手段に通知し、前記ネゴシエーション管理手段からのネゴシエーション応答要求を受け取り、前記受信側計算機のネゴシエーション通信手段に対してネゴシエーション応答を送信し、
前記通信プロトコル判定手段は、送信側計算機の前記ネゴシエーション管理手段からネゴシエーション要求を受け取り、前記通信相手管理手段に対してネゴシエーション要求に含まれる受信側計算機の情報を通知して、当該通信相手管理手段から受信側計算機の一覧データを取得し、当該一覧データの受信側計算機の計算機台数および計算機構成によるルールに従って通信プロトコルを選択し、当該選択した通信プロトコルを前記ネゴシエーション管理手段に通知し、
前記通信相手管理手段は、前記通信プロトコル判定手段からの受信側計算機の情報を受け取って受信側計算機の一覧データを更新し、前記通信プロトコル判定手段からの受信側計算機一覧データ取得要求に対して受信側計算機の一覧データを前記通信プロトコル判定手段に渡し、
送信側計算機の前記データ通信手段は、前記アプリケーションからのデータ送信要求を受け取り、受信側計算機の前記データ通信手段に対してデータを送信し、前記ネゴシエーション管理手段からの通信プロトコル設定要求を受け取った場合、データ送信のために使用する通信プロトコルの切り替えを行い、
受信側計算機の前記データ通信手段は、送信側計算機の前記データ通信手段から送信されてきたデータを受信し、前記アプリケーションに受信データを渡し、前記ネゴシエーション管理手段からの通信プロトコル変更通知を受け取った場合、データ受信のために使用する通信プロトコルの切り替えを行い、
送信側計算機の前記通信相手管理手段は、前記ネゴシエーション通信手段の受信側計算機との通信状態を監視し、受信側計算機の台数の変化を検出した場合、前記通信相手管理手段は受信側計算機の一覧データを更新し、前記通信プロトコル判定手段に通信プロトコルの再判定要求を行い、
送信側計算機の前記通信プロトコル判定手段は、最新の受信側計算機一覧データから通信プロトコルを再選択し、
送信側計算機の前記ネゴシエーション管理手段は、前記通信プロトコルの再選択により通信プロトコルが変更された場合、前記データ通信手段に通信プロトコル設定要求を行うとともに、前記ネゴシエーション通信手段に通信プロトコル変更通知を行い、
受信側計算機の前記ネゴシエーション通信手段は、送信側計算機から送信されてきた通信プロトコル変更通知を前記ネゴシエーション管理手段に通知し、
受信側計算機の前記ネゴシエーション管理手段は、通信プロトコル変更通知が既に選択された通信プロトコルと異なる場合、前記データ通信手段に対して通信プロトコル設定要求を行い、
送信側計算機および受信側計算機は、双方間の通信品質を監視する通信品質監視手段をそれぞれ有し、
受信側計算機の前記通信品質監視手段は、前記データ通信手段のデータ受信状態を送信側計算機の前記通信品質監視手段に送信し、
送信側計算機の前記通信品質監視手段は、受信したデータ受信状態を通信品質一覧データファイルに格納し、データが届いていない受信側計算機を発見した場合、前記通信プロトコル判定部に対して受信側計算機を除いた計算機台数による通信プロトコルの再判定要求を行い、
前記通信プロトコル判定部は、再選択した通信プロトコルをネゴシエーション管理手段に通知し、
受信側計算機の前記通信品質監視手段は、前記データ通信手段のデータ受信時の通信品質を送信側計算機に送信し、選択された通信プロトコルで必要な通信品質を満たさない受信側計算機の通信プロトコルを、通信品質条件を満たす通信プロトコルに変更し、残りの受信側計算機に対して通信プロトコルの再選択を行うことを特徴とする複数計算機間における通信プロトコルの動的選択方法。
【請求項３】
ネットワーク上に配置された複数台の計算機のうち、送信側計算機となる一台の計算機から受信側計算機となる一台以上の計算機に同報通信をするための通信プロトコルを選択するようにしたシステムであって、
前記送信側計算機および前記受信側計算機には共通してデータ通信部、ネゴシエーション管理部、ネゴシエーション通信部およびアプリケーションを設けるとともに、前記送信側計算機に対して更に通信プロトコル判定部および通信相手管理部を付加するようにし、
前記受信側計算機のネゴシエーション管理部は、通信を開始するとき、送信側計算機で使用する通信プロトコルを問い合わせるために、前記ネゴシエーション通信部にネゴシエーション要求を通知し、当該ネゴシエーション通信部より送信側計算機から送信された通信プロトコルを受け取り、前記データ通信部に当該受け取った通信プロトコルの通信プロトコル設定要求を行い、
前記受信側計算機のネゴシエーション通信部は、前記ネゴシエーション管理部から受け取ったネゴシエーション要求を送信側計算機の前記ネゴシエーション通信部に送信し、当該送信側計算機のネゴシエーション通信部から送信されてきたネゴシエーション応答を受信し、当該受信したネゴシエーション応答を前記ネゴシエーション管理部に通知し、
前記送信側計算機のネゴシエーション管理部は、前記ネゴシエーション通信部から受け取ったネゴシエーション要求を通信プロトコル判定部に通知して当該通信プロトコル判定部から使用する通信プロトコルを受け取り、前記データ通信部に対して使用する通信プロトコルの通信プロトコル設定要求を行い、受信側計算機に使用するプロトコルを通知するためにネゴシエーション通信部にネゴシエーション応答要求を通知し、
前記送信側計算機のネゴシエーション通信部は、受信側計算機の前記ネゴシエーション通信部から送信されてくるネゴシエーション要求を受信し、当該ネゴシエーション要求を前記ネゴシエーション管理部に通知し、前記ネゴシエーション管理部からのネゴシエーション応答要求を受け取り、前記受信側計算機のネゴシエーション通信部へネゴシエーション応答を送信し、
前記通信プロトコル判定部は、送信側計算機の前記ネゴシエーション管理部からネゴシエーション要求を受け取り、前記通信相手管理部に対してネゴシエーション要求に含まれる受信側計算機の情報を通知して、当該通信相手管理部から受信側計算機の一覧データを取得し、当該一覧データの受信側計算機の計算機台数および計算機構成によるルールに従って通信プロトコルを選択し、当該選択した通信プロトコルを前記ネゴシエーション管理部に通知し、
前記通信相手管理部は、前記通信プロトコル判定部からの受信側計算機の情報を受け取って受信側計算機の一覧データを更新し、前記通信プロトコル判定部からの受信側計算機一覧データ取得要求に対して受信側計算機の一覧データを前記通信プロトコル判定部に渡し、
送信側計算機の前記データ通信部は、前記アプリケーションからのデータ送信要求を受け取り、受信側計算機の前記データ通信部に対してデータを送信し、前記ネゴシエーション管理部からの通信プロトコル設定要求を受け取った場合、データ送信のために使用する通信プロトコルの切り替えを行い、
受信側計算機の前記データ通信部は、送信側計算機の前記データ通信部から送信されてきたデータを受信し、前記アプリケーションに受信データを渡し、前記ネゴシエーション管理部からの通信プロトコル変更通知を受け取った場合、データ受信のために使用する通信プロトコルの切り替えを行い、
送信側計算機の前記通信相手管理部は、前記ネゴシエーション通信部の受信側計算機との通信状態を監視し、受信側計算機の台数の変化を検出した場合、前記通信相手管理部は受信側計算機の一覧を更新し、前記通信プロトコル判定部に通信プロトコルの再判定要求を行い、
送信側計算機の前記通信プロトコル判定部は、最新の受信側計算機一覧データから通信プロトコルを再選択し、
送信側計算機の前記ネゴシエーション管理部は、前記通信プロトコルの再選択により通信プロトコルが変更された場合、前記データ通信部に通信プロトコル設定要求を行うとともに、前記ネゴシエーション通信部に通信プロトコル変更通知を行い、
受信側計算機の前記ネゴシエーション通信部は、送信側計算機から送信されてきた通信プロトコル変更通知を前記ネゴシエーション管理部に通知し、
受信側計算機の前記ネゴシエーション管理部は、通信プロトコル変更通知が既に選択された通信プロトコルと異なる場合、前記データ通信部に対して通信プロトコル設定要求を行い、
受信側計算機で使用したい通信プロトコルを指定した場合、受信側計算機の前記ネゴシエーション管理部は、ネゴシエーション要求として受信側計算機のアドレス情報に加えて通信プロトコルも送信し、
前記送信側計算機の通信プロトコル判定部は、受信側計算機のアドレス情報及び通信プロトコルにより指定した通信プロトコルが利用可能か否か判定し、利用可能であれば指定した通信プロトコルを、利用不可能であれば利用可能な代替通信プロトコルをネゴシエーション応答として受信側計算機に送信することを特徴とする複数計算機間における通信プロトコルの動的選択システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数計算機間における通信プロトコルの動的選択方法および動的選択システムに係り、特にＯＳＩ参照モデルにおけるトランスポート層のプロトコルの動的選択方法および動的選択システムに関する。
【背景技術】
【０００２】
一台の計算機から複数台の計算機に同報通信を行う場合、利用可能な通信プロトコルとしては、ＯＳＩ(Open Systems Interconnect)参照モデルの第３層（ネットワーク層）の通信プロトコルであるＴＣＰやＵＤＰでのブロードキャスト通信、マルチキャスト通信等がある。それぞれの通信プロトコルを利用するにあたってはメリットあるいはデメリットが生じる。
【０００３】
これら通信プロトコルのうち、どの通信プロトコルを利用するかについては、通常、アプリケーション開発時に決定し、アプリケーションの実装についても通信プロトコルに依存するものを作成している。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述したように、アプリケーション開発時に使用する通信プロトコルを決定した場合、アプリケーションを実装する際、通信プロトコルに依存するため、使用する通信プロトコルを変更するたびにアプリケーションを開発する必要があり、アプリケーションの生産性が悪い。
【０００５】
また、通信対象の計算機台数が変化する場合、通信を行う計算機によって回線品質等の通信環境も異なるため、特定の通信プロトコルを利用することにより、計算機の台数増加による計算機負荷、通信負荷、リソース使用量が増大する。
【０００６】
さらに、通信環境の異なる計算機の間で通信することにより、回線品質が悪い計算機については再送が頻発し、通信負荷が増大する恐れがある。このため、計算機の台数およびネットワーク内の配置により適切な通信プロトコルを選択する必要があった。
【０００７】
本発明は、上述した従来技術の問題点を解決するためになされたものであり、その目的とするところは、通信環境の異なる複数の計算機間での一斉同報通信に際して、ＯＳＩ参照モデルのセッション層に相当する論理的な通信路の制御を行うものであり、トランスポート層の通信プロトコルに関する通信の開始、終了および通信プロトコルの切り替えを、通信環境の変化に対して動的に行うことにより、アプリケーションからトランスポート層通信プロトコルを隠蔽するような複数計算機間における通信プロトコルの動的切替方法および動的選択システムを提供することにある。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、請求項１に係る発明は、ネットワーク上に配置された複数台の計算機のうち、送信側計算機となる一台の計算機から受信側計算機となる一台以上の計算機に同報通信をするための複数計算機間における通信プロトコルを選択する方法であって、前記送信側計算機および前記受信側計算機に対してデータ通信手段、ネゴシエーション管理手段、ネゴシエーション通信手段およびアプリケーションを共通して設けるとともに、前記送信側計算機に対して更に通信プロトコル判定手段および通信相手管理手段を付加するようにし、受信側計算機の前記ネゴシエーション管理手段は、通信を開始するとき、送信側計算機で使用する通信プロトコルを問い合わせるために、前記ネゴシエーション通信手段にネゴシエーション要求を通知し、当該ネゴシエーション通信手段より送信側計算機から送信された通信プロトコルを受け取り、前記データ通信手段に当該受け取った通信プロトコルの通信プロトコル設定要求を行い、受信側計算機の前記ネゴシエーション通信手段は、前記ネゴシエーション管理手段から受け取ったネゴシエーション要求を送信側計算機の前記ネゴシエーション通信手段に送信し、送信側計算機の当該ネゴシエーション通信手段から送信されてきたネゴシエーション応答を受信し、当該受信したネゴシエーション応答を前記ネゴシエーション管理手段に通知し、送信側計算機の前記ネゴシエーション管理手段は、前記ネゴシエーション通信手段から受け取ったネゴシエーション要求を前記通信プロトコル判定手段に通知して当該通信プロトコル判定手段から使用する通信プロトコルを受け取り、前記データ通信手段に対して使用する通信プロトコルの通信プロトコル設定要求を行い、受信側計算機に使用する通信プロトコルを通知するために前記ネゴシエーション通信手段にネゴシエーション応答要求を通知し、送信側計算機の前記ネゴシエーション通信手段は、受信側計算機の前記ネゴシエーション通信手段から送信されてくるネゴシエーション要求を受信し、当該ネゴシエーション要求を前記ネゴシエーション管理手段に通知し、前記ネゴシエーション管理手段からのネゴシエーション応答要求を受け取り、前記受信側計算機のネゴシエーション通信手段に対してネゴシエーション応答を送信し、前記通信プロトコル判定手段は、送信側計算機の前記ネゴシエーション管理手段からネゴシエーション要求を受け取り、前記通信相手管理手段に対してネゴシエーション要求に含まれる受信側計算機の情報を通知して、当該通信相手管理手段から受信側計算機の一覧データを取得し、当該一覧データの受信側計算機の計算機台数および計算機構成によるルールに従って通信プロトコルを選択し、当該選択した通信プロトコルを前記ネゴシエーション管理手段に通知し、前記通信相手管理手段は、前記通信プロトコル判定手段からの受信側計算機の情報を受け取って受信側計算機の一覧データを更新し、前記通信プロトコル判定手段からの受信側計算機一覧データ取得要求に対して受信側計算機の一覧データを前記通信プロトコル判定手段に渡し、送信側計算機の前記データ通信手段は、前記アプリケーションからのデータ送信要求を受け取り、受信側計算機の前記データ通信手段に対してデータを送信し、前記ネゴシエーション管理手段からの通信プロトコル設定要求を受け取った場合、データ送信のために使用する通信プロトコルの切り替えを行い、受信側計算機の前記データ通信手段は、送信側計算機の前記データ通信手段から送信されてきたデータを受信し、前記アプリケーションに受信データを渡し、前記ネゴシエーション管理手段からの通信プロトコル変更通知を受け取った場合、データ受信のために使用する通信プロトコルの切り替えを行い、送信側計算機の前記通信相手管理手段は、前記ネゴシエーション通信手段の受信側計算機との通信状態を監視し、受信側計算機の台数の変化を検出した場合、前記通信相手管理手段は受信側計算機の一覧データを更新し、前記通信プロトコル判定手段に通信プロトコルの再判定要求を行い、送信側計算機の前記通信プロトコル判定手段は、最新の受信側計算機一覧データから通信プロトコルを再選択し、送信側計算機の前記ネゴシエーション管理手段は、前記通信プロトコルの再選択により通信プロトコルが変更された場合、前記データ通信手段に通信プロトコル設定要求を行うとともに、前記ネゴシエーション通信手段に通信プロトコル変更通知を行い、受信側計算機の前記ネゴシエーション通信手段は、送信側計算機から送信されてきた通信プロトコル変更通知を前記ネゴシエーション管理手段に通知し、受信側計算機の前記ネゴシエーション管理手段は、通信プロトコル変更通知が既に選択された通信プロトコルと異なる場合、前記データ通信手段に対して通信プロトコル設定要求を行い、受信側計算機で使用したい通信プロトコルを指定した場合、受信側計算機の前記ネゴシエーション管理手段は、ネゴシエーション要求として受信側計算機のアドレス情報に加えて通信プロトコルも送信し、送信側計算機の前記通信プロトコル判定手段は、受信側計算機のアドレス情報及び通信プロトコルにより指定した通信プロトコルが利用可能か否か判定し、利用可能であれば指定した通信プロトコルを、利用不可能であれば利用可能な代替通信プロトコルをネゴシエーション応答として受信側計算機に送信することを特徴とする。
【０００９】
また、請求項２に係る発明は、ネットワーク上に配置された複数台の計算機のうち、送信側計算機となる一台の計算機から受信側計算機となる一台以上の計算機に同報通信をするための複数計算機間における通信プロトコルを選択する方法であって、前記送信側計算機および前記受信側計算機に対してデータ通信手段、ネゴシエーション管理手段、ネゴシエーション通信手段およびアプリケーションを共通して設けるとともに、前記送信側計算機に対して更に通信プロトコル判定手段および通信相手管理手段を付加するようにし、受信側計算機の前記ネゴシエーション管理手段は、通信を開始するとき、送信側計算機で使用する通信プロトコルを問い合わせるために、前記ネゴシエーション通信手段にネゴシエーション要求を通知し、当該ネゴシエーション通信手段より送信側計算機から送信された通信プロトコルを受け取り、前記データ通信手段に当該受け取った通信プロトコルの通信プロトコル設定要求を行い、受信側計算機の前記ネゴシエーション通信手段は、前記ネゴシエーション管理手段から受け取ったネゴシエーション要求を送信側計算機の前記ネゴシエーション通信手段に送信し、送信側計算機の当該ネゴシエーション通信手段から送信されてきたネゴシエーション応答を受信し、当該受信したネゴシエーション応答を前記ネゴシエーション管理手段に通知し、送信側計算機の前記ネゴシエーション管理手段は、前記ネゴシエーション通信手段から受け取ったネゴシエーション要求を前記通信プロトコル判定手段に通知して当該通信プロトコル判定手段から使用する通信プロトコルを受け取り、前記データ通信手段に対して使用する通信プロトコルの通信プロトコル設定要求を行い、受信側計算機に使用する通信プロトコルを通知するために前記ネゴシエーション通信手段にネゴシエーション応答要求を通知し、送信側計算機の前記ネゴシエーション通信手段は、受信側計算機の前記ネゴシエーション通信手段から送信されてくるネゴシエーション要求を受信し、当該ネゴシエーション要求を前記ネゴシエーション管理手段に通知し、前記ネゴシエーション管理手段からのネゴシエーション応答要求を受け取り、前記受信側計算機のネゴシエーション通信手段に対してネゴシエーション応答を送信し、前記通信プロトコル判定手段は、送信側計算機の前記ネゴシエーション管理手段からネゴシエーション要求を受け取り、前記通信相手管理手段に対してネゴシエーション要求に含まれる受信側計算機の情報を通知して、当該通信相手管理手段から受信側計算機の一覧データを取得し、当該一覧データの受信側計算機の計算機台数および計算機構成によるルールに従って通信プロトコルを選択し、当該選択した通信プロトコルを前記ネゴシエーション管理手段に通知し、前記通信相手管理手段は、前記通信プロトコル判定手段からの受信側計算機の情報を受け取って受信側計算機の一覧データを更新し、前記通信プロトコル判定手段からの受信側計算機一覧データ取得要求に対して受信側計算機の一覧データを前記通信プロトコル判定手段に渡し、送信側計算機の前記データ通信手段は、前記アプリケーションからのデータ送信要求を受け取り、受信側計算機の前記データ通信手段に対してデータを送信し、前記ネゴシエーション管理手段からの通信プロトコル設定要求を受け取った場合、データ送信のために使用する通信プロトコルの切り替えを行い、受信側計算機の前記データ通信手段は、送信側計算機の前記データ通信手段から送信されてきたデータを受信し、前記アプリケーションに受信データを渡し、前記ネゴシエーション管理手段からの通信プロトコル変更通知を受け取った場合、データ受信のために使用する通信プロトコルの切り替えを行い、送信側計算機の前記通信相手管理手段は、前記ネゴシエーション通信手段の受信側計算機との通信状態を監視し、受信側計算機の台数の変化を検出した場合、前記通信相手管理手段は受信側計算機の一覧データを更新し、前記通信プロトコル判定手段に通信プロトコルの再判定要求を行い、送信側計算機の前記通信プロトコル判定手段は、最新の受信側計算機一覧データから通信プロトコルを再選択し、送信側計算機の前記ネゴシエーション管理手段は、前記通信プロトコルの再選択により通信プロトコルが変更された場合、前記データ通信手段に通信プロトコル設定要求を行うとともに、前記ネゴシエーション通信手段に通信プロトコル変更通知を行い、受信側計算機の前記ネゴシエーション通信手段は、送信側計算機から送信されてきた通信プロトコル変更通知を前記ネゴシエーション管理手段に通知し、受信側計算機の前記ネゴシエーション管理手段は、通信プロトコル変更通知が既に選択された通信プロトコルと異なる場合、前記データ通信手段に対して通信プロトコル設定要求を行い、送信側計算機および受信側計算機は、双方間の通信品質を監視する通信品質監視手段をそれぞれ有し、受信側計算機の前記通信品質監視手段は、前記データ通信手段のデータ受信状態を送信側計算機の前記通信品質監視手段に送信し、送信側計算機の前記通信品質監視手段は、受信したデータ受信状態を通信品質一覧データファイルに格納し、データが届いていない受信側計算機を発見した場合、前記通信プロトコル判定部に対して受信側計算機を除いた計算機台数による通信プロトコルの再判定要求を行い、前記通信プロトコル判定部は、再選択した通信プロトコルをネゴシエーション管理手段に通知し、受信側計算機の前記通信品質監視手段は、前記データ通信手段のデータ受信時の通信品質を送信側計算機に送信し、選択された通信プロトコルで必要な通信品質を満たさない受信側計算機の通信プロトコルを、通信品質条件を満たす通信プロトコルに変更し、残りの受信側計算機に対して通信プロトコルの再選択を行うことを特徴とする。
【００１０】
さらに、請求項３に係る発明は、ネットワーク上に配置された複数台の計算機のうち、送信側計算機となる一台の計算機から受信側計算機となる一台以上の計算機に同報通信をするための通信プロトコルを選択するようにしたシステムであって、前記送信側計算機および前記受信側計算機には共通してデータ通信部、ネゴシエーション管理部、ネゴシエーション通信部およびアプリケーションを設けるとともに、前記送信側計算機に対して更に通信プロトコル判定部および通信相手管理部を付加するようにし、前記受信側計算機のネゴシエーション管理部は、通信を開始するとき、送信側計算機で使用する通信プロトコルを問い合わせるために、前記ネゴシエーション通信部にネゴシエーション要求を通知し、当該ネゴシエーション通信部より送信側計算機から送信された通信プロトコルを受け取り、前記データ通信部に当該受け取った通信プロトコルの通信プロトコル設定要求を行い、前記受信側計算機のネゴシエーション通信部は、前記ネゴシエーション管理部から受け取ったネゴシエーション要求を送信側計算機の前記ネゴシエーション通信部に送信し、当該送信側計算機のネゴシエーション通信部から送信されてきたネゴシエーション応答を受信し、当該受信したネゴシエーション応答を前記ネゴシエーション管理部に通知し、前記送信側計算機のネゴシエーション管理部は、前記ネゴシエーション通信部から受け取ったネゴシエーション要求を通信プロトコル判定部に通知して当該通信プロトコル判定部から使用する通信プロトコルを受け取り、前記データ通信部に対して使用する通信プロトコルの通信プロトコル設定要求を行い、受信側計算機に使用するプロトコルを通知するためにネゴシエーション通信部にネゴシエーション応答要求を通知し、前記送信側計算機のネゴシエーション通信部は、受信側計算機の前記ネゴシエーション通信部から送信されてくるネゴシエーション要求を受信し、当該ネゴシエーション要求を前記ネゴシエーション管理部に通知し、前記ネゴシエーション管理部からのネゴシエーション応答要求を受け取り、前記受信側計算機のネゴシエーション通信部へネゴシエーション応答を送信し、前記通信プロトコル判定部は、送信側計算機の前記ネゴシエーション管理部からネゴシエーション要求を受け取り、前記通信相手管理部に対してネゴシエーション要求に含まれる受信側計算機の情報を通知して、当該通信相手管理部から受信側計算機の一覧データを取得し、当該一覧データの受信側計算機の計算機台数および計算機構成によるルールに従って通信プロトコルを選択し、当該選択した通信プロトコルを前記ネゴシエーション管理部に通知し、前記通信相手管理部は、前記通信プロトコル判定部からの受信側計算機の情報を受け取って受信側計算機の一覧データを更新し、前記通信プロトコル判定部からの受信側計算機一覧データ取得要求に対して受信側計算機の一覧データを前記通信プロトコル判定部に渡し、送信側計算機の前記データ通信部は、前記アプリケーションからのデータ送信要求を受け取り、受信側計算機の前記データ通信部に対してデータを送信し、前記ネゴシエーション管理部からの通信プロトコル設定要求を受け取った場合、データ送信のために使用する通信プロトコルの切り替えを行い、受信側計算機の前記データ通信部は、送信側計算機の前記データ通信部から送信されてきたデータを受信し、前記アプリケーションに受信データを渡し、前記ネゴシエーション管理部からの通信プロトコル変更通知を受け取った場合、データ受信のために使用する通信プロトコルの切り替えを行い、送信側計算機の前記通信相手管理部は、前記ネゴシエーション通信部の受信側計算機との通信状態を監視し、受信側計算機の台数の変化を検出した場合、前記通信相手管理部は受信側計算機の一覧を更新し、前記通信プロトコル判定部に通信プロトコルの再判定要求を行い、送信側計算機の前記通信プロトコル判定部は、最新の受信側計算機一覧データから通信プロトコルを再選択し、送信側計算機の前記ネゴシエーション管理部は、前記通信プロトコルの再選択により通信プロトコルが変更された場合、前記データ通信部に通信プロトコル設定要求を行うとともに、前記ネゴシエーション通信部に通信プロトコル変更通知を行い、受信側計算機の前記ネゴシエーション通信部は、送信側計算機から送信されてきた通信プロトコル変更通知を前記ネゴシエーション管理部に通知し、受信側計算機の前記ネゴシエーション管理部は、通信プロトコル変更通知が既に選択された通信プロトコルと異なる場合、前記データ通信部に対して通信プロトコル設定要求を行い、受信側計算機で使用したい通信プロトコルを指定した場合、受信側計算機の前記ネゴシエーション管理部は、ネゴシエーション要求として受信側計算機のアドレス情報に加えて通信プロトコルも送信し、前記送信側計算機の通信プロトコル判定部は、受信側計算機のアドレス情報及び通信プロトコルにより指定した通信プロトコルが利用可能か否か判定し、利用可能であれば指定した通信プロトコルを、利用不可能であれば利用可能な代替通信プロトコルをネゴシエーション応答として受信側計算機に送信することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、送信側計算機が受信側計算機の台数および計算機構成に応じてデータ通信で使用する通信プロトコルを自動的に選択するため、計算機構成に対応した最適な通信プロトコルを使用することができ、これにより計算機負荷、通信負荷、リソース使用量を低減することができる。また、送信側計算機および受信側計算機で動作するアプリケーションは通信プロトコルを意識することなく通信が行えるため、通信プロトコルに依存した通信処理手順を記述する必要がなく、アプリケーションの生産性向上が期待できる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明に係る複数計算機間における通信プロトコルの動的選択方法、動的選択システムおよびそのプログラムの実施の形態について図面を参照して説明するが、まずその前に本明細書で用いる主な用語について説明する。
【００１３】
（１）送信側計算機
受信側計算機へデータを送信するアプリケーションが動作する計算機。
【００１４】
（２）受信側計算機
送信側計算機から送信されたデータを受信するアプリケーションが動作する計算機。
【００１５】
（３）オートネゴシエーション
送信側計算機と受信側計算機間でお互いの情報を遣り取りすることにより、データ通で使用する通信プロトコルを決定する処理。受信側計算機からのネゴシエーション要求とそれに対するネゴシエーション応答によりネゴシエーションを行う。
【００１６】
（４）通信相手
送信側計算機からみて受信側計算機、またはその逆を指す。本発明では、送信側計算機から見た受信側計算機のことを指す。
【００１７】
（５）通信品質
計算機間のデータ通信が損失なしに行われているかを示すもの。受信側計算機での再送要求送信頻度が実際例である。
【００１８】
（６）通信状態
計算機間でのデータ通信が正常に行われているかを示すもの。通信状態が悪いとは、送信側計算機が送信したデータが受信側計算機に届かない状況を指す。
【００１９】
（７）一斉同報通信
送信が複数の計算機に対して同時一斉に行われる。受信側の受信状況に関わらず送信する一方的な通信である。複数の計算機が、特定のグループである場合と、不特定多数である場合がある。ＩＰ網では、マルチキャスト通信マルチブロードキャスト通信が実際例である。
【００２０】
（実施の形態１）
図１ないし図９を参照して本発明の実施の形態１に係る複数計算機間における通信プロトコルの動的選択システムについて説明する。
【００２１】
（構成）
図１は本発明の実施の形態１に係る複数計算機間における通信プロトコルの動的選択システム構成図である。なお、実施の形態２以降のシステム構成図においても、送信側計算機およびその構成部品（機能）には添字符号（−Ｓ）を、また、受信側計算機およびその構成部品（機能）には添字符号（−Ｒ）をそれぞれ付けて区別する。
【００２２】
図１を参照して、本実施の形態１のシステム構成から説明する。  
送信側計算機ＰＣ−Ｓは、ネゴシエーション管理部11−Ｓと、ネゴシエーション通信部12−Ｓと、通信プロトコル判定部13−Ｓと、通信相手管理部14−Ｓと、通信相手一覧データファイル15−Ｓと、ネゴシエーション情報ファイル16−Ｓと、通信プロトコル一覧データファイル17−Ｓと、データ用通信部18−Ｓと、アプリケーション19−Ｓとを備えている。
【００２３】
これに対して、受信側計算機ＰＣ−Ｒは、ネゴシエーション管理部11−Ｒと、ネゴシエーション通信部12−Ｒと、ネゴシエーション情報ファイル16−Ｒと、データ用通信部18−Ｒと、アプリケーション19−Ｒとを備えており、送信側計算機ＰＣ−Ｓに設けてある通信プロトコル判定部、通信相手管理部、通信相手一覧データファイルおよび通信プロトコル一覧データファイル等は備えていない。
【００２４】
次に、送信側計算機ＰＣ−Ｓおよび受信側計算機ＰＣ−Ｒの各部の詳細機能について説明する。  
受信側計算機ＰＣ−Ｒのネゴシエーション管理部11−Ｒは、送信側計算機ＰＣ−Ｓへネゴシエーション要求を行うために、ネゴシエーション要求をネゴシエーション通信部12−Ｒに渡し、その結果送信側計算機ＰＣ−Ｓから返ってきたネゴシエーション応答に含まれる通信プロトコルをデータ用通信部18−Ｒに設定する。
【００２５】
ネゴシエーション要求は、例えば図５に示すように受信側計算機ＰＣ−Ｒのアドレス情報として「ＩＰアドレス；192.168.20.51」、「サブネットマスク；255.255.255.0」および「通信プロトコル；空」を含むように構成されている。
【００２６】
送信側計算機ＰＣ−Ｓでは、受信側計算機ＰＣ−Ｒのネゴシエーション通信部12−Ｒから送信されてきたネゴシエーション要求を自機のネゴシエーション通信部12−Ｓで受信し、ネゴシエーション管理部11−Ｓを経由して通信プロトコル判定部13−Ｓに対して「通信プロトコル自動判定処理」を依頼する。
【００２７】
通信プロトコル判定部13−Ｓによって判定された通信プロトコルは、ネゴシエーション管理部11−Ｓを経由してネゴシエーション情報ファイル16−Ｓに格納され、かつデータ用通信部18−Ｓに設定され、ネゴシエーション応答を送信するために、応答データをネゴシエーション通信部12−Ｓに渡す。
【００２８】
ネゴシエーション応答は、図６に示すように「ＩＰアドレス；192.168.20.51」、「サブネットマスク；255.255.255.0」および「通信プロトコル；ブロードキャスト」構成されている。このようにネゴシエーション応答のデータには、ネゴシエーション要求に加えて、判定結果としての通信プロトコルも付加されている。
【００２９】
受信側計算機ＰＣ−Ｒのネゴシエーション通信部12−Ｒは、ネゴシエーション管理部11−Ｒから受け取った図６のネゴシエーション要求を送信側計算機ＰＣ−Ｓに送信し、要求した結果として送信側計算機ＰＣ−Ｓから送信されてきたネゴシエーション応答を受信し、そのネゴシエーション応答をネゴシエーション管理部11−Ｒに渡す。
【００３０】
送信側計算機ＰＣ−Ｓのネゴシエーション通信部12−Ｓは、受信側計算機ＰＣ−Ｒから送信されてきたネゴシエーション要求を受信し、通信プロトコルの判定を行うために、ネゴシエーション管理部11−Ｓに渡し、通信プロトコル判定結果を含むネゴシエーション応答をネゴシエーション管理部11−Ｓから受け取り、受信側計算機ＰＣ−Ｒに送信する。
【００３１】
送信側計算機ＰＣ−Ｓの通信プロトコル判定部13−Ｓは、ネゴシエーション管理部11−Ｓからネゴシエーション要求を受け取って通信相手管理部14−Ｓに渡すとともに、通信相手管理部14−Ｓから情報を取得した受信側計算機ＰＣ−Ｒの順に、受信側計算機ＰＣ−Ｒの計算機台数および計算機構成によるルールに従って、通信プロトコル一覧データファイル17−Ｓに格納されている通信プロトコル一覧データで定義されている通信プロトコルの中から使用する通信プロトコルを選択する。
【００３２】
送信側計算機ＰＣ−Ｓに設けられた通信相手管理部14−Ｓは、通信プロトコル判定部13−Ｓから受け取ったネゴシエーション要求に含まれる受信側計算機ＰＣ−Ｒの情報を送信側計算機ＰＣ−Ｓに設けられた通信相手一覧データファイル15−Ｓに格納し、通信プロトコル判定部13−Ｓからの受信側計算機ＰＣ−Ｒの情報の取得要求に対して、通信相手一覧データファイル15−Ｓに格納済みの全データを渡す。
【００３３】
通信相手一覧データファイル15−Ｓに格納されるデータは図７に示すように受信側計算機ＰＣ−Ｒの情報を表形式で格納している。この図７の例では、受信側計算機ＰＣ−Ｒの情報を３台分格納しており、具体的には各受信側計算機ＰＣ−Ｒ１〜３のアドレス情報としてＩＰアドレス（192.168.20.51、192.168.20.52、192.168.100.71）およびサブネットマスク（255.255.255.0、255.255.255.0、255.255.255.0）を格納している。なお、このアドレス情報はネットワーク上の配置を一意に特定できる値であればよく、例えば数値や文字列のようなＩＰアドレス以外の情報を用いることでも良い。
【００３４】
送信側計算機ＰＣ−Ｓおよび受信側計算機ＰＣ−Ｒ双方のネゴシエーション情報ファイル16−Ｓおよびネゴシエーション情報ファイル16−Ｒに格納されるデータは、図８に示すようなオートネゴシエーションに関連するデータを格納している。このうち、受信側計算機ＰＣ−Ｒのネゴシエーション情報ファイル16−Ｒではネゴシエーション応答に格納された通信プロトコルを格納し、送信側計算機ＰＣ−Ｓのネゴシエーション情報ファイル16−Ｓではネゴシエーション要求に対して通信プロトコル判定部13−Ｓが判定した通信プロトコルを格納する。
【００３５】
送信側計算機ＰＣ−Ｓに設けられている通信プロトコル一覧データファイル17−Ｓは、送信側計算機ＰＣ−Ｓのデータ用通信部18−Ｓと受信側計算機ＰＣ−Ｒのデータ用通信部18−Ｒとが利用可能な図９に示すように構成された通信プロトコルの一覧、すなわち、ＴＣＰ／ＩＰ、ブロードキャスト（ＵＤＰ）、マルチキャスト（ＵＤＰ）を格納している。
【００３６】
通信プロトコル判定部13−Ｓは、この通信プロトコル一覧データファイル17−Ｓに格納されているプロトコル一覧の中から、使用する通信プロトコルを選択するように自動判定処理を行う。なお、ＯＳＩ参照モデルのトランスポート層の通信プロトコルとしては、ＴＣＰ、ＵＤＰが挙げられる。また、ＵＤＰについては、一斉同報通信を実施するための通信プロトコルとしてブロードキャスト、マルチキャストが挙げられる。
【００３７】
データ用通信部18−Ｓおよびデータ用通信部18−Ｒは、送信側計算機ＰＣ−Ｓと受信側計算機ＰＣ−Ｒの間でアプリケーション19−Ｓおよびアプリケーション19−Ｒの送受信処理を行う。送信側計算機ＰＣ−Ｓのデータ用通信部18−Ｓはアプリケーション19−Ｓからの送信要求に対して受信側計算機ＰＣ−Ｒにデータを送信し、受信側計算機ＰＣ−Ｒのデータ用通信部18−Ｒは送信側計算機ＰＣ−Ｓから送信されたデータを受信し、受信通知と受信データとをアプリケーション19−Ｒに渡すようになっている。
【００３８】
（作用）
次に、図１で示した複数計算機間における通信プロトコルの動的選択システムの通常時の動作について、図２および図３のフローチャートを参照して説明する。  
図２は送信側計算機ＰＣ−Ｓでのオートネゴシエーションによる通信プロトコルの選択処理手順を示すフローチャートである。なお、既に受信側計算機ＰＣ−Ｒとの通信が行われている状態でもそうでない状態でも同様の処理を行う。
【００３９】
まず、第１の処理ステップ（Ｓ201）でネゴシエーション通信部12−Ｓは、受信側計算機ＰＣ−Ｒから送信されたネゴシエーション要求を受信し受付ける。
【００４０】
次の第２の処理ステップ（Ｓ202）でネゴシエーション通信部12−Ｓは、受信したネゴシエーション要求をネゴシエーション管理部11−Ｓに渡す。当該ネゴシエーション管理部11−Ｓは受け取ったネゴシエーション要求に基づいて、通信プロトコル判定部13−Ｓに対して通信プロトコル判定要求を行う。この判定要求を受けて通信プロトコル判定部13−Ｓは通信相手管理部14−Ｓにネゴシエーション要求を渡す。これにより、通信相手管理部14−Ｓはネゴシエーション要求中のアドレス情報を通信相手一覧データファイル15−Ｓに格納する。
【００４１】
次の第３の処理ステップ（Ｓ203）で通信プロトコル判定部13−Ｓは、現状の受信側計算機ＰＣ−Ｒの情報により「通信プロトコル自動判定処理」を行い、その判定結果をネゴシエーション管理部11−Ｓに渡す。なお、この「通信プロトコル自動判定処理」については後で図３を参照して詳しく述べる。
【００４２】
続く第４の処理ステップ（Ｓ204）でネゴシエーション管理部11−Ｓは、通信プロトコル判定部13−Ｓから受け取った判定結果をネゴシエーション情報ファイル16−Ｓに格納する。
【００４３】
次に、第５の処理ステップ（Ｓ205）でネゴシエーション管理部11−Ｓは、判定結果の通信プロトコル情報を含むネゴシエーション応答の通信データを作成し、ネゴシエーション通信部12−Ｓに渡す。すると、当該ネゴシエーション通信部12−Ｓは受け取ったネゴシエーション応答を受信側計算機ＰＣ−Ｒのネゴシエーション通信部12−Ｒに送信する。
【００４４】
最後に第６の処理ステップ（Ｓ206）において、送信側計算機ＰＣ−Ｓのネゴシエーション管理部11−Ｓ、受信側計算機ＰＣ−Ｒのネゴシエーション管理部11−Ｒは判定結果の通信プロトコルをデータ用通信部18−Ｓおよびデータ用通信部18−Ｒにそれぞれ設定する。これにより、通信プロトコル判定結果によるデータ通信が送信側計算機ＰＣ−Ｓおよび受信側計算機ＰＣ−Ｒ間で実施可能になる。
【００４５】
次に、図３のフローチャートを参照して通信プロトコル判定部13−Ｓで行われる通信プロトコル自動判定処理（図２のＳ203）の詳細を説明する。
【００４６】
図３において、第１の処理ステップ（Ｓ301）で通信プロトコル判定部13−Ｓは、通信相手管理部14−Ｓから通信相手一覧データファイル15−Ｓに格納されている受信側計算機ＰＣ−Ｒの情報を取得する。
【００４７】
次の第２の処理ステップ（Ｓ302）で通信プロトコル判定部13−Ｓは、受信側計算機ＰＣ−Ｒの計算機台数を確認する。この第２の処理ステップ（Ｓ302）での確認結果、受信側計算機ＰＣ−Ｒの台数が１台（＝１）であれば、第３の処理ステップ（Ｓ303）で通信プロトコルとしてＴＣＰ／ＩＰを選択する。ここで、受信側計算機ＰＣ−Ｒの台数が１台の場合、ＴＣＰ／ＩＰの替わりにユニキャスト（ＵＤＰ／ＩＰ）を選択させることも可能である。その場合は、通信プロトコル一覧データファイル17−Ｓにユニキャスト（ＵＤＰ／ＩＰ）を追加すれば良い。
【００４８】
第２の処理ステップ（Ｓ302）での確認の結果、受信側計算機ＰＣ−Ｒの台数が１台より多い場合（＞１）、第４の処理ステップ（Ｓ304）で受信側計算機ＰＣ−Ｒが同一ネットワークセグメントに属するか否かの確認を行う。
【００４９】
この確認の結果、全ての受信側計算機ＰＣ−Ｒが同一ネットワークセグメントに属する場合（Yes）、第５の処理ステップ（Ｓ305）では通信プロトコルとしてＵＤＰ／ＩＰのブロードキャストを選択する。第３の処理ステップＳ303での確認の結果、１台でも受信側計算機ＰＣ−Ｒが異なるネットワークセグメントに属する場合（No）、第６の処理ステップ（Ｓ306）では通信プロトコルとしてマルチキャストを選択する。
【００５０】
このように、第３の処理ステップ（Ｓ303）、第５の処理ステップ（Ｓ305）あるいは第６の処理ステップ（Ｓ306）で通信プロトコルを選択することによって通信プロトコル判定部13−Ｓによる「通信プロトコル自動判定処理」を終える。
【００５１】
図４は、受信側計算機ＰＣ−Ｒでのネゴシエーション処理手順を示すフローチャートである。第１の処理ステップ（Ｓ401）で、ネゴシエーション管理部11−Ｒは自計算機のアドレス情報を格納したネゴシエーション要求を作成し、ネゴシエーション通信部12−Ｒに渡す。すると、ネゴシエーション通信部12−Ｒは受け取ったネゴシエーション要求を送信側計算機ＰＣ−Ｓに送信する。
【００５２】
続く第２のステップ（Ｓ402）で、ネゴシエーション通信部12−Ｒは送信側計算機ＰＣ−Ｓからのネゴシエーション応答の受信待ちを行い、受信したネゴシエーション応答をネゴシエーション管理部11−Ｒに渡す。
【００５３】
更に次の第３のステップ（Ｓ403）では、ネゴシエーション管理部11−Ｒはネゴシエーション応答に含まれている通信プロトコルをネゴシエーション情報ファイル16−Ｒに格納し、かつ、データ用通信部18−Ｒに通信プロトコルを設定する。
【００５４】
次に、通信プロトコル自動判定処理について、受信側計算機ＰＣ−Ｒの台数に具体的台数例をあげて説明する。  
受信側計算機ＰＣ−Ｒが３台あり、そのうち２台（ＰＣ−Ｒ１、ＰＣ−Ｒ２とする）が送信側計算機ＰＣ−Ｓと同一ネットワーク内に存在し、１台（ＰＣ−Ｒ３とする）が異なるネットワークに存在するものとする。
【００５５】
受信側計算機をＰＣ−Ｒ１→ＰＣ−Ｒ２→ＰＣ−Ｒ３の順に起動する場合、ＰＣ−Ｒ１がオートネゴシエーションを行うと、送信側計算機ＰＣ−Ｓの通信相手一覧データファイル15−Ｓに受信側計算機ＰＣ−Ｒ１の情報が格納される。この場合、受信側計算機ＰＣ−Ｒは１台であるため、送信側計算機ＰＣ−Ｓと受信側計算機ＰＣ−Ｒ１の間ではＴＣＰ／ＩＰによる通信が行われる。
【００５６】
次に、受信側計算機ＰＣ−Ｒ２がオートネゴシエーションを行うと、通信相手一覧データファイル15−Ｓに受信側計算機ＰＣ−Ｒ２の情報が格納される。この時点では受信側計算機ＰＣ−Ｒは２台全て同一ネットワークであるため、ブロードキャスト（ＵＤＰ／ＩＰ）による通信が行われる。
【００５７】
更に、受信側計算機ＰＣ−Ｒ３がオートネゴシエーションを行うと、送信側計算機ＰＣ−Ｓの通信相手一覧データファイル15−Ｓに受信側計算機ＰＣ−Ｒ３の情報が格納される。この時点では受信側計算機ＰＣ−Ｒ３台は同一ネットワークにはないため、マルチキャスト（ＵＤＰ／ＩＰ）による通信が行われる。
【００５８】
（効果）
以上述べたように、本実施の形態１によれば送信側計算機ＰＣ−Ｓが受信側計算機ＰＣ−Ｒの台数および計算機構成に応じてデータ通信で使用する通信プロトコルを自動的に選択するため、計算機構成に対応した最適な通信プロトコルを使用することができ、これにより計算機負荷、通信負荷およびリソース使用量を低減することができる。
【００５９】
また、送信側計算機ＰＣ−Ｓおよび受信側計算機ＰＣ−Ｒで動作するアプリケーションは通信プロトコルを意識することなく通信が行えるため、通信プロトコルに依存した通信処理手順を記述する必要がなく、アプリケーションの生産性の向上が期待できる。
【００６０】
（実施の形態２）
次に、本発明の実施の形態２に係る複数計算機間における通信プロトコルの動的選択システムについて図１０、図１１および図１２を参照して説明する。なお実施の形態１と同一の機能部には同一の符号を付け、関連する機能部分には´を付けて重複する説明は適宜省略する。
【００６１】
（構成）
図１０は本発明の実施の形態２に係る複数計算機間における通信プロトコルの動的選択システム構成図である。  
本実施の形態２と前述した実施の形態１との違いを以下述べる。
【００６２】
送信側計算機ＰＣ−Ｓ内に設けられた通信相手管理部14−Ｓ´が受信側計算機ＰＣ−Ｒの台数を監視し、受信側計算機ＰＣ−Ｒのネゴシエーション要求等により台数が変化した場合、台数の変化を検出して通信プロトコル判定部13−Ｓ´に通信プロトコルの再判定要求を行う。
【００６３】
通信プロトコル判定部13−Ｓ´はこの再判定要求を受けて変更後の計算機台数および計算機構成により通信プロトコルを決定し、ネゴシエーション管理部11−Ｓ´に通信プロトコルの変更通知を行う。ネゴシエーション管理部11−Ｓ´は台数変更により通信プロトコルが変更された場合のみ、ネゴシエーション通信部12−Ｓにより受信側計算機ＰＣ−Ｒのネゴシエーション通信部12−Ｒに通信プロトコル変更通知を行う。その他の点については実施の形態１と同じなので説明を省略する。
【００６４】
（作用）
次に、図１０で示した複数計算機間における通信プロトコルの動的選択システムの通常時の動作について、図１１および図１２のフローチャートを参照して説明する。
【００６５】
図１１は送信側計算機ＰＣ−Ｓでの「通信相手監視処理」を示すフローチャートである。  
図１１において、第１の処理ステップ（Ｓ1101）で通信相手管理部14−Ｓは、通信相手一覧データファイル15−Ｓ中の受信側計算機ＰＣ−Ｒの台数を取得する。
【００６６】
次に、第２の処理ステップ（Ｓ1102）において、取得した台数によって受信側計算機ＰＣ−Ｒ側に台数の変化があるか否かを判定する。第２の処理ステップ（Ｓ1102）で台数が前回の台数取得時から変化している場合（Yes）は、第３の処理ステップ（Ｓ1103）で通信プロトコル判定部13−Ｓに通信プロトコルの再判定要求を行い、通信プロトコル判定部13−Ｓは前述した図３に示す通信プロトコル自動判定処理を行う。
【００６７】
続いて第４の処理ステップ（Ｓ1104）において、通信プロトコル判定部13−Ｓは判定結果の通信プロトコルをネゴシエーション管理部11−Ｓに渡し、ネゴシエーション管理部11−Ｓは判定結果の通信プロトコルとネゴシエーション情報ファイル16−Ｓに格納済みの通信プロトコルとを比較してプロトコルが変更されているか否かを確認する。
【００６８】
前記第４の処理ステップ（Ｓ1104）において、プロトコルが変更されていることが確認された場合（Yes）は、続く第５の処理ステップ（Ｓ1105）においてネゴシエーション管理部11−Ｓは変更後の通信プロトコルをネゴシエーション情報ファイル16−Ｓに格納する。次に第６の処理ステップ（Ｓ1106）において変更後の通信プロトコルを含む通信プロトコル変更通知を作成し、ネゴシエーション通信部12−Ｓにより受信側計算機ＰＣ−Ｒに送信する。
【００６９】
最後に第７の処理ステップ（Ｓ1107）においてネゴシエーション管理部11−Ｓは変更後の通信プロトコルをデータ用通信部18−Ｓに設定する。
【００７０】
図１２は受信側計算機ＰＣ−Ｒでの通信プロトコル変更処理手順を示すフローチャートである。  
図１２において、ネゴシエーション通信部12−Ｒは第１の処理ステップ（Ｓ1101）において、通信プロトコル変更通知を受信し、ネゴシエーション管理部11−Ｒに渡す。次に第２の処理ステップ（Ｓ1202）においてネゴシエーション管理部11−Ｒは既に利用中の通信プロトコルをネゴシエーション情報ファイル16−Ｒから取得し、変更通知に含まれる通信プロトコルと比較する。第２の処理ステップ（Ｓ1202）で通信プロトコルが変更されていると判断した場合（Yes）、第３の処理ステップ（Ｓ1203）においてネゴシエーション情報ファイル16−Ｒに変更後の通信プロトコルを格納し、データ用通信部18に通信プロトコルを設定する。
【００７１】
（効果）
本実施の形態２によれば、既に送信側計算機ＰＣ−Ｓと通信を行っている受信側計算機ＰＣ−Ｒが存在する場合、計算機台数が増加したとき送信側計算機ＰＣ−Ｓで台数変更を検出し、検出した時点での計算機構成に対する最適な通信プロトコルを動的に選択することにより、受信側計算機ＰＣ−Ｒの台数変更による送信側計算機ＰＣ−Ｓの計算機負荷、通信負荷、リソース使用量の増加を抑制することができる。
また、通信プロトコルの変更を受信側計算機ＰＣ−Ｒに通知することにより、最適な通信プロトコルを維持しつつアプリケーション間のデータ通信を継続することができる。
【００７２】
（実施の形態３）
次に、本実施の形態３について図１３、図１４、図１５、図１６、図１７、図１８および図１９を参照して説明する。なお実施の形態１と同一の構成には同一の符号を付し、重複する説明は省略する。
【００７３】
（構成）
図１３は本発明の実施の形態２に係る複数計算機間における通信プロトコルの動的選択システム構成図である。  
本実施の形態３と実施の形態１との違いを以下述べる。
【００７４】
受信側計算機ＰＣ−Ｒがネゴシエーション処理を行う際、送信側計算機ＰＣ−Ｓおよび受信側計算機ＰＣ−Ｒで使用する通信プロトコルをネゴシエーション情報ファイル16−Ｓ´および16−Ｒ´に格納し、ネゴシエーション管理部11−Ｓ´および11−Ｒ´が使用する通信プロトコルを取り出し、図１６に示すような通信プロトコルを含んだネゴシエーション要求データを送信側計算機ＰＣ−Ｓに送信する。
【００７５】
送信側計算機ＰＣ−Ｓはネゴシエーション管理部11−Ｓ´が受信側計算機ＰＣ−Ｒの通信プロトコルと送信側計算機ＰＣ−Ｓで使用する通信プロトコルを通信プロトコル判定部13−Ｓ´に渡し、通信プロトコル判定部13−Ｓ´は図１７に示した通信プロトコル判定表に従った通信プロトコル自動判定処理を行う。
【００７６】
判定の結果、受信側計算機ＰＣ−Ｒの通信プロトコルが利用可能である場合、図１８に示すような要求時と同一の通信プロトコルをネゴシエーション応答に含めて正常判定として受信側計算機ＰＣ−Ｒに送信し、受信側計算機ＰＣ−Ｒの通信プロトコルが利用不可である場合、異常判定の情報をネゴシエーション応答に含めて受信側計算機ＰＣ−Ｒに送信し、受信側計算機ＰＣ−Ｒとの通信を行わないようにするか、受信側計算機ＰＣ−Ｒで利用可能な通信プロトコルを選択したものをネゴシエーション応答に含めて受信側計算機ＰＣ−Ｒに送信し、通知された代替の通信プロトコルで通信を行う。
【００７７】
ここでの代替通信プロトコルとは、計算機構成に制約されないプロトコル（ＴＣＰ／ＩＰ等）を使用することが望ましい。また、通信プロトコル自動判定処理の際、図１９に示すように通信相手一覧データファイルに受信側計算機ＰＣ−Ｒに通信プロトコルを格納し、通信プロトコルを指定していない受信側計算機ＰＣ−Ｒに対してのみ実施の形態１の通信プロトコル自動判定を行う。
【００７８】
（作用）
次に、図１３で示した複数計算機間における通信プロトコルの動的選択システムの通常時の動作について、図１４および図１５のフローチャートを参照して説明する。  
図１４は送信側計算機ＰＣ−Ｓでの通信プロトコル選択処理手順を示すフローチャートである。
【００７９】
ネゴシエーション管理部11−Ｓは第１の処理ステップ（Ｓ1401）で受信側計算機ＰＣ−Ｒからネゴシエーション要求を受信する。次に第２の処理ステップ（Ｓ1402）でネゴシエーション要求から受信側計算機ＰＣ−Ｒの通信プロトコルを取り出し、通信プロトコル判定部13−Ｓで通信プロトコル判定を実施する。そして、ネゴシエーション情報ファイル16−Ｓから取り出した送信側計算機ＰＣ−Ｓの通信プロトコルが自動選択かどうか確認する。
【００８０】
前記第２の処理ステップ（Ｓ1402）で自動選択が確認された場合（Yes）、次の第３の処理ステップ（Ｓ1403）で受信側計算機ＰＣ−Ｒの通信プロトコルが自動選択か否かを確認する。第３の処理ステップ（Ｓ1403）において受信側計算機ＰＣ−Ｒも自動選択であることが確認された場合（Yes）は、第４の処理ステップ（Ｓ1404）で、実施の形態１で実施した「通信プロトコル自動判定処理」を行い、通信プロトコルを決定する。
【００８１】
一方、前記第２の処理ステップ（Ｓ1402）で送信側計算機ＰＣ−Ｓの通信プロトコルが自動選択でないことが確認された場合（No）、第５の処理ステップ（Ｓ1405）で送信側計算機ＰＣ−Ｓの通信プロトコルと受信側計算機ＰＣ−Ｒの通信プロトコルとが同一か否かを確認し、同一（Yes）であれば第６の処理ステップ（Ｓ1406）で判定OKとする。
【００８２】
しかし、第５の処理ステップ（Ｓ1405）で送信側計算機ＰＣ−Ｓの通信プロトコルと受信側計算機ＰＣ−Ｒの通信プロトコルとが一致していない場合（No）、または前記第３の処理ステップ（Ｓ1403）で受信側計算機ＰＣ−Ｒの通信プロトコルが自動選択でない場合（No）は、第７の処理ステップ（Ｓ1407）において代替通信プロトコルを利用するか否かについて確認する。
【００８３】
そして、この第７の処理ステップ（Ｓ1407）で代替通信プロトコルを利用する場合（Yes）、次の第８の処理ステップ（Ｓ1408）で代替通信プロトコルを選択する。しかし、第７の処理ステップで代替通信プロトコルを利用しない場合（No）、第９の処理ステップ（Ｓ1409）で判定NGとする。
【００８４】
判定NG以外の判定OKや代替通信プロトコルを選択した場合は、第１０の処理ステップ（Ｓ1410）で判定結果をネゴシエーション情報ファイル16−Ｓに格納し、続く第１１の処理ステップ（Ｓ1411）で受信側計算機ＰＣ−Ｒにネゴシエーション応答を送信する。以上で送信側計算機ＰＣ−Ｓでの通信プロトコル選択処理を終了する。
【００８５】
図１５は受信側計算機ＰＣ−Ｒでのネゴシエーション処理手順を示すフローチャートである。  
ネゴシエーション管理部11−Ｒは、第１の処理ステップ（Ｓ1501）において、使用する通信プロトコルをネゴシエーション情報ファイル16−Ｒから取り出し、ネゴシエーション要求に通信プロトコルを含めて、送信側計算機ＰＣ−Ｓに送信する。
【００８６】
そして、第２の処理ステップ（Ｓ1502）で送信側計算機ＰＣ−Ｓからのネゴシエーション応答を受信し、当該ネゴシエーション応答に含まれている通信プロトコルを取り出す。ネゴシエーション管理部11−Ｒは、第３の処理ステップ（Ｓ1503）において、当該取り出した通信プロトコルが有効な値（または代替通信プロトコル選択）か否かを確認し、有効な値であれば（Yes）、第４の処理ステップ（Ｓ1504）でネゴシエーション情報ファイル16−Ｒ´に通信プロトコルを格納してデータ用通信部18−Ｒに通信プロトコルを設定し、また、第３の処理ステップ（Ｓ1503）で通信プロトコルが有効な値ではないと判定した場合（No）、通信を停止して受信側計算機ＰＣ−Ｒでのネゴシエーション処理を終了する。
【００８７】
本実施の形態３の場合、例えば、実施の形態１の作用で示した例で、送信側計算機ＰＣ−Ｓがブロードキャスト、ＰＣ−Ｒ１がブロードキャスト、ＰＣ−Ｒ２がＴＣＰ／ＩＰ、ＰＣ−Ｒ３がマルチキャストを選択した場合、送信側計算機ＰＣ−ＳとＰＣ−Ｒ１の間ではブロードキャストによる通信が行われ、送信側計算機Ｃ−ＳとＰＣ−Ｒ２の間ではＴＣＰ／ＩＰによる通信が行われ、送信側計算機ＰＣ−ＳとＰＣ−Ｒ３の間ではマルチキャストによる通信が行われる。
【００８８】
（効果）
以上述べたように、本実施の形態３によれば、送信側計算機ＰＣ−Ｓでは通常のプロトコル自動判定を行う一方、受信側計算機ＰＣ−Ｒで通信プロトコルを指定した場合、指定した通信プロトコルによる通信も可能であるため、低品質、低速の回線による通信を行う場合にＴＣＰ／ＩＰのような高信頼な通信プロトコルを明示的に指定することにより、通信プロトコルの自動選択によりＵＤＰ／ＩＰのような通信プロトコルが低品質の回線に適さないものが選択され、通信効率が低下することを抑制することができる。
【００８９】
また、ローカルネットワーク網（ＬＡＮ）でＵＤＰでの一斉同報通信を行っている最中に、広域網（ＷＡＮ）を経由して通信する計算機について明示的にＴＣＰ／ＩＰを指定することにより、効率の良い通信と通信効率が悪い回線での高信頼な通信を混在させる等、ＬＡＮあるいはＷＡＮに関係なく様々な形態のネットワークにも対応することができる。
【００９０】
（実施の形態４）
次に、本発明の実施の形態４について図２０、図２１、図２２、図２４、図２３を参照して説明する。なお、実施の形態１と同一の機能部には同一の符号を付し、重複する説明は省略する。
【００９１】
（構成）
図２０は本発明の実施の形態４に係る複数計算機間における通信プロトコルの動的選択システム構成図である。  
この図２０は、実施の形態１の図１に加えて送信側計算機ＰＣ−Ｓに通信品質監視部20−Ｓおよび通信品質一覧データファイル21−Ｓを設け、また受信側計算機ＰＣ−Ｒに通信品質監視部20−Ｒを設けたものであり、その他の機能は図１と同じである。
【００９２】
図２０において、受信側計算機ＰＣ−Ｒの通信品質監視部20−Ｒは、データ用通信部18−Ｒにおける通信品質を監視するために、図２３に示すようなデータ用通信部18−Ｒの受信状態データを送信側計算機ＰＣ−Ｓに送信し、送信側計算機ＰＣ−Ｓの通信品質監視部20−Ｓは受信した通信品質を通信品質一覧データファイル21−Ｓに格納し、合わせて計算機毎の通信品質を監視する。
【００９３】
通信品質一覧データファイル21−Ｓは図２４に示すような計算機情報と受信状態を表形式のデータとして格納している。計算機情報としてはＩＰアドレスもしくは、通信相手一覧データファイル15の計算機識別番号を利用し、受信状態としては、データ用通信部18−Ｓでの最終受信時刻を利用する。送信側計算機ＰＣ−Ｓで一定時間送信が行われない場合、生存確認データを定期的に送信し、ある時間間隔以内でデータが受信されるようにする。
【００９４】
（作用）
次に図２０で示した複数計算機間における通信プロトコルの動的選択システムの通常時の動作について、図２１および図２２のフローチャートを参照して説明する。  
図２１は受信側計算機ＰＣ−Ｒでの受信状態通知処理手順を示すフローチャートである。
【００９５】
図２１において、第１の処理ステップ（Ｓ2201）で、通信品質監視部20−Ｒはデータ用通信部18−Ｒから最新受信時刻を取得し、第２の処理ステップ（Ｓ2202）で受信時刻を含めた受信状態データを送信側計算機ＰＣ−Ｓのデータ用通信部18−Ｓに送信する。
【００９６】
図２２は送信側計算機ＰＣ−Ｓでの受信状態監視処理手順を示すフローチャートである。  
図２２において、第１の処理ステップ（Ｓ2201）で、通信品質監視部20−Ｓは受信側計算機ＰＣ−Ｒのデータ用通信部18−Ｒから送信された受信状態データを受信し、続く第２の処理ステップ（Ｓ2202）で受信側計算機ＰＣ−Ｒに対する受信状態データを通信品質一覧データファイル21に格納する。
【００９７】
次に、第３の処理ステップ（Ｓ2203）において、通信品質監視部20−Ｓは前記第１の処理ステップ（Ｓ2201）で受信した受信状態データが異常か否かを確認し、異常と確認された場合、すなわち一定時間データが受信されていない場合（Yes）、次の第４の処理ステップ（Ｓ2204）で通信プロトコル判定部13−Ｓに当該受信側計算機ＰＣ−Ｒの通信プロトコルを代替通信プロトコルに変更するとともに通信プロトコル再判定要求を行う。すると当該通信プロトコル判定部13−Ｓは、通信相手管理部14−Ｓに当該受信側計算機ＰＣ−Ｒの通信プロトコルを代替通信プロトコルに変更要求を行う。
【００９８】
第５の処理ステップ（Ｓ2205）において、通信相手管理部14−Ｓは当該受信側計算機ＰＣ−Ｒの通信プロトコルを変更した状態で前述の実施の形態２で説明した「通信相手監視処理」を行い、通信プロトコルの再判定を行う。
【００９９】
第６の処理ステップ（Ｓ2206）で通信プロトコル判定部13−Ｓは、ネゴシエーション管理部11−Ｓに当該受信側計算機ＰＣ−Ｒに対する通信プロトコル変更通知要求を行う。
【０１００】
例えば、実施の形態１の作用で示した例で、全ての計算機で自動選択を指定した場合、通常はマルチキャストによる通信が行われるが、送信側計算機ＰＣ−Ｓと受信側計算機ＰＣ−Ｒ３の間でルータの設定変更等によりマルチキャスト通信が行えなくなった場合、送信側計算機ＰＣ−Ｓの通信品質一覧データファイル21−Ｓについて、ＰＣ−Ｒ３の最新受信時刻が更新されなくなるため、一定時間経過後、通信品質監視部20がＰＣ−Ｒ３を受信状態異常とみなし、ＰＣ−Ｒ３の通信プロトコルをＴＣＰ／ＩＰに変更した上で、通信プロトコルの再判定を行う。その結果、送信側計算機Ｃ−Ｓと受信側計算機ＰＣ−Ｒ１、ＰＣ−Ｒ２の間ではブロードキャストによる通信が行われ、送信側計算機ＰＣ−Ｓと受信側計算機ＰＣ−Ｒ３の間ではＴＣＰ／ＩＰによる通信が行われる。
【０１０１】
（効果）
本実施の形態４によれば、送信側計算機ＰＣ−Ｓは受信側計算機ＰＣ−Ｒの受信状態を監視し、異常状態が発生した時点で、当該受信側計算機ＰＣ−Ｒの通信プロトコルを現在使用中である通信プロトコル以外の代替通信プロトコルに変更した上で他の計算機の通信プロトコルを再選択させることにより、ＴＣＰ／ＩＰのような構成に依存しない通信プロトコルを代替通信プロトコルとした場合、ブロードキャストやマルチキャストの一斉同報通信のように、ネットワーク構成により通信が行えないケースが発生し得る通信プロトコルについては、通信異常を検出して代替通信プロトコルに切り替えることにより通信を継続させることが可能である。
【０１０２】
（実施の形態５）
次に、本発明の実施の形態５について図２５、図２６、図２７、図２９、図２８を参照して説明する。なお実施の形態４と同一の機能部には同一の符号を付し、関連する部分には´を付けて重複する説明は省略する。
【０１０３】
（構成）
図２５は本発明の実施の形態５に係る複数計算機間における通信プロトコルの動的選択システム構成図である。
本実施の形態５と実施の形態４との違いは通信品質監視部20−Ｓ´、通信品質監視部20−Ｒ´の監視対象がデータ受信時の通信品質であり、受信側計算機ＰＣ−Ｒでは通信品質監視部20−Ｒ´が、データ用通信部18−Ｒから受信時の通信品質として図２８に示すような一定時間内の受信漏れカウントを送信側計算機ＰＣ−Ｓに送信する。
【０１０４】
送信側計算機ＰＣ−Ｓでは通信品質監視部20−Ｓ´が受信した通信品質データを通信品質一覧データファイル21−Ｓに格納する。当該通信品質一覧データファイル21−Ｓは図２９に示すように、受信時刻に加えて受信漏れカウントを格納する。
【０１０５】
通信品質監視部20−Ｓ´は、通信品質が通信中の通信プロトコルの要求品質を満たさないことを確認した場合、通信プロトコル判定部13−Ｓ´に代替通信プロトコルへの変更および通信プロトコル再選択要求を行い、通信プロトコル再選択処理の後に、通信プロトコル判定部13−Ｓ´が、ネゴシエーション管理部11−Ｓに通信プロトコル変更通知の送信要求を行い、受信側計算機ＰＣ−Ｒに通信プロトコル変更通知を送信する。
【０１０６】
（作用）
次に、図２５で示した複数計算機間における通信プロトコルの動的選択システムの通常時の動作について、図２６および図２７のフローチャートを参照して説明する。  
図２６は受信側計算機ＰＣ−Ｒでの通信品質通知処理手順を示すフローチャートである。
【０１０７】
図２６の第１の処理ステップ（Ｓ2601）において、通信品質監視部20−Ｒ´は、データ用通信部18−Ｒでの一定時間あたりの受信漏れ回数を取得し、続いて第２の処理ステップにおいて、通信品質データを送信側計算機ＰＣ−Ｓの通信品質監視部20−Ｓに送信する（Ｓ2602）。
【０１０８】
図２７は送信側計算機ＰＣ−Ｓでの通信品質監視処理手順を示すフローチャートである。  
通信品質監視部20−Ｓは第１の処理ステップ（Ｓ2701）において、受信側計算機ＰＣ−Ｒから送信された通信品質データを受信し、続いて第２の処理ステップ（Ｓ2702）において、受信側計算機ＰＣ−Ｒに対する通信品質を通信品質一覧データファイル21に格納する。
【０１０９】
次に、第３の処理ステップ（Ｓ2703）において、通信品質一覧データファイル21中の第１の処理ステップ（Ｓ2701）で受信した通信品質が現在使用中の通信プロトコルが満たす必要のある値であるか否かを確認する。
【０１１０】
第３の処理ステップ（Ｓ2703）において通信品質に異常がないと判断された場合（No）は、送信側計算機ＰＣ−Ｓでの通信品質監視処理は終了し、通信品質異常すなわち一定時間内のデータ受信漏れ回数が許容範囲を超えたと判断された場合（Yes）は、第４の処理ステップ（Ｓ2704）で通信プロトコル判定部13−Ｓに対して当該受信計算機の代替通信プロトコルへの変更および通信プロトコル再判定要求を行う。そして通信プロトコル判定部13−Ｓはこれを受けて通信相手管理部14−Ｓに当該受信側計算機ＰＣ−Ｒの通信プロトコルを代替通信プロトコルに変更要求を行う。
【０１１１】
続く第５の処理ステップ（Ｓ2705）において、当該受信側計算機ＰＣ−Ｒの通信プロトコルを変更した状態で、実施の形態２で説明した「通信相手監視処理」を行い、通信プロトコルの再判定を行う。
【０１１２】
最後の第６の処理ステップ（Ｓ2706）において、通信プロトコル判定部13−Ｓは、ネゴシエーション管理部11−Ｓに当該受信側計算機ＰＣ−Ｒに対する通信プロトコル変更通知要求を行う。
【０１１３】
例えば、実施の形態１の作用の項で説明した例で、全ての計算機で自動選択を指定した場合、通常はマルチキャストによる通信が行われるが、送信側計算機ＰＣ−Ｓと受信側計算機ＰＣ−Ｒ３の間に介在するルータの通信スループットが低い場合、受信側計算機ＰＣ−Ｒ３のデータ用通信部18−Ｒでデータ受信漏れが頻発し、送信側計算機ＰＣ−Ｓの通信品質一覧データファイル21−Ｓについて、受信側計算機ＰＣ−Ｒ３の受信漏れ回数が増加する。
【０１１４】
その結果、受信漏れカウント値がマルチキャスト通信を行うための通信品質で指定してある上限値を超えるため、通信品質監視部20−Ｒが受信側計算機ＰＣ−Ｒ３を通信品質異常とみなし、受信側計算機ＰＣ−Ｒ３の通信プロトコルをＴＣＰ／ＩＰに変更した上で、通信プロトコルの再判定を行う。その結果、送信側計算機ＰＣ−Ｓと受信側計算機ＰＣ-Ｒ１、ＰＣ−Ｒ２の間ではブロードキャストによる通信が行われ、送信側計算機ＰＣ−ＳとＰＣ−Ｒ３の間ではＴＣＰ／ＩＰによる通信が行われる。
【０１１５】
（効果）
本実施の形態５によれば、送信側計算機ＰＣ−Ｓは受信側計算機ＰＣ−Ｒの通信品質を監視し、通信品質が異常に変化した時点で、当該受信側計算機ＰＣ−Ｒの通信プロトコルを現在使用中である通信プロトコル以外の代替通信プロトコルに変更した上で他の計算機の通信プロトコルを再選択させることにより、ＴＣＰ／ＩＰのような通信品質が低い回線でも高信頼通信を行う通信プロトコルを代替通信プロトコルとした場合、送信側計算機ＰＣ−Ｓの通信品質が悪いネットワークに属する計算機との通信において、ＵＤＰ／ＩＰのような低信頼な通信プロトコルが選択された場合、通信品質の低下を検出し、ＴＣＰ／ＩＰのような高信頼な通信プロトコルに切り替えることにより、通信効率の低下をリカバリすることが可能である。
【０１１６】
（実施の形態６）
次に、本発明の実施の形態６について図３０、図３１、図３２、図３３を参照して説明する。なお実施例１と同一の構成には同一の符号を付し、重複する説明は省略する。
【０１１７】
（構成）
図３０は本発明の実施の形態６に係る複数計算機間における通信プロトコルの動的選択システム構成図である。
本実施の形態６と実施の形態１との違いは、受信側計算機ＰＣ−Ｒの起動時にネゴシエーション管理部11−Ｒ´が図３３に示すように送信側計算機ＰＣ−Ｓの候補一覧が追加されたネゴシエーション情報ファイル16−Ｒから取得した送信側計算機ＰＣ−Ｓの候補について、候補の中から順に送信側計算機ＰＣ−Ｓを問い合わせにより探す処理が追加されることである。
【０１１８】
ネゴシエーション管理部11−Ｒ´は送信側計算機ＰＣ−Ｓの候補の各エントリに対して問い合わせ情報を送信し、送信側計算機ＰＣ−Ｓが受信した問い合わせ情報に対する応答を返し、受信側計算機ＰＣ−Ｒのネゴシエーション管理部11−Ｒ´は応答を受け取った計算機を送信側計算機ＰＣ−Ｓと認識し、以後、ネゴシエーション処理を行う。
【０１１９】
（作用）
次に、図３０で示した複数計算機間における通信プロトコルの動的選択システムの通常時の動作について、図３１のフローチャートを参照して説明する。
図３１は受信側計算機ＰＣ−Ｒにおける送信側計算機問い合わせ処理手順を示すフローチャートである。
【０１２０】
ネゴシエーション管理部11−Ｒ´は、第１の処理ステップ（Ｓ3101）においてネゴシエーション情報ファイル16−Ｒから送信側計算機Ｃ−Ｓの候補の一覧を取得し、続いて第２の処理ステップ（Ｓ3102）において候補が存在するか否かを判定する。ネゴシエーション管理部11−Ｒ´は、この第２の処理ステップ（Ｓ3102）で候補が存在すると判断した場合(Yes)、取得した全候補について第３の処理ステップ（Ｓ3103）で、通信可否の問い合わせ情報をネゴシエーション通信部12−Ｒから送信し、続いて第４の処理ステップ（Ｓ3104）において問い合わせに関する応答をネゴシエーション通信部12−Ｒで受信する。
【０１２１】
第５の処理ステップ（Ｓ3105）において計算機から応答があり、かつ通信可能か否かを判定し、通信可能な計算機からの応答を受信した場合（Yes）、残りの候補については問い合わせを行わない。
【０１２２】
第６の処理ステップ（Ｓ3106）において全ての候補について問い合わせを行った結果、通信可能な送信側計算機ＰＣ−Ｓがあるか否かを判定し、通信可能な送信側計算機ＰＣ−Ｓからの応答があった場合（Yes）、第７の処理ステップ（Ｓ3107）で当該送信側計算機ＰＣ−Ｓに対して前述した実施の形態１の「ネゴシエーション処理」を実施する。
【０１２３】
しかしながら、第２の処理ステップ（Ｓ3102）において通信可能な計算機が存在しない（No）、または第６の処理ステップ（Ｓ3106）において送信側計算機ＰＣ−Ｓの候補が存在しない場合（No）、第８の処理ステップ（Ｓ3108）において通信開始は失敗となり、送信側計算機に対する問い合わせ処理は終了する。
【０１２４】
図３２は送信側計算機ＰＣ−Ｓにおける通信可否問い合わせ受付処理手順を示すフローチャートである。
ネゴシエーション管理部11−Ｓは、第１の処理ステップ（Ｓ3201）においてネゴシエーション通信部12−Ｒ、12−Ｓを介して受信側計算機ＰＣ−Ｒからの通信可否問い合わせ情報を受信し、第２の処理ステップ（Ｓ3202）で問い合わせに対する応答情報を生成、受信側計算機ＰＣ−Ｒに送信し、通信可否問い合わせ受付処理を終了する。
【０１２５】
（効果）
本実施の形態６によれば、受信側計算機ＰＣ−Ｒであらかじめ送信側計算機ＰＣ−Ｓの候補一覧を登録し、計算機起動時に受信側計算機ＰＣ−Ｒから送信側計算機ＰＣ−Ｓの候補に問い合わせ情報を送信し、送信側計算機ＰＣ−Ｓからの応答を受信することにより、計算機が配置されているネットワーク構成に関係なく受信側計算機ＰＣ−Ｒが送信側計算機ＰＣ−Ｓを認識することができる。
【０１２６】
（実施の形態７）
次に、本発明の実施の形態７について図３４、図３５、図３６および図３７を参照して説明する。なお実施の形態１と同一の構成には同一の符号を付し、重複する説明は省略する。
【０１２７】
（構成）
図３４は本発明の実施の形態７に係る複数計算機間における通信プロトコルの動的選択システム構成図である。
本実施の形態７と実施の形態１との違いは、受信側計算機ＰＣ−Ｒの起動時に、ネゴシエーション管理部11−Ｒ´が図３７に示す送信側計算機ＰＣ−Ｓの探索用同報通信アドレスが追加されたネゴシエーション情報ファイル16−Ｒから取得した送信側計算機ＰＣ−Ｓの探索用同報通信アドレスに対して送信側計算機ＰＣ−Ｓの探索情報を一斉同報通信により送信し、送信側計算機ＰＣ−Ｓからの応答により送信側計算機ＰＣ−Ｓを特定する処理が追加されることである。
【０１２８】
ネゴシエーション管理部11−Ｒ´は送信側計算機ＰＣ−Ｓの探索用同報通信アドレスに対して送信側計算機ＰＣ−Ｓ探索情報を送信し、送信側計算機ＰＣ−Ｓが受信した探索情報に対する応答を返し、受信側計算機ＰＣ−Ｒのネゴシエーション管理部11−Ｒ´は応答を受け取った計算機を送信側計算機ＰＣ−Ｓと認識し、以後、ネゴシエーション処理を行う。
【０１２９】
（作用）
次に、図３４で示した複数計算機間における通信プロトコルの動的選択システムの通常時の動作について、図３５および図３６のフローチャートを参照して説明する。  
図３５は受信側計算機ＰＣ−Ｒでの送信側計算機探索処理手順を示すフローチャートである。
【０１３０】
ネゴシエーション管理部11−Ｒは、第１の処理ステップ（Ｓ3501）において、ネゴシエーション情報ファイル16−Ｒから送信側計算機探索用同報通信アドレスを取得する。次に第２の処理ステップ（Ｓ3502）において、探索用アドレスが存在すると判定された場合（Yes）、第３の処理ステップ（Ｓ3503）において同報通信により送信側計算機探索情報をネゴシエーション通信部12−Ｒから送信する。
【０１３１】
そして、第４の処理ステップ（Ｓ3504）において探索情報に対する送信側計算機からの応答をネゴシエーション通信部12−Ｒで受信する。
【０１３２】
ネゴシエーション管理部11−Ｒは、第５の処理ステップ（Ｓ3505）で探索情報に対する応答の有無を判定し、探索情報に対する応答があった場合（Yes）、次の第６の処理ステップ（Ｓ3506）で当該送信側計算機ＰＣ−Ｓに対する実施の形態１の「ネゴシエーション処理」を実施する。
【０１３３】
しかし、前述した第２の処理ステップ（Ｓ3502）で探索アドレスが存在しない場合（No）、または第５の処理ステップ（Ｓ3505）で探索情報に対する応答がなかった場合（No）は、第７の処理ステップ（Ｓ3507）で通信開始失敗となり、受信側計算機ＰＣ−Ｒでの送信側計算機探索処理を終了する。
【０１３４】
図３６は送信側計算機ＰＣ−Ｓにおける探索要求応答処理手順を示すフローチャートである。  
送信側計算機ＰＣ−Ｓのネゴシエーション管理部11−Ｓは、第１の処理ステップ（Ｓ3601）において受信側計算機ＰＣ−Ｒから送信された送信側計算機探索情報をネゴシエーション通信部12−Ｓを介して受信する。そして、次の第２の処理ステップ（Ｓ3602）で探索情報に対する応答情報を生成し、ネゴシエーション通信部12−Ｓを介して受信側計算機ＰＣ−Ｒに送信し、探索要求応答処理を終了する。
【０１３５】
（効果）
本実施の形態によれば、受信側計算機ＰＣ−Ｒで送信側計算機ＰＣ−Ｓの探索用同報通信アドレスを登録し、計算機起動時に一斉同報通信により送信側計算機ＰＣ−Ｓに対する問い合わせを実施し、送信側計算機ＰＣ−Ｓからの応答を受信することにより、受信側計算機ＰＣ−Ｒはどの計算機が送信側計算機ＰＣ−Ｓであるかを意識せずに送信側計算機ＰＣ−Ｓを認識することができる。
【０１３６】
（実施の形態８）
次に、本発明の実施の形態８について図３８、図３９、図４０、図４１および図４２を参照して説明する。なお実施の形態４と同一の構成には同一の符号を付し、重複する説明は省略する。
【０１３７】
（構成）
図３８は、本実施の形態８に係る複数計算機間における通信プロトコルの動的選択システム構成図である。
【０１３８】
図３８は、前述の実施の形態４に係る図２０に加えて、受信側計算機ＰＣ−Ｒに対して通信プロトコル判定部13−Ｒと、通信相手管理部14−Ｒと、通信相手一覧データファイル15−Ｒと、通信プロトコル一覧データファイル17−Ｒと、通信品質一覧データファイル21−Ｒとを構成要素として設けるようにしたものである。
【０１３９】
すなわち、送信側計算機ＰＣ−Ｓと受信側計算機ＰＣ−Ｒの両方で実施の形態４の構成を採用し、しかも双方向通信を行うために図３９のネゴシエーション要求の通信データ例、図４０のネゴシエーション応答の通信データ例、図４１の受信状態通知の通信データ例および図４２の通信品質通知の通信データ例で示すように、ネゴシエーション要求とネゴシエーション応答と受信状態通知データと通信品質通知データに送信側計算機Ｃ−Ｓのアドレス情報と通信識別情報を付加してネゴシエーション処理を行うようにしている。
【０１４０】
ここでの通信識別情報とは、データ用通信部18−Ｓおよび18−Ｒで利用している情報で、アプリケーション間の通信毎に定義するものであり、具体的にはＴＣＰ／ＩＰやＵＤＰ／ＩＰでのポート番号を利用する。
【０１４１】
（作用）
次に、図３８で示した複数計算機間における通信プロトコルの動的選択システムの通常時の動作について説明する。
前記実施の形態１で説明した「ネゴシエーション処理」において、受信側計算機ＰＣ−Ｒがネゴシエーション要求を行う際、ネゴシエーション管理部11−Ｒはネゴシエーション要求に送信側計算機ＰＣ−Ｓのアドレス情報およびデータ用通信部18−Ｒで使用している通信識別情報を付加する。
【０１４２】
また、実施の形態１での「通信プロトコル選択処理」において、送信側計算機ＰＣ−Ｓがネゴシエーション応答を送信する際、ネゴシエーション要求と同一の送信側計算機ＰＣ−Ｓのアドレス情報と通信識別情報を付加する。
【０１４３】
そして、実施の形態４での「受信状態通知処理」および実施の形態５での「通信品質通知処理」についてもネゴシエーション要求と同様に、受信側計算機ＰＣ−Ｒの通信品質監視部20−Ｒは送信側計算機ＰＣ−Ｓのアドレス情報と通信識別情報を付加したものを送信する。
【０１４４】
（効果）
本実施の形態８によれば、受信側計算機ＰＣ−Ｒと送信側計算機ＰＣ−Ｓとを同一構成にし、ネゴシエーション要求、ネゴシエーション応答、受信状態通知、通信品質通知の通信データに送信側計算機ＰＣ−Ｓのアドレス情報と通信識別情報を付加したものを送信することにより、受信側計算機ＰＣ−Ｒを送信側計算機ＰＣ−Ｓとみなすことによる双方向通信が可能であるため、送信側計算機ＰＣ−Ｓと受信側計算機ＰＣ−Ｒの間でｎ対ｎの通信を行うことができる。
【０１４５】
また、送信側計算機ＰＣ−Ｓでは送信処理、受信側計算機ＰＣ−Ｒでは受信処理といった計算機に依存したアプリケーションを作成する必要がないため、アプリケーションの生産性も向上させることができる。
【図面の簡単な説明】
【０１４６】
【図１】本発明の実施の形態１に係る複数計算機間における通信プロトコルの動的選択システム構成図。
【図２】本発明の実施の形態１に係る複数計算機間における通信プロトコル選択処理手順を示すフローチャート。
【図３】本発明の実施の形態１に係る複数計算機間における通信プロトコル自動判定処理手順を示すフローチャート。
【図４】本発明の実施の形態１に係るネゴシエーション処理手順を示すフローチャート。
【図５】本発明の実施の形態１に係るネゴシエーション要求での通信データの一例を示す図。
【図６】本発明の実施の形態１に係るネゴシエーション応答での通信データの一例を示す図。
【図７】本発明の実施の形態１に係る通信相手一覧データファイルのデータ構造の一例を示す図。
【図８】本発明の実施の形態１に係るネゴシエーション情報のデータ構造の一例を示す図。
【図９】本発明の実施の形態１に係る複数計算機間における通信プロトコル一覧データファイルのデータ構造の一例を示す図。
【図１０】本発明の実施の形態２に係る複数計算機間における通信プロトコルの動的選択システム構成図。
【図１１】本発明の実施の形態２に係る通信相手監視処理手順を示すフローチャート。
【図１２】本発明の実施の形態２に係る複数計算機間における通信プロトコル変更処理手順を示すフローチャート。
【図１３】本発明の実施の形態３に係る複数計算機間における通信プロトコルの動的選択システム構成図。
【図１４】本発明の実施の形態３に係る複数計算機間における通信プロトコル選択処理手順を示すフローチャート。
【図１５】本発明の実施の形態３に係るネゴシエーション処理手順を示すフローチャート。
【図１６】本発明の実施の形態３に係るネゴシエーション要求の通信データの一例を示す図。
【図１７】本発明の実施の形態３に係るネゴシエーション判定表のデータ構造の一例を示す図。
【図１８】本発明の実施の形態３に係るネゴシエーション応答の通信データの一例を示す図。
【図１９】本発明の実施の形態３に係る通信相手一覧データファイルのデータ構造の一例を示す図。
【図２０】本発明の実施の形態４に係る複数計算機間における通信プロトコルの動的選択システム構成図。
【図２１】本発明の実施の形態４に係る受信状態通知処理手順を示すフローチャート。
【図２２】本発明の実施の形態４に係る受信状態監視処理手順を示すフローチャート。
【図２３】本発明の実施の形態４に係る実施の形態４に係る受信状態通知の通信データの一例を示す図。
【図２４】本発明の実施の形態４に係る通信品質一覧データファイルのデータ構造の一例を示す図。
【図２５】本発明の実施の形態５に係る複数計算機間における通信プロトコルの動的選択システム構成図。
【図２６】本発明の実施の形態５に係る通信品質通知処理手順を示すフローチャート。
【図２７】本発明の実施の形態５に係る通信品質監視処理手順を示すフローチャート。
【図２８】本発明の実施の形態５に係る通信品質通知の通信データの一例を示す図。
【図２９】本発明の実施の形態５に係る通信品質一覧データファイルのデータ構造の一例を示す図。
【図３０】本発明の実施の形態６に係る複数計算機間における通信プロトコルの動的選択システム構成図。
【図３１】本発明の実施の形態６に係る送信側計算機問い合わせ処理手順を示すフローチャート。
【図３２】本発明の実施の形態６に係る通信可否問い合わせ受付処理手順を示すフローチャート。
【図３３】本発明の実施の形態６に係るネゴシエーション情報のデータ構造の一例を示す図。
【図３４】本発明の実施の形態７に係る複数計算機間における通信プロトコルの動的選択システム構成図。
【図３５】本発明の実施の形態７に係る送信側計算機探索処理手順を示すフローチャート。
【図３６】本発明の実施の形態７に係る探索要求応答処理手順を示すフローチャート。
【図３７】本発明の実施の形態７に係るネゴシエーション情報のデータ構造の一例を示す図。
【図３８】本発明の実施の形態８に係る複数計算機間における通信プロトコルの動的選択システム構成図。
【図３９】本発明の実施の形態８に係るネゴシエーション要求の通信データの一例を示す図。
【図４０】本発明の実施の形態８に係るネゴシエーション応答の通信データの一例を示す図。
【図４１】本発明の実施の形態８に係る受信状態通知の通信データの一例を示す図。
【図４２】本発明の実施の形態８に係る通信品質通知の通信データの一例を示す図。
【符号の説明】
【０１４７】
１１…ネゴシエーション管理部、１２…ネゴシエーション通信部、１３…通信プロトコル判定部、１４…通信相手管理部、１５…通信相手一覧データファイル、１６…ネゴシエーション情報ファイル、１７…通信プロトコル一覧データファイル、１８…データ用通信部、１９…アプリケーション、２０…通信品質監視部、２１…通信品質一覧データファイル。
【図１】
0004786412.tif 000002
【図２】
0004786412.tif 000003
【図３】
0004786412.tif 000004
【図４】
0004786412.tif 000005
【図５】
0004786412.tif 000006
【図６】
0004786412.tif 000007
【図７】
0004786412.tif 000008
【図８】
0004786412.tif 000009
【図９】
0004786412.tif 000010
【図１０】
0004786412.tif 000011
【図１１】
0004786412.tif 000012
【図１２】
0004786412.tif 000013
【図１３】
0004786412.tif 000014
【図１４】
0004786412.tif 000015
【図１５】
0004786412.tif 000016
【図１６】
0004786412.tif 000017
【図１７】
0004786412.tif 000018
【図１８】
0004786412.tif 000019
【図１９】
0004786412.tif 000020
【図２０】
0004786412.tif 000021
【図２１】
0004786412.tif 000022
【図２２】
0004786412.tif 000023
【図２３】
0004786412.tif 000024
【図２４】
0004786412.tif 000025
【図２５】
0004786412.tif 000026
【図２６】
0004786412.tif 000027
【図２７】
0004786412.tif 000028
【図２８】
0004786412.tif 000029
【図２９】
0004786412.tif 000030
【図３０】
0004786412.tif 000031
【図３１】
0004786412.tif 000032
【図３２】
0004786412.tif 000033
【図３３】
0004786412.tif 000034
【図３４】
0004786412.tif 000035
【図３５】
0004786412.tif 000036
【図３６】
0004786412.tif 000037
【図３７】
0004786412.tif 000038
【図３８】
0004786412.tif 000039
【図３９】
0004786412.tif 000040
【図４０】
0004786412.tif 000041
【図４１】
0004786412.tif 000042
【図４２】
0004786412.tif 000043