JP2005346448A - 通信システム、そのシステムに含まれる通信装置、およびコンピュータを通信装置として機能させるためのプログラム - Google Patents

通信システム、そのシステムに含まれる通信装置、およびコンピュータを通信装置として機能させるためのプログラム Download PDF

Info

Publication number
JP2005346448A
JP2005346448A JP2004165867A JP2004165867A JP2005346448A JP 2005346448 A JP2005346448 A JP 2005346448A JP 2004165867 A JP2004165867 A JP 2004165867A JP 2004165867 A JP2004165867 A JP 2004165867A JP 2005346448 A JP2005346448 A JP 2005346448A
Authority
JP
Japan
Prior art keywords
identifier
message
communication
communication device
messages
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.)
Withdrawn
Application number
JP2004165867A
Other languages
English (en)
Inventor
Masayuki Fujii
正行 藤井
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.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2004165867A priority Critical patent/JP2005346448A/ja
Publication of JP2005346448A publication Critical patent/JP2005346448A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】 全二重通信においてメッセージの送受信の順序の入れ替わりを検知できる通信システムを提供する。
【解決手段】 通信システムを構成するクライアント装置の制御部が実行する処理は、メッセージを受信するステップ(S910)と、メッセージから識別子を取得するステップ(S920)と、識別子記憶部から識別子を読み出すステップ(S940)と、読み出した識別子と取得した識別子とを比較するステップ(S950)と、これらの識別子が一致する場合に(S960にてYES)、メッセージの行き違いが起こっていないと判定するステップ(S970)と、これらの識別子が一致しない場合に(S960にてYES)、メッセージの行き違いが起こっていると判定するステップ(S970)とを含む。
【選択図】 図9

Description

本発明は、複数の通信装置間における双方向通信に関し、特に、通信メッセージの順序の入れ替わりを検知することができる通信システム、そのシステムに含まれる通信装置、およびコンピュータを通信装置として機能させるためのプログラムに関する。
近年、複数の機器を通信ネットワークを介して接続し、それぞれの機器で、システムを実現するための様々な処理を分担して実行する分散処理システムが多く用いられている。このような分散処理システムにおいては、パケット通信と呼ばれる通信方法が、分散した各機器間の通信のために使用されることが一般的である。パケット通信では、送信側の機器が大きなデータをパケットと呼ばれる小さなデータに分割し、パケット毎にデータを順次送信する。一方、受信側の機器は、当該送信された複数のパケットを順次受信し、受信した各パケットを結合して、分割前のデータを復元する。
上記のような分散情報システムでは、送信されたパケット(メッセージ)が、送信された順番と違う順番で受信されることがある(このような通信方法を「メッセージ順序を保証しない」と呼び、そのような通信手続きを「メッセージ順序を保証しないプロトコル」と呼ぶ)。通信が、メッセージ順序を保証しないプロトコルに基づいて行なわれる場合には、受信側の機器が、受信したメッセージを送信された順序に並び直すため、メッセージ順序が逆転しているか否かを検出することが必要になる場合がある。
従来、このような検出のために、メッセージに識別子を付加することによって、メッセージ順序の逆転を判定する手法がとられてきている。
例えば、特開平6−83741号公報(特許文献1)は、伝送および順序に対する保証のない状態でも、メッセージに識別子を付加することによって受信したメッセージが最新かどうかを判定することができるデータ分散処理装置を開示する。この装置は、複数の計算機を含む。各計算機は、通信回線によりそれぞれ接続され、各計算機間で伝送されるメッセージの処理を実行する。各計算機は、自己に割り当てられた処理を実行する処理部と、処理結果を必要に応じて他の計算機にメッセージとして出力する送信部と、出力されるメッセージに順序づけ可能な有限桁で表現されるメッセージ識別子を割り当てる識別子割当部と、割り当てられたメッセージ識別子の範囲を示す値域を格納する識別子範囲記憶部と、自己宛のメッセージを取込む受信部と、最新のメッセージの識別子を格納する処理済み識別子記憶部と、使用する通信回線によっては連続して失われ得るメッセージ数を予め格納した損失数記憶部と、取込まれたメッセージが自己に対する最新のメッセージであるか否かを、そのメッセージに付けられた識別子と処理済み識別子記憶部と損失数記憶部および識別子範囲記憶部の値を用いた判定条件により判定して、最新のメッセージであるときはそのメッセージを処理装置に与え、最新のメッセージでないときは該メッセージを破棄する判定部とを含む。
特許文献1に開示された装置によると、送信側が一意の識別子を付加してメッセージを送信する。受信側は、その付加されたメッセージの識別子を読み取ることにより、最新のメッセージかどうかを判定する。ここで、メッセージの到着順序が伝送遅延により逆転していれば、最新でないメッセージが到着していることが判定される。その結果、一方の機器から他方の機器、あるいはその逆の単方向通信においては、あるメッセージの送信順序に対してそのメッセージの到着順序が逆転しているかを判定することができる。
特開平6−83741号公報
ところで、二つの機器が非同期に双方向通信する場合には、通信ネットワークの伝送速度によってメッセージの送受信の順序が入れ替わる場合が生じる。たとえば、送信側のデータ送信間隔が経過するまでに、受信側からのデータが送信側の機器に到着しない場合、送信側が次のデータを送信することがある。一般に、メッセージ順序や伝送速度を保証しない通信プロトコルを用いて通信する機器が設計される場合、メッセージ順序や伝送速度に関らず、機器自体は正常に作動するように設計される。しかし、伝送速度の速い通信ネットワークによる通信と、伝送速度の遅い通信ネットワークでの通信とを比較した場合、その動作がそれぞれ「正常」であったとしても、同一の動作である保証はない。
ここで、アラーム機能のように、特定の時間になると処理を開始する動作を例にして、伝送速度によって動作が異なる(同一でない)場合を説明する。
二つの機器の一方がアラーム設定要求メッセージを送信すると、他方の機器がアラーム要求を受理してアラーム要求に設定された時刻を設定するようになっており、他方の機器はその設定された時刻になると、一方の機器に対してアラーム通知メッセージを送信する。また、他方の機器がアラーム通知メッセージを送信する前に、一方の機器がアラーム解除メッセージを送信して、それを他方の機器が受信した場合には、アラーム要求は解除され、他方の機器からアラーム通知メッセージは送信されないものとする。
上記の構成において、他方の機器がアラーム通知メッセージを送信する時刻の直前に一方の機器がアラーム解除メッセージを送信した場合、伝送速度が十分に速ければ、他方の機器がアラーム通知メッセージを送信するより先にアラーム解除メッセージを受信する。そのため、アラーム通知メッセージは送信されない。
しかし、伝送速度が遅ければ、他方がアラーム解除メッセージを受信するより前にアーム通知メッセージを送信してしまう。すなわち、伝送速度が異なる場合、動作の同一性は保証されない。
たとえば、伝送手段が完成していない等の理由により製品本来の伝送速度での試験ができないため、エミュレーション環境など、伝送速度が製品本来の伝送速度と異なる特別な試験環境で動作試験を行なわなければならない場合等においては、上述の「動作の同一性が保証されない」ことは問題となる。なぜならば、エミュレーション環境における動作と本来の製品の動作とが異なる可能性があることになるためである。また、エミュレーション環境で正常動作したとしても、製品では正常に動作しない可能性もあるためである。
製品本来の伝送速度と試験環境の伝送速度の違いによるメッセージの送受信順序を含めたテストの結果の齟齬(同一でないこと)を検出するためには、送信側および受信側の両装置間でのメッセージが行き違いになる現象を検出しなければならない。また、当該現象が発生した場合、その旨を速やかに通知しなければ、残りのテストが無駄になる。そのため、上記の現象をできるだけ早く検知する必要がある。
しかしながら、特許文献1に開示された装置は、一方向通信におけるメッセージの追い越しなどによるメッセージ順序の逆転を判定するものである。そのため、これを双方向通信に適用しても、それぞれの方向のメッセージ伝送においての順序の逆転を判定は可能であるが、上述のような場合における順序の相違は検出することはできないという問題があった。
本発明は、上述の問題点を解決するためになされたものであって、その目的は、双方向全二重通信を行なう機器において、メッセージ送信受信の順序が保証されない環境においても、双方がメッセージの送信を行なった場合に、伝送遅延等によってメッセージの送受信の順序が入れ替わることを即座に検知することができる通信システムを提供することである。
本発明の他の目的は、双方向の全二重通信が行なわれる通信システムにおいて、メッセージの送受信の入れ替わることを即座に検知することができる通信装置を提供することである。
本発明のさらに他の目的は、双方向の全二重通信が行なわれる通信システムにおいてメッセージの送受信の入れ替わることを即座に検知することができる通信装置として、コンピュータを機能させるためのプログラムを提供することである。
上記の課題を解決するために、この発明のある局面に従うと、通信システムは、メッセージを双方向に通信可能な第1の通信装置および第2の通信装置を備える。第1の通信装置は、メッセージに対して一意の識別子を割り当てるための割当手段と、識別子をメッセージに付加するための付加手段と、識別子を格納するための記憶手段と、通信路を介して、第2の通信装置に、識別子が付加されたメッセージを送信するための送信手段とを備える。第2の通信装置は、通信路を介して、第1の通信装置から、識別子が付加されたメッセージを受信するための手段と、識別子を取得するための手段と、取得された識別子を格納するための手段と、格納されていた識別子をメッセージに付加するための識別子付加手段と、通信路を介して、第1の通信装置に、識別子が付加されたメッセージを送信するための手段とを備える。第1の通信装置はさらに、通信路を介して、第2の通信装置から、識別子が付加されたメッセージを受信するための受信手段と、受信されたメッセージから、識別子を取得するための取得手段と、格納されている識別子と、取得された識別子とを比較することにより、メッセージの通信の順序が逆転しているか否かを判定するための判定手段とを備える。
好ましくは、割当手段は、時系列的に一意な識別子をメッセージに割り当てる。
好ましくは、第1の通信装置は、指示の入力を受け付けるための入力手段と、入力に基づいて、複数のメッセージをそれぞれ生成するメッセージ生成手段と、複数のメッセージの各々に一意に対応する識別子をそれぞれ生成するための識別子生成手段とをさらに備える。割当手段は、複数のメッセージの各々に、一意に対応する識別子をそれぞれ対応付ける。
この発明の他の局面に従うと、通信装置はメッセージに対して一意の識別子を割り当てるための割当手段と、識別子をメッセージに付加するための付加手段と、識別子を格納するための記憶手段と、通信路を介して、識別子が付加されたメッセージの受信に基づいて識別子を取得する手段と、取得された識別子を格納する手段と、格納されていた識別子をメッセージに付加する手段と、通信路に識別子が付加されたメッセージを出力する手段とを備える通信機器に、付加手段により識別子が付加されたメッセージを送信するための送信手段と、通信路を介して、通信機器において識別子が付加されたメッセージを受信するための受信手段と、受信されたメッセージから、識別子を取得するための取得手段と、格納されている識別子と、取得された識別子とに基づいて、メッセージの通信の順序が逆転しているか否かを判定するための判定手段とを備える。
好ましくは、割当手段は、時系列的に一意な識別子をメッセージに割り当てる。
好ましくは、通信装置は、指示の入力を受け付けるための入力手段と、入力に基づいて、複数のメッセージをそれぞれ生成するメッセージ生成手段と、複数のメッセージの各々に一意に対応する識別子をそれぞれ生成するための識別子生成手段とをさらに備える。割当手段は、複数のメッセージの各々に、一意に対応する識別子をそれぞれ対応付ける。
好ましくは、判定手段は、格納されている識別子と、取得された識別子とを比較することにより、メッセージの通信の順序が逆転しているか否かを判定する。
好ましくは、判定手段は、取り出された識別子と格納されている識別子とが一致する場合には、メッセージの順序が逆転していないと判定し、そして、取り出された識別子と格納されている識別子とが一致しない場合には、メッセージの順序が逆転していると判定する。
好ましくは、通信装置は、判定手段による判定結果を表示するための情報を生成する情報生成手段と、生成された情報を出力するための出力手段とをさらに備える。
この発明のさらに他の局面に従うと、プログラムは、コンピュータを通信装置として機能させる。このプログラムはコンピュータに、メッセージに対して一意の識別子を割り当てる割当ステップと、識別子をメッセージに付加する付加ステップと、識別子を格納する記憶ステップと、通信路を介して、識別子が付加されたメッセージの受信に基づいて識別子を取得する手段と、取得された識別子を格納する手段と、格納されていた識別子をメッセージに付加する手段と、通信路に識別子が付加されたメッセージを出力する手段とを備える通信機器に、識別子が付加されたメッセージを送信する送信ステップと、通信路を介して、通信機器から、識別子が付加されたメッセージを受信する受信ステップと、受信されたメッセージから、識別子を取得する取得ステップと、格納されている識別子と、取得された識別子とに基づいて、メッセージの通信の順序が逆転しているか否かを判定する判定ステップとを実行させる。
本発明に係る通信システムによると、通信装置は、情報通信装置にメッセージを送信する際に、そのメッセージに一意の識別子を付加すると共に、その識別子を記憶する。通信装置は、情報通信装置からメッセージを受信したとき、そのメッセージから識別子を取り出して比較する。記憶されている識別子と取り出された識別子とが一致するか否かに基づいて、メッセージの順序が入れ替わったか否かが判定される。これにより、通信システムは、双方向全二重通信を行なう機器において、メッセージ送信受信の順序が保証されない環境においても、双方がメッセージの送信を行なった場合に、伝送遅延等によってメッセージの送受信の順序が入れ替わることを即座に検知することができる。
本発明に係る通信装置によると、情報通信装置にメッセージを送信する際に、そのメッセージに一意の識別子を付加すると共に、その識別子を記憶する。通信装置は、情報通信装置からメッセージを受信したとき、そのメッセージから識別子を取り出して比較する。記憶されている識別子と取り出された識別子とが一致するか否かに基づいて、メッセージの順序が入れ替わったか否かが判定される。これにより、通信装置は、双方向の全二重通信が行なわれる通信システムにおいて、メッセージの送受信の入れ替わることを即座に検知することができる。
本発明に係るプログラムがコンピュータにおいて実行されると、そのコンピュータは、情報通信装置にメッセージを送信する際に、そのメッセージに一意の識別子を付加すると共に、その識別子を記憶する。コンピュータは、情報通信装置からメッセージを受信したとき、そのメッセージから識別子を取り出して比較する。記憶されている識別子と取り出された識別子とが一致するか否かに基づいて、メッセージの順序が入れ替わったか否かが判定される。これにより、コンピュータを、双方向の全二重通信が行なわれる通信システムにおいて、メッセージの送受信の入れ替わることを即座に検知することができる通信装置として機能することができる。
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
図1を参照して、本発明の実施の形態に係るデータ通信システムについて説明する。図1は、クライアント装置100とサーバ装置150とにより構成される通信システムのブロック図である。クライアント装置100は、ネットワーク190を介してサーバ装置150に接続されている。クライアント装置は、データを表示するための表示部145に接続されている。ここで、クライアント装置およびサーバ装置は、たとえばPC(Personal Computer)により実現されるものであるが、これに限られず、情報処理機能と通信機能とを有する装置であればよい。ネットワーク190は、有線回線あるいは無線回線のいずれであってもよいし、公衆回線あるいはLAN(Local Area Network)その他の専用回線のいずれであってもよい。
図1に示されるように、クライアント装置100は、データを格納するための記憶部130と、ネットワーク190を介してデータを送信するための送信部102と、ネットワーク190からデータを受信するための受信部105と、記憶部130に格納されているデータおよび受信部105を介して受信されるデータに基づいて予め定められた処理を実行するための制御部110とを含む。
制御部110は、送信データに識別子を割り当てるための識別子割当部103と、記憶部130に格納されているプログラムに基づいて予め定められた処理を実行するためのプログラム処理部111と、受信部105により受信されたデータと記憶部130に格納されているデータとに基づいて、受信されたデータが予め定められた条件を満足するか否かを判定するための判定部106とを含む。
プログラム処理部111は、予め定められた基準に基づいて識別子を生成するための生成部112と、生成された識別子を通信メッセージに付加するための付加部113と、識別子を更新するための更新部114と、受信部105により受信されたデータから識別子を取得するための取得部115と、記憶部130に格納されている識別子と取得された識別子とを比較するための比較部116と、送信部102を介したデータの送信および受信部105を介したデータの受信を制御するための通信制御部117とを含む。
生成部112は、たとえば、予め記憶されている初期値から、メッセージごとに、1カウントアップすることにより、各メッセージに一意の識別子を生成する。更新部114は、その識別子を記憶部130に書き込む。比較部116は、数値からなる識別子の場合は、その大小を比較する。文字列からなる場合には、各文字のコードを参照することにより、識別子を比較する。
記憶部130は、プログラム処理部111が実行するプログラムを記憶するためのプログラム記憶部118と、外部から入力されるデータあるいは予め定められた基準に基づいて生成されたメッセージを記憶するためのメッセージ記憶部119と、生成部112において生成された識別子を記憶するための識別子記憶部104とを含む。なお、記憶部130における構成は、上記したような構成に限られない。たとえば、1つのメモリが、上記メッセージ、データあるいは識別子を格納してもよい。
図1を再び参照して、サーバ装置150は、ネットワーク190を介してクライアント装置100にデータを送信するための送信部158と、ネットワーク190を介してクライアント装置100から、データを受信するための受信部156と、データおよびプログラムを格納するための記憶部170と、記憶部170に格納されているデータとプログラムおよび受信されたデータに基づいて予め定められた処理を実行するためのプログラム処理部160とを含む。
プログラム処理部160は、識別子を生成するための生成部161と、生成された識別子を通信メッセージに付加するための付加部162と、識別子を更新するための更新部163と、受信部156により受信されたデータから識別子を取出すための取得部164と、送信部158によるデータの送信および受信部156によるデータの受信を制御するための通信制御部165とを含む。
記憶部170は、生成された識別子を格納するための識別子記憶部172と、外部から入力されたメッセージデータあるいは予め定められた処理に基づいて生成されたメッセージを格納するためのメッセージ記憶部174と、プログラム処理部160が実行するためのプログラムを格納するプログラム記憶部176とを含む。
図2を参照して、本実施の形態に係るクライアント装置100におけるデータ構造について説明する。図2は、クライアント装置100の識別子記憶部104が識別子を格納する一態様を概念的に表わす図である。
図2に示されるように、通信メッセージに付加される識別子は、識別子記憶部104のデータ領域D210に格納される。通信メッセージが送信されると、その識別子は更新され、送信前に格納されていた値から1カウントアップしたデータが格納される。たとえば図2(A)において、通信メッセージの送信前における識別子(「1」)が格納されている場合、そのデータが送信されるとプログラム処理部111の更新部114により識別子が更新される。更新された識別子は、識別子記憶部104のデータ領域D210に「2」として更新される。その結果、次回通信メッセージが送信される場合には、更新後の識別子(すなわち「2」)が当該通信メッセージに付加されて送信部102を介して送信される。
図3を参照して、本実施の形態に係るサーバ装置150におけるデータ構造について説明する。図3は、サーバ装置150の識別子記憶部172が識別子を格納する一態様を概念的に表わす図である。
データ通信が行なわれる場合の識別子の初期値は、たとえばデータ領域D310に格納される。図3(A)の例では、初期値としてたとえば「0」が格納されている。サーバ装置150がクライアント装置100から通信メッセージを受信すると、そのデータから、識別子が取得される。プログラム処理部160の更新部163は、その識別子を識別子記憶部172の領域D310に格納する。これにより、識別子が更新される(図3(B))。
ここで、図4および図5を参照して、本実施の形態におけるメッセージの形式について説明する。図4は、本実施の形態に係る通信システムにおいて通信されるメッセージの構成を概念的に表わすための図である。図5は、図4に示される構成を具体的に表わすための図である。
図4に示されるように、送信されるメッセージを識別するためのメッセージ識別子は、領域410に格納される。そのメッセージ本体は、領域420に格納される。このようなメッセージ構成において、たとえば図5に示されるように、メッセージ識別子「2」は、領域510に格納される。送信されるメッセージがアラーム解除を要求するデータである場合には、その要求を表わすメッセージが、領域520に格納される。ここで、メッセージは、たとえば予め定められた制御コードにより構成されるものであるが、その他の構成であってもよい。
図6を参照して、本実施の形態に係るクライアント装置100を実現するためのコンピュータシステム600について説明する。図6は、コンピュータシステム600のハードウェア構成を表わすブロック図である。
コンピュータシステム600は、相互にデータバスで接続されたCPU(Central Processing Unit)610と、外部からデータの入力を受付けるためのマウス620およびキーボード630と、入力されたデータおよびCPU610の演算処理により生成されたデータを格納するためのメモリ640と、外部から入力されたデータおよび演算処理により生成されたデータを記憶するための固定ディスク650と、FD(Flexible Disk)駆動装置660と、CD−ROM(Compact Disk - Read Only Memory)駆動装置670と、通信回線に接続されコンピュータシステム600と外部との間でデータ通信を行なうための通信IF(Interface)680とを含む。FD駆動装置660には、FD662が装着される。CD−ROM駆動装置670には、CD−ROM672が装着される。コンピュータシステム600には、画像を表示するためのモニタ690が接続される。
ここで、図1に示したクライアント装置100とコンピュータシステム600との関係について説明する。
CPU610は、制御部110として機能する。メモリ640あるいは固定ディスク650は、記憶部130として機能する。通信IF680は、送信部102および受信部105として機能する。また、モニタ690は、表示部145として機能する。
このように、図1の説明において詳述した各部による処理は、その処理をハードウェアに実行させるためのソフトウェアをCPU610により実行させることによっても実現することができる。このようなソフトウェアは、ハードウェアに予め記憶されている場合もあれば、CD−ROM672その他の情報記録媒体に格納されて流通し、CD−ROM駆動装置670などによりその記録媒体から読取られて、プログラムを格納する固定ディスク650に一旦格納される場合もある。そのソフトウェアは、固定ディスク650からメモリ640に読出されて、CPU610により実行される。図6に示したコンピュータシステム600のハードウェア構成は、コンピュータの構成として一般的なものである。したがって、本発明の最も本質的な部分は、固定ディスク650、CD−ROM672その他の情報記録媒体に格納されたソフトウェアであるとも言える。なお、コンピュータシステム600を構成する各ハードウェアの動作は周知である。したがって、それらについての説明はここでは繰り返さない。
図7を参照して、本実施の形態に係るサーバ装置150を実現するためのコンピュータシステム700について説明する。図7は、コンピュータシステム700のハードウェア構成を表わすブロック図である。
コンピュータシステム700は、相互にデータバスで接続されたCPU710と、外部からデータの入力を受付けるためのマウス720およびキーボード730と、入力されたデータおよびCPU710の演算処理により生成されたデータを格納するためのメモリ740と、外部から入力されたデータおよび演算処理により生成されたデータを記憶するための固定ディスク750と、FD駆動装置760と、CD−ROM駆動装置770と、通信回線に接続され、コンピュータシステム700と外部との間でデータ通信を行なうための通信IF780とを含む。FD駆動装置760には、FD762が装着される。CD−ROM駆動装置770には、CD−ROM772が装着される。
ここで、図1に示したサーバ装置150とコンピュータシステム700との関係について説明する。
CPU710は、プログラム処理部160として機能する。メモリ740あるいは固定ディスク750は、記憶部170として機能する。通信IF780は、送信部158および受信部156として機能する。このように、図1の説明において詳述した各部による処理は、その処理をハードウェアに実行させるためのソフトウェアをCPU710により実行させることによっても実現することができる。なお、上記したように、コンピュータシステム700を構成する各ハードウェアの動作は周知である。したがって、それらについての説明はここでは繰り返さない。
図8を参照して、本実施の形態に係るクライアント装置100の制御構造について説明する。図8は、クライアント装置100の制御部110が実行する処理の手順を表わすフローチャートである。したがって、クライアント装置100がコンピュータシステム600により実現される場合には、CPU610が各処理を実行する。以下の処理は、クライアント装置100がメッセージをサーバ装置150に送信する場合に実行される。
ステップS810にて、制御部110は、予め格納されたプログラムを実行して通信メッセージを生成する。ステップS820にて、制御部110は、生成したメッセージに付加するための識別子を割り当てる。この識別子は、そのメッセージに一意に与えられる。
ステップS830にて、制御部110は、割り当てた識別子を生成したメッセージに付加して通信メッセージを生成する(図5)。ステップS840にて、制御部110は、ネットワーク190を介して、サーバ装置150に通信メッセージを送信する。
ステップS850にて、制御部110は、メッセージに付加した識別子を識別子記憶部104の所定のデータ領域に格納する。
図9を参照して、本実施の形態に係るクライアント装置100の制御構造についてさらに説明する。図9は、クライアント装置100の制御部110が実行する判定処理の手順を表わすフローチャートである。この処理は、クライアント装置100がサーバ装置150からメッセージを受信したときに実行される。
ステップS910にて、制御部110は、ネットワーク190を介して、サーバ装置150からメッセージを受信する。ステップS920にて、制御部110は、受信したメッセージから識別子を取得する。ステップS930にて、制御部110は、受信したメッセージをメッセージ記憶部119の所定の領域に格納する。
ステップS940にて、制御部110は、識別子記憶部104のデータ領域D210(図2)から格納されていた識別子を読み出す。ステップS950にて、制御部110は、読み出した識別子と取得した識別子とを比較する。ステップS960にて、制御部110は、これらの識別子が一致するか否かを判定する。これらの識別子が一致する場合には(ステップS960にてYES)、処理はステップS970に移される。そうでない場合には(ステップS960にてNO)、処理はステップS980に移される。
ステップS970にて、制御部110は、クライアント装置100とサーバ装置150との間で、メッセージの行き違いは起こっていないと判定する。制御部110は、さらに、判定結果を通知するためのデータを生成する。
ステップS980にて、制御部110は、クライアント装置100とサーバ装置150との間でメッセージの行き違いが生じたと判定する。制御部110は、さらに、判定結果を通知するためのデータを生成する。
ステップS990にて、制御部110は、判定結果を表示部145に出力する。その結果、表示部145は、メッセージの行き違いが生じているか否かを表わすための表示を所定の領域に示す。
図10を参照して、本実施の形態に係るサーバ装置150の制御構造について説明する。図10は、サーバ装置150のプログラム処理部160が実行する処理の手順を表わすフローチャートである。したがって、サーバ装置150がコンピュータシステム700により実現される場合には、CPU710が各処理を実行する。以下の処理は、サーバ装置150がメッセージをクライアント装置100に送信する場合に実行される。
ステップS1010にて、プログラム処理部160は、予め定められたプログラムを実行して、所定の通信メッセージを生成する。ステップS1020にて、プログラム処理部160は、識別子記憶部172のデータ領域D310から、格納されている識別子を読み出す。
ステップS1030にて、プログラム処理部160は、読み出した識別子をメッセージに付加して通信メッセージを生成する。ステップS1040にて、プログラム処理部160は、ネットワーク190を介して、識別子が付加されたメッセージをクライアント装置100に向けて送信する。
図11を参照して、本実施の形態に係るサーバ装置150の制御構造についてさらに説明する。図11は、サーバ装置150がクライアント装置100からメッセージを受信した場合にプログラム処理部160が実行する処理の手順を表わすフローチャートである。
ステップS1110にて、プログラム処理部160は、クライアント装置100から、識別子が付加されているメッセージを受信する。ステップS1120にて、プログラム処理部160は、受信したメッセージから識別子を取得する。この取得は、たとえば予め定められたメッセージ領域に格納されているデータを読み出すことにより行なわれる。
ステップS1130にて、プログラム処理部160は、メッセージ記憶部174の所定の記憶領域に、受信したメッセージを格納する。この格納は、たとえば各メッセージごとに一意の記憶領域を逐次割り当てることにより行われる。この領域をメッセージ記憶部174に記憶しておくことにより、その後受信するメッセージは、他の領域に格納されるため、誤って上書き更新される恐れがなくなる。
ステップS1140にて、プログラム処理部160は、識別子記憶部172のデータ領域D310に取得した識別子を格納する。これにより、メッセージの受信前に格納されていた識別子は、そのメッセージに付加されていた識別子に変更される。
ここで、図12および図13を参照して、ネットワーク190におけるメッセージの伝送について説明する。図12は、伝送速度が速いネットワークにおいてクライアント装置とサーバ装置との間で行なわれるメッセージの伝送を説明するための図である。図13は、伝送速度が遅いネットワークにおいて行なわれる当該メッセージの伝送を説明するための図である。
図12に示されるように、第1のメッセージ1210が特定の時刻においてクライアント装置からサーバ装置に向けて送信される。サーバ装置は、クライアント装置から受信する第1のメッセージ1210に対して予め定められた時間(たとえば1秒)後に、そのメッセージに応答する第2のメッセージ1220を返信する。ここで、クライアント装置とサーバ装置との間の伝送速度は速いため、第1のメッセージ1210および第2のメッセージ1220の通信は、クライアント装置が次のメッセージ(すなわち第3のメッセージ1230)を送信する前に完了する。
たとえば、クライアント装置におけるデータの送信間隔が5秒である場合には、その5秒が経過するまでに送信メッセージとそのメッセージに対する返信メッセージとのやり取りが完了する。したがって、クライアント装置は、サーバ装置からメッセージを受信した後に、次のメッセージを送信することになる。その結果、図12に示されるように、各装置によりやり取りされるメッセージは、送信順序が入れ替わることなく所定の順次で行なわれる。
一方、図13に示されるように、ネットワークにおける伝送速度が遅い場合、通信メッセージの順序が入れ替わる場合がある。たとえば、クライアント装置がサーバ装置に第1のメッセージ1210を送信し、そのメッセージに対する返信がサーバ装置からクライアント装置に届く前に、クライアント装置はサーバ装置に、次のメッセージ、第3のメッセージ1230を送信する。この場合、第1のメッセージ1210に対する返信である第2のメッセージ1220は、クライアント装置が第3のメッセージ1230を送信した後に、クライアント装置に到達することになる。すなわち、第2のメッセージ1220および第3のメッセージ1230の順序が入れ替わる。このように、ネットワークにおける転送速度が遅い場合には、図13に示されるように通信メッセージの送受信の順序が入れ替わる場合が生じ得る。
以上のような構造およびフローチャートに基づく、本実施の形態に係る通信システムの動作について、図14および図15を参照して説明する。以下、ネットワーク190における伝送速度が速い場合と遅い場合とについて説明する。
図14に示されるように、クライアント装置100において、識別子記憶部104は、識別子の初期値として「0」を格納している。クライアント装置100が第1のメッセージ1210を送信する場合、初期化されている識別子は、1カウントアップされ「1」に更新される。更新後の識別子は、第1のメッセージ1210に付加される(ステップS830)。クライアント装置100は、サーバ装置150に、識別子が付加された第1のメッセージ1210を送信する(ステップS840)。
サーバ装置150において、識別子記憶部172は、通信メッセージの受信前に、識別子の初期値として「0」をデータ領域D310に格納している(図3(A))。サーバ装置150がクライアント装置100から第1のメッセージ1210を受信すると(ステップS1110)、そのメッセージに付加されている識別子が取り出される(ステップS1120)。その識別子は、データ領域D310に格納される(S1140)。これにより、識別子記憶部172の識別子は、「0」から「1」に変更される。
一方、クライアント装置100が第2のメッセージ1220を送信する場合、既に識別子記憶部104に格納されている識別子「1」に対し更新処理が行なわれ、識別子「2」が新たに生成される(ステップS820)。この識別子は、第2のメッセージ1220に付加される(ステップS830)。クライアント装置100は、サーバ装置150にこのメッセージを送信する(ステップS840)。
サーバ装置150が第2のメッセージ1220を受信すると(ステップS1110)、その受信メッセージから識別子「2」を取り出し(ステップS1120)、識別子記憶部172の所定の領域D310に格納する(ステップS1140)。これにより、領域D310の値は、メッセージの受信前の「1」から「2」に変更される。
サーバ装置150がクライアント装置100に第3のメッセージ1230を送信する場合、サーバ装置150は、識別子記憶部172のデータ領域D310から、識別子「2」を読み出す(ステップS1020)。サーバ装置150は、第3のメッセージ1230にその識別子を付加する(ステップS1030)。サーバ装置150は、クライアント装置100に、この識別子が付加された第3のメッセージ1230を送信する(ステップS1040)。
クライアント装置100が第3のメッセージ1230を受信すると(ステップS910)、そのメッセージから識別子を取り出す(ステップS920)。クライアント装置100は、識別子記憶部104に既に格納されている識別子「2」と受信メッセージ(すなわち第3のメッセージ1230)から取得された識別子「2」とを比較する(ステップS950)。この場合、これらの識別子は一致するため(ステップS960にてYES)、クライアント装置100は、通信メッセージの順序は入れ替わっていないと判定する(ステップS970)。
次に、図15を参照して、ネットワークにおける伝送速度が遅い場合について説明する。クライアント装置100がサーバ装置150に第1のメッセージ1210を送信する場合に実行する処理と、サーバ装置がそのメッセージを受信した場合に実行する処理とは、図14において示した処理と同じであるため、ここでは繰り返さない。
クライアント装置100は、所定の送信間隔が経過した後、第2のメッセージ1220を、前述したように、識別子1520を付加してサーバ装置150に送信する。クライアント装置100は、識別子記憶部172に、識別子1520のデータを格納する。その結果、識別子記憶部172のデータ領域D310の識別子は、「2」となる。
このとき、サーバ装置150が、第2のメッセージ1220を受信する前に、第1のメッセージ1210から取得した識別子1510を使用して、第3のメッセージ1230を送信する。すなわち、識別子1510の値は「1」であるため、第3のメッセージ1230には、その識別子「1」が付加され、サーバ装置150はクライアント装置100に、そのメッセージを送信する。
クライアント装置100が第3のメッセージ1230を受信したとき(ステップS910)、第3のメッセージ1230から識別子1510が取出される(ステップS920)。その値(「1」)は、識別子記憶部104に格納されている識別子「2」と一致しないため(ステップS960にてNO)、クライアント装置100は、サーバ装置150との間の通信においてメッセージの順序が入れ替わったと判定することができる。
以上のようにして、本実施の形態に係る通信システムによると、クライアント装置100が複数のメッセージの各々を送信する場合に、各メッセージに一意の識別子が予め定められた基準に基づいて付加される。その識別子はメッセージの送信に合わせて識別子記憶部104に格納される。クライアント装置100がそのメッセージをサーバ装置に送信した後、サーバ装置150から、動揺の構造を有するメッセージを受信すると、そのメッセージから識別子が取得され、格納されている識別子と一致するか否かが判定される。これらの識別子が一致する場合には、通信されたメッセージの順序は入れ替わっていないと判定される。一致しない場合には、その順序は入れ替わっていると判定される。このようにすると、双方向通信において複数のメッセージが逐次送信される場合において、ネットワークにおけるメッセージ伝送の遅延などにより、メッセージの順序が入れ替わったことを速やかに検知することができる。
これにより、たとえば、伝送速度が十分速い分散実行システムのために作成されたテストを、伝送速度が遅い分散システムで実行する場合において、伝送速度が十分速い分散実行システムにおける通信テストの結果と、伝送速度が遅い分散システムにおける通信テストの結果とが異なることを検出することが可能になる。その結果、そのテストが検証すべき実行シーケンスが正確に実行されていたか否かを把握することができる。また、通信ネットワークにおける伝送遅延の大きさが変化し得るシステムを使用する場合、通信テストにおいて、意図した実行シーケンスに従うテストを実行することができる。
<変形例>
なお、本実施の形態においては、クライアント装置100とサーバ装置150とは、それぞれ1つの通信装置を構成するものとして説明したが、通信システムに複数のクライアント装置100あるいはサーバ装置150が含まれていてもよい。この場合、各装置を識別するためのデータを、通信メッセージの識別子に対応付けて、各装置が有する記憶部に格納することにより、特定の通信装置間におけるメッセージの通信を行なうと共に、本発明に係る判定処理を実行することができる。
ここで、図16を参照して、本変形例に係る通信システムにおいて通信されるメッセージ構造について説明する。図16は、特定の通信装置に送信されるメッセージの構造を概念的に表わす図である。
すなわち、複数のクライアント装置がメッセージを通信する場合、特定のクライアント装置を識別するためのクライアント識別子1610は、メッセージ識別子410およびメッセージ本体420に付加される。このメッセージを受信したサーバ装置は、クライアント識別子1610に基づいて、返信メッセージを送信するため、各クライアント装置は、他のクライアント装置に向けられたメッセージを受信しない。したがって、各クライアント装置は、自身が通信したメッセージのみについて、順序の入れ替わりの有無を判定することができる。複数のサーバ装置が通信システムに含まれる場合も、サーバ装置を識別するためのデータをメッセージに付加することにより、同様に、クライアント装置が、メッセージの順次の入れ替わりを判定することを可能にすることができる。このようにして、複数のクライアント装置あるいはサーバ装置が通信システムを構成する場合も、通信メッセージの順序の入れ替わりを容易に検知することができる。
ここで、図17を参照して、本発明の実施の形態に係る通信システムの具体例についてさらに説明する。図17は、携帯電話1702,1704により構成される通信システムの構成を表わす図である。この通信システムは、携帯電話1702と携帯電話1704とを遠隔地(たとえば、日本と欧州の一カ国)に配置し、インターネットを介して、各携帯電話を接続することにより構成される。このような通信システムでは、各通信装置、すなわち携帯電話が、物理的に遠隔地に配置されているため、通信データの伝送速度が、実際の使用環境における速度よりも遅くなる場合がある。このような通信環境において、本願に係る通信システムにより通信テストを実行することにより、伝送の遅延などを速やかに検知することが可能になる。
図17に示されるように、携帯電話1702は、ネットワーク1792を介して携帯電話1704に接続されている。携帯電話1704は、基地局1780とネットワーク1790とを介して、外部からのアクセスに応じて情報を出力可能なサービス装置1700と通信可能である。
携帯電話1702は、ブラウザ1710と、ソケットリレーモジュール1720と、通信層1730と、ネットワーク1792に接続されたケーブル(図示しない)を接続するための端子(図示しない)とを含む。ブラウザ1710は、たとえばモニタ(図示しない)においてメモリ(図示しない)に格納されているプログラムにより実現される。ブラウザ1710は、ユーザの操作に応答して、そのモニタに、その操作に対応した情報、あるいは外部から受信した情報を表示する。ソケットリレーモジュール1720は、たとえばそのメモリに格納されており、後述するデータの通信のための各処理を実現する。
このモジュールは、たとえば、携帯電話1702の通信テストが実行される間、メモリに格納されており、そのテストの終了後は、そのメモリから削除されるものであるが、削除されなくてもよい。この場合、テスト後(すなわち、実際の使用時)に、そのモジュールによる機能が実行されないように、特定のパラメータを外部から入力可能な構成にしてもよい。この場合、必要に応じて、通信テストを再開することができる。
携帯電話1704は、ブラウザ1740と、ソケットリレーモジュール1750と、通信層1760と、アンテナ1770と、ネットワーク1792に接続されたケーブル(図示しない)を接続するための端子(図示しない)とを含む。ブラウザ1740は、ブラウザ1710と同様の機能を実現するためのソフトウェアである。
携帯電話1702において、ブラウザ1710に対する指令が、ボタン、数字キー等の入力部(図示しない)を介して携帯電話1702に入力されると、その指令は、ソケットリレーモジュール1720と称されるソフトウェアインタフェースを介して、ネットワーク1792に出力される。このネットワーク1792は、たとえばインターネットである。この場合、ブラウザ1710の機能を実現するためのプログラムは、その操作に応答して、通常の通信処理を実行する指令を出力する。すなわち、携帯電話1702において、ブラウザ1710は、通信層1730が本来有する通信機能によりサービス1700に接続するかのように、通常の指令を出力する。
ソケットリレーモジュール1720は、指令の出力に応答して、サービス1700へのアクセスのためのアクセス情報について、時間的に一意な識別子を生成する。ソケットリレーモジュール1720は、その識別子をアクセス情報に付加して出力する。すなわち、ソケットリレーモジュール1720は、図1に示した制御部130として機能する。ソケットリレーモジュール1720は、その識別子をメモリ(図示しない)の所定の領域に格納する。
ソケットリレーモジュール1720は、通信層1730を介することなく、ネットワーク1792を介して、上記のアクセス情報を送信する。このとき、ソケットリレーモジュール1720は、アクセス情報の形式を、ネットワーク2600における伝送形式、たとえばシリアル形式に変換して出力する。
その情報は、ネットワーク1792を介して、遠隔地に配置された携帯電話1704に送信される。携帯電話1704において、ソケットリレーモジュール1750は、受信した情報から、識別子を読み取り、メモリ(図示しない)の所定の領域に格納する。ソケットリレーモジュール1750が、携帯電話1702に対するメッセージを送信する場合には、格納してある識別子をそのメッセージに付加する。
ソケットリレーモジュール1750が、携帯電話1702に対して、識別子を付加したメッセージを送信すると、ソケットリレーモジュール1720は、そのメッセージから識別子を取得する。ソケットリレーモジュール1720は、メモリから識別子を読み取り、取得した識別子と比較する。これらの識別子が一致している場合には、ソケットリレーモジュールは、その後の情報の通信を継続する。一致していない場合には、携帯電話1702,1704の間におけるメッセージの通信に行き違いが発生したと判定し、その旨を放置するための信号を生成して出力する。その結果、携帯電話1702は、その信号に基づいてLED(図示しない)を点滅させたり、モニタ(図示しない)にその旨を表示する。
以上のようにして、実際に携帯電話1702が使用される伝送速度と通信テスト環境における伝送速度の違いによるメッセージの通信テストの結果を速やかに検出し、報知することができる。そのため、後続のテストを中止するなどの措置をとることが可能になるため、通信テストの無駄を防止することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
本発明は、双方向のメッセージ通信が可能な通信システム、特に、遠隔地に配置された複数の通信装置からなる通信システムに適用可能である。
本発明の実施の形態に係る通信システムの構成を表わすブロック図である。 本発明の実施の形態に係る通信システムに含まれるクライアント装置におけるデータ構造を表わす図である。 本発明の実施の形態に係る通信システムに含まれるサーバ装置におけるデータ構造を表わす図である。 本発明の実施の形態に係る通信システムにおいて通信されるメッセージの形式を説明するための図(その1)である。 本発明の実施の形態に係る通信システムにおいて通信されるメッセージの形式を説明するための図(その2)である。 本発明の実施の形態に係る通信システムに含まれるクライアント装置を実現するコンピュータの構成を表わすブロック図である。 本発明の実施の形態に係る通信システムに含まれるサーバ装置を実現するコンピュータの構成を表わすブロック図である。 本発明の実施の形態に係る通信システムに含まれるクライアント装置が実行する処理の手順を表わすフローチャート(その1)である。 本発明の実施の形態に係る通信システムに含まれるクライアント装置が実行する処理の手順を表わすフローチャート(その2)である。 本発明の実施の形態に係る通信システムに含まれるサーバ装置が実行する処理の手順を表わすフローチャート(その1)である。 本発明の実施の形態に係る通信システムに含まれるサーバ装置が実行する処理の手順を表わすフローチャート(その2)である。 ネットワークを介したメッセージの伝送を説明するための図(その1)である。 ネットワークを介したメッセージの伝送を説明するための図(その2)である。 本発明の実施の形態に係る通信システムによるメッセージの伝送を説明するための図(その1)である。 本発明の実施の形態に係る通信システムによるメッセージの伝送を説明するための図(その2)である。 本発明の実施の形態の変形例に係る通信システムにおいて通信されるメッセージの形式を説明するための図である。 本発明の実施の形態の変形例に係る通信システムを説明するための図である。
符号の説明
100 クライアント装置、102 送信部、103 識別子割当部、104,172 識別子記憶部、105 受信部、106 判定部、110 制御部、111,160 プログラム処理部、112,161 生成部、113,162 付加部、114,163 更新部、115,164 取得部、116 比較部、117,165 通信制御部、118,176 プログラム記憶部、119,174 メッセージ記憶部、130,170 記憶部、145 表示部、150 サーバ装置、190、1790,1792 ネットワーク、600,700 コンピュータシステム、610,710 CPU、620,720 マウス、630,730 キーボード、640,740 メモリ、650,750 固定ディスク、660,760 FD駆動装置、662,762 FD、670,770 CD−ROM駆動装置、672,772 CD−ROM、680,780 通信IF、1702,1704 携帯電話、1710,1740 ブラウザ、1720,1750 ソケットリレーモジュール、1730,1760 通信層、1770 アンテナ、1780 基地局。

Claims (10)

  1. メッセージを双方向に通信可能な第1の通信装置および第2の通信装置を備え、
    前記第1の通信装置は、
    メッセージに対して一意の識別子を割り当てるための割当手段と、
    前記識別子を前記メッセージに付加するための付加手段と、
    前記識別子を格納するための記憶手段と、
    通信路を介して、前記第2の通信装置に、前記識別子が付加されたメッセージを送信するための送信手段とを備え、
    前記第2の通信装置は、
    前記通信路を介して、前記第1の通信装置から、前記識別子が付加されたメッセージを受信するための手段と、
    前記識別子を取得するための手段と、
    取得された前記識別子を格納するための手段と、
    格納されていた前記識別子をメッセージに付加するための識別子付加手段と、
    前記通信路を介して、前記第1の通信装置に、前記識別子が付加されたメッセージを送信するための手段とを備え、
    前記第1の通信装置はさらに、
    前記通信路を介して、前記第2の通信装置から、前記識別子が付加されたメッセージを受信するための受信手段と、
    受信された前記メッセージから、前記識別子を取得するための取得手段と、
    格納されている前記識別子と、取得された前記識別子とを比較することにより、前記メッセージの通信の順序が逆転しているか否かを判定するための判定手段とを備える、通信システム。
  2. 前記割当手段は、時系列的に一意な前記識別子をメッセージに割り当てる、請求項1に記載の通信システム。
  3. 前記第1の通信装置は、
    指示の入力を受け付けるための入力手段と、
    前記入力に基づいて、複数のメッセージをそれぞれ生成するメッセージ生成手段と、
    前記複数のメッセージの各々に一意に対応する識別子をそれぞれ生成するための識別子生成手段とをさらに備え、
    前記割当手段は、前記複数のメッセージの各々に、前記一意に対応する識別子をそれぞれ対応付ける、請求項1に記載の通信システム。
  4. メッセージに対して一意の識別子を割り当てるための割当手段と、
    前記識別子を前記メッセージに付加するための付加手段と、
    前記識別子を格納するための記憶手段と、
    通信路を介して、識別子が付加されたメッセージの受信に基づいて前記識別子を取得する手段と、取得された前記識別子を格納する手段と、格納されていた前記識別子をメッセージに付加する手段と、前記通信路に前記識別子が付加されたメッセージを出力する手段とを備える通信機器に、前記付加手段により識別子が付加されたメッセージを送信するための送信手段と、
    前記通信路を介して、前記通信機器において識別子が付加されたメッセージを受信するための受信手段と、
    受信された前記メッセージから、前記識別子を取得するための取得手段と、
    格納されている前記識別子と、取得された前記識別子とに基づいて、前記メッセージの通信の順序が逆転しているか否かを判定するための判定手段とを備える、通信装置。
  5. 前記割当手段は、時系列的に一意な前記識別子をメッセージに割り当てる、請求項4に記載の通信装置。
  6. 前記通信装置は、
    指示の入力を受け付けるための入力手段と、
    前記入力に基づいて、複数のメッセージをそれぞれ生成するメッセージ生成手段と、
    前記複数のメッセージの各々に一意に対応する識別子をそれぞれ生成するための識別子生成手段とをさらに備え、
    前記割当手段は、前記複数のメッセージの各々に、前記一意に対応する識別子をそれぞれ対応付ける、請求項4に記載の通信装置。
  7. 前記判定手段は、格納されている前記識別子と、取得された前記識別子とを比較することにより、前記メッセージの通信の順序が逆転しているか否かを判定する、請求項4に記載の通信装置。
  8. 前記判定手段は、
    取り出された前記識別子と格納されている前記識別子とが一致する場合には、メッセージの順序が逆転していないと判定し、そして、
    取り出された前記識別子と格納されている前記識別子とが一致しない場合には、メッセージの順序が逆転していると判定する、請求項7に記載の通信装置。
  9. 前記通信装置は、
    前記判定手段による判定結果を表示するための情報を生成する情報生成手段と、
    生成された前記情報を出力するための出力手段とをさらに備える、請求項4に記載の第1の通信装置。
  10. コンピュータを通信装置として機能させるためのプログラムであって、前記プログラムは前記コンピュータに、
    メッセージに対して一意の識別子を割り当てる割当ステップと、
    前記識別子を前記メッセージに付加する付加ステップと、
    前記識別子を格納する記憶ステップと、
    通信路を介して、識別子が付加されたメッセージの受信に基づいて前記識別子を取得する手段と、取得された前記識別子を格納する手段と、格納されていた前記識別子をメッセージに付加する手段と、前記通信路に前記識別子が付加されたメッセージを出力する手段とを備える通信機器に、前記識別子が付加されたメッセージを送信する送信ステップと、
    前記通信路を介して、前記通信機器から、前記識別子が付加されたメッセージを受信する受信ステップと、
    受信された前記メッセージから、前記識別子を取得する取得ステップと、
    格納されている前記識別子と、取得された前記識別子とに基づいて、前記メッセージの通信の順序が逆転しているか否かを判定する判定ステップとを実行させる、プログラム。
JP2004165867A 2004-06-03 2004-06-03 通信システム、そのシステムに含まれる通信装置、およびコンピュータを通信装置として機能させるためのプログラム Withdrawn JP2005346448A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004165867A JP2005346448A (ja) 2004-06-03 2004-06-03 通信システム、そのシステムに含まれる通信装置、およびコンピュータを通信装置として機能させるためのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004165867A JP2005346448A (ja) 2004-06-03 2004-06-03 通信システム、そのシステムに含まれる通信装置、およびコンピュータを通信装置として機能させるためのプログラム

Publications (1)

Publication Number Publication Date
JP2005346448A true JP2005346448A (ja) 2005-12-15

Family

ID=35498759

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004165867A Withdrawn JP2005346448A (ja) 2004-06-03 2004-06-03 通信システム、そのシステムに含まれる通信装置、およびコンピュータを通信装置として機能させるためのプログラム

Country Status (1)

Country Link
JP (1) JP2005346448A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010541042A (ja) * 2007-09-20 2010-12-24 マイクロソフト コーポレーション 食い違い取り消しプロトコル

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010541042A (ja) * 2007-09-20 2010-12-24 マイクロソフト コーポレーション 食い違い取り消しプロトコル
US8327030B2 (en) 2007-09-20 2012-12-04 Microsoft Corporation Crisscross cancellation protocol
US8346973B2 (en) 2007-09-20 2013-01-01 Microsoft Corporation Crisscross cancellation protocol
US9015349B2 (en) 2007-09-20 2015-04-21 Microsoft Technology Licensing, Llc Crisscross cancellation protocol
US9219673B2 (en) 2007-09-20 2015-12-22 Microsoft Technology Licensing, Llc Crisscross cancellation protocol
US9686320B2 (en) 2007-09-20 2017-06-20 Microsoft Technology Licensing, Llc Crisscross cancellation protocol

Similar Documents

Publication Publication Date Title
JP4564665B2 (ja) 一般的なシリアルバスプロトコルの範囲を拡張する方法並びに装置
JP4940304B2 (ja) 無線通信システムにおけるデータベース管理
US20100291913A1 (en) Remote control method between mobile phones
JP2006215999A (ja) データ収集システム
KR100889730B1 (ko) 직접 메모리 접근 제어 방법 및 장치
JP2005346448A (ja) 通信システム、そのシステムに含まれる通信装置、およびコンピュータを通信装置として機能させるためのプログラム
US7457635B2 (en) Modem sharing device of PDA phone and method thereof
CN111225423B (zh) 一种数据前转的方法和设备
JP2018007164A (ja) 情報処理装置、情報処理方法、情報処理システム、および、制御プログラム
JP4005044B2 (ja) 通信試験装置
KR101627796B1 (ko) 네트워크 기반 av 시스템에서 디바이스 상태 정보 전송 방법
JP7344366B2 (ja) データ処理装置、データ処理方法、及びプログラム
US20020133609A1 (en) Universal method and apparatus for communication between devices
JP3001425B2 (ja) 携帯通信システム、携帯通信装置および携帯通信方法
JP2004015505A (ja) パケット優先制御装置、パケット優先制御方法およびパケット優先制御プログラム
JP2004215131A (ja) マルチメディア通信制御プロトコルにおけるネゴシエーション接続確立評価システム及び評価方法
JP3908767B2 (ja) 接続設定段階及びデータ通信段階に分けた通信システム、通信装置、通信制御装置、通信方法
US20070127630A1 (en) Exchange system, and method for providing maintenance processing result to be used in exchange system
JP2003069911A (ja) コンテンツ処理装置及び方法
JP3689056B2 (ja) 接続設定段階及びデータ通信段階に分けた通信システム、通信装置、通信制御装置、通信方法
JP2011035531A (ja) 遠隔制御システム、設定情報送信装置、設定情報受信装置、遠隔制御方法およびプログラム
WO2004057804A1 (ja) データ伝送システム、データ伝送方法およびデータ伝送装置
JP2007274054A (ja) 携帯電話機およびデータ伝送のスケジューリング制御方法
JP2009188586A (ja) 通信網接続支援方法および通信端末
JPH0834493B2 (ja) 通信システムにおける送信メッセージ処理方式

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070807