(57)【要約】【課題】エラー発生頻度が高い通信環境において、送信機から受信機に効率良くデータを送信することを課題とする。【解決手段】受信機３が、エラー情報単位ではなく複数のエラー情報をまとめて送信機１に送信する。送信機１が、パケット単位ではなく複数のパケットをまとめて受信機３に送信する。また、受信機３が、複数のエラー情報を冗長化して送信機１に送信する。送信機１が、複数のパケットを冗長化して受信機３に送信する。送信機１が、パケット単位ではなく複数のパケットをまとめて再送メッセージを受信機３に送信する。さらに、エラー率に応じて冗長度を調整する。【選択図】図１
2011009827.tif 000002
【特許請求の範囲】
【請求項１】
送信されるデータを複数の分割データに分割し、各分割データに対して識別番号をそれぞれ割り当てて、対応する前記識別番号及び前記分割データからエラー検出に用いる第１検出符号をそれぞれ求め、当該識別番号及び当該分割データに前記第１検出符号を結合したパケットをそれぞれ生成して記憶手段に記憶させ、当該記憶手段から読み出した複数のパケットをまとめて送信する送信機と、
前記第１検出符号を用いて通信時にエラーが生じたパケットを検出し、受信した全てのパケットに対するエラー率を求め、当該パケットに含まれている前記識別番号をエラー番号としてエラー情報を生成し、当該エラー情報を前記エラー率に応じて冗長化した後にまとめて送信する受信機と、
を有することを特徴とする通信システム。
【請求項２】
前記受信機は、
前記エラー率及び前記エラー番号からエラー検出に用いる第２検出符号を求め、当該エラー率及び当該エラー番号に前記第２検出符号を結合して前記エラー情報を生成し、
前記送信機は、
前記第２検出符号を用いて通信時にエラーが生じなかったエラー情報を検出し、当該エラー情報に含まれるエラー番号に対応する識別番号を含む前記パケットを前記エラー率で冗長化してまとめて送信することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記送信機及び前記受信機は、電界伝達媒体又は無線媒体を介して通信することを特徴とする請求項１又は２に記載の通信システム。
【請求項４】
送信機により、送信されるデータを複数の分割データに分割し、各分割データに対して識別番号をそれぞれ割り当てて、対応する前記識別番号及び前記分割データからエラー検出に用いる第１検出符号をそれぞれ求め、当該識別番号及び当該分割データに前記第１検出符号を結合したパケットをそれぞれ生成して記憶手段に記憶させ、当該記憶手段から読み出した複数のパケットをまとめて送信する第１ステップと、
受信機により、前記第１検出符号を用いて通信時にエラーが生じたパケットを検出し、受信した全てのパケットに対するエラー率を求め、当該パケットに含まれている前記識別番号をエラー番号としてエラー情報を生成し、当該エラー情報を前記エラー率に応じて冗長化した後にまとめて送信する第２ステップと、
を有することを特徴とする通信方法。
【請求項５】
前記第２ステップは、
前記エラー率及び前記エラー番号からエラー検出に用いる第２検出符号を求め、当該エラー率及び当該エラー番号に前記第２検出符号を結合して前記エラー情報を生成し、
前記送信機により、
前記第２検出符号を用いて通信時にエラーが生じなかったエラー情報を検出し、当該エラー情報に含まれるエラー番号に対応する識別番号を含む前記パケットを前記エラー率で冗長化してまとめて送信するステップを更に有することを特徴とする請求項４に記載の通信方法。
【請求項６】
前記送信機及び前記受信機は、電界伝達媒体又は無線媒体を介して通信することを特徴とする請求項４又は５に記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ノイズの影響を受け易い電界通信や無線通信等における通信システム及び通信方法に関する。
【背景技術】
【０００２】
現在、外部環境からのノイズにより通信品質への影響を受け易く、通信エラーの発生頻度が高いとされる電界通信や無線通信において、エラーリカバリーに強い通信方式が求められている。
【０００３】
例えば、インターネットで利用されているＴＣＰ／ＩＰプロトコルにおけるエラーリカバリーは、（１）送信機から受信機にパケットを送信し、受信機が正常にパケットを受信した場合には、ＡＣＫ（応答）を送信機に送信する、（２）送信機は、一定時間内に受信機からＡＣＫを受信できない場合、送信エラーが発生したと判断し、受信機にパケットを再送する、等の方式が採用されている（非特許文献１参照）。また、エラー再送が必要なパケットを効率的に通知する手法として、一部のパケットのみを正常に受信したことを示すＳｅｌｅｃｔｉｖｅ  ＡＣＫを利用することも可能となっている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“TCPにおける確認応答と再送制御  TCPの透過性”、［online］、［平成21年6月12日検索］、インターネット<http://www.7key.jp/nw/tcpip/tcp/tcp2.html>
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前述したように従来の再送制御方式はパケット単位の制御を前提とするものであるが、このようにパケット単位で制御を行う場合、品質レベルの低い通信ネットワーク下ではエラーパケットが大量に発生し、再送制御が複雑かつ高負荷になるという問題がある。また、ＡＣＫや再送パケットが消失し、再送処理が何度も繰り返されるため、再送処理が更に増大化するという問題もあった。
【０００６】
本発明は、上記課題を鑑みてなされたものであり、エラー発生頻度が高い通信環境において、送信機から受信機に効率良くデータを送信することを課題とする。
【課題を解決するための手段】
【０００７】
請求項１に記載の本発明は、送信されるデータを複数の分割データに分割し、各分割データに対して識別番号をそれぞれ割り当てて、対応する前記識別番号及び前記分割データからエラー検出に用いる第１検出符号をそれぞれ求め、当該識別番号及び当該分割データに前記第１検出符号を結合したパケットをそれぞれ生成して記憶手段に記憶させ、当該記憶手段から読み出した複数のパケットをまとめて送信する送信機と、前記第１検出符号を用いて通信時にエラーが生じたパケットを検出し、受信した全てのパケットに対するエラー率を求め、当該パケットに含まれている前記識別番号をエラー番号としてエラー情報を生成し、当該エラー情報を前記エラー率に応じて冗長化した後にまとめて送信する受信機と、を有することを特徴とする。
【０００８】
請求項２に記載の本発明は、前記受信機が、前記エラー率及び前記エラー番号からエラー検出に用いる第２検出符号を求め、当該エラー率及び当該エラー番号に前記第２検出符号を結合して前記エラー情報を生成し、前記送信機は、前記第２検出符号を用いて通信時にエラーが生じなかったエラー情報を検出し、当該エラー情報に含まれるエラー番号に対応する識別番号を含む前記パケットを前記エラー率で冗長化してまとめて送信することを特徴とする。
【０００９】
請求項３に記載の本発明は、前記送信機及び前記受信機が、電界伝達媒体又は無線媒体を介して通信することを特徴とする。
【００１０】
請求項４に記載の本発明は、送信機により、送信されるデータを複数の分割データに分割し、各分割データに対して識別番号をそれぞれ割り当てて、対応する前記識別番号及び前記分割データからエラー検出に用いる第１検出符号をそれぞれ求め、当該識別番号及び当該分割データに前記第１検出符号を結合したパケットをそれぞれ生成して記憶手段に記憶させ、当該記憶手段から読み出した複数のパケットをまとめて送信する第１ステップと、受信機により、前記第１検出符号を用いて通信時にエラーが生じたパケットを検出し、受信した全てのパケットに対するエラー率を求め、当該パケットに含まれている前記識別番号をエラー番号としてエラー情報を生成し、当該エラー情報を前記エラー率に応じて冗長化した後にまとめて送信する第２ステップと、を有することを特徴とする。
【００１１】
請求項５に記載の本発明は、前記第２ステップが、前記エラー率及び前記エラー番号からエラー検出に用いる第２検出符号を求め、当該エラー率及び当該エラー番号に前記第２検出符号を結合して前記エラー情報を生成し、前記送信機により、前記第２検出符号を用いて通信時にエラーが生じなかったエラー情報を検出し、当該エラー情報に含まれるエラー番号に対応する識別番号を含む前記パケットを前記エラー率で冗長化してまとめて送信するステップを更に有することを特徴とする。
【００１２】
請求項６に記載の本発明は、前記送信機及び前記受信機が、電界伝達媒体又は無線媒体を介して通信することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、エラー発生頻度が高い通信環境において、送信機から受信機に効率良くデータを送信することができる。
【図面の簡単な説明】
【００１４】
【図１】通信システムの機能構成を示す図である。
【図２】送信機と受信機との間で送受される電文の形式を示す図である。
【図３】送信機と受信機との間で送受される電文の構成データに通信エラーが生じた場合を説明する図である。
【図４】エラー管理テーブルの一例を示す図である。
【図５】再送メッセージ管理テーブルの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、一実施の形態について図面を用いて説明する。
【００１６】
図１は、本実施の形態に係る通信システムの機能構成を示す図である。本通信システムは、電界伝達媒体５を介して互いにデータを送受可能な送信機１及び受信機３で構成されている。なお、送信機１と受信機３との間の通信が電界伝達媒体５を介して行われることは一例であり、その他、有線媒体や無線媒体等を利用することも可能である。
【００１７】
送信機１は、送信対象となるメッセージを受信機３に送信する電文送信機能部１１と、電文送信機能部１１で送信されるメッセージを一旦格納しておく送信バッファ１１１と、送信したメッセージに対する再送要求を受信機３から受信する再送要求受信機能部１２と、再送要求受信機能部１２で受信した再送要求を一旦格納しておく受信バッファ１２１と、再送対象となるメッセージのパケット番号を管理する再送メッセージ管理テーブル１２２とを備えている。
【００１８】
受信機３は、送信機１から送信されたメッセージを受信する電文受信機能部３１と、電文受信機能部３１で受信したメッセージを一旦格納する受信バッファ３１１と、受信したメッセージを構成している複数のパケットのうち通信エラーが生じたパケットのパケット番号を管理するエラー管理テーブル３１２と、正常に受信したパケットを格納するメッセージバッファ３１３と、通信エラーが生じたパケットの再送要求を送信機１に送信する再送要求送信機能部３２と、再送要求送信機能部３２で送信される再送要求を一旦格納しておく送信バッファ３２１とを備えている。
【００１９】
続いて、本通信システムの処理フローについて説明する。最初に、送信機１が、送信対象となるメッセージ（データ）を送信機１から受信機３に送信する（Ｓ１）。具体的には、電文送信機能部１１が、以下のＳ１．１〜Ｓ１．３の処理を実行する。
【００２０】
まず、送信対象であるメッセージをＮ個（Ｎ≧２）に分割する（Ｓ１．１）。
【００２１】
次に、分割された各分割メッセージ（分割データ）に対して、分割された順番に応じた１〜Ｎ番のパケット番号（識別番号）を分割順にそれぞれ割り当て、割り当てられたパケット番号順に、全ての分割メッセージに対して、以下のＳ１．２．１〜Ｓ１．２．２の処理を実行する（Ｓ１．２）。
【００２２】
最初に、パケット番号と分割メッセージを組にしたデータ列を生成し、そのデータ列のチェックサム（第１検出符号）を算出する（Ｓ１．２．１）。なお、算出されるチェックサムとしては、ＣＲＣ（Cyclic Redundancy Check）の符号化や、ＭＤ５（Message Digest 5）のハッシュ値等を一例に用いることができる（以下、同様）。
【００２３】
次に、パケット番号及び分割メッセージにチェックサムを結合した１つのパケットを生成した後に、送信バッファ１１１に格納する（Ｓ１．２．２）。
【００２４】
その後、送信バッファ１１１に格納された全てのパケットをまとめて電文（パケットの集合）として受信機３に送信する（Ｓ１．３）。なお、受信機３に電文を送信した後、一定時間内に受信機３から再送要求又は受信完了通知の電文を受信しない場合には、同一の電文（パケットの集合）を再送信する。
【００２５】
以上のＳ１．１〜Ｓ１．３の処理により、送信機１から受信機３に送信される分割メッセージは、図２（ａ）に示すように、パケット単位ではなく、複数のパケットがまとめられた電文形式で送信されることになる。
【００２６】
一方、受信機３は、電界伝達媒体５を介して送信機１から送信された電文（パケットの集合）を受信する（Ｓ２）。そして、電文受信機能部３１が、受信した電文（パケットの集合）を受信バッファ３１１に格納する（Ｓ２．１）。
【００２７】
次に、受信した１〜Ｎ番の全てのパケット番号をエラー管理テーブル３１２に格納（エラー管理テーブルの初期化）する（Ｓ２．２）。
【００２８】
その後、受信バッファ３１１に格納されている全パケットに対して、以下のＳ２．３．１〜Ｓ２．３．２の処理を受信バッファの先頭から順番に実行する（Ｓ２．３）。
【００２９】
まず、パケットのチェックサムを利用し、パケット番号と分割メッセージを検証する（Ｓ２．３．１）。具体的には、例えば、受信したパケット番号と分割メッセージを用いてチェックサムを算出し、受信したパケットのチェックサムとの同一性を確認する。
【００３０】
次に、誤りを検出した場合には、誤りのあるパケットを破棄する。一方、誤りが検出されず正常な場合には、正常なパケットのパケット番号をエラー管理テーブル３１２から削除し、そのパケットの分割メッセージをメッセージバッファ３１３のパケット番号に対応した場所に格納する（Ｓ２．３．２）。これにより、未取得パケットのパケット番号がエラー管理テーブル３１２に残り、メッセージの一部が完成することになる。
【００３１】
続いて、破棄パケット数と受信した総パケット数の比率（エラー率）を算出し、エラー管理テーブル３１２に格納する（Ｓ２．４）。
【００３２】
そして、再送要求送信機能部３２にエラー管理テーブル３１２を渡す（Ｓ２．５）。
【００３３】
以上、Ｓ２．１〜Ｓ２．５の処理により、例えば、図３（ａ）に示すように１番と３番の２つのパケットがエラーの場合、エラー管理テーブル３１２は、図４（ａ）に示した初期化状態から、図４（ｂ）に示す検証後の状態に更新されることになる。
【００３４】
その後、再送要求送信機能部３２は、受け取ったエラー管理テーブル３１２にパケット番号が格納されていない状態、すなわち、全パケット取得済みの状態であれば、送信機１に電文（受信完了通知）を送信する（Ｓ３）。一方、パケット番号が格納されている状態、すなわち、エラーにより未取得のパケットがある状態であれば、以下のＳ３．１〜Ｓ３．３の処理を実行する。
【００３５】
まず、エラー管理テーブル３１２のパケット番号の格納順に、Ｓ３．１．１〜Ｓ３．１．２の処理を実行する（Ｓ３．１）。
【００３６】
最初に、エラー管理テーブル３１２からパケット番号（エラー番号）とエラー率を取得し、その２つを組にしたデータ列を生成し、そのデータ列のチェックサム（第２検出符号）を算出する（Ｓ３．１．１）。
【００３７】
次に、パケット番号とエラー率にチェックサムを結合した１つのエラー情報を生成した後に、送信バッファ３２１に格納する（Ｓ３．１．２）。
【００３８】
その後、エラー率から冗長化パラメータを算出し、冗長化パラメータの回数分、Ｓ３．１の処理を繰り返し実行する（Ｓ３．２）。なお、冗長化パラメータの算出には、例えば、「１／（１−エラー率）」の算術式を利用することができる。
【００３９】
最後に、送信バッファ３２１に格納された全てのエラー情報をまとめて電文（エラー情報の集合）として送信機１に送信する（Ｓ３．３）。
【００４０】
以上のＳ３．１〜Ｓ３．３の処理により、受信機３から送信機１に送信される再送要求は、図２（ｂ）に示すように、エラー情報単位ではなく、複数のエラー情報がまとめられた電文形式で送信されるので、再送制御を効率化することが可能となる。また、エラー率に応じて冗長度を調整するので、エラー率の低い状況下では通信速度を高速化することができる。
【００４１】
その後、送信機１は、電界伝達媒体５を介して受信機３から送信された電文（受信完了通知）、又は電文（エラー情報の集合）を受信する（Ｓ４）。そして、再送要求受信機能部１２は、以下のＳ４．１〜Ｓ４．３を実行する。
【００４２】
受信機３から受信した電文が、電文（受信完了通知）の場合は、処理を終了する。一方、電文（エラー情報の集合）の場合には、受信した電文を受信バッファ１２１に格納し、以下のＳ４．２以降の処理を実行する（Ｓ４．１）。
【００４３】
まず、受信バッファ１２１に格納されている各エラー情報に対して、以下のＳ４．２．１〜Ｓ４．２．２の処理を実行する。
【００４４】
最初に、エラー情報からチェックサムを取得し、パケット番号とエラー率を検証する（Ｓ４．２．１）。具体的には、例えば、受信したパケット番号とエラー率を用いてチェックサムを算出し、受信したエラー情報のチェックサムとの同一性を確認する。
【００４５】
次に、誤りを検出した場合には、誤りのあるエラー情報を破棄する。一方、誤りが検出されず正常な場合には、正常なエラー情報からパケット番号を取得し、再送メッセージ管理テーブル１２２にパケット番号を記録すると共に、エラー率を再送メッセージ管理テーブル１２２に格納する（Ｓ４．２．２）。なお、各エラー情報に格納されているエラー率は同値のため、エラー率は、再送メッセージ管理テーブル１２２に一つ保持しておけば良い。
【００４６】
その後、電文送信機能部１１に再送メッセージ管理テーブル１２２を渡す（Ｓ４．３）。
【００４７】
以上のＳ４．１〜Ｓ４．３の処理により、例えば、図３（ｂ）に示すように複数のエラー情報にエラーが生じた場合であっても、再送メッセージ管理テーブル１２２は、図４（ｂ）に示したエラー管理テーブルと同じ内容が保持されることになる（図５参照）。
【００４８】
その後、電文送信機能部１１は、以下のＳ５．１〜Ｓ５．３の処理を実行する（Ｓ５）。まず、受け取った再送メッセージ管理テーブル１２２のパケット番号の格納順にＳ５．１．１〜Ｓ５．１．２の処理を実行する（Ｓ５．１）。
【００４９】
最初に、再送メッセージ管理テーブル１２２からパケット番号を取得する（Ｓ５．１．１）。
【００５０】
次に、取得したパケット番号に対応したパケットを送信バッファ１１１に格納する（Ｓ５．１．２）。
【００５１】
そして、再送メッセージ管理テーブル１２２からエラー率を取得し、エラー率から冗長化パラメータを算出し、冗長化パラメータの回数分、Ｓ５．１を繰り返し実行する（Ｓ５．２）。
【００５２】
最後に、送信バッファ１１１に格納された全てのパケットをまとめて電文（再送パケットの集合）を受信機３に送信する（Ｓ５．３）。なお、受信機３に電文を送信した後、一定時間内に受信機から再送要求又は受信完了通知の電文を受信しない場合は、同一の電文（再送パケットの集合）を再送信する。
【００５３】
以上のＳ５．１〜Ｓ５．３の処理により、送信機１から受信機３に送信される再送メッセージは、図２（ｃ）に示すように、パケット単位ではなく、複数のパケットがまとめられた電文形式で送信されるので、再送制御を効率化することが可能となる。また、エラー率に応じて冗長度を調整するので、エラー率の低い状況下では通信速度を高速化することができる。
【００５４】
その後、受信機３は、電界伝達媒体５を介して送信機１から送信された電文（再送パケットの集合）を受信する（Ｓ６）。そして、電文受信機能部３１は、以下のＳ６．１〜Ｓ６．４の処理を実行する。
【００５５】
まず、受信した電文（パケットの集合）を受信バッファに格納する（Ｓ６．１）。
【００５６】
次に、Ｓ６．１で受信バッファ３１１に格納された全パケットに対してＳ６．２．１〜Ｓ６．２．２の処理を受信バッファ３１１の先頭から順番に実行する（Ｓ６．２）。
【００５７】
最初に、パケットのチェックサムを利用し、パケット番号と分割メッセージを検証する（Ｓ６．２．１）。具体的には、Ｓ２．３．１と同様に、受信したパケット番号と分割メッセージを用いてチェックサムを算出し、受信したパケットのチェックサムとの同一性を確認する。
【００５８】
次に、誤りを検出した場合には、誤りのあるパケットを破棄する。一方、誤りが検出されず正常な場合には、正常なパケットのパケット番号をエラー管理テーブル３１２から削除し、そのパケットの分割メッセージをメッセージバッファ３１３のパケット番号に対応した場所に格納する（Ｓ６．２．２）。
【００５９】
その後、破棄パケット数と受信した総パケット数の比率（エラー率）を算出し、エラー管理テーブル３１２に格納する（Ｓ６．３）。
【００６０】
そして、再送要求送信機能部３２にエラー管理テーブル３１２を渡す（Ｓ６．４）。
【００６１】
以上のＳ６．１〜Ｓ６．４の処理により、例えば、図３（ｃ）に示すように１番のパケットのみがエラーの場合、エラー管理テーブル３１２は、図４（ｂ）に示した検証後の状態からパケット番号３が削除され、図４（ｃ）に示す再検証後の状態に更新されることになる。
【００６２】
その後、再送要求送信機能部３２は、Ｓ３．１〜Ｓ３．３の処理と同一の処理を実行する（Ｓ７）。
【００６３】
送信機１及び受信機３は、全分割メッセージを正常に送受信するまで、Ｓ４〜Ｓ７の処理を繰り返して実行する（Ｓ８）。
【００６４】
本実施の形態によれば、受信機３が、エラー情報単位ではなく複数のエラー情報をまとめて送信機１に送信するので、再送制御を効率化することが可能となる。同様に、送信機１が、パケット単位ではなく複数のパケットをまとめて受信機３に送信するので、再送制御を効率化することが可能となる。
【００６５】
また、本実施の形態によれば、受信機３が、複数のエラー情報を冗長化して送信機１に送信するので、ＡＣＫや再送パケットの消失を防ぐことができる。同様に、送信機１が、複数のパケットを冗長化して受信機３に送信するので、ＡＣＫや再送パケットの消失を防ぐことができる。
【００６６】
さらに、本実施の形態によれば、エラー率に応じて冗長度を調整するので、エラー率の低い状況下では通信速度を高速化することができる。
【符号の説明】
【００６７】
１…送信機
１１…電文送信機能部
１１１…送信バッファ
１２…再送要求受信機能部
１２１…受信バッファ
１２２…再送メッセージ管理テーブル
３…受信機
３１…電文受信機能部
３１１…受信バッファ
３１２…エラー管理テーブル
３１３…メッセージバッファ
３２…再送要求送信機能部
３２１…送信バッファ
５…電界伝達媒体
Ｓ１〜Ｓ８…ステップ
【図１】
2011009827.tif 000003
【図２】
2011009827.tif 000004
【図３】
2011009827.tif 000005
【図４】
2011009827.tif 000006
【図５】
2011009827.tif 000007