(57)【特許請求の範囲】
【請求項１】
転送順序が割り当てられた複数のデータパケットを転送先の装置から送信される応答信号を受信する毎に順次転送する転送装置において、
前記複数のデータパケットの最初の転送または転送再開時に、前記複数のデータパケットのうち転送順序に従った所定数のデータパケットを一度に転送する第１の転送手段と、
前記第１の転送手段によって転送された前記所定数のデータパケットの次以降に転送される転送順序のデータパケットを、前記所定数のデータパケットの数よりも少ない数のデータパケット単位で順次転送する第２の転送手段と、
この第１の転送手段によって一度に転送された前記所定数のデータパケットの一つに対応する応答信号を受信する受信手段と、
この受信手段によって応答信号を受信すると、この応答信号の内容に応じて、前記第１の転送手段及び前記第２の転送手段によって転送されるデータパケットの転送を制御する制御手段と、
を備えることを特徴とするデータパケット転送装置。
【請求項２】
前記制御手段は、
前記第１の転送手段によって前記一度に転送された前記所定数のデータパケットの少なくとも一つに対応する応答信号を受信する前に、前記一度に転送された前記所定数のデータパケットの次に転送される転送順序のデータパケットを送信するよう前記第２の転送手段によって転送されるデータパケットの転送を制御することを特徴とする請求項１に記載のデータパケット転送装置。
【請求項３】
前記応答信号の内容とは、転送されたデータパケットが正常に受信されたことを示すものであり、
前記制御手段は、前記受信手段が前記第１の転送手段によって前記一度に転送された前記所定数のデータパケットの一つについて正常に受信されたことを受信すると、前記所定数のデータパケットの次に転送順序が割り当てられたデータパケットを転送するよう前記第２の転送手段によって転送されるデータパケットの転送を制御することを特徴とする請求項１に記載のデータパケット転送装置。
【請求項４】
前記応答信号の内容とは、転送されたデータパケットが正常に受信されなかったことを示すものであり、
前記制御手段は、前記受信手段が前記第１の転送手段によって前記一度に転送された前記所定数のデータパケットの一つについて正常に受信されなかったことを受信すると、前記第１の転送手段によって一度に転送された前記所定数のデータパケットに対応する残りの応答信号が受信されるまで前記第２の転送手段によるデータパケットの転送を停止するとともに、前記受信手段が前記第１の転送手段によって前記一度に転送された前記所定数のデータパケットに対応する残りの応答信号を受信すると、前記転送された前記所定数のデータパケットを再転送するよう前記第１の転送手段に戻って、前記複数のデータパケットの転送を制御することを特徴とする請求項１に記載のデータパケット転送装置。
【請求項５】
転送順序が割り当てられた複数のデータパケットを転送先の装置から送信される応答信号を受信する毎に順次転送するデータパケット転送方法であって、
前記複数のデータパケットの最初の転送または転送再開時に、前記複数のデータパケットのうち転送順序に従った所定数のデータパケットを一度に転送する第１の転送ステップと、
前記第１の転送ステップによって転送された前記所定数のデータパケットの次以降に転送される転送順序のデータパケットを、前記所定数のデータパケットの数よりも少ない数のデータパケット単位で順次転送する第２の転送ステップと、
この第１の転送ステップにて一度に転送された前記所定数のデータパケットの一つに対応する応答信号を受信する受信ステップと、
この受信ステップにて応答信号を受信すると、この応答信号の内容に応じて、前記第１の転送ステップ及び前記第２の転送ステップによって転送されるデータパケットの転送を制御する制御ステップと、
からなることを特徴とするデータパケット転送方法。
【請求項６】
転送順序が割り当てられた複数のデータパケットを転送先の装置から送信される応答信号を受信する毎に順次転送するコンピュータを、
前記複数のデータパケットの最初の転送または転送再開時に、前記複数のデータパケットのうち転送順序に従った所定数のデータパケットを一度に転送する第１の転送手段、
前記第１の転送手段によって転送された前記所定数のデータパケットの次以降に転送される転送順序のデータパケットを、前記所定数のデータパケットの数よりも少ない数のデータパケット単位で順次転送する第２の転送手段、
この第１の転送手段によって一度に転送された前記所定数のデータパケットの一つに対応する応答信号を受信する受信手段、
この受信手段によって応答信号を受信すると、この応答信号の内容に応じて、前記第１の転送手段及び前記第２の転送手段によって転送されるデータパケットの転送を制御する制御手段、
として機能させるデータパケット転送プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、転送先からの応答を受信する毎に順次データパケットを転送するデータパケット転送装置、データパケット転送方法、及び、データパケット転送プログラムに関する。
【背景技術】
【０００２】
従来、例えばパーソナルコンピュータ（以下、「ＰＣ」という。）とその周辺機器（プリンタ、スキャナ等の電子機器）や携帯電話機及びＰＤＡ等の携帯通信機器等を接続してデータ転送を行うデータ転送手段として各種のインターフェースが開発され、又データ転送に関する各種の発明が行われている。近年では、情報技術の発達により、転送するデータの容量も膨大になり、より高速なデータ通信を可能とする発明が行われている。例えば特許文献１には、ホスト〜クライアント間でのデータ転送を高速化する発明が開示されている。
【０００３】
データ転送プロトコルの１つであるＸＭＯＤＥＭ通信形式は、信頼性の高いデータ転送手順であるため従来から広く利用されている。
ＸＭＯＤＥＭのデータ転送手順について図４を用いて説明する。ＸＭＯＤＥＭは送信するべきデータを、最小単位であるブロックデータに分割し、このブロックデータを所定ｂｙｔｅにまとめ単位長当たりのデータを生成する。この単位長当たりのデータに各種通信キャラクタを付与してデータパケットを生成し、パケット毎にデータ転送を行う。各パケットのヘッダ部分には、データアドレスが付与されており、データ受信機側では、分割して転送されるデータパケットをデータアドレスに基づいて再構築し、元データの再現を行う。
【０００４】
図４において、先ず、データ転送装置であるＰＣ側から１つめのデータパケットであるｎパケットをデータ受信機である端末側（周辺機器）に送信する（ステップＳ５０１）。
端末側は、ｎパケットの受信処理を行い（ステップＳ６０１）、データパケットを正常に受信したと判断する場合に、肯定応答を示すＡＣＫ（Acknowledge）をＰＣに応答返信する（ステップＳ６０２）。なお、データパケットを正常に受信できない場合は、否定応答を示すＮＡＫ（Negative Acknowledge）をＰＣに応答返信する。
ＰＣ側は、ｎパケットの肯定応答であるＡＣＫ（ｎ）を受信すると（ステップＳ５０２）、先に送信したデータパケットが正常に受信されたことを認識し、２つめのデータパケットであるｎ+１パケットを端末側に送信する。逆に、ＮＡＫを受信したり所定時間が過ぎても応答信号を受信しない場合（タイムアウト）は、１つ目のデータパケットを再送し、その後の応答信号の受信に備えて待機状態となる。
【０００５】
端末側は、ｎ+１の受信処理を行い（ステップＳ６０３）、その後ＡＣＫ（ｎ+１）を返信する（ステップＳ６０４）。
ＰＣ側は、ｎ+１パケットに対するＡＣＫ（ｎ＋１）を受信すると（ステップＳ５０４）、３つ目のデータパケットであるｎ+２パケットを送信し（ステップＳ５０５）、その後ｎ+1の受信処理及びＡＣＫ（ｎ+２）の返信（ステップＳ６０５及びＳ６０６）を経て、ＡＣＫ（ｎ+２）を受信すると（ステップＳ５０６）、ｎ+４を送信する。この様に、１つのデータパケット毎に送信と受信状態を示す応答信号とやり取りすることにより安定的なデータ転送を行うようになっている。  
【特許文献１】特開２００２‐３４４５３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記のＸＭＯＤＥＭ通信形式では、送信側からデータパケットを受信側に送信するとき、及び、受信側から送信側に応答信号を返信するときの両方で、データパケットへの分割、もしくは結合・復元処理にかかる負担、すなわちオーバーヘッドが生じ、このオーバーヘッドが終了しない限り応答信号が送信されないので、次のデータパケットの送信というステップを踏めないという問題がある。特に、転送するデータが大容量である場合は、このようなオーバーヘッドに要する時間は膨大であり、データの転送時間が長くなるという問題がある。
【０００７】
本発明は上述の課題を解決するためになされたものであり、その目的とするところは、データパケットへの分割、もしくは結合・復元処理にかかる負担を考慮した転送を行うことを目的とする。      
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に記載の発明は、転送順序が割り当てられた複数のデータパケットを転送先の装置から送信される応答信号を受信する毎に順次転送する転送装置において、前記複数のデータパケットの最初の転送または転送再開時に、前記複数のデータパケットのうち転送順序に従った所定数のデータパケットを一度に転送する第１の転送手段と、前記第１の転送手段によって転送された前記所定数のデータパケットの次以降に転送される転送順序のデータパケットを、前記所定数のデータパケットの数よりも少ない数のデータパケット単位で順次転送する第２の転送手段と、この第１の転送手段によって一度に転送された前記所定数のデータパケットの一つに対応する応答信号を受信する受信手段と、この受信手段によって応答信号を受信すると、この応答信号の内容に応じて、前記第１の転送手段及び前記第２の転送手段によって転送されるデータパケットの転送を制御する制御手段とを備えることを特徴とする。
【０００９】
請求項２に記載の発明は、請求項１に記載の発明において、前記制御手段は、前記第１の転送手段によって前記一度に転送された前記所定数のデータパケットの少なくとも一つに対応する応答信号を受信する前に、前記一度に転送された前記所定数のデータパケットの次に転送される転送順序のデータパケットを送信するよう前記第２の転送手段によって転送されるデータパケットの転送を制御することを特徴とする。
請求項３に記載の発明は、請求項１に記載の発明において、前記応答信号の内容とは、転送されたデータパケットが正常に受信されたことを示すものであり、前記制御手段は、前記受信手段が前記第１の転送手段によって前記一度に転送された前記所定数のデータパケットの一つについて正常に受信されたことを受信すると、前記所定数のデータパケットの次に転送順序が割り当てられたデータパケットを転送するよう前記第２の転送手段によって転送されるデータパケットの転送を制御することを特徴とする。
【００１０】
請求項４に記載の発明は、請求項１に記載の発明において、前記応答信号の内容とは、転送されたデータパケットが正常に受信されなかったことを示すものであり、前記制御手段は、前記受信手段が前記第１の転送手段によって前記一度に転送された前記所定数のデータパケットの一つについて正常に受信されなかったことを受信すると、前記第１の転送手段によって一度に転送された前記所定数のデータパケットに対応する残りの応答信号が受信されるまで前記第２の転送手段によるデータパケットの転送を停止するとともに、前記受信手段が前記第１の転送手段によって前記一度に転送された前記所定数のデータパケットに対応する残りの応答信号を受信すると、前記転送された前記所定数のデータパケットを再転送するよう前記第１の転送手段に戻って、前記複数のデータパケットの転送を制御することを特徴とする。
【００１１】
請求項５に記載の発明は、転送順序が割り当てられた複数のデータパケットを転送先の装置から送信される応答信号を受信する毎に順次転送するデータパケット転送方法であって、前記複数のデータパケットの最初の転送または転送再開時に、前記複数のデータパケットのうち転送順序に従った所定数のデータパケットを一度に転送する第１の転送ステップと、前記第１の転送ステップによって転送された前記所定数のデータパケットの次以降に転送される転送順序のデータパケットを、前記所定数のデータパケットの数よりも少ない数のデータパケット単位で順次転送する第２の転送ステップと、この第１の転送ステップにて一度に転送された前記所定数のデータパケットの一つに対応する応答信号を受信する受信ステップと、この受信ステップにて応答信号を受信すると、この応答信号の内容に応じて、前記第１の転送ステップ及び前記第２の転送ステップによって転送されるデータパケットの転送を制御する制御ステップとからなることを特徴とする。
【００１２】
請求項６に記載の発明は、転送順序が割り当てられた複数のデータパケットを転送先の装置から送信される応答信号を受信する毎に順次転送するコンピュータを、前記複数のデータパケットの最初の転送または転送再開時に、前記複数のデータパケットのうち転送順序に従った所定数のデータパケットを一度に転送する第１の転送手段、前記第１の転送手段によって転送された前記所定数のデータパケットの次以降に転送される転送順序のデータパケットを、前記所定数のデータパケットの数よりも少ない数のデータパケット単位で順次転送する第２の転送手段、この第１の転送手段によって一度に転送された前記所定数のデータパケットの一つに対応する応答信号を受信する受信手段、この受信手段によって応答信号を受信すると、この応答信号の内容に応じて、前記第１の転送手段及び前記第２の転送手段によって転送されるデータパケットの転送を制御する制御手段として機能させることを特徴とする。
【発明の効果】
【００１３】
請求項１、５及び６に記載の発明によれば、
データパケットへの分割、もしくは結合・復元処理にかかる負担を考慮した転送を行うことができる。
【発明を実施するための最良の形態】
【００１６】
次に、図を用いて本発明を実施するための最良の形態について説明する。
図１に、本発明を適用したデータ転送システム１の概要構成を示す。データ転送システム１はＰＣ２及び端末１２が伝送路２０により接続されて構成される。ＰＣ２は、データ転送装置として適用されるものであり、民生用のワークステーションを適用することもできる。
ＰＣ２には、制御部３、記憶部４、ＸＭＯＤＥＭ通信部５及び入出力バッファ６が設けられる。制御部３はＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）等から構成され、プログラムに従いＰＣ２の全体制御を行うものである。また、ＰＣ２〜端末１２間で行われるデータ転送を行う際にデータ転送の制御を行う。なお、制御部３とは独立してデータ転送制御ＩＣを設ける構成とすることもできる。
記憶部４は、ハードディスク等から構成され、ＰＣ２で使用するオペレーションプログラム、各種のアプリケーションプログラム及び端末１２に転送する各種のデータ等を記憶する。ＸＭＯＤＥＭ通信部５は、端末１２に転送するデータの供給を受け、所定のデータサイズ（例えば、１２８バイト）に分割してデータパケットを生成する。その後、ＸＭＯＤＥＭ通信部5は、生成したデータパケットを入出力バッファ６に送信し伝送路２０を介して端末１２にデータを出力する。具体的なデータパケットの転送手順については後述する。
入出力バッファ６は、ＰＣ２〜端末１２間のデータ処理速度の効率化を図るために、転送データを一時的に記憶し、ＰＣ２及び端末１２のデータ処理速度に合わせて適宜データの入出力を行うものである。
【００１７】
端末１２は、データ受信機として適用されるものであり、携帯電話機、ＰＨＳ（Personal Handyphone System）、ＰＤＡ（Personal Digital Assistance）、デジタルカメラ、ポータブルミュージックプレーヤ、ゲーム機等の携帯端末機やプリンタ、スキャナ及び外部からのデータ入力手段（外部端子）を備える電子機器等を適用することができる。
端末１２は、入出力バッファ１６、ＸＭＯＤＥＭ通信部１５、記憶部１４及び端末用制御部１３が設けられる。
入出力バッファ１６は、入出力バッファ６と同様に、伝送路２０と接続され、ＰＣ２及び端末１２のデータ処理速度に合わせて適宜データの入出力を行うものである。
ＸＭＯＤＥＭ通信部１５は、入出力バッファ１６からデータの供給を受け、ノイズ等によりデータが損傷しているか否か即ちデータが正常に受信されたか否かを検出する。正常に受信されている場合は肯定応答としてＡＣＫを、正常に受信されていない場合は否定応答としてＮＡＫをＰＣ２に送信する。
端末用制御部１３は、端末１２及びＸＭＯＤＥＭ通信部１５の制御を行うものである。受信したデータパケットの受信処理及びこのデータパケットの受信状態を示す応答返信（ＡＣＫ、ＮＡＫ等）の出力指示を行う。
記憶部１４は、ハードディスク、ＥＰＲＯＭ（Erasable Programmable ROM）、ＥＥＰＲＯＭ（Electrical Erasable Programmable ROM）、フラッシュメモリ等の随時読み書き可能な不揮発メモリから構成される記憶媒体である。ＸＭＯＤＥＭ通信部１５から送信されたデータを記憶し、端末１２の仕様にあわせてデータの読出し及び書き込みが行われる。
【００１８】
伝送路２０は、ＰＣ２〜端末１２間の信号伝送を行う通信ケーブルである。本実施の形態では、ＵＳＢやＩＥＥＥ１３９４等のシリアルインターフェースを適用する。
【００１９】
次に、ＰＣ２〜端末１２間のデータ転送手順を示す。データ転送手順は、ＰＣ２からのデータパケットの送信に対しＡＣＫを応答返信する場合（通常転送処理）と、ＮＡＫを応答返信する場合（再転送処理）とに分けて説明する。
【００２０】
〔通常転送処理〕
図２に、ＰＣ２〜端末１２間で行われる通常転送処理の流れを模式的に示す。なお、以下の説明において、送信されるデータパケットの送信順序はｎを基調として示すものとし、１つ目に送信されるデータパケットをｎ、２つ目に送信されるデータパケットをｎ+１、３つ目に送信されるデータパケットをｎ+２と表す。また、これに従い端末１２から送信される応答返信であるＡＣＫ等も、データパケットｎに対するＡＣＫをＡＣＫ（ｎ）、データパケットｎ+１に対するＡＣＫをＡＣＫ（ｎ+１）として説明するものとする。
また、制御部３はＸＭＯＤＥＭ通信部５及び１６を通じて、既にデータリンクを確立しているものとする。
【００２１】
先ず、制御部３は転送するデータをＸＭＯＤＥＭ通信部５に送信する。ＸＭＯＤＥＭ通信部５は、制御部３から送信される指示信号に基づいて転送するデータを所定のデータサイズ（例えば、１２８バイト）に分割し、このデータサイズ毎に分割されたデータ毎に伝送制御キャラクタを付加してデータパケットを生成する。
【００２２】
Ｔ０のタイミングにおいて、制御部３は指示信号を送信し、ＸＭＯＤＥＭ通信部５から所定数「ｉ（本実施の形態では２パケット）」のデータパケットを入出力バッファ６に送信する。即ち、１つ目のデータパケットであるｎパケットと２つ目のパケットデータであるｎ+１パケットのデータパケットとを入出力バッファ６に送信する（ステップＳ１０１）。
ｎパケット及びｎ+１パケットは伝送路２０を介して端末１２側の入出力バッファ１６に出力されＸＭＯＤＥＭ通信部１５に供給される。
【００２３】
ＸＭＯＤＥＭ通信部１５は、受信処理を行う（ステップＳ２０１）。受信処理とは、先ず、ｎパケットに含まれるｃｈｅｃｋｓｕｍを参照し、受信データを正常に受信したかの判断を行う。その後、データを正常に受信した旨を示す肯定応答であるＡＣＫ（ｎ）を入出力バッファ１６に送信する（ステップＳ２０２）。
【００２４】
Ｔ１において、入出力バッファ１６から入出力バッファ６にＡＣＫ（ｎ）を出力し、ＸＭＯＤＥＭ通信部５に応答返信が行われる。
更に、このＴ１のオーバーヘッド時間に、ＸＭＯＤＥＭ通信部１５はｎ+１パケットの受信処理を行う（ステップＳ２０３）。その後、ＡＣＫ（ｎ＋１）を入出力バッファ１６に送信する（ステップＳ２０４）。
【００２５】
Ｔ２において、ＸＭＯＤＥＭ通信部５は、ＡＣＫ（ｎ）を受信する（ステップＳ１０２）。このＡＣＫ（ｎ）の受信に基づいて、３つ目のデータパケットであるｎ+２パケットを入出力バッファ６に送信する（ステップＳ１０３）。より詳細には、ＡＣＫ（ｎ）の返信順であるｎに、データ転送処理の開始時に転送した所定数のデータパケットの数「ｉ＝（本実施の形態では）２」を加算することにより得られる値「ｎ+２」の転送順に割り当てられたデータパケットを抽出し入出力バッファ６に送信する。
ステップＳ１０３で入出力バッファ６に送信されたｎ+２パケットは、入出力バッファ１６に出力される。
その後、端末用制御部１３は、ＸＭＯＤＥＭ通信部１５にｎ+２パケットを送信し、受信処理を行う（ステップＳ２０５）。その後、ｎ+２パケットの応答信号であるＡＣＫ（ｎ+２）を入出力バッファ１６に送信する。
一方、ステップＳ１０３で入出力バッファ６に送信されたｎ+２パケットが入出力バッファ１６に出力されるオーバーヘッド時間と同時あるいは重複して、入出力バッファ１６から入出力バッファ６に、ｎ+１パケットの応答信号であるＡＣＫ（ｎ+１）が出力される。
【００２６】
Ｔ３において、制御部３は、入出力バッファ６からＸＭＯＤＥＭ通信部５にＡＣＫ（ｎ+１）を受信する（ステップＳ１０４）。このＡＣＫ（ｎ+１）の受信に基づいて、ｎ+３パケットを入出力バッファ６に送信する（即ち、（ｎ+１）+２＝（ｎ+３））（ステップＳ１０５）。
制御部３は、ステップＳ１０５で入出力バッファ６に送信したｎ+３パケットを入出力バッファ１６に出力する。次いで、端末用制御部１３は、ＸＭＯＤＥＭ通信部１５にｎ+３パケットを受信し、受信処理を行う（ステップＳ２０７）。その後、ｎ+３パケットの応答信号であるＡＣＫ（ｎ+３）を入出力バッファ１６に送信する（ステップＳ２０８）。
更に、このＴ３のステップＳ１０５〜ステップＳ２０７のオーバーヘッド時間と同時あるいは重複して、ステップＳ２０６で入出力バッファ１６に送信されたｎ+２パケットの応答信号であるＡＣＫ（ｎ+２）が入出力バッファ６に出力される。
【００２７】
Ｔ４において、制御部３は、入出力バッファ６からＸＭＯＤＥＭ通信部５にＡＣＫ（ｎ+２）を受信する（ステップＳ１０６）。このＡＣＫ（ｎ+２）の受信に基づいて、ｎ最終パケットを入出力バッファ６に送信する（ステップＳ１０７）。
制御部３は、ステップＳ１０７で入出力バッファ６に送信したｎ最終パケットを入出力バッファ１６に出力する。次いで、端末用制御部１３はＸＭＯＤＥＭ通信部１５にｎ最終パケットを送信し、受信処理を行う（ステップＳ２０９）。その後、ｎ最終パケットの応答信号であるＡＣＫ（ｎ最終）を入出力バッファ１６に出力する（ステップＳ２０９）。
更に、このＴ４のタイミングにおいて、入出力バッファ６に送信したｎ最終パケットが入出力バッファ１６に出力されるオーバーヘッド時間と同時あるいは重複して、入出力バッファ１６から入出力バッファ６に、ＡＣＫ（ｎ+３）を出力する。
【００２８】
Ｔ５において、制御部３は、ＡＣＫ（ｎ+３）を受信する（ステップＳ１０８）。
端末用制御部１３は、ステップＳ２１０で入出力バッファ１６に送信したＡＣＫ（ｎ最終）を入出力バッファ６に送信する。
その後、Ｔ６において、制御部３は、ＡＣＫ（ｎ最終）を入出力バッファ６からＸＭＯＤＥＭ通信部５に受信し（ステップＳ１０９）、通常転送処理を終了する。
【００２９】
このように、Ｔ２のタイミング以降は、データパケットを出力するオーバーヘッド時間と、応答返信（ＡＣＫ）を出力するオーバーヘッド時間とが同一タイミング内で送受信することができる。従って、従来応答返信（ＡＣＫ）を受信するまで要していた待機時間を著しく短縮し、データ転送の高速化を図ることができる。更に、送出するデータパケットの２つ前の応答返信（ＡＣＫ）に基づいて順次データパケットを送出するため、個々のデータパケットの送受信に対する信頼性を損なうことなくデータ転送を行うことができる。
【００３０】
次に、受信したデータパケットに対し、ＸＭＯＤＥＭ通信部１５で正確にデータを受信しない場合、即ち応答返信としてＮＡＫを返信する場合の処理（再転送処理）について説明する。図３に、ＰＣ２〜端末１２間の再転送処理の流れを示す。なお、図３は、データパケットを正常に送受信している途中の状態を示している。また、各データパケットはｎを基調とし、ｎ+１パケットはｎパケットの次のデータパケットを示し、ｎ‐１パケットはｎパケットの１つ前のデータパケットを示す。
【００３１】
Ｔ１０において、ＸＭＯＤＥＭ通信部５は、ｎ‐２パケットの応答返信であるＡＣＫ（ｎ‐２）を受信する（ステップＳ３０１）。このＡＣＫ（ｎ‐２）の受信に基づいて、ｎパケットを入出力バッファに送信する（ステップＳ３０２）。
その後、ｎパケットは、入出力バッファ６から入出力バッファ１６に出力される。
その後、端末用制御部１３は、入出力バッファ１６に出力されたｎパケットをＸＭＯＤＥＭ通信部１５に受信し、受信処理を行う（ステップＳ４０１）。このステップＳ４０１の受信処理でデータが正常に受信されていないことを検出すると、ＸＭＯＤＥＭ通信部１５はＮＡＫを入出力バッファ１６に送信する（ステップＳ４０２）。
【００３２】
Ｔ１１において、制御部３はＸＭＯＤＥＭ通信部５にＡＣＫ（ｎ‐１）を受信する（ステップＳ３０３）。このＡＣＫ（ｎ‐１）の受信に基づいて、制御部３はｎ＋１パケットをＸＭＯＤＥＭ通信部５から入出力バッファ６に送信する（ステップＳ３０４）。
その後、ｎ+１パケットは、入出力バッファ６から入出力バッファ１６に出力される。
端末用制御部１３は、入出力バッファ１６からＸＭＯＤＥＭ通信部１５にｎ＋１パケットを受信すると、従前の応答返信処理（ステップ：Ｓ４０２）が否定応答を送信しているため、ＮＡＫ（ｎ+１）を入出力バッファ１６に送信する（ステップＳ４０３）。
【００３３】
Ｔ１２において、制御部３は、入出力バッファ６からＸＭＯＤＥＭ通信部５にＮＡＫ（ｎ）を受信する（ステップＳ３０５）。ＸＭＯＤＥＭ通信部５は、ＮＡＫを受信する場合には、データパケットの送信を行わずに、次のデータパケット（つまり、ｎ+１パケット）のＮＡＫ（ＮＡＫ（ｎ+１））を受信するまでデータパケットの送信を一時停止する（ステップ：Ｓ３０６）。
【００３４】
Ｔ１３において、ＸＭＯＤＥＭ通信部５がＮＡＫ（ｎ+１）を受信すると（ステップ：Ｓ３０７）、先にＮＡＫが返信されたｎパケットと次にＮＡＫが返信されたｎ＋１パケットとの２つのデータパケットを入出力バッファ６に送信する（ステップ：Ｓ３０８）。より詳細には、所定数「ｉ（本実施例では２パケット）」に基づいて、最初にＮＡＫを返信されたｎパケット及びｎ+１パケットという２つのデータパケットを入出力バッファ６に送信する（ステップＳ３０８）。
その後、ｎパケット及びｎ＋１パケットは入出力バッファ１６に出力される。
端末用制御部１３は入出力バッファ１６からＸＭＯＤＥＭ通信部にｎパケットを受信し、再受信処理を行う（ステップＳ４０４）。その後、ＡＣＫ（ｎ＋１）を入出力バッファ１６に送信する（ステップ：Ｓ４０５）。
【００３５】
Ｔ１４において、端末用制御部１３は、ＸＭＯＤＥＭ通信部１５でｎ＋１パケットの受信処理を行い（ステップ：Ｓ４０６）、ＡＣＫ（ｎ+１）を入出力バッファ１６に送信する（ステップ：Ｓ４０７）。
【００３６】
Ｔ１５からは、通常転送処理の状態に復帰する。即ち、ＸＭＯＤＥＭ通信部５がＡＣＫ（ｎ）を受信し（ステップ：Ｓ３０９）、ｎ+２パケットを入出力バッファ６に送信する（ステップ：Ｓ３１０）。
その後、ｎ+２パケットが入出力バッファ１６に出力され、端末用制御部１３がＸＭＯＤＥＭ通信部１５でｎ+２パケットの受信処理を行い（ステップ：Ｓ４０８）、ＡＣＫ（ｎ+２）を入出力バッファ１６に送信する（ステップ：Ｓ４０９）。
ｎ+２パケットのオーバーヘッド時間及びＸＭＯＤＥＭ通信部１５のＳ４０８及びＳ４０９における各種処理の時間のバックグラウンドでＡＣＫ（ｎ+１）のオーバーヘッドが行われる。
【００３７】
このように、ＰＣ側が応答返信としてＮＡＫを受信する場合には、新たにデータパケットを送信せずに次のＮＡＫを受信待機し、その後次のＮＡＫを受信したときに、所定数「ｉ（本実施の形態では２パケット）に基づいて、先に受信したＮＡＫに対応するデータパケット及び次のデータパケットを再送信することで、通常転送処理に復帰することができる。従って、各データパケット転送の信頼性を損なうことなく従来に比して著しく高速なデータ転送を実現することができる。
【００３８】
以上、本発明を適用したデータ転送システムによれば、送信するデータパケットのオーバーヘッド時間及びこのデータパケットの端末側での処理時間を利用して、１つ前に送信したデータパケットの応答返信（ＡＣＫ等）に要するオーバーヘッドが同時並行的に行われる。従って、従来送信側〜受信側間のオーバーヘッド時間は、ＰＣ２側から端末１２側あるいは端末１２側からＰＣ２側の何れか一方にのみ要されていたが、同一タイミング内に両方向の通信を行うことで全体としてのデータ転送時間を著しく短縮することができ、データパケットの転送がより高速になるという効果がある。
更に、データパケットの送信のタイミングは、２つ前に送信した応答返信（ＡＣＫ又はＮＡＫ）に基づいて行われるため、各データパケット転送の信頼性を損なうことがないという効果がある。
【００３９】
以上本発明を適用したデータ転送システムについて説明したが、本発明は上記種々の例に限定されるものではない。特に、２つ前の応答返信に基づいて新たなデータパケットを送信する構成としているが、送信側及び受信側の処理能力に合わせて更に前の応答返信（例えば、３つ前あるいは４つ前の応答返信）に基づいて新たなデータパケットを送信する構成としても、本発明の効果を十分に発揮することができる。
【図面の簡単な説明】
【００４０】
【図１】本発明を実施するための最良の形態における、データ転送システムの構成例を示したブロック図である。
【図２】図１に示したデータ転送システムの通常転送処理におけるデータパケットの流れ及び送信側（ＰＣ）と受信側（端末）との処理手順の例を示したフロー図である。
【図３】図１に示したデータ転送システムの再転送処理におけるデータパケットの流れ及び送信側（ＰＣ）と受信側（端末）との処理手順の例を示したフロー図である。
【図４】従来例であるＸＭＯＤＥＭ通信形式のデータパケットの流れを示したフロー図である。
【符号の説明】
【００４１】
１  データ転送システム
２  ＰＣ
３  制御部
４、１４  記憶部
５、１５  ＸＭＯＤＥＭ通信部
６、１６  入出力バッファ
１２  端末
１３  端末用制御部
２０  伝送路
【図１】
0004624252.tif 000002
【図２】
0004624252.tif 000003
【図３】
0004624252.tif 000004
【図４】
0004624252.tif 000005