(57)【要約】【課題】  全二重通信においてメッセージの送受信の順序の入れ替わりを検知できる通信システムを提供する。【解決手段】  通信システムを構成するクライアント装置の制御部が実行する処理は、メッセージを受信するステップ（Ｓ９１０）と、メッセージから識別子を取得するステップ（Ｓ９２０）と、識別子記憶部から識別子を読み出すステップ（Ｓ９４０）と、読み出した識別子と取得した識別子とを比較するステップ（Ｓ９５０）と、これらの識別子が一致する場合に（Ｓ９６０にてＹＥＳ）、メッセージの行き違いが起こっていないと判定するステップ（Ｓ９７０）と、これらの識別子が一致しない場合に（Ｓ９６０にてＹＥＳ）、メッセージの行き違いが起こっていると判定するステップ（Ｓ９７０）とを含む。【選択図】        図９
2005346448.tif 000002
【特許請求の範囲】
【請求項１】
メッセージを双方向に通信可能な第１の通信装置および第２の通信装置を備え、
前記第１の通信装置は、
メッセージに対して一意の識別子を割り当てるための割当手段と、
前記識別子を前記メッセージに付加するための付加手段と、
前記識別子を格納するための記憶手段と、
通信路を介して、前記第２の通信装置に、前記識別子が付加されたメッセージを送信するための送信手段とを備え、
前記第２の通信装置は、
前記通信路を介して、前記第１の通信装置から、前記識別子が付加されたメッセージを受信するための手段と、
前記識別子を取得するための手段と、
取得された前記識別子を格納するための手段と、
格納されていた前記識別子をメッセージに付加するための識別子付加手段と、
前記通信路を介して、前記第１の通信装置に、前記識別子が付加されたメッセージを送信するための手段とを備え、
前記第１の通信装置はさらに、
前記通信路を介して、前記第２の通信装置から、前記識別子が付加されたメッセージを受信するための受信手段と、
受信された前記メッセージから、前記識別子を取得するための取得手段と、
格納されている前記識別子と、取得された前記識別子とを比較することにより、前記メッセージの通信の順序が逆転しているか否かを判定するための判定手段とを備える、通信システム。
【請求項２】
前記割当手段は、時系列的に一意な前記識別子をメッセージに割り当てる、請求項１に記載の通信システム。
【請求項３】
前記第１の通信装置は、
指示の入力を受け付けるための入力手段と、
前記入力に基づいて、複数のメッセージをそれぞれ生成するメッセージ生成手段と、
前記複数のメッセージの各々に一意に対応する識別子をそれぞれ生成するための識別子生成手段とをさらに備え、
前記割当手段は、前記複数のメッセージの各々に、前記一意に対応する識別子をそれぞれ対応付ける、請求項１に記載の通信システム。
【請求項４】
メッセージに対して一意の識別子を割り当てるための割当手段と、
前記識別子を前記メッセージに付加するための付加手段と、
前記識別子を格納するための記憶手段と、
通信路を介して、識別子が付加されたメッセージの受信に基づいて前記識別子を取得する手段と、取得された前記識別子を格納する手段と、格納されていた前記識別子をメッセージに付加する手段と、前記通信路に前記識別子が付加されたメッセージを出力する手段とを備える通信機器に、前記付加手段により識別子が付加されたメッセージを送信するための送信手段と、
前記通信路を介して、前記通信機器において識別子が付加されたメッセージを受信するための受信手段と、
受信された前記メッセージから、前記識別子を取得するための取得手段と、
格納されている前記識別子と、取得された前記識別子とに基づいて、前記メッセージの通信の順序が逆転しているか否かを判定するための判定手段とを備える、通信装置。
【請求項５】
前記割当手段は、時系列的に一意な前記識別子をメッセージに割り当てる、請求項４に記載の通信装置。
【請求項６】
前記通信装置は、
指示の入力を受け付けるための入力手段と、
前記入力に基づいて、複数のメッセージをそれぞれ生成するメッセージ生成手段と、
前記複数のメッセージの各々に一意に対応する識別子をそれぞれ生成するための識別子生成手段とをさらに備え、
前記割当手段は、前記複数のメッセージの各々に、前記一意に対応する識別子をそれぞれ対応付ける、請求項４に記載の通信装置。
【請求項７】
前記判定手段は、格納されている前記識別子と、取得された前記識別子とを比較することにより、前記メッセージの通信の順序が逆転しているか否かを判定する、請求項４に記載の通信装置。
【請求項８】
前記判定手段は、
取り出された前記識別子と格納されている前記識別子とが一致する場合には、メッセージの順序が逆転していないと判定し、そして、
取り出された前記識別子と格納されている前記識別子とが一致しない場合には、メッセージの順序が逆転していると判定する、請求項７に記載の通信装置。
【請求項９】
前記通信装置は、
前記判定手段による判定結果を表示するための情報を生成する情報生成手段と、
生成された前記情報を出力するための出力手段とをさらに備える、請求項４に記載の第１の通信装置。
【請求項１０】
コンピュータを通信装置として機能させるためのプログラムであって、前記プログラムは前記コンピュータに、
メッセージに対して一意の識別子を割り当てる割当ステップと、
前記識別子を前記メッセージに付加する付加ステップと、
前記識別子を格納する記憶ステップと、
通信路を介して、識別子が付加されたメッセージの受信に基づいて前記識別子を取得する手段と、取得された前記識別子を格納する手段と、格納されていた前記識別子をメッセージに付加する手段と、前記通信路に前記識別子が付加されたメッセージを出力する手段とを備える通信機器に、前記識別子が付加されたメッセージを送信する送信ステップと、
前記通信路を介して、前記通信機器から、前記識別子が付加されたメッセージを受信する受信ステップと、
受信された前記メッセージから、前記識別子を取得する取得ステップと、
格納されている前記識別子と、取得された前記識別子とに基づいて、前記メッセージの通信の順序が逆転しているか否かを判定する判定ステップとを実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信装置間における双方向通信に関し、特に、通信メッセージの順序の入れ替わりを検知することができる通信システム、そのシステムに含まれる通信装置、およびコンピュータを通信装置として機能させるためのプログラムに関する。
【背景技術】
【０００２】
近年、複数の機器を通信ネットワークを介して接続し、それぞれの機器で、システムを実現するための様々な処理を分担して実行する分散処理システムが多く用いられている。このような分散処理システムにおいては、パケット通信と呼ばれる通信方法が、分散した各機器間の通信のために使用されることが一般的である。パケット通信では、送信側の機器が大きなデータをパケットと呼ばれる小さなデータに分割し、パケット毎にデータを順次送信する。一方、受信側の機器は、当該送信された複数のパケットを順次受信し、受信した各パケットを結合して、分割前のデータを復元する。
【０００３】
上記のような分散情報システムでは、送信されたパケット（メッセージ）が、送信された順番と違う順番で受信されることがある（このような通信方法を「メッセージ順序を保証しない」と呼び、そのような通信手続きを「メッセージ順序を保証しないプロトコル」と呼ぶ）。通信が、メッセージ順序を保証しないプロトコルに基づいて行なわれる場合には、受信側の機器が、受信したメッセージを送信された順序に並び直すため、メッセージ順序が逆転しているか否かを検出することが必要になる場合がある。
【０００４】
従来、このような検出のために、メッセージに識別子を付加することによって、メッセージ順序の逆転を判定する手法がとられてきている。
【０００５】
例えば、特開平６−８３７４１号公報（特許文献１）は、伝送および順序に対する保証のない状態でも、メッセージに識別子を付加することによって受信したメッセージが最新かどうかを判定することができるデータ分散処理装置を開示する。この装置は、複数の計算機を含む。各計算機は、通信回線によりそれぞれ接続され、各計算機間で伝送されるメッセージの処理を実行する。各計算機は、自己に割り当てられた処理を実行する処理部と、処理結果を必要に応じて他の計算機にメッセージとして出力する送信部と、出力されるメッセージに順序づけ可能な有限桁で表現されるメッセージ識別子を割り当てる識別子割当部と、割り当てられたメッセージ識別子の範囲を示す値域を格納する識別子範囲記憶部と、自己宛のメッセージを取込む受信部と、最新のメッセージの識別子を格納する処理済み識別子記憶部と、使用する通信回線によっては連続して失われ得るメッセージ数を予め格納した損失数記憶部と、取込まれたメッセージが自己に対する最新のメッセージであるか否かを、そのメッセージに付けられた識別子と処理済み識別子記憶部と損失数記憶部および識別子範囲記憶部の値を用いた判定条件により判定して、最新のメッセージであるときはそのメッセージを処理装置に与え、最新のメッセージでないときは該メッセージを破棄する判定部とを含む。
【０００６】
特許文献１に開示された装置によると、送信側が一意の識別子を付加してメッセージを送信する。受信側は、その付加されたメッセージの識別子を読み取ることにより、最新のメッセージかどうかを判定する。ここで、メッセージの到着順序が伝送遅延により逆転していれば、最新でないメッセージが到着していることが判定される。その結果、一方の機器から他方の機器、あるいはその逆の単方向通信においては、あるメッセージの送信順序に対してそのメッセージの到着順序が逆転しているかを判定することができる。
【特許文献１】特開平６−８３７４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、二つの機器が非同期に双方向通信する場合には、通信ネットワークの伝送速度によってメッセージの送受信の順序が入れ替わる場合が生じる。たとえば、送信側のデータ送信間隔が経過するまでに、受信側からのデータが送信側の機器に到着しない場合、送信側が次のデータを送信することがある。一般に、メッセージ順序や伝送速度を保証しない通信プロトコルを用いて通信する機器が設計される場合、メッセージ順序や伝送速度に関らず、機器自体は正常に作動するように設計される。しかし、伝送速度の速い通信ネットワークによる通信と、伝送速度の遅い通信ネットワークでの通信とを比較した場合、その動作がそれぞれ「正常」であったとしても、同一の動作である保証はない。
【０００８】
ここで、アラーム機能のように、特定の時間になると処理を開始する動作を例にして、伝送速度によって動作が異なる（同一でない）場合を説明する。
【０００９】
二つの機器の一方がアラーム設定要求メッセージを送信すると、他方の機器がアラーム要求を受理してアラーム要求に設定された時刻を設定するようになっており、他方の機器はその設定された時刻になると、一方の機器に対してアラーム通知メッセージを送信する。また、他方の機器がアラーム通知メッセージを送信する前に、一方の機器がアラーム解除メッセージを送信して、それを他方の機器が受信した場合には、アラーム要求は解除され、他方の機器からアラーム通知メッセージは送信されないものとする。
【００１０】
上記の構成において、他方の機器がアラーム通知メッセージを送信する時刻の直前に一方の機器がアラーム解除メッセージを送信した場合、伝送速度が十分に速ければ、他方の機器がアラーム通知メッセージを送信するより先にアラーム解除メッセージを受信する。そのため、アラーム通知メッセージは送信されない。
【００１１】
しかし、伝送速度が遅ければ、他方がアラーム解除メッセージを受信するより前にアーム通知メッセージを送信してしまう。すなわち、伝送速度が異なる場合、動作の同一性は保証されない。
【００１２】
たとえば、伝送手段が完成していない等の理由により製品本来の伝送速度での試験ができないため、エミュレーション環境など、伝送速度が製品本来の伝送速度と異なる特別な試験環境で動作試験を行なわなければならない場合等においては、上述の「動作の同一性が保証されない」ことは問題となる。なぜならば、エミュレーション環境における動作と本来の製品の動作とが異なる可能性があることになるためである。また、エミュレーション環境で正常動作したとしても、製品では正常に動作しない可能性もあるためである。
【００１３】
製品本来の伝送速度と試験環境の伝送速度の違いによるメッセージの送受信順序を含めたテストの結果の齟齬（同一でないこと）を検出するためには、送信側および受信側の両装置間でのメッセージが行き違いになる現象を検出しなければならない。また、当該現象が発生した場合、その旨を速やかに通知しなければ、残りのテストが無駄になる。そのため、上記の現象をできるだけ早く検知する必要がある。
【００１４】
しかしながら、特許文献１に開示された装置は、一方向通信におけるメッセージの追い越しなどによるメッセージ順序の逆転を判定するものである。そのため、これを双方向通信に適用しても、それぞれの方向のメッセージ伝送においての順序の逆転を判定は可能であるが、上述のような場合における順序の相違は検出することはできないという問題があった。
【００１５】
本発明は、上述の問題点を解決するためになされたものであって、その目的は、双方向全二重通信を行なう機器において、メッセージ送信受信の順序が保証されない環境においても、双方がメッセージの送信を行なった場合に、伝送遅延等によってメッセージの送受信の順序が入れ替わることを即座に検知することができる通信システムを提供することである。
【００１６】
本発明の他の目的は、双方向の全二重通信が行なわれる通信システムにおいて、メッセージの送受信の入れ替わることを即座に検知することができる通信装置を提供することである。
【００１７】
本発明のさらに他の目的は、双方向の全二重通信が行なわれる通信システムにおいてメッセージの送受信の入れ替わることを即座に検知することができる通信装置として、コンピュータを機能させるためのプログラムを提供することである。
【課題を解決するための手段】
【００１８】
上記の課題を解決するために、この発明のある局面に従うと、通信システムは、メッセージを双方向に通信可能な第１の通信装置および第２の通信装置を備える。第１の通信装置は、メッセージに対して一意の識別子を割り当てるための割当手段と、識別子をメッセージに付加するための付加手段と、識別子を格納するための記憶手段と、通信路を介して、第２の通信装置に、識別子が付加されたメッセージを送信するための送信手段とを備える。第２の通信装置は、通信路を介して、第１の通信装置から、識別子が付加されたメッセージを受信するための手段と、識別子を取得するための手段と、取得された識別子を格納するための手段と、格納されていた識別子をメッセージに付加するための識別子付加手段と、通信路を介して、第１の通信装置に、識別子が付加されたメッセージを送信するための手段とを備える。第１の通信装置はさらに、通信路を介して、第２の通信装置から、識別子が付加されたメッセージを受信するための受信手段と、受信されたメッセージから、識別子を取得するための取得手段と、格納されている識別子と、取得された識別子とを比較することにより、メッセージの通信の順序が逆転しているか否かを判定するための判定手段とを備える。
【００１９】
好ましくは、割当手段は、時系列的に一意な識別子をメッセージに割り当てる。
【００２０】
好ましくは、第１の通信装置は、指示の入力を受け付けるための入力手段と、入力に基づいて、複数のメッセージをそれぞれ生成するメッセージ生成手段と、複数のメッセージの各々に一意に対応する識別子をそれぞれ生成するための識別子生成手段とをさらに備える。割当手段は、複数のメッセージの各々に、一意に対応する識別子をそれぞれ対応付ける。
【００２１】
この発明の他の局面に従うと、通信装置はメッセージに対して一意の識別子を割り当てるための割当手段と、識別子をメッセージに付加するための付加手段と、識別子を格納するための記憶手段と、通信路を介して、識別子が付加されたメッセージの受信に基づいて識別子を取得する手段と、取得された識別子を格納する手段と、格納されていた識別子をメッセージに付加する手段と、通信路に識別子が付加されたメッセージを出力する手段とを備える通信機器に、付加手段により識別子が付加されたメッセージを送信するための送信手段と、通信路を介して、通信機器において識別子が付加されたメッセージを受信するための受信手段と、受信されたメッセージから、識別子を取得するための取得手段と、格納されている識別子と、取得された識別子とに基づいて、メッセージの通信の順序が逆転しているか否かを判定するための判定手段とを備える。
【００２２】
好ましくは、割当手段は、時系列的に一意な識別子をメッセージに割り当てる。
【００２３】
好ましくは、通信装置は、指示の入力を受け付けるための入力手段と、入力に基づいて、複数のメッセージをそれぞれ生成するメッセージ生成手段と、複数のメッセージの各々に一意に対応する識別子をそれぞれ生成するための識別子生成手段とをさらに備える。割当手段は、複数のメッセージの各々に、一意に対応する識別子をそれぞれ対応付ける。
【００２４】
好ましくは、判定手段は、格納されている識別子と、取得された識別子とを比較することにより、メッセージの通信の順序が逆転しているか否かを判定する。
【００２５】
好ましくは、判定手段は、取り出された識別子と格納されている識別子とが一致する場合には、メッセージの順序が逆転していないと判定し、そして、取り出された識別子と格納されている識別子とが一致しない場合には、メッセージの順序が逆転していると判定する。
【００２６】
好ましくは、通信装置は、判定手段による判定結果を表示するための情報を生成する情報生成手段と、生成された情報を出力するための出力手段とをさらに備える。
【００２７】
この発明のさらに他の局面に従うと、プログラムは、コンピュータを通信装置として機能させる。このプログラムはコンピュータに、メッセージに対して一意の識別子を割り当てる割当ステップと、識別子をメッセージに付加する付加ステップと、識別子を格納する記憶ステップと、通信路を介して、識別子が付加されたメッセージの受信に基づいて識別子を取得する手段と、取得された識別子を格納する手段と、格納されていた識別子をメッセージに付加する手段と、通信路に識別子が付加されたメッセージを出力する手段とを備える通信機器に、識別子が付加されたメッセージを送信する送信ステップと、通信路を介して、通信機器から、識別子が付加されたメッセージを受信する受信ステップと、受信されたメッセージから、識別子を取得する取得ステップと、格納されている識別子と、取得された識別子とに基づいて、メッセージの通信の順序が逆転しているか否かを判定する判定ステップとを実行させる。
【発明の効果】
【００２８】
本発明に係る通信システムによると、通信装置は、情報通信装置にメッセージを送信する際に、そのメッセージに一意の識別子を付加すると共に、その識別子を記憶する。通信装置は、情報通信装置からメッセージを受信したとき、そのメッセージから識別子を取り出して比較する。記憶されている識別子と取り出された識別子とが一致するか否かに基づいて、メッセージの順序が入れ替わったか否かが判定される。これにより、通信システムは、双方向全二重通信を行なう機器において、メッセージ送信受信の順序が保証されない環境においても、双方がメッセージの送信を行なった場合に、伝送遅延等によってメッセージの送受信の順序が入れ替わることを即座に検知することができる。
【００２９】
本発明に係る通信装置によると、情報通信装置にメッセージを送信する際に、そのメッセージに一意の識別子を付加すると共に、その識別子を記憶する。通信装置は、情報通信装置からメッセージを受信したとき、そのメッセージから識別子を取り出して比較する。記憶されている識別子と取り出された識別子とが一致するか否かに基づいて、メッセージの順序が入れ替わったか否かが判定される。これにより、通信装置は、双方向の全二重通信が行なわれる通信システムにおいて、メッセージの送受信の入れ替わることを即座に検知することができる。
【００３０】
本発明に係るプログラムがコンピュータにおいて実行されると、そのコンピュータは、情報通信装置にメッセージを送信する際に、そのメッセージに一意の識別子を付加すると共に、その識別子を記憶する。コンピュータは、情報通信装置からメッセージを受信したとき、そのメッセージから識別子を取り出して比較する。記憶されている識別子と取り出された識別子とが一致するか否かに基づいて、メッセージの順序が入れ替わったか否かが判定される。これにより、コンピュータを、双方向の全二重通信が行なわれる通信システムにおいて、メッセージの送受信の入れ替わることを即座に検知することができる通信装置として機能することができる。
【発明を実施するための最良の形態】
【００３１】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００３２】
図１を参照して、本発明の実施の形態に係るデータ通信システムについて説明する。図１は、クライアント装置１００とサーバ装置１５０とにより構成される通信システムのブロック図である。クライアント装置１００は、ネットワーク１９０を介してサーバ装置１５０に接続されている。クライアント装置は、データを表示するための表示部１４５に接続されている。ここで、クライアント装置およびサーバ装置は、たとえばＰＣ（Personal Computer）により実現されるものであるが、これに限られず、情報処理機能と通信機能とを有する装置であればよい。ネットワーク１９０は、有線回線あるいは無線回線のいずれであってもよいし、公衆回線あるいはＬＡＮ（Local Area Network）その他の専用回線のいずれであってもよい。
【００３３】
図１に示されるように、クライアント装置１００は、データを格納するための記憶部１３０と、ネットワーク１９０を介してデータを送信するための送信部１０２と、ネットワーク１９０からデータを受信するための受信部１０５と、記憶部１３０に格納されているデータおよび受信部１０５を介して受信されるデータに基づいて予め定められた処理を実行するための制御部１１０とを含む。
【００３４】
制御部１１０は、送信データに識別子を割り当てるための識別子割当部１０３と、記憶部１３０に格納されているプログラムに基づいて予め定められた処理を実行するためのプログラム処理部１１１と、受信部１０５により受信されたデータと記憶部１３０に格納されているデータとに基づいて、受信されたデータが予め定められた条件を満足するか否かを判定するための判定部１０６とを含む。
【００３５】
プログラム処理部１１１は、予め定められた基準に基づいて識別子を生成するための生成部１１２と、生成された識別子を通信メッセージに付加するための付加部１１３と、識別子を更新するための更新部１１４と、受信部１０５により受信されたデータから識別子を取得するための取得部１１５と、記憶部１３０に格納されている識別子と取得された識別子とを比較するための比較部１１６と、送信部１０２を介したデータの送信および受信部１０５を介したデータの受信を制御するための通信制御部１１７とを含む。
【００３６】
生成部１１２は、たとえば、予め記憶されている初期値から、メッセージごとに、１カウントアップすることにより、各メッセージに一意の識別子を生成する。更新部１１４は、その識別子を記憶部１３０に書き込む。比較部１１６は、数値からなる識別子の場合は、その大小を比較する。文字列からなる場合には、各文字のコードを参照することにより、識別子を比較する。
【００３７】
記憶部１３０は、プログラム処理部１１１が実行するプログラムを記憶するためのプログラム記憶部１１８と、外部から入力されるデータあるいは予め定められた基準に基づいて生成されたメッセージを記憶するためのメッセージ記憶部１１９と、生成部１１２において生成された識別子を記憶するための識別子記憶部１０４とを含む。なお、記憶部１３０における構成は、上記したような構成に限られない。たとえば、１つのメモリが、上記メッセージ、データあるいは識別子を格納してもよい。
【００３８】
図１を再び参照して、サーバ装置１５０は、ネットワーク１９０を介してクライアント装置１００にデータを送信するための送信部１５８と、ネットワーク１９０を介してクライアント装置１００から、データを受信するための受信部１５６と、データおよびプログラムを格納するための記憶部１７０と、記憶部１７０に格納されているデータとプログラムおよび受信されたデータに基づいて予め定められた処理を実行するためのプログラム処理部１６０とを含む。
【００３９】
プログラム処理部１６０は、識別子を生成するための生成部１６１と、生成された識別子を通信メッセージに付加するための付加部１６２と、識別子を更新するための更新部１６３と、受信部１５６により受信されたデータから識別子を取出すための取得部１６４と、送信部１５８によるデータの送信および受信部１５６によるデータの受信を制御するための通信制御部１６５とを含む。
【００４０】
記憶部１７０は、生成された識別子を格納するための識別子記憶部１７２と、外部から入力されたメッセージデータあるいは予め定められた処理に基づいて生成されたメッセージを格納するためのメッセージ記憶部１７４と、プログラム処理部１６０が実行するためのプログラムを格納するプログラム記憶部１７６とを含む。
【００４１】
図２を参照して、本実施の形態に係るクライアント装置１００におけるデータ構造について説明する。図２は、クライアント装置１００の識別子記憶部１０４が識別子を格納する一態様を概念的に表わす図である。
【００４２】
図２に示されるように、通信メッセージに付加される識別子は、識別子記憶部１０４のデータ領域Ｄ２１０に格納される。通信メッセージが送信されると、その識別子は更新され、送信前に格納されていた値から１カウントアップしたデータが格納される。たとえば図２（Ａ）において、通信メッセージの送信前における識別子（「１」）が格納されている場合、そのデータが送信されるとプログラム処理部１１１の更新部１１４により識別子が更新される。更新された識別子は、識別子記憶部１０４のデータ領域Ｄ２１０に「２」として更新される。その結果、次回通信メッセージが送信される場合には、更新後の識別子（すなわち「２」）が当該通信メッセージに付加されて送信部１０２を介して送信される。
【００４３】
図３を参照して、本実施の形態に係るサーバ装置１５０におけるデータ構造について説明する。図３は、サーバ装置１５０の識別子記憶部１７２が識別子を格納する一態様を概念的に表わす図である。
【００４４】
データ通信が行なわれる場合の識別子の初期値は、たとえばデータ領域Ｄ３１０に格納される。図３（Ａ）の例では、初期値としてたとえば「０」が格納されている。サーバ装置１５０がクライアント装置１００から通信メッセージを受信すると、そのデータから、識別子が取得される。プログラム処理部１６０の更新部１６３は、その識別子を識別子記憶部１７２の領域Ｄ３１０に格納する。これにより、識別子が更新される（図３（Ｂ））。
【００４５】
ここで、図４および図５を参照して、本実施の形態におけるメッセージの形式について説明する。図４は、本実施の形態に係る通信システムにおいて通信されるメッセージの構成を概念的に表わすための図である。図５は、図４に示される構成を具体的に表わすための図である。
【００４６】
図４に示されるように、送信されるメッセージを識別するためのメッセージ識別子は、領域４１０に格納される。そのメッセージ本体は、領域４２０に格納される。このようなメッセージ構成において、たとえば図５に示されるように、メッセージ識別子「２」は、領域５１０に格納される。送信されるメッセージがアラーム解除を要求するデータである場合には、その要求を表わすメッセージが、領域５２０に格納される。ここで、メッセージは、たとえば予め定められた制御コードにより構成されるものであるが、その他の構成であってもよい。
【００４７】
図６を参照して、本実施の形態に係るクライアント装置１００を実現するためのコンピュータシステム６００について説明する。図６は、コンピュータシステム６００のハードウェア構成を表わすブロック図である。
【００４８】
コンピュータシステム６００は、相互にデータバスで接続されたＣＰＵ（Central Processing Unit）６１０と、外部からデータの入力を受付けるためのマウス６２０およびキーボード６３０と、入力されたデータおよびＣＰＵ６１０の演算処理により生成されたデータを格納するためのメモリ６４０と、外部から入力されたデータおよび演算処理により生成されたデータを記憶するための固定ディスク６５０と、ＦＤ（Flexible Disk）駆動装置６６０と、ＣＤ−ＲＯＭ（Compact Disk - Read Only Memory）駆動装置６７０と、通信回線に接続されコンピュータシステム６００と外部との間でデータ通信を行なうための通信ＩＦ（Interface）６８０とを含む。ＦＤ駆動装置６６０には、ＦＤ６６２が装着される。ＣＤ−ＲＯＭ駆動装置６７０には、ＣＤ−ＲＯＭ６７２が装着される。コンピュータシステム６００には、画像を表示するためのモニタ６９０が接続される。
【００４９】
ここで、図１に示したクライアント装置１００とコンピュータシステム６００との関係について説明する。
【００５０】
ＣＰＵ６１０は、制御部１１０として機能する。メモリ６４０あるいは固定ディスク６５０は、記憶部１３０として機能する。通信ＩＦ６８０は、送信部１０２および受信部１０５として機能する。また、モニタ６９０は、表示部１４５として機能する。
【００５１】
このように、図１の説明において詳述した各部による処理は、その処理をハードウェアに実行させるためのソフトウェアをＣＰＵ６１０により実行させることによっても実現することができる。このようなソフトウェアは、ハードウェアに予め記憶されている場合もあれば、ＣＤ−ＲＯＭ６７２その他の情報記録媒体に格納されて流通し、ＣＤ−ＲＯＭ駆動装置６７０などによりその記録媒体から読取られて、プログラムを格納する固定ディスク６５０に一旦格納される場合もある。そのソフトウェアは、固定ディスク６５０からメモリ６４０に読出されて、ＣＰＵ６１０により実行される。図６に示したコンピュータシステム６００のハードウェア構成は、コンピュータの構成として一般的なものである。したがって、本発明の最も本質的な部分は、固定ディスク６５０、ＣＤ−ＲＯＭ６７２その他の情報記録媒体に格納されたソフトウェアであるとも言える。なお、コンピュータシステム６００を構成する各ハードウェアの動作は周知である。したがって、それらについての説明はここでは繰り返さない。
【００５２】
図７を参照して、本実施の形態に係るサーバ装置１５０を実現するためのコンピュータシステム７００について説明する。図７は、コンピュータシステム７００のハードウェア構成を表わすブロック図である。
【００５３】
コンピュータシステム７００は、相互にデータバスで接続されたＣＰＵ７１０と、外部からデータの入力を受付けるためのマウス７２０およびキーボード７３０と、入力されたデータおよびＣＰＵ７１０の演算処理により生成されたデータを格納するためのメモリ７４０と、外部から入力されたデータおよび演算処理により生成されたデータを記憶するための固定ディスク７５０と、ＦＤ駆動装置７６０と、ＣＤ−ＲＯＭ駆動装置７７０と、通信回線に接続され、コンピュータシステム７００と外部との間でデータ通信を行なうための通信ＩＦ７８０とを含む。ＦＤ駆動装置７６０には、ＦＤ７６２が装着される。ＣＤ−ＲＯＭ駆動装置７７０には、ＣＤ−ＲＯＭ７７２が装着される。
【００５４】
ここで、図１に示したサーバ装置１５０とコンピュータシステム７００との関係について説明する。
【００５５】
ＣＰＵ７１０は、プログラム処理部１６０として機能する。メモリ７４０あるいは固定ディスク７５０は、記憶部１７０として機能する。通信ＩＦ７８０は、送信部１５８および受信部１５６として機能する。このように、図１の説明において詳述した各部による処理は、その処理をハードウェアに実行させるためのソフトウェアをＣＰＵ７１０により実行させることによっても実現することができる。なお、上記したように、コンピュータシステム７００を構成する各ハードウェアの動作は周知である。したがって、それらについての説明はここでは繰り返さない。
【００５６】
図８を参照して、本実施の形態に係るクライアント装置１００の制御構造について説明する。図８は、クライアント装置１００の制御部１１０が実行する処理の手順を表わすフローチャートである。したがって、クライアント装置１００がコンピュータシステム６００により実現される場合には、ＣＰＵ６１０が各処理を実行する。以下の処理は、クライアント装置１００がメッセージをサーバ装置１５０に送信する場合に実行される。
【００５７】
ステップＳ８１０にて、制御部１１０は、予め格納されたプログラムを実行して通信メッセージを生成する。ステップＳ８２０にて、制御部１１０は、生成したメッセージに付加するための識別子を割り当てる。この識別子は、そのメッセージに一意に与えられる。
【００５８】
ステップＳ８３０にて、制御部１１０は、割り当てた識別子を生成したメッセージに付加して通信メッセージを生成する（図５）。ステップＳ８４０にて、制御部１１０は、ネットワーク１９０を介して、サーバ装置１５０に通信メッセージを送信する。
【００５９】
ステップＳ８５０にて、制御部１１０は、メッセージに付加した識別子を識別子記憶部１０４の所定のデータ領域に格納する。
【００６０】
図９を参照して、本実施の形態に係るクライアント装置１００の制御構造についてさらに説明する。図９は、クライアント装置１００の制御部１１０が実行する判定処理の手順を表わすフローチャートである。この処理は、クライアント装置１００がサーバ装置１５０からメッセージを受信したときに実行される。
【００６１】
ステップＳ９１０にて、制御部１１０は、ネットワーク１９０を介して、サーバ装置１５０からメッセージを受信する。ステップＳ９２０にて、制御部１１０は、受信したメッセージから識別子を取得する。ステップＳ９３０にて、制御部１１０は、受信したメッセージをメッセージ記憶部１１９の所定の領域に格納する。
【００６２】
ステップＳ９４０にて、制御部１１０は、識別子記憶部１０４のデータ領域Ｄ２１０（図２）から格納されていた識別子を読み出す。ステップＳ９５０にて、制御部１１０は、読み出した識別子と取得した識別子とを比較する。ステップＳ９６０にて、制御部１１０は、これらの識別子が一致するか否かを判定する。これらの識別子が一致する場合には（ステップＳ９６０にてＹＥＳ）、処理はステップＳ９７０に移される。そうでない場合には（ステップＳ９６０にてＮＯ）、処理はステップＳ９８０に移される。
【００６３】
ステップＳ９７０にて、制御部１１０は、クライアント装置１００とサーバ装置１５０との間で、メッセージの行き違いは起こっていないと判定する。制御部１１０は、さらに、判定結果を通知するためのデータを生成する。
【００６４】
ステップＳ９８０にて、制御部１１０は、クライアント装置１００とサーバ装置１５０との間でメッセージの行き違いが生じたと判定する。制御部１１０は、さらに、判定結果を通知するためのデータを生成する。
【００６５】
ステップＳ９９０にて、制御部１１０は、判定結果を表示部１４５に出力する。その結果、表示部１４５は、メッセージの行き違いが生じているか否かを表わすための表示を所定の領域に示す。
【００６６】
図１０を参照して、本実施の形態に係るサーバ装置１５０の制御構造について説明する。図１０は、サーバ装置１５０のプログラム処理部１６０が実行する処理の手順を表わすフローチャートである。したがって、サーバ装置１５０がコンピュータシステム７００により実現される場合には、ＣＰＵ７１０が各処理を実行する。以下の処理は、サーバ装置１５０がメッセージをクライアント装置１００に送信する場合に実行される。
【００６７】
ステップＳ１０１０にて、プログラム処理部１６０は、予め定められたプログラムを実行して、所定の通信メッセージを生成する。ステップＳ１０２０にて、プログラム処理部１６０は、識別子記憶部１７２のデータ領域Ｄ３１０から、格納されている識別子を読み出す。
【００６８】
ステップＳ１０３０にて、プログラム処理部１６０は、読み出した識別子をメッセージに付加して通信メッセージを生成する。ステップＳ１０４０にて、プログラム処理部１６０は、ネットワーク１９０を介して、識別子が付加されたメッセージをクライアント装置１００に向けて送信する。
【００６９】
図１１を参照して、本実施の形態に係るサーバ装置１５０の制御構造についてさらに説明する。図１１は、サーバ装置１５０がクライアント装置１００からメッセージを受信した場合にプログラム処理部１６０が実行する処理の手順を表わすフローチャートである。
【００７０】
ステップＳ１１１０にて、プログラム処理部１６０は、クライアント装置１００から、識別子が付加されているメッセージを受信する。ステップＳ１１２０にて、プログラム処理部１６０は、受信したメッセージから識別子を取得する。この取得は、たとえば予め定められたメッセージ領域に格納されているデータを読み出すことにより行なわれる。
【００７１】
ステップＳ１１３０にて、プログラム処理部１６０は、メッセージ記憶部１７４の所定の記憶領域に、受信したメッセージを格納する。この格納は、たとえば各メッセージごとに一意の記憶領域を逐次割り当てることにより行われる。この領域をメッセージ記憶部１７４に記憶しておくことにより、その後受信するメッセージは、他の領域に格納されるため、誤って上書き更新される恐れがなくなる。
【００７２】
ステップＳ１１４０にて、プログラム処理部１６０は、識別子記憶部１７２のデータ領域Ｄ３１０に取得した識別子を格納する。これにより、メッセージの受信前に格納されていた識別子は、そのメッセージに付加されていた識別子に変更される。
【００７３】
ここで、図１２および図１３を参照して、ネットワーク１９０におけるメッセージの伝送について説明する。図１２は、伝送速度が速いネットワークにおいてクライアント装置とサーバ装置との間で行なわれるメッセージの伝送を説明するための図である。図１３は、伝送速度が遅いネットワークにおいて行なわれる当該メッセージの伝送を説明するための図である。
【００７４】
図１２に示されるように、第１のメッセージ１２１０が特定の時刻においてクライアント装置からサーバ装置に向けて送信される。サーバ装置は、クライアント装置から受信する第１のメッセージ１２１０に対して予め定められた時間（たとえば１秒）後に、そのメッセージに応答する第２のメッセージ１２２０を返信する。ここで、クライアント装置とサーバ装置との間の伝送速度は速いため、第１のメッセージ１２１０および第２のメッセージ１２２０の通信は、クライアント装置が次のメッセージ（すなわち第３のメッセージ１２３０）を送信する前に完了する。
【００７５】
たとえば、クライアント装置におけるデータの送信間隔が５秒である場合には、その５秒が経過するまでに送信メッセージとそのメッセージに対する返信メッセージとのやり取りが完了する。したがって、クライアント装置は、サーバ装置からメッセージを受信した後に、次のメッセージを送信することになる。その結果、図１２に示されるように、各装置によりやり取りされるメッセージは、送信順序が入れ替わることなく所定の順次で行なわれる。
【００７６】
一方、図１３に示されるように、ネットワークにおける伝送速度が遅い場合、通信メッセージの順序が入れ替わる場合がある。たとえば、クライアント装置がサーバ装置に第１のメッセージ１２１０を送信し、そのメッセージに対する返信がサーバ装置からクライアント装置に届く前に、クライアント装置はサーバ装置に、次のメッセージ、第３のメッセージ１２３０を送信する。この場合、第１のメッセージ１２１０に対する返信である第２のメッセージ１２２０は、クライアント装置が第３のメッセージ１２３０を送信した後に、クライアント装置に到達することになる。すなわち、第２のメッセージ１２２０および第３のメッセージ１２３０の順序が入れ替わる。このように、ネットワークにおける転送速度が遅い場合には、図１３に示されるように通信メッセージの送受信の順序が入れ替わる場合が生じ得る。
【００７７】
以上のような構造およびフローチャートに基づく、本実施の形態に係る通信システムの動作について、図１４および図１５を参照して説明する。以下、ネットワーク１９０における伝送速度が速い場合と遅い場合とについて説明する。
【００７８】
図１４に示されるように、クライアント装置１００において、識別子記憶部１０４は、識別子の初期値として「０」を格納している。クライアント装置１００が第１のメッセージ１２１０を送信する場合、初期化されている識別子は、１カウントアップされ「１」に更新される。更新後の識別子は、第１のメッセージ１２１０に付加される（ステップＳ８３０）。クライアント装置１００は、サーバ装置１５０に、識別子が付加された第１のメッセージ１２１０を送信する（ステップＳ８４０）。
【００７９】
サーバ装置１５０において、識別子記憶部１７２は、通信メッセージの受信前に、識別子の初期値として「０」をデータ領域Ｄ３１０に格納している（図３（Ａ））。サーバ装置１５０がクライアント装置１００から第１のメッセージ１２１０を受信すると（ステップＳ１１１０）、そのメッセージに付加されている識別子が取り出される（ステップＳ１１２０）。その識別子は、データ領域Ｄ３１０に格納される（Ｓ１１４０）。これにより、識別子記憶部１７２の識別子は、「０」から「１」に変更される。
【００８０】
一方、クライアント装置１００が第２のメッセージ１２２０を送信する場合、既に識別子記憶部１０４に格納されている識別子「１」に対し更新処理が行なわれ、識別子「２」が新たに生成される（ステップＳ８２０）。この識別子は、第２のメッセージ１２２０に付加される（ステップＳ８３０）。クライアント装置１００は、サーバ装置１５０にこのメッセージを送信する（ステップＳ８４０）。
【００８１】
サーバ装置１５０が第２のメッセージ１２２０を受信すると（ステップＳ１１１０）、その受信メッセージから識別子「２」を取り出し（ステップＳ１１２０）、識別子記憶部１７２の所定の領域Ｄ３１０に格納する（ステップＳ１１４０）。これにより、領域Ｄ３１０の値は、メッセージの受信前の「１」から「２」に変更される。
【００８２】
サーバ装置１５０がクライアント装置１００に第３のメッセージ１２３０を送信する場合、サーバ装置１５０は、識別子記憶部１７２のデータ領域Ｄ３１０から、識別子「２」を読み出す（ステップＳ１０２０）。サーバ装置１５０は、第３のメッセージ１２３０にその識別子を付加する（ステップＳ１０３０）。サーバ装置１５０は、クライアント装置１００に、この識別子が付加された第３のメッセージ１２３０を送信する（ステップＳ１０４０）。
【００８３】
クライアント装置１００が第３のメッセージ１２３０を受信すると（ステップＳ９１０）、そのメッセージから識別子を取り出す（ステップＳ９２０）。クライアント装置１００は、識別子記憶部１０４に既に格納されている識別子「２」と受信メッセージ（すなわち第３のメッセージ１２３０）から取得された識別子「２」とを比較する（ステップＳ９５０）。この場合、これらの識別子は一致するため（ステップＳ９６０にてＹＥＳ）、クライアント装置１００は、通信メッセージの順序は入れ替わっていないと判定する（ステップＳ９７０）。
【００８４】
次に、図１５を参照して、ネットワークにおける伝送速度が遅い場合について説明する。クライアント装置１００がサーバ装置１５０に第１のメッセージ１２１０を送信する場合に実行する処理と、サーバ装置がそのメッセージを受信した場合に実行する処理とは、図１４において示した処理と同じであるため、ここでは繰り返さない。
【００８５】
クライアント装置１００は、所定の送信間隔が経過した後、第２のメッセージ１２２０を、前述したように、識別子１５２０を付加してサーバ装置１５０に送信する。クライアント装置１００は、識別子記憶部１７２に、識別子１５２０のデータを格納する。その結果、識別子記憶部１７２のデータ領域Ｄ３１０の識別子は、「２」となる。
【００８６】
このとき、サーバ装置１５０が、第２のメッセージ１２２０を受信する前に、第１のメッセージ１２１０から取得した識別子１５１０を使用して、第３のメッセージ１２３０を送信する。すなわち、識別子１５１０の値は「１」であるため、第３のメッセージ１２３０には、その識別子「１」が付加され、サーバ装置１５０はクライアント装置１００に、そのメッセージを送信する。
【００８７】
クライアント装置１００が第３のメッセージ１２３０を受信したとき（ステップＳ９１０）、第３のメッセージ１２３０から識別子１５１０が取出される（ステップＳ９２０）。その値（「１」）は、識別子記憶部１０４に格納されている識別子「２」と一致しないため（ステップＳ９６０にてＮＯ）、クライアント装置１００は、サーバ装置１５０との間の通信においてメッセージの順序が入れ替わったと判定することができる。
【００８８】
以上のようにして、本実施の形態に係る通信システムによると、クライアント装置１００が複数のメッセージの各々を送信する場合に、各メッセージに一意の識別子が予め定められた基準に基づいて付加される。その識別子はメッセージの送信に合わせて識別子記憶部１０４に格納される。クライアント装置１００がそのメッセージをサーバ装置に送信した後、サーバ装置１５０から、動揺の構造を有するメッセージを受信すると、そのメッセージから識別子が取得され、格納されている識別子と一致するか否かが判定される。これらの識別子が一致する場合には、通信されたメッセージの順序は入れ替わっていないと判定される。一致しない場合には、その順序は入れ替わっていると判定される。このようにすると、双方向通信において複数のメッセージが逐次送信される場合において、ネットワークにおけるメッセージ伝送の遅延などにより、メッセージの順序が入れ替わったことを速やかに検知することができる。
【００８９】
これにより、たとえば、伝送速度が十分速い分散実行システムのために作成されたテストを、伝送速度が遅い分散システムで実行する場合において、伝送速度が十分速い分散実行システムにおける通信テストの結果と、伝送速度が遅い分散システムにおける通信テストの結果とが異なることを検出することが可能になる。その結果、そのテストが検証すべき実行シーケンスが正確に実行されていたか否かを把握することができる。また、通信ネットワークにおける伝送遅延の大きさが変化し得るシステムを使用する場合、通信テストにおいて、意図した実行シーケンスに従うテストを実行することができる。
【００９０】
＜変形例＞
なお、本実施の形態においては、クライアント装置１００とサーバ装置１５０とは、それぞれ１つの通信装置を構成するものとして説明したが、通信システムに複数のクライアント装置１００あるいはサーバ装置１５０が含まれていてもよい。この場合、各装置を識別するためのデータを、通信メッセージの識別子に対応付けて、各装置が有する記憶部に格納することにより、特定の通信装置間におけるメッセージの通信を行なうと共に、本発明に係る判定処理を実行することができる。
【００９１】
ここで、図１６を参照して、本変形例に係る通信システムにおいて通信されるメッセージ構造について説明する。図１６は、特定の通信装置に送信されるメッセージの構造を概念的に表わす図である。
【００９２】
すなわち、複数のクライアント装置がメッセージを通信する場合、特定のクライアント装置を識別するためのクライアント識別子１６１０は、メッセージ識別子４１０およびメッセージ本体４２０に付加される。このメッセージを受信したサーバ装置は、クライアント識別子１６１０に基づいて、返信メッセージを送信するため、各クライアント装置は、他のクライアント装置に向けられたメッセージを受信しない。したがって、各クライアント装置は、自身が通信したメッセージのみについて、順序の入れ替わりの有無を判定することができる。複数のサーバ装置が通信システムに含まれる場合も、サーバ装置を識別するためのデータをメッセージに付加することにより、同様に、クライアント装置が、メッセージの順次の入れ替わりを判定することを可能にすることができる。このようにして、複数のクライアント装置あるいはサーバ装置が通信システムを構成する場合も、通信メッセージの順序の入れ替わりを容易に検知することができる。
【００９３】
ここで、図１７を参照して、本発明の実施の形態に係る通信システムの具体例についてさらに説明する。図１７は、携帯電話１７０２，１７０４により構成される通信システムの構成を表わす図である。この通信システムは、携帯電話１７０２と携帯電話１７０４とを遠隔地（たとえば、日本と欧州の一カ国）に配置し、インターネットを介して、各携帯電話を接続することにより構成される。このような通信システムでは、各通信装置、すなわち携帯電話が、物理的に遠隔地に配置されているため、通信データの伝送速度が、実際の使用環境における速度よりも遅くなる場合がある。このような通信環境において、本願に係る通信システムにより通信テストを実行することにより、伝送の遅延などを速やかに検知することが可能になる。
【００９４】
図１７に示されるように、携帯電話１７０２は、ネットワーク１７９２を介して携帯電話１７０４に接続されている。携帯電話１７０４は、基地局１７８０とネットワーク１７９０とを介して、外部からのアクセスに応じて情報を出力可能なサービス装置１７００と通信可能である。
【００９５】
携帯電話１７０２は、ブラウザ１７１０と、ソケットリレーモジュール１７２０と、通信層１７３０と、ネットワーク１７９２に接続されたケーブル（図示しない）を接続するための端子（図示しない）とを含む。ブラウザ１７１０は、たとえばモニタ（図示しない）においてメモリ（図示しない）に格納されているプログラムにより実現される。ブラウザ１７１０は、ユーザの操作に応答して、そのモニタに、その操作に対応した情報、あるいは外部から受信した情報を表示する。ソケットリレーモジュール１７２０は、たとえばそのメモリに格納されており、後述するデータの通信のための各処理を実現する。
【００９６】
このモジュールは、たとえば、携帯電話１７０２の通信テストが実行される間、メモリに格納されており、そのテストの終了後は、そのメモリから削除されるものであるが、削除されなくてもよい。この場合、テスト後（すなわち、実際の使用時）に、そのモジュールによる機能が実行されないように、特定のパラメータを外部から入力可能な構成にしてもよい。この場合、必要に応じて、通信テストを再開することができる。
【００９７】
携帯電話１７０４は、ブラウザ１７４０と、ソケットリレーモジュール１７５０と、通信層１７６０と、アンテナ１７７０と、ネットワーク１７９２に接続されたケーブル（図示しない）を接続するための端子（図示しない）とを含む。ブラウザ１７４０は、ブラウザ１７１０と同様の機能を実現するためのソフトウェアである。
【００９８】
携帯電話１７０２において、ブラウザ１７１０に対する指令が、ボタン、数字キー等の入力部（図示しない）を介して携帯電話１７０２に入力されると、その指令は、ソケットリレーモジュール１７２０と称されるソフトウェアインタフェースを介して、ネットワーク１７９２に出力される。このネットワーク１７９２は、たとえばインターネットである。この場合、ブラウザ１７１０の機能を実現するためのプログラムは、その操作に応答して、通常の通信処理を実行する指令を出力する。すなわち、携帯電話１７０２において、ブラウザ１７１０は、通信層１７３０が本来有する通信機能によりサービス１７００に接続するかのように、通常の指令を出力する。
【００９９】
ソケットリレーモジュール１７２０は、指令の出力に応答して、サービス１７００へのアクセスのためのアクセス情報について、時間的に一意な識別子を生成する。ソケットリレーモジュール１７２０は、その識別子をアクセス情報に付加して出力する。すなわち、ソケットリレーモジュール１７２０は、図１に示した制御部１３０として機能する。ソケットリレーモジュール１７２０は、その識別子をメモリ（図示しない）の所定の領域に格納する。
【０１００】
ソケットリレーモジュール１７２０は、通信層１７３０を介することなく、ネットワーク１７９２を介して、上記のアクセス情報を送信する。このとき、ソケットリレーモジュール１７２０は、アクセス情報の形式を、ネットワーク２６００における伝送形式、たとえばシリアル形式に変換して出力する。
【０１０１】
その情報は、ネットワーク１７９２を介して、遠隔地に配置された携帯電話１７０４に送信される。携帯電話１７０４において、ソケットリレーモジュール１７５０は、受信した情報から、識別子を読み取り、メモリ（図示しない）の所定の領域に格納する。ソケットリレーモジュール１７５０が、携帯電話１７０２に対するメッセージを送信する場合には、格納してある識別子をそのメッセージに付加する。
【０１０２】
ソケットリレーモジュール１７５０が、携帯電話１７０２に対して、識別子を付加したメッセージを送信すると、ソケットリレーモジュール１７２０は、そのメッセージから識別子を取得する。ソケットリレーモジュール１７２０は、メモリから識別子を読み取り、取得した識別子と比較する。これらの識別子が一致している場合には、ソケットリレーモジュールは、その後の情報の通信を継続する。一致していない場合には、携帯電話１７０２，１７０４の間におけるメッセージの通信に行き違いが発生したと判定し、その旨を放置するための信号を生成して出力する。その結果、携帯電話１７０２は、その信号に基づいてＬＥＤ（図示しない）を点滅させたり、モニタ（図示しない）にその旨を表示する。
【０１０３】
以上のようにして、実際に携帯電話１７０２が使用される伝送速度と通信テスト環境における伝送速度の違いによるメッセージの通信テストの結果を速やかに検出し、報知することができる。そのため、後続のテストを中止するなどの措置をとることが可能になるため、通信テストの無駄を防止することができる。
【０１０４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０１０５】
本発明は、双方向のメッセージ通信が可能な通信システム、特に、遠隔地に配置された複数の通信装置からなる通信システムに適用可能である。
【図面の簡単な説明】
【０１０６】
【図１】本発明の実施の形態に係る通信システムの構成を表わすブロック図である。
【図２】本発明の実施の形態に係る通信システムに含まれるクライアント装置におけるデータ構造を表わす図である。
【図３】本発明の実施の形態に係る通信システムに含まれるサーバ装置におけるデータ構造を表わす図である。
【図４】本発明の実施の形態に係る通信システムにおいて通信されるメッセージの形式を説明するための図（その１）である。
【図５】本発明の実施の形態に係る通信システムにおいて通信されるメッセージの形式を説明するための図（その２）である。
【図６】本発明の実施の形態に係る通信システムに含まれるクライアント装置を実現するコンピュータの構成を表わすブロック図である。
【図７】本発明の実施の形態に係る通信システムに含まれるサーバ装置を実現するコンピュータの構成を表わすブロック図である。
【図８】本発明の実施の形態に係る通信システムに含まれるクライアント装置が実行する処理の手順を表わすフローチャート（その１）である。
【図９】本発明の実施の形態に係る通信システムに含まれるクライアント装置が実行する処理の手順を表わすフローチャート（その２）である。
【図１０】本発明の実施の形態に係る通信システムに含まれるサーバ装置が実行する処理の手順を表わすフローチャート（その１）である。
【図１１】本発明の実施の形態に係る通信システムに含まれるサーバ装置が実行する処理の手順を表わすフローチャート（その２）である。
【図１２】ネットワークを介したメッセージの伝送を説明するための図（その１）である。
【図１３】ネットワークを介したメッセージの伝送を説明するための図（その２）である。
【図１４】本発明の実施の形態に係る通信システムによるメッセージの伝送を説明するための図（その１）である。
【図１５】本発明の実施の形態に係る通信システムによるメッセージの伝送を説明するための図（その２）である。
【図１６】本発明の実施の形態の変形例に係る通信システムにおいて通信されるメッセージの形式を説明するための図である。
【図１７】本発明の実施の形態の変形例に係る通信システムを説明するための図である。
【符号の説明】
【０１０７】
１００  クライアント装置、１０２  送信部、１０３  識別子割当部、１０４，１７２  識別子記憶部、１０５  受信部、１０６  判定部、１１０  制御部、１１１，１６０  プログラム処理部、１１２，１６１  生成部、１１３，１６２  付加部、１１４，１６３  更新部、１１５，１６４  取得部、１１６  比較部、１１７，１６５  通信制御部、１１８，１７６  プログラム記憶部、１１９，１７４  メッセージ記憶部、１３０，１７０  記憶部、１４５  表示部、１５０  サーバ装置、１９０、１７９０，１７９２  ネットワーク、６００，７００  コンピュータシステム、６１０，７１０  ＣＰＵ、６２０，７２０  マウス、６３０，７３０  キーボード、６４０，７４０  メモリ、６５０，７５０  固定ディスク、６６０，７６０  ＦＤ駆動装置、６６２，７６２  ＦＤ、６７０，７７０  ＣＤ−ＲＯＭ駆動装置、６７２，７７２  ＣＤ−ＲＯＭ、６８０，７８０  通信ＩＦ、１７０２，１７０４  携帯電話、１７１０，１７４０  ブラウザ、１７２０，１７５０  ソケットリレーモジュール、１７３０，１７６０  通信層、１７７０  アンテナ、１７８０  基地局。
【図１】
2005346448.tif 000003
【図２】
2005346448.tif 000004
【図３】
2005346448.tif 000005
【図４】
2005346448.tif 000006
【図５】
2005346448.tif 000007
【図６】
2005346448.tif 000008
【図７】
2005346448.tif 000009
【図８】
2005346448.tif 000010
【図９】
2005346448.tif 000011
【図１０】
2005346448.tif 000012
【図１１】
2005346448.tif 000013
【図１２】
2005346448.tif 000014
【図１３】
2005346448.tif 000015
【図１４】
2005346448.tif 000016
【図１５】
2005346448.tif 000017
【図１６】
2005346448.tif 000018
【図１７】
2005346448.tif 000019