(57)【要約】【課題】送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、前記受信機において、１段のみのシーケンス番号の管理を用いて、パケットロスを高速に検出する。【解決手段】本発明の通信装置は、順序確認を行うまでパケットを蓄積する、網ごとに複数設置された順序バッファと、前記順序バッファのすべてに１つ以上のパケットが蓄積された場合に欠落が発生したと判定する欠落検出部を備える。このような構成を採用し、前記欠落検出部において、パケットロスが発生した場合はすべての網の順序バッファにパケットが格納される特性に着目し、網毎に設置した順序保証バッファへのパケット滞留状態を監視する。【選択図】図１
2010074855.tif 000002
【特許請求の範囲】
【請求項１】
送信機と受信機が、網内でのパケット順序逆転が発生しない複数の網で接続されている場合において、
順序確認を行うまでパケットを蓄積する、網ごとに複数設置された順序バッファと、
パケットに付加されたシーケンス番号を確認し、フローの順序を復元しながら前記順序バッファよりパケットを取り出す取出制御部と、
再送により送付されたパケットを蓄積する追越バッファと、
シーケンス番号により前記順序バッファと前記追越バッファへ格納先を振り分ける再送格納制御部
を備えることを特徴とする通信装置。
【請求項２】
前記通信装置は、
欠落を検出した際に再送要求を行うＡＣＫ送信部
を備えることを特徴とする、請求項１に記載の通信装置。
【請求項３】
送信機と受信機が、網内でのパケット順序逆転が発生しない複数の網で接続されている場合において、
前記受信機が、
順序確認を行うまでパケットを蓄積する、網ごとに複数設置された順序バッファと、
パケットに付加されたシーケンス番号を確認し、フローの順序を復元しながら前記順序バッファよりパケットを取り出す取出制御部と、
再送により送付されたパケットを蓄積する追越バッファと、
シーケンス番号により前記順序バッファと前記追越バッファへ格納先を振り分ける再送格納制御部
を備えることを特徴とする通信システム。
【請求項４】
前記受信機は、
欠落を検出した際に再送要求を行うＡＣＫ送信部
を備えることを特徴とする、請求項３に記載の通信システム。
【請求項５】
送信機と受信機が、網内でのパケット順序逆転が発生しない複数の網で接続されている場合において、
前記受信機が、
順序バッファにおいて順序確認を行うまでパケットを蓄積し、
パケットに付加されたシーケンス番号を確認し、フローの順序を復元しながら前記順序バッファよりパケットを取り出し、
追越バッファに再送により送付されたパケットを蓄積し、
シーケンス番号により前記順序バッファと前記追越バッファへ格納先を振り分ける
ことを特徴とする通信方法。
【請求項６】
前記受信機は、
欠落を検出した際に再送要求を行う
ことを特徴とする、請求項５に記載の通信方法。
【請求項７】
送信機と受信機が、網内でのパケット順序逆転が発生しない複数の網で接続されている場合において、
前記受信機が、
順序バッファにおいて順序確認を行うまでパケットを蓄積し、
パケットに付加されたシーケンス番号を確認し、フローの順序を復元しながら前記順序バッファよりパケットを取り出し、
追越バッファに再送により送付されたパケットを蓄積し、
シーケンス番号により前記順序バッファと前記追越バッファへ格納先を振り分ける
ことを特徴とする通信方法をコンピュータに行わせるためのプログラム。
【請求項８】
前記受信機は、
欠落を検出した際に再送要求を行う
ことを特徴とする、請求項７に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数経路にデータを分散させて帯域拡大を図る通信技術に関し、特に、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、１系統のみのシーケンス番号を用いて、パケットロス（欠落）を高速に検出するための通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラムに関する。
【背景技術】
【０００２】
従来、送信端末と受信端末の間の通信で用いられる１つの通信フローのデータを複数のフローに分岐させ、元のフローを復元する通信方法がある。このような通信方法として、例えば送信端末が属する第１のＬＡＮ(Local Area Network)と受信端末が属する第２のＬＡＮに、それぞれゲートウェイを設置し、送信端末から送出されたＴＣＰ(Transmission Control Protocol)コネクションのデータを、第１のＬＡＮのゲートウェイにおいてパケット単位でそれぞれの通信経路に振り分け、第２のＬＡＮのゲートウェイでは複数の通信経路から受信したパケットの順序逆転をＴＣＰのシーケンス番号に従って補正してデータを復元する方法が提案されている（たとえば、特許文献１参照。）。
【０００３】
また、従来、複数の通信回線を効率的に利用し、回線利用率を向上させる方法として、端末のＴＣＰに機能を追加して、従来では１本のＴＣＰコネクションを用いていた通信を複数のＴＣＰコネクションを利用するように変更する方法がある（例えば、特許文献２参照）。この方法では、送信端末と受信端末間の通信で１つの通信フローで行われていた通信を、複数の通信フローに分割して並列的に送る。送信端末から受信端末へとデータを送信する場合、送信端末の通信プロトコルは、１つの通信フローのデータを分割して複数の通信フローに振り分け、分割した複数の通信フローを元の１つの通信フローに復元するための復元情報として新たなヘッダをＴＣＰ／ＩＰパケットに付加して（つまり２系統のシーケンス番号を用いて）、複数の通信フローでデータを送信する。受信端末の通信プロトコルは、複数の通信フローから受信したデータの復元情報を参照し、１つの通信フローを復元する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２６１４７８号公報
【特許文献２】特開２００３−１１０６０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
第１の課題として、パケットロスの検出が遅いという問題があった。
【０００６】
従来技術１の通信方法では、端末のＴＣＰが１つの通信経路で使用されることを前提として、シーケンス（順序）異常により欠落判定を行うように設計されているため、複数の通信経路を用いて通信を行うと、通信経路の遅延時間の差により順序逆転が発生した場合に、パケット欠落（パケットロス、パケット廃棄も同義）が発生したと誤検出してしまう。つまり、パケット廃棄か順序逆転かを見極められない。この問題に対処するために、シーケンス（順序）異常による欠落判定を行わないようにすると、再送タイムアウトを用いた欠落判定しかできなくなるため、パケットロスの検出が遅くなるという問題があった。
【０００７】
ＴＣＰはパケットロスの検出を再送の契機としているため、パケットロスの検出が遅くなると、再送の開始も遅くなり、結果としてスループットが低下し、通信経路の性能を充分に発揮することができない。
【０００８】
第２の課題として、コスト増を招くという問題があった。
【０００９】
従来技術２の通信方法では、２段のヘッダを設け、２系統のシーケンス番号を用いる必要があり、２系統のシーケンス番号用いると、転送処理ならびに管理機構などが複雑化し、コスト増を招くという問題があった。
【００１０】
本発明の目的は、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、１系統のみのシーケンス番号を用いて、パケットロスを高速に検出する（つまり、１系統のみのシーケンス番号を用いて、パケット廃棄か順序逆転かを高速に見極められるようにする）ための通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の第１の観点によれば、送信機と受信機が、網内でのパケット順序逆転が発生しない複数の網で接続されている場合において、順序確認を行うまでパケットを蓄積する、網ごとに複数設置された順序バッファと、パケットに付加されたシーケンス番号を確認し、フローの順序を復元しながら前記順序バッファよりパケットを取り出す取出制御部と、再送により送付されたパケットを蓄積する追越バッファと、シーケンス番号により前記順序バッファと前記追越バッファへ格納先を振り分ける再送格納制御部を備えることを特徴とする通信装置が提供される。
【００１２】
本発明の第２の観点によれば、送信機と受信機が、網内でのパケット順序逆転が発生しない複数の網で接続されている場合において、前記受信機が、順序確認を行うまでパケットを蓄積する、網ごとに複数設置された順序バッファと、パケットに付加されたシーケンス番号を確認し、フローの順序を復元しながら前記順序バッファよりパケットを取り出す取出制御部と、再送により送付されたパケットを蓄積する追越バッファと、シーケンス番号により前記順序バッファと前記追越バッファへ格納先を振り分ける再送格納制御部を備えることを特徴とする通信システムが提供される。
【００１３】
本発明の第３の観点によれば、送信機と受信機が、網内でのパケット順序逆転が発生しない複数の網で接続されている場合において、前記受信機が、順序バッファにおいて順序確認を行うまでパケットを蓄積し、パケットに付加されたシーケンス番号を確認し、フローの順序を復元しながら前記順序バッファよりパケットを取り出し、追越バッファに再送により送付されたパケットを蓄積し、シーケンス番号により前記順序バッファと前記追越バッファへ格納先を振り分けることを特徴とする通信方法が提供される。
【００１４】
本発明の第４の観点によれば、送信機と受信機が、網内でのパケット順序逆転が発生しない複数の網で接続されている場合において、前記受信機が、順序バッファにおいて順序確認を行うまでパケットを蓄積し、パケットに付加されたシーケンス番号を確認し、フローの順序を復元しながら前記順序バッファよりパケットを取り出し、追越バッファに再送により送付されたパケットを蓄積し、シーケンス番号により前記順序バッファと前記追越バッファへ格納先を振り分けることを特徴とする通信方法をコンピュータに行わせるためのプログラムが提供される。
【発明の効果】
【００１５】
次に、本発明の効果について説明する。
【００１６】
第１の効果は、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、１段のみのシーケンス番号の管理を用いて、パケットロスを高速に検出することができる。
【００１７】
これは、前記受信機内の欠落検出部において、パケットロスが発生した場合はすべての網の順序バッファにパケットが格納される特性に着目し、網毎に設置した順序保証バッファへのパケット滞留状態を監視するからである。
【００１８】
また、これは、前記受信機内の格納制御部において、異常発生時は順序バッファからのパケット取出が行えず、バッファあふれが発生する特性に着目し、網毎に設置した順序バッファのあふれを監視するからである。
【００１９】
また、これは、前記受信機内の格納制御部において、異常発生時は順序バッファからのパケット取出が行えず、バッファあふれが発生する特性に着目し、網毎に設置した順序バッファのあふれを監視して障害検出する際に、前記受信機内の容量決定部において、順序バッファの大きさを網間の遅延差と帯域から必要最小限になるように設定するからである。
【００２０】
第２の効果は、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、１段のみのシーケンス番号の管理を用いて、パケットロス時の再送を高速に開始することができる。
【００２１】
これは、前記受信機内の欠落検出部において、パケットロスが発生した場合はすべての網の順序バッファにパケットが格納される特性に着目し、網毎に設置した順序保証バッファへのパケット滞留状態を監視することで、再送タイマによらない高速な欠落検出を行えるからである。
【００２２】
また、これは、前記受信機内の格納制御部において、異常発生時は順序バッファからのパケット取出が行えず、バッファあふれが発生する特性に着目し、網毎に設置した順序バッファのあふれを監視し、バッファあふれを再送開始の契機とするからである。
【００２３】
また、これは、前記受信機内の格納制御部において、異常発生時は順序バッファからのパケット取出が行えず、バッファあふれが発生する特性に着目し、網毎に設置した順序バッファのあふれを監視してバッファあふれを再送開始の契機とする際に、前記受信機内の容量決定部において、順序バッファの大きさを網間の遅延差と帯域から必要最小限になるように設定するからである。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】取出制御部２２における順序確認動作２２１を示す流れ図である。
【図３】取出制御部２２における欠落検出動作２２２を示す流れ図である。
【図４】欠落検出動作２２２の正常時の動作例を示すブロック図である。
【図５】欠落検出動作２２２の異常時の動作例を示すブロック図である。
【図６】本発明の第２の実施の形態の構成を示すブロック図である。
【図７】取出制御部２２Ａにおける順序確認動作２２１Ａを示す流れ図である。
【図８】取出制御部２２Ａにおける欠落検出動作２２２Ａを示す流れ図である。
【図９】取出制御部２２Ａにおけるパケット取出動作２２３を示す流れ図である。
【図１０】欠落検出動作２２２Ａの正常時の動作例を示すブロック図である。
【図１１】欠落検出動作２２２Ａの異常時の動作例を示すブロック図である。
【図１２】本発明の第３の実施の形態の構成を示すブロック図である。
【図１３】格納制御部２７１の動作を示す流れ図である。
【図１４】本発明の第４の実施の形態の構成を示すブロック図である。
【図１５】本発明の第５の実施の形態の構成を示すブロック図である。
【図１６】格納制御部２７１Ａの動作を示す流れ図である。
【発明を実施するための形態】
【００２５】
以下、図面を参照して本発明を実施するための形態について詳細に説明する。
【００２６】
以下の説明においては、１対の送信機と受信機との間の通信を、１フローと定義する。また、あるフローが流れる経路をパスと定義する。例えば、１フローを４つの網（ネットワーク）に分散させて通信する場合は、４パスを用いて通信すると言い、２つのフローを４つの網（ネットワーク）に分散させて通信する場合は、８つのパスを用いて通信するという。ただし以下の説明では、１つのフローに着目して説明を行うため、結果的に網とパスが同義になっている。
【００２７】
（第１の実施の形態）
（構成の説明）
図１を参照して、本実施の形態における構成について説明する。
【００２８】
送信機１は、データ送信部１１、ＳＥＱ付与部１２、再送バッファ１３、振り分け部１４、再送タイマ１５を備える。
【００２９】
データ送信部１１は、受信機２に対して送信するデータを生成し、ＳＥＱ付与部１２に渡す。一般的にはサーバアプリケーションなどが、データ送信部にあたる。
【００３０】
ＳＥＱ付与部１２は、データ送信部１２から受信機２に対して送信するデータを受け取り、前記データを網３１〜網３４で転送可能な大きさに分割し、分割した個々のデータ（以下パケットと呼ぶ）に対して転送に必要なヘッダや整序番号（シーケンスナンバーともいう、以下ＳＥＱと表記する）を設定し、再送バッファ１３に渡す。
【００３１】
再送バッファ１３は、ＦＩＦＯバッファであり、以下の動作をおこなう。
【００３２】
（１）ＳＥＱ付与部１２からＳＥＱつきのパケットを受け取り格納する。
【００３３】
（２）あらかじめ決められた速度や個数にしたがい、前記パケットの複製を振り分け部１４に送る。このとき、再送タイマ１５をセットする。
【００３４】
（３）ＡＣＫ送信部２３より送達確認（ＡＣＫ）を受け取り、ＡＣＫに記載された受信済シーケンスナンバー以下の値の格納パケットを消去する。このとき、再送タイマ１５を再セットする。
【００３５】
（４）（３）において、もしＡＣＫに記載されたシーケンスナンバーが、前回受信したＡＣＫに記載されたシーケンスナンバーと同一である場合は、再送要求（重複ＡＣＫ）であるとみなし、ＡＣＫに記載されたシーケンスナンバー以降のパケットを、（２）と同様あらかじめ決められた速度や個数にしたがい、前記パケットの複製を振り分け部１４に再送信する。
【００３６】
（５）再送タイマ１５の満了時に、前回受信したＡＣＫに記載されたシーケンスナンバー以降のパケットを、（２）と同様あらかじめ決められた速度や個数にしたがい、前記パケットの複製を振り分け部１４に再送信する。
【００３７】
振り分け部１４は、再送バッファ１３から到着したパケットを、ラウンドロビンにより網３１〜３４に順次振り分ける。
【００３８】
再送タイマ１５は、再送バッファ１３からセット要求を受信すると、あらかじめ設定された時間が経過した際に、再送バッファ１３に対してタイマ満了通知を行う。
【００３９】
受信機２は、順序バッファ２１１〜２１４、欠落検出部２０、取出制御部２２、ＡＣＫ送信部２３、出力バッファ２４、ＳＥＱ削除部２５、データ受信部２６を備える。
【００４０】
順序バッファ２１１は、ＦＩＦＯバッファであり、網３１からパケットを受信して一旦格納し、取出制御部２２に格納完了通知を行う。また取出制御部２２からの指示に従い、出力バッファ２４に格納したパケットを転送する。
【００４１】
順序バッファ２１１は、網３１より到着したパケットのシーケンスナンバーと、前回に網３１より到着したパケットのシーケンスナンバーを比較して、今回到着したパケットのＳＥＱが、前回到着したパケットのＳＥＱより小さいか、もしくは同じである場合は、再送が発生したとみなして、格納済パケットをすべて廃棄する。
【００４２】
順序バッファ２１２は、ＦＩＦＯバッファであり、網３２からパケットを受信して一旦格納し、取出制御部２２に格納完了通知を行う。また取出制御部２２からの指示に従い、出力バッファ２４に格納したパケットを転送する。
【００４３】
順序バッファ２１２は、網３２より到着したパケットのシーケンスナンバーと、前回に網３２より到着したパケットのシーケンスナンバーを比較して、今回到着したパケットのＳＥＱが、前回到着したパケットのＳＥＱより小さいか、もしくは同じである場合は、再送が発生したとみなして、格納済パケットをすべて廃棄する。
【００４４】
順序バッファ２１３は、ＦＩＦＯバッファであり、網３３からパケットを受信して一旦格納し、取出制御部２２に格納完了通知を行う。また取出制御部２２からの指示に従い、出力バッファ２４に格納したパケットを転送する。
【００４５】
順序バッファ２１３は、網３３より到着したパケットのシーケンスナンバーと、前回に網３３より到着したパケットのシーケンスナンバーを比較して、今回到着したパケットのＳＥＱが、前回到着したパケットのＳＥＱより小さいか、もしくは同じである場合は、再送が発生したとみなして、格納済パケットをすべて廃棄する。
【００４６】
順序バッファ２１４は、ＦＩＦＯバッファであり、網３４からパケットを受信して一旦格納し、取出制御部２２に格納完了通知を行う。また取出制御部２２からの指示に従い、出力バッファ２４に格納したパケットを転送する。
【００４７】
順序バッファ２１４は、網３４より到着したパケットのシーケンスナンバーと、前回に網３４より到着したパケットのシーケンスナンバーを比較して、今回到着したパケットのＳＥＱが、前回到着したパケットのＳＥＱより小さいか、もしくは同じである場合は、再送が発生したとみなして、格納済パケットをすべて廃棄する。
【００４８】
欠落検出部２０は、取出制御部２２からパケット取出完了の通知を受けると、パケットロスの有無を確認する。もしパケットロスを発見した場合は、ＡＣＫ送信部２３に対して再送要求を行う。
【００４９】
取出制御部２２は、順序バッファ２１１〜２１４からの格納完了通知を受け、順序確認動作２２１を行い、ＳＥＱの順番に従い、出力バッファ２４へパケットを転送する。このとき、ＡＣＫ送信部２３に対して、出力バッファ２４に転送したパケットのＳＥＱを通知する。
【００５０】
ＡＣＫ送信部２３は、以下の動作を行う。なお本願では出力バッファ２４へ１パケット転送が完了する毎に１パケットのＡＣＫを送信する１ＡＣＫ方式で説明を行うが、Ｎ（Ｎは１以上）個のパケット到着報告を１つのＡＣＫでまとめて行うＮ＿ＡＣＫ方式を用いても良い。
【００５１】
（１）取り出し制御部２２から出力バッファ２４に転送したパケットのＳＥＱ通知を受け、前記ＳＥＱを含む送達確認パケット（以下ＡＣＫと示す）を生成し、再送バッファ１３に通知する。このときＡＣＫは、網３１〜３４のいずれかを用いて通知する。また、通知を受けたＳＥＱを記憶しておく。
【００５２】
（２）欠落検出部２０から再送要求を受け、（１）で記憶したＳＥＱを含むＡＣＫを再度生成し、再送バッファ１３に通知する。このときＡＣＫは、網３１〜３４のいずれかを用いて通知する。（２）におけるＡＣＫは、再送バッファ１３において重複ＡＣＫ（再送要求）として扱われる。（２）のＡＣＫは複製の上、網３１〜３４の全部を用いて転送しても良いが、この場合は、再送バッファ１３において再送が頻発しないよう、再送バッファ１３において、ロック機構を設ける必要がある。
【００５３】
出力バッファ２４は、ＦＩＦＯバッファであり、順序バッファ２１１〜２１４よりパケットを受け取り格納する。そしてＳＥＱ削除部２５から要求があった際に、格納された順にＳＥＱ削除部２５に出力する。
【００５４】
ＳＥＱ削除部２５は、出力バッファ２４よりパケットを受け取り、ＳＥＱやヘッダを削除して、ＳＥＱ削除後のデータをデータ受信部２６に転送する。
【００５５】
データ受信部２６は、ＳＥＱ削除部２６よりデータを受信する。一般的にはクライアントアプリケーションとも呼ばれる。
【００５６】
網３１は、送信機１と受信機２の間を結ぶネットワークである。網３１はイーサネット（登録商標）など、網内でのパケットの順序逆転が発生しない網であるとする。図１において網３１は１本の線で表現されているが、実際には網内でのパケット順序逆転が発生しない限り、リンクの他に、スイッチ等が存在しても良い。また、網３１、３２、３３、３４はそれぞれ物理的、もしくはＶＬＡＮ等で論理的に遮断されており、互いに交わることがない。
【００５７】
網３２〜網３４は、網３１と同様のネットワークである。
【００５８】
（動作の説明）
図２の流れ図を参照して、取出制御部２２における順序確認動作２２１を説明する。
【００５９】
順序バッファ２１１〜２１４の何れかに１つのパケットが格納されると、取出制御部２２に格納完了通知が行われ、順序確認動作２２１が起動する（ステップ２２１０１）。
【００６０】
順序バッファ２１１の先頭（出力バッファ２４側）に格納されているパケットのＳＥＱを確認する（ステップ２２１０２）。
【００６１】
ステップ２２１０２において確認した順序バッファ２１１の先頭パケットのＳＥＱ（先頭ＳＥＱ）と、順序制御部２２が次に出力バッファ２４に送信しようとしているＳＥＱ（受信期待ＳＥＱ、以下期待ＳＥＱと記す）を比較する（ステップ２２１０３）。
【００６２】
ステップ２２１０３において先頭ＳＥＱと期待ＳＥＱが一致した場合には、順序バッファ２１１より前記パケットを取り出して、出力バッファ２４に送付する（ステップ２２１０４）。
【００６３】
ＡＣＫ送信部２３に対して、送達確認パケット（ＡＣＫ）の送信を要求する。このＡＣＫには期待ＳＥＱのＳＥＱが格納され、期待ＳＥＱまでの受信と整序が完了したことを送信機１に通知する（ステップ２２１０５）。
【００６４】
期待ＳＥＱをインクリメントする。つまり、期待ＳＥＱ＝期待ＳＥＱ＋１とする（ステップ２２１０６）。
【００６５】
ステップ２２１０７〜２２１１１は、順序バッファ２１２に関して、ステップ２２１０２〜２２１０６と同様の動作を行う。
【００６６】
ステップ２２１１２〜２２１１６は、順序バッファ２１３に関して、ステップ２２１０２〜２２１０６と同様の動作を行う。
【００６７】
ステップ２２１１７〜２２１２１は、順序バッファ２１４に関して、ステップ２２１０２〜２２１０６と同様の動作を行う。
【００６８】
ステップ２２１０２〜ステップ２２１２１の実行中に、順序バッファから取り出して出力バッファへ送付したパケットの数をカウントし、もし１以上である場合には（ステップ２２１２２でＹＥＳ）、再度ステップ２２１０２以降を実行する。もし順序バッファから取り出して出力バッファへ送付したパケットの数が０である場合、つまり出力バッファ２３に転送可能な（つまり整序可能な）パケットが、順序バッファ２１１〜２１４のいずれにも存在しない場合（ステップ２２１２２でＮＯ）、ステップ２２１２３を実行する。
【００６９】
欠落検出部２０にパケット取出完了を通知し、欠落検出動作を起動する（ステップ２２１２３）。
【００７０】
図３の流れ図を参照して、欠落検出部２０の動作を説明する。
【００７１】
順序確認動作２２１の完了により、欠落検出動作が起動する（ステップ２００１）。
【００７２】
順序バッファ２１１に格納されているパケットの個数を確認する（ステップ２００２）。
【００７３】
もし順序バッファ２１１に格納されているパケットの数が０である場合は、動作を終了する。格納パケット数が１以上である場合は、ステップ２００４に移る（ステップ２００３）。
【００７４】
ステップ２００４およびステップ２００５は、順序バッファ２１２に関して、ステップ２００２およびステップ２００３と同様の動作を行う。
【００７５】
ステップ２００６およびステップ２００７は、順序バッファ２１３に関して、ステップ２００２およびステップ２００３と同様の動作を行う。
【００７６】
ステップ２００８およびステップ２００９は、順序バッファ２１４に関して、ステップ２００２およびステップ２００３と同様の動作を行う。
【００７７】
ステップ２００２〜２００９を実行した結果、順序バッファ２１１〜２１４の全てにおいて、１つ以上のパケットの格納が確認された場合（ステップ２００９でＹＥＳ）、ＡＣＫ送信部に対して再送要求を行う。ＡＣＫ送信部は、前回送信したＡＣＫと同じＳＥＱが含まれるＡＣＫ（重複ＡＣＫ）を生成し、送信機１に対して再送要求を行う（ステップ２０１０）。
【００７８】
（動作例）
（動作概要）
以下、図１を参照して、本実施の形態における送信機１および送信機２の動作概要を説明する。
【００７９】
送信機１において、データ送信部１１が、データ受信部２６に対するデータを生成し、ＳＥＱ付与部１２に送付する。
【００８０】
ＳＥＱ付与部１２は、データ送信部１２からのデータを、網３１〜３４で転送可能な大きさに分割してヘッダを取り付けてパケットを生成する。さらに受信機２がデータを復元できるよう、パケットに対して整序のためにシーケンスナンバー（ＳＥＱ）を割り振り、再送バッファ１３に転送する。
【００８１】
再送バッファ１３は、ＳＥＱ付与部１２よりパケットを受け取り一旦格納する。そしてあらかじめ設定された送信レートやウインドウサイズ等に従って、格納したパケットの複製を振り分け部１４に送出する。
【００８２】
振り分け部１４は、再送バッファ１３から受け取ったパケットを、ラウンドロビン等により網３１〜３４の各網に分散させて送出する。例えばＳＥＱ１５のパケットは網３１、ＳＥＱ１６のパケットは網３２、ＳＥＱ１７のパケットは網３３、ＳＥＱ１８のパケットは網３４というように、一連のＳＥＱが付加されたパケットを、網３１〜３４に振り分ける。
【００８３】
網３１〜３４は送信機１から送出されたパケットを、受信機２に送る。
【００８４】
順序バッファ２１１は、網３１から到着したパケットを格納し、取出制御部２２に格納完了を通知する。取出制御部２２は、順序バッファ２１１からの格納完了通知を受け、順序確認動作２２１を起動する。
【００８５】
順序バッファ２１２〜２１４も同様に、網３２〜３４より到着したパケットを格納し、取出制御部２２に格納完了を通知する。そして取出制御部２２は、順序バッファ２１２〜２１４からの格納完了通知を受け、順序確認動作２２１を起動する。
【００８６】
順序確認動作２２１は、順序バッファ２１１〜２１４の先頭に格納されているパケットのＳＥＱを調べ、次に出力バッファ２４に送るべきＳＥＱと一致した場合は、このパケットを取り出して出力バッファ２４に送り、ＡＣＫ送信部に対してＡＣＫの送信を要求する。例えば以前にＳＥＱ＝５まで出力バッファ２４に転送完了していた場合、順序バッファ２１１〜２１４の何れかの先頭に、ＳＥＱ＝６のパケットが格納されていた場合は、これを取り出して出力バッファ２４に転送し、ＳＥＱ＝６のＡＣＫ送信を要求する。
【００８７】
順序確認動作２２１は、もし出力バッファに転送すべきパケットを順序バッファ２１１〜２１４のいずれにおいても発見出来なかった場合は、欠落検出部２０に取出完了を通知する。
【００８８】
欠落検出部２０は、順序バッファ２１１〜２１４に格納されているパケットの個数を調べ、もし全ての順序バッファにおいてパケットの格納が確認された場合は、ＡＣＫ送信部に対して再送要求を行う。
【００８９】
出力バッファ２４は、順序バッファ２１１〜２１４よりパケットを受信し、ＳＥＱ削除部２５からの要求により、ＦＩＦＯ方式でパケットを取り出して転送する。
【００９０】
ＳＥＱ削除部２５は、出力バッファ２４からパケットを取り出し、ヘッダ（ＳＥＱを含む）を削除して、データをデータ受信部２６に転送する。
【００９１】
データ受信部２６は、ＳＥＱ削除部２５からのデータを受け取り、各種処理を行う。
【００９２】
再送バッファ１３は、網３１〜３４のいずれかを経由して、ＡＣＫ送信部２３よりＡＣＫを受信した場合、ＡＣＫに含まれるＳＥＱを確認する。
【００９３】
再送バッファ１３は、もし前回受信したＡＣＫのＳＥＱよりも大きなＳＥＱが含まれる場合は、当該ＳＥＱまでのパケットを再送バッファ１３から消去する。もし前回受信したＡＣＫのＳＥＱと同じＳＥＱが含まれていた場合は、重複ＡＣＫ（再送要求）であるとみなし、ただちに再送バッファに格納されているパケットを、ＳＥＱの若いものから順に再送信する。
【００９４】
（正常時の欠落検出動作例）
以下、図４を参照して、パケットロス無し（正常時）における欠落検出部２０の動作例を説明する。
【００９５】
図４では、網３３において、網３１〜３４よりも大きな遅延が発生し、ＳＥＱ＝６のパケットの到着が遅れている場合の例を示している。
【００９６】
網３１、３２、３４は、網３３よりも遅延が少ないため、順序バッファ２１１、２１２、２１４に対して、網３３を経由する場合よりもパケットが速く到達する。
【００９７】
図４においては、順序確認動作２２１により、ＳＥＱ１〜ＳＥＱ５までのパケットが、出力バッファ２４に転送され、これらパケットに対して、ＡＣＫ送信部２３より、ＡＣＫ１〜ＡＣＫ５が送出されている。
【００９８】
図４の状態においては、パケット６は網３３上にあり、順序バッファ２１３には格納されていないため、ＳＥＱ＝５のパケットが出力バッファ２４に転送された時点で、順序確認動作２２１が完了し、欠落検出部２０に取出完了が通知される。
【００９９】
欠落検出部２０は、順序バッファ２１１〜２１４に格納されているパケットの個数を調べる。ここで順序バッファ２１３に格納されているパケットの個数が０であることから、欠落は発生していないとみなして、動作を完了する。
【０１００】
以上に示したように、網３１〜網３４の各網内での順序逆転が発生しない場合において、パケットロスが発生していない場合は、順序バッファ２１１〜２１４のいずれか１つ以上のバッファは必ず空になる。
【０１０１】
順序バッファ２１１〜２１４は、パケットロスが発生していない状況では、網３１〜３４の遅延時間の差に相当するパケットが蓄積されるので、最も遅延している網（図４では網３３）のパケットを格納する順序バッファ（図４では順序バッファ２１３）の格納パケットは０になる。
【０１０２】
（異常時の欠落検出動作例）
以下、図５を参照して、パケットロス発生時（異常時）における欠落検出部２０の動作例を説明する。
【０１０３】
図５では、網３３において、ＳＥＱ＝６のパケットが欠落（ロス）した場合の例を示している。
【０１０４】
また、網３３は他の網よりも遅延が大きく、網３１、３２、３４は、網３３よりも遅延が少ないため、順序バッファ２１１、２１２、２１４に対して、網３３を経由する場合よりもパケットが速く到達するとする。
【０１０５】
図５において、ＳＥＱ１〜ＳＥＱ５までのパケットの順序確認が完了して出力バッファ２４に転送され、これらパケットに対して、ＡＣＫ送信部２３より、ＡＣＫ１〜ＡＣＫ５が送出されているとする。
【０１０６】
ここで順序バッファ２１３に、欠落したＳＥＱ＝６のパケットの次に網３３に送出されたＳＥＱ＝１２のパケットが格納されると、順序確認動作２２１が起動する。しかしながら出力バッファ２４に送出できるパケットがないので、ただちに欠落検出部２０に取出完了通知が行われる。
【０１０７】
欠落検出部２０は、順序バッファ２１１〜２１４に格納されているパケットの個数を調べる。ここで順序バッファ２１３を含む全ての順序バッファ内にパケットの格納を確認し、欠落が発生しているとみなして、ＡＣＫ送信部２３に対して再送要求を行う。
【０１０８】
ＡＣＫ送信部２３は、欠落検出部２０からの再送要求を受け、前回送出したＡＣＫ（ＡＣＫ＝５）と同じＳＥＱ＝５を含むＡＣＫを送信する。送信機１は、同じ番号のＡＣＫが連続して届くため、再送要求があったと判断して、再送バッファ内のパケットの再送を行う。
【０１０９】
以上に示したように、網３１〜網３４の各網内での順序逆転が発生しない場合において、パケットロスが発生した場合は、順序バッファ２１１〜２１４のすべての順序バッファにパケットが格納される。この特性により、パケットロスを判定することで、高速な再送要求を行う事ができる。
【０１１０】
マルチパス環境において、本実施形態に記載のパケットロス判定がない場合は、受信機２が送信機１に対して再送要求を行う事ができないため、送信機１は再送タイマ１５を用いて再送を行うしかない。しかしながら、一般的に再送タイマ１５は、誤動作を防止するために最低でも１ＲＴＴ以上の大きな値を設定する必要があるため、再送開始までに時間がかかる。このため、本実施形態に記載のパケットロス判定機構を用いると、再送タイマよりも高速な欠落検出および再送を行なえる。
【０１１１】
（本実施形態の効果）
次に、本実施の形態の効果について説明する。
【０１１２】
本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、１段のみのシーケンス番号の管理を用いて、パケットロスを高速に検出することができる。
【０１１３】
これは、前記受信機内の欠落検出部において、パケットロスが発生した場合はすべての網の順序バッファにパケットが格納される特性に着目し、網毎に設置した順序保証バッファへのパケット滞留状態を監視するからである。
【０１１４】
また、本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、１段のみのシーケンス番号の管理を用いて、パケットロス時の再送を高速に開始することができる。
【０１１５】
これは、前記受信機内の欠落検出部において、パケットロスが発生した場合はすべての網の順序バッファにパケットが格納される特性に着目し、網毎に設置した順序保証バッファへのパケット滞留状態を監視することで、再送タイマによらない高速な欠落検出を行えるからである。
【０１１６】
（第２の実施の形態）
本発明の第２の実施の形態は、第１の実施の形態における出力バッファ２４が存在せず、順序バッファ２１１〜２１４が出力バッファ２４を兼ねる場合、もしくは順序バッファ２１１〜２１４からの取出速度が遅い場合の形態である。
【０１１７】
（構成の説明）
図６を参照して、本実施の形態における構成について説明する。
【０１１８】
送信機１は、第１の実施の形態と同様の構成を有し、同様の動作を行う。
【０１１９】
受信機２は、第１の実施の形態における出力バッファ２４が存在せず、欠落検出部２０が欠落検出部２０Ａとなり、取出制御部２２が取出制御部２２Ａとなる点において実施形態１の受信機２と異なる。
【０１２０】
欠落検出部２０Ａは、取出制御部２２Ａからの取出完了通知を受けると、パケットロスの有無を確認する。もしパケットロスを発見した場合は、ＡＣＫ送信部２３に対して再送要求を行う。
【０１２１】
取出制御部２２Ａは、以下の動作を行う。
【０１２２】
（１）順序バッファ２１１〜２１４からの格納完了通知を受け、順序確認動作２２１Ａを行い、ＳＥＱの順番が正しい場合は、取出待数をインクリメントする。このとき、ＡＣＫ送信部２３に対して、取出待ちとしたパケットのＳＥＱを通知する。
【０１２３】
（２）パケット取出動作２２３を行い、ＳＥＱ削除部２５からの要求により、パケットを取り出してＳＥＱ削除部２５に転送する。
【０１２４】
（動作の説明）
図７の流れ図を参照して、取出制御部２２Ａにおける順序確認動作２２１Ａを説明する。
【０１２５】
順序バッファ２１１〜２１４の何れかに１つのパケットが格納されると、取出制御部２２に格納完了通知が行われ、順序確認動作２２１が起動する（ステップ２２１０１）。
【０１２６】
順序バッファ２１１の先頭（出力バッファ２４側）に格納されているパケットのＳＥＱを確認する（ステップ２２１０２）。
【０１２７】
ステップ２２１０２において確認した順序バッファ２１１の先頭パケットのＳＥＱ（先頭ＳＥＱ）と、順序制御部２２が次に順序確認しようとしているＳＥＱ（受信期待ＳＥＱ、以下期待ＳＥＱと記す）を比較する（ステップ２２１０３）。
【０１２８】
ステップ２２１０３において先頭ＳＥＱと期待ＳＥＱが一致した場合には、順序バッファ２１１の取出待数をインクリメントする（ステップ２２１０４Ａ）。
【０１２９】
ＡＣＫ送信部２３に対して、送達確認パケット（ＡＣＫ）の送信を要求する。このＡＣＫには期待ＳＥＱのＳＥＱが格納され、期待ＳＥＱまでの受信と整序が完了したことを送信機１に通知する（ステップ２２１０５）。
【０１３０】
期待ＳＥＱをインクリメントする。つまり、期待ＳＥＱ＝期待ＳＥＱ＋１とする（ステップ２２１０６）。
【０１３１】
ステップ２２１０７〜２２１１１は、順序バッファ２１２に関して、ステップ２２１０２〜２２１０６と同様の動作を行う。
【０１３２】
ステップ２２１１２〜２２１１６は、順序バッファ２１３に関して、ステップ２２１０２〜２２１０６と同様の動作を行う。
【０１３３】
ステップ２２１１７〜２２１２１は、順序バッファ２１４に関して、ステップ２２１０２〜２２１０６と同様の動作を行う。
【０１３４】
ステップ２２１０２〜ステップ２２１２１の実行中に、取出待数をインクリメントした回数をカウントし、もし１以上である場合には（ステップ２２１２２ＡでＹＥＳ）、再度ステップ２２１０２以降を実行する。もし順序バッファから取り出して出力バッファへ送付したパケットの数が０である場合（ステップ２２１２２ＡでＮＯ）、つまり出力バッファ２３に転送可能な（つまり整序可能な）パケットが、順序バッファ２１１〜２１４のいずれにも存在しない場合、ステップ２２１２３Ａを実行する。
【０１３５】
欠落検出部２０Ａに取出完了を通知する（ステップ２２１２３Ａ）。
【０１３６】
図８の流れ図を参照して、取出制御部２２Ａにおけるパケット取出動作２２２を説明する。
【０１３７】
ＳＥＱ削除部２５からのパケット取出要求により、パケット取出動作２２２が起動する（ステップ２２２０１）。
【０１３８】
順序バッファ２１１の先頭（ＳＥＱ削除部２５側）に格納されているパケットのＳＥＱを確認する（ステップ２２２０２）。
【０１３９】
ステップ２２２０２において確認した順序バッファ２１１の先頭パケットのＳＥＱ（先頭ＳＥＱ）と、順序制御部２２が次に取り出してＳＥＱ削除部２５に送信しようとしているＳＥＱ（取出待ＳＥＱ）を比較する（ステップ２２２０３）。
【０１４０】
ステップ２２２０３において先頭ＳＥＱと取出待ＳＥＱが一致した場合には、順序バッファ２１１より前記パケットを取り出して、ＳＥＱ削除部２５送付する（ステップ２２２０４）。
【０１４１】
順序バッファ２１１の取出待数をデクリメントする（ステップ２２２０５）。
【０１４２】
取出待ＳＥＱをインクリメントする。なお、取出待数と取出待ＳＥＱは異なるパラメーターである（ステップ２２２０６）。
【０１４３】
ステップ２２２０７〜２２２１１は、順序バッファ２１２に関して、ステップ２２２０２〜２２２０６と同様の動作を行う。
【０１４４】
ステップ２２２１２〜２２２１６は、順序バッファ２１３に関して、ステップ２２２０２〜２２２０６と同様の動作を行う。
【０１４５】
ステップ２２２１７〜２２２２１は、順序バッファ２１４に関して、ステップ２２２０２〜２２２０６と同様の動作を行う。
【０１４６】
図９の流れ図を参照して、欠落検出部２０Ａの動作を説明する。
【０１４７】
順序確認動作２２１Ａの完了により、欠落検出動作が起動する（ステップ２００１Ａ）。
【０１４８】
順序バッファ２１１に格納されているパケットの個数を確認する（ステップ２００２）。
【０１４９】
もし順序バッファ２１１に格納されているパケットの数−順序バッファ２１１の取出待数が０である場合は、動作を終了する。格納パケット数−取出待数が１以上である場合は、ステップ２００４に移る（ステップ２００３Ａ）。
【０１５０】
ステップ２００４およびステップ２００５Ａは、順序バッファ２１２に関して、ステップ２００２およびステップ２００３Ａと同様の動作を行う。
【０１５１】
ステップ２００６およびステップ２００７Ａは、順序バッファ２１３に関して、ステップ２００２およびステップ２００３Ａと同様の動作を行う。
【０１５２】
ステップ２００８およびステップ２００９Ａは、順序バッファ２１４に関して、ステップ２００２およびステップ２００３Ａと同様の動作を行う。
【０１５３】
ステップ２００２〜２００９Ａを実行した結果、順序バッファ２１１〜２１４の全てにおいて、格納数−取出待数の合計が１以上の場合、ＡＣＫ送信部に対して再送要求を行う。ＡＣＫ送信部は、前回送信したＡＣＫと同じＳＥＱが含まれるＡＣＫ（重複ＡＣＫ）を生成し、送信機１に対して再送要求を行う（ステップ２０１０）。
【０１５４】
（動作例）
（正常時の欠落検出動作例）
以下、図１０を参照して、パケットロス無し（正常時）における欠落検出部２０Ａの動作例を説明する。
【０１５５】
図１０では、網３３において、網３１〜３４よりも大きな遅延が発生し、ＳＥＱ＝１２のパケットの到着が遅れている場合の例を示している。
【０１５６】
網３１、３２、３４は、網３３よりも遅延が少ないため、順序バッファ２１１、２１２、２１４に対して、網３３を経由する場合よりもパケットが速く到達する。
【０１５７】
図１０においては、順序確認動作２２１Ａにより、ＳＥＱ１〜ＳＥＱ１１までのパケットの順序確認が完了し、これらパケットに対して、ＡＣＫ送信部２３より、ＡＣＫ１〜ＡＣＫ１１が送出されている。さらに、パケット取出動作２２２により、ＳＥＱ１〜ＳＥＱ３までのパケットが、ＳＥＱ削除部２５に転送されている。ＳＥＱ４〜ＳＥＱ１１のパケットは、既に順序確認が完了しているが、順序バッファ２１１〜２１４において、ＳＥＱ削除部２５からの取出要求を待っている。
【０１５８】
図１０の状態においては、パケット１２は網３３上にあり、順序バッファ２１３には格納されていないため、ＳＥＱ＝１１のパケットの順序確認が完了した時点で、順序確認動作２２１Ａが完了し、欠落検出部２０Ａに取出完了が通知される。
【０１５９】
欠落検出部２０Ａは、順序バッファ２１１〜２１４に格納されているパケットの個数と、取出待となっているパケットの個数を調べる。順序バッファ２１１、２１２、２１４においては、格納パケット数が３、取出待数が２であるが、順序バッファ２１３においては、格納パケット数が２、取出待数が２であるため、格納パケット数−取出待数が０であることから、欠落は発生していないとみなして、動作を完了する。
【０１６０】
以上に示したように、網３１〜網３４の各網内での順序逆転が発生しない場合において、パケットロスが発生していない場合は、順序バッファ２１１〜２１４のいずれか１つ以上のバッファにおいて、格納パケット数−取出待数は必ず０になる。
【０１６１】
順序バッファ２１１〜２１４は、パケットロスが発生していない状況では、網３１〜３４の遅延時間の差に相当するパケットが蓄積されるので、最も遅延している網（図１０では網３３）のパケットを格納する順序バッファ（図１０では順序バッファ２１３）の格納パケットは０になる。
【０１６２】
（異常時の欠落検出動作例）
以下、図１１を参照して、パケットロス発生時（異常時）における欠落検出動作２２２Ａの動作例を説明する。
【０１６３】
図５では、網３３において、ＳＥＱ＝１２のパケットが欠落（ロス）した場合の例を示している。
【０１６４】
また、網３３は他の網よりも遅延が大きく、網３１、３２、３４は、網３３よりも遅延が少ないため、順序バッファ２１１、２１２、２１４に対して、網３３を経由する場合よりもパケットが速く到達するとする。
【０１６５】
図１１においては、順序確認動作２２１Ａにより、ＳＥＱ１〜ＳＥＱ１１までのパケットの順序確認が完了し、これらパケットに対して、ＡＣＫ送信部２３より、ＡＣＫ１〜ＡＣＫ１１が送出されている。さらに、パケット取出動作２２３により、ＳＥＱ１〜ＳＥＱ３までのパケットが、ＳＥＱ削除部２５に転送されている。ＳＥＱ４〜ＳＥＱ１１のパケットは、既に順序確認が完了しているが、順序バッファ２１１〜２１４において、ＳＥＱ削除部２５からの取出要求を待っている。
【０１６６】
ここで順序バッファ２１３に、欠落したＳＥＱ＝１２のパケットの次に網３３に送出されたＳＥＱ＝２０のパケットが格納されると、順序確認動作２２１Ａが起動する。しかしながら順序確認できるパケットがないので、ただちに欠落検出動作２２２Ａが起動する。
【０１６７】
欠落検出動作２２２Ａは、順序バッファ２１１〜２１４に格納されているパケットの個数を調べる。ここで順序バッファ２１３を含む全ての順序バッファにおいて、格納パケット数が３、取出待数が２であるため、格納パケット数−取出待数が１であることから、欠落が発生しているとみなして、ＡＣＫ送信部２３に対して再送要求を行う。
【０１６８】
ＡＣＫ送信部２３は、取出制御部２２内の欠落検出動作２２２Ａからの再送要求を受け、前回送出したＡＣＫ（ＡＣＫ＝１１）と同じＳＥＱ＝１１を含むＡＣＫを送信する。送信機１は、同じ番号のＡＣＫが連続して届くため、再送要求があったと判断して、再送バッファ内のパケットの再送を行う。
【０１６９】
以上に示したように、網３１〜網３４の各網内での順序逆転が発生しない場合において、パケットロスが発生した場合は、順序バッファ２１１〜２１４のすべての順序バッファにおいて、格納パケット数−取出待数＞０となる。この特性により、パケットロスを判定することで、高速な再送要求を行う事ができる。
【０１７０】
（本実施形態の効果）
次に、本実施の形態の効果について説明する。
【０１７１】
本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、１段のみのシーケンス番号の管理を用いて、パケットロスを高速に検出することができる。
【０１７２】
これは、前記受信機内の欠落検出部において、パケットロスが発生した場合はすべての網の順序バッファにパケットが格納される特性に着目し、網毎に設置した順序保証バッファへのパケット滞留状態を監視するからである。
【０１７３】
また、本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、１段のみのシーケンス番号の管理を用いて、パケットロス時の再送を高速に開始することができる。
【０１７４】
これは、前記受信機内の欠落検出部において、パケットロスが発生した場合はすべての網の順序バッファにパケットが格納される特性に着目し、網毎に設置した順序保証バッファへのパケット滞留状態を監視することで、再送タイマによらない高速な欠落検出を行えるからである。
【０１７５】
（第３の実施の形態）
本発明の第３の実施の形態は、第１の実施の形態における網３１〜３４と順序バッファ２１１〜２１４の間に、格納制御部２７１〜２７４を設け、順序バッファがあふれによるパケット欠落検出を行う形態である。
【０１７６】
なお、本実施の形態における欠落検出と、第１の実施の形態における欠落検出（欠落検出動作２２２）は、どちらか一方のみ用いることも、両方を併用することもできる。以降の説明では、順序確認動作２２１が完了しても、欠落検出動作２２２を行わない（第１の実施の形態における欠落検出を併用しない）ものとして説明する。
【０１７７】
（構成の説明）
図１２を参照して、本実施の形態における構成について説明する。
【０１７８】
送信機１は、第１の実施の形態と同様の構成を有し、同様の動作を行う。
【０１７９】
受信機２は、第１の実施の形態における網３１〜３４と順序バッファ２１１〜２１４の間に、格納制御部２７１〜２７４が存在する点において異なる。
【０１８０】
格納制御部２７１は、以下に示す動作を行う。
【０１８１】
（１）網３１より到着したパケットのシーケンスナンバーと、前回に網３１より到着したパケットのシーケンスナンバーを比較して、今回到着したパケットのＳＥＱが、前回到着したパケットのＳＥＱより小さいか、もしくは同じである場合は、再送が発生したとみなして、格納済パケットをすべて廃棄する。
【０１８２】
（２）網３１からのパケット到着時に、順序バッファ２１１の格納済パケット数を確認し、もしも到着パケットを格納すると、最大格納可能数を超える場合は、格納済パケットを全て廃棄し、再送要求を行う。
【０１８３】
（動作の説明）
図１３の流れ図を参照して、格納制御部２７１における動作を説明する。
【０１８４】
網３１からパケットが到着すると、格納制御動作が起動する（ステップ２７１０１）。
【０１８５】
今回到着したパケットのシーケンスナンバーと、前回到着したパケットのシーケンスナンバーを比較する（ステップ２７１０１）。
【０１８６】
今回到着したパケットのＳＥＱが、前回到着したパケットのＳＥＱより小さいか、同じである場合は、再送が発生したと判断し、順序バッファ２１１に格納中のパケットを全て廃棄する。このとき、第２の実施の形態に記した取出待パケットがある場合は、取出待パケットは廃棄せず、取出待パケット以外の残りを全て廃棄する（ステップ２７１０３）。
【０１８７】
次回にパケットが到着した際、ステップ２７１０２の判断を行うために、今回到着したパケットのＳＥＱを記録しておく（ステップ２７１０４）。
【０１８８】
順序バッファ２１１に格納されているパケット数を確認する（ステップ２７１０５）。
【０１８９】
順序バッファ２１１に格納されているパケット数（格納済パケット数）と、順序バッファ２１１の最大格納可能数を比較する（ステップ２７１０６）。
【０１９０】
もし格納済パケット数と最大格納可能数が等しい場合は、今回到着したパケットを格納すると、順序バッファがあふれてしまうため、順序バッファ２１１に格納中のパケットを全て廃棄する。このとき、第２の実施の形態に記した取出待パケットがある場合は、取出待パケットは廃棄せず、取出待パケット以外の残りを全て廃棄する（ステップ２７１０７）。
【０１９１】
ステップ２７１０７における廃棄により、パケットが欠落したため、ＡＣＫ送信部２３に対して再送要求を行う。この時点で格納制御部の動作を終了（ＥＮＤ）しても良いし、ステップ２７１０９で今回到着したパケットを格納しても良い。なお今回到着したパケットを格納した場合は、当ステップで送信した再送要求に呼応した再送が行われると、ステップ２７１０３の再送検出動作により、このパケットは廃棄される（ステップ２７１０８）。
【０１９２】
順序バッファ２１１に、今回到着したパケットを格納する（ステップ２７１０９）。
【０１９３】
順序確認動作２２１を起動する（ステップ２７１１０）。
【０１９４】
（動作例）
（順序バッファあふれ時の動作例）
図１２を用いて、順序バッファ２１１があふれる場合の動作について説明する。
【０１９５】
図１２において、順序バッファ２１１に最大格納可能数と等しい数のパケットが既に蓄積されている状態であるとする。また、格納制御部２７１に前回（最後に）到着したパケットのＳＥＱは、２６であるとする。また、順序バッファ２１１の最大格納可能数は４０であるとする。また、ＳＥＱ＝５５までの順序確認が完了し、ＡＣＫ＝５５が送信されているとする。
【０１９６】
上記の状態において、網３１から受信機２にパケット（ＳＥＱ＝１３３）が到着すると、そのパケットは格納制御部２７１に引き渡される。
【０１９７】
格納制御部２７１は、まず到着したパケットのＳＥＱ（１３３）と前回到着したパケットのＳＥＱ（１２６）を比較し、ＳＥＱが前回より大きくなっていることから、再送は発生していないと判断する。
【０１９８】
格納制御部２７１は、つぎに順序バッファ２１１の格納済パケット数を確認する。すると、現在４０個のパケットが格納されており、これは最大格納可能数と等しいことから、すでに格納済のパケット４０個を全て廃棄し、ＡＣＫ送信部２３に再送要求を行う。
【０１９９】
ＡＣＫ送信部２３は、格納制御部２７１からの再送要求を受け、ＡＣＫ送信部２３内に保存されている前回送信したＡＣＫのＳＥＱ（５５）と同じＳＥＱを含むＡＣＫ（ＡＣＫ＝５５）を送信する。
【０２００】
送信機１内の再送バッファ１３は、受信機２からのＡＣＫ＝５５を受信する。そして、このＡＣＫのＳＥＱは、前回到着したＡＣＫのＳＥＱと同じであることから、再送バッファ内の全てのパケットを、ＳＥＱ＝５６のパケットから順に、振り分け部１４に対して再送する。
【０２０１】
振り分け部１４は、再送バッファから再送されたパケットを、網３１〜３４に振り分ける。ここで、ＳＥＱ＝５６のパケットが、網３１に振り分けられたとする。
【０２０２】
上記の状態において、網３１から受信機２にパケット（ＳＥＱ＝５６）が到着すると、格納制御部２７１に引き渡される。
【０２０３】
格納制御部２７１は、まず到着したパケットのＳＥＱ（５６）と前回到着したパケットのＳＥＱ（１２６）を比較し、ＳＥＱが前回より小さくなっていることから、再送が発生したと判断し、すでに順序バッファ２１１に格納されているパケットを全て廃棄し、今回到着したパケットを順序バッファ２１１に格納する。
【０２０４】
以上に示したように、順序バッファ２１１があふれた場合は、バッファフラッシュ（全廃棄）によりパケットロスが発生したと判断して再送要求を行う。
【０２０５】
順序保証バッファがあふれる場合は、パケットロスなどの障害により、取出制御部２２が順序バッファからパケットを取り出せない場合である。このような状態では、多くの場合において再送を行わない限り、正常な状態に戻すことは難しい。また、バッファあふれになった場合に、既に順序バッファに滞留しているパケットは、再送が行われれば不要となる。
【０２０６】
マルチパス環境において、本実施形態に記載のパケットロス判定がない場合は、受信機２が送信機１に対して再送要求を行う事ができないため、送信機１は再送タイマ１５を用いて再送を行うしかない。しかしながら、一般的に再送タイマ１５は、誤動作を防止するために最低でも１ＲＴＴ以上の大きな値を設定する必要があるため、再送開始までに時間がかかる。
【０２０７】
このため、本実施形態に記載のパケットロス判定機構を用いると、順序バッファ２１１があふれることにより、パケットロスを判定することで、再送タイマによるロス判定よりも高速なロス判定（再送要求）を行う事ができる。
【０２０８】
なお、再送によるパケットが到着した場合、シーケンスナンバーの大小により再送を判断し、再送があったと判断した場合はバッファフラッシュ（全廃棄）を行う。これにより、再送により不要となるオンザフライパケットも適切に廃棄できる。
【０２０９】
（本実施形態の効果）
次に、本実施の形態の効果について説明する。
【０２１０】
本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、１段のみのシーケンス番号の管理を用いて、パケットロス等の異常を高速に検出することができる。
【０２１１】
これは、前記受信機内の格納制御部において、異常発生時は順序バッファからのパケット取出が行えず、バッファあふれが発生する特性に着目し、網毎に設置した順序バッファのあふれを監視するからである。
【０２１２】
また、本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、１段のみのシーケンス番号の管理を用いて、再送を高速に開始することができる。
【０２１３】
これは、前記受信機内の格納制御部において、異常発生時は順序バッファからのパケット取出が行えず、バッファあふれが発生する特性に着目し、網毎に設置した順序バッファのあふれを監視し、バッファあふれを再送開始の契機とするからである。
【０２１４】
（第４の実施の形態）
本発明の第４の実施の形態は、第３の実施の形態に対して、順序バッファ２１１〜２１４の最大格納可能数（容量）を、網３１〜３４の帯域および遅延差から決定し、順序バッファあふれによる異常検出（再送開始）を高速化するものである。
【０２１５】
順序バッファ２１１〜２１４は、網３１〜３４の遅延の差分を吸収する為のものである。したがって順序バッファは、「網３１〜３４の往復遅延のうち最大の往復遅延と最小の往復遅延の差」と「網３１〜３４の帯域」の積の大きさがあればよい。もし、この大きさを超えて順序バッファ２１１〜２１４にパケットが蓄積された場合は、パケットロス等の異常が発生していると見なせる。本実施の形態は、この特性を利用して、第３の実施の形態に記した異常検出と再送開始を高速化するものである。
【０２１６】
（構成の説明）
図１４を参照して、本実施の形態における構成について説明する。
【０２１７】
送信機１は、図１２に記した第３の実施の形態における構成に対して、振り分け部１４が振り分け部１４Ａになり、内蔵時計１９が追加されている点において異なる。
【０２１８】
振り分け部１４Ａは、第１の実施の形態に記した振り分け部１４の動作のほかに、再送バッファ１３から受け取り、網３１〜３４にパケットを転送する際、パケットヘッダ内に内蔵時計１９から提供を受けた時刻情報を記載する機能を有する。
【０２１９】
内蔵時計１９は、送信機１に内蔵された時計であり、振り分け部１４に対して時刻情報を提供する。
【０２２０】
受信機２は、図１２に記した第３の実施の形態における構成に対して、容量決定部２８および内蔵時計２９が追加されている点において異なる。
【０２２１】
容量決定部２８は、格納制御部２７１〜２７４より、網３１〜３４の帯域情報と到着パケットのヘッダ内に記載されているパケットの送信時刻情報を受け取り、さらに内蔵時計２９から時刻情報を受け取り、各網の往復遅延時間を計算する。そして計算した往復遅延時間および帯域から、順序バッファ２１１〜２１４の最大格納可能数（容量）を決定して設定する。
【０２２２】
内蔵時計２９は、受信機２に内蔵された時計であり、容量決定部２８に対して時刻情報を提供する。内蔵時計２９と内蔵時計１９は同期していても、同期していなくても良い。
【０２２３】
（動作例）
（内蔵時計１９と内蔵時計２９が同期している場合）
図１４を用いて、内蔵時計１９と内蔵時計２９が同期しており、網３１にパケットが送信された場合における、容量決定部２８の動作を説明する。
【０２２４】
送信機１内の再送バッファ１３からパケットが送出され、振り分け部１４Ａに到着する。
【０２２５】
振り分け部１４Ａは、内蔵時計１９から時刻情報を取得し、再送バッファ１３より到着したパケットのヘッダに送信時刻情報を埋め込む。そして、網３１に送信する。
【０２２６】
受信機２内の格納制御部２７１は、網３１からパケットを受信すると、網３１からの単位時間当たりの受信バイト数（受信レート、以下帯域という）と、パケット内に記載されている送信時刻情報を、容量決定部２８に通知する。
【０２２７】
容量決定部２８は、格納制御部２７１から帯域と送信時刻の通知を受けると、内蔵時計２９から受信時刻を取得し、以下の式より網３１の往復遅延時間（ＲＴＴ）を計算して記録する。
【０２２８】
ＲＴＴ＝（受信時刻−送信時刻）×２
容量決定部２８は、記録している網３１〜３４のＲＴＴを比較し、最大のもの（最大ＲＴＴ）と最小のもの（最小ＲＴＴ）を調べる。そして、以下の式により順序保証バッファ２１１の容量を決定する。
【０２２９】
順序バッファ２１１の容量＝（最大ＲＴＴ−最小ＲＴＴ）×網３１の帯域
順序保証バッファ２１１は、容量決定部２８から容量の通知を受けて、最大格納可能量の設定を行う（最大格納可能量は、ビット、バイト、個数など、適宜変換して設定する）。
【０２３０】
以上では、網３１にパケットが送信された場合における、順序バッファ２１１の容量決定動作を例に説明したが、網３２〜３４にパケットが送信された場合も同様に、順序バッファ２１２〜２１４の容量を決定できる。
【０２３１】
上記動作により決定した順序バッファの容量は、網３１〜３４の遅延差を吸収できる容量となっている。もしこれを超えてパケットが蓄積されようとする場合（順序バッファあふれが発生する場合）は、パケットロス等の異常が発生していると考えられる。よって、本実施の形態に従って順序バッファ２１１〜２１４の容量をできるだけ小さく設定し、さらに実施の形態３にしたがい順序バッファ２１１〜２１４のあふれを監視することで、異常検出を高速に行い、再送タイマよりも高速な再送開始の契機とすることができる。
【０２３２】
（内蔵時計１９と内蔵時計２９が同期していない場合）
内蔵時計１９と内蔵時計２９が同期しておらず、内蔵時計２９の時刻が内蔵時計１９の時刻よりもαだけ進んでいる場合、ＲＴＴは以下のように表すことができる。
【０２３３】
最大ＲＴＴ＝（受信時刻a＋α−送信時刻a）×２
最小ＲＴＴ＝（受信時刻b＋α−送信時刻b）×２
このとき、順序バッファの容量は、以下のようになる。
【０２３４】
順序バッファ容量
＝（最大ＲＴＴ−最小ＲＴＴ）×帯域
＝｛（受信時刻a＋α−送信時刻a）−（受信時刻b＋α−送信時刻b）｝×２×帯域
＝（受信時刻a−送信時刻a−受信時刻b＋送信時刻b）×２×帯域
上記の式より、αは相殺されるため、内蔵時計１９と内蔵時計２９が同期しておらず、内蔵時計２９の時刻が内蔵時計１９の時刻よりもαだけ進んでいる場合でも、順序バッファの容量を決定できる。
【０２３５】
（本実施形態の効果）
次に、本実施の形態の効果について説明する。
【０２３６】
本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、１段のみのシーケンス番号の管理を用いて、パケットロス等の異常を高速に検出することができる。
【０２３７】
これは、前記受信機内の格納制御部において、異常発生時は順序バッファからのパケット取出が行えず、バッファあふれが発生する特性に着目し、網毎に設置した順序バッファのあふれを監視して障害検出する際に、前記受信機内の容量決定部において、順序バッファの大きさを網間の遅延差と帯域から必要最小限になるように設定するからである。
【０２３８】
また、本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、１段のみのシーケンス番号の管理を用いて、再送を高速に開始することができる。
【０２３９】
これは、前記受信機内の格納制御部において、異常発生時は順序バッファからのパケット取出が行えず、バッファあふれが発生する特性に着目し、網毎に設置した順序バッファのあふれを監視してバッファあふれを再送開始の契機とする際に、前記受信機内の容量決定部において、順序バッファの大きさを網間の遅延差と帯域から必要最小限になるように設定するからである。
【０２４０】
（第５の実施の形態）
本発明の第５の実施の形態は、第１の実施の形態に対して、ＧＯ−ＢＡＣＫ−Ｎによる再送ではなく、Ｓｅｌｅｃｔｉｖｅ  ＡＣＫによる、欠落パケットのみの選択的な再送を行うものである。
【０２４１】
（構成の説明）
図１５を参照して、本実施の形態における構成について説明する。
【０２４２】
送信機１は、図１に記した第１の実施の形態における構成に対して、再送バッファ１３が再送バッファ１３Ａに、順序バッファ２１１〜２１４が、順序バッファ２１１Ａ〜２１４Ａに、ＡＣＫ送信部２３がＡＣＫ送信部２３Ａにそれぞれ変更され、さらに追越バッファ２１５、格納制御部２７１Ａ〜２７４Ａがそれぞれ追加されている点において異なる。
【０２４３】
再送バッファ１３Ａは、第１の実施の形態における再送バッファ１３の動作（１）〜（５）のほかに、以下の動作をおこなう。
【０２４４】
（６）ＡＣＫ送信部２３より否定送達確認（ＮＡＣＫ）を受け取り、ＮＡＣＫに記載されたシーケンスナンバーの値のパケットの複製を振り分け部１４に再送信する。
【０２４５】
順序バッファ２１１Ａは、順序バッファ２１１と同様のＦＩＦＯバッファであり、網３１からパケットを受信して一旦格納し、取出制御部２２に格納完了通知を行う。また取出制御部２２からの指示に従い、出力バッファ２４に格納したパケットを転送する。しかしながら、順序バッファ２１１とは異なり、網３１より到着したパケットのシーケンスナンバーと、前回に網３１より到着したパケットのシーケンスナンバーを比較して、今回到着したパケットのＳＥＱが、前回到着したパケットのＳＥＱより小さいか、もしくは同じである場合は、再送が発生したとみなして、格納済パケットをすべて廃棄することは行わない。
【０２４６】
順序バッファ２１２Ａ〜２１４Ａは、順序バッファ２１１Ａと同様の動作を行う。
【０２４７】
追越バッファ２１５は、格納制御部２７１Ａ〜２７４Ａより、ＮＡＣＫにより再送されたパケットを受け取り、取出制御部２２に格納を通知する。そして取出制御部２２からの指示により、格納中のパケットを出力バッファ２４に転送する。なお、格納制御部２２は、追越バッファ２１５を、順序バッファ２１１Ａ〜２１４Ａと同様のバッファとして取り扱う。
【０２４８】
ＡＣＫ送信部２３Ａは、以下の動作を行う。なお本願では出力バッファ２４へ１パケット転送が完了する毎に１パケットのＡＣＫを送信する１ＡＣＫ方式で説明を行うが、Ｎ（Ｎは１以上）個のパケット到着報告を１つのＡＣＫでまとめて行うＮ＿ＡＣＫ方式を用いても良い。
【０２４９】
（１）取り出し制御部２３から出力バッファ２４に転送したパケットのＳＥＱ通知を受け、前記ＳＥＱを含む送達確認パケット（以下ＡＣＫと示す）を生成し、再送バッファ１３に通知する。このときＡＣＫは、網３１〜３４のいずれかを用いて通知する。また、通知を受けたＳＥＱを記憶しておく。
【０２５０】
（２）欠落検出部２０、および格納制御部２７１Ａ〜２７４Ａから再送要求を受け、（１）で記憶したＳＥＱ＋１の値のＮＡＣＫパケット（否定確認応答パケット）を生成し、再送バッファ１３Ａに通知する。このときＮＡＣＫは、網３１〜３４のいずれかを用いて通知する。（２）のＮＡＣＫは複製の上、網３１〜３４の全部を用いて転送しても良いが、この場合は、再送バッファ１３Ａにおいて再送が頻発しないよう、再送バッファ１３Ａにロック機構などを設ける必要がある。
【０２５１】
格納制御部２７１Ａ〜２７４Ａは、以下に示す動作を行う。
【０２５２】
（１）網３１より到着したパケットのシーケンスナンバーと、前回に網３１より到着したパケットのシーケンスナンバーを比較して、今回到着したパケットのＳＥＱが、前回到着したパケットのＳＥＱより小さいか、もしくは同じである場合は、再送が発生したとみなして、当該パケットを追越バッファ２１５に転送する。
【０２５３】
（２）（１）において再送が発生していない場合は、網３１から到着したパケットを、順序バッファ２１１Ａに転送する。このとき、順序バッファ２１１Ａの格納済パケット数を確認し、もしも到着パケットを格納すると、最大格納可能数を超える場合は、順序バッファ２１１Ａの格納済パケットを全て廃棄し、ＡＣＫ送信部２３Ａに対して再送要求を行う。
【０２５４】
（動作の説明）
図１５の流れ図を参照して、格納制御部２７１Ａにおける動作を説明する。
【０２５５】
格納制御部２７１Ａの動作は、図１３に示す格納制御部２７１の動作と比較して、ステップ２７１０３がステップ２７１０３Ａになっている点においてことなる。
【０２５６】
今回到着したパケットのＳＥＱが、前回到着したパケットのＳＥＱより小さいか、同じである場合は、再送が発生したと判断し、到着したパケットを追越バッファ２１５に転送して終了する（ステップ２７１０３Ａ）。
【０２５７】
（動作例）
（異常時の欠落検出動作例）
以下、図５を参照して、パケットロス発生時（異常時）における欠落検出部２０およびＡＣＫ送信部２３Ａの動作例を説明する。図５においてはＡＣＫ送信部２３が記載されているが、ここではＡＣＫ送信部２３Ａと読み替えるものとする。
【０２５８】
図５では、網３３において、ＳＥＱ＝６のパケットが欠落（ロス）した場合の例を示している。
【０２５９】
また、網３３は他の網よりも遅延が大きく、網３１、３２、３４は、網３３よりも遅延が少ないため、順序バッファ２１１、２１２、２１４に対して、網３３を経由する場合よりもパケットが速く到達するとする。
【０２６０】
図５において、ＳＥＱ１〜ＳＥＱ５までのパケットの順序確認が完了して出力バッファ２４に転送され、これらパケットに対して、ＡＣＫ送信部２３より、ＡＣＫ１〜ＡＣＫ５が送出されているとする。
【０２６１】
ここで順序バッファ２１３に、欠落したＳＥＱ＝６のパケットの次に網３３に送出されたＳＥＱ＝１２のパケットが格納されると、順序確認動作２２１が起動する。しかしながら出力バッファ２４に送出できるパケットがないので、ただちに欠落検出部２０に取出完了通知が行われる。
【０２６２】
欠落検出部２０は、順序バッファ２１１〜２１４に格納されているパケットの個数を調べる。ここで順序バッファ２１３を含む全ての順序バッファ内にパケットの格納を確認し、欠落が発生しているとみなして、ＡＣＫ送信部２３Ａに対して再送要求を行う。
【０２６３】
ＡＣＫ送信部２３Ａは、欠落検出部２０からの再送要求を受け、前回送出したＡＣＫ（ＡＣＫ＝５）に１を足したＳＥＱ＝６を含むＮＡＣＫ（否定送達確認）を送信する。送信機１は、ＮＡＣＫが届いたため、再送要求があったと判断して、ＳＥＱ＝６のパケットを再送する。
【０２６４】
前記再送により送信されたＳＥＱ＝６のパケットは、受信機２内の格納制御部２７１Ａ〜２７４Ａにより、追越バッファ２１５に転送され、追越バッファ２１５より出力バッファ２１４に転送される。
【０２６５】
以上に示したように、欠落検出部２０による欠落検出と、Ｓｅｌｅｃｔｉｖｅ  ＡＣＫによる、欠落パケットのみの選択的な再送を組み合わせることにより、高速に障害を検知し、さらに再送時の帯域圧迫を最小限に抑えることができる。このような方式を用いることで、従来技術２よりも簡略な機構（ＳＥＱを１段のみ用いる）で、従来技術２と同等の障害検知性能、ならびに再送時に従来技術２と同等の帯域圧迫率を実現できる。
【０２６６】
（本実施形態の効果）
次に、本実施の形態の効果について説明する。
【０２６７】
本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、１段のみのシーケンス番号の管理を用いて、パケットロスを高速に検出することができる。
【０２６８】
これは、前記受信機内の欠落検出部において、パケットロスが発生した場合はすべての網の順序バッファにパケットが格納される特性に着目し、網毎に設置した順序保証バッファへのパケット滞留状態を監視するからである。
【０２６９】
また、本実施の形態に挙げた発明を利用すると、送信機と受信機が複数の網によって接続されているマルチパス環境において、前記各網内でのパケットの順序逆転が発生しない場合に、１段のみのシーケンス番号の管理を用いて、パケットロス時の再送を高速に開始することができる。
【０２７０】
これは、前記受信機内の欠落検出部において、パケットロスが発生した場合はすべての網の順序バッファにパケットが格納される特性に着目し、網毎に設置した順序保証バッファへのパケット滞留状態を監視することで、再送タイマによらない高速な欠落検出を行えるからである。
【０２７１】
以上の実施の形態及び実施形態では、パケットという用語を用いて説明を行ったが、フレーム（イーサネット（登録商標）フレーム等）でも同様に実施できる。
【０２７２】
以上好ましい実施の形態及び実施形態をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施形態に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。当然ながら、以上に述べた実施の形態及び実施形態を、相互に組み合わせて実施することもできる。
【産業上の利用可能性】
【０２７３】
本発明によれば、複数の網を利用して大容量のデータを高速転送するイーサネット（登録商標）スイッチやルータ等に適用できる。また、サーバ間を高速に結ぶネットワークインターフェースカード（ＮＩＣ）等にも適用できる。
【符号の説明】
【０２７４】
１  送信機
２  受信機
１１  データ部
１２  ＳＥＱ付与部
１３  再送バッファ
１４  振り分け部
１４Ａ  振り分け部
１５  再送タイマ
１９  内蔵時計
２２  取出制御部
２２Ａ  取出制御部
２３  ＡＣＫ送信部
２４  出力バッファ
２５  ＳＥＱ削除部
２６  データ受信部
２８  容量決定部
２９  内蔵時計
２１１  順序バッファ
２１２  順序バッファ
２１３  順序バッファ
２１４  順序バッファ
２２１  順序確認動作
２２１Ａ  順序確認動作
２２２  欠落検出動作
２２２Ａ  欠落検出動作
２２３  パケット取出動作
２７１  格納制御部
２７２  格納制御部
２７３  格納制御部
２７４  格納制御部
【図１】
2010074855.tif 000003
【図２】
2010074855.tif 000004
【図３】
2010074855.tif 000005
【図４】
2010074855.tif 000006
【図５】
2010074855.tif 000007
【図６】
2010074855.tif 000008
【図７】
2010074855.tif 000009
【図８】
2010074855.tif 000010
【図９】
2010074855.tif 000011
【図１０】
2010074855.tif 000012
【図１１】
2010074855.tif 000013
【図１２】
2010074855.tif 000014
【図１３】
2010074855.tif 000015
【図１４】
2010074855.tif 000016
【図１５】
2010074855.tif 000017
【図１６】
2010074855.tif 000018