(57)【要約】【課題】データ送信の検出ができない場合でもデータ再送を促すことを可能とする。【解決手段】通信システムは、データの送信予告を送信後、前記データを送信する第１の通信装置と、前記送信予告を受信した後、前記送信予告に応じたデータ送信の検出ができない場合、前記第１の通信装置に否定応答信号を送信する第２の通信装置とを備え、前記第１の通信装置が、前記否定応答信号を受信した場合に、前記データについての再送処理を実行することを特徴とする。【選択図】図３
2016174211.tif 000002
【特許請求の範囲】
【請求項１】
データの送信予告を送信後、前記データを送信する第１の通信装置と、
前記送信予告を受信した後、前記送信予告に応じたデータ送信の検出ができない場合、前記第１の通信装置に否定応答信号を送信する第２の通信装置と、
を備え、
前記第１の通信装置は、前記否定応答信号を受信した場合に、前記データについての再送処理を実行する
ことを特徴とする通信システム。
【請求項２】
前記送信予告は、前記データのデータ量が閾値を超える場合に送信される
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記送信予告のデータ量は、前記閾値より小さい
ことを特徴とする請求項２に記載の通信システム。
【請求項４】
前記第１の通信装置は、送信データのデータ量に応じて、前記送信予告を送信後に前記送信データを送信するか、前記送信予告を送信せずに前記送信データを送信するかを制御する
ことを特徴とする請求項１から３のいずれか１項に記載の通信システム。
【請求項５】
通信相手装置に対するデータの送信予告の送信後に前記データを送信する処理と、前記通信相手装置が前記送信予告の受信後に前記送信予告に応じたデータ送信の検出ができないときに送信する否定応答信号の受信を契機に前記データを再送する処理と、を実行する制御装置
を含む通信装置。
【請求項６】
通信相手装置からデータの送信予告を受信する処理と、前記送信予告の受信後に前記通信相手装置からのデータ送信の検出ができないときに否定応答信号を送信する処理と、前記通信相手装置が前記否定応答信号の受信を契機に再送する前記データを受信する処理と、を実行する制御装置
を含む通信装置。
【請求項７】
通信装置が、
通信相手装置に対するデータの送信予告の送信後に前記データを送信し、
前記通信相手装置が前記送信予告の受信後に前記送信予告に応じたデータ送信の検出ができないときに送信する否定応答信号の受信を契機に前記データを再送する
ことを含む通信装置のデータ再送方法。
【請求項８】
通信装置が、
通信相手装置からデータの送信予告を受信し、
前記送信予告の受信後に前記通信相手装置からのデータ送信の検出ができないときに否定応答信号を送信し、
前記通信相手装置が前記否定応答信号の受信を契機に再送する前記データを受信する
ことを含む通信装置のデータ再送制御方法。
【請求項９】
通信装置のコンピュータに、
通信相手装置に対するデータの送信予告の送信後に前記データを送信するステップと、
前記通信相手装置が前記送信予告の受信後に前記送信予告に応じたデータ送信の検出ができないときに送信する否定応答信号の受信を契機に前記データを再送するステップと
を実行させるプログラム。
【請求項１０】
通信装置のコンピュータに、
通信相手装置からデータの送信予告を受信するステップと、
前記送信予告の受信後に前記通信相手からのデータ送信の検出ができないときに否定応答信号を送信するステップと、
前記通信相手装置が前記否定応答信号の受信を契機に再送する前記データを受信するステップと
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムに関する。
【背景技術】
【０００２】
送信側のノード（「送信ノード」とも呼ぶ）と受信側のノード（「受信ノード」とも呼ぶ）とが無線通信を行う通信システムがある。無線通信では、いわゆる隠れ端末などにより無線フレームの衝突が発生し、無線フレームが受信ノードに到達しないことがある。また、送信ノードと受信ノードとの間の無線環境によっては、無線品質が不安定となり、受信ノードに到達した無線フレーム中のデータが誤りを含むことがある。受信ノードがデータの誤りを訂正できない場合には、当該データは廃棄される。衝突の可能性は、無線フレーム長が長い程大きくなる。一方で、スループット向上のために送信ノードから可能な限り長いフレーム長で無線フレームを送信したい要求がある。
【０００３】
既存の無線ネットワークでは、受信ノードへのデータの未到着やデータの廃棄についての対策として、肯定応答（ACKnowledgement：ＡＣＫ）を用いた再送処理が行われる。受
信ノードは、データが正常に受信された場合には、データの受信を示すＡＣＫを送信ノードへ返信する。送信ノードは、ＡＣＫを受信することで、データが受信ノードに届いたことを確認することができる。
データが受信ノードに到達しなかった場合や、ＡＣＫが所定期間内に受信できなかった場合には、送信ノードはデータが受信ノードに届いたことを確認できないため、データを再送する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−４４５８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、複数のノードがメッシュ状に無線接続され、送信ノードから受信ノードまでの間にデータが複数の中継ノードを経由する場合がある。この場合、フレームの到達に要する時間が変化し、送信ノードがデータを送信してからＡＣＫを受信するまでの時間を見積もることが難しいことがある。
【０００６】
このため、送信ノードでは、データを送信してから、当該データの再送を行うまでの時間（ＡＣＫ受信待ちのタイムアウト時間）を長く設定する。この場合、長いタイムアウト時間が経過した後に再送が発生するので、通信速度が大きく低下する。
【０００７】
本発明は、送信ノードから送信されたデータを受信ノードが検出できない場合でも、送信ノードが受信ノードからの否定応答受信を契機にデータを再送することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
一つの態様では、通信システムは、データの送信予告を送信後、前記データを送信する第１の通信装置と、前記送信予告を受信した後、前記送信予告に応じたデータ送信の検出ができない場合、前記第１の通信装置に否定応答信号を送信する第２の通信装置とを備え、前記第１の通信装置が、前記否定応答信号を受信した場合に、前記データについての再送処理を実行することを特徴とする。
【発明の効果】
【０００９】
１つの側面として、送信ノードから送信されたデータを受信ノードが検出できない場合でも、送信ノードが受信ノードからの否定応答受信を契機にデータを再送することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係る通信システムの構成例を示す図である。
【図２】図２は、実施形態の関連技術を説明するシーケンス図である。
【図３】図３は、実施形態に係るデータ再送方法の一例を示すシーケンス図である。
【図４】図４は、実施形態で使用されるフレームの説明図である。
【図５】図５は、無線ノードとして使用可能なノード（通信装置）の構成例を示す。
【図６】図６は、送信ノードにおけるＭＣＵの処理の例を示すフローチャートである。
【図７】図７は、受信ノードにおけるＭＣＵの処理の例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して実施形態について説明する。実施形態の構成は例示であり、実施形態の構成に限定されない。
【００１２】
図１は、実施形態に係る通信システムの構成例を示す図である。図１において、複数の無線ノード１が図示されている。複数の無線ノード１は、メッシュ、トーラス、スターなど、適宜のネットワークトポロジにて接続されている。ネットワークトポロジのタイプによる制限はない。図１では、複数の無線ノード１のうち３つの無線ノード１（無線ノード１Ａ，１Ｂ，及び１Ｃ）が例示されている。
【００１３】
無線ノード１Ａは、送信ノードとして動作し、無線ノード１Ｂ向けにデータを含んだフレーム（データフレーム）を無線送信する。無線ノード１Ｃは、無線ノード１Ａからの受信されたデータフレームを無線ノード１Ｂに転送する。無線ノード１Ｂは、受信ノードとして動作し、無線ノード１Ｃからのデータフレームを受信する。このようにして、無線ノード１Ｂは、無線ノード１Ａからのデータを受信することができる。
【００１４】
なお、以下の説明では、無線ノード１Ａを「送信ノード１Ａ」と表記し、無線ノード１Ｂを「受信ノード１Ｂ」と表記し、無線ノード１Ｃを「中継ノード１Ｃ」と表記する。無線ノード１Ａ〜１Ｃを区別しない場合には、無線ノード１と表記する。
【００１５】
なお、実施形態では、無線ノード１で形成された無線ネットワークについて説明する。但し、ネットワークは、無線ネットワークに限定されない。すなわち、送信ノード１Ａと受信ノード１Ｂとが有線で通信する有線ネットワークであっても良い。換言すれば、通信システムは、無線通信システムであっても有線通信システムであっても良い。無線ノード１は、「通信装置」の一例である。送信ノード１Ａは、「第１の通信装置」の一例であり、受信ノード１Ｂは、「第２の通信装置」の一例である。
【００１６】
図２は、実施形態の関連技術を説明するシーケンス図である。図２からは、中継ノード１Ｃのような、送信ノード１Ａと受信ノード１Ｂとの間にあるネットワークの図示は省略している。
【００１７】
送信ノード１Ａは、受信ノード１Ｂへデータを含んだフレーム（データフレーム）を送信し、受信ノード１ＢからのＡＣＫの受信待ちタイマの計時を開始する。データフレーム
が衝突などでロストし、受信ノード１Ｂに到達しなかった場合を想定する。この場合、受信ノード１Ｂは、送信ノード１Ａからのデータ送信を検出することができない。
【００１８】
また、送信ノード１Ａでは、受信待ちタイマの満了（タイムアウト）までに、受信ノード１ＢからのＡＣＫを受信できない。この結果、送信ノード１Ａは、タイムアウトを契機に、データフレームを再送する。データフレームが受信ノード１Ｂで受信されると、受信ノード１Ｂは、データの受信を示すＡＣＫを送信ノード１Ａへ送る。送信ノード１Ａは、ＡＣＫの受信により、データの到着を認識することができる。
【００１９】
上記の手順では、データが送信されてからデータが再送されるまでの時間長は、タイムアウト時間に依存する。タイムアウト時間が長いと、データの再送が発生するまでに時間を要し、データの通信速度が低下する。
【００２０】
実施形態では、上記問題に鑑み、受信ノード１Ｂが送信ノード１Ａからのデータ送信を検出できない場合であっても、送信ノード１Ａが受信ノード１Ｂからの否定応答（Negative ACKnowledgement：ＮＡＣＫ）の受信を契機にデータを再送可能な方法について説明する。ＮＡＣＫは、「否定応答信号」の一例である。
【００２１】
図３は、実施形態に係るデータ再送方法の一例を示すシーケンス図である。図３において、送信ノード１Ａは、データを受信ノード１Ｂへ送信する場合には、データの送信に先立ち、予告フレームを送信する（図３＜１＞）。予告フレームは、データフレームの送信を予告するためのフレームである。続いて、送信ノード１Ａは、データを含んだデータフレームを送信する（図３＜２＞）。予告フレームは、「データの送信予告」の一例である。
【００２２】
一方、受信ノード１Ｂでは、予告フレームを受信すると、予告フレームに続くデータフレームの受信待ちタイマの計時を開始する（図３＜３＞）。データフレームの受信待ちタイマで計時する時間長は適宜設定可能である。
【００２３】
図３に示すように、データフレームがロストすると、受信ノード１Ｂでデータフレームが受信されない（送信ノード１Ａからのデータ送信が検出されない）状態で、データフレームの受信待ちタイマが満了する。
【００２４】
この場合、受信ノード１Ｂは、否定応答（ＮＡＣＫ）を生成し、送信ノード１Ａへ送信する（図３＜４＞）。送信ノード１Ａは、ＮＡＣＫを受信すると、データの再送処理を実行し（図３＜５＞）、データフレームを受信ノード１Ｂへ再送する（図３＜６＞）。データフレームが受信ノード１Ｂに到達し、受信ノード１Ｂがデータを正常に受信すると、受信ノード１Ｂは、ＡＣＫを送信ノード１Ａへ送信する（図３＜７＞）。送信ノード１Ａは、ＡＣＫの受信でデータの到達を知ることができる。
【００２５】
このように、実施形態によれば、データフレームが受信ノード１Ｂに到達せず、送信ノード１Ａからのデータ送信が受信ノード１Ｂで検出されない場合であっても、送信ノード１Ａは、ＮＡＣＫの受信を契機にデータフレームを再送することができる。
【００２６】
受信ノード１Ｂで予告フレームを受信してからデータフレームを受信するまでの時間は、送信ノード１Ａでデータフレームを送信してからＡＣＫフレームを受信するまでの時間にくらべて短く、また、見積り易い。このため、関連技術に比べて再送までの時間を短縮することができ、ひいては、再送発生時の速度性能の劣化（単位時間あたりの送信データ量の低下度合い）を小さくすることができる。なお、ＮＡＣＫは、受信されたデータフレームから正常なデータが受信できなかった場合にも送信されるようにしても良い。
【００２７】
実施形態において、予告フレームを送信するか、予告フレームを送信せずにデータフレームを送信するかは、送信対象のデータのサイズ（データ量）に応じて制御（決定）することができる。仮に、常に予告フレームを送信すると、予告フレームの送信処理に係る時間だけ、データフレームの送信タイミングが遅延し、通信速度の低下を招来するおそれがあるからである。換言すれば、データフレームがロストする確率が低いと考えられる範囲では、予告フレームの送信を回避して、データフレームの送信時期を早めることで、通信速度（単位時間あたりの送信データ量）の低下が回避されるようにする。
【００２８】
例えば、予告フレームは、データフレームにおけるデータのサイズ（データ量）が所定の閾値を超過する場合に送信されるようにすることができる。データフレームのサイズ（フレーム長）が大きくなるにつれて、衝突の可能性が高まり、データフレームが受信ノード１Ｂに到達しない可能性が高くなると考えられるからである。
【００２９】
また、予告フレームのサイズ（フレーム長）は、データフレームのサイズ（フレーム長）より小さく（短く）することができる。例えば、予告フレームのサイズは、上記閾値よりも小さいサイズを有することができる。但し、予告フレームのサイズが閾値より大きいがデータフレームのサイズより小さく設定されることもあり得る。閾値は、フレームに載せられる送信対象のデータのデータ量に対する閾値であっても良く、フレーム長に対する閾値であっても良い。
【００３０】
このように、予告フレームのサイズがデータフレームのサイズより小さくされることで、データフレームを受信ノード１Ｂに送信する場合よりも予告フレームが受信ノード１Ｂに到達する可能性を高めることができる。
【００３１】
なお、実施形態においても、データフレームの送信を契機にＡＣＫの受信待ちタイマの計時を開始するようにしても良い。このようにすれば、予告フレーム及びデータフレームの双方が受信ノード１Ｂに到達しない場合における再送契機を送信ノード１Ａで発生させることができる。
【００３２】
図４は、実施形態で使用されるフレームの説明図であり、図４（Ａ）は、予告フレームのフォーマット例を示す。図４（Ｂ）は、データフレームのフォーマット例を示し、図４（Ｃ）は、ＮＡＣＫフレームのフォーマット例を示す。図４（Ｄ）は、ＡＣＫフレームのフォーマット例を示す。
【００３３】
予告フレームは、制御フラグとフレームＩＤ（フレームの識別子）とを含む。データフレームは、制御フラグ及びフレームＩＤにペイロードが付加される。ペイロード中に、受信ノード１Ｂへの送信対象のデータが格納される。このように、予告フレームは、ペイロードを含まないので、予告フレームのサイズ（フレーム長）は、データフレームのサイズ（フレーム長）よりも小さくなる。換言すれば、予告フレームは、ペイロードを含まないので、予告フレーム（送信予告）のデータ量は、予告フレームを送信するか否かの判定に用いられるデータ量の閾値より小さいと言える。
【００３４】
ＮＡＣＫフレームも、予告フレームと同様に、制御フラグとフレームＩＤとを含む。ＡＣＫフレームは、制御フラグとフレームＩＤと結果（データフレームの受信結果）を含む。結果は、受信ノード１Ｂにおける空きバッファのサイズ（ウィンドウサイズ）や、データ（セグメント）の一部が受信できて残りの一部が受信できなかった旨（Selective ACK
）を含むこともある。
【００３５】
ＮＡＣＫフレームのフレーム長は、データフレームやＡＣＫフレームのフレーム長より
も短くすることができる。このため、ネットワークでのロストが回避される（送信ノード１Ａで受信される）可能性を高めることができる。
【００３６】
受信ノード１Ｂでは、例えば、フレームがペイロードを含むか否かを以て、フレームが予告フレームであるかデータフレームであるかを判定することができる。但し、フレームが予告フレームかデータフレームかの判断手法は、上記以外の手法を用いることができる。例えば、制御フラグがフレームが予告フレームかデータフレームかを示すフラグを含み、フラグの値で予告フレームかデータフレームかが判定されるようにしても良い。
【００３７】
また、例えば、予告フレームのフレームＩＤとデータフレームのフレームＩＤとが同じ値、或いは予め関連づけられた値が用いられることで、データフレームを予告フレームに後続するデータフレームと受信ノード１Ｂにて認識することができる。但し、フレームＩＤで予告フレームとデータフレームとを関連づけすることは必須の構成要件ではない。
【００３８】
図５は、無線ノード１として使用可能なノード（通信装置）１０の構成例を示す。図５において、ノード１０は、通信回路１１と、マイクロコントローラ（ＭＣＵ）１２と、制御装置１３とを含む。ＭＣＵ１２は、「プロセッサ」，「制御装置」或いは「コントローラ」の一例である。
【００３９】
ＭＣＵ１２は、図示しないが、プロセッサとメモリとを備える。メモリは、プログラム及びデータを記憶する不揮発性記憶媒体と、プログラムの展開領域，プロセッサの作業領域，データの記憶領域，データのバッファ領域として使用される揮発性記憶媒体とを含む。メモリは、「記憶装置」、或いは「コンピュータ読み取り可能な記憶媒体」の一例である。
【００４０】
プロセッサがプログラムを実行することによって、ＭＣＵ１２は、図５に示すように、送信部１０１と、受信部１０２と、制御部１０３とを含んだ装置として動作する。制御部１０３は、予告フレーム制御部１０４と、データフレーム制御部１０５と、タイムアウト制御部１０６と、ＡＣＫ／ＮＡＣＫ制御部１０７と、データ管理部１０８とを含む。
【００４１】
通信回路１１は、図示しないが、アンテナと、ＲＦ（Radio Frequency）回路とを含む
。ＲＦ回路は、送信部１０１から受信されるベースバンド信号を変調して無線信号に変換し、アンテナから送信する。また、ＲＦ回路は、アンテナから受信される無線信号を復調してベースバンド信号に変換し、受信部１０２に送る。
【００４２】
送信部１０１は、制御部１０３から受信されるディジタルデータの符号化及び変調処理を行い、ディジタルデータをベースバンド信号に変換し、通信回路１１に送る。受信部１０２は、通信回路１１からのベースバンド信号に対する復調及び復号処理を行い、ベースバンド信号をディジタルデータに変換し、制御部１０３に送る。
【００４３】
予告フレーム制御部１０４は、予告フレームの送信及び受信に係る処理を行う。ノード１０が送信ノード１Ａとして動作する場合には、予告フレーム制御部１０４は、予告フレームを生成して送信部１０１に渡す。これに対し、ノード１０が受信ノード１Ｂとして動作する場合には、予告フレーム制御部１０４は、受信部１０２から予告フレームを受信し、予告フレームの受信をタイムアウト制御部１０６に通知する。
【００４４】
データフレーム制御部１０５は、ノード１０が送信ノード１Ａとして動作する場合には、データ管理部１０８で管理される送信対象のデータを受け取り、データがペイロードに格納されたデータフレームを生成し、送信部１０１に渡す。また、データフレーム制御部１０５は、データフレームの送信をタイムアウト制御部１０６に通知する。
【００４５】
データフレーム制御部１０５は、ノード１０が受信ノード１Ｂとして動作する場合には、受信部１０２からデータフレームを受信する。換言すれば、データフレーム制御部１０５は、送信ノード１Ａから送信されたデータの送信を検出する。
【００４６】
データフレーム制御部１０５は、データフレーム中のデータのエラーチェックを行うことができる。エラーチェックの結果がＯＫの場合には、データフレーム制御部１０５はデータをデータ管理部１０８に渡す。このとき、データフレーム制御部１０５は、データフレームの受信待ちタイマを停止するために、データフレームの受信をタイムアウト制御部１０６に通知する。
【００４７】
エラーチェックの結果がＮＧの場合には、データフレーム制御部１０５はデータを廃棄する。この場合、データフレーム制御部１０５は、データフレーム受信待ちタイマを停止するために、データフレームの受信をタイムアウト制御部１０６に通知する。また、直ちにＮＡＣＫを送信するために、ＡＣＫ／ＮＡＣＫ制御部１０７に通知する。
【００４８】
タイムアウト制御部１０６は、ノード１０が送信ノード１Ａとして動作する場合には、データフレーム制御部１０５からの通知を受けて、ＡＣＫの受信待ちタイマの計時を開始する。ＡＣＫの受信待ちタイマが満了（タイムアウト）すると、タイムアウト制御部１０６は、タイマ満了をデータフレーム制御部１０５に通知する。このとき、データフレーム制御部１０５は、バッファしておいたデータフレームの再送処理を行う。
【００４９】
タイムアウト制御部１０６は、ノード１０が受信ノード１Ｂとして動作する場合には、予告フレーム制御部１０４からの通知を受けて、データフレームの受信待ちタイマの計時を開始する。データフレームの受信待ちタイマが満了（タイムアウト）すると、タイムアウト制御部１０６は、タイマ満了をＡＣＫ／ＮＡＣＫ制御部１０７に通知する。エラーチェックがＮＧの場合、タイムアウト制御部１０６は、データフレーム制御部１０５から通知を受けて、受信待ちタイマを停止する。
【００５０】
また、タイムアウト制御部１０６は、データフレーム制御部１０５からのデータフレームの受信の通知を受けて、データフレームの受信待ちタイマを停止する。このとき、タイムアウト制御部１０６は、ＡＣＫ／ＮＡＣＫ制御部１０７に対し、ＡＣＫの送信を指示する。
【００５１】
ＡＣＫ／ＮＡＣＫ制御部１０７は、ノード１０が受信ノード１Ｂとして動作する場合には、タイムアウト制御部１０６からのデータフレームの受信待ちタイマのタイムアウトの通知を受けて、ＮＡＣＫを生成し、受信部１０２に送る。また、ＡＣＫ／ＮＡＣＫ制御部１０７は、データフレーム制御部１０５で、エラーチェックＮＧとの判定がなされた場合における通知を受けて、ＮＡＣＫを生成し、受信部１０２へ送る。これにより、受信部１０２及び通信回路１１を経て、ＮＡＣＫが送信ノード１Ａへ送信される。
【００５２】
また、ＡＣＫ／ＮＡＣＫ制御部１０７は、タイムアウト制御部１０６からの指示を受けてＡＣＫを生成し、受信部１０２に送る。もっとも、ＡＣＫ／ＮＡＣＫ制御部１０７は、データフレーム制御部１０５から、データフレーム受信の通知を受けてＡＣＫを生成するようにしても良い。
【００５３】
ＡＣＫ／ＮＡＣＫ制御部１０７は、ノード１０が送信ノード１Ａとして動作する場合には、受信部１０２で受信されたＮＡＣＫを受け取る。この場合、ＡＣＫ／ＮＡＣＫ制御部１０７は、ＮＡＣＫの受信をデータフレーム制御部１０５に通知し、データの再送を促す。
【００５４】
ＡＣＫ／ＮＡＣＫ制御部１０７は、受信部１０２で受信されたＡＣＫを受け取った場合には、データフレームにＡＣＫの受信を通知する。なお、これらのノード１０が送信ノード１Ａとして動作する場合におけるＡＣＫ／ＮＡＣＫ制御部１０７の動作は、データフレーム制御部１０５が代わりに実行するようにしても良い。
【００５５】
データ管理部１０８は、データフレーム制御部１０５から受けたデータをバッファ（メモリ）に格納する。或いは、データ管理部１０８は、メモリから送信対象のデータを読み出してデータフレーム制御部１０５に供給する。
【００５６】
制御装置１３は、例えば、プロセッサ（例えば、Central Processing Unit（ＣＰＵ）
）及びメモリで形成される。制御装置１３は、ＣＰＵがメモリに記憶されたプログラムを実行することによって、所定の処理を実行する。
【００５７】
例えば、制御装置１３は、ＭＣＵ１２でメモリ（バッファ）に記憶されたデータに対する所定の処理を行う。或いは、制御装置１３は、ＭＣＵ１２の動作を制御する。例えば、データフレームの受信待ちタイマ、ＡＣＫの受信待ちタイマの時間設定や、データの送信タイミングの制御、或いは、送信対象のデータの供給などを行う。
【００５８】
図６は、送信ノード１ＡにおけるＭＣＵ１２の処理の例を示すフローチャートである。図６における処理は、例えば、受信ノード１Ｂとの接続が確立された状態において、送信対象のデータがデータフレーム制御部１０５に供給されたことを契機として開始される。
【００５９】
図６の０１の処理では、ＭＣＵ１２は、送信対象のデータのデータ長（データ量）が閾値（所定値）以上か否かを判定する。閾値は、予めＭＣＵ１２のメモリに記憶されている。データ量の閾値として、０でない正の値が用意される。データ長が閾値以上でなければ（０１，Ｎｏ）、処理が０３に進む。これに対し、データ長が閾値以上であれば（０１，Ｙｅｓ）処理が０２に進む。なお、０１の処理は、閾値未満か否かの判定処理であっても良い。
【００６０】
０２の処理では、予告フレームの送信処理が実行される。すなわち、ＭＣＵ１２は、データ長が閾値以上であることを契機に予告フレームを生成する。予告フレームは、通信回路１１を経て、受信ノード１Ｂへ送信される（図３＜１＞参照）。
【００６１】
次の０３の処理では、ＭＣＵ１２は、データフレームの送信処理を実行する。すなわち、ＭＣＵ１２は、送信対象のデータを含んだデータフレームを生成する。データフレームは、通信回路１１を経て、受信ノード１Ｂへ送信される（図３＜２＞参照）。
【００６２】
次の０４の処理では、ＭＣＵ１２は、ＡＣＫの受信待ちタイマの計時を開始し、ＡＣＫの待ち受け状態となる。
【００６３】
次の０５の処理では、ＭＣＵ１２は、ＮＡＣＫが受信されたか否かを判定する。ＮＡＣＫが受信された場合には（０５，Ｙｅｓ）、処理が０８に進む。これに対し、ＮＡＣＫが受信されていない場合には（０５，Ｎｏ）、処理が０６に進む。
【００６４】
０６の処理では、ＭＣＵ１２は、ＡＣＫの受信待ちタイマが満了（タイムアウト）したか否かを判定する。受信待ちタイマが満了している場合には（０６，Ｙｅｓ）、処理が０８に進む。これに対し、受信待ちタイマが満了していない場合には（０６，Ｎｏ）、処理が０７に進む。
【００６５】
０７の処理では、ＭＣＵ１２は、ＡＣＫが受信されたか否かを判定する。ＡＣＫが受信された場合には（０７，Ｙｅｓ）、ＡＣＫの受信時における処理が実行され、図６に示す処理が終了する。これに対し、ＡＣＫが受信されていない場合には（０７，Ｎｏ）、処理が０５に戻る。
【００６６】
処理が０８に進んだ場合には、ＭＣＵ１２は、データフレームの再送処理を行う。これにより、データフレームが受信ノード１Ｂへ再送される（図３＜６＞参照）。その後、処理が０４に進む。
【００６７】
図７は、受信ノード１ＢにおけるＭＣＵ１２の処理の例を示すフローチャートである。図７における処理は、例えば、送信ノード１Ａとの接続が確立されたことを契機に開始される。最初の１１の処理では、受信ノード１Ｂは、送信ノード１Ａからのフレームの受信待ちの状態となる。送信ノード１Ａからのフレームが受信されると、処理が１２に進む。
【００６８】
１２の処理では、ＭＣＵ１２は、受信されたフレームがデータフレームか否かを判定する。受信されたフレームがデータフレームであれば（１２，Ｙｅｓ）、処理が１８へ進む。これに対し、受信されたフレームがデータフレームでなければ（１２，Ｎｏ）、処理が１３へ進む。
【００６９】
１３の処理では、ＭＣＵ１２は、受信されたフレームが予告フレームか否かを判定する。受信されたフレームが予告フレームであれば（１３，Ｙｅｓ）、処理が１４へ進む。これに対し、受信されたフレームが予告フレームでなければ（１３，Ｎｏ）、処理が１１へ戻り、フレームの受信待ち状態となる。
【００７０】
１４の処理では、ＭＣＵ１２は、データフレームの受信待ちタイマの計時を開始する。次の１５の処理では、ＭＣＵ１２は、データフレームが受信されたか否かを判定する。データフレームが受信されていない場合には（１５，Ｎｏ）、処理が１６に進む。データフレームが受信された場合には（１５，Ｙｅｓ）、処理が１８に進む。
【００７１】
１６の処理では、ＭＣＵ１２は、受信待ちタイマが満了（タイムアウト）したか否かを判定する。受信待ちタイマが満了（タイムアウト）した場合には（１６，Ｙｅｓ）、処理が１７に進む。受信待ちタイマが満了（タイムアウト）していない場合には（１６，Ｎｏ）、処理が１５に戻る。
【００７２】
１７に処理が進んだ場合には、ＭＣＵ１２は、ＮＡＣＫを生成し、送信ノード１Ａへ送信する処理を行う（図３＜４＞参照）。これにより、送信ノード１Ａに対してデータフレームの再送が促される。
【００７３】
１８に処理が進んだ場合には、ＭＣＵ１２は、データフレームの受信処理を行う。ＭＣＵ１２は、受信処理において、データフレームに含まれたデータのエラーチェックを行いチェック結果がＯＫかＮＧかを判定する（１９）。
【００７４】
エラーチェックの結果がＯＫの場合には（１９，ＯＫ）、ＭＣＵ１２は、ＡＣＫの送信処理を行い、ＡＣＫが送信ノード１Ａへ送信される（図３＜７＞参照）。その後、処理が１１に戻る。これに対し、エラーチェックの結果がＮＧの場合には、処理が１７に進み、ＮＡＣＫが送信ノード１Ａへ送信される。エラーチェックは、例えばＣＲＣ（Cyclic Redundancy Check）チェックである。但し、パリティチェック、或いはチェックサムを用い
たチェックであっても良い。
【００７５】
以上説明した実施形態の構成は、適宜組み合わせることができる。
【符号の説明】
【００７６】
１・・・無線ノード
１０・・・ノード（通信端末）
１１・・・送信装置
１２・・・ＭＣＵ
１３・・・制御装置
１０１・・・送信部
１０２・・・受信部
１０３・・・制御部
１０４・・・予告フレーム制御部
１０５・・・データフレーム制御部
１０６・・・タイムアウト制御部
１０７・・・ＡＣＫ／ＮＡＣＫ制御部
１０８・・・データ管理部
【図１】
2016174211.tif 000003
【図２】
2016174211.tif 000004
【図３】
2016174211.tif 000005
【図４】
2016174211.tif 000006
【図５】
2016174211.tif 000007
【図６】
2016174211.tif 000008
【図７】
2016174211.tif 000009