説明

データ通信システム、通信機、データ通信方法及び通信制御用プログラム

【課題】再送バッファ解放処理に時間がかかるため、ハードウェアの回路規模や処理速度の点で制限され、コストも上昇する。
【解決手段】送信側の送受信機1−1−1が送信データを送信する際に、その送信データの再送バッファ1−1−2への格納位置情報を送信データに搭載し送信する。受信側の送受信機1−2−1は、格納位置情報が挿入された送信データの到達が確認され、到達確認情報を返送する際、格納位置情報を到達確認情報に搭載し、送信側の送受信機に返送する。格納位置情報を搭載した到達確認情報を受信した送信側の送受信機は、その格納位置を参照して、再送バッファの解放を行なう。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はデータ通信システム、通信機、データ通信方法及び通信制御用プログラムに係わり、特に再送制御を実行する際に処理速度の優れたバッファ管理が可能なデータ通信システム、通信機、データ通信方法及び通信制御用プログラムに関する。
【背景技術】
【0002】
ローカルエリアネットワーク、ワイドエリアネットワークの構築にはイーサネット(登録商標)が用いられている。イーサネットはベストエフォート型のレイヤ2ネットワークとなっており、帯域制御、再送制御などの信頼性を高める機能はTCP/IPなどの上位レイヤの役割となっている(非特許文献1)。
【0003】
なお、パケット再送制御方式については、例えば特許文献1に、送信端末と受信端末との間に、送信交換局と受信交換局とを設け、送信交換局は再送バッファを有し、受信交換局から所定の時間以前(タイムアウト以前)に送達確認パケットが到着したときに、送信交換局は再送バッファを解放することの記載がある。
【非特許文献1】奥山 徹 著、TCPのしくみと実装、CQ出版社、2004年10月、第35頁〜第39頁,第60頁〜第61頁
【特許文献1】特開昭62−299142号公報(第2頁左上欄第13行から右上欄第18行)
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、TCP/IPスタックを通過しないデータをイーサネット(登録商標)を通して高信頼な通信をさせる場合、イーサネット上で信頼性を向上させるしくみが求められる。その場合、TCP/IPのしくみをそのまま用いることにより可能となるが、TCP/IPはソフトウェアで処理することを想定して設計されている。そのため、そのままハードウェアに適用する場合には、回路規模・処理速度の要求から高価なデバイスを使用する必要がある。
【0005】
本発明の目的は、信頼性を向上させるための到達保障・再送制御の機能に関し、上記課題を解決する方法・装置を提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明のデータ通信システムは、送信データを格納する再送バッファと、該送信データの格納位置情報を該送信データに挿入する格納位置挿入手段とを有し、該格納位置情報が挿入された送信データを宛先に送信する、第1の通信機と、
前記格納位置情報が挿入された送信データの到達を確認する到達確認部と、前記到達確認部により到達が確認された場合に、前記格納位置情報を含む到達確認情報を生成する到達確認情報生成手段とを有し、前記格納位置情報を含む到達確認情報を前記送信側の通信機に返信する、第2の通信機と、を備え、
前記第1の通信機は、前記第2の通信機から送信された前記格納位置情報を基に、前記再送バッファから到達が確認された前記送信データを削除する制御手段を、さらに有していることを特徴とする。
【0007】
本発明の通信機は、送信データを格納する再送バッファと、
該送信データの格納位置情報を該送信データに挿入し、受信側の通信機に送信する格納位置挿入手段と、
前記受信側の通信機から受信した到達確認情報に含まれる前記格納位置情報を基に、前記再送バッファから、到達が確認された前記送信データを削除する制御手段と、を備えたことを特徴とする。
【0008】
また本発明の通信機は、送信データを格納する再送バッファを有する送信側の通信機から送信される、該送信データの格納位置情報が挿入された送信データの到達を確認する到達確認部と、
前記到達確認部により送信データの到達が確認された場合に、前記格納位置情報を含む到達確認情報を生成する到達確認情報生成手段とを有し、
前記格納位置情報を含む到達確認情報を前記送信側の通信機に返信することを特徴とする。
【0009】
本発明のデータ通信方法は、送信側の第1の通信機において、再送バッファに送信データを格納するとともに、該送信データの格納位置情報を該送信データに挿入し、該格納位置情報が挿入された送信データを送信するステップと、
受信側の第2の通信機において、前記格納位置情報が挿入された送信データの到達を確認し、前記到達確認部により送信データの到達が確認された場合に、前記格納位置情報を含む到達確認情報を生成し、前記格納位置情報を含む到達確認情報を前記第1の通信機に返信するステップと、
前記第1の通信機側において、前記第2の通信機から送信された前記格納位置情報を基に、前記再送バッファから到達が確認された前記送信データを削除するステップとを有することを特徴とする。
【0010】
本発明の通信制御用プログラムは、通信機としてのコンピュータに、
再送バッファとしてのメモリに送信データを格納する処理と、
該送信データの格納位置情報を該送信データに挿入し、受信側の通信機に送信する処理と、
前記受信側の通信機から受信した到達確認情報に含まれる前記格納位置情報を基に、前記メモリから、到達が確認された前記送信データを削除する処理と、を実行させることを特徴とする。
【0011】
また本発明の通信制御用プログラムは、通信機としてのコンピュータに、
送信データを格納する再送バッファとしてのメモリを有する送信側の通信機から送信される、該送信データの格納位置情報が挿入された送信データの到達を確認する処理と、
前記到達確認部により送信データの到達が確認された場合に、前記格納位置情報を含む到達確認情報を生成する処理と、
前記格納位置情報を含む到達確認情報を前記送信側の通信機に返信する処理と、を実行させることを特徴とする。
【0012】
本発明では送信側が送信データを送信する際にそのデータの再送バッファへの格納位置情報を送信データに搭載し送信する。受信側は到達確認情報を返送する際、格納位置情報を到達確認情報に搭載し送信側に返送する。格納位置情報を搭載した到達確認情報を受信した送信側は、その格納位置を参照し、再送バッファの解放を行なう。この場合、該当フローの先頭から格納位置までを解放することにより、再送バッファ容量の削減や処理速度の向上を図ることができる。
【発明の効果】
【0013】
本発明によれば、バッファ解放の処理時間を短縮でき、回路規模や処理速度の実装上の制限を緩めることができる。
【0014】
その理由は、バッファ解放に必要な情報を送信側から提供し、受信側はそのまま返送し、その情報を受信した送信側は検索することなくバッファ解放を行なえるためである。
【発明を実施するための最良の形態】
【0015】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。本実施形態では、再送バッファの管理方法として、累積確認応答方式、Go Back N方式を使用している。累積確認応答方式は、受信側が一定数受信したパケットのシーケンス番号が正常な順序になっているかを確認し、次に必要なパケットのシーケンス番号を送信側に通知する方式である。Go Back N方式は送り出したフレームを再送バッファに格納し、受信側からのACKを待たずに一定量のフレームを送り、ACKが返信されてきたときに該当フレームを削除する(再送バッファを解放する)、再送の際には受信側が正常に受信できた次のフレームから再送を開始する方式である。
[第1の実施形態]
[1] 構成の説明
図1は本発明によるデータ通信システムの第1実施形態の構成を示すブロック図である。本実施形態のデータ通信システムは通信機となる送受信機1−1−1と1−2−1から構成され、相互に接続される。ただし説明の都合上、送信側を送受信機1−1−1(第1の通信機となる)、受信側を送受信機1−2−1(第2の通信機となる)とする。本来は送受信機1−1−1と1−2−1は送信側、受信側の区別はなく、お互いに送信側、受信側となりえる。
【0016】
なお、図1の送受信機1−1−1においては、実線で示したブロックは本実施形態の送信のために必要な構成部を示し、点線で示したブロックは本実施形態の受信のために必要な構成部を示している。一方、図1の送受信機1−2−1においては、実線で示したブロックは本実施形態の受信のために必要な構成部を示し、点線で示したブロックは本実施形態の送信のために必要な構成を示している。
【0017】
送受信機1−1−1は、再送バッファ1−1−2、シーケンス番号挿入部1−1−3、格納位置挿入部1−1−4、格納位置ベースバッファ制御部1−1−5、シーケンス番号インクリメントカウンタ1−1−6、フレーム解析部1−1−7、受信バッファ1−1−8、到達確認部1−1−9、格納位置込みACK生成部1−1−10から構成される。
【0018】
送受信機1−2−1は送受信機1−1−1と同じ構成であり、その機能も同じである。すなわち、送受信機1−2−1は、再送バッファ1−2−2、シーケンス番号挿入部1−2−3、格納位置挿入部1−2−4、格納位置ベースバッファ制御部1−2−5、シーケンス番号インクリメントカウンタ1−2−6、フレーム解析部1−2−7、受信バッファ1−2−8、到達確認部1−2−9、格納位置込みACK生成部1−2−10から構成される。
【0019】
上記のように、送受信機1−1−1と送受信機1−2−1とは同じ構成なので、説明の重複を避けるために、以下の説明では、送受信機1−1−1の各構成部についてのみ説明する。送受信機1−1−1の各構成部についての説明が、送受信機1−2−1の各構成部の説明にも適用できることは勿論である。
【0020】
再送バッファ1−1−2はシーケンス番号挿入部1−1−3、格納位置ベースバッファ制御部1−1−5、シーケンス番号インクリメントカウンタ1−1−6と接続されており、外部より送信データを受け取り、再送制御を行なうために到達確認が行なわれるまでそのデータを格納する。
【0021】
再送バッファ1−1−2は、送信データをシーケンス番号挿入部1−1−3に送付し、その際にシーケンス番号インクリメントカウンタ1−1−6をインクリメントし、格納位置を格納位置ベースバッファ制御部1−1−5に通知する。再送バッファ1−1−2は、フローごとに区分けされている構成が望ましい。例えば一定サイズごとに区切られたブロック構成になっており、フローごとに動的に割当てる。割当られたブロックにはそのフローが使い終わるまで他のフローが使用できないように排他的に使用する。また、ブロック内の解放した領域についてはそのブロック全体が解放されるまで使用せず、フレームを格納する際には常に前のフレームの後ろ、あるいは新しいブロックに格納するのが望ましい。格納する際には、フレームの最後尾部分に識別ビットを立て、そのビットを立てた位置を格納位置情報として用いる。
【0022】
シーケンス番号挿入部1−1−3は再送バッファ1−1−2、格納位置挿入部1−1−4、シーケンス番号インクリメントカウンタ1−1−6と接続されており、再送バッファ1−1−2からデータフレームを送信する際にシーケンス番号インクリメントカウンタ1−1−6の値をヘッダ部に挿入し、格納位置挿入部1−1−4に送付する。
【0023】
格納位置挿入部1−1−4はシーケンス番号挿入部1−1−3、格納位置ベースバッファ制御部1−1−5、送受信機1−2−1と接続されており、格納位置ベースバッファ制御部1−1−5から格納位置情報を受け取り、データフレームのヘッダ部に挿入し、受信側の送受信機1−2−1に送付する。なお、格納位置挿入部はデータ送信機能を有するものとしているがデータ送信部を別に設けてもよい。
【0024】
格納位置ベースバッファ制御部1−1−5は再送バッファ1−1−2、格納位置挿入部1−1−4、フレーム解析部1−1−7と接続され、データフレーム送信時には、再送バッファ1−1−2より格納位置情報を受け取り格納位置挿入部1−1−4に通知する。ACKフレーム受信時には、フレーム解析部1−1−7からACKフレームに搭載されている格納位置情報を基に、再送バッファ1−1−2の解放(送信データの削除)を行なう。
【0025】
フレーム解析部1−1−7は送受信機1−2−1、受信バッファ1−1−8と接続されている。受信したフレームがデータフレームかACKフレームかを識別し、データフレームの場合は受信バッファ1−1−8に送付し、ACKフレームの場合は搭載されている格納位置情報を読取り格納位置ベースバッファ制御部1−1−5に通知する。なお、フレーム解析部はデータ受信機能を有するものとしているがデータ受信部を別に設けてもよい。
【0026】
受信バッファ1−1−8は、フレーム解析部1−1−7、到達確認部1−1−9と接続されており、フレーム解析部1−1−7からのデータフレームを一時保持し、到達確認部1−1−9に引き渡す。
【0027】
到達確認部1−1−9は受信バッファ1−1−8、格納位置込みACK生成部1−1−10と接続されており、シーケンス番号を基に到着順序の逆転や、未到達フレームを検出する。正常に受信できており、ACKフレームの送信機会である場合には、格納位置込みACK生成部1−1−10にデータフレームの格納位置を通知する。
【0028】
格納位置込みACK生成部1−1−10は到達確認部1−1−9、再送バッファ1−1−2と接続されており、到達確認部1−1−9からの格納位置情報を基にACKフレーム(確認応答フレーム、到達確認情報となる)を生成し、再送バッファ1−1−2経由で対向の送受信機1−2−1に送信(返信)する。その際、ACKフレームは再送制御対象外のフレームであるため再送バッファ1−1−2にはバッファリングせずにすぐに送信し、シーケンス番号挿入部1−1−3、格納位置挿入部1−1−4も何もせずに通過させ、対向の送受信機1−2−1に送信する。
【0029】
図2に本実施形態で用いるフレームフォーマットを示す。イーサネット(Ethernet 登録商標)フレームヘッダに続く拡張ヘッダ部分とデータ領域にシーケンス番号および格納位置を搭載する領域を設ける。あるいは図3に示すようにTCP/IPヘッダ部分にはそのままシーケンス番号を搭載し、TCP/IPヘッダに続け拡張ヘッダとして格納位置情報を搭載してもよい。このように、送信データの格納位置情報は、ヘッダ領域とデータ領域(ペイロード領域)との間に搭載する。
[2]動作の説明
図4に本実施形態のデータ通信システムの動作のフローチャートを示す。
【0030】
送信側の送受信機1−1−1に送信フレームが到着すると(ステップS1)、フローごとに格納位置が別れている再送バッファ1−1−2の該当フローに送信フレームを格納する(ステップS2)。次に再送バッファ1−1−2から送信フレームを送付する際に、シーケンス番号インクリメントカウンタ1−1−6をインクリメントし、ヘッダ部分にシーケンス番号を挿入する(ステップS3)。また、再送バッファ1−1−2から送信フレームを送付する際に、格納位置ベースバッファ制御部1−1−5を通し格納位置挿入部1−1−4に格納位置を通知し、ヘッダに格納位置を挿入する(ステップS4)。そして、データフレームを受信側の送受信機1−2−1に送付する(ステップS5)。
【0031】
受信側送受信機1−2−1がデータフレームを受信すると(ステップS6)、フレーム解析部1−2−7にてそのフレームの宛先、送信元、フレーム種別、フレームチェックシーケンスを解析する(ステップS7)。データフレームの場合は受信バッファ1−2−8に送付して格納し(ステップS8)、さらに到達確認部1−2−9にてシーケンス番号を基に正常に受信できているかを確認する(ステップS9)。正常に受信できている時、ACKフレームの送信機会で無い場合(ステップS10のNo)は何も行なわず、データを上位レイヤあるいは別装置に送付する。正常に受信できておりACKフレームの送信機会である場合(ステップS10のYes)は、そのフレームのヘッダから読み取った格納位置情報(あるいはフレーム解析部1−2−7で読み取っておいた格納位置情報)を基に(ステップS11)、ACKフレームを格納位置込みACK生成部1−2−10にて生成する(ステップS12)。生成されたACKフレームは再送バッファ1−2−2を経由するが格納はされず、すぐに送信側送受信機1−1−1に送付される(ステップS13)。その際、シーケンス番号挿入部1−2−3、格納位置挿入部1−2−4では何も行なわない。
【0032】
受信側の送受信機1−2−1から送付されたACKフレームは、送信側の送受信機1−1−1が受信すると(ステップS14)、まずフレーム解析部1−1−7にてそのフレームの宛先、送信元、フレーム種別、フレームチェックシーケンスを解析する(ステップS15)。そして、格納位置を読み取り(ステップS16)、そのACKフレームの該当フローの再送バッファの先頭からACKフレームに搭載されてきた格納位置まで再送バッファ1−1−2を解放する(ステップS17)。
[第2の実施形態]
図5は本発明によるデータ通信システムの第2実施形態の構成を示すブロック図である。本実施形態では、送受信機間を一般のネットワークで使用されるスイッチ4−1(切替装置となる)で接続する。送受信機は第1の実施形態に記述したものと同様であり、他送受信機4−2は第1の実施形態と同じ送受信機を用いても異なる構成の送受信機を用いてもどちらでも構わない。
【0033】
本実施形態の動作については、データフレームとACKフレームの送受信の際にスイッチ4−1を介して通信を行う点が異なるのみである。スイッチ4−1の動作は一般のネットワークで使用されるスイッチの動作である。
【0034】
本実施形態による効果は、スイッチを用いることにより複数の送受信機間で通信できる点である。
【0035】
以上説明した各実施形態の送受信機(通信機となる)は、専用IC等を用いたハードウェアで構成できるが、送受信機としてのコンピュータを用いたソフトウェアで実現することもできる。すなわち、例えば、図1又は図5の送信側の送受信機1−1−1、送信側の送受信機1−2−1をそれぞれ図6に示すようなコンピュータで構成し、図4で示したフローを記述した通信制御用プログラムにより送受信機の機能を実現することができる。送受信機1−1−1、送信側の送受信機1−2−1は両方ともコンピュータで構成しても、一方をコンピュータで構成してもよい。送受信機の機能を実現する通信制御用プログラムをハードディスク装置等のディスク装置14やROM等の記憶装置(ここではディスク装置を示している)に記憶し、送信データや受信データをバッファとしてのRAM等のメモリ12に記憶し、CPU13により図1又は図5に示した送受信機1−1−1又は1−2−1の機能を実現するプログラムが実行される。
【0036】
通信部10は格納位置挿入部のデータ送信部、フレーム解析部のデータ受信部に対応するものである。表示部11はLCD(液晶表示装置)やCRT等からなり、通信状況を表示するものである。15はデータバス等のバスである。
【産業上の利用可能性】
【0037】
本発明は、再送制御を実行する際に処理速度の優れたバッファ管理が可能なデータ通信システム、通信機、データ通信方法及び通信制御用プログラムに適用される。
【図面の簡単な説明】
【0038】
【図1】本発明によるデータ通信システムの第1実施形態の構成を示すブロック図である。
【図2】本発明の第1実施形態に用いるフレームフォーマットを示す図である。
【図3】本発明を第1実施形態に用いるフレームフォーマットを示す図である。
【図4】本発明の第1実施形態のデータ通信システム及び送受信機の動作を示すフローチャートである。
【図5】本発明によるデータ通信システムの第2実施形態の構成を示すブロック図である。
【図6】コンピュータの構成例を示すブロック図である。
【符号の説明】
【0039】
1−1−1 送受信機
1−2−1 送受信機
1−1−2,1−2−2 再送バッファ
1−1−3,1−2−3 シーケンス番号挿入部
1−1−4,1−2−4 格納位置挿入部
1−1−5,1−2−5 格納位置ベースバッファ制御部
1−1−6,1−2−6 シーケンス番号インクリメントカウンタ
1−1−7,1−2−7 フレーム解析部
1−1−8,1−2−8 受信バッファ
1−1−9,1−2−9 到達確認部
1−1−10,1−2−10 格納位置込みACK生成部

【特許請求の範囲】
【請求項1】
送信データを格納する再送バッファと、該送信データの格納位置情報を該送信データに挿入する格納位置挿入手段とを有し、該格納位置情報が挿入された送信データを宛先に送信する、第1の通信機と、
前記格納位置情報が挿入された送信データの到達を確認する到達確認部と、前記到達確認部により到達が確認された場合に、前記格納位置情報を含む到達確認情報を生成する到達確認情報生成手段とを有し、前記格納位置情報を含む到達確認情報を前記送信側の通信機に返信する、第2の通信機と、を備え、
前記第1の通信機は、前記第2の通信機から送信された前記格納位置情報を基に、前記再送バッファから到達が確認された前記送信データを削除する制御手段を、さらに有していることを特徴とするデータ通信システム。
【請求項2】
前記第1及び第2の通信機は、切替装置を用いて相互にネットワークにより接続されていることを特徴する請求項1に記載のデータ通信システム。
【請求項3】
ヘッダ領域とペイロード領域の間に前記送信データの格納位置情報を搭載し、送受信を行なうことを特徴とする請求項1又は2に記載のデータ通信システム。
【請求項4】
送信データを格納する再送バッファと、
該送信データの格納位置情報を該送信データに挿入し、受信側の通信機に送信する格納位置挿入手段と、
前記受信側の通信機から受信した到達確認情報に含まれる前記格納位置情報を基に、前記再送バッファから、到達が確認された前記送信データを削除する制御手段と、を備えたことを特徴とする通信機。
【請求項5】
送信データを格納する再送バッファを有する送信側の通信機から送信される、該送信データの格納位置情報が挿入された送信データの到達を確認する到達確認部と、
前記到達確認部により送信データの到達が確認された場合に、前記格納位置情報を含む到達確認情報を生成する到達確認情報生成手段とを有し、
前記格納位置情報を含む到達確認情報を前記送信側の通信機に返信する、通信機。
【請求項6】
送信側の第1の通信機において、再送バッファに送信データを格納するとともに、該送信データの格納位置情報を該送信データに挿入し、該格納位置情報が挿入された送信データを送信するステップと、
受信側の第2の通信機において、前記格納位置情報が挿入された送信データの到達を確認し、前記到達確認部により送信データの到達が確認された場合に、前記格納位置情報を含む到達確認情報を生成し、前記格納位置情報を含む到達確認情報を前記第1の通信機に返信するステップと、
前記第1の通信機側において、前記第2の通信機から送信された前記格納位置情報を基に、前記再送バッファから到達が確認された前記送信データを削除するステップとを有するデータ通信方法。
【請求項7】
通信機としてのコンピュータに、
再送バッファとしてのメモリに送信データを格納する処理と、
該送信データの格納位置情報を該送信データに挿入し、受信側の通信機に送信する処理と、
前記受信側の通信機から受信した到達確認情報に含まれる前記格納位置情報を基に、前記メモリから、到達が確認された前記送信データを削除する処理と、を実行させる通信制御用プログラム。
【請求項8】
通信機としてのコンピュータに、
送信データを格納する再送バッファとしてのメモリを有する送信側の通信機から送信される、該送信データの格納位置情報が挿入された送信データの到達を確認する処理と、
前記到達確認部により送信データの到達が確認された場合に、前記格納位置情報を含む到達確認情報を生成する処理と、
前記格納位置情報を含む到達確認情報を前記送信側の通信機に返信する処理とを、実行させる通信制御用プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2009−21781(P2009−21781A)
【公開日】平成21年1月29日(2009.1.29)
【国際特許分類】
【出願番号】特願2007−182283(P2007−182283)
【出願日】平成19年7月11日(2007.7.11)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成18年度、総務省、「次世代バックボーンに関する研究開発」委託研究、産業再生法第30条の適用を受ける特許出願
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】