(57)【要約】【課題】パケットの受信エラー有無を示す信号が伝送路ノイズにより余計に生じたりあるいは消失したりした場合に生じる送受信間のデッドロックを回避することができる送受信システム及びその制御方法、並びにプログラムを提供する。【解決手段】送受信システム１００において、受信部１０２は、送信部１０１から受信したパケットのシーケンスナンバー（ＳＮ）の値が予めＳＮ期待値保持部３１４で保持されるＳＮの期待値と一致した場合、パケットの受信成功を示すＡＣＫ信号を出力するが、そうでない場合はパケットの受信エラーと認識し、ＡＣＫ信号の出力を行うことなく送信部１０１からそのパケットの再送を待つ。その後、受信部１０２は、パケットの受信エラーを３回連続して認識した場合、ＳＮ期待値保持部３１４で保持されるＳＮの期待値を変更する。【選択図】図４
2019068296.tif 000002
【特許請求の範囲】
【請求項１】
パケットを送信する送信部と、前記送信部から送信されたパケットを受信する受信部とを備え、前記受信部は、前記送信部から、データにシーケンスナンバーが付加されたパケットを受信すると、前記付加されたシーケンスナンバーの値が予め保持される期待値と一致したか否かを検出し、前記検出の結果を前記パケットの受信エラー有無として前記外部装置に通知すると共に、前記検出の結果、前記パケットの受信エラーを認識した場合、前記外部装置からの前記パケットの再送を待つ送受信システムにおいて、
前記受信部は、前記認識された受信エラーを含む複数の受信エラーを規定回数連続して認識した場合、前記期待値を変更する変更手段を備えることを特徴とする送受信システム。
【請求項２】
前記変更手段は、前記期待値をインクリメントすることを特徴とする請求項１記載の送受信システム。
【請求項３】
前記変更手段は、前記期待値をデクリメントすることを特徴とする請求項１記載の送受信システム。
【請求項４】
前記変更手段は、前記期待値を前記パケットに付加されたシーケンスナンバーの値へ変更することを特徴とする請求項１記載の送受信システム。
【請求項５】
パケットを送信する送信部と、前記送信部から送信されたパケットを受信する受信部とを備え、前記送信部は、データにシーケンスナンバーが付加されたパケットを前記受信部へ送信すると共に保持した後、前記受信部からの前記パケットの受信エラー有無の通知により前記パケットの受信エラーを認識した場合、前記保持されたパケットを再送する送受信システムにおいて、
前記送信部は、前記認識された受信エラーを含む複数の受信エラーを規定回数連続して認識した場合、前記パケットの１つ前に前記外部装置に送信したパケットを再送することを特徴とする送受信システム。
【請求項６】
パケットを送信する送信部と、前記送信部から送信されたパケットを受信する受信部とを備え、前記受信部は、前記送信部から、データにシーケンスナンバーが付加されたパケットを受信すると、前記付加されたシーケンスナンバーの値が予め保持される期待値と一致したか否かを検出し、前記検出の結果を前記パケットの受信エラー有無として前記送信部に通知すると共に、前記検出の結果、前記パケットの受信エラーを認識した場合、前記外部装置からの前記パケットの再送を待つ送受信システムにおいて、
前記受信部は、前記認識された受信エラーを含む複数の受信エラーを規定回数連続して認識した場合、前記パケットが誤りなく受信された旨の通知を前記外部装置に送信することを特徴とする送受信システム。
【請求項７】
パケットを送信する送信部と、前記送信部から送信されたパケットを受信する受信部とを備え、前記受信部は、前記送信部から、データにシーケンスナンバーが付加されたパケットを受信すると、前記付加されたシーケンスナンバーの値が予め保持される期待値と一致したか否かを検出し、前記検出の結果を前記パケットの受信エラー有無として前記外部装置に通知すると共に、前記検出の結果、前記パケットの受信エラーを認識した場合、前記外部装置からの前記パケットの再送を待つ送受信システムの制御方法において、
前記受信部において前記認識された受信エラーを含む複数の受信エラーを規定回数連続して認識した場合、前記期待値を変更することを特徴とする制御方法。
【請求項８】
パケットを送信する送信部と、前記送信部から送信されたパケットを受信する受信部とを備え、前記送信部は、データにシーケンスナンバーが付加されたパケットを前記受信部へ送信すると共に保持した後、前記受信部からの前記パケットの受信エラー有無の通知により前記パケットの受信エラーを認識した場合、前記保持されたパケットを再送する送受信システムの制御方法において、
前記送信部において前記認識された受信エラーを含む複数の受信エラーを規定回数連続して認識した場合、前記パケットの１つ前に前記外部装置に送信したパケットを再送することを特徴とする制御方法。
【請求項９】
パケットを送信する送信部と、前記送信部から送信されたパケットを受信する受信部とを備え、前記受信部は、前記送信部から、データにシーケンスナンバーが付加されたパケットを受信すると、前記付加されたシーケンスナンバーの値が予め保持される期待値と一致したか否かを検出し、前記検出の結果を前記パケットの受信エラー有無として前記送信部に通知すると共に、前記検出の結果、前記パケットの受信エラーを認識した場合、前記外部装置からの前記パケットの再送を待つ送受信システムの制御方法において、
前記受信部において前記認識された受信エラーを含む複数の受信エラーを規定回数連続して認識した場合、前記パケットが誤りなく受信された旨の通知を前記外部装置に送信することを特徴とする制御方法。
【請求項１０】
請求項７乃至９のいずれか１項に記載の制御方法を実行することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送受信システム及びその制御方法、並びにプログラムに関し、特に、パケットの送受信を行う送受信システム及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来より、パケットデータ（以下、単に「パケット」という。）の伝送誤りに起因する受信エラーを再送訂正によって解消する誤り制御方式が知られている（例えば、特許文献１参照）。具体的には、送信側及び受信側の情報処理装置は、以下のプロトコルに従い、パケットの送受信を行う。まず、送信側の情報処理装置は、既定のデータ単位ごとにシーケンスナンバーと誤り訂正符号を付加したパケットを生成し、これを受信側の情報処理装置へ送信すると共にそのパケットを送信側の情報処理装置内の所定のバッファに保持する。受信側の情報処理装置は、受信エラーと判断されたパケットに対してのみ再送要求の通知をおこなう。送信側の情報処理装置は、受信側の情報処理装置から再送要求の通知があった場合、これに応答して所定のバッファに保持されているパケットを再送する。ここで、シーケンスナンバーはパケットの発生順を示す。
【０００３】
かかるプロトコルにより、従来は、受信側の情報処理装置においてパケットの受信エラーが生じた場合は送信側の情報処理装置がパケットを再送することによりパケットの受信エラーを解消していた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭５９−１９８０３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、例えばシーケンスナンバーが１である第１のパケットに受信エラーが発生した際に受信側の情報処理装置から通知された再送要求の信号にノイズが乗る場合がある。この場合、特許文献１のプロトコルによる誤り制御方式では、送信側の情報処理装置が第１のパケットの受信エラーを認識できず、送受信のプロトコルがくずれるという課題があった。
【０００６】
即ち、送信側の情報処理装置は、シーケンスナンバーが１である第１のパケットについては、上記再送要求の通知がないため受信エラーが生じていないと認識し、次のシーケンスナンバーが２の第２のパケットを送信する。一方、受信側の情報処理装置は、第１のパケットの再送を待っているにも関わらず、第２のパケットが送信されてきたため受信エラーと判断する。従って、受信側の情報処理装置は再送要求を通知するが、送信側の情報処理装置はこの通知に応じて第２のパケットを再送する。このため、パケット再送と受信エラーが繰り返されるデッドロックが送受信間で生じてしまう。
【０００７】
ここで、特許文献１においては、受信側の情報処理装置は、受信エラーと判断されたパケットに対して再送要求（受信エラー有りを示す信号）を送信側の情報処理装置に通知した。しかしながら、正しくパケットを受信した場合に受信エラー無しを示す信号を送信側の情報処理装置に通知するような構成であっても、同様の問題が生じる。また、１つの情報処理装置内にある送受信システム、例えば、ＭＦＰ内の画像処理を行うＡＳＩＣにおいて、その内部の複数の画像処理モジュール間がパケット送受信する場合も同様の問題が生じる。
【０００８】
本発明は、パケットの受信エラー有無を示す信号が伝送路ノイズにより余計に生じたりあるいは消失したりした場合に生じる送受信間のデッドロックを回避することができる送受信システム及びその制御方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の請求項１に係る送受信システムは、パケットを送信する送信部と、前記送信部から送信されたパケットを受信する受信部とを備え、前記受信部は、前記送信部から、データにシーケンスナンバーが付加されたパケットを受信すると、前記付加されたシーケンスナンバーの値が予め保持される期待値と一致したか否かを検出し、前記検出の結果を前記パケットの受信エラー有無として前記送信部に通知すると共に、前記検出の結果、前記パケットの受信エラーを認識した場合、前記送信部からの前記パケットの再送を待つ送受信システムにおいて、前記受信部は、前記認識された受信エラーを含む複数の受信エラーを規定回数連続して認識した場合、前記期待値を変更することを特徴とする。
【００１０】
本発明の請求項５に係る送受信システムは、パケットを送信する送信部と、前記送信部から送信されたパケットを受信する受信部とを備え、前記送信部は、データにシーケンスナンバーが付加されたパケットを前記受信部へ送信すると共に保持した後、前記受信部からの前記パケットの受信エラー有無の通知により前記パケットの受信エラーを認識した場合、前記保持されたパケットを再送する送受信システムにおいて、前記送信部は、前記認識された受信エラーを含む複数の受信エラーを規定回数連続して認識した場合、前記パケットの１つ前に前記外部装置に送信したパケットを再送することを特徴とする。
【００１１】
本発明の請求項６に係る送受信システムは、パケットを送信する送信部と、前記送信部から送信されたパケットを受信する受信部とを備え、前記受信部は、前記送信部から、データにシーケンスナンバーが付加されたパケットを受信すると、前記付加されたシーケンスナンバーの値が予め保持される期待値と一致したか否かを検出し、前記検出の結果を前記パケットの受信エラー有無として前記送信部に通知すると共に、前記検出の結果、前記パケットの受信エラーを認識した場合、前記送信部からの前記パケットの再送を待つ送受信システムにおいて、前記受信部は、前記認識された受信エラーを含む複数の受信エラーを規定回数連続して認識した場合、前記パケットが誤りなく受信された旨の通知を前記送信部に送信することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、パケットの受信エラー有無を示す信号が伝送路ノイズにより余計に生じたりあるいは消失したりした場合に生じる送受信間のデッドロックを回避することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態１に係る送受信システムの構成を示すブロック図である。
【図２】図１の送受信システムにおける送信部の構成を示すブロック図である。
【図３】図１の送受信システムにおける受信部の構成を示すブロック図である。
【図４】本発明の実施形態１における送信再送処理及びパケット検査処理の手順を示すフローチャートである。
【図５】本発明の実施形態２における送信再送処理及びパケット検査処理の手順を示すフローチャートである。
【図６】本発明の実施形態３における送信再送処理及びパケット検査処理の手順を示すフローチャートである。
【図７】本発明の実施形態４における送信再送処理及びパケット検査処理の手順を示すフローチャートである。
【図８】本発明の実施形態５における送信再送処理及びパケット検査処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の送受信システムについて説明する。ここで、本発明の送受信システムは、パケット送受信を行うシステムであれば特に限定されるものではないが、例えば、ＭＦＰ内にあって画像処理を行うＡＳＩＣに適用できる。この場合、後述する図１の送信部１０１と受信部１０２はそれぞれ、ＡＳＩＣの内部の複数の画像処理モジュールのうちの送信側モジュールと受信側モジュールに該当する。
【００１５】
（実施形態１）
図１は、本発明の実施形態１に係る送受信システム１００の構成を示すブロック図である。
【００１６】
送受信システム１００は送信部１０１と受信部１０２からなる。１０３は送信部１０１から送信されるパケットデータ（以下、単に「パケット」という）を受信部１０２に受信させるデータ伝送路である。１０４は送られたパケットが受信部１０２によって誤りなく受信された場合に正しく受信したことを通知するＡＣＫ信号を伝えるためのＡＣＫ伝送路である。
【００１７】
図２は、図１の送受信システム１００における送信部１０１の構成を示すブロック図である。
【００１８】
データ源２４０から供給されるデータは既定のデータ単位に分割され、その分割されたデータ毎にパケット生成部２１０によりスタートシンボル、シーケンスナンバー、チェックサムが付加され、パケットが生成される。スタートシンボル付加部２１２はパケットの先頭にパケットの先頭を意味するスタートシンボルを配置する。ＳＮ生成付加部２１４は送信部１０１により送信されるパケットの発生順を示す固定ビット長のシーケンスナンバー（ＳＮ）を保持しそれをパケットのスタートシンボルの後に配置する。本実施例で配置されるシーケンスナンバーの固定ビット長は８ビットであるため、シーケンスナンバーとしてパケットのスタートシンボルの後に配置される値は０、１、２、３、・・・、２５４、２５５、０，１という様に巡回する。シーケンスナンバーの後は既定のデータ単位のデータの１つが配置される。チェックサム生成付加部２１６はパケットに配置されるシーケンスナンバーとデータを既定サイズ毎（本実施例では２バイト単位）に加算を繰り返し、得られた値の下位の例えば２バイトを誤り検出符号（チェックサム）としてデータの直後に付加する。尚、本実施形態では誤り検出符号をパケットのチェックサムとしたが、これに限定されない。例えば、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）をパケットのチェックサムとして用いてもよい。
【００１９】
パケット生成部２１０によって生成されたパケットは送信再送部２２０からデータ伝送路１０３を介して外部装置である受信部１０２へ出力される。送信再送部２２０は再送制御部２３０によって制御される。
【００２０】
以下、送信再送部２２０の動作の詳細を説明する。
【００２１】
送信再送部２２０に入力されたパケットはセレクタ２２２を介してデータ伝送路１０３へ出力されるとともに再送バッファユニット２２４で将来の再送に備えて保持される。再送バッファユニット２２４は例えば３つの再送バッファ１〜３（以下、単にバッファ１〜３という）からなりそれぞれにはパケットが一つずつ順に割り当てられる。タイマユニット２２６はバッファ１〜３のそれぞれに対応するタイマ１、タイマ２、タイマ３を持つ。タイマ１〜３のそれぞれは、対応するバッファ１〜３へパケットが格納された時に０からカウントを開始しそのパケットに対応するＡＣＫ信号が受信部１０２から再送制御部２３０へ返信されたときにカウントをクリアする。この場合、カウントがクリアされたタイマに対応するバッファ内のパケットもクリアにする。各タイマ１〜３はパケットが送信されてからＡＣＫ信号が返信されるまでに想定される最大遅延値を設定値として持ち、タイマ１〜３の任意の１つが設定値に達したとき再送制御部２３０はそのタイマに対応するバッファ内のパケットの受信エラーを認識する。
【００２２】
再送制御部２３０は、受信エラーを認識した場合、再送フェーズへ移行する。
【００２３】
再送フェーズの制御手順を説明する。
【００２４】
再送フェーズではまずパケット生成部２１０で生成されるパケットの、送信再送部２２０への供給を止める。再送制御部２３０が受信エラーを認識した時点で既に送信再送部２２０へ送られた後続のパケットが送信されていた場合、その後続のパケットが全て再送バッファユニット２２４の所定のバッファへ格納されるのを待つ。例えばパケット１を送信と同時にバッファ１に格納した後、パケット２について送信とバッファ２への格納を行っている間に、再送制御部２３０がパケット１の受信エラーを認識した場合は、パケット２について送信とバッファ２への格納が完了するのを待つ。
【００２５】
次に受信エラーが認識されたパケットをこのパケットを格納するバッファから読み出し、セレクタ２２２を介して再送する。例えば、再送制御部２３０がパケット１の受信エラーを認識した場合は、バッファ１からパケット１のデータを読み出し、セレクタ２２２を介して再送する。
【００２６】
次に再送制御部２３０は、再送したパケットが格納されたバッファに対応するタイマのカウントをリセットしてカウントを０から開始すると共に、受信部１０２からのＡＣＫ信号の返信を待つ。
【００２７】
カウントを開始したタイマがその後、設定される最大遅延値に達するまでの間にＡＣＫ信号の返信があった場合、再送制御部２３０は再送したパケットは受信部１０２において正しく受信されたと認識する。このとき、タイマのカウントもクリアにする。併せて、このようにＡＣＫ信号の返信に応じてカウントがクリアされたタイマに対応するバッファ内のパケットもクリアにする。
【００２８】
尚、再送バッファユニット２２４の他のバッファにすでにパケットが格納されている場合は、そのパケットについてもＡＣＫ信号の返信を待つ。その後、そのパケットについてもＡＣＫ信号の返信がなく受信エラーを認識した場合は、再送処理を行なう。
【００２９】
再送バッファユニット２２４に格納されるすべてのバッファに格納されるパケットが受信部１０２において正しく受信されたと再送制御部２３０が認識した場合、再送フェーズを終了する。その後、パケット生成部２１０で生成されるパケットの、送信再送部２２０への供給を再開させる。再送フェーズにおけるいずれの再送処理においても、再送したパケットに対応するＡＣＫ信号の返信がタイマが設定値に達するまでになければ、そのパケットの再送を繰り返す。
【００３０】
図３は、図１の送受信システム１００における受信部１０２の構成を示すブロック図である。
【００３１】
３１０は入力されたパケットがデータ伝送路１０３で誤りを生じていないか検査するパケット検査部である。
【００３２】
パケット検査部３１０においてスタートシンボル検出部３１２がデータ伝送路１０３から入力されたデータにおいてスタートシンボルを検出すると続くデータストリームをパケットと見做し以下のパケット検査を実行する。
【００３３】
ＳＮ比較部３１３はＳＮ期待値保持部３１４に保持されたシーケンスナンバーの期待値と受信したパケットのシーケンスナンバーの値とを比較し一致しているか否かを検出する。この検出の結果、一致していれば正常受信したと判断し、ＯＫの通知をパケット検査制御部３１８へ送信する。
【００３４】
加算部３１６は受信するパケットに配置されるシーケンスナンバーとデータを既定サイズ毎（本実施形態では２バイト単位）に加算を繰り返し、チェックサムを算出する。
【００３５】
チェックサム比較部３１７は加算部３１６で算出されたチェックサムとパケットに付加されたチェックサムとを比較し一致しているか否かを検出する。この検出の結果、一致していればＯＫの通知をパケット検査制御部３１８へ送信する。
【００３６】
パケット検査制御部３１８はＳＮ比較部３１３とチェックサム比較部３１７の両方からＯＫの通知が送信された場合、パケットはデータ伝送路１０３で誤りを生じることなく受信された、すなわち受信成功と判断する。かかる場合、不図示の下流のブロックへこのパケットを渡すと共にＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値をインクリメントさせる。併せて、ＡＣＫ伝送路１０４を介して外部装置である送信部１０１へＡＣＫ信号を出力する。このように、パケット検査制御部３１８は、パケットの受信成功と判断する度にＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値をインクリメントする。
【００３７】
一方、パケット検査制御部３１８はＳＮ比較部３１３とチェックサム比較部３１７の少なくとも一方からＯＫの通知が送信されなかった場合、パケットの受信エラーと判断する。かかる場合、ＡＣＫ伝送路１０４へＡＣＫ信号を出力することなく、また、ＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値もインクリメントすることなく、データ伝送路１０３からパケットが再送されるのを待つ。その後、再送されたパケットに対し、上述した検査と同一の検査をパケット検査部３１０において行う。
【００３８】
尚、本実施形態では、パケット検査制御部３１８はＳＮ比較部３１３とチェックサム比較部３１７の２つの比較部を用いてパケットの受信が成功したか受信エラーかを判断する構成としたが、かかる構成に限定されない。例えば、ＳＮ比較部３１３による検出結果のみをパケットの受信エラー有無として送信部１０１に通知するようにしてもよい。
【００３９】
また、本実施形態では、パケット検査制御部３１８はパケットの受信が成功したと判断した場合にＡＣＫ信号を出力する構成としたが、送信部１０１が送信したパケットについての受信エラーが認識できればかかる構成に限定されない。例えば、パケット検査制御部３１８はパケットの受信エラーと判断した場合にＮＡＣＫ信号を出力する構成としてもよい。
【００４０】
以上のように構成された送受信システム１００によりデータ伝送路１０３に関しては誤り無しの転送が保障される。
【００４１】
以下、本実施形態において、ＡＣＫ伝送路１０４にノイズが生じることによってくずれた送受信のプロトコルをどのように解決するかについて説明する。
【００４２】
具体的には、本実施形態では、まず、ＡＣＫ伝送路１０４上のノイズにより、余計なＡＣＫ信号が生じた場合に生じる課題について説明する。併せて、この課題の解決手段、すなわち、受信部１０２が規定回数連続して受信エラーと認識した場合、パケット検査制御部３１８がＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値をインクリメントするという手段を説明する。本実施形態では、上記規定回数が３回である場合について説明する。
【００４３】
図４は、本実施形態における送信再送部２２０での送信再送処理とパケット検査部３１０でのパケット検査処理の手順を示すフローチャートである。
【００４４】
なお送信再送部２２０の制御は再送制御部２３０が、パケット検査部３１０の制御はパケット検査制御部３１８が行う。再送制御部２３０とパケット検査制御部３１８の制御動作シーケンスはハードウェアで構成される。以下、シーケンスナンバーが１であるパケットがデータ伝送路１０３で誤りを持っていたにも関わらず、ＡＣＫ伝送路１０４上のノイズにより、偽のＡＣＫ信号が生じた場合について説明するが、これに限定されない。すなわち、シーケンスナンバーが１であるパケットではなく、ＳＮ生成付加部２１４により付加可能な他のシーケンスナンバーを有するパケットにおいても以下図４に示す処理と同様の処理が行われる。
【００４５】
再送制御部２３０はシーケンスナンバーが１であるパケット１を送信し、同時にパケット１をバッファ１に格納する（ステップＳ４２１）。またパケット１の送信を終えたときタイマ１をスタートさせる。
【００４６】
本実施形態の場合、パケット１はデータ伝送路１０３で誤りを持つため、ＳＮ比較部３１３では一致を検出する。しかし、パケット検査部３１０のチェックサム比較部３１７は受信したパケット１から算出されたチェックサムとパケット１に付加されたチェックサムとの不一致を検出する。よってパケット検査制御部３１８受信エラーと判断しＡＣＫ信号を送信せず、ＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値もインクリメントしない（ステップＳ４１１）。
【００４７】
さらに本実施形態の場合、タイマ１が設定値に達する前にＡＣＫ伝送路１０４上にノイズが発生し、偽のＡＣＫ信号が生じるため、再送制御部２３０はこの偽のＡＣＫ信号を検出する。すなわち、再送制御部２３０はパケット１が正常に受信されたと認識する（ステップＳ４２２）。
【００４８】
再送制御部２３０は次のシーケンスナンバーのパケット（本実施形態ではパケット２）を送信すると共に、パケット２をバッファ２に格納する（ステップＳ４２３）。またパケット２の送信を終えたときタイマ２をスタートさせる。
【００４９】
受信部１０２において、ＳＮ期待値保持部３１４が保持されるシーケンスナンバーの期待値は１のままである一方、受信したパケット２のシーケンスナンバーは２である。このため、ＳＮ比較部３１３はこの２つのシーケンスナンバーの比較の結果は不一致であるとし、ＯＫの通知はパケット検査制御部３１８へ送信しない。よってパケット検査制御部３１８はパケットの受信エラーと判断しＡＣＫ伝送路１０４へＡＣＫ信号を出力せず、また、ＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値もインクリメントしない（ステップＳ４１２）。
【００５０】
再送制御部２３０は、タイマ２が設定値に達しても送信したパケット２に対するＡＣＫ信号が返らないので、パケット２の受信エラーを認識する（ステップＳ４２４）。
【００５１】
再送制御部２３０はパケット２の再送フェーズに入り、バッファ２に格納されたパケット２を再送する（ステップＳ４２５）。またパケット２の再送を終えたときタイマ２のゼロからのカウントを再スタートさせる。
【００５２】
受信部１０２において、再送されたパケット２のシーケンスナンバーは２である一方、ＳＮ期待値保持部３１４が保持するシーケンスナンバーの期待値は１のままである。このため、ステップＳ４１２と同様に、ＳＮ比較部３１３はこの２つのシーケンスナンバーの比較の結果は不一致であるとし、ＯＫの通知はパケット検査制御部３１８へ送信しない。よってパケット検査制御部３１８はパケットの受信エラーと判断しＡＣＫ伝送路１０４へＡＣＫ信号を出力せず、また、ＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値もインクリメントしない（ステップＳ４１３）。
【００５３】
再送制御部２３０は、カウントを再スタートさせたタイマ２が設定値に達しても再送したパケット２に対するＡＣＫ信号が返らないので、ステップＳ４２４と同様に、パケット２の受信エラーと認識する（ステップＳ４２６）。
【００５４】
この状態は、送信部１０１はパケット２の再送を繰り返す一方、受信部１０２はパケット１の再送を待っているというデッドロックであり、深刻なエラー状態である。
【００５５】
このデッドロックを解決するため、パケット検査制御部３１８は、３回連続してパケットの受信エラーと認識した場合、ＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値をインクリメントする（ステップＳ４１５）。ここで、受信部１０２では、図４のステップＳ４１１，Ｓ４１２，Ｓ４１３と３回連続でパケットの受信エラーが認識されている。よって、パケット検査制御部３１８はＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値をインクリメントする。結果としてＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値は２となる。
【００５６】
ステップＳ４２６でパケット２の受信エラーを認識した再送制御部２３０は、ステップＳ４２５と同様に、バッファ２に格納されたパケット２を再々送する（ステップＳ４２７）。またパケット２の再々送を終えたときタイマ２のゼロからのカウントを再々スタートさせる。
【００５７】
受信部１０２はシーケンスナンバーが２であるパケット２を受信する一方、ＳＮ期待値保持部３１４が保持するシーケンスナンバーの期待値がステップＳ４１５でインクリメントされて２となっている。このため、ステップＳ４１６では、ＳＮ比較部３１３及びチェックサム比較部３１７はいずれも一致を検出し、ＯＫの通知をパケット検査制御部３１８へ送信する。すなわち、パケット検査制御部３１８は受信が成立したと判断して、ＡＣＫ伝送路１０４へＡＣＫ信号を出力し、パケット検査処理を終了する。
【００５８】
再送制御部２３０は、カウントを再々スタートさせたタイマ２のカウントが設定値に達する前にＡＣＫ信号の返信を受け、タイマ２をクリアすると共に、パケット２の受信成功を認識して、再送フェーズを終了し（ステップＳ４３０）、送信再送処理を終了する。
【００５９】
本実施形態によれば、結果としてパケット１は受信部１０２で受信されず失われてしまうがデッドロックは解消され後続のパケット送受信が可能となる。尚、図４のフローチャートにより送受信のプロトコルのくずれが解消された後は、図２，３で説明した送受信プロトコルにより送受信システム１００でのパケット送受信が行われる。
【００６０】
（実施形態２）
以下、本実施形態において、ＡＣＫ伝送路１０４にノイズが生じることによってくずれた送受信のプロトコルをどのように解決するかについて説明する。
【００６１】
具体的には、本実施形態では、実施形態１と同様、ＡＣＫ伝送路１０４上のノイズにより、余計なＡＣＫ信号が生じた場合に生じる課題を解決する。但し、本実施形態にかかる課題の解決手段としては、送信部１０１が規定回数連続して（本実施形態では３回連続して）受信エラーと認識した場合、受信エラーを起こしているパケットの一つ前に既に送信したパケットから再送する。
【００６２】
そのため、第１の実施形態では、ＡＣＫ信号の返信に応じてタイマのカウントがクリアされた場合、そのタイマに対応するバッファ内のパケットもクリアにした。一方、本実施形態では、そのパケットの１つ後に送信されたパケットのＡＣＫ信号の返信があるまでは、そのパケットのバッファ内での保持を継続する。
【００６３】
図５は、本実施形態における送信再送部２２０での送信再送処理とパケット検査部３１０でのパケット検査処理の手順を示すフローチャートである。
【００６４】
本図においてパケット検査制御部３１８において実行されるステップＳ４１１からステップＳ４１３までと再送制御部２３０において実行されるステップＳ４２１からステップＳ４２６までは図４と同じなので詳細説明は省略する。簡単に説明すれば、実施形態１と同様、パケット１を送信した後に偽のＡＣＫ信号を受信したため、送信部１０１はパケット２の再送を繰り返す一方、受信部１０２はパケット１を待っているというデッドロックの状態となっている。
【００６５】
実施形態２ではこのデッドロックを解消するために、ステップＳ４２６でパケット２の受信エラーを認識した再送制御部２３０は、ステップＳ５２７において、ステップＳ４２５と同様に、バッファ２に格納されたパケット２を再々送する。またパケット２の再々送を終えたときタイマ２のゼロからのカウントを再々スタートさせる。
【００６６】
受信部１０２はステップＳ４１３と同様に、ＳＮ比較部３１３はこの２つのシーケンスナンバーの比較の結果は不一致であるとし、ＯＫの通知はパケット検査制御部３１８へ送信しない。よってパケット検査制御部３１８はパケットの受信エラーと判断しＡＣＫ伝送路１０４へＡＣＫ信号を出力せず、また、ＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値もインクリメントしない（ステップＳ５１４）。
【００６７】
再送制御部２３０はステップＳ４２６と同様にパケット２の受信エラーを認識する（ステップＳ５２８）。
【００６８】
ステップＳ５２８では再送制御部２３０はパケット２の受信エラーを認識する。これにより、ステップＳ４２４，Ｓ４２６に引き続き、３回連続の受信エラーが生じたこととなるので、再送制御部２３０は、再送するパケットをバッファ２に格納されたパケット２からバッファ１に格納されたパケット１へ変更し出力する（ステップＳ５２９）。またパケット１の送信を終えたときタイマ１をスタートさせる。
【００６９】
受信部１０２は待っていたパケット１を受信するので、ＳＮ期待値保持部３１４が保持するシーケンスナンバーの期待値とパケットのシーケンスナンバーの値は一致する。よって、パケット検査制御部３１８は、ＡＣＫ信号を返すとともにＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値をインクリメントする（ステップＳ５１５）。結果としてＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値は２となる。
【００７０】
再送制御部２３０は、タイマ１のカウントが設定値に達する前にＡＣＫ信号の返信を受け、タイマ１をクリアすると共に、パケット１の受信成功を認識する（ステップＳ５３０）。
【００７１】
次に再送フェーズに入り、バッファ２に格納されたパケット２を再送する（ステップＳ５３１）。またパケット２の再送を終えたときタイマ２をスタートさせる。
【００７２】
受信部１０２はパケット２を受信する。ＳＮ期待値保持部３１４が保持するシーケンスナンバーの期待値とパケットのシーケンスナンバーの値はともに２で一致する。よって、パケット検査制御部３１８は、ＡＣＫ信号を返すととともにＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値をインクリメントして（ステップＳ５１６）、パケット検査処理を終了する。結果としてＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値は３となる。
【００７３】
再送制御部２３０は、タイマ２のカウントが設定値に達する前にＡＣＫ信号の返信を受け、タイマ２をクリアすると共に、パケット２の受信成功を認識して、再送フェーズを終了し（ステップＳ５３２）、送信再送処理を終了する。
【００７４】
以上の方法により、本実施形態ではデッドロックを解消することができる。本実施形態の方法では、パケット１、パケット２ともに受信部１０２において正しく受信されるので、実施形態１と比べるとパケットのロスが無いという利点がある。尚、図５のフローチャートにより送受信のプロトコルのくずれが解消された後は、図２，３で説明した送受信プロトコルにより送受信システム１００でのパケット送受信が行われる。
【００７５】
（実施形態３）
以下、本実施形態において、ＡＣＫ伝送路１０４にノイズが生じることによってくずれた送受信のプロトコルをどのように解決するかについて説明する。
【００７６】
具体的には、本実施形態では、まず、ＡＣＫ伝送路１０４上のノイズにより再送制御部２３０がＡＣＫ信号を認識できなかった場合に生じる課題について説明する。併せて、この課題の解決手段、すなわち、受信部１０２が規定回数連続して受信エラーと認識した場合、パケット検査制御部３１８がＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値をデクリメントするという手段を説明する。本実施形態では、上記規定回数が３回の場合について説明する。
【００７７】
図６は、本実施形態における送信再送部２２０での送信再送処理とパケット検査部３１０でのパケット検査処理の手順を示すフローチャートである。
【００７８】
以下、パケット１がデータ伝送路１０３を介して正しく受信され、ＡＣＫ信号が受信部１０２から出力されたが、ＡＣＫ伝送路１０４上のノイズにより、そのＡＣＫ信号を送信部１０１が認識できなかった場合について説明する。しかしながら、本実施形態はかかる場合に限定されない。すなわち、シーケンスナンバーが１であるパケットではなく、ＳＮ生成付加部２１４により付加可能な他のシーケンスナンバーを有するパケットにおいても以下図６に示す処理と同様の処理が行われる。
【００７９】
再送制御部２３０はシーケンスナンバーが１であるパケット１を送信し、同時にパケット１をバッファ１に格納する（ステップＳ４２１）。またパケット１の送信を終えたときタイマ１をスタートさせる。
【００８０】
本実施形態の場合、パケット１はデータ伝送路１０３を誤り無しに伝搬するため、ＳＮ比較部３１３とチェックサム比較部３１７共に一致を検出する。よってパケット検査制御部３１８は受信成功と判断してＡＣＫ伝送路１０４にＡＣＫ信号を出力すると共に、ＳＮ期待値保持部３１４で保持されるシーケンスナンバーをインクリメントする（ステップＳ６１１）。
【００８１】
さらに本実施形態の場合、ＡＣＫ伝送路１０４のノイズにより再送制御部２３０がステップＳ６１１で出力されたＡＣＫ信号を認識できないため、パケット１に対するＡＣＫ信号の返信がない状態のままタイマ１のカウントが設定値に達する。よって、再送制御部２３０はパケット１の受信エラーを認識する（ステップＳ６２２）。
【００８２】
再送制御部２３０はパケット１の再送フェーズに入り。バッファ１に格納されたパケット１を再送する（ステップＳ６２３）。またパケット１の再送を終えたときタイマ１のゼロからのカウントを再スタートさせる。
【００８３】
受信部１０２は、再送されたパケット１のシーケンスナンバーは１である一方、ＳＮ期待値保持部３１４が保持するシーケンスナンバーの期待値は２である。よって、ＳＮ比較部３１３はこの２つのシーケンスナンバーの比較の結果は不一致であるとし、ＯＫの通知はパケット検査制御部３１８へ送信しない。よってパケット検査制御部３１８はパケットの受信エラーと判断しＡＣＫ伝送路１０４へＡＣＫ信号を出力せず、また、ＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値もインクリメントしない（ステップＳ６１２）。
【００８４】
再送制御部２３０は、カウントを再スタートさせたタイマ１が設定値に達しても再信したパケット１に対するＡＣＫ信号が返らないので、パケット１の受信エラーと認識する（ステップＳ６２４）。
【００８５】
以降は、ステップＳ６２３、ステップＳ６１２、ステップＳ６２４で説明したのと同様の再送と受信エラーをさらに２回繰り返す。すなわち、２回目はステップＳ６２５で再送、ステップＳ６１３で受信エラー発生、ステップＳ６２６で再送制御部２３０が受信エラーを認識する。３回目はステップＳ６２７で再送、ステップＳ６１４で受信エラー発生、ステップＳ６２８で再送制御部２３０が受信エラーを認識する。
【００８６】
この状態は、送信部１０１はパケット１の再送を繰り返す一方、受信部１０２はパケット２の再送を待っているというデッドロックであり、深刻なエラー状態である。
【００８７】
このデッドロックを解決するため、パケット検査制御部３１８は、３回連続してパケットの受信エラーと認識した場合、ＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値をデクリメントする（ステップＳ６１５）。結果としてＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値は１となる。
【００８８】
ステップＳ６２８でパケット１の受信エラーを認識した再送制御部２３０は、バッファ１に格納されたパケット１を再送する（ステップＳ６２９）。またこのパケット１の再送を終えたときタイマ１のゼロからのカウントをスタートさせる。
【００８９】
受信部１０２はシーケンスナンバーが１であるパケット１を受信する一方、ＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値がステップＳ６１５でデクリメントされて１となっている。このため、ステップＳ６１６では、ＳＮ比較部３１３及びチェックサム比較部３１７はいずれも一致を検出し、ＯＫの通知をパケット検査制御部３１８へ送信する。すなわち、パケット検査制御部３１８は受信が成立したと判断して、ＡＣＫ伝送路１０４へＡＣＫ信号を出力し、パケット検査処理を終了する。
【００９０】
再送制御部２３０は、カウントをスタートさせたタイマ１のカウントが設定値に達する前にＡＣＫ信号の返信を受け、タイマ１をクリアすると共に、パケット１の受信成功を認識して、再送フェーズを終了し（ステップＳ６３０）、送信再送処理を終了する。
【００９１】
本実施形態によれば、結果として受信部１０２はパケット１を重複して受信することになるがデッドロックは解消され後続のパケット送受信が可能となる。尚、図６のフローチャートにより送受信のプロトコルのくずれが解消された後は、図２，３で説明した送受信プロトコルにより送受信システム１００でのパケット送受信が行われる。
【００９２】
（実施形態４）
以下、本実施形態において、ＡＣＫ伝送路１０４にノイズが生じることによってくずれた送受信のプロトコルをどのように解決するかについて説明する。
【００９３】
具体的には、本実施形態では、実施形態３と同様、ＡＣＫ伝送路１０４上のノイズにより再送制御部２３０がＡＣＫ信号を認識できなかった場合に生じる課題を解決する。但し、本実施形態では、かかる課題の解決手段として、受信部１０２が規定回数連続して受信エラーと認識した場合、パケット検査制御部３１８がＡＣＫ信号を返す。本実施形態では、上記規定回数が３回である場合について説明する。
【００９４】
図７は、本実施形態における送信再送部２２０での送信再送処理とパケット検査部３１０でのパケット検査処理の手順を示すフローチャートである。
【００９５】
本図においてパケット検査制御部３１８において実行されるステップＳ６１１からステップＳ６１４までと再送制御部２３０において実行されるステップＳ６２１からステップＳ６２７までは図６と同じなので詳細説明は省略する。
【００９６】
簡単に説明すれば、実施形態３と同様、送信したパケット１に対するＡＣＫ信号がノイズにより認識できない。このため、送信部１０１はパケット１の受信エラーを認識し、パケット１の再送を繰り返す一方、受信部１０２はパケット２を待っているというデッドロックの状態となっている。
【００９７】
このデッドロックの解消のため、パケットの受信エラーが３回連続した場合、パケット検査制御部３１８はＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値を変更することなくＡＣＫ信号をＡＣＫ伝送路１０４に出力する（ステップＳ７１５）。その後、パケット検査処理を終了する。
【００９８】
再送制御部２３０は、タイマ１のカウントが設定値に達する前にＡＣＫ信号の返信を受け、タイマ１をクリアすると共に、パケット１の受信成功を認識して、再送フェーズを終了し（ステップＳ７２８）、送信再送処理を終了する。
【００９９】
以上のようにデッドロックを解消するフローを説明した。パケット１が重複して受信されることがないので実施形態１に対して利点がある。尚、図７のフローチャートにより送受信のプロトコルのくずれが解消された後は、図２，３で説明した送受信プロトコルにより送受信システム１００でのパケット送受信が行われる。
【０１００】
（実施形態５）
実施形態１，３は共に再送されるパケットのシーケンスナンバー（ＳＮ）の値と、ＳＮ期待値保持部３１４で保持されるＳＮの期待値の不一致によるデッドロックの状態を解消するために、ＳＮ期待値保持部３１４で保持されるＳＮの期待値を変更する。すなわち、実施形態１においてはＳＮの期待値をインクリメントし、実施形態３においてはＳＮの期待値をデクリメントする。これに対し、本実施形態では、ＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値を受信エラーが認識された受信パケットのシーケンスナンバーの値へ変更する。
【０１０１】
図８は、本実施形態における送信再送部２２０での送信再送処理とパケット検査部３１０でのパケット検査処理の手順を示すフローチャートである。
【０１０２】
図８と実施形態１で示した図４との差は、ステップＳ８１５のみである。
【０１０３】
パケット検査部３１０はステップＳ４１３において３回連続受信エラーを検出した後、ステップＳ８１５においてＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値を受信したパケットのシーケンスナンバーに変更する。すなわち、ＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値を２に変更する。
【０１０４】
以降デッドロックが解消するのは実施形態１と同様である。
【０１０５】
この解決手段はＡＣＫ伝送路１０４のノイズによりＡＣＫ信号を消失しＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値が送信パケットのシーケンスナンバーの値より１つ大きい値となる実施形態３のような場合も有効である。尚、図８のフローチャートにより送受信のプロトコルのくずれが解消された後は、図２，３で説明した送受信プロトコルにより送受信システム１００でのパケット送受信が行われる。
【０１０６】
以上、複数の解決手段を説明した。
【０１０７】
以上の実施形態では、送信部１０１は、ＡＣＫ信号の返信がない場合に送信したパケット受信エラーを認識する構成としたが、ＮＡＣＫ信号等エラーを明示する信号が送信された場合にパケット受信エラーを認識するようにしてもよい。
【０１０８】
またＡＣＫ信号の実装形態により、ＡＣＫ信号が余計に生じやすい場合と、消失しやすい場合とがあるので、場合に応じて適切な解決手段を選択するとよい。例えばＡＣＫ信号を単線のパルスとした場合はノイズにより余計な信号が生じやすく、ＡＣＫ信号を規定の信号の組み合わせまたは符号として送る場合はノイズにより組み合わせまたは符号が崩れて消失しやすい。
【０１０９】
また以上のべた複数の解決手段を組み合わせても良い。
【０１１０】
例えばデッドロックの解決方法が、ＳＮ期待値保持部３１４で保持されるＳＮの期待値と再送されたパケットのＳＮの値の関係に応じて、選択的に実行されるようにしても良い。例えばＳＮ期待値保持部３１４で保持されるシーケンスナンバーの期待値がパケットのシーケンスナンバーの値より小さければ実施形態２の解決手段を実行し、大きければ実施形態４の解決手段を実行してもよい。これによりＡＣＫ伝送路１０４の誤りに対してもパケットのロスまたは重複の無い送受信システム１００を実現できる。
【０１１１】
（その他の実施形態）
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体（記録媒体）等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１１２】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１１３】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１１４】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１１５】
プログラムを供給するための記録媒体としては、例えば、以下のようなものがある。フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）。
【０１１６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。すなわち、ホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザーに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１１７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザーに配布する。そして、所定の条件をクリアしたユーザーに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１１８】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他にも、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１１９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後にも前述した実施形態の機能が実現される。すなわち、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行うことによっても前述した実施形態の機能が実現される。
【符号の説明】
【０１２０】
１００  送受信システム
１０１  送信部
１０２  受信部
１０３  データ伝送路
１０４  ＡＣＫ伝送路
２１０  パケット生成部
２１４  ＳＮ生成付加部
２２４  再送バッファユニット
３１０  パケット検査部
３１３  ＳＮ比較部
３１４  ＳＮ期待値保持部
３１８  パケット検査制御部
【図１】
2019068296.tif 000003
【図２】
2019068296.tif 000004
【図３】
2019068296.tif 000005
【図４】
2019068296.tif 000006
【図５】
2019068296.tif 000007
【図６】
2019068296.tif 000008
【図７】
2019068296.tif 000009
【図８】
2019068296.tif 000010
【手続補正書】
【提出日】平成30年8月1日(2018.8.1)
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は情報処理装置及びその制御方法、並びにコンピュータプログラムに関し、特に、パケットの送受信を行う情報処理装置及びその制御方法、並びにコンピュータプログラムに関する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明は、パケットの受信エラー有無を示す信号が伝送路ノイズにより余計に生じたりあるいは消失したりした場合に生じる送受信間のデッドロックを回避することができる情報処理装置及びその制御方法、並びにコンピュータプログラムを提供することを目的とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明の請求項１に係る情報処理装置は、所定の量のデータとシーケンス番号を含むデータブロックを送信する送信モジュールと、前記送信モジュールにより送信された前記データブロックを受信する受信モジュールと、を有する情報処理装置において、前記受信モジュールは、カウンタの値を記憶する記憶手段と、前記データブロックに含まれるデータの誤り検知の検知結果と、前記カウンタの値と前記データブロックに含まれるシーケンス番号の比較の結果の少なくとも一方に基づいて、前記データブロックが正しく受信されたか否かを判定する判定手段と、前記判定手段により前記データブロックが正しく受信されたと判定された場合、前記記憶手段に記憶された前記カウンタの値を次の値に変更する第１の変更手段と、前記判定手段により所定の回数、前記データブロックが正しく受信されていないと判定された場合、前記記憶手段に記憶された前記カウンタの値を次の値に変更する第２の変更手段と、を有することを特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
本発明の請求項１２に係る情報処理装置は、所定の量のデータとシーケンス番号を含むデータブロックを送信する送信モジュールと、期待値を記憶する記憶手段を有し、前記送信モジュールから送信された前記データブロックを受信し、少なくとも受信した前記データブロックに含まれるシーケンス番号と前記記憶手段に記憶された期待値の比較から前記データブロックに含まれるデータの受信に成功したと判定した場合、前記記憶手段に記憶された前記期待値を次の期待値に変更する受信モジュールと、を有する情報処理装置において、前記送信モジュールは、前記受信モジュールにより前記データブロックに含まれるデータの受信に成功しなかったと判定された場合、前記データブロックを前記受信モジュールに再送する再送制御手段を有し、前記受信モジュールは、前記送信モジュールから再送された前記データブロックに含まれるデータの受信に成功しなかったと所定の回数、判定した場合、前記記憶手段に記憶された期待値を次の期待値に変更する変更手段を有することを特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定の量のデータとシーケンス番号を含むデータブロックを送信する送信モジュールと、
前記送信モジュールにより送信された前記データブロックを受信する受信モジュールと、を有する情報処理装置において、
前記受信モジュールは、
カウンタの値を記憶する記憶手段と、
前記データブロックに含まれるデータの誤り検知の検知結果と、前記カウンタの値と前記データブロックに含まれるシーケンス番号の比較の結果の少なくとも一方に基づいて、前記データブロックが正しく受信されたか否かを判定する判定手段と、
前記判定手段により前記データブロックが正しく受信されたと判定された場合、前記記憶手段に記憶された前記カウンタの値を次の値に変更する第１の変更手段と、
前記判定手段により所定の回数、前記データブロックが正しく受信されていないと判定された場合、前記記憶手段に記憶された前記カウンタの値を次の値に変更する第２の変更手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記記憶手段に記憶された前記カウンタの値は、前記送信モジュールにより送信される前記データブロックに含まれるシーケンス番号として期待される値であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記送信モジュールは、前記判定手段により前記データブロックが正しく受信されていないと判定された場合、前記データブロックと同じシーケンス番号を含むデータブロックを再送することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記第２の変更手段は、前記判定手段により前記送信モジュールにより再送された前記データブロックが正しく受信されていないと判定された場合、前記カウンタの値を次の値に変更することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第２の変更手段は、前記判定手段により前記所定の回数連続して、前記データブロックの受信が正しく受信されなかったと判定された場合、前記カウンタの値を次の値に変更することを特徴とする請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記判定手段は、前記データブロックが正しく受信されたと判定された場合、前記送信モジュールに前記データブロックの受信の完了の通知を出力し、
前記送信モジュールは、前記データブロックの送信から所定の時間が経過しても、前記通知が出力されなかった場合、前記データブロックを再送することを特徴とする請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
前記送信モジュールは、前記データブロックを送信してからの経過時間を計測する計測手段をさらに有し、前記計測手段で計測された時間に基づいて、前記データブロックを再送することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記送信モジュールは、複数の送信済みのデータブロックを格納する格納手段を更に有し、前記複数の送信済みのデータブロックのうち、前記通知が出力されなかったデータブロック以降に送信されたデータブロックを再送することを特徴とする請求項６または７に記載の情報処理装置。
【請求項９】
前記送信モジュールから送信されるデータブロックは、それぞれ異なるシーケンス番号を含むことを特徴とする請求項１乃至８のいずれか一項に記載の情報処理装置。
【請求項１０】
前記第２の変更手段は、前記判定手段により前記データブロックが正しく受信できなかったと判定された回数が前記所定の回数に達してない場合、前記記憶手段に記憶されたカウンタの値を変えないことを特徴とする請求項１乃至９のいずれか一項に記載の情報処理装置。
【請求項１１】
前記送信モジュールと前記受信モジュールはそれぞれ一つのＡＳＩＣ内に実装されるモジュールであることを特徴とする請求項１乃至１０のいずれか一項に記載の情報処理装置。
【請求項１２】
所定の量のデータとシーケンス番号を含むデータブロックを送信する送信モジュールと、
期待値を記憶する記憶手段を有し、前記送信モジュールから送信された前記データブロックを受信し、少なくとも受信した前記データブロックに含まれるシーケンス番号と前記記憶手段に記憶された期待値の比較から前記データブロックに含まれるデータの受信に成功したと判定した場合、前記記憶手段に記憶された前記期待値を次の期待値に変更する受信モジュールと、を有する情報処理装置において、
前記送信モジュールは、前記受信モジュールにより前記データブロックに含まれるデータの受信に成功しなかったと判定された場合、前記データブロックを前記受信モジュールに再送する再送制御手段を有し、
前記受信モジュールは、前記送信モジュールから再送された前記データブロックに含まれるデータの受信に成功しなかったと所定の回数、判定した場合、前記記憶手段に記憶された期待値を次の期待値に変更する変更手段を有することを特徴とする情報処理装置。
【請求項１３】
前記再送制御手段は、前記受信モジュールにより前記データブロックに含まれるデータの受信に成功しなかったと判定された場合、前記データブロックに含まれるシーケンス番号と同じシーケンス番号のデータブロックを前記受信モジュールに送信することを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記受信モジュールは、前記データブロックに含まれるデータの受信に成功したと判定した場合、前記送信モジュールへの通知を出力し、
前記送信モジュールは前記通知が出力されなかった場合、前記再送制御手段を制御して前記データブロックを前記受信モジュールに再送することを特徴とする請求項１２または１３に記載の情報処理装置。
【請求項１５】
所定の量のデータとシーケンス番号を含むデータブロックを送信する送信モジュールと、
前記送信モジュールから送信された前記データブロックを受信する受信モジュールと、を有する情報処理装置の制御方法において、
前記受信モジュールによりカウンタの値を記憶する記憶工程と、
前記データブロックに含まれるデータの誤り検知の検知結果と、前記カウンタの値と前記データブロックに含まれるシーケンス番号の比較の結果の少なくとも一方に基づいて、前記データブロックが正しく受信されたかを判定する判定工程と、
前記判定工程において前記データブロックが正しく受信されたと判定された場合、前記記憶工程において記憶された前記カウンタの値を次の値に変更する第１の変更工程と、
前記判定工程において所定の回数、前記データブロックが受信が正しく受信されていないと判定された場合、前記記憶工程において記憶された前記カウンタの値を次の値に変更する第２の変更工程とを有することを特徴とする情報処理装置の制御方法。
【請求項１６】
請求項１５に記載の情報処理装置の制御方法をコンピュータが実行するためのコンピュータプログラム。
【請求項１７】
所定の量のデータとシーケンス番号を含むデータブロックを送信する送信モジュールと、
期待値を記憶する記憶手段を有し、前記送信モジュールから送信された前記データブロックを受信し、少なくとも受信した前記データブロックに含まれるシーケンス番号と前記記憶手段に記憶された期待値の比較から前記データブロックに含まれるデータの受信に成功したと判定した場合、前記記憶手段に記憶された前記期待値を次の期待値に変更する受信モジュールと、を有する情報処理装置の制御方法において、
前記送信モジュールにおいて、前記受信モジュールにより前記データブロックに含まれるデータの受信に成功しなかったと判定された場合、前記データブロックを前記受信モジュールに再送する再送制御工程を有し、
前記受信モジュールにおいて、前記送信モジュールから再送された前記データブロックに含まれるデータの受信に成功しなかったと所定の回数、判定した場合、前記記憶手段に記憶された期待値を次の期待値に変更する変更工程を有することを特徴とする制御方法。
【請求項１８】
請求項１７に記載の情報処理装置の制御方法をコンピュータが実行するためのコンピュータプログラム。