(57)【特許請求の範囲】
【請求項１】
順序付けられた複数の送信パケットを、送信装置が、通信回線が異なる複数の中継装置に振り分けて受信装置に送信する送信システムにおける前記中継装置であって、
前記順序付けられた複数の送信パケットのうちで前記中継装置に振り分けられたパケットを格納するバッファと、
前記バッファに格納されているパケットの廃棄条件を満たした場合に、前記バッファに格納されているパケットの中から前記順序が最初ではないパケットを廃棄対象のパケットとして選択する選択部と、
前記選択部によって選択されたパケットの前記順序を特定可能であり前記選択されたパケットを廃棄することを示す廃棄情報を、前記選択されたパケットより順序が前のパケットに付加して送信する送信部と、
を備えることを特徴とする中継装置。
【請求項２】
前記廃棄情報は、前記選択されたパケットの前記順序と、前記廃棄情報が付加されるパケットの前記順序と、の差分を示す情報を含むことを特徴とする請求項１に記載の中継装置。
【請求項３】
順序付けられた複数の送信パケットを、送信装置が、通信回線が異なる複数の中継装置に振り分けて受信装置に送信する送信システムにおいて、
前記複数の中継装置のそれぞれは、
前記順序付けられた複数の送信パケットのうちで前記中継装置に振り分けられたパケットを格納するバッファと、
前記バッファに格納されているパケットの廃棄条件を満たした場合に、前記バッファに格納されているパケットの中から廃棄対象のパケットを選択する選択部と、
前記選択部によって選択されたパケットの前記順序を特定可能であり前記選択されたパケットを廃棄することを示す廃棄情報を、前記選択されたパケットより順序が前のパケットに付加して送信する送信部と、
を備えることを特徴とする送信システム。
【請求項４】
前記選択部は、前記バッファの末尾に格納されているパケットを選択し、
前記送信装置は、前記複数の中継装置のうちのいずれかの中継装置によってパケットが廃棄されたことを示す情報を前記いずれかの中継装置から受信した場合に、前記複数の中継装置のうちの前記いずれかの中継装置以外の中継装置のいずれかに前記複数の送信パケットを出力することを特徴とする請求項３に記載の送信システム。
【請求項５】
前記送信装置は、前記いずれかの中継装置以外の中継装置のうちの、最も伝送速度が高いリンクに接続された中継装置に前記パケットを出力することを特徴とする請求項４に記載の送信システム。
【請求項６】
順序付けられた複数の送信パケットを、送信装置が、通信回線が異なる複数の中継装置に振り分けて受信装置に送信する通信システムにおいて、
前記順序付けられた複数の送信パケットのうちで前記中継装置に振り分けられたパケットをバッファに格納し、前記バッファに格納されているパケットの廃棄条件を満たした場合に、前記バッファに格納されているパケットの中から前記順序が最初ではないパケットを廃棄対象のパケットとして選択し、選択したパケットの前記順序を特定可能であり前記選択されたパケットを廃棄することを示す廃棄情報を、前記選択したパケットより順序が前のパケットに付加して送信する中継装置と、
前記中継装置によって送信されたパケットを受信し、受信する各パケットに含まれる前記順序になるように整列して前記受信する各パケットを出力し、前記廃棄情報によって特定される順序より後の順序のパケットを、前記特定される順序のパケットを待たずに出力する受信装置と、
を含むことを特徴とする通信システム。
【請求項７】
順序付けられた複数の送信パケットを、送信装置が、通信回線が異なる複数の中継装置に振り分けて受信装置に送信する送信システムにおける前記中継装置の中継方法であって、
前記順序付けられた複数の送信パケットのうちで前記中継装置に振り分けられたパケットをバッファに格納し、
前記バッファに格納されているパケットの廃棄条件を満たした場合に、前記バッファに格納されているパケットの中から前記順序が最初ではないパケットを廃棄対象のパケットとして選択し、
選択したパケットの前記順序を特定可能であり前記選択されたパケットを廃棄することを示す廃棄情報を、前記選択したパケットより順序が前のパケットに付加して送信することを特徴とする中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、受信装置、送信システム、通信システムおよび中継方法に関する。
【背景技術】
【０００２】
通信システムにおいて高速なデータ転送を実現するために、複数の通信リンクを束ねて大容量のリンクとして使用するリンクアグリゲーションが用いられている。リンクアグリゲーションの例としては、有線のイーサネットリンク（イーサネットは登録商標）についてリンクアグリゲーションを行うＩＥＥＥ８０２．３ａｄがある。
【０００３】
また、データフローを複数のリンクに振り分けることでリンクの帯域を効率的に使用する技術が知られている。データフローを複数のリンクに振り分ける構成においては、たとえば複数のデータフローのパケットや制御メッセージなども各リンクに振り分けて伝送されるため、振り分けられたパケットが各リンクを介して受信側へ到着する時刻にばらつきが生じる。このため、データフロー内でパケットの順序が逆転する場合がある。
【０００４】
これに対して、伝送される各パケットについて、送信側でデータフローを識別してシーケンス番号を付加した上で複数のリンクにパケットを振り分け、受信側でシーケンス番号に基づいて順序整列が行われる。これにより、データフローを複数のリンクに割り当てても各パケットの順序が保証される。
【０００５】
また、受信側において伝送エラーによるパケットの消失を検出し、パケットの消失を検出した場合に待ち合わせ中のパケットの転送処理を進める技術が知られている（たとえば、下記特許文献１参照。）。この技術では、受信待ち中のパケットより大きなシーケンス番号を持つパケットが受信された時点で、受信待ち中のパケットは伝送途中で消失したと判断される。したがって、この技術では、受信待ち中のパケットより大きなシーケンス番号を持つパケットが受信されるまではパケットの受信待ちが行われる。
【０００６】
また、送信側があるフレームにおいて無線環境が悪いことを検出した場合に、そのフレームでデータを送らないことをそのフレームによって受信側に通知する技術が知られている（たとえば、下記特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−８０１３９号公報
【特許文献２】特開２００４−７０２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来技術では、送信側の送信バッファにおいてパケットが廃棄された場合に、パケットの廃棄を受信側が速やかに認識することができない。このため、受信側において、未到着のパケットの待ち合わせによる遅延時間が発生するという問題がある。
【０００９】
本発明は、上述した従来技術による問題点を解消するため、遅延時間を低減することができる中継装置、受信装置、送信システム、通信システムおよび中継方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、本発明の一側面によれば、順序付けられた複数の送信パケットを、送信装置が複数の中継装置を介する複数の通信回線に振り分けて受信装置に送信する場合において、前記順序付けられた複数の送信パケットのうちで前記中継装置に振り分けられたパケットをバッファに格納し、前記バッファに格納されているパケットの廃棄条件を満たした場合に、前記バッファに格納されているパケットの中から廃棄対象のパケットを選択し、選択したパケットの前記順序を特定可能であり前記選択されたパケットを廃棄することを示す廃棄情報を、前記選択したパケットより順序が前のパケットに付加して送信することを特徴とする中継装置、受信装置、送信システム、通信システムおよび中継方法が提案される。
【発明の効果】
【００１１】
本発明の一側面によれば、遅延時間を低減することができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１−１】図１−１は、実施の形態１にかかる通信システムの一例を示す図（その１）である。
【図１−２】図１−２は、実施の形態１にかかる通信システムの一例を示す図（その２）である。
【図１−３】図１−３は、実施の形態１にかかる送信装置の一例を示す図である。
【図２】図２は、送信側のデータ転送装置の構成例を示す図である。
【図３】図３は、送信側の回線終端装置の構成例を示す図である。
【図４】図４は、受信側の回線終端装置の構成例を示す図である。
【図５】図５は、受信側のデータ転送装置の構成例を示す図である。
【図６】図６は、送信側のデータ転送装置による受信処理の一例を示すフローチャートである。
【図７】図７は、送信側のデータ転送装置による送信処理の一例を示すフローチャートである。
【図８】図８は、送信側の回線終端装置による受信処理の一例を示すフローチャートである。
【図９】図９は、送信側の回線終端装置による送信処理の一例を示すフローチャートである。
【図１０】図１０は、受信側のデータ転送装置による受信処理の一例を示すフローチャートである。
【図１１】図１１は、受信側のデータ転送装置によるタイマ管理処理の一例を示すフローチャートである。
【図１２】図１２は、受信側のデータ転送装置による送信処理の一例を示すフローチャートである。
【図１３】図１３は、送信側のデータ転送装置の構成例を示す図である。
【図１４】図１４は、送信側の回線終端装置の構成例を示す図である。
【図１５】図１５は、受信側のデータ転送装置の構成例を示す図である。
【図１６】図１６は、送信側のデータ転送装置による受信処理の一例を示すフローチャートである。
【図１７】図１７は、送信側のデータ転送装置による送信処理の一例を示すフローチャートである。
【図１８】図１８は、送信側の回線終端装置による受信処理の一例を示すフローチャートである。
【図１９】図１９は、送信側の回線終端装置による送信処理の一例を示すフローチャートである。
【図２０】図２０は、受信側のデータ転送装置による受信処理の一例を示すフローチャートである。
【図２１】図２１は、受信側のデータ転送装置による送信処理の一例を示すフローチャートである。
【図２２−１】図２２−１は、実施の形態３にかかる通信システムの一例を示す図（その１）である。
【図２２−２】図２２−２は、実施の形態３にかかる通信システムの一例を示す図（その２）である。
【図２３】図２３は、送信側のデータ転送装置の構成例を示す図である。
【図２４】図２４は、送信側の回線終端装置の構成例を示す図である。
【図２５】図２５は、送信側のデータ転送装置による受信処理の一例を示すフローチャートである。
【図２６】図２６は、送信側の回線終端装置による受信処理の一例を示すフローチャートである。
【図２７】図２７は、受信側のデータ転送装置による受信処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、本発明にかかる中継装置、受信装置、送信システム、通信システムおよび中継方法の実施の形態を詳細に説明する。
【００１４】
（実施の形態１）
（実施の形態１にかかる通信システム）
図１−１は、実施の形態１にかかる通信システムの一例を示す図（その１）である。図１−２は、実施の形態１にかかる通信システムの一例を示す図（その２）である。図１−１，図１−２に示す通信システム１００は、リンクＬ１，Ｌ２（通信回線）を用いたリンクアグリゲーションによりデータフローを伝送する通信システムである。リンクＬ１，Ｌ２は、無線のリンクであってもよいし、有線のリンクであってもよい。
【００１５】
図１−１に示すように、通信システム１００は、データ転送装置１１０と、回線終端装置１２１，１２２（中継装置）と、回線終端装置１３１，１３２と、データ転送装置１４０と、を含んでいる。データ転送装置１１０および回線終端装置１２１，１２２は、データフローの各パケット（送信パケット）をリンクＬ１，Ｌ２に振り分けて送信する送信システムである。
【００１６】
データ転送装置１１０にはデータフローが入力される。データ転送装置１１０は、入力されたデータフローの各パケットに、パケットの順序を示す順序情報を付加する順序付加部としての機能を有する。または、データ転送装置１１０には、順序情報が付加された各パケットが入力されてもよい。この場合は、データ転送装置１１０は、順序情報を付加する順序付加部としての機能を有していなくてもよい。
【００１７】
順序情報は、たとえば連番のＳＮ（Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ：シーケンス番号）である。また、データ転送装置１１０は、ＳＮを付加した各パケットをリンクＬ１，Ｌ２に振り分ける振分部としての機能を有する。たとえば、データ転送装置１１０は、リンクＬ１，Ｌ２の各伝送速度などの情報を取得し、取得した情報に基づいて各パケットをリンクＬ１，Ｌ２に振り分ける。
【００１８】
図１−１に示す例では、データ転送装置１１０は、ＳＮが「１」，「３」，「５」，「７」の各パケットをリンクＬ１に振り分け、ＳＮが「２」，「４」，「６」，「８」の各パケットをリンクＬ２に振り分けている。データ転送装置１１０は、リンクＬ１に振り分けたパケットを回線終端装置１２１へ送信する。また、データ転送装置１１０は、リンクＬ２に振り分けたパケットを回線終端装置１２２へ送信する。データ転送装置１１０と回線終端装置１２１，１２２との間の通信は、有線であってもよいし無線であってもよい。
【００１９】
回線終端装置１２１，１２２は、それぞれリンクＬ１，Ｌ２に接続された送信器である。回線終端装置１２１は、データ転送装置１１０から送信された各パケットを自身のバッファ１２１ａの末尾に順次格納する。また、回線終端装置１２１は、バッファ１２１ａの先頭からパケットを順次読み出してリンクＬ１へ送出する。リンクＬ１へ送出された各パケットは回線終端装置１３１へ伝送される。
【００２０】
回線終端装置１２２は、データ転送装置１１０から送信された各パケットを自身のバッファ１２２ａの末尾に順次格納する。そして、回線終端装置１２２は、バッファ１２２ａの先頭からパケットを順次読み出してリンクＬ２へ送出する。リンクＬ２へ送出された各パケットは回線終端装置１３２へ伝送される。
【００２１】
回線終端装置１３１，１３２は、それぞれリンクＬ１，Ｌ２に対応して設けられた送信器であり、それぞれリンクＬ１，Ｌ２を終端する。回線終端装置１３１は、回線終端装置１２１から伝送されたパケットをデータ転送装置１４０へ転送する。回線終端装置１３２は、回線終端装置１２２から伝送されたパケットをデータ転送装置１４０へ転送する。
【００２２】
また、回線終端装置１２１，１２２のそれぞれは、パケットの廃棄条件を満たした場合に、それぞれバッファ１２１ａ，１２２ａのパケットの一部を廃棄する。具体的には、回線終端装置１２１，１２２は、廃棄条件を満たした場合に、それぞれバッファ１２１ａ，１２２ａの先頭以外に格納されているパケットの中から廃棄対象のパケットを選択する。
【００２３】
パケットの廃棄条件は、たとえばバッファ１２１ａ，１２２ａの空き容量に基づく条件である。たとえば、パケットの廃棄条件は、バッファ１２１ａ，１２２ａの空き容量が閾値未満になったことや、バッファ１２１ａ，１２２ａの使用量が閾値以上になったことである。また、廃棄条件は、バッファ１２１ａ，１２２ａの空き容量に基づく条件に限らない。たとえば、廃棄条件は、リンクＬ１，Ｌ２による伝送速度や、データ転送装置１１０から送信されるパケットのトラフィック量などに基づく条件であってもよい。
【００２４】
たとえば、リンクＬ２の伝送速度の低下がデータ転送装置１１０によって認識されると、データ転送装置１１０は、パケットのリンクＬ２への振り分け比率を減少させ、パケットのリンクＬ１への振り分け比率を増加させる。このとき、リンクＬ１，Ｌ２へのパケットの振り分け比率を変更するまでにはある程度の時間がかかる。このため、回線終端装置１２２のバッファ１２２ａに蓄積されるパケットが多くなり、バッファ１２２ａにおけるパケットの廃棄条件が満たされることが考えられる。
【００２５】
回線終端装置１２１，１２２は、選択したパケットをそれぞれバッファ１２１ａ，１２２ａから廃棄する。また、バッファ１２１ａ，１２２ａは、廃棄したパケットのＳＮを特定可能であり、パケットを廃棄することを示す廃棄情報を、廃棄対象のパケットより前にバッファ１２１ａ，１２２ａに格納されているパケットに付加する。廃棄したパケットのＳＮを特定可能な廃棄情報は、たとえば廃棄したパケットのＳＮを含む情報である。または、廃棄したパケットのＳＮを特定可能な廃棄情報は、たとえば、廃棄したパケットのＳＮと、廃棄情報を付加するパケットのＳＮと、の差分を示す情報である。
【００２６】
図１−１に示す例では、回線終端装置１２２において、ＳＮが「２」のパケットが送出された後、たとえばリンクＬ２の伝送速度が低下し、バッファ１２２ａにはＳＮが「４」，「６」，「８」の各パケットが格納されている状態で廃棄条件が満たされたとする。この場合は、回線終端装置１２２は、バッファ１２２ａの先頭以外に格納されているＳＮが「６」，「８」のパケットの中から廃棄対象のパケットを選択する。図１−１に示す例では、回線終端装置１２２はＳＮが「６」のパケットを廃棄対象として選択したとする。
【００２７】
また、回線終端装置１２２は、廃棄対象として選択したＳＮが「６」のパケットより前にバッファ１２２ａに格納されたパケットはＳＮが「４」のパケットのみであるため、ＳＮが「４」のパケットに廃棄情報１０１を付加する。廃棄情報１０１には、廃棄対象として選択したパケットのＳＮである「６」が含まれている。
【００２８】
または、廃棄情報１０１には、廃棄対象として選択したパケットのＳＮである「６」と、廃棄情報１０１を付加するパケットのＳＮである「４」と、の差分である「２」が含まれていてもよい。これにより、受信側において、ＳＮが「４」のパケットを受信した場合に、受信したパケットのＳＮである「４」に、廃棄情報が示す差分である「２」を加えた「６」が、送信側で廃棄されたパケットのＳＮであると特定することができる。特にＳＮが大きくなる場合において、廃棄情報１０１にＳＮの差分を含めることで、ＳＮそのものを廃棄情報１０１に含めるよりも廃棄情報１０１のサイズを小さくすることができる。
【００２９】
図１−１に示す例では、回線終端装置１２２は、ＳＮが「６」のパケットを廃棄したため、ＳＮが「２」のパケットのつぎに、ＳＮが「４」，「８」の各パケットを順次読み出してリンクＬ２へ送出する。また、ＳＮが「４」のパケットには、廃棄されたパケットのＳＮである「６」を含む廃棄情報１０１が付加されている。
【００３０】
一方、回線終端装置１２１は、バッファ１２１ａのパケットを廃棄せずにリンクＬ１へ送出したとする。その結果、図１−２に示すように、データ転送装置１４０は、ＳＮで「１」，「２」，「３」，「４」，「５」，「７」，「８」の順に各パケットを受信したとする。到着順序１４１はデータ転送装置１４０におけるパケットの到着順序である。
【００３１】
データ転送装置１４０は、パケットを受信するごとに、ＳＮに基づいて各パケットが順序通りに到達しているか否かを判断し、順序通りに到達したと判断したパケットについては順次後段へ出力する。また、データ転送装置１４０は、順序通りに到達していないと判断したパケットについては、パケットの順序の入れ替わりの可能性を考慮してパケットの待ち合わせを行い、順序を整列して後段へ出力する。パケットの順序の入れ替わりは、たとえば、各パケットがリンクＬ１，Ｌ２に振り分けられ、リンクＬ１，Ｌ２における各伝送時間が異なることによって生じる。
【００３２】
図１−２に示す例では、データ転送装置１４０は、ＳＮが「１」〜「５」の各パケットについては、ＳＮが連続しているため順序通りに到達したと判断して後段へ出力する。また、データ転送装置１４０は、ＳＮが「４」のパケットを受信した時点で、ＳＮが「４」のパケットに付加された廃棄情報１０１に基づいて、ＳＮが「６」のパケットが送信側で廃棄されたことを認識することができる。
【００３３】
このため、データ転送装置１４０は、ＳＮが「５」のパケットのつぎに受信したパケットのＳＮが「７」でありＳＮの飛びが発生しているが、ＳＮが「６」のパケットの待ち合わせを行わずにＳＮが「７」のパケットを後段へ出力することができる。これにより、送信側でパケットを廃棄した場合に、廃棄されたパケットの受信待ちを受信側で行うことを回避し、受信待ちによる遅延時間を低減することができる。また、廃棄情報を他のパケットに付加することで、廃棄情報を送信するためのパケットを生成して送信しなくても廃棄情報を送信することができる。このため、遅延時間を低減することができる。
【００３４】
なお、通信システム１００について、リンクＬ１，Ｌ２を用いたリンクアグリゲーションによりデータフローを伝送する構成について説明したが、３つ以上のリンクを用いたリンクアグリゲーションによりデータフローを伝送する構成としてもよい。
【００３５】
また、通信システム１００について、データ転送装置１１０からデータ転送装置１４０へデータフローを伝送する構成について説明したが、データ転送装置１４０からデータ転送装置１１０へもデータフローを伝送する構成としてもよい。
【００３６】
（実施の形態１にかかる送信装置）
図１−３は、実施の形態１にかかる送信装置の一例を示す図である。図１−３に示す送信装置１５０は、たとえば図１−１，図１−２に示した回線終端装置１２１，１２２のそれぞれに適用することができる。また、図１−１，図１−２に示した通信システム１００において、データ転送装置１４０からデータ転送装置１１０へもデータフローを伝送する構成とする場合は、送信装置１５０を回線終端装置１３１，１３２のそれぞれに適用することもできる。ただし、送信装置１５０は、回線終端装置１２１，１２２や回線終端装置１３１，１３２に限らず、バッファに格納されたパケットを読み出して送信する各種の送信装置に適用することができる。
【００３７】
図１−３に示すように、送信装置１５０は、バッファ１５１と、選択部１５２と、付加部１５３と、廃棄部１５４と、送信部１５５と、を備えている。送信装置１５０には、パケットの順序を示す順序情報を含む各パケットが順次入力される。順序情報は、たとえば連番のＳＮである。
【００３８】
バッファ１５１は、送信装置１５０へ入力された各パケットを、入力された順に格納する。したがって、バッファ１５１には、送信装置１５０からの各パケットがＳＮの示す順序で格納される。バッファ１５１は、たとえばＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ：先入れ先出し）のバッファである。図１−３に示す例では、ＳＮが「１」〜「６」の各パケットがＳＮの小さい順にバッファ１５１に格納されている。
【００３９】
選択部１５２は、バッファ１５１に格納されているパケットの廃棄条件を満たした場合に、バッファ１５１の先頭以外に格納されているパケットの中から廃棄対象のパケットを選択する。図１−３に示す例では、選択部１５２は、ＳＮが「２」〜「６」の各パケットの中から廃棄対象のパケットを１つ以上選択する。図１−３に示す例では、選択部１５２はＳＮが「４」のパケットを廃棄対象として選択したとする。選択部１５２は、選択した廃棄対象のパケットを付加部１５３および廃棄部１５４へ通知する。
【００４０】
廃棄条件は、たとえばバッファ１５１の空き容量に基づく条件である。たとえば、廃棄条件は、バッファ１５１の空き容量が閾値未満になったことや、バッファ１５１の使用量が閾値以上になったことである。また、廃棄条件は、バッファ１５１の空き容量に基づく条件に限らない。たとえば、廃棄条件は、送信部１５５による伝送速度や、送信装置１５０へ入力されるパケットのトラフィック量などに基づく条件であってもよい。
【００４１】
付加部１５３は、選択部１５２から通知された廃棄対象のパケットより前にバッファ１５１に格納されたパケットに廃棄情報１５３ａを付加する。図１−３に示す例では、付加部１５３は、ＳＮが「１」〜「３」の各パケットの少なくともいずれかに廃棄情報１５３ａを付加する。図１−３に示す例では、付加部１５３は、ＳＮが「２」のパケットに廃棄情報１５３ａを付加したとする。
【００４２】
廃棄情報１５３ａは、選択部１５２から通知された廃棄対象のパケットのＳＮである「４」を特定可能な情報であり、廃棄対象のパケットを廃棄することを示す情報である。廃棄対象のパケットのＳＮを特定可能な廃棄情報は、たとえば廃棄したパケットのＳＮを含む情報や、廃棄したパケットのＳＮと、廃棄情報を付加するパケットのＳＮと、の差分を示す情報などである。
【００４３】
以下の説明においては、廃棄情報１５３ａには、廃棄対象のパケットのＳＮである「４」が含まれる場合について説明する。付加部１５３は、たとえば、ＳＮが「２」のパケットのヘッダに廃棄情報を付加する。たとえば、パケットがイーサネットフレームである場合は、廃棄情報はイーサネットフレームのサブヘッダとして定義した領域に付加することができる。
【００４４】
廃棄部１５４は、選択部１５２から通知された廃棄対象のパケットをバッファ１５１から廃棄する。これにより、バッファ１５１の空き容量が増加する。図１−３に示す例では、廃棄部１５４は、ＳＮが「４」のパケットをバッファ１５１から廃棄する。
【００４５】
送信部１５５は、バッファ１５１に格納されているパケットをバッファ１５１に格納された順に読み出して送信する。すなわち、送信部１５５は、バッファ１５１の先頭からパケットを順次読み出して送信する。送信部１５５は、無線によりパケットを送信する無線通信部であってもよいし、有線によりパケットを送信する有線通信部であってもよい。
【００４６】
たとえば、送信部１５５は、各パケットに含まれるＳＮに基づく順序整列を行う受信装置へパケットを送信する。順序整列は、たとえば、ＳＮが示す順序となるように各パケットを整列し、整列した各パケットを出力する処理である。また、送信部１５５からパケットを受信する受信装置は、廃棄情報が付加されたパケットを受信すると、廃棄情報によって特定されるＳＮより後の順序を示すＳＮを含むパケットを、廃棄情報によって特定されるＳＮを含むパケットを待たずに出力する。
【００４７】
図１−３に示す例では、ＳＮが「４」のパケットが廃棄部１５４によって廃棄されているため、送信部１５５は、ＳＮが「１」〜「３」，「５」，「６」の各パケットを順次読み出して送信する。また、送信部１５５が送信するＳＮが「２」のパケットには廃棄情報１５３ａが付加されている。
【００４８】
これにより、ＳＮが「４」のパケットが送信側で廃棄されたことを、受信側においてＳＮが「４」のパケットの欠落が検知される前に受信側に通知することができる。すなわち、受信側の通信装置は、ＳＮが「２」のパケットを受信した時点で、受信したパケットに付加された廃棄情報１５３ａに基づいて、ＳＮが「４」のパケットが送信側で廃棄されたことを認識することができる。これにより、受信側の通信装置は、ＳＮが「４」のパケットの待ち合わせを行わずに、ＳＮが「５」，「６」の各パケットの受信処理を行うことができる。これにより、受信待ちによる遅延時間を低減することができる。
【００４９】
（送信側のデータ転送装置の構成）
図２は、送信側のデータ転送装置の構成例を示す図である。図２に示すように、送信側のデータ転送装置１１０は、回線ＩＦ部２１０と、ＳＮ付加部２２０と、バッファ２３０と、振分部２４０と、回線ＩＦ部２５１，２５２と、を備えている。
【００５０】
回線ＩＦ部２１０は、データ転送装置１１０の前段の通信装置（たとえばユーザ装置）からのパケットを受信する。回線ＩＦ部２１０は、受信したパケットをＳＮ付加部２２０へ出力する。ＳＮ付加部２２０は、回線ＩＦ部２１０から出力されたパケットにＳＮを付加する。ＳＮ付加部２２０によって付加されるＳＮは、パケットごとにたとえば１ずつ増加されていく。ＳＮ付加部２２０は、ＳＮを付加したパケットをバッファ２３０の末尾に格納する。
【００５１】
振分部２４０は、バッファ２３０に格納されたパケットを先頭から順に読み出し、読み出したパケットをリンクＬ１，Ｌ２に振り分ける。振分部２４０は、リンクＬ１に振り分けたパケットを回線ＩＦ部２５１へ出力する。また、振分部２４０は、リンクＬ２に振り分けたパケットを回線ＩＦ部２５２へ出力する。回線ＩＦ部２５１は、振分部２４０から出力されたパケットを回線終端装置１２１へ送信する。回線ＩＦ部２５２は、振分部２４０から出力されたパケットを回線終端装置１２２へ送信する。
【００５２】
回線ＩＦ部２１０および回線ＩＦ部２５１，２５２のそれぞれは、たとえば有線や無線の通信インタフェースによって実現することができる。ＳＮ付加部２２０および振分部２４０は、たとえばファームウェアやＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）などによって実現することができる。バッファ２３０は、たとえばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ランダムアクセスメモリ）などのメモリによって実現することができる。
【００５３】
（送信側の回線終端装置の構成）
図３は、送信側の回線終端装置の構成例を示す図である。図３においては回線終端装置１２１の構成例について説明するが、回線終端装置１２２の構成例についても同様である。図３に示すように、回線終端装置１２１は、回線ＩＦ部３１０と、バッファ３２０と、バッファ制御部３３０と、廃棄情報付加部３４０と、回線ＩＦ部３５０と、を備えている。回線ＩＦ部３１０は、データ転送装置１１０から送信されたパケットを受信する。回線ＩＦ部３１０は、受信したパケットをバッファ３２０の末尾に格納する。
【００５４】
バッファ制御部３３０は、バッファ３２０の使用量を監視する。バッファ３２０の使用量は、たとえば、バッファ３２０の最大の記憶容量のうちの現在使用されている容量の比率である。バッファ制御部３３０は、バッファ３２０の使用量が閾値を超えると、バッファ３２０に格納されたパケットのうちの先頭以外のパケットの中から廃棄対象のパケットを選択する。
【００５５】
そして、バッファ制御部３３０は、廃棄対象として選択したパケットのＳＮを抽出する。バッファ制御部３３０は、抽出したＳＮを廃棄情報付加部３４０へ通知する。また、バッファ制御部３３０は、選択したパケットをバッファ３２０から廃棄（たとえば削除）する。これにより、バッファ３２０の空き容量が増加する。
【００５６】
廃棄情報付加部３４０は、バッファ制御部３３０からＳＮが通知されると、バッファ３２０に格納されたパケットのうちの、通知されたＳＮよりも小さなＳＮが付加されたパケットの中から廃棄情報を付加する通知パケットを選択する。これにより、廃棄したパケットより前に格納されていたパケットの中から通知パケットを選択することができる。廃棄情報付加部３４０は、選択した通知パケットに、バッファ制御部３３０から通知されたＳＮを含む廃棄情報を付加する。
【００５７】
回線ＩＦ部３５０は、バッファ３２０に格納されたパケットを先頭から順に読み出し、読み出したパケットをリンクＬ１により送出する。なお、回線終端装置１２２の回線ＩＦ部３５０は、読み出したパケットをリンクＬ２により送出する。
【００５８】
回線ＩＦ部３１０および回線ＩＦ部３５０のそれぞれは、たとえば有線や無線の通信インタフェースによって実現することができる。バッファ制御部３３０および廃棄情報付加部３４０のそれぞれは、たとえばファームウェアやＤＳＰなどによって実現することができる。バッファ３２０は、たとえばＲＡＭなどのメモリによって実現することができる。
【００５９】
図１−３に示したバッファ１５１は、たとえばバッファ３２０によって実現することができる。図１−３に示した選択部１５２および廃棄部１５４は、たとえばバッファ制御部３３０によって実現することができる。図１−３に示した付加部１５３は、たとえば廃棄情報付加部３４０によって実現することができる。図１−３に示した送信部１５５は、たとえば回線ＩＦ部３５０によって実現することができる。
【００６０】
（受信側の回線終端装置の構成）
図４は、受信側の回線終端装置の構成例を示す図である。図４においては回線終端装置１３１の構成例について説明するが、回線終端装置１３２の構成例についても同様である。図４に示すように、回線終端装置１３１は、回線ＩＦ部４１０と、バッファ４２０と、回線ＩＦ部４３０と、を備えている。
【００６１】
回線ＩＦ部４１０は、回線終端装置１２１からリンクＬ１により送信されたパケットを受信する。なお、回線終端装置１３２の回線ＩＦ部４１０は、回線終端装置１２２からリンクＬ２により送信されたパケットを受信する。回線ＩＦ部４１０は、受信したパケットをバッファ４２０の末尾に格納する。回線ＩＦ部４３０は、バッファ４２０に格納されたパケットを先頭から順に読み出す。そして、回線ＩＦ部４３０は、読み出したパケットをデータ転送装置１４０へ送信する。
【００６２】
（受信側のデータ転送装置の構成）
図５は、受信側のデータ転送装置の構成例を示す図である。図５に示すように、受信側のデータ転送装置１４０は、回線ＩＦ部５１１，５１２と、廃棄情報検出部５２０と、廃棄ＳＮ記憶部５３０と、整列部５４０と、待ち合わせバッファ５５０と、出力バッファ５６０と、回線ＩＦ部５７０と、を備えている。
【００６３】
回線ＩＦ部５１１は、回線終端装置１３１から送信されたパケットを受信する。回線ＩＦ部５１１は、受信したパケットを廃棄情報検出部５２０へ出力する。回線ＩＦ部５１２は、回線終端装置１３２から送信されたパケットを受信する。回線ＩＦ部５１２は、受信したパケットを廃棄情報検出部５２０へ出力する。
【００６４】
廃棄情報検出部５２０は、回線ＩＦ部５１１，５１２から出力されたパケットに含まれる廃棄情報を検出する。廃棄情報検出部５２０は、廃棄情報を検出した場合は、検出した廃棄情報に含まれるＳＮを廃棄ＳＮとして廃棄ＳＮ記憶部５３０に記憶する。また、廃棄情報検出部５２０は、廃棄情報を検出した場合は、検出した廃棄情報をパケットから削除する。また、廃棄情報検出部５２０は、回線ＩＦ部５１１，５１２から出力されたパケットを整列部５４０へ出力する。
【００６５】
整列部５４０は、廃棄情報検出部５２０から出力されたパケットに付加されたＳＮを抽出し、抽出したＳＮに基づいて、データ転送装置１４０が受信した各パケットの順序整列を行う。具体的には、整列部５４０は、廃棄情報検出部５２０から出力されたパケットのＳＮが前回のＳＮより１だけ大きい場合は、パケットが正常に到着したと判断し、廃棄情報検出部５２０から出力されたパケットを出力バッファ５６０へ格納する。
【００６６】
また、整列部５４０は、廃棄情報検出部５２０から出力されたパケットのＳＮが前回のＳＮより２以上大きい場合は、正常に到着していないパケットがあると判断し、廃棄情報検出部５２０から出力されたパケットを待ち合わせバッファ５５０に格納する。ただし、整列部５４０は、廃棄情報検出部５２０から出力されたパケットのＳＮと、前回のＳＮとの間のＳＮが、廃棄ＳＮ記憶部５３０に記憶された廃棄ＳＮと同じである場合は、パケットのＳＮが前回のＳＮより２以上大きい場合でもパケットを出力バッファ５６０に格納する。
【００６７】
また、整列部５４０は、廃棄ＳＮ記憶部５３０から出力されたパケットのＳＮが、前回のＳＮと、待ち合わせバッファ５５０に格納されたパケットのＳＮと、の間のＳＮである場合は、出力されたパケットを出力バッファ５６０に格納する。そして、整列部５４０は、待ち合わせバッファ５５０に格納されたパケットのＳＮが、出力バッファ５６０に格納したパケットのＳＮより１だけ大きい場合は、待ち合わせバッファ５５０に格納されたパケットを読み出して出力バッファ５６０に格納する。
【００６８】
回線ＩＦ部５７０は、出力バッファ５６０に格納されたパケットを先頭から順に読み出す。そして、回線ＩＦ部５７０は、読み出したパケットをデータ転送装置１４０の後段の通信装置（たとえばユーザ装置）へ送信する。
【００６９】
回線ＩＦ部５１１，５１２および回線ＩＦ部５７０のそれぞれは、たとえば有線や無線の通信インタフェースによって実現することができる。廃棄情報検出部５２０および整列部５４０のそれぞれは、たとえばファームウェアやＤＳＰなどによって実現することができる。廃棄ＳＮ記憶部５３０、待ち合わせバッファ５５０および出力バッファ５６０は、たとえばＲＡＭなどのメモリによって実現することができる。
【００７０】
（送信側のデータ転送装置による処理）
図６は、送信側のデータ転送装置による受信処理の一例を示すフローチャートである。送信側のデータ転送装置１１０は、たとえば以下の各ステップを実行する。まず、回線ＩＦ部２１０が、データ転送装置１１０の前段の通信装置からのパケットを受信したか否かを判断し（ステップＳ６０１）、パケットを受信するまで待つ（ステップＳ６０１：Ｎｏのループ）。パケットを受信すると（ステップＳ６０１：Ｙｅｓ）、ＳＮ付加部２２０が、受信されたパケットにＳＮを付加する（ステップＳ６０２）。
【００７１】
つぎに、ＳＮ付加部２２０が、ＳＮをインクリメントする（ステップＳ６０３）。つぎに、ＳＮ付加部２２０が、ステップＳ６０２によってＳＮを付加したパケットをバッファ２３０の末尾に格納し（ステップＳ６０４）、ステップＳ６０１へ戻る。以上の各ステップにより、データ転送装置１１０は、パケットを受信した場合に、受信したパケットにＳＮを付加し、ＳＮを付加したパケットをバッファ２３０に格納することができる。
【００７２】
図７は、送信側のデータ転送装置による送信処理の一例を示すフローチャートである。送信側のデータ転送装置１１０は、図６に示した受信動作とともに、たとえば以下の各ステップを実行する。まず、振分部２４０が、バッファ２３０にパケットが格納されているか否かを判断し（ステップＳ７０１）、バッファ２３０にパケットが格納されるまで待つ（ステップＳ７０１：Ｎｏのループ）。
【００７３】
ステップＳ７０１において、バッファ２３０にパケットが格納されると（ステップＳ７０１：Ｙｅｓ）、振分部２４０が、リンクＬ１，Ｌ２の中から、バッファ２３０の先頭に格納されたパケットの振分先のリンクを選択する（ステップＳ７０２）。たとえば、振分部２４０は、リンクＬ１，Ｌ２の各伝送速度に基づいて振分先のリンクを選択する。
【００７４】
つぎに、振分部２４０が、バッファ２３０の先頭に格納されたパケットを読み出す（ステップＳ７０３）。つぎに、振分部２４０が、回線終端装置１２１，１２２のうちのステップＳ７０２によって選択したリンクに対応する回線終端装置へ、ステップＳ７０３によって読み出したパケットを送信し（ステップＳ７０４）、ステップＳ７０１へ戻る。
【００７５】
ステップＳ７０４において、振分部２４０は、回線ＩＦ部２５１，２５２のうちの選択したリンクに対応する回線ＩＦ部へパケットを出力することによって、選択したリンクに対応する回線終端装置へパケットを送信する。以上の各ステップにより、データ転送装置１１０は、図６に示した受信処理によってバッファ２３０に格納されたパケットをリンクＬ１，Ｌ２に振り分けることができる。
【００７６】
（送信側の回線終端装置による処理）
図８は、送信側の回線終端装置による受信処理の一例を示すフローチャートである。ここでは回線終端装置１２１の受信処理について説明するが、回線終端装置１２２の受信処理についても同様である。回線終端装置１２１は、たとえば以下の各ステップを実行する。まず、回線ＩＦ部３１０が、データ転送装置１１０からのパケットを受信したか否かを判断し（ステップＳ８０１）、パケットを受信するまで待つ（ステップＳ８０１：Ｎｏのループ）。パケットを受信すると（ステップＳ８０１：Ｙｅｓ）、回線ＩＦ部３１０が、受信したパケットをバッファ３２０の末尾に格納する（ステップＳ８０２）。
【００７７】
つぎに、バッファ制御部３３０が、バッファ３２０の使用量が閾値を超過しているか否かを判断する（ステップＳ８０３）。バッファ３２０の使用量が閾値を超過していない場合（ステップＳ８０３：Ｎｏ）は、回線終端装置１２１は、ステップＳ８０１へ戻る。バッファ３２０の使用量が閾値を超過している場合（ステップＳ８０３：Ｙｅｓ）は、バッファ制御部３３０が、バッファ３２０に格納されたパケットのうちの先頭以外のパケットの中から廃棄対象のパケットを選択する（ステップＳ８０４）。
【００７８】
つぎに、バッファ制御部３３０が、ステップＳ８０４によって選択されたパケットに付加されたＳＮを抽出する（ステップＳ８０５）。つぎに、バッファ制御部３３０が、ステップＳ８０４によって選択したパケットをバッファ３２０から廃棄する（ステップＳ８０６）。つぎに、廃棄情報付加部３４０が、バッファ３２０に格納されたパケットのうちのステップＳ８０４によって選択された廃棄対象のパケットより前に格納されたパケットの中から、廃棄情報を付加する通知パケットを選択する（ステップＳ８０７）。
【００７９】
つぎに、廃棄情報付加部３４０が、ステップＳ８０５によって抽出されたＳＮを含む廃棄情報を、ステップＳ８０７によって選択した通知パケットに付加し（ステップＳ８０８）、ステップＳ８０１へ戻る。
【００８０】
以上の各ステップにより、回線終端装置１２１は、バッファ３２０の使用量が閾値を超過した場合にバッファ３２０のパケットを廃棄し、廃棄したパケットのＳＮを含む廃棄情報を、廃棄するパケットよりもＳＮの小さいパケットに付加することができる。
【００８１】
図９は、送信側の回線終端装置による送信処理の一例を示すフローチャートである。ここでは回線終端装置１２１の送信処理について説明するが、回線終端装置１２２の送信処理についても同様である。回線終端装置１２１は、図８に示した受信処理とともに、たとえば以下の各ステップを実行する。
【００８２】
まず、回線ＩＦ部３５０が、バッファ３２０にパケットが格納されているか否かを判断し（ステップＳ９０１）、バッファ３２０にパケットが格納されるまで待つ（ステップＳ９０１：Ｎｏのループ）。バッファ３２０にパケットが格納されると（ステップＳ９０１：Ｙｅｓ）、回線ＩＦ部３５０が、バッファ３２０の先頭に格納されたパケットを読み出す（ステップＳ９０２）。
【００８３】
つぎに、回線ＩＦ部３５０が、ステップＳ９０２によって読み出したパケットを送出し（ステップＳ９０３）、ステップＳ９０１へ戻る。以上の各ステップにより、回線終端装置１２１は、図８に示した受信処理によってバッファ３２０に格納されたパケットをリンクＬ１により送出することができる。
【００８４】
（受信側のデータ転送装置による処理）
図１０は、受信側のデータ転送装置による受信処理の一例を示すフローチャートである。受信側のデータ転送装置１４０は、たとえば以下の各ステップを実行する。まず、回線ＩＦ部５１１，５１２が、回線終端装置１３１，１３２からのパケットを受信したか否かを判断し（ステップＳ１００１）、パケットを受信するまで待つ（ステップＳ１００１：Ｎｏのループ）。パケットを受信すると（ステップＳ１００１：Ｙｅｓ）、廃棄情報検出部５２０が、ステップＳ１００１において受信されたパケットに廃棄情報が付加されているか否かを判断する（ステップＳ１００２）。
【００８５】
ステップＳ１００２において、廃棄情報が付加されていない場合（ステップＳ１００２：Ｎｏ）は、データ転送装置１４０は、ステップＳ１００５へ移行する。廃棄情報が付加されている場合（ステップＳ１００２：Ｙｅｓ）は、廃棄情報検出部５２０が、パケットに付加されていた廃棄情報に含まれるＳＮを廃棄ＳＮとして廃棄ＳＮ記憶部５３０に記憶する（ステップＳ１００３）。
【００８６】
つぎに、廃棄情報検出部５２０が、ステップＳ１００１において受信されたパケットから廃棄情報を削除する（ステップＳ１００４）。つぎに、整列部５４０が、ステップＳ１００１において受信されたパケットのＳＮを抽出する（ステップＳ１００５）。つぎに、整列部５４０が、ステップＳ１００５によって抽出したＳＮが、到着予定ＳＮと同じであるか否かを判断する（ステップＳ１００６）。到着予定ＳＮは、たとえばデータ転送装置１４０のメモリに記憶されている。到着予定ＳＮの初期値は、データ転送装置１１０によって付加されるＳＮの初期値と同じである。
【００８７】
ステップＳ１００６において、抽出されたＳＮが到着予定ＳＮと同じである場合（ステップＳ１００６：Ｙｅｓ）は、到着予定のパケットが正しく到着したと判断することができる。この場合は、整列部５４０が、到着予定ＳＮをインクリメントする（ステップＳ１００７）。つぎに、ステップＳ１００７によってインクリメントされた到着予定ＳＮが、ステップＳ１００３によって記憶された廃棄ＳＮと同じであるか否かを判断する（ステップＳ１００８）。
【００８８】
ステップＳ１００８において、到着予定ＳＮが廃棄ＳＮと同じである場合（ステップＳ１００８：Ｙｅｓ）は、到着予定ＳＮが示すパケットは送信側で廃棄されたと判断することができる。この場合は、整列部５４０は、ステップＳ１００７へ戻って到着予定ＳＮをインクリメントする。これにより、廃棄されたパケットのつぎのパケットのＳＮを到着予定ＳＮとし、廃棄されたパケットの受信待ちを行わないようにすることができる。
【００８９】
ステップＳ１００８において、到着予定ＳＮが廃棄ＳＮと同じでない場合（ステップＳ１００８：Ｎｏ）は、到着予定ＳＮが示すパケットは送信側で廃棄されていないと判断することができる。この場合は、整列部５４０が、ステップＳ１００１において受信されたパケットを出力バッファ５６０の末尾に格納し（ステップＳ１００９）、ステップＳ１００１へ戻る。
【００９０】
ステップＳ１００６において、抽出したＳＮが到着予定ＳＮと同じでない場合（ステップＳ１００６：Ｎｏ）は、到着予定のパケットが正しく到着しなかったと判断することができる。この場合は、整列部５４０が、抽出したＳＮが受信待ちＳＮと同じであるか否かを判断する（ステップＳ１０１０）。受信待ちＳＮは、たとえばデータ転送装置１４０のメモリに記憶されている。初期状態では、受信待ちＳＮはクリアされている。ステップＳ１０１０において、受信待ちＳＮがクリアされている場合は、抽出したＳＮが受信待ちＳＮと同じでないと判断される。
【００９１】
ステップＳ１０１０において、抽出したＳＮが受信待ちＳＮと同じでない場合（ステップＳ１０１０：Ｎｏ）は、抽出したＳＮと受信待ちＳＮとの間のＳＮの飛びが発生したと判断することができる。この場合は、整列部５４０は、飛びが発生したＳＮのパケットを待ち合わせるために、抽出したＳＮと受信待ちＳＮとの間のＳＮを受信待ちＳＮとしてデータ転送装置１４０のメモリに記憶する（ステップＳ１０１１）。
【００９２】
つぎに、整列部５４０が、所定時間を計時する受信待ちタイマを起動する（ステップＳ１０１２）。受信待ちタイマが計時する所定時間は、パケットの順序が入れ替わった可能性がある場合にパケットの待ち合わせを行う最大の時間である。つぎに、整列部５４０が、到着予定ＳＮを、抽出したＳＮ＋１に設定する（ステップＳ１０１３）つぎに、整列部５４０が、ステップＳ１００１において受信されたパケットを待ち合わせバッファ５５０の末尾に格納し（ステップＳ１０１４）、ステップＳ１００１へ戻る。
【００９３】
ステップＳ１０１０において、抽出したＳＮが受信待ちＳＮと同じである場合（ステップＳ１０１０：Ｙｅｓ）は、過去に飛びが発生したＳＮのパケットが到着したと判断することができる。この場合は、整列部５４０は、ステップＳ１０１２によって起動された受信待ちタイマを解除する（ステップＳ１０１５）。
【００９４】
つぎに、整列部５４０が、ステップＳ１００１において受信されたパケットを出力バッファの末尾に格納する（ステップＳ１０１６）。つぎに、整列部５４０が、待ち合わせバッファのパケットを読み出す（ステップＳ１０１７）。つぎに、整列部５４０が、ステップＳ１０１７によって読み出したパケットを出力バッファ５６０の末尾に格納し（ステップＳ１０１８）、ステップＳ１００１へ戻る。
【００９５】
以上の各ステップにより、データ転送装置１４０は、受信した各パケットに含まれるＳＮに基づく順序整列を行い、順序整列を行った各パケットを出力バッファ５６０に順次格納することができる。また、データ転送装置１４０は、廃棄パケットとして通知されたＳＮについては、ステップＳ１００７においてカウンタ（到着予定ＳＮ）を強制的に進めることで、廃棄されたパケットの受信待ちを行わないようにすることができる。
【００９６】
図１１は、受信側のデータ転送装置によるタイマ管理処理の一例を示すフローチャートである。データ転送装置１４０は、図１０に示した受信処理とともに、たとえば以下の各ステップを実行する。まず、整列部５４０が、図１０に示したステップＳ１０１２によって受信待ちタイマが起動しているか否かを判断する（ステップＳ１１０１）。
【００９７】
ステップＳ１１０１において、受信待ちタイマが起動していない場合（ステップＳ１１０１：Ｎｏ）は、データ転送装置１４０は、ステップＳ１１０１へ戻る。受信待ちタイマが起動している場合（ステップＳ１１０１：Ｙｅｓ）は、整列部５４０が、受信待ちタイマが満了したか否かを判断する（ステップＳ１１０２）。
【００９８】
ステップＳ１１０２において、受信待ちタイマが満了していない場合（ステップＳ１１０２：Ｎｏ）は、データ転送装置１４０は、ステップＳ１１０１へ戻る。受信待ちタイマが満了した場合（ステップＳ１１０２：Ｙｅｓ）は、整列部５４０が、受信待ちＳＮをクリアする（ステップＳ１１０３）。
【００９９】
つぎに、整列部５４０が、待ち合わせバッファ５５０に格納されたパケットを読み出す（ステップＳ１１０４）。つぎに、整列部５４０が、ステップＳ１１０４によって読み出したパケットを出力バッファ５６０の末尾に格納し（ステップＳ１１０５）、ステップＳ１１０１へ戻る。以上の各ステップにより、データ転送装置１４０は、受信待ちのパケットが所定時間以上到着しなかった場合にパケットの待ち合わせを終了することができる。
【０１００】
図１２は、受信側のデータ転送装置による送信処理の一例を示すフローチャートである。データ転送装置１４０は、図１０，図１１に示した各処理とともに、たとえば以下の各ステップを実行する。まず、回線ＩＦ部５７０が、出力バッファ５６０にパケットが格納されているか否かを判断し（ステップＳ１２０１）、出力バッファ５６０にパケットが格納されるまで待つ（ステップＳ１２０１：Ｎｏのループ）。
【０１０１】
ステップＳ１２０１において、出力バッファ５６０にパケットが格納されると（ステップＳ１２０１：Ｙｅｓ）、回線ＩＦ部５７０が、出力バッファ５６０の先頭に格納されたパケットを読み出す（ステップＳ１２０２）。つぎに、回線ＩＦ部５７０が、ステップＳ１２０２によって読み出したパケットのＳＮを削除する（ステップＳ１２０３）。
【０１０２】
つぎに、回線ＩＦ部５７０が、ステップＳ１２０３によってＳＮを削除したパケットをデータ転送装置１４０の後段の通信装置へ送信し（ステップＳ１２０４）、ステップＳ１２０１へ戻る。以上の各ステップにより、データ転送装置１４０は、図１０に示した受信処理によって受信して整列した各パケットを後段の通信装置へ送信することができる。
【０１０３】
このように、実施の形態１にかかる通信システム１００によれば、送信バッファのパケットを廃棄する際に、廃棄対象は二番目以降のパケットとし、廃棄したパケットのＳＮを、廃棄したパケットより前のパケットに付加して受信側に通知することができる。これにより、受信側は、送信側で廃棄されたパケットの飛びを検知する前に、送信側で廃棄されたパケットのＳＮを認識することができる。このため、送信側で廃棄されたパケットの受信待ちを受信側で行うことを回避し、受信待ちによる遅延時間を低減することができる。
【０１０４】
特に、リンクＬ１，Ｌ２が無線リンクである場合は、リンクＬ１，Ｌ２の伝送速度の変動が大きいため、送信バッファのパケット廃棄が発生しやすい。これに対して、通信システム１００によれば、送信側で廃棄されたパケットの受信待ちを受信側で行うことを回避し、受信待ちによる遅延時間を低減することができる。
【０１０５】
（実施の形態２）
実施の形態２においては、データ転送装置１１０からデータ転送装置１４０へ複数のデータフローが伝送される場合について説明する。実施の形態２にかかる通信システム１００において、実施の形態１にかかる通信システム１００と異なる部分について説明する。また、複数のデータフローの一例として、２つのデータフローｆ１，ｆ２が伝送される場合について説明する。
【０１０６】
（送信側のデータ転送装置の構成）
図１３は、送信側のデータ転送装置の構成例を示す図である。図１３において、図２に示した部分と同様の部分については同一の符号を付して説明を省略する。図１３に示すように、実施の形態２にかかる送信側のデータ転送装置１１０は、図２に示したＳＮ付加部２２０およびバッファ２３０に代えて、識別部２６０、ＳＮ付加部２２１，２２２およびバッファ２３１，２３２を備えている。
【０１０７】
回線ＩＦ部２１０は、受信したパケットを識別部２６０へ出力する。識別部２６０は、回線ＩＦ部２１０から出力されたパケットのデータフロー（データフローｆ１またはデータフローｆ２）を識別する。たとえば、識別部２６０は、パケットのヘッダ情報に基づいてパケットのデータフローを識別する（他の識別部についても同様）。
【０１０８】
ヘッダ情報としては、たとえば、イーサネットヘッダの送信元／宛先ＭＡＣアドレス、プロトコル種別、ＩＰヘッダの送信元／宛先ＩＰアドレス、ＴＣＰ／ＵＤＰプロトコル種別、ＴＣＰまたはＵＤＰヘッダの送信元／宛先ポート番号などを挙げることができる。識別部２６０は、回線ＩＦ部２１０から出力されたパケットを、ＳＮ付加部２２１，２２２のうちの識別したデータフローに対応するＳＮ付加部へ出力する。
【０１０９】
ＳＮ付加部２２１，２２２は、それぞれデータフローｆ１，ｆ２に対応するＳＮ付加部である。ＳＮ付加部２２１，２２２のそれぞれは図２に示したバッファ２３０と同様である。また、ＳＮ付加部２２１，２２２は、互いに独立したＳＮをパケットに付加する。これにより、データ転送装置１１０が受信した各パケットに対して、データフローごとのＳＮを付加することができる。ＳＮ付加部２２１，２２２は、ＳＮを付加したパケットをそれぞれバッファ２３１，２３２に格納する。
【０１１０】
バッファ２３１，２３２は、それぞれデータフローｆ１，ｆ２に対応するバッファである。振分部２４０は、バッファ２３１，２３２に格納されたパケットを読み出して回線ＩＦ部２５１，２５２へ出力する。なお、振分部２４０をデータフローｆ１，ｆ２のそれぞれに対応して設けてもよい。
【０１１１】
（送信側の回線終端装置の構成）
図１４は、送信側の回線終端装置の構成例を示す図である。図１４において、図３に示した部分と同様の部分については同一の符号を付して説明を省略する。図１４に示すように、実施の形態２にかかる送信側の回線終端装置１２１は、図３に示したバッファ３２０に代えて、識別部３８０およびバッファ３２１，３２２を備えている。また、回線終端装置１２１は、図３に示したバッファ制御部３３０および廃棄情報付加部３４０に代えて、バッファ制御部３３１，３３２および廃棄情報付加部３４１，３４２を備えている。回線終端装置１２２についても同様である。
【０１１２】
回線ＩＦ部３１０は、受信したパケットを識別部３８０へ出力する。識別部３８０は、回線ＩＦ部３１０から出力されたパケットのデータフロー（データフローｆ１またはデータフローｆ２）を識別する。識別部３８０は、回線ＩＦ部３１０から出力されたパケットを、バッファ３２１，３２２のうちの識別したデータフローに対応するバッファの末尾に格納する。
【０１１３】
バッファ３２１，３２２は、それぞれデータフローｆ１，ｆ２に対応するバッファである。バッファ制御部３３１，３３２は、それぞれバッファ３２１，３２２に対応するバッファ制御部である。バッファ制御部３３１，３３２のそれぞれは、図３に示したバッファ制御部３３０と同様である。廃棄情報付加部３４１，３４２は、それぞれバッファ３２１，３２２に対応する廃棄情報付加部である。廃棄情報付加部３４１，３４２のそれぞれは、図３に示した廃棄情報付加部３４０と同様である。回線ＩＦ部３５０は、バッファ３２１，３２２に格納されたパケットを読み出して送出する。
【０１１４】
（受信側のデータ転送装置の構成）
図１５は、受信側のデータ転送装置の構成例を示す図である。図１５において、図５に示した部分と同様の部分については同一の符号を付して説明を省略する。図１５に示すように、実施の形態２にかかる受信側のデータ転送装置１４０は、図５に示した廃棄情報検出部５２０および廃棄ＳＮ記憶部５３０に代えて、識別部５８０、廃棄情報検出部５２１，５２２および廃棄ＳＮ記憶部５３１，５３２を備えている。また、データ転送装置１４０は、図５に示した整列部５４０、待ち合わせバッファ５５０および出力バッファ５６０に代えて、整列部５４１，５４２、待ち合わせバッファ５５１，５５２および出力バッファ５６１，５６２を備えている。
【０１１５】
回線ＩＦ部５１１，５１２は、受信したパケットを識別部５８０へ出力する。識別部５８０は、回線ＩＦ部５１１，５１２から出力されたパケットのデータフロー（データフローｆ１またはデータフローｆ２）を識別する。識別部５８０は、回線ＩＦ部５１１，５１２から出力されたパケットを、廃棄情報検出部５２１，５２２のうちの識別した廃棄情報検出部へ出力する。
【０１１６】
廃棄情報検出部５２１，５２２は、それぞれデータフローｆ１，ｆ２に対応する廃棄情報検出部である。廃棄情報検出部５２１，５２２のそれぞれは図５に示した廃棄情報検出部５２０と同様である。廃棄情報検出部５２１，５２２は、検出した廃棄情報に含まれるＳＮを廃棄ＳＮとしてそれぞれ廃棄ＳＮ記憶部５３１，５３２に記憶する。また、廃棄情報検出部５２１，５２２は、パケットをそれぞれ整列部５４１，５４２へ出力する。
【０１１７】
整列部５４１，５４２は、それぞれデータフローｆ１，ｆ２に対応する整列部である。整列部５４１，５４２のそれぞれは図５に示した整列部５４０と同様である。整列部５４１，５４２は、それぞれ飛びが発生したパケットについてはそれぞれ待ち合わせバッファ５５１，５５２に格納する。また、整列部５４１，５４２は、正常に到着したパケットについてはそれぞれ出力バッファ５６１，５６２に格納する。
【０１１８】
待ち合わせバッファ５５１，５５２は、それぞれデータフローｆ１，ｆ２に対応する待ち合わせバッファである。出力バッファ５６１，５６２は、それぞれデータフローｆ１，ｆ２に対応する出力バッファである。回線ＩＦ部５７０は、出力バッファ５６１，５６２に格納されたパケットを読み出して送信する。
【０１１９】
（送信側のデータ転送装置による処理）
図１６は、送信側のデータ転送装置による受信処理の一例を示すフローチャートである。実施の形態２にかかる送信側のデータ転送装置１１０は、たとえば以下の各ステップを実行する。まず、回線ＩＦ部２１０が、データ転送装置１１０の前段の通信装置からのパケットを受信したか否かを判断し（ステップＳ１６０１）、パケットを受信するまで待つ（ステップＳ１６０１：Ｎｏのループ）。
【０１２０】
ステップＳ１６０１において、パケットを受信すると（ステップＳ１６０１：Ｙｅｓ）、識別部２６０が、ステップＳ１６０１において受信されたパケットのデータフローを識別する（ステップＳ１６０２）。つぎに、データ転送装置１１０は、受信されたパケットに、ステップＳ１６０２によって識別されたデータフローに対応するＳＮを付加する（ステップＳ１６０３）。ステップＳ１６０３は、ＳＮ付加部２２１，２２２のうちの識別されたデータフローに対応するＳＮ付加部によって実行される。
【０１２１】
つぎに、ＳＮ付加部２２１，２２２のうちのデータフローに対応するＳＮ付加部が、データフローに対応するＳＮをインクリメントする（ステップＳ１６０４）。つぎに、ＳＮ付加部２２１，２２２のうちのデータフローに対応するＳＮ付加部が、ステップＳ１６０３によってＳＮを付加したパケットをデータフローに対応するバッファの末尾に格納し（ステップＳ１６０５）、ステップＳ１６０１へ戻る。ステップＳ１６０４において、データフローに対応するバッファは、バッファ２３１，２３２のうちの識別されたデータフローに対応するバッファである。
【０１２２】
以上の各ステップにより、データ転送装置１１０は、パケットを受信した場合に、受信したパケットにデータフローごとにＳＮを付加し、ＳＮを付加したパケットをデータフローに応じてバッファ２３１，２３２に格納することができる。
【０１２３】
図１７は、送信側のデータ転送装置による送信処理の一例を示すフローチャートである。実施の形態２にかかる送信側のデータ転送装置１１０は、図１６に示した受信動作とともに、たとえば以下の各ステップを実行する。まず、振分部２４０が、データフローｆ１，ｆ２の中からパケットを読み出すデータフローを選択する（ステップＳ１７０１）。
【０１２４】
ステップＳ１７０１におけるデータフローの選択について説明する。たとえば、振分部２４０は、ステップＳ１７０１を実行するたびに、選択するデータフローを切り替える。または、振分部２４０は、各データフローの優先度などに基づいてデータフローを選択してもよい。以下のデータフローの選択についても同様である。
【０１２５】
つぎに、振分部２４０が、バッファ２３１，２３２のうちのステップＳ１７０１によって選択したデータフローに対応するバッファにパケットが格納されているかを判断する（ステップＳ１７０２）。そして、振分部２４０は、バッファにパケットが格納されるまで待つ（ステップＳ１７０２：Ｎｏのループ）。パケットが格納されると（ステップＳ１７０２：Ｙｅｓ）、振分部２４０が、リンクＬ１，Ｌ２の中からパケットの振分先のリンクを選択する（ステップＳ１７０３）。たとえば、振分部２４０は、リンクＬ１，Ｌ２の各伝送速度に基づくラウンドロビンなどのアルゴリズムを用いてリンクを選択する。
【０１２６】
つぎに、振分部２４０が、バッファ２３１，２３２のうちのステップＳ１７０１によって選択したデータフローに対応するバッファの先頭に格納されたパケットを読み出す（ステップＳ１７０４）。つぎに、振分部２４０が、回線終端装置１２１，１２２のうちのステップＳ１７０３によって選択したリンクに対応する回線終端装置へ、ステップＳ１７０４によって読み出したパケットを送信する（ステップＳ１７０５）。
【０１２７】
そして、データ転送装置１１０は、ステップＳ１７０１へ戻る。ステップＳ１７０５において、振分部２４０は、回線ＩＦ部２５１，２５２のうちの選択したリンクに対応する回線ＩＦ部へパケットを出力することによって、選択したリンクに対応する回線終端装置へパケットを送信する。
【０１２８】
以上の各ステップにより、データ転送装置１１０は、図１６に示した受信処理によってバッファ２３１，２３２に格納された各データフローのパケットをリンクＬ１，Ｌ２に振り分けて送出することができる。
【０１２９】
（送信側の回線終端装置による処理）
図１８は、送信側の回線終端装置による受信処理の一例を示すフローチャートである。ここでは回線終端装置１２１の受信処理について説明するが、回線終端装置１２２の受信処理についても同様である。実施の形態２にかかる回線終端装置１２１は、たとえば以下の各ステップを実行する。まず、回線ＩＦ部３１０が、データ転送装置１１０からのパケットを受信したか否かを判断し（ステップＳ１８０１）、パケットを受信するまで待つ（ステップＳ１８０１：Ｎｏのループ）。
【０１３０】
ステップＳ１８０１においてパケットを受信すると（ステップＳ１８０１：Ｙｅｓ）、識別部３８０が、ステップＳ１８０１において受信されたパケットのデータフローを識別する（ステップＳ１８０２）。つぎに、識別部３８０が、ステップＳ１８０１において受信されたパケットを、バッファ３２１，３２２のうちのステップＳ１８０２において識別したデータフローに対応するバッファの末尾に格納する（ステップＳ１８０３）。
【０１３１】
つぎに、回線終端装置１２１は、バッファ３２１，３２２のうちのステップＳ１８０２において識別されたデータフローに対応するバッファの使用量が閾値を超過しているか否かを判断する（ステップＳ１８０４）。ステップＳ１８０４は、バッファ制御部３３１，３３２のうちのステップＳ１８０２において識別されたデータフローに対応するバッファ制御部によって行われる（ステップＳ１８０５〜Ｓ１８０７も同様）。
【０１３２】
ステップＳ１８０５〜Ｓ１８０９は、図８に示したステップＳ８０４〜Ｓ８０８と同様である。ただし、ステップＳ１８０５〜Ｓ１８０９の各ステップは、ステップＳ１８０２において識別されたデータフローについて行われる。
【０１３３】
以上の各ステップにより、回線終端装置１２１は、データフローごとに、バッファの使用量が閾値を超過した場合にバッファのパケットを廃棄し、廃棄したパケットのＳＮを含む廃棄情報を、廃棄するパケットよりもＳＮの小さいパケットに付加することができる。
【０１３４】
図１９は、送信側の回線終端装置による送信処理の一例を示すフローチャートである。ここでは回線終端装置１２１の送信処理について説明するが、回線終端装置１２２の送信処理についても同様である。実施の形態２にかかる回線終端装置１２１は、図１８に示した受信処理とともに、たとえば以下の各ステップを実行する。
【０１３５】
まず、回線ＩＦ部３５０が、データフローｆ１，ｆ２の中からパケットを読み出すデータフローを選択する（ステップＳ１９０１）。つぎに、回線ＩＦ部３５０が、バッファ３２１，３２２のうちのステップＳ１９０１において選択したデータフローに対応するバッファにパケットが格納されているか否かを判断する（ステップＳ１９０２）。そして、回線ＩＦ部３５０は、バッファにパケットが格納されるまで待つ（ステップＳ１９０２：Ｎｏのループ）。
【０１３６】
ステップＳ１９０２において、バッファにパケットが格納されると（ステップＳ１９０２：Ｙｅｓ）、回線ＩＦ部３５０が、データフローに対応するバッファの先頭に格納されたパケットを読み出す（ステップＳ１９０３）。つぎに、回線ＩＦ部３５０が、ステップＳ１９０３によって読み出したパケットを送出し（ステップＳ１９０４）、ステップＳ１９０１へ戻る。
【０１３７】
以上の各ステップにより、回線終端装置１２１は、図１８に示した受信処理によってデータフローごとにバッファ３２１，３２２に格納されたパケットをリンクＬ１へ送出することができる。
【０１３８】
（受信側のデータ転送装置による処理）
図２０は、受信側のデータ転送装置による受信処理の一例を示すフローチャートである。実施の形態２にかかる受信側のデータ転送装置１４０は、たとえば以下の各ステップを実行する。まず、回線ＩＦ部５１１，５１２が、回線終端装置１３１，１３２からのパケットを受信したか否かを判断し（ステップＳ２００１）、パケットを受信するまで待つ（ステップＳ２００１：Ｎｏのループ）。パケットを受信すると（ステップＳ２００１：Ｙｅｓ）、識別部５８０が、ステップＳ２００１において受信されたパケットのデータフローを識別する（ステップＳ２００２）。
【０１３９】
図２０に示すステップＳ２００３〜Ｓ２０１９は、図１０に示したステップＳ１００２〜Ｓ１０１８と同様である。ただし、ステップＳ２００３〜Ｓ２０１９は、ステップＳ２００２によって識別されたデータフローごとに行われる。また、図１１に示したタイマ管理処理についてもステップＳ２００２によって識別されたデータフローごとに行われる。
【０１４０】
図２１は、受信側のデータ転送装置による送信処理の一例を示すフローチャートである。実施の形態２にかかるデータ転送装置１４０は、図１１，図２０に示した各処理とともに、たとえば以下の各ステップを実行する。まず、回線ＩＦ部５７０が、データフローｆ１，ｆ２の中からパケットを読み出すデータフローを選択する（ステップＳ２１０１）。
【０１４１】
つぎに、回線ＩＦ部５７０が、出力バッファ５６１，５６２のうちのステップＳ２１０１において選択したデータフローに対応する出力バッファにパケットが格納されているか否かを判断する（ステップＳ２１０２）。そして、回線ＩＦ部５７０は、出力バッファにパケットが格納されるまで待つ（ステップＳ２１０２：Ｎｏのループ）。
【０１４２】
ステップＳ２１０２において、パケットが格納されると（ステップＳ２１０２：Ｙｅｓ）、回線ＩＦ部５７０が、データフローに対応する出力バッファの先頭に格納されたパケットを読み出す（ステップＳ２１０３）。つぎに、回線ＩＦ部５７０が、ステップＳ２１０３によって読み出したパケットのＳＮを削除する（ステップＳ２１０４）。
【０１４３】
つぎに、回線ＩＦ部５７０が、ステップＳ２１０４によってＳＮを削除したパケットをデータ転送装置１４０の後段の通信装置へ送信し（ステップＳ２１０５）、ステップＳ２１０１へ戻る。以上の各ステップにより、データ転送装置１４０は、図１０に示した受信処理によって受信して整列した各パケットを後段の通信装置へ送信することができる。
【０１４４】
このように、実施の形態２にかかる通信システム１００によれば、データ転送装置１１０からデータ転送装置１４０へ複数のデータフローを伝送する場合でも、実施の形態１と同様に、受信待ちによる遅延時間を低減することができる。
【０１４５】
（実施の形態３）
（実施の形態３にかかる通信システム）
図２２−１は、実施の形態３にかかる通信システムの一例を示す図（その１）である。図２２−２は、実施の形態３にかかる通信システムの一例を示す図（その２）である。図２２−１，図２２−２において、図１−１，図１−２に示した部分と同様の部分については同一の符号を付して説明を省略する。
【０１４６】
図２２−１に示す例では、回線終端装置１２２のバッファ１２２ａには、ＳＮが「４」，「６」，「８」の各パケットが格納されている。実施の形態３にかかる回線終端装置１２２は、廃棄条件を満たした場合に、バッファ１２２ａに格納された各パケットのうちの末尾のパケットを廃棄対象のパケットとして選択する。図２２−１に示す例では、ＳＮが「８」のパケットが廃棄対象として選択される。また、回線終端装置１２２は、ＳＮが「４」のパケットに廃棄情報１０１を付加したとする。
【０１４７】
また、実施の形態３にかかる回線終端装置１２２は、符号２２０１に示すように、バッファ１２２ａからのパケット廃棄が発生したことを示す廃棄通知情報をデータ転送装置１１０へ送信する。廃棄通知情報の送信は、たとえば制御用の通信路による制御メッセージによって行うことができる。
【０１４８】
データ転送装置１１０は、回線終端装置１２２から廃棄通知情報を受信すると、以降、各パケットをリンクＬ１のみに振り分けるようにする。バッファ１１０ａは、データ転送装置１１０のバッファ（たとえば図２に示したバッファ２３０）である。データ転送装置１１０のバッファ１１０ａには、振り分け前の各パケットとして、ＳＮが「７」，「９」，「１０」，「１１」の各パケットが格納されているとする。
【０１４９】
データ転送装置１１０は、バッファ１１０ａに格納された各パケットをリンクＬ１に振り分ける。これにより、回線終端装置１２２において廃棄されたパケットより後の各パケットについては、パケット廃棄が発生していないリンクＬ１によって伝送され、伝送による順序の入れ替えが発生しないことになる。
【０１５０】
図２２−２の到着順序１４１に示すように、データ転送装置１４０には、ＳＮで「５」，「４」，「６」，「７」，「９」，「１０」，「１１」の順に各パケットが到着したとする。データ転送装置１４０は、ＳＮが「４」のパケットの前にＳＮが「５」のパケットを受信したため、ＳＮが「５」のパケットをバッファ（たとえば図５の待ち合わせバッファ５５０）に格納してＳＮが「４」のパケットの受信を待つ。
【０１５１】
そして、データ転送装置１４０は、ＳＮが「４」のパケットを受信すると、ＳＮが「４」のパケットを出力し、つぎにＳＮが「５」のパケットを出力することで順序整列を行う。また、データ転送装置１４０は、ＳＮが「４」に付加された廃棄情報に基づいて、送信側で廃棄されたＳＮが「８」のパケットについては受信待ちを行わない。
【０１５２】
さらに、データ転送装置１４０は、ＳＮが「８」より大きいＳＮのパケットについても、順序の入れ替えが発生しないため、パケットの飛びは伝送途中のロストによるものと判断することができる。このため、データ転送装置１４０は、廃棄情報に含まれるＳＮより大きいＳＮのパケットについては、整列処理を行わず、受信するごとに後段に出力することができる。
【０１５３】
これにより、データ転送装置１４０は、送信側で廃棄されたパケットだけでなく、廃棄された後のパケットについても受信待ちを行わないようにすることができる。このため、パケットの受信待ちにする遅延時間をさらに低減することができる。
【０１５４】
なお、回線終端装置１２２は、廃棄通知情報をデータ転送装置１１０へ送信し、送信した廃棄通知情報に対して応答信号をデータ転送装置１１０から受信してからバッファ１２２ａの末尾のパケットを廃棄してもよい。データ転送装置１１０は、回線終端装置１２２から廃棄通知情報を受信すると、応答信号を回線終端装置１２２へ送信する。
【０１５５】
また、データ転送装置１１０は、所定の条件を満たすと、各パケットをリンクＬ１のみに振り分ける状態を解除し、各パケットをリンクＬ１，Ｌ２に振り分ける状態に戻る。所定の条件は、たとえば、バッファ１２２ａの使用量が閾値未満となることや、一定時間が経過することや、リンクＬ２の通信品質が改善して閾値を超えることなどである。
【０１５６】
各パケットをリンクＬ１，Ｌ２に振り分ける状態に戻る場合は、データ転送装置１１０は、たとえばデータ転送装置１４０に対して制御メッセージを送信する。データ転送装置１４０は、データ転送装置１１０から制御メッセージを受信すると、パケットの順序整列の処理を再開する。
【０１５７】
（送信側のデータ転送装置の構成）
図２３は、送信側のデータ転送装置の構成例を示す図である。図２３において、図２に示した部分と同様の部分については同一の符号を付して説明を省略する。図２３に示すように、実施の形態３にかかるデータ転送装置１１０は、図２に示した構成に加えて取得部２３１０を備えている。
【０１５８】
取得部２３１０は、回線終端装置１２１，１２２から、バッファからのパケット廃棄が発生したことを示す廃棄通知情報を取得する。取得部２３１０は、取得した廃棄通知情報を振分部２４０へ出力する。振分部２４０は、取得部２３１０から廃棄通知情報が出力されると、以降、バッファ２３０の各パケットを、リンクＬ１，Ｌ２のうちの廃棄通知情報の送信元とは異なるリンクＬ１に振り分けるようにする。
【０１５９】
（送信側の回線終端装置の構成）
図２４は、送信側の回線終端装置の構成例を示す図である。図２４において、図３に示した部分と同様の部分については同一の符号を付して説明を省略する。図２４に示すように、実施の形態３にかかる回線終端装置１２１（または回線終端装置１２２）は、図３に示した構成に加えて通知部２４１０を備えている。
【０１６０】
バッファ制御部３３０は、廃棄条件を満たした場合に、バッファ３２０の末尾に格納されたパケットを廃棄対象として選択する。そして、バッファ制御部３３０は、パケット廃棄の発生を示す廃棄通知情報を通知部２４１０へ出力する。通知部２４１０は、バッファ制御部３３０から出力された廃棄通知情報をデータ転送装置１１０へ送信することで、回線終端装置１２１におけるパケット廃棄の発生をデータ転送装置１１０へバックプレッシャ通知する。
【０１６１】
（受信側のデータ転送装置の構成）
実施の形態３にかかる受信側のデータ転送装置１４０の構成は、図５に示した構成と同様である。ただし、整列部５４０は、廃棄情報検出部５２０から出力されたパケットのＳＮが、廃棄ＳＮ記憶部５３０によって記憶されたＳＮより大きい場合は、廃棄情報検出部５２０から出力されたパケットを出力バッファ５６０に格納する。
【０１６２】
（送信側のデータ転送装置による処理）
図２５は、送信側のデータ転送装置による受信処理の一例を示すフローチャートである。実施の形態３にかかる送信側のデータ転送装置１１０は、図６に示した受信動作とともに、たとえば以下の各ステップを実行する。まず、振分部２４０が、バッファ２３０にパケットが格納されているか否かを判断し（ステップＳ２５０１）、バッファ２３０にパケットが格納されるまで待つ（ステップＳ２５０１：Ｎｏのループ）。
【０１６３】
ステップＳ２５０１において、バッファ２３０にパケットが格納されると（ステップＳ２５０１：Ｙｅｓ）、取得部２３１０が、回線終端装置１２１，１２２のいずれかからの廃棄通知情報を取得したか否かを判断する（ステップＳ２５０２）。廃棄通知情報を取得していない場合（ステップＳ２５０２：Ｎｏ）は、データ転送装置１１０は、ステップＳ２５０３へ移行する。図２５に示すステップＳ２５０３〜Ｓ２５０５は、図７に示したステップＳ７０２〜Ｓ７０４と同様である。
【０１６４】
ステップＳ２５０２において、廃棄通知情報を取得した場合（ステップＳ２５０２：Ｙｅｓ）は、振分部２４０が、振り分け先のリンクを、リンクＬ１，Ｌ２のうちの廃棄通知情報の送信元のリンク以外のリンクから選択する（ステップＳ２５０６）。そして、データ転送装置１１０は、ステップＳ２５０４へ移行する。この場合は、振分部２４０は、ステップＳ２５０５において、ステップＳ２５０３によって選択したリンクに対応する回線終端装置へパケットを送信する。
【０１６５】
以上の各ステップにより、データ転送装置１１０は、図６に示した受信処理によってバッファ２３０に格納されたパケットをリンクＬ１，Ｌ２に振り分けて送信することができる。また、回線終端装置１２１，１２２のいずれかでパケット廃棄が発生した場合は、パケット廃棄が発生していないリンクによりパケットを送信することができる。
【０１６６】
通信システム１００のリンクが３つ以上ある場合は、振分部２４０は、ステップＳ２５０３において、たとえば、廃棄通知情報の送信元のリンク以外の各リンクの中から、伝送速度が最も高いリンクを選択する。これにより、各パケットを送信するリンクを１つにすることによる伝送遅延を低減することができる。
【０１６７】
（送信側の回線終端装置による処理）
図２６は、送信側の回線終端装置による受信処理の一例を示すフローチャートである。ここでは回線終端装置１２１の受信処理について説明するが、回線終端装置１２２の受信処理についても同様である。実施の形態３にかかる回線終端装置１２１は、たとえば以下の各ステップを実行する。図２６に示すステップＳ２６０１〜Ｓ２６０８は、図８に示したステップＳ８０１〜Ｓ８０８と同様である。
【０１６８】
ただし、ステップＳ２６０４においては、バッファ制御部３３０は、バッファ３２０の末尾のパケットを廃棄対象のパケットとして選択する（ステップＳ２６０４）。ステップＳ２６０８のつぎに、通知部２４１０が、送信側のデータ転送装置１１０へ廃棄通知情報を送信し（ステップＳ２６０９）、一連の処理を終了する。
【０１６９】
以上の各ステップにより、回線終端装置１２１は、バッファ３２０の使用量が閾値を超過した場合にバッファ３２０の末尾のパケットを廃棄し、廃棄したパケットのＳＮを含む廃棄情報を、廃棄するパケットよりもＳＮの小さいパケットに付加することができる。また、回線終端装置１２１は、廃棄したパケットのＳＮを含む廃棄通知情報をデータ転送装置１１０へ送信することができる。
【０１７０】
（受信側のデータ転送装置による処理）
図２７は、受信側のデータ転送装置による受信処理の一例を示すフローチャートである。実施の形態３にかかる受信側のデータ転送装置１４０は、たとえば以下の各ステップを実行する。図２７に示すステップＳ２７０１〜Ｓ２７０５は、図１０に示したステップＳ１００１〜Ｓ１００５と同様である。
【０１７１】
ステップＳ２７０５のつぎに、整列部５４０が、ステップＳ２７０５において抽出したＳＮが廃棄ＳＮ記憶部５３０に記憶された廃棄ＳＮより大きいか否かを判断する（ステップＳ２７０６）。抽出したＳＮが廃棄ＳＮより大きい場合（ステップＳ２７０６：Ｙｅｓ）は、データ転送装置１４０は、ステップＳ２７１０へ移行する。抽出したＳＮが廃棄ＳＮより大きくない場合（ステップＳ２７０６：Ｎｏ）は、データ転送装置１４０は、ステップＳ２７０７へ移行する。ステップＳ２７０７〜Ｓ２７１９は、図１０に示したステップＳ１００６〜Ｓ１０１８と同様である。
【０１７２】
以上の各ステップにより、データ転送装置１４０は、送信側で廃棄されたパケットより後のパケットについて、整列処理を行わずに出力バッファ５６０に格納することができる。すなわち、データ転送装置１４０は、廃棄情報によって特定されるＳＮが示す順序以降のパケットを、整列処理を行わずに出力する。
【０１７３】
このように、実施の形態３にかかる通信システム１００によれば、実施の形態１にかかる通信システム１００と同様の効果を得ることができる。また、送信側で廃棄されたパケットより後のパケットについても、整列処理を行わずに順次出力することができる。これにより、受信待ちによる遅延時間をさらに低減することができる。
【０１７４】
特に、リンクＬ１，Ｌ２のいずれかの伝送速度が低下し、回線終端装置１２１，１２２のいずれかで輻輳状態が継続した場合に、受信側の整列処理を停止させることができるため、遅延時間を低減することができる。また、輻輳状態が継続した場合に、パケット廃棄が発生するごとに廃棄情報を送信することを回避することができる。
【０１７５】
以上説明したように、中継装置、受信装置、送信システム、通信システムおよび中継方法によれば、遅延時間を低減することができる。
【０１７６】
上述した各実施の形態に関し、さらに以下の付記を開示する。
【０１７７】
（付記１）順序付けられた複数の送信パケットを、送信装置が複数の中継装置を介する複数の通信回線に振り分けて受信装置に送信する送信システムにおける前記中継装置であって、
前記順序付けられた複数の送信パケットのうちで前記中継装置に振り分けられたパケットを格納するバッファと、
前記バッファに格納されているパケットの廃棄条件を満たした場合に、前記バッファに格納されているパケットの中から廃棄対象のパケットを選択する選択部と、
前記選択部によって選択されたパケットの前記順序を特定可能であり前記選択されたパケットを廃棄することを示す廃棄情報を、前記選択されたパケットより順序が前のパケットに付加して送信する送信部と、
を備えることを特徴とする中継装置。
【０１７８】
（付記２）前記廃棄条件は、前記バッファの空き容量に基づく条件であることを特徴とする付記１に記載の中継装置。
【０１７９】
（付記３）前記送信部は、前記廃棄対象のパケットより前に前記バッファに格納されているパケットのヘッダに前記廃棄情報を付加することを特徴とする付記１または２に記載の中継装置。
【０１８０】
（付記４）前記選択部は、前記バッファに格納されたパケットの中から前記順序が最初ではないパケットを廃棄対象として選択することを特徴とする付記１〜３のいずれか一つに記載の中継装置。
【０１８１】
（付記５）前記廃棄情報は、前記選択されたパケットの前記順序を含む情報であることを特徴とする付記１〜４のいずれか一つに記載の中継装置。
【０１８２】
（付記６）前記廃棄情報は、前記選択されたパケットの前記順序と、前記廃棄情報が付加されるパケットの前記順序と、の差分を示す情報を含むことを特徴とする付記１〜５のいずれか一つに記載の中継装置。
【０１８３】
（付記７）前記送信部は、前記バッファから読み出したパケットを、受信する各パケットに含まれる前記順序になるように前記受信する各パケットを整列して出力し、前記廃棄情報によって特定される順序より後の順序を含むパケットを、前記特定される順序を含むパケットを待たずに出力する受信装置へ送信することを特徴とする付記１〜６のいずれか一つに記載の中継装置。
【０１８４】
（付記８）順序付けられた複数の送信パケットを、送信装置が複数の中継装置を介する複数の通信回線に振り分けて受信装置に送信する送信システムにおける前記受信装置であって、
前記順序付けられた複数の送信パケットのうちの一部を振り分けられた前記中継装置において廃棄されたパケットの順序を特定可能な廃棄情報によって特定される順序より後の順序であるパケットを、前記特定される順序であるパケットを待たずに出力する出力部を備えることを特徴とする受信装置。
【０１８５】
（付記９）順序付けられた複数の送信パケットを、送信装置が複数の中継装置を介する複数の通信回線に振り分けて受信装置に送信する送信システムにおいて、
前記複数の中継装置のそれぞれは、
前記順序付けられた複数の送信パケットのうちで前記中継装置に振り分けられたパケットを格納するバッファと、
前記バッファに格納されているパケットの廃棄条件を満たした場合に、前記バッファに格納されているパケットの中から廃棄対象のパケットを選択する選択部と、
前記選択部によって選択されたパケットの前記順序を特定可能であり前記選択されたパケットを廃棄することを示す廃棄情報を、前記選択されたパケットより順序が前のパケットに付加して送信する送信部と、
を備えることを特徴とする送信システム。
【０１８６】
（付記１０）前記選択部は、前記バッファの末尾に格納されているパケットを選択し、
前記送信装置は、前記複数の中継装置のうちのいずれかの中継装置によってパケットが廃棄される場合に、前記複数の中継装置のうちの前記いずれかの中継装置以外の中継装置のいずれかに前記複数のパケットを出力することを特徴とする付記９に記載の送信システム。
【０１８７】
（付記１１）前記送信装置は、前記いずれかの中継装置以外の中継装置のうちの、前記複数のリンクのうちの最も伝送速度が高いリンクに接続された中継装置に前記パケットを出力することを特徴とする付記１０に記載の送信システム。
【０１８８】
（付記１２）前記送信部は、受信する各パケットを、前記受信する各パケットに含まれる前記順序になるように整列する整列処理を行って出力し、前記廃棄情報によって特定される順序以降のパケットを、前記整列処理を行わずに出力する受信装置へ送信することを特徴とする付記９〜１１のいずれか一つに記載の送信システム。
【０１８９】
（付記１３）各パケットに前記順序を示す順序情報を付加する順序付加部を備え、
前記送信装置は、前記順序付加部によって順序情報が付加された各パケットを前記複数の中継装置に振り分けて出力することを特徴とする付記９〜１２のいずれか一つに記載の送信システム。
【０１９０】
（付記１４）前記順序付加部は、前記各パケットに対してデータフローごとの順序を示す順序情報を付加することを特徴とする付記１３に記載の送信システム。
【０１９１】
（付記１５）順序付けられた複数の送信パケットを、送信装置が複数の中継装置を介する複数の通信回線に振り分けて受信装置に送信する通信システムにおいて、
前記順序付けられた複数の送信パケットのうちで前記中継装置に振り分けられたパケットをバッファに格納し、前記バッファに格納されているパケットの廃棄条件を満たした場合に、前記バッファに格納されているパケットの中から廃棄対象のパケットを選択し、選択したパケットの前記順序を特定可能であり前記選択されたパケットを廃棄することを示す廃棄情報を、前記選択したパケットより順序が前のパケットに付加して送信する中継装置と、
前記中継装置によって送信されたパケットを受信し、受信する各パケットに含まれる前記順序になるように整列して前記受信する各パケットを出力し、前記廃棄情報によって特定される順序より後の順序のパケットを、前記特定される順序のパケットを待たずに出力する受信装置と、
を含むことを特徴とする通信システム。
【０１９２】
（付記１６）順序付けられた複数の送信パケットを、送信装置が複数の中継装置を介する複数の通信回線に振り分けて受信装置に送信する送信システムにおける前記中継装置の中継方法であって、
前記順序付けられた複数の送信パケットのうちで前記中継装置に振り分けられたパケットをバッファに格納し、
前記バッファに格納されているパケットの廃棄条件を満たした場合に、前記バッファに格納されているパケットの中から廃棄対象のパケットを選択し、
選択したパケットの前記順序を特定可能であり前記選択されたパケットを廃棄することを示す廃棄情報を、前記選択したパケットより順序が前のパケットに付加して送信することを特徴とする中継方法。
【符号の説明】
【０１９３】
１００  通信システム
１０１，１５３ａ  廃棄情報
１１０ａ，１２１ａ，１２２ａ，１５１，２３０〜２３２，３２０〜３２２，４２０  バッファ
１４１  到着順序
【図１−１】
0005957907.tif 000002
【図１−２】
0005957907.tif 000003
【図１−３】
0005957907.tif 000004
【図２】
0005957907.tif 000005
【図３】
0005957907.tif 000006
【図４】
0005957907.tif 000007
【図５】
0005957907.tif 000008
【図６】
0005957907.tif 000009
【図７】
0005957907.tif 000010
【図８】
0005957907.tif 000011
【図９】
0005957907.tif 000012
【図１０】
0005957907.tif 000013
【図１１】
0005957907.tif 000014
【図１２】
0005957907.tif 000015
【図１３】
0005957907.tif 000016
【図１４】
0005957907.tif 000017
【図１５】
0005957907.tif 000018
【図１６】
0005957907.tif 000019
【図１７】
0005957907.tif 000020
【図１８】
0005957907.tif 000021
【図１９】
0005957907.tif 000022
【図２０】
0005957907.tif 000023
【図２１】
0005957907.tif 000024
【図２２−１】
0005957907.tif 000025
【図２２−２】
0005957907.tif 000026
【図２３】
0005957907.tif 000027
【図２４】
0005957907.tif 000028
【図２５】
0005957907.tif 000029
【図２６】
0005957907.tif 000030
【図２７】
0005957907.tif 000031