説明

通信システム、通信方法および通信プログラム

【課題】伝送状態の悪化に追従することができ、また無駄な再送信を防止することができる通信システムを提供する。
【解決手段】1フレームのデータを複数のブロックに分割して送信する送信側装置100と、受信側装置200との間で、通信回線300を介して通信を行う通信システムであって、送信側制御手段101は、前記ブロック送信後に、最新送信フレーム番号および受信完了フレーム番号を含む送達確認データを送信する機能と、受信側装置200から受信状態通知データを受信したとき、該データで指定された未受信のブロックを送信する機能とを有し、受信側制御手段201は、前記送達確認データを受信したとき、該データ内の最新送信フレーム番号に基づいて受信できていないフレームを判定し、該フレームのどのブロックが未受信であるかを示す受信状態通知データを送信する機能を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、装置間の通信において、通信回線が低速且つ不安定であるときの通信プロトコルに関し、通信システム、通信方法および通信プログラムに関する。
【0002】
本発明では特に次のような通信回線を想定している。
【0003】
(1)長距離の電話回線や専用回線において通信速度が遅くノイズなどの外乱により不安定な回線。
【0004】
(2)携帯電話や衛星電話などの無線機器で、通信速度が遅く通信環境により不安定な回線。
【背景技術】
【0005】
送信側装置と受信側装置の間で通信回線を介して通信を行う通信システムにおいて、通信距離が長いとき信号減衰とノイズの影響があり、また無線通信では電波環境が悪いと不安定となる。
【0006】
通信機器は異常検出すると回線を切断とする。通信プロトコルは通信を継続するために再接続を行う。
【0007】
通信プロトコルは、送受信データから破壊されたデータを検出し、その部分を再送信することで、確実な通信を実現している。その処理のためにプロトコルはデータのかたまり(フレームとする)を相手へ送信し、相手からの応答を受信することでフレームが届けられたことを確認している。
【0008】
このようすを、装置A,B間のデータの送受信を示す図9とともに説明する。図9において、フレーム01の送受信が完了した後に装置Aからフレーム02を送信し、装置Bではフレーム02の途中まで受信できたが回線異常により中断(ここで中断とは、回線切断には至らない程度の回線異常をいい、通信が回復することもあり得る状態を指す)したとする。
【0009】
そしてその後しばらくして通信が可能となった時、装置A側では、装置Bからフレーム02を受信したという応答が無いためフレーム02から送信を再開する。この際フレーム02の図示黒色部分は前回接続時に送信できているが、フレーム単位でしか処理できないためフレームごと再送信する。
【0010】
尚、従来のデータ通信方法及び送受信装置としては、例えば特許文献1に記載のものが提案されていた。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特許第3961128号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
前記図9で述べたように、通信異常が発生すると相手からの応答が受信できず、それより前に正常に受信した応答のところまでを送信完了として処理する。通信可能になると、その次のフレームから送信を開始することになる。
【0013】
しかし、切断されたとき相手側にはフレームの一部、あるいはフレーム全体が到達している可能性があり、そのデータは応答が送信できていないために破棄され無駄となっている。
【0014】
伝送速度が高速な回線、あるいは低速であるが通信環境が安定しており切断がほとんどない回線では、前記破棄されたデータは全体から見れば小さいため問題とならない。しかし、伝送速度が低速かつ不安定な回線では破棄されたデータの影響は大きく、無視できない。
【0015】
また、1000byte送信する時間で通信が不安定になる環境において1フレーム1000byteのデータを送信すると、毎回同じフレームを再送することに費やされてしまい、通信はたまにしか成立しない。
【0016】
上位プロトコルに対し下位プロトコルが小さい単位に分割して送信する例は多く存在する。しかしそれらは、伝送の物理的特性による制限や規格上の制限により決められた大きさであり、頻発する伝送異常を考慮しているわけではない。不安定な回線は時間、場所などの環境により状況が大きく変化するため、常時分割するサイズを見直す必要がある。
【0017】
従来の通信システム、通信方法における問題点は以下のとおりである。
【0018】
(1)プロトコルが管理する単位よりも短い時間で通信異常になるならば送信は成功しない。異常となる時間よりも短い時間で伝送できるように分割できなければならない。小さく分割するプロトコルは存在するが、伝送異常の発生頻度から決定しているわけではなく、状況の変化に対応できない。
【0019】
(2)切断時に相手に到達していたデータの一部は破棄される。次回接続時にはその破棄された部分も含めて再送信する必要があり無駄がある。
【0020】
本発明は上記課題を解決するものであり、その目的は、伝送状態の悪化に追従することができ、また無駄な再送信を防止することができる通信システム、通信方法および通信プログラムを提供することにある。
【課題を解決するための手段】
【0021】
上記課題を解決するための本発明の通信システムは、1フレームのデータを、所定データ長に構成され、通信回線上の何番目のフレームであるかを表すフレーム番号および当該フレーム内の何番目のブロックであるかを表すブロック番号を含むブロックに分割して送信する送信側装置と、受信側装置との間で、通信回線を介して通信を行う通信システムであって、前記送信側装置に設けられた送信側制御手段と、前記受信側装置に設けられた受信側装置とを備え、前記送信側制御手段は、前記ブロックを送信する機能と、前記ブロック送信後に、最新の送信フレームを表す最新送信フレーム番号および受信側装置での受信完了フレームを表す受信完了フレーム番号を含む送達確認データを送信する機能と、受信側装置から送信された、フレーム番号および受信ブロック状態を含む受信状態通知データを受信したとき、該データで指定された未受信のブロックを送信する機能とを有し、前記受信側制御手段は、送信側装置から送信されたブロックを受信し、該受信したブロックをフレームに組み立てる機能と、送信側装置から送信された送達確認データを受信したとき、該データ内の最新送信フレーム番号に基づいて受信できていないフレームを判定し、該フレームのどのブロックが未受信であるかを示す受信状態通知データを送信する機能とを有していることを特徴とする。
【0022】
また請求項2に記載の通信システムは、請求項1において、前記送信側制御手段は、前記最新送信フレーム番号および受信完了フレーム番号を含み、且つ前記通信回線への初回接続時には乱数から生成した新規の接続番号を、回線切断後の再接続時には前回接続時の接続番号を各々付与した接続開始の通知データを送信する機能と、前記受信側装置から前記接続開始の通知データを応答として受信した後に前記ブロックを送信する機能とを有し、前記受信側制御手段は、前記送信側装置から接続開始の通知データを受信したときに、前記接続番号と一致する番号が過去の通信記録に有るか否かを判定する機能と、前記判定結果が、一致する接続番号有りの場合、前記通信記録から受信完了フレーム番号および最新送信フレーム番号を引き継ぎ、前記判定結果が、一致する接続番号無しの場合、新規の接続番号を前記通信記録に追加する機能と、前記通信記録の引き継ぎ又は追加終了後の前記接続開始の通知データを応答として送信する機能とを有していることを特徴とする。
【0023】
また請求項3に記載の通信システムは、請求項1又は2において、前記送信側制御手段は、前記送達確認データ内の受信完了フレーム番号で表される、受信完了のフレームデータを送信側メモリから削除する機能を有していることを特徴とする。
【0024】
また請求項4に記載の通信システムは、請求項1ないし3のいずれか1項において、前記送信側制御手段は、前記通信回線への初回接続時に、前記ブロックの長さを第1のブロック長に決定して所定期間通信を行わせる機能と、前記所定期間内に通信異常を収集する機能と、前記所定期間内に収集された通信異常の発生頻度に基づいて前記ブロックの長さを第2のブロック長に決定する機能と、を有していることを特徴とする。
【0025】
また、請求項5に記載の通信方法は、1フレームのデータを、所定データ長に構成され、通信回線上の何番目のフレームであるかを表すフレーム番号および当該フレーム内の何番目のブロックであるかを表すブロック番号を含むブロックに分割して送信する送信側装置と、受信側装置との間で、通信回線を介して通信を行う通信システムにおける通信方法であって、前記送信側装置の送信側制御手段が、前記ブロックを送信するステップと、前記ブロック送信後に、最新の送信フレームを表す最新送信フレーム番号および受信側装置での受信完了フレームを表す受信完了フレーム番号を含む送達確認データを送信するステップと、前記受信側装置の受信側制御手段が、送信側装置から送信されたブロックを受信し、該受信したブロックをフレームに組み立てるステップと、送信側装置から送信された送達確認データを受信したとき、該データ内の最新送信フレーム番号に基づいて受信できていないフレームを判定し、該フレームのどのブロックが未受信であるかを示す受信状態通知データを送信するステップと、前記送信側制御手段が、受信側装置から送信された、前記受信状態通知データを受信したとき、該データで指定された未受信のブロックを送信するステップとを有していることを特徴とする。
【0026】
また請求項6に記載の通信方法は、請求項5において、前記送信側制御手段が、前記最新送信フレーム番号および受信完了フレーム番号を含み、且つ前記通信回線への初回接続時には乱数から生成した新規の接続番号を、回線切断後の再接続時には前回接続時の接続番号を各々付与した接続開始の通知データを送信するステップと、前記受信側制御手段が、前記送信側装置から接続開始の通知データを受信したときに、前記接続番号と一致する番号が過去の通信記録に有るか否かを判定するステップと、前記判定結果が、一致する接続番号有りの場合、前記通信記録から受信完了フレーム番号および最新送信フレーム番号を引き継ぎ、前記判定結果が、一致する接続番号無しの場合、新規の接続番号を前記通信記録に追加するステップと、前記通信記録の引き継ぎ又は追加終了後の前記接続開始の通知データを応答として送信するステップと、前記送信側制御手段が、前記受信側装置から前記接続開始の通知データを応答として受信した後に前記ブロックを送信するステップとを有していることを特徴とする。
【0027】
また請求項7に記載の通信方法は、請求項5又は6において、前記送信側制御手段が、前記送達確認データ内の受信完了フレーム番号で表される、受信完了のフレームデータを送信側メモリから削除するステップを有していることを特徴とする。
【0028】
また請求項8に記載の通信方法は、請求項5ないし7のいずれか1項において、前記送信側制御手段が、前記通信回線への初回接続時に、前記ブロックの長さを第1のブロック長に決定して所定期間通信を行わせるステップと、前記所定期間内に通信異常を収集するステップと、前記所定期間内に収集された通信異常の発生頻度に基づいて前記ブロックの長さを第2のブロック長に決定するステップと、を有していることを特徴とする。
【0029】
また、請求項9に記載の通信プログラムは、コンピュータを請求項1ないし4のいずれか1項に記載の各手段として機能させる通信プログラムである。
【発明の効果】
【0030】
(1)請求項1〜9に記載の発明によれば、フレームを分割したブロック単位で通信を行っているので、通信回線の不安定などによりフレームよりも短い間隔で通信が失敗しても通信を維持することができる。また、送達確認データおよび受信状態通知データを用いているので、伝送異常(通信異常)により回線切断したとき、再接続において相手側が受信できなかった部分データ(ブロック)のみ再送信することで無駄な再送信をせずに済ますことができる。
【0031】
すなわち、切断にて伝送途中のデータが破棄され、次回接続にてフレーム全体のデータを再送信するのは時間的な無駄となるが、本発明によれば、再接続にて前回受信できたところを活かしてその次のブロックから送信開始するため、伝送上の無駄が少なくなる。
【0032】
(2)請求項2、6に記載の発明によれば、通信回線への初回接続時や、回線切断後の再接続時など、複数の接続状態に応じた接続番号を備えた接続開始の通知データを用いているので、適切な接続状態でデータの伝送を開始することができる。
【0033】
すなわち、前述の無駄な再送信を行わないためには前回の接続状態を保持する必要があるが、本発明によれば、前記複数の接続状態に応じた接続番号を回線接続時に受信側装置から送信側装置に通知しているため、該当する接続状態に戻して通信を再開することができる。これによって回線切断が頻発しても伝送効率の悪化を防ぐことができる。
【0034】
(3)請求項3、7に記載の発明によれば、送達確認データ内の受信完了フレーム番号を利用して、受信完了のフレームデータをメモリから削除しているので、送信側装置のメモリ容量を増やすことなく、未受信のフレームデータを送信側装置から再送することができる。
【0035】
(4)請求項4、8に記載の発明によれば、伝送フレームより細かい単位(ブロック)で管理するので、短時間で通信異常が発生しても通信を継続することができる。
【0036】
すなわち、伝送異常(通信異常)の発生頻度に応じてブロック長を決定しているので、伝送状態によりブロック長が自動変更されるため、伝送状態が一時的に悪化しても追従できる範囲が広くなる。
【図面の簡単な説明】
【0037】
【図1】本発明の通信システムの実施形態例を示す構成図。
【図2】本発明で適用されるフレームのブロック分割のようすを示す説明図。
【図3】本発明の実施形態例におけるブロックのデータ構成を示す説明図。
【図4】本発明の実施形態例における送達確認データの構成を示す説明図。
【図5】本発明の実施形態例における受信状態通知データの構成を示す説明図。
【図6】本発明の実施形態例におけるブロック送信から未受信ブロックの再送信までの処理を示すフローチャート。
【図7】本発明の実施形態例における接続開始の通知データの構成を示す説明図。
【図8】本発明の実施形態例における新規接続又は再接続時の処理を示すフローチャート。
【図9】従来の通信方法における不具合を示す説明図。
【発明を実施するための形態】
【0038】
以下、図面を参照しながら本発明の実施の形態を説明するが、本発明は下記の実施形態例に限定されるものではない。図1は本発明の通信システムの実施形態例を示す構成図であり、100は送信側装置、200は受信側装置、300は通信回線を示している。
【0039】
送信側装置100には、1フレームのデータを所定データ長に分割したブロックを送信する機能と、前記通信回線300への初回接続時に、前記ブロックの長さを第1のブロック長に決定して所定期間通信を行わせる機能と、前記所定期間内に通信異常を収集する機能と、前記所定期間内に収集された通信異常の発生頻度に基づいて前記ブロックの長さを第2のブロック長に決定する機能と、最新の送信フレームを表す最新送信フレーム番号および受信側装置200での受信完了フレームを表す受信完了フレーム番号を含み、且つ前記通信回線300への初回接続時には乱数から生成した新規の接続番号を、回線切断後の再接続時には前回接続時の接続番号を各々付与した接続開始の通知データを送信する機能と、前記受信側装置200から前記接続開始の通知データを応答として受信した後に前記ブロックを送信する機能と、前記ブロック送信後に、最新送信フレーム番号および受信完了フレーム番号を含む送達確認データを送信する機能と、受信側装置200から送信された、フレーム番号および受信ブロック状態を含む受信状態通知データを受信したとき、該データで指定された未受信のブロックを送信する機能とを有した送信側制御手段101が設けられている。
【0040】
前記受信側装置200には、前記送信側装置100から前記接続開始の通知データを受信したときに、前記接続番号と一致する番号が過去の通信記録に有るか否かを判定する機能と、前記判定結果が、一致する接続番号有りの場合、前記通信記録から受信完了フレーム番号および最新送信フレーム番号を引き継ぎ、前記判定結果が、一致する接続番号無しの場合、新規の接続番号を前記通信記録に追加する機能と、前記通信記録の引き継ぎ又は追加終了後の前記接続開始の通知データを応答として送信する機能と、送信側装置100から送信されたブロックを受信し、該受信したブロックをフレームに組み立てる機能と、送信側装置100から送信された送達確認データを受信したとき、該データ内の最新送信フレーム番号に基づいて受信できていないフレームを判定し、該フレームのどのブロックが未受信であるかを示す受信状態通知データを送信する機能と、前記送達確認データ内の受信完了フレーム番号で表される、受信完了のフレームデータをメモリから削除する機能とを有した受信側制御手段201が設けられている。
【0041】
前記送信側制御手段101および受信側制御手段201の前記各機能は、例えばコンピュータにより達成される。
【0042】
通信プロトコルは、上位通信層から送信データを受け取り送信し、通信回線からデータを受信したら上位通信層へ渡す。上位層と下位層の間のインターフェースさえ守れば下位層にてデータを分割管理しても問題はない。通常、データは伝送媒体の物理的制約や規格により分割し送信されている。
【0043】
ここで、フレームを分割せずに送信した場合、図2のようにフレーム途中で伝送異常が発生するとそのフレーム全体を破棄するしかない。フレームを小さいブロックに分割して管理しながら送信した場合、図2において2ブロックと3ブロックのみ再送信すればフレームを受信することができる。
【0044】
プロトコルにおいてブロックのように小さな単位に分割して送信することは通常よく行われている。しかし、後述するような本発明におけるブロック長の調整や、再送信のための機構は従来存在しなかった。
【0045】
上位からのデータをフレームとし、分割したデータをブロックとするとき、ブロックの伝送時間が通信異常の発生間隔より長いならば送信は失敗してしまう。そこで本実施形態例ではブロック長を次のように決定する。
【0046】
(1)通信回線300への接続の最初は異常発生頻度が不明なので安全のために最小の値(第1のブロック長)とする。
【0047】
(2)一定期間(所定期間)そのブロック長(第1のブロック長)で運用し通信異常を収集する。収集するのはブロックを連続して送信したとき何ブロック目で異常となったかである。
【0048】
(3)一定期間後、前記収集した通信異常の発生頻度からブロック長(第2のブロック長)を決定する。発生確率が小さい間隔を除いて、残りの間隔で最も短い間隔を探しその時間内に送信できるブロック長とする。
【0049】
(4)一度ブロック長を決定したら、次回接続時は該ブロック長(第2のブロック長)から始める。ただし、前記ブロック長(第2のブロック長)を決定してから時間(第2の所定期間)が経過している場合にはブロック長は最小(第1のブロック長)に戻す。
【0050】
次に本実施形態例におけるブロックのデータ構成を説明する。
【0051】
ブロックは図3のような構成であり、先頭にヘッダ、最後にトレーラ、それらの間にフレームを分割したデータをセットする。フレーム番号とブロック番号は、このデータが回線接続上の何番目のフレームで、そのフレーム内の何番目のブロックであるかを示す。全ブロック数はそのフレームが構成されているブロック数を示す。
【0052】
全ブロック数が毎回送信されるのは、伝送異常にて一部のブロックだけが到達しても、それがフレーム全体なのか一部なのかを知る必要があるからである。全ブロック数ではなく最終ブロックであることを示すフラグを用いても同様な処理は可能である。
【0053】
通信異常となったときブロックデータの一部が欠けたり、あるいは異常なデータが追加されたり、化けたりすることが多い。このためヘッダにある識別コードの中に簡易なチェックコードを追加し受信側にて異常ならばブロックを破棄する。簡易なチェックコードにした理由は、フレーム全体には別途チェックコードがあるためブロック単位は完全性を要求されず、これを完全にするためにブロックデータ構造が増えることを避けたものである。
【0054】
ここで、図3のブロックにおけるトレーラの存在理由を説明する。
【0055】
(1)データサイズの省略
前記図2に示すように、1フレームは複数ブロックで構成されており、1ブロックのサイズは伝送異常の発生頻度により決定される固定値である。例えば、ブロックサイズを300byteと決定し、送信データが1000byteであるとき、ブロックは、300byte+300byte+300byte+100byteの4つに分割する。
【0056】
その各ブロックのサイズを示す項目はなく、最終ブロック以外、ブロックサイズは300byteである。そこで最終ブロックはトレーラまでをブロックデータとして扱っている。これにより、フレームサイズとブロックサイズを送るのを省くことができる。
【0057】
(2)伝送異常タイムアウトを減らす
低速で不安定な回線では、データが受信できずにタイムアウトすることは時間的な無駄が大きく伝送帯域を悪くする。これは低速で不安定であるためタイムアウト値は短くできないためである。
【0058】
ここで伝送異常によりブロックデータの一部が欠けた場合を想定する。欠損したブロックの後、次のブロックが送信されればそのヘッダを受信したときにデータ欠損を認識する。しかし次の送信が存在しない場合にはタイムアウトにより検出しなければならない。これに対し、本実施形態例のトレーラがあれば、データサイズに関係なくトレーラ受信時点でデータ欠損を認識できるためタイムアウトによる待ち時間はなくなり、伝送効率が良くなる。
【0059】
また前述の簡易なチェックコードは、図3のヘッダにある識別コードの中に含まれており、識別コードは種別とチェックコードから構成されている。前記種別は、ブロックデータ、後述の送達確認、受信状態通知などを区別するコードであり、チェックコードは例えばチェックサムならばヘッダからブロックデータ最後までの合計値を格納する。
【0060】
次に本実施形態例におけるフレーム合成と送達確認データについて説明する。受信側装置200では、ブロックを受信するとフレームに組み立て、すべての図ロックが揃えばフレームが完成する。プロトコル上、相手が受信できたことを確認する必要があるため、送信側装置100は図4に示すような送達確認データを適当なタイミングで送る。
【0061】
図4において、識別コードは、データの始まりと終わりを示すコードであり、データ種別と全体のチェックサムを含んでいる。
【0062】
重複識別は、送達確認データの送信のたびに+1されるが、送達確認に対する応答が無いときタイムアウトにて当該送達確認データを再送信する場合には+1せず同じ値とする。すなわち、送達確認データが回線上のどこかで遅延して到達し誤って動作するのを防ぐ目的で使用する。
【0063】
受信完了フレーム番号は、受信側装置200での受信完了フレームを表し、送達確認を送信する側にて受信したフレームにおいて連続したフレーム番号の最後の番号を示す。つまりその次のフレームはまだ受信していないか、一部しか受信していないことを示す。
【0064】
最新送信フレーム番号は、最新の送信フレームを表し、送達確認を送信する側にて複数のフレームを送信した際の最も新しいフレーム番号を示す。つまり相手側でそのフレームまで受信できていれば、送信はすべて完了していることになる。
【0065】
次に本実施形態例における受信状態通知データについて説明する。
【0066】
受信側装置200では、送信側装置100から前記送信確認データを受信すると、該データに基づいて以下の2点について判定を行う。
【0067】
(1)送信側装置100から送信されたフレームについてどのフレームまで受信完了したか。
【0068】
(2)相手からの送信はすべて受信完了か、それとも次のフレームが受信できていないのかを知る。
【0069】
次のフレームが受信されていないと判定されたら、送信元に対して図5に示す受信状態通知データを送信する。図5のデータ構成によって、受信できていないフレームについて、どのブロックが未受信であるかを通知している。そして送信側装置100では、この受信状態通知データを受信したら未受信のブロックについて受信側装置200へ再送信を行いフレーム組み立てを完成させる。
【0070】
すなわち、受信側装置200では、受信によりフレーム内のブロックがすべて揃えばそのフレームは完成となるが、ブロックが全て揃わない、又は全く受信していないとき、そのフレームは未完成である。
【0071】
図4の送達確認データを受信したとき、送信側装置100の最新送信フレーム番号が得られる。これはそのフレーム番号の最終ブロックまで送信したことを示しているので、そのフレーム以前の未完成フレームは、図5の受信状態通知データにより足りないブロックを送信側装置100に要求する。その後送信側装置100が前記足りないブロックを受信側装置200へ再送信する。
【0072】
上記の処理により伝送異常が発生したブロックを再送信し、フレームより細かい単位で伝送を行うことができる。
【0073】
以上説明したブロックの送信から未受信ブロックの再送信までの処理のフローチャートの一例を図6に示す。図6において、まずステップS1では送信側装置100がブロックを送信する。
【0074】
次にステップS2において、一定時間経過したか否かを判定し、YESならばステップS3へ進み、NOならばステップS1に戻る。ステップS3では、図4に示す送達確認データを送信する。
【0075】
次にステップS4において、受信側装置200は、受信した送達確認データ内の最新送信フレーム番号に基づいて、受信できていないフレームを判定し、該フレームのどのブロックが未受信であるかを示す受信状態通知データを送信する。
【0076】
次にステップS5において、送信側装置100は、受信した前記受信状態通知データで指定された未受信のブロックを再送信する。
【0077】
次に本実施形態例における送達確認データ内の受信完了フレーム番号を利用した機能について説明する。前述のように送信側装置100では、受信状態通知データを受信したら、要求されたブロックを受信側装置200へ再送信するが、どのフレームでもいつでも再送できるようにするためには、送信側装置100にメモリが大量に必要となる。そのため受信側装置200にてフレーム完成したと判明しているフレームは送信側メモリから解放させる。
【0078】
すなわち、ブロック受信にてフレームが完成すると、送達確認データ内の受信完了フレーム番号にて通知し、送信側装置100はそのフレーム以前のデータをメモリから消去する。なおフレームは連続して受信している最後のフレームであり、途中で未完成フレームがあればその1つ前のフレーム番号を受信完了フレーム番号として通知する。
【0079】
次に本実施形態例における「切断から再接続におけるブロック送信(すなわち、途中で回線切断してもブロック単位で途中から再開させる機構)」について説明する。
【0080】
回線切断において相手(受信側)の状況は不明であるが自分(送信側)の送受信状態は記録できる。再接続時に相手側(受信側)の送受信状態を得ることで切断時から継続して伝送を開始する。これは以下の手順で行う。
【0081】
(1)自装置側(送信側)の送達確認を相手(受信側)へ送信する。
【0082】
(2)送達確認を受信したら当方(受信側)が受信できていないフレームに対し、受信状態通知を(送信側へ)送信する。
【0083】
(3)(送信側は)受信状態通知を受信したら未受信ブロックについて再送信を行う。
【0084】

(4)フレームの完成により、送達確認が送信されると相手は次のフレームを送信し始める。
【0085】
上記動作により、前回接続時に受信できたブロックを再送信せずにフレームを送信することができる。
【0086】
次に本実施形態例における「接続を区別して保持する機構」について説明する。接続においては、初回である場合と前回が通信異常にて中断した後の接続がある。また他の機器との接続もあるため、前回接続状態を継続するためにはそれぞれ区別する手段が必要となる。
【0087】
そこで、電源ON又は初回接続時に乱数から生成した接続番号を、接続時に相手へ送信する。相手側はその番号にて検索し前回接続時の状態を探し出し使用する。なお検索にて見つからないときは新規接続として扱う。そのため接続開始において、図7に示す構造を持った接続開始の通知データが必要となる。
【0088】
図7において、重複識別は、このデータが相手に到達しない場合や遅延にて再送信しても区別できるようにしている。
【0089】
接続番号は、異なる通信機器の接続、又は同じ機器でも別の接続であれば乱数により生成される番号であり、通信異常で切断しても再接続であれば同じ番号が指定される。
【0090】
ブロック長は、伝送異常の発生頻度から決定されたサイズである。
【0091】
受信完了フレーム番号、最新送信フレーム番号等は、図4の送達確認データで使用している値と同じである。この機構によって、複数の機器、又は同じ機器でも異なる接続を区別して伝送を継続することが可能となる。
【0092】
ここで、前記「切断から再接続におけるブロック送信」と「接続を区別して保持する機構」は、動作するパケットとタイミングが同じであり、これらの処理のフローチャートの一例を図8に示す。
【0093】
図8において、まず送信側装置100は、電源ON又は初回接続時であれば、ステップS11において、図7に示すデータの接続番号を乱数から生成した新規の接続番号とし、受信完了フレーム番号および最新送信フレーム番号を零として接続開始の通知データを送信する。
【0094】
また回線切断後の再接続時であれば、ステップS12において、図7に示すデータの接続番号を前回接続時の接続番号として接続開始の通知データを送信する。
【0095】
次にステップS13,S14において、受信側装置200は、送信側装置100からの前記接続開始の通知データを受信し、過去の通信記録を接続番号で検索し、受信した接続番号が通信記録にあるか否かを判定する。
【0096】
無い場合はステップS15において、通信記録へ新規接続として接続番号を追加し(新規の接続番号として通信記録上に領域を用意し)、受信完了フレーム番号および最新送信フレーム番号を零とし、有る場合はステップS16において、通信記録から受信完了フレーム番号および最新送信フレーム番号を読み出す(引き継ぐ)。
【0097】
次にステップS17において、受信側装置200は、前記ステップS15,S16の処理終了後の接続開始の通知データを応答として送信する。
【0098】
次にステップS18では、送信側装置100および受信側装置200の両方において、相手が新規であればこちらも新規とし、受信完了フレーム番号に従ってメモリを解放させ、最新送信フレーム番号に従って受信状態通知データを送信する。
【0099】
以後は通常の送受信状態となる。
【0100】
また、本実施形態の通信装置における各手段の一部もしくは全部の機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、本実施形態の通信方法における手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもなく、コンピュータでその機能を実現するためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えばFD(Floppy(登録商標) Disk)や、MO(Magneto−Optical disk)、ROM(Read Only Memory)、メモリカード、CD(Compact Disk)−ROM、DVD(Digital Versatile Disk)−ROM、CD−R、CD−RW、HDD、リムーバブルディスクなどに記録して、保存したり、配布したりすることが可能である。また、上記のプログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【符号の説明】
【0101】
100…送信側装置、101…送信側制御手段、200…受信側装置、201…受信側制御手段、300…通信回線。

【特許請求の範囲】
【請求項1】
1フレームのデータを、所定データ長に構成され、通信回線上の何番目のフレームであるかを表すフレーム番号および当該フレーム内の何番目のブロックであるかを表すブロック番号を含むブロックに分割して送信する送信側装置と、受信側装置との間で、通信回線を介して通信を行う通信システムであって、
前記送信側装置に設けられた送信側制御手段と、前記受信側装置に設けられた受信側制御手段とを備え、
前記送信側制御手段は、
前記ブロックを送信する機能と、
前記ブロック送信後に、最新の送信フレームを表す最新送信フレーム番号および受信側装置での受信完了フレームを表す受信完了フレーム番号を含む送達確認データを送信する機能と、
受信側装置から送信された、フレーム番号および受信ブロック状態を含む受信状態通知データを受信したとき、該データで指定された未受信のブロックを送信する機能とを有し、
前記受信側制御手段は、
送信側装置から送信されたブロックを受信し、該受信したブロックをフレームに組み立てる機能と、
送信側装置から送信された送達確認データを受信したとき、該データ内の最新送信フレーム番号に基づいて受信できていないフレームを判定し、該フレームのどのブロックが未受信であるかを示す受信状態通知データを送信する機能とを有していることを特徴とする通信システム。
【請求項2】
前記送信側制御手段は、前記最新送信フレーム番号および受信完了フレーム番号を含み、且つ前記通信回線への初回接続時には乱数から生成した新規の接続番号を、回線切断後の再接続時には前回接続時の接続番号を各々付与した接続開始の通知データを送信する機能と、
前記受信側装置から前記接続開始の通知データを応答として受信した後に前記ブロックを送信する機能とを有し、
前記受信側制御手段は、
前記送信側装置から接続開始の通知データを受信したときに、前記接続番号と一致する番号が過去の通信記録に有るか否かを判定する機能と、
前記判定結果が、一致する接続番号有りの場合、前記通信記録から受信完了フレーム番号および最新送信フレーム番号を引き継ぎ、前記判定結果が、一致する接続番号無しの場合、新規の接続番号を前記通信記録に追加する機能と、
前記通信記録の引き継ぎ又は追加終了後の前記接続開始の通知データを応答として送信する機能とを有していることを特徴とする請求項1に記載の通信システム。
【請求項3】
前記送信側制御手段は、前記送達確認データ内の受信完了フレーム番号で表される、受信完了のフレームデータを送信側メモリから削除する機能を有していることを特徴とする請求項1又は2に記載の通信システム。
【請求項4】
前記送信側制御手段は、
前記通信回線への初回接続時に、前記ブロックの長さを第1のブロック長に決定して所定期間通信を行わせる機能と、
前記所定期間内に通信異常を収集する機能と、
前記所定期間内に収集された通信異常の発生頻度に基づいて前記ブロックの長さを第2のブロック長に決定する機能と、を有していることを特徴とする請求項1ないし3のいずれか1項に記載の通信システム。
【請求項5】
1フレームのデータを、所定データ長に構成され、通信回線上の何番目のフレームであるかを表すフレーム番号および当該フレーム内の何番目のブロックであるかを表すブロック番号を含むブロックに分割して送信する送信側装置と、受信側装置との間で、通信回線を介して通信を行う通信システムにおける通信方法であって、
前記送信側装置の送信側制御手段が、
前記ブロックを送信するステップと、
前記ブロック送信後に、最新の送信フレームを表す最新送信フレーム番号および受信側装置での受信完了フレームを表す受信完了フレーム番号を含む送達確認データを送信するステップと、
前記受信側装置の受信側制御手段が、
送信側装置から送信されたブロックを受信し、該受信したブロックをフレームに組み立てるステップと、
送信側装置から送信された送達確認データを受信したとき、該データ内の最新送信フレーム番号に基づいて受信できていないフレームを判定し、該フレームのどのブロックが未受信であるかを示す受信状態通知データを送信するステップと、
前記送信側制御手段が、受信側装置から送信された、前記受信状態通知データを受信したとき、該データで指定された未受信のブロックを送信するステップとを有していることを特徴とする通信方法。
【請求項6】
前記送信側制御手段が、前記最新送信フレーム番号および受信完了フレーム番号を含み、且つ前記通信回線への初回接続時には乱数から生成した新規の接続番号を、回線切断後の再接続時には前回接続時の接続番号を各々付与した接続開始の通知データを送信するステップと、
前記受信側制御手段が、
前記送信側装置から接続開始の通知データを受信したときに、前記接続番号と一致する番号が過去の通信記録に有るか否かを判定するステップと、
前記判定結果が、一致する接続番号有りの場合、前記通信記録から受信完了フレーム番号および最新送信フレーム番号を引き継ぎ、前記判定結果が、一致する接続番号無しの場合、新規の接続番号を前記通信記録に追加するステップと、
前記通信記録の引き継ぎ又は追加終了後の前記接続開始の通知データを応答として送信するステップと、
前記送信側制御手段が、前記受信側装置から前記接続開始の通知データを応答として受信した後に前記ブロックを送信するステップとを有していることを特徴とする請求項5に記載の通信方法。
【請求項7】
前記送信側制御手段が、前記送達確認データ内の受信完了フレーム番号で表される、受信完了のフレームデータを送信側メモリから削除するステップを有していることを特徴とする請求項5又は6に記載の通信方法。
【請求項8】
前記送信側制御手段が、
前記通信回線への初回接続時に、前記ブロックの長さを第1のブロック長に決定して所定期間通信を行わせるステップと、
前記所定期間内に通信異常を収集するステップと、
前記所定期間内に収集された通信異常の発生頻度に基づいて前記ブロックの長さを第2のブロック長に決定するステップと、を有していることを特徴とする請求項5ないし7のいずれか1項に記載の通信方法。
【請求項9】
コンピュータを請求項1ないし4のいずれか1項に記載の各手段として機能させる通信プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2010−166347(P2010−166347A)
【公開日】平成22年7月29日(2010.7.29)
【国際特許分類】
【出願番号】特願2009−7279(P2009−7279)
【出願日】平成21年1月16日(2009.1.16)
【出願人】(000006105)株式会社明電舎 (1,739)
【Fターム(参考)】