(57)【要約】【課題】伝送状態の悪化に追従することができ、また無駄な再送信を防止することができる通信システムを提供する。【解決手段】１フレームのデータを複数のブロックに分割して送信する送信側装置１００と、受信側装置２００との間で、通信回線３００を介して通信を行う通信システムであって、送信側制御手段１０１は、前記ブロック送信後に、最新送信フレーム番号および受信完了フレーム番号を含む送達確認データを送信する機能と、受信側装置２００から受信状態通知データを受信したとき、該データで指定された未受信のブロックを送信する機能とを有し、受信側制御手段２０１は、前記送達確認データを受信したとき、該データ内の最新送信フレーム番号に基づいて受信できていないフレームを判定し、該フレームのどのブロックが未受信であるかを示す受信状態通知データを送信する機能を有する。【選択図】図１
2010166347.tif 000002
【特許請求の範囲】
【請求項１】
１フレームのデータを、所定データ長に構成され、通信回線上の何番目のフレームであるかを表すフレーム番号および当該フレーム内の何番目のブロックであるかを表すブロック番号を含むブロックに分割して送信する送信側装置と、受信側装置との間で、通信回線を介して通信を行う通信システムであって、
前記送信側装置に設けられた送信側制御手段と、前記受信側装置に設けられた受信側制御手段とを備え、
前記送信側制御手段は、
前記ブロックを送信する機能と、
前記ブロック送信後に、最新の送信フレームを表す最新送信フレーム番号および受信側装置での受信完了フレームを表す受信完了フレーム番号を含む送達確認データを送信する機能と、
受信側装置から送信された、フレーム番号および受信ブロック状態を含む受信状態通知データを受信したとき、該データで指定された未受信のブロックを送信する機能とを有し、
前記受信側制御手段は、
送信側装置から送信されたブロックを受信し、該受信したブロックをフレームに組み立てる機能と、
送信側装置から送信された送達確認データを受信したとき、該データ内の最新送信フレーム番号に基づいて受信できていないフレームを判定し、該フレームのどのブロックが未受信であるかを示す受信状態通知データを送信する機能とを有していることを特徴とする通信システム。
【請求項２】
前記送信側制御手段は、前記最新送信フレーム番号および受信完了フレーム番号を含み、且つ前記通信回線への初回接続時には乱数から生成した新規の接続番号を、回線切断後の再接続時には前回接続時の接続番号を各々付与した接続開始の通知データを送信する機能と、
前記受信側装置から前記接続開始の通知データを応答として受信した後に前記ブロックを送信する機能とを有し、
前記受信側制御手段は、
前記送信側装置から接続開始の通知データを受信したときに、前記接続番号と一致する番号が過去の通信記録に有るか否かを判定する機能と、
前記判定結果が、一致する接続番号有りの場合、前記通信記録から受信完了フレーム番号および最新送信フレーム番号を引き継ぎ、前記判定結果が、一致する接続番号無しの場合、新規の接続番号を前記通信記録に追加する機能と、
前記通信記録の引き継ぎ又は追加終了後の前記接続開始の通知データを応答として送信する機能とを有していることを特徴とする請求項１に記載の通信システム。
【請求項３】
前記送信側制御手段は、前記送達確認データ内の受信完了フレーム番号で表される、受信完了のフレームデータを送信側メモリから削除する機能を有していることを特徴とする請求項１又は２に記載の通信システム。
【請求項４】
前記送信側制御手段は、
前記通信回線への初回接続時に、前記ブロックの長さを第１のブロック長に決定して所定期間通信を行わせる機能と、
前記所定期間内に通信異常を収集する機能と、
前記所定期間内に収集された通信異常の発生頻度に基づいて前記ブロックの長さを第２のブロック長に決定する機能と、を有していることを特徴とする請求項１ないし３のいずれか１項に記載の通信システム。
【請求項５】
１フレームのデータを、所定データ長に構成され、通信回線上の何番目のフレームであるかを表すフレーム番号および当該フレーム内の何番目のブロックであるかを表すブロック番号を含むブロックに分割して送信する送信側装置と、受信側装置との間で、通信回線を介して通信を行う通信システムにおける通信方法であって、
前記送信側装置の送信側制御手段が、
前記ブロックを送信するステップと、
前記ブロック送信後に、最新の送信フレームを表す最新送信フレーム番号および受信側装置での受信完了フレームを表す受信完了フレーム番号を含む送達確認データを送信するステップと、
前記受信側装置の受信側制御手段が、
送信側装置から送信されたブロックを受信し、該受信したブロックをフレームに組み立てるステップと、
送信側装置から送信された送達確認データを受信したとき、該データ内の最新送信フレーム番号に基づいて受信できていないフレームを判定し、該フレームのどのブロックが未受信であるかを示す受信状態通知データを送信するステップと、
前記送信側制御手段が、受信側装置から送信された、前記受信状態通知データを受信したとき、該データで指定された未受信のブロックを送信するステップとを有していることを特徴とする通信方法。
【請求項６】
前記送信側制御手段が、前記最新送信フレーム番号および受信完了フレーム番号を含み、且つ前記通信回線への初回接続時には乱数から生成した新規の接続番号を、回線切断後の再接続時には前回接続時の接続番号を各々付与した接続開始の通知データを送信するステップと、
前記受信側制御手段が、
前記送信側装置から接続開始の通知データを受信したときに、前記接続番号と一致する番号が過去の通信記録に有るか否かを判定するステップと、
前記判定結果が、一致する接続番号有りの場合、前記通信記録から受信完了フレーム番号および最新送信フレーム番号を引き継ぎ、前記判定結果が、一致する接続番号無しの場合、新規の接続番号を前記通信記録に追加するステップと、
前記通信記録の引き継ぎ又は追加終了後の前記接続開始の通知データを応答として送信するステップと、
前記送信側制御手段が、前記受信側装置から前記接続開始の通知データを応答として受信した後に前記ブロックを送信するステップとを有していることを特徴とする請求項５に記載の通信方法。
【請求項７】
前記送信側制御手段が、前記送達確認データ内の受信完了フレーム番号で表される、受信完了のフレームデータを送信側メモリから削除するステップを有していることを特徴とする請求項５又は６に記載の通信方法。
【請求項８】
前記送信側制御手段が、
前記通信回線への初回接続時に、前記ブロックの長さを第１のブロック長に決定して所定期間通信を行わせるステップと、
前記所定期間内に通信異常を収集するステップと、
前記所定期間内に収集された通信異常の発生頻度に基づいて前記ブロックの長さを第２のブロック長に決定するステップと、を有していることを特徴とする請求項５ないし７のいずれか１項に記載の通信方法。
【請求項９】
コンピュータを請求項１ないし４のいずれか１項に記載の各手段として機能させる通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、装置間の通信において、通信回線が低速且つ不安定であるときの通信プロトコルに関し、通信システム、通信方法および通信プログラムに関する。
【０００２】
本発明では特に次のような通信回線を想定している。  
【０００３】
（１）長距離の電話回線や専用回線において通信速度が遅くノイズなどの外乱により不安定な回線。  
【０００４】
（２）携帯電話や衛星電話などの無線機器で、通信速度が遅く通信環境により不安定な回線。
【背景技術】
【０００５】
送信側装置と受信側装置の間で通信回線を介して通信を行う通信システムにおいて、通信距離が長いとき信号減衰とノイズの影響があり、また無線通信では電波環境が悪いと不安定となる。
【０００６】
通信機器は異常検出すると回線を切断とする。通信プロトコルは通信を継続するために再接続を行う。
【０００７】
通信プロトコルは、送受信データから破壊されたデータを検出し、その部分を再送信することで、確実な通信を実現している。その処理のためにプロトコルはデータのかたまり（フレームとする）を相手へ送信し、相手からの応答を受信することでフレームが届けられたことを確認している。
【０００８】
このようすを、装置Ａ，Ｂ間のデータの送受信を示す図９とともに説明する。図９において、フレーム０１の送受信が完了した後に装置Ａからフレーム０２を送信し、装置Ｂではフレーム０２の途中まで受信できたが回線異常により中断（ここで中断とは、回線切断には至らない程度の回線異常をいい、通信が回復することもあり得る状態を指す）したとする。
【０００９】
そしてその後しばらくして通信が可能となった時、装置Ａ側では、装置Ｂからフレーム０２を受信したという応答が無いためフレーム０２から送信を再開する。この際フレーム０２の図示黒色部分は前回接続時に送信できているが、フレーム単位でしか処理できないためフレームごと再送信する。
【００１０】
尚、従来のデータ通信方法及び送受信装置としては、例えば特許文献１に記載のものが提案されていた。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特許第３９６１１２８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
前記図９で述べたように、通信異常が発生すると相手からの応答が受信できず、それより前に正常に受信した応答のところまでを送信完了として処理する。通信可能になると、その次のフレームから送信を開始することになる。
【００１３】
しかし、切断されたとき相手側にはフレームの一部、あるいはフレーム全体が到達している可能性があり、そのデータは応答が送信できていないために破棄され無駄となっている。
【００１４】
伝送速度が高速な回線、あるいは低速であるが通信環境が安定しており切断がほとんどない回線では、前記破棄されたデータは全体から見れば小さいため問題とならない。しかし、伝送速度が低速かつ不安定な回線では破棄されたデータの影響は大きく、無視できない。
【００１５】
また、１０００ｂｙｔｅ送信する時間で通信が不安定になる環境において１フレーム１０００ｂｙｔｅのデータを送信すると、毎回同じフレームを再送することに費やされてしまい、通信はたまにしか成立しない。
【００１６】
上位プロトコルに対し下位プロトコルが小さい単位に分割して送信する例は多く存在する。しかしそれらは、伝送の物理的特性による制限や規格上の制限により決められた大きさであり、頻発する伝送異常を考慮しているわけではない。不安定な回線は時間、場所などの環境により状況が大きく変化するため、常時分割するサイズを見直す必要がある。
【００１７】
従来の通信システム、通信方法における問題点は以下のとおりである。  
【００１８】
（１）プロトコルが管理する単位よりも短い時間で通信異常になるならば送信は成功しない。異常となる時間よりも短い時間で伝送できるように分割できなければならない。小さく分割するプロトコルは存在するが、伝送異常の発生頻度から決定しているわけではなく、状況の変化に対応できない。
【００１９】
（２）切断時に相手に到達していたデータの一部は破棄される。次回接続時にはその破棄された部分も含めて再送信する必要があり無駄がある。
【００２０】
本発明は上記課題を解決するものであり、その目的は、伝送状態の悪化に追従することができ、また無駄な再送信を防止することができる通信システム、通信方法および通信プログラムを提供することにある。
【課題を解決するための手段】
【００２１】
上記課題を解決するための本発明の通信システムは、１フレームのデータを、所定データ長に構成され、通信回線上の何番目のフレームであるかを表すフレーム番号および当該フレーム内の何番目のブロックであるかを表すブロック番号を含むブロックに分割して送信する送信側装置と、受信側装置との間で、通信回線を介して通信を行う通信システムであって、前記送信側装置に設けられた送信側制御手段と、前記受信側装置に設けられた受信側装置とを備え、前記送信側制御手段は、前記ブロックを送信する機能と、前記ブロック送信後に、最新の送信フレームを表す最新送信フレーム番号および受信側装置での受信完了フレームを表す受信完了フレーム番号を含む送達確認データを送信する機能と、受信側装置から送信された、フレーム番号および受信ブロック状態を含む受信状態通知データを受信したとき、該データで指定された未受信のブロックを送信する機能とを有し、前記受信側制御手段は、送信側装置から送信されたブロックを受信し、該受信したブロックをフレームに組み立てる機能と、送信側装置から送信された送達確認データを受信したとき、該データ内の最新送信フレーム番号に基づいて受信できていないフレームを判定し、該フレームのどのブロックが未受信であるかを示す受信状態通知データを送信する機能とを有していることを特徴とする。
【００２２】
また請求項２に記載の通信システムは、請求項１において、前記送信側制御手段は、前記最新送信フレーム番号および受信完了フレーム番号を含み、且つ前記通信回線への初回接続時には乱数から生成した新規の接続番号を、回線切断後の再接続時には前回接続時の接続番号を各々付与した接続開始の通知データを送信する機能と、前記受信側装置から前記接続開始の通知データを応答として受信した後に前記ブロックを送信する機能とを有し、前記受信側制御手段は、前記送信側装置から接続開始の通知データを受信したときに、前記接続番号と一致する番号が過去の通信記録に有るか否かを判定する機能と、前記判定結果が、一致する接続番号有りの場合、前記通信記録から受信完了フレーム番号および最新送信フレーム番号を引き継ぎ、前記判定結果が、一致する接続番号無しの場合、新規の接続番号を前記通信記録に追加する機能と、前記通信記録の引き継ぎ又は追加終了後の前記接続開始の通知データを応答として送信する機能とを有していることを特徴とする。
【００２３】
また請求項３に記載の通信システムは、請求項１又は２において、前記送信側制御手段は、前記送達確認データ内の受信完了フレーム番号で表される、受信完了のフレームデータを送信側メモリから削除する機能を有していることを特徴とする。
【００２４】
また請求項４に記載の通信システムは、請求項１ないし３のいずれか１項において、前記送信側制御手段は、前記通信回線への初回接続時に、前記ブロックの長さを第１のブロック長に決定して所定期間通信を行わせる機能と、前記所定期間内に通信異常を収集する機能と、前記所定期間内に収集された通信異常の発生頻度に基づいて前記ブロックの長さを第２のブロック長に決定する機能と、を有していることを特徴とする。
【００２５】
また、請求項５に記載の通信方法は、１フレームのデータを、所定データ長に構成され、通信回線上の何番目のフレームであるかを表すフレーム番号および当該フレーム内の何番目のブロックであるかを表すブロック番号を含むブロックに分割して送信する送信側装置と、受信側装置との間で、通信回線を介して通信を行う通信システムにおける通信方法であって、前記送信側装置の送信側制御手段が、前記ブロックを送信するステップと、前記ブロック送信後に、最新の送信フレームを表す最新送信フレーム番号および受信側装置での受信完了フレームを表す受信完了フレーム番号を含む送達確認データを送信するステップと、前記受信側装置の受信側制御手段が、送信側装置から送信されたブロックを受信し、該受信したブロックをフレームに組み立てるステップと、送信側装置から送信された送達確認データを受信したとき、該データ内の最新送信フレーム番号に基づいて受信できていないフレームを判定し、該フレームのどのブロックが未受信であるかを示す受信状態通知データを送信するステップと、前記送信側制御手段が、受信側装置から送信された、前記受信状態通知データを受信したとき、該データで指定された未受信のブロックを送信するステップとを有していることを特徴とする。
【００２６】
また請求項６に記載の通信方法は、請求項５において、前記送信側制御手段が、前記最新送信フレーム番号および受信完了フレーム番号を含み、且つ前記通信回線への初回接続時には乱数から生成した新規の接続番号を、回線切断後の再接続時には前回接続時の接続番号を各々付与した接続開始の通知データを送信するステップと、前記受信側制御手段が、前記送信側装置から接続開始の通知データを受信したときに、前記接続番号と一致する番号が過去の通信記録に有るか否かを判定するステップと、前記判定結果が、一致する接続番号有りの場合、前記通信記録から受信完了フレーム番号および最新送信フレーム番号を引き継ぎ、前記判定結果が、一致する接続番号無しの場合、新規の接続番号を前記通信記録に追加するステップと、前記通信記録の引き継ぎ又は追加終了後の前記接続開始の通知データを応答として送信するステップと、前記送信側制御手段が、前記受信側装置から前記接続開始の通知データを応答として受信した後に前記ブロックを送信するステップとを有していることを特徴とする。
【００２７】
また請求項７に記載の通信方法は、請求項５又は６において、前記送信側制御手段が、前記送達確認データ内の受信完了フレーム番号で表される、受信完了のフレームデータを送信側メモリから削除するステップを有していることを特徴とする。
【００２８】
また請求項８に記載の通信方法は、請求項５ないし７のいずれか１項において、前記送信側制御手段が、前記通信回線への初回接続時に、前記ブロックの長さを第１のブロック長に決定して所定期間通信を行わせるステップと、前記所定期間内に通信異常を収集するステップと、前記所定期間内に収集された通信異常の発生頻度に基づいて前記ブロックの長さを第２のブロック長に決定するステップと、を有していることを特徴とする。
【００２９】
また、請求項９に記載の通信プログラムは、コンピュータを請求項１ないし４のいずれか１項に記載の各手段として機能させる通信プログラムである。
【発明の効果】
【００３０】
（１）請求項１〜９に記載の発明によれば、フレームを分割したブロック単位で通信を行っているので、通信回線の不安定などによりフレームよりも短い間隔で通信が失敗しても通信を維持することができる。また、送達確認データおよび受信状態通知データを用いているので、伝送異常（通信異常）により回線切断したとき、再接続において相手側が受信できなかった部分データ（ブロック）のみ再送信することで無駄な再送信をせずに済ますことができる。
【００３１】
すなわち、切断にて伝送途中のデータが破棄され、次回接続にてフレーム全体のデータを再送信するのは時間的な無駄となるが、本発明によれば、再接続にて前回受信できたところを活かしてその次のブロックから送信開始するため、伝送上の無駄が少なくなる。
【００３２】
（２）請求項２、６に記載の発明によれば、通信回線への初回接続時や、回線切断後の再接続時など、複数の接続状態に応じた接続番号を備えた接続開始の通知データを用いているので、適切な接続状態でデータの伝送を開始することができる。
【００３３】
すなわち、前述の無駄な再送信を行わないためには前回の接続状態を保持する必要があるが、本発明によれば、前記複数の接続状態に応じた接続番号を回線接続時に受信側装置から送信側装置に通知しているため、該当する接続状態に戻して通信を再開することができる。これによって回線切断が頻発しても伝送効率の悪化を防ぐことができる。
【００３４】
（３）請求項３、７に記載の発明によれば、送達確認データ内の受信完了フレーム番号を利用して、受信完了のフレームデータをメモリから削除しているので、送信側装置のメモリ容量を増やすことなく、未受信のフレームデータを送信側装置から再送することができる。
【００３５】
（４）請求項４、８に記載の発明によれば、伝送フレームより細かい単位（ブロック）で管理するので、短時間で通信異常が発生しても通信を継続することができる。
【００３６】
すなわち、伝送異常（通信異常）の発生頻度に応じてブロック長を決定しているので、伝送状態によりブロック長が自動変更されるため、伝送状態が一時的に悪化しても追従できる範囲が広くなる。
【図面の簡単な説明】
【００３７】
【図１】本発明の通信システムの実施形態例を示す構成図。
【図２】本発明で適用されるフレームのブロック分割のようすを示す説明図。
【図３】本発明の実施形態例におけるブロックのデータ構成を示す説明図。
【図４】本発明の実施形態例における送達確認データの構成を示す説明図。
【図５】本発明の実施形態例における受信状態通知データの構成を示す説明図。
【図６】本発明の実施形態例におけるブロック送信から未受信ブロックの再送信までの処理を示すフローチャート。
【図７】本発明の実施形態例における接続開始の通知データの構成を示す説明図。
【図８】本発明の実施形態例における新規接続又は再接続時の処理を示すフローチャート。
【図９】従来の通信方法における不具合を示す説明図。
【発明を実施するための形態】
【００３８】
以下、図面を参照しながら本発明の実施の形態を説明するが、本発明は下記の実施形態例に限定されるものではない。図１は本発明の通信システムの実施形態例を示す構成図であり、１００は送信側装置、２００は受信側装置、３００は通信回線を示している。
【００３９】
送信側装置１００には、１フレームのデータを所定データ長に分割したブロックを送信する機能と、前記通信回線３００への初回接続時に、前記ブロックの長さを第１のブロック長に決定して所定期間通信を行わせる機能と、前記所定期間内に通信異常を収集する機能と、前記所定期間内に収集された通信異常の発生頻度に基づいて前記ブロックの長さを第２のブロック長に決定する機能と、最新の送信フレームを表す最新送信フレーム番号および受信側装置２００での受信完了フレームを表す受信完了フレーム番号を含み、且つ前記通信回線３００への初回接続時には乱数から生成した新規の接続番号を、回線切断後の再接続時には前回接続時の接続番号を各々付与した接続開始の通知データを送信する機能と、前記受信側装置２００から前記接続開始の通知データを応答として受信した後に前記ブロックを送信する機能と、前記ブロック送信後に、最新送信フレーム番号および受信完了フレーム番号を含む送達確認データを送信する機能と、受信側装置２００から送信された、フレーム番号および受信ブロック状態を含む受信状態通知データを受信したとき、該データで指定された未受信のブロックを送信する機能とを有した送信側制御手段１０１が設けられている。
【００４０】
前記受信側装置２００には、前記送信側装置１００から前記接続開始の通知データを受信したときに、前記接続番号と一致する番号が過去の通信記録に有るか否かを判定する機能と、前記判定結果が、一致する接続番号有りの場合、前記通信記録から受信完了フレーム番号および最新送信フレーム番号を引き継ぎ、前記判定結果が、一致する接続番号無しの場合、新規の接続番号を前記通信記録に追加する機能と、前記通信記録の引き継ぎ又は追加終了後の前記接続開始の通知データを応答として送信する機能と、送信側装置１００から送信されたブロックを受信し、該受信したブロックをフレームに組み立てる機能と、送信側装置１００から送信された送達確認データを受信したとき、該データ内の最新送信フレーム番号に基づいて受信できていないフレームを判定し、該フレームのどのブロックが未受信であるかを示す受信状態通知データを送信する機能と、前記送達確認データ内の受信完了フレーム番号で表される、受信完了のフレームデータをメモリから削除する機能とを有した受信側制御手段２０１が設けられている。
【００４１】
前記送信側制御手段１０１および受信側制御手段２０１の前記各機能は、例えばコンピュータにより達成される。
【００４２】
通信プロトコルは、上位通信層から送信データを受け取り送信し、通信回線からデータを受信したら上位通信層へ渡す。上位層と下位層の間のインターフェースさえ守れば下位層にてデータを分割管理しても問題はない。通常、データは伝送媒体の物理的制約や規格により分割し送信されている。
【００４３】
ここで、フレームを分割せずに送信した場合、図２のようにフレーム途中で伝送異常が発生するとそのフレーム全体を破棄するしかない。フレームを小さいブロックに分割して管理しながら送信した場合、図２において２ブロックと３ブロックのみ再送信すればフレームを受信することができる。
【００４４】
プロトコルにおいてブロックのように小さな単位に分割して送信することは通常よく行われている。しかし、後述するような本発明におけるブロック長の調整や、再送信のための機構は従来存在しなかった。
【００４５】
上位からのデータをフレームとし、分割したデータをブロックとするとき、ブロックの伝送時間が通信異常の発生間隔より長いならば送信は失敗してしまう。そこで本実施形態例ではブロック長を次のように決定する。
【００４６】
（１）通信回線３００への接続の最初は異常発生頻度が不明なので安全のために最小の値（第１のブロック長）とする。
【００４７】
（２）一定期間（所定期間）そのブロック長（第１のブロック長）で運用し通信異常を収集する。収集するのはブロックを連続して送信したとき何ブロック目で異常となったかである。
【００４８】
（３）一定期間後、前記収集した通信異常の発生頻度からブロック長（第２のブロック長）を決定する。発生確率が小さい間隔を除いて、残りの間隔で最も短い間隔を探しその時間内に送信できるブロック長とする。
【００４９】
（４）一度ブロック長を決定したら、次回接続時は該ブロック長（第２のブロック長）から始める。ただし、前記ブロック長（第２のブロック長）を決定してから時間（第２の所定期間）が経過している場合にはブロック長は最小（第１のブロック長）に戻す。
【００５０】
次に本実施形態例におけるブロックのデータ構成を説明する。  
【００５１】
ブロックは図３のような構成であり、先頭にヘッダ、最後にトレーラ、それらの間にフレームを分割したデータをセットする。フレーム番号とブロック番号は、このデータが回線接続上の何番目のフレームで、そのフレーム内の何番目のブロックであるかを示す。全ブロック数はそのフレームが構成されているブロック数を示す。
【００５２】
全ブロック数が毎回送信されるのは、伝送異常にて一部のブロックだけが到達しても、それがフレーム全体なのか一部なのかを知る必要があるからである。全ブロック数ではなく最終ブロックであることを示すフラグを用いても同様な処理は可能である。
【００５３】
通信異常となったときブロックデータの一部が欠けたり、あるいは異常なデータが追加されたり、化けたりすることが多い。このためヘッダにある識別コードの中に簡易なチェックコードを追加し受信側にて異常ならばブロックを破棄する。簡易なチェックコードにした理由は、フレーム全体には別途チェックコードがあるためブロック単位は完全性を要求されず、これを完全にするためにブロックデータ構造が増えることを避けたものである。
【００５４】
ここで、図３のブロックにおけるトレーラの存在理由を説明する。  
【００５５】
（１）データサイズの省略
前記図２に示すように、１フレームは複数ブロックで構成されており、１ブロックのサイズは伝送異常の発生頻度により決定される固定値である。例えば、ブロックサイズを３００ｂｙｔｅと決定し、送信データが１０００ｂｙｔｅであるとき、ブロックは、３００ｂｙｔｅ＋３００ｂｙｔｅ＋３００ｂｙｔｅ＋１００ｂｙｔｅの４つに分割する。
【００５６】
その各ブロックのサイズを示す項目はなく、最終ブロック以外、ブロックサイズは３００ｂｙｔｅである。そこで最終ブロックはトレーラまでをブロックデータとして扱っている。これにより、フレームサイズとブロックサイズを送るのを省くことができる。
【００５７】
（２）伝送異常タイムアウトを減らす
低速で不安定な回線では、データが受信できずにタイムアウトすることは時間的な無駄が大きく伝送帯域を悪くする。これは低速で不安定であるためタイムアウト値は短くできないためである。
【００５８】
ここで伝送異常によりブロックデータの一部が欠けた場合を想定する。欠損したブロックの後、次のブロックが送信されればそのヘッダを受信したときにデータ欠損を認識する。しかし次の送信が存在しない場合にはタイムアウトにより検出しなければならない。これに対し、本実施形態例のトレーラがあれば、データサイズに関係なくトレーラ受信時点でデータ欠損を認識できるためタイムアウトによる待ち時間はなくなり、伝送効率が良くなる。
【００５９】
また前述の簡易なチェックコードは、図３のヘッダにある識別コードの中に含まれており、識別コードは種別とチェックコードから構成されている。前記種別は、ブロックデータ、後述の送達確認、受信状態通知などを区別するコードであり、チェックコードは例えばチェックサムならばヘッダからブロックデータ最後までの合計値を格納する。
【００６０】
次に本実施形態例におけるフレーム合成と送達確認データについて説明する。受信側装置２００では、ブロックを受信するとフレームに組み立て、すべての図ロックが揃えばフレームが完成する。プロトコル上、相手が受信できたことを確認する必要があるため、送信側装置１００は図４に示すような送達確認データを適当なタイミングで送る。
【００６１】
図４において、識別コードは、データの始まりと終わりを示すコードであり、データ種別と全体のチェックサムを含んでいる。
【００６２】
重複識別は、送達確認データの送信のたびに＋１されるが、送達確認に対する応答が無いときタイムアウトにて当該送達確認データを再送信する場合には＋１せず同じ値とする。すなわち、送達確認データが回線上のどこかで遅延して到達し誤って動作するのを防ぐ目的で使用する。
【００６３】
受信完了フレーム番号は、受信側装置２００での受信完了フレームを表し、送達確認を送信する側にて受信したフレームにおいて連続したフレーム番号の最後の番号を示す。つまりその次のフレームはまだ受信していないか、一部しか受信していないことを示す。
【００６４】
最新送信フレーム番号は、最新の送信フレームを表し、送達確認を送信する側にて複数のフレームを送信した際の最も新しいフレーム番号を示す。つまり相手側でそのフレームまで受信できていれば、送信はすべて完了していることになる。
【００６５】
次に本実施形態例における受信状態通知データについて説明する。  
【００６６】
受信側装置２００では、送信側装置１００から前記送信確認データを受信すると、該データに基づいて以下の２点について判定を行う。
【００６７】
（１）送信側装置１００から送信されたフレームについてどのフレームまで受信完了したか。  
【００６８】
（２）相手からの送信はすべて受信完了か、それとも次のフレームが受信できていないのかを知る。
【００６９】
次のフレームが受信されていないと判定されたら、送信元に対して図５に示す受信状態通知データを送信する。図５のデータ構成によって、受信できていないフレームについて、どのブロックが未受信であるかを通知している。そして送信側装置１００では、この受信状態通知データを受信したら未受信のブロックについて受信側装置２００へ再送信を行いフレーム組み立てを完成させる。
【００７０】
すなわち、受信側装置２００では、受信によりフレーム内のブロックがすべて揃えばそのフレームは完成となるが、ブロックが全て揃わない、又は全く受信していないとき、そのフレームは未完成である。
【００７１】
図４の送達確認データを受信したとき、送信側装置１００の最新送信フレーム番号が得られる。これはそのフレーム番号の最終ブロックまで送信したことを示しているので、そのフレーム以前の未完成フレームは、図５の受信状態通知データにより足りないブロックを送信側装置１００に要求する。その後送信側装置１００が前記足りないブロックを受信側装置２００へ再送信する。
【００７２】
上記の処理により伝送異常が発生したブロックを再送信し、フレームより細かい単位で伝送を行うことができる。
【００７３】
以上説明したブロックの送信から未受信ブロックの再送信までの処理のフローチャートの一例を図６に示す。図６において、まずステップＳ１では送信側装置１００がブロックを送信する。
【００７４】
次にステップＳ２において、一定時間経過したか否かを判定し、ＹＥＳならばステップＳ３へ進み、ＮＯならばステップＳ１に戻る。ステップＳ３では、図４に示す送達確認データを送信する。
【００７５】
次にステップＳ４において、受信側装置２００は、受信した送達確認データ内の最新送信フレーム番号に基づいて、受信できていないフレームを判定し、該フレームのどのブロックが未受信であるかを示す受信状態通知データを送信する。
【００７６】
次にステップＳ５において、送信側装置１００は、受信した前記受信状態通知データで指定された未受信のブロックを再送信する。
【００７７】
次に本実施形態例における送達確認データ内の受信完了フレーム番号を利用した機能について説明する。前述のように送信側装置１００では、受信状態通知データを受信したら、要求されたブロックを受信側装置２００へ再送信するが、どのフレームでもいつでも再送できるようにするためには、送信側装置１００にメモリが大量に必要となる。そのため受信側装置２００にてフレーム完成したと判明しているフレームは送信側メモリから解放させる。
【００７８】
すなわち、ブロック受信にてフレームが完成すると、送達確認データ内の受信完了フレーム番号にて通知し、送信側装置１００はそのフレーム以前のデータをメモリから消去する。なおフレームは連続して受信している最後のフレームであり、途中で未完成フレームがあればその１つ前のフレーム番号を受信完了フレーム番号として通知する。
【００７９】
次に本実施形態例における「切断から再接続におけるブロック送信（すなわち、途中で回線切断してもブロック単位で途中から再開させる機構）」について説明する。
【００８０】
回線切断において相手（受信側）の状況は不明であるが自分（送信側）の送受信状態は記録できる。再接続時に相手側（受信側）の送受信状態を得ることで切断時から継続して伝送を開始する。これは以下の手順で行う。
【００８１】
（１）自装置側（送信側）の送達確認を相手（受信側）へ送信する。  
【００８２】
（２）送達確認を受信したら当方（受信側）が受信できていないフレームに対し、受信状態通知を（送信側へ）送信する。  
【００８３】
（３）（送信側は）受信状態通知を受信したら未受信ブロックについて再送信を行う。      
【００８４】
（４）フレームの完成により、送達確認が送信されると相手は次のフレームを送信し始める。
【００８５】
上記動作により、前回接続時に受信できたブロックを再送信せずにフレームを送信することができる。
【００８６】
次に本実施形態例における「接続を区別して保持する機構」について説明する。接続においては、初回である場合と前回が通信異常にて中断した後の接続がある。また他の機器との接続もあるため、前回接続状態を継続するためにはそれぞれ区別する手段が必要となる。
【００８７】
そこで、電源ＯＮ又は初回接続時に乱数から生成した接続番号を、接続時に相手へ送信する。相手側はその番号にて検索し前回接続時の状態を探し出し使用する。なお検索にて見つからないときは新規接続として扱う。そのため接続開始において、図７に示す構造を持った接続開始の通知データが必要となる。
【００８８】
図７において、重複識別は、このデータが相手に到達しない場合や遅延にて再送信しても区別できるようにしている。
【００８９】
接続番号は、異なる通信機器の接続、又は同じ機器でも別の接続であれば乱数により生成される番号であり、通信異常で切断しても再接続であれば同じ番号が指定される。
【００９０】
ブロック長は、伝送異常の発生頻度から決定されたサイズである。
【００９１】
受信完了フレーム番号、最新送信フレーム番号等は、図４の送達確認データで使用している値と同じである。この機構によって、複数の機器、又は同じ機器でも異なる接続を区別して伝送を継続することが可能となる。
【００９２】
ここで、前記「切断から再接続におけるブロック送信」と「接続を区別して保持する機構」は、動作するパケットとタイミングが同じであり、これらの処理のフローチャートの一例を図８に示す。
【００９３】
図８において、まず送信側装置１００は、電源ＯＮ又は初回接続時であれば、ステップＳ１１において、図７に示すデータの接続番号を乱数から生成した新規の接続番号とし、受信完了フレーム番号および最新送信フレーム番号を零として接続開始の通知データを送信する。
【００９４】
また回線切断後の再接続時であれば、ステップＳ１２において、図７に示すデータの接続番号を前回接続時の接続番号として接続開始の通知データを送信する。
【００９５】
次にステップＳ１３，Ｓ１４において、受信側装置２００は、送信側装置１００からの前記接続開始の通知データを受信し、過去の通信記録を接続番号で検索し、受信した接続番号が通信記録にあるか否かを判定する。
【００９６】
無い場合はステップＳ１５において、通信記録へ新規接続として接続番号を追加し（新規の接続番号として通信記録上に領域を用意し）、受信完了フレーム番号および最新送信フレーム番号を零とし、有る場合はステップＳ１６において、通信記録から受信完了フレーム番号および最新送信フレーム番号を読み出す（引き継ぐ）。
【００９７】
次にステップＳ１７において、受信側装置２００は、前記ステップＳ１５，Ｓ１６の処理終了後の接続開始の通知データを応答として送信する。
【００９８】
次にステップＳ１８では、送信側装置１００および受信側装置２００の両方において、相手が新規であればこちらも新規とし、受信完了フレーム番号に従ってメモリを解放させ、最新送信フレーム番号に従って受信状態通知データを送信する。
【００９９】
以後は通常の送受信状態となる。
【０１００】
また、本実施形態の通信装置における各手段の一部もしくは全部の機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、本実施形態の通信方法における手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもなく、コンピュータでその機能を実現するためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えばＦＤ（Ｆｌｏｐｐｙ（登録商標）  Ｄｉｓｋ）や、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、メモリカード、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＨＤＤ、リムーバブルディスクなどに記録して、保存したり、配布したりすることが可能である。また、上記のプログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【符号の説明】
【０１０１】
１００…送信側装置、１０１…送信側制御手段、２００…受信側装置、２０１…受信側制御手段、３００…通信回線。
【図１】
2010166347.tif 000003
【図２】
2010166347.tif 000004
【図３】
2010166347.tif 000005
【図４】
2010166347.tif 000006
【図５】
2010166347.tif 000007
【図６】
2010166347.tif 000008
【図７】
2010166347.tif 000009
【図８】
2010166347.tif 000010
【図９】
2010166347.tif 000011