(57)【特許請求の範囲】
【請求項１】
送信側端末に接続されたゲートウェイ送信装置と、受信側端末に接続されたゲートウェイ受信装置と、が複数の通信路を介して接続された通信システムであって、
前記送信側端末は、前記受信側端末宛データを前記ゲートウェイ送信装置に送信する送信部を備え、
前記ゲートウェイ送信装置は、前記送信側端末が送信する前記受信側端末宛データを受信する受信部と、前記複数の通信路からいずれか一つを選択する選択部と、前記選択部が選択した通信路を介して、前記受信部が受信した前記受信側端末宛データを当該選択された通信路ごとに連続する連続性情報とともに前記ゲートウェイ受信装置に送信する送信部と、を備え、
前記ゲートウェイ受信装置は、前記ゲートウェイ送信装置が送信する前記受信側端末宛データを受信する受信部と、前記受信部が受信した前記受信側端末宛データを前記受信側端末に送信する送信部であって、
（ａ）当該受信側端末宛データが、前記ゲートウェイ送信装置が送信した順序で受信された場合、もしくは、当該受信側端末宛データとともに送信された通信路ごとの連続性情報により、いずれかの通信路において当該受信側端末宛データの順序が連続せずに受信されたことが判明した場合、当該受信側端末宛データを直ちに受信側端末に送信し、
（ｂ）上記（ａ）以外の場合であって、当該受信側端末宛データが、前記ゲートウェイ送信装置が送信した順序と異なる順序で受信された場合、当該順序において抜けた受信側端末宛データが受信されてから、もしくは、所定のタイムアウト時間が経過してから、当該受信側端末宛データを、前記ゲートウェイ送信装置が送信した順序で受信側端末に送信する
送信部と、を備え、
前記受信側端末は、前記ゲートウェイ受信装置が送信する前記受信側端末宛データを受信する受信部を備える
ことを特徴とする通信システム。
【請求項２】
前記ゲートウェイ送信装置は、前記複数の通信路のそれぞれに対応する送信バッファ部をさらに備え、前記選択部は、前記送信バッファ部にバッファリングされた未送信のデータの量に基づいて、前記複数の通信路からいずれか一つを選択し、前記送信部は、前記送信バッファ部のうち前記選択部が選択した通信路に対応するものにより、前記受信側端末宛データをバッファリングして送信する
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記ゲートウェイ送信装置において、前記選択部は、前記複数の通信路に対するアクセス区間の回線速度に基づいて、前記複数の通信路からいずれか一つを選択する
ことを特徴とする請求項１または２に記載の通信システム。
【請求項４】
前記ゲートウェイ送信装置は、前記複数の通信路のそれぞれに対応する伝送遅延時間を記憶する伝送遅延時間記憶部をさらに備え、前記選択部は、前記伝送遅延時間記憶部に記憶された伝送遅延時間に基づいて、前記複数の通信路からいずれか一つを選択する
ことを特徴とする請求項１から３のいずれか１項に記載の通信システム。
【請求項５】
前記ゲートウェイ送信装置は、推測部、修正情報受信部、および、修正部をさらに備え、
前記ゲートウェイ受信装置は、修正情報生成部、および、修正情報送信部をさらに備え、
前記ゲートウェイ送信装置において、前記推測部は、前記伝送遅延時間記憶部に記憶された伝送遅延時間に基づいて、前記受信部が受信した前記受信側端末宛データを前記ゲートウェイ受信装置に送信した場合、前記ゲートウェイ受信装置が当該データを受信する受信時刻を推測し、前記送信部は、前記推測部が推測した受信時刻の情報を前記受信部が受信した前記受信側端末宛データに添付して前記ゲートウェイ受信装置に送信し、
前記ゲートウェイ受信装置において、前記修正情報生成部は、前記ゲートウェイ送信装置が送信したデータを前記受信部が受信した受信時刻と、当該データに添付された受信時刻の情報と、に基づいて、前記ゲートウェイ送信装置の伝送遅延時間記憶部に記憶された伝送遅延時間を修正する修正情報を生成し、修正情報送信部は、前記修正情報生成部が生成した修正情報のデータを前記ゲートウェイ送信装置に送信し、
前記ゲートウェイ送信装置において、前記修正情報受信部は、前記ゲートウェイ受信装置が送信した修正情報のデータを受信し、前記修正部は、前記修正情報受信部が受信した修正情報のデータに基づいて前記伝送遅延時間記憶部に記憶された伝送遅延時間を修正する
ことを特徴とする請求項４に記載の通信システム。
【請求項６】
受信側端末に接続されるとともに、送信側端末に接続されたゲートウェイ送信装置に複数の通信路を介して接続されたゲートウェイ受信装置であって、
前記ゲートウェイ送信装置が通信路ごとに連続する連続性情報とともに送信する前記受信側端末宛データを受信する受信部と、
前記受信部が受信した前記受信側端末宛データを前記受信側端末に送信する送信部であって、
（ａ）当該受信側端末宛データが、前記ゲートウェイ送信装置が送信した順序で受信された場合、もしくは、当該受信側端末宛データとともに送信された通信路ごとの連続性情報により、いずれかの通信路において当該受信側端末宛データの順序が連続せずに受信されたことが判明した場合、当該受信側端末宛データを直ちに受信側端末に送信し、
（ｂ）上記（ａ）以外の場合であって、当該受信側端末宛データが、前記ゲートウェイ送信装置が送信した順序と異なる順序で受信された場合、当該順序において抜けた受信側端末宛データが受信されてから、もしくは、所定のタイムアウト時間が経過してから、当該受信側端末宛データを、前記ゲートウェイ送信装置が送信した順序で受信側端末に送信する
送信部と、
を備えることを特徴とするゲートウェイ受信装置。
【請求項７】
受信側端末に接続されるとともに、送信側端末に接続されたゲートウェイ送信装置に複数の通信路を介して接続されたゲートウェイ受信装置であって、
前記ゲートウェイ送信装置が通信路ごとに連続する連続性情報とともに送信する前記受信側端末宛データを受信する受信部と、
前記受信部が受信した前記受信側端末宛データを前記受信側端末に送信する送信部であって、
（ａ）当該受信側端末宛データが、前記ゲートウェイ送信装置が送信した順序で受信された場合、もしくは、当該受信側端末宛データとともに送信された通信路ごとの連続性情報により、いずれかの通信路において当該受信側端末宛データの順序が連続せずに受信されたことが判明した場合、当該受信側端末宛データを直ちに受信側端末に送信し、
（ｂ）上記（ａ）以外の場合であって、当該受信側端末宛データが、前記ゲートウェイ送信装置が送信した順序と異なる順序で受信された場合、当該順序において抜けた受信側端末宛データが受信されてから、もしくは、所定のタイムアウト時間が経過してから、当該受信側端末宛データを、前記ゲートウェイ送信装置が送信した順序で受信側端末に送信する
送信部と、
前記受信部が前記受信側端末宛データを受信した受信時刻と、当該データに添付された受信時刻の情報と、に基づいて、前記ゲートウェイ送信装置の伝送遅延時間記憶部に記憶された伝送遅延時間を修正する修正情報を生成する修正情報生成部と、
前記修正情報生成部が生成した修正情報のデータを前記ゲートウェイ送信装置に送信する修正情報送信部と、
を備えることを特徴とするゲートウェイ受信装置。
【請求項８】
受信側端末に接続されるとともに、送信側端末に接続されたゲートウェイ送信装置に複数の通信路を介して接続されたゲートウェイ受信装置にて使用されるゲートウェイ受信方法であって、
前記ゲートウェイ送信装置が通信路ごとに連続する連続性情報とともに送信する前記受信側端末宛データを受信する受信ステップと、
前記受信ステップにて受信された前記受信側端末宛データを前記受信側端末に送信する送信ステップであって、
（ａ）当該受信側端末宛データが、前記ゲートウェイ送信装置が送信した順序で受信された場合、もしくは、当該受信側端末宛データとともに送信された通信路ごとの連続性情報により、いずれかの通信路において当該受信側端末宛データの順序が連続せずに受信されたことが判明した場合、当該受信側端末宛データを直ちに受信側端末に送信し、
（ｂ）上記（ａ）以外の場合であって、当該受信側端末宛データが、前記ゲートウェイ送信装置が送信した順序と異なる順序で受信された場合、当該順序において抜けた受信側端末宛データが受信されてから、もしくは、所定のタイムアウト時間が経過してから、当該受信側端末宛データを、前記ゲートウェイ送信装置が送信した順序で受信側端末に送信する
送信ステップと、
を備えることを特徴とするゲートウェイ受信方法。
【請求項９】
受信側端末に接続されるとともに、送信側端末に接続されたゲートウェイ送信装置に複数の通信路を介して接続されたゲートウェイ受信装置にて実行されるプログラムを記録したコンピュータ読取可能な情報記録媒体であって、
前記ゲートウェイ送信装置が通信路ごとに連続する連続性情報とともに送信する前記受信側端末宛データを受信する受信工程と、
前記受信工程にて受信された前記受信側端末宛データを前記受信側端末に送信する送信工程であって、
（ａ）当該受信側端末宛データが、前記ゲートウェイ送信装置が送信した順序で受信された場合、もしくは、当該受信側端末宛データとともに送信された通信路ごとの連続性情報により、いずれかの通信路において当該受信側端末宛データの順序が連続せずに受信されたことが判明した場合、当該受信側端末宛データを直ちに受信側端末に送信し、
（ｂ）上記（ａ）以外の場合であって、当該受信側端末宛データが、前記ゲートウェイ送信装置が送信した順序と異なる順序で受信された場合、当該順序において抜けた受信側端末宛データが受信されてから、もしくは、所定のタイムアウト時間が経過してから、当該受信側端末宛データを、前記ゲートウェイ送信装置が送信した順序で受信側端末に送信する
送信工程と、
を含む処理を実行させるプログラムを記録したことを特徴とする情報記録媒体。
【請求項１０】
前記情報記録媒体は、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、または、半導体メモリであることを特徴とする請求項９に記載の情報記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信システムであって、送信側端末と、これに接続されたゲートウェイ送信装置と、これに複数の通信路を介して接続されたゲートウェイ受信装置と、これに接続された受信側端末と、を備える通信システム、ゲートウェイ送信装置、ゲートウェイ受信装置、ゲートウェイ送信方法、ゲートウェイ受信方法、および、情報記録媒体に関する。
【０００２】
【従来の技術】
従来から、第１のＬＡＮ（Local Area Network；ローカルエリアネットワーク）に含まれる端末からＩＰ（Internet Protocol；インターネットプロトコル）パケットなどのデータを送信し、これを第２のＬＡＮに含まれる端末が受信する場合に、以下のような手法が用いられている。
【０００３】
第１のＬＡＮに含まれる端末は、第１のゲートウェイ装置を介してインターネットに接続される。第２のＬＡＮに含まれる端末は、第２のゲートウェイ装置を介してインターネットに接続される。これらのゲートウェイ装置は、インターネットとＬＡＮを接続し、ＩＰパケットは、ゲートウェイ装置という「出入口」を経由してインターネットとＬＡＮの間を行き来する。
【０００４】
第１のＬＡＮ内の端末（送信側端末）から第２のＬＡＮ内の端末（受信側端末）へＩＰパケットを送信したい場合を考える。
【０００５】
送信側端末が受信側端末宛のＩＰパケットを送信すると、第１のゲートウェイ装置（ゲートウェイ送信装置）がこのＩＰパケットを受信する。ゲートウェイ送信装置は、このＩＰパケットを外部に出してもよいか否かを判別し、よい場合にのみ、インターネットに送信する。
【０００６】
ＩＰパケットには宛先情報が含まれるため、インターネット内のそれぞれの情報処理装置がいわゆるバケツリレー方式でＩＰパケットを第２のゲートウェイ装置（ゲートウェイ受信装置）へ送信する。
【０００７】
ゲートウェイ受信装置は、インターネットから受信したＩＰパケットを第２のＬＡＮの内部に入れてもよいか否かを判別し、よい場合にのみ、第２のＬＡＮ内の端末に送信する。この結果、送信側端末が送信した受信側端末宛のＩＰパケットを、その受信側端末が受信できることとなる。
【０００８】
このように、ゲートウェイ装置は、ＩＰパケットの選別と中継という役割を担う。したがって、ゲートウェイ装置は「関所」の役割を果たすともいえる。
【０００９】
アプリケーションゲートウェイ装置と呼ばれるゲートウェイ装置は、ＷＷＷ（World Wide Web）用アプリケーション、ＦＴＰ（File Transfer Protocol；ファイル転送プロトコル）用アプリケーション、リモートアクセス用アプリケーションなどのアプリケーションの種類に基づいて、ＩＰパケットを中継するか否かを判別する。
【００１０】
さらに、このようなゲートウェイ装置に対してインターネット内の通信路情報を参照して、ＩＰパケットを中継する通信路を決定し、データを中継する機能を付加することもでき、このように機能を付加したものをルータと呼ぶ。これらのゲートウェイ装置やルータは、ＯＳＩ（Open Systems Interconnection）参照モデルに基づいて定義されている。
【００１１】
このようなアプリケーションゲートウェイ装置やルータにおいて、ＩＰパケットを通過させるか否かを判別する機能を有する装置を、特にファイアウォールと呼ぶ。さらに、ファイアウォールにおいて、ＩＰパケットの内容を暗号化／復号化する機能を備え、インターネットを用いて物理的に離れたＬＡＮ間で通信することができるネットワーク構成をＶＰＮ（Virtual Private Network）と呼ぶ。
【００１２】
さて、インターネットによりあるゲートウェイ送信装置から別のゲートウェイ受信装置へあるＩＰパケットが伝送された場合、当該ＩＰパケットについての通信路は変化しないことが多い。すなわち、当初決定した通信路に障害が発生したり、新たな通信経路が追加されて再構築が発生したりしない限り、当初決定した通信路に沿ってＩＰパケットが転送されていくケースがほとんどである。
【００１３】
通信路の途中に障害が発生した場合は、ＲＩＰ（Routing Information Protocol）やＯＳＰＦ（Open Shortest Path First）などのルーティングプロトコルによって迂回できる他の通信路が探索され、探索された代替経路に沿ってＩＰパケットが中継されていく。この時、代替経路の構築に長い時間を要する場合もあり、その間は通信が中断してしまう。
【００１４】
インターネットを使った通信は、ベストエフォート（Best Effort）型通信の一つであり、ＩＰパケットの損失率、ＩＰパケットの転送遅延時間、ゆらぎなどのサービス品質が時々刻々と変化するという特徴がある。また、使用する通信路によっても、送信に必要な時間が大きく異なるという特徴がある。
【００１５】
【発明が解決しようとする課題】
しかしながら、ＩＰパケットなどのデータを送信側端末からゲートウェイ送信装置とゲートウェイ受信装置とを介して受信側端末へ伝送したい場合、ゲートウェイ送信装置とゲートウェイ受信装置との間の通信路を適切に選択して、データの伝送を高速化したいという要望は大きい。
【００１６】
現在のネットワーク構成では、ＬＡＮとインターネットを接続する区間（アクセス区間）の回線速度が全体の通信帯域、すなわち、データ伝送のボトルネックとなる場合がほとんどである。たとえば、ＬＡＮ内では１０Mbits/sの回線速度である一方、アクセス区間の回線速度が１２８kbits/s、などのような場合である。このため、ゲートウェイ送信装置とゲートウェイ受信装置との間の通信路（インターネット区間）において、データの伝送を高速化したいという要望は大きい。
【００１７】
また、時々刻々と変化する通信路のサービス品質を考慮して、インターネット区間の障害や輻輳に素早く対応できるネットワークを構築し、不通状態となる時間が短い高い信頼性を有するデータ伝送を実現したいという要望も大きい。
【００１８】
本発明は、以上のような課題を解決するためになされたもので、送信側端末と、これに接続されたゲートウェイ送信装置と、これに複数の通信路を介して接続されたゲートウェイ受信装置と、これに接続された受信側端末と、を備える通信システム、ゲートウェイ送信装置、ゲートウェイ受信装置、ゲートウェイ送信方法、ゲートウェイ受信方法、および、情報記録媒体を提供することを目的とする。
【００１９】
【課題を解決するための手段】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【００２０】
本発明の通信システムは、送信側端末と、これに接続されたゲートウェイ送信装置と、これに複数の通信路を介して接続されたゲートウェイ受信装置と、これに接続された受信側端末と、を備える。
【００２１】
送信側端末は、送信部を備える。送信部は、受信側端末宛データをゲートウェイ送信装置に送信する。
【００２２】
ゲートウェイ送信装置は、受信部、選択部、および、送信部を備える。受信部は、送信側端末が送信する受信側端末宛データを受信する。選択部は、複数の通信路からいずれか一つを選択する。送信部は、選択部が選択した通信路を介して、受信部が受信した受信側端末宛データをゲートウェイ受信装置に送信する。
【００２３】
ゲートウェイ受信装置は、受信部、および、送信部を備える。受信部は、ゲートウェイ送信装置が送信する受信側端末宛データを受信する。送信部は、受信部が受信した受信側端末宛データを受信側端末に送信する。
【００２４】
受信側端末は、受信部を備える。受信部は、ゲートウェイ受信装置が送信する受信側端末宛データを受信する。
【００２５】
また、本発明の通信システムのゲートウェイ送信装置は、複数の通信路のそれぞれに対応する送信バッファ部をさらに備え、選択部は、送信バッファ部にバッファリングされた未送信のデータの量に基づいて、複数の通信路からいずれか一つを選択し、送信部は、送信バッファ部のうち選択部が選択した通信路に対応するものにより、受信側端末宛データをバッファリングして送信するように構成することができる。
【００２６】
また、本発明の通信システムのゲートウェイ送信装置の選択部は、複数の通信路に対するアクセス区間の回線速度に基づいて、複数の通信路からいずれか一つを選択するように構成することができる。
【００２７】
また、本発明の通信システムのゲートウェイ送信装置は、複数の通信路のそれぞれに対応する伝送遅延時間を記憶する伝送遅延時間記憶部をさらに備え、選択部は、伝送遅延時間記憶部に記憶された伝送遅延時間に基づいて、複数の通信路からいずれか一つを選択するように構成することができる。
【００２８】
また、本発明の通信システムのゲートウェイ送信装置は、推測部、修正情報受信部、および、修正部をさらに備え、ゲートウェイ受信装置は、修正情報生成部、および、修正情報送信部をさらに備えるように構成することができる。
【００２９】
ゲートウェイ送信装置の推測部は、伝送遅延時間記憶部に記憶された伝送遅延時間に基づいて、受信部が受信した受信側端末宛データをゲートウェイ受信装置に送信した場合、ゲートウェイ受信装置が当該データを受信する受信時刻を推測する。送信部は、推測部が推測した受信時刻の情報を受信部が受信した受信側端末宛データに添付してゲートウェイ受信装置に送信する。
【００３０】
ゲートウェイ受信装置の修正情報生成部は、ゲートウェイ送信装置が送信したデータを受信部が受信した受信時刻と、当該データに添付された受信時刻の情報と、に基づいて、ゲートウェイ送信装置の伝送遅延時間記憶部に記憶された伝送遅延時間を修正する修正情報を生成する。修正情報送信部は、修正情報生成部が生成した修正情報のデータをゲートウェイ送信装置に送信する。
【００３１】
ゲートウェイ送信装置の修正情報受信部は、ゲートウェイ受信装置が送信した修正情報のデータを受信する。修正部は、修正情報受信部が受信した修正情報のデータに基づいて伝送遅延時間記憶部に記憶された伝送遅延時間を修正する。
【００３２】
本発明のゲートウェイ送信装置は、送信側端末に接続されるとともに、受信側端末に接続されたゲートウェイ受信装置に複数の通信路を介して接続され、受信部、選択部、および、送信部を備える。受信部は、送信側端末が送信する受信側端末宛データを受信する。選択部は、複数の通信路からいずれか一つを選択する。送信部は、選択部が選択した通信路を介して、受信部が受信した受信側端末宛データをゲートウェイ受信装置に送信する。
【００３３】
また、本発明のゲートウェイ送信装置は、複数の通信路のそれぞれに対応する送信バッファ部をさらに備え、選択部は、送信バッファ部にバッファリングされた未送信のデータの量に基づいて、複数の通信路からいずれか一つを選択し、送信部は、送信バッファ部のうち選択部が選択した通信路に対応するものにより、受信側端末宛データをバッファリングして送信するように構成することができる。
【００３４】
送信バッファ部の未送信のデータの量が少ない通信路は、それだけデータの送信が速くなる可能性がある。本発明では、これを考慮して通信路を選択することができる。
【００３５】
また、本発明のゲートウェイ送信装置の選択部は、送信部と複数の通信路との間のアクセス区間の回線速度に基づいて、複数の通信路からいずれか一つを選択するように構成することができる。
【００３６】
たとえば、アクセス区間の回線速度が通信のボトルネックとなることが多い場合に、本発明により、これを考慮して通信路を選択することができる。特に、上述の送信バッファ部の未送信のデータの量が少ない通信路の選択と併用することにより、データの送信を速くすることができる。
【００３７】
また、本発明のゲートウェイ送信装置は、複数の通信路のそれぞれに対応する伝送遅延時間を記憶する伝送遅延時間記憶部をさらに備え、選択部は、伝送遅延時間記憶部に記憶された伝送遅延時間に基づいて、複数の通信路からいずれか一つを選択するように構成することができる。
【００３８】
本発明により、あらかじめパケット伝送に必要な時間（伝送遅延時間）の推測値を記憶しておき、この推測値を考慮して通信路を選択することができる。
【００３９】
また、本発明のゲートウェイ送信装置は、推測部、修正情報受信部、および、修正部をさらに備えるように構成することができる。推測部は、伝送遅延時間記憶部に記憶された伝送遅延時間に基づいて、受信部が受信した受信側端末宛データをゲートウェイ受信装置に送信した場合、ゲートウェイ受信装置が当該データを受信する受信時刻を推測する。送信部は、推測部が推測した受信時刻の情報を受信部が受信した受信側端末宛データに添付してゲートウェイ受信装置に送信する。修正情報受信部は、ゲートウェイ受信装置が送信した修正情報のデータを受信する。修正部は、修正情報受信部が受信した修正情報のデータに基づいて伝送遅延時間記憶部に記憶された伝送遅延時間を修正する。
【００４０】
本発明により、パケット伝送に必要な時間の推測値を通信状況に応じて適宜修正することができる。
【００４１】
本発明のゲートウェイ受信装置は、受信側端末に接続されるとともに、送信側端末に接続されたゲートウェイ送信装置に複数の通信路を介して接続され、受信部と送信部とを備える。受信部は、ゲートウェイ送信装置が送信する受信側端末宛データを受信する。送信部は、受信部が受信した受信側端末宛データを特定条件が満たされてから受信側端末に送信する。
【００４２】
特定条件を適宜変更することにより、受信側端末宛データを直ちに送信したり、複数の受信側端末宛データに順番がある場合に、その順番を揃えてから送信したりすることができる。
【００４３】
本発明のゲートウェイ受信装置は、受信側端末に接続されるとともに、送信側端末に接続されたゲートウェイ送信装置に複数の通信路を介して接続され、受信部、送信部、修正情報生成部、および、修正情報送信部を備える。受信部は、ゲートウェイ送信装置が送信する受信側端末宛データを受信する。送信部は、受信部が受信した受信側端末宛データを受信側端末に送信する。修正情報生成部は、受信部が受信側端末宛データを受信した受信時刻と、当該データに添付された受信時刻の情報と、に基づいて、ゲートウェイ送信装置の伝送遅延時間記憶部に記憶された伝送遅延時間を修正する修正情報を生成する。修正情報送信部は、修正情報生成部が生成した修正情報のデータをゲートウェイ送信装置に送信する。
【００４４】
本発明のゲートウェイ送信方法は、送信側端末に接続されるとともに、受信側端末に接続されたゲートウェイ受信装置に複数の通信路を介して接続されたゲートウェイ送信装置にて使用され、受信ステップ、選択ステップ、および、送信ステップを備える。受信ステップでは、送信側端末が送信する受信側端末宛データを受信する。選択ステップでは、複数の通信路からいずれか一つを選択する。送信ステップでは、選択ステップにて選択された通信路を介して、受信ステップにて受信された受信側端末宛データをゲートウェイ受信装置に送信する。
【００４５】
本発明のゲートウェイ受信方法は、受信側端末に接続されるとともに、送信側端末に接続されたゲートウェイ送信装置に複数の通信路を介して接続されたゲートウェイ受信装置にて使用され、受信ステップ、および、送信ステップを備える。受信ステップでは、ゲートウェイ送信装置が送信する受信側端末宛データを受信する。送信ステップでは、受信ステップにて受信された受信側端末宛データを特定条件が満たされてから受信側端末に送信する。
【００４６】
本発明のゲートウェイ送信装置、ゲートウェイ受信装置、ゲートウェイ送信方法、および、ゲートウェイ受信方法を実現するためのプログラムをコンパクトディスク、フロッピーディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリなどの情報記録媒体に記憶することができる。
【００４７】
さらに、本発明のゲートウェイ送信装置、ゲートウェイ受信装置、ゲートウェイ送信方法、および、ゲートウェイ受信方法を実現するためのプログラムを、ＷＷＷのサーバコンピュータに配置することができる。ここからオペレータが適宜ダウンロードしてゲートウェイ送信装置、および、ゲートウェイ受信装置に記憶させてプログラムを更新し、当該プログラムを実行させることができる。
【００４８】
また、汎用コンピュータなどの情報処理装置と、複数のネットワークインターフェースとを組み合わせ、本発明の情報記録媒体に記録されたプログラムを実行させることにより、本発明のゲートウェイ送信装置、および、ゲートウェイ受信装置を実現することができる。また、これらを一体に構成したゲートウェイ装置を実現することができる。
【００４９】
【発明の実施の形態】
以下に本発明の一実施形態を説明する。なお、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本願発明の範囲に含まれる。
【００５０】
（第１の実施の形態）
図１は、本発明の実施形態において、ゲートウェイ送信装置とゲートウェイ受信装置とがインターネットを介して２つのＬＡＮの中継を行う様子を示す模式図である。なお、説明の都合上、以下では、ゲートウェイ送信装置とゲートウェイ受信装置とが一体に構成されたゲートウェイ装置を用いる。また、通信プロトコルにはＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）を用いる。
【００５１】
第１のＬＡＮ（ＬＡＮ−Ａ）内の端末（送信側端末）１０１が、第２のＬＡＮ（ＬＡＮ−Ｂ）内の端末（受信側端末）１６１に対してＩＰパケット（受信側端末宛データ）を伝送したい場合を考える。まず、ゲートウェイ装置（ゲートウェイ送信装置）１２１がＬＡＮ側インターフェース（InterFace；I/F）１２２によりこのＩＰパケットを受信する。
【００５２】
次に、ゲートウェイ装置１２１は、受信したＩＰパケットを複数のインターネット側インターフェース１３２、１３３、１３４からいずれかを選択し、送信させる。
【００５３】
ＬＡＮ−Ａのゲートウェイ装置１２１の複数のインターネット側インターフェース１３２、１３３、１３４は、それぞれ、ＬＡＮ−Ｂのゲートウェイ装置（ゲートウェイ受信装置）１７１の複数のインターネット側インターフェース１７２、１７３、１７４に対応付けられている。
【００５４】
インターネット側インターフェース１３２から送信されるＩＰパケットはインターネット側インターフェース１７２によって、
インターネット側インターフェース１３３から送信されるＩＰパケットはインターネット側インターフェース１７３によって、
インターネット側インターフェース１３４から送信されるＩＰパケットはインターネット側インターフェース１７４によって、
それぞれ中継される。
【００５５】
これらのインターネット側インターフェース１３２、１３３、１３４、１７２、１７３、１７４はそれぞれ異なるＩＰアドレスを有するように設定することができる。このように設定すれば、ＩＰパケットをインターネット内で転送する際に３つの異なる通信路１４２、１４３、１４４が確保できることになる。なお、これらの通信路は、時々刻々と変化してもよいし、一部重複してもよい。
【００５６】
特に、この３つの通信路のそれぞれを、異なるＩＳＰ（Internet Service Provider；インターネットサービスプロバイダ）が提供する通信路とすることが望ましい。インターネットでは、ＩＳＰ同士も相互に接続されているが、送信側と受信側で同じＩＳＰに接続していれば、他のＩＳＰに迂回する通信路が選択されることは稀である。したがって、複数の異なる通信路がほぼ確実に得られることになる。
【００５７】
なお、ゲートウェイ装置１２１でいずれかの通信路を選択する際に、後述するように、以下の要素を考慮することができる。
・ＩＰパケットの大きさ。
・複数のインターネット側インターフェース１３２、１３３、１３４のそれぞれに対応付けられた送信用バッファ１３７、１３８、１３９のバッファ使用量。・インターネット側インターフェース１３２、１３３、１３４とインターネットとの間のアクセス区間の回線速度。
・以前に測定した通信路１４２、１４３、１４４における伝送遅延時間。
【００５８】
また、本実施形態では、インターネット側インターフェースの数はゲートウェイ装置１２１で３つ、ゲートウェイ装置１７１で３つ、合計６つとなっているが、この個数は適宜変更することができ、変更した実施態様も本発明の範囲に含まれる。
【００５９】
ＬＡＮ−Ｂのゲートウェイ装置１７１のインターネット側インターフェース１７２、１７３、１７４のいずれかに、ＬＡＮ−Ａのゲートウェイ装置１２１が送信したＩＰパケットが到着すると、ゲートウェイ装置１７１は、そのＩＰパケットの宛先を確認し、ＬＡＮ側インターフェース１７９を介してそのＩＰパケットをＬＡＮ−Ｂ内の端末１６１に送信する。
【００６０】
ＩＰパケットの伝送では、パケットの受信確認の通知（Acknowledge；ＡＣＫ）が受信側から送信側へ返される。本実施形態では、ＬＡＮ−Ｂの端末１６１からＬＡＮ−Ａの端末１０１へ受信確認の通知を返す。この場合は、上記の場合とは逆に、ＡＣＫのＩＰパケットが転送されることになる。
【００６１】
ＡＣＫのＩＰパケットは、これに対応する受信側端末宛データのＩＰパケットが経由した通信路と同じ通信路を選択して伝送してもよいし、異なる通信路を選択して伝送してもよい。いずれの実施形態も本発明の範囲に含まれる。
【００６２】
図２は、ＩＰパケットの構造の概要を示す模式図である。ＩＰパケット２０１は、ＩＰヘッダ部２１１と、ＩＰデータ部２２１とに分かれる。ＴＣＰを用いた通信の場合は、ＩＰデータ部２２１がＴＣＰパケットとなる。
【００６３】
ＩＰデータ部（ＴＣＰパケット）２２１は、ＴＣＰヘッダ部２３１とＴＣＰデータ部２４１とに分かれる。
【００６４】
ＩＰヘッダ部２１１には、たとえば以下の領域が含まれる。
・送信側のＩＰアドレスを記録する送信側アドレス領域２１２。
・受信側のＩＰアドレスを記録する受信側アドレス領域２１３。
・ＩＰヘッダ部２１１のオプションとして用意され、時刻情報を記録することができるタイムスタンプ領域２１４。
【００６５】
一方、ＴＣＰヘッダ部２３１には、たとえば以下の領域が含まれる。
・通信アプリケーションが使用するポート番号を記録するポート番号領域２３２。
・ＴＣＰデータの順序を識別するための番号を記録するシーケンス番号領域２３３。
・ＴＣＰデータの受信確認応答番号を記録するＡＣＫ番号領域２３４。
【００６６】
一方、ＴＣＰデータ部２４１には、伝送したい情報やデータが記録される。
【００６７】
さて、ゲートウェイ装置１２１、１７１では、データを送信するためのＩＰパケット（以下「データパケット」という。）と、受信確認を通知するためのＩＰパケット（以下「ＡＣＫパケット」という。）とが中継される。したがって、１回のＴＣＰ／ＩＰ通信のトランザクションは、以下の４段階に分けることができる。ＴＣＰ／ＩＰ通信は、パケットの到着を確認する種類の通信であるので、データパケットを送信してＡＣＫパケットを受信するまでが１トランザクションに相当する。
【００６８】
なお、実際のＴＣＰ通信では、複数のデータパケットに対して１つのＡＣＫパケットを返信して通信する場合もあるが、ここでは、理解を容易にするため、１つのデータパケットに対して１つのＡＣＫパケットを返信する実施形態を例にあげて説明する。
【００６９】
（１）端末１０１からデータパケットがゲートウェイ装置１２１に到着し、ゲートウェイ装置１２１が複数の通信路のいずれかを選択してデータパケットを送信する（ゲートウェイ装置１２１におけるデータパケット送信処理）。
【００７０】
（２）ゲートウェイ装置１７１が複数の通信路のいずれかからデータパケットを受信し、端末１６１へ送信する（ゲートウェイ装置１７１におけるデータパケット受信処理）。
【００７１】
（３）データパケットを受信した端末１６１から、ＡＣＫパケットがゲートウェイ装置１７１に到着し、ゲートウェイ装置１７１が複数の通信路のいずれかを選択してＡＣＫパケットを送信する（ゲートウェイ装置１７１におけるＡＣＫパケット送信処理）。
【００７２】
（４）ゲートウェイ装置１２１が複数の通信路のいずれかからＡＣＫパケットを受信し、端末１０１へ送信する（ゲートウェイ装置１２１におけるＡＣＫパケット受信処理）。
【００７３】
これらの処理は、図３に示すゲートウェイ装置により実行することができる。図３は、ゲートウェイ装置の構成を示す模式図である。図３に示すゲートウェイ装置３０１により、図１に示すゲートウェイ送信装置１２１とゲートウェイ受信装置１７１とを実現することができる。
【００７４】
ゲートウェイ装置３０１のＣＰＵ（Central Processing Unit；中央処理装置）３０２は、ゲートウェイ装置３０１全体の制御を司る。ＣＰＵ  ３０２は、ゲートウェイ装置３０１に電源が投入されると、ＲＯＭ（Read Only Memory）３０３に記憶されているＩＰＬ（Initial Program Loader；初期プログラムローダ）をＲＡＭ（Random Access Memory）３０４に読み出し、これを実行する。
【００７５】
ＩＰＬにはハードディスク、フロッピーディスク、ＣＤ−ＲＯＭ、フラッシュメモリカードやＲＯＭ  ３０３以外のＲＯＭから構成される外部記憶装置３０５からオペレーティングシステムやアプリケーションプログラムをロードするためのプログラムコードが含まれている。
【００７６】
アプリケーションプログラムなどが使用する一時的なデータは、ＲＡＭ  ３０４に記憶される。また、ＲＡＭ  ３０４には、通信用バッファ領域を設けることができる。
【００７７】
ゲートウェイ装置３０１は、ＬＡＮ側インターフェース３０６によりＬＡＮに接続され、複数のインターネット側インターフェース３０７、３０８、３０９によりインターネットに接続される。ＬＡＮ側インターフェース３０６や、インターネット側インターフェース３０７、３０８、３０９には、たとえばイーサネット用ネットワークカードやＰＣ（Personal Computer）カード規格（従来のＰＣＭＣＩＡ（Personal Computer Memory Card International Association）規格）にしたがったネットワークカードを用いることができる。さらに、モデムやダイアルアップルータなどを利用することもできる。
【００７８】
ゲートウェイ装置３０１は、上記の要素を備えた一体型の装置として実現することが可能である。この場合、ゲートウェイ装置３０１に接続されたＬＡＮ内の端末からＷＷＷブラウザを利用してゲートウェイ装置３０１を設定管理することができる。
【００７９】
また、ゲートウェイ装置３０１は、汎用コンピュータにより実現することが可能であり、この場合には、さらにマウスやキーボードなどの入力装置、ディスプレイなどの表示装置を備えることができる。
【００８０】
ここで、ゲートウェイ装置３０１は、ゲートウェイ送信装置、ゲートウェイ受信装置として機能する。
ＬＡＮ側インターフェース３０６はゲートウェイ送信装置の受信部として、および、ゲートウェイ受信装置の送信部として機能する。
【００８１】
インターネット側インターフェース３０７、３０８、３０９はゲートウェイ送信装置の複数の送信部、および、修正情報受信部として、また、ゲートウェイ受信装置の複数の受信部、および、修正情報送信部として、機能する。
【００８２】
ＣＰＵ  ３０２は、ゲートウェイ送信装置の選択部、推測部、および、修正部として、また、ゲートウェイ受信装置の修正情報生成部として、機能する。
ＲＡＭ  ３０４は、ゲートウェイ送信装置の送信バッファ部、および、伝送遅延時間記憶部として機能する。
【００８３】
外部記憶装置３０５およびこれにより読み取られる媒体は、本発明の情報記録媒体として機能する。
【００８４】
（ゲートウェイ装置１２１におけるデータパケット送信処理）
本処理は、ゲートウェイ装置１２１のＬＡＮ側インターフェース１２２が端末１０１から端末１６１宛のデータパケットを受信することにより起動される。図４は、本処理の流れを示すフローチャートである。
【００８５】
端末１６１宛のパケットを受信すると、ＣＰＵ  ３０２は、インターネット側インターフェース１３２、１３３、１３４のそれぞれを介してゲートウェイ装置１７１へパケットを送信した場合の所要時間を推測する。具体的には、m番目のインターネット側インターフェースについて、以下のパラメータを元に、所要時間Wmを推測する（ステップＳ４０１）。
【００８６】
・データパケットの大きさS。
・アクセス区間の回線速度Rm。
・当該インターネット側インターフェースに対応する送信用バッファの使用量Bm。
・インターネット内のデータパケットの伝送に要する伝送遅延時間Dm。これは以前に測定した値であり、ＲＡＭ  ３０４内に記憶されている。
【００８７】
これらのパラメータから、所要時間の推測値Wmは、以下のように求めることができる。
Wm = (Bm+S)/Rm + Dm
【００８８】
本実施形態では、３つのインターネット側インターフェース１３２、１３３、１３４が用意されているため、順にW1、W2、W3を計算することになる。
【００８９】
さらに、ＣＰＵ  ３０２は、３つのインターネット側インターフェース１３２、１３３、１３４から、所要時間Wmが最も短いものを選択する（ステップＳ４０２）。
【００９０】
ついで、ＣＰＵ  ３０２は、送信すべきデータパケットのヘッダ部やデータ部を調整し（ステップＳ４０３）、ステップＳ４０２において選択したインターネット側インターフェースに当該調整したデータパケットを送信して（ステップＳ４０４）、本処理を終了する。
【００９１】
本実施形態においては、ゲートウェイ装置１７１におけるデータパケット受信処理は、公知の処理と同じ処理を利用することができる。ゲートウェイ装置１７１は複数のインターネット側インターフェースを備えることが望ましいが、インターネット側インターフェースが１つの場合であっても、ゲートウェイ装置１２１のインターネット側インターフェースが複数あれば、通信路を異なるものとすることが可能である。
【００９２】
なお、後述する第２の実施の形態を採用することにより、ゲートウェイ装置１７１は複数のインターネット側インターフェースを備える場合に、受信したデータパケットの順序を可能なかぎり維持することができる。また、後述する第３の実施の形態を採用することにより、伝送遅延時間Dmを修正することができる。
【００９３】
また、ゲートウェイ装置１７１におけるＡＣＫパケット送信処理は、ゲートウェイ装置１２１におけるデータパケット送信処理と同様の処理を行えばよい。ゲートウェイ装置１２１におけるＡＣＫパケット受信処理もゲートウェイ装置１７１におけるデータパケット受信処理と同様の処理を行うことができる。
【００９４】
（第２の実施の形態）
上述した実施形態では、送信側端末１０１が伝送したデータパケットが複数あった場合、受信側端末１６１がこれらを受信する順番については考慮していなかった。以下に説明する第２の実施の形態は、同じ受信側端末１６１へ送信されるデータパケットの順番をできるだけ維持したい場合に好適である。すなわち、ゲートウェイ受信装置１７１に、送信された順序通りにデータパケットが到着した場合に特定条件が満たされたことになる。
【００９５】
特にＴＣＰ／ＩＰ通信では、データパケットの到着順序が入れ替わった場合、順番から抜けたデータが記録されたパケットを所定の時間内に受信しないと、そのパケットは損失したものとして当該データパケットの再送要求を行う。このため、順序を考慮しない場合には、パケットが損失したもの、として誤検出する可能性が増してしまう。誤検出された場合にもデータパケットの再送要求が行われるため、重複して送信されるパケットの数が増えるおそれがある。また、ＴＣＰでは、パケット損失を検出した場合にフロー制御を行うが、誤検出の場合には、このフロー制御によってデータ伝送速度が低下してしまうおそれがある。
【００９６】
このため、ゲートウェイ受信装置１７１に、データパケットのフロー情報、具体的には、送信側のＩＰアドレスと、受信側のＩＰアドレスと、通信アプリケーションが使用するポート番号と、ＴＣＰデータの順序を識別するためのシーケンス番号と、ＴＣＰデータサイズと、の組を記憶しておく。
【００９７】
この情報を元にして、ゲートウェイ受信装置１７１は、受信したデータパケットの順番をチェックすることができ、データの連続性が失われているフローについては、データの順番を整えるのに必要なデータパケットが到着するまで、受信側端末へのデータパケットの送信を一時中断することができる。
【００９８】
ゲートウェイ受信装置１７１は、ゲートウェイ装置３０１により実現することができる。図５は、ＲＡＭ  ３０４の使用状況の模式図である。
【００９９】
図５に示すように、ＲＡＭ  ３０４には、ゲートウェイ装置１２１のインターネット側インターフェース３０７、３０８、３０９のそれぞれに対応する通信用バッファ５０７、５０８、５０９（これらは送信用バッファのほか受信用バッファとしても利用される）のほか、フロー情報を複数記憶するための履歴表５０１が確保される。履歴表５０１には、必要に応じて順番を維持するために一時的に保持すべきデータパケットの内容を記憶する領域も用意することができる。
【０１００】
このように記録されたフロー情報をもとに、ゲートウェイ装置３０１により実現されるゲートウェイ受信装置１７１で実行されるデータパケット受信処理について、図６を参照しながら以下に説明する。
【０１０１】
データパケット受信処理は、ゲートウェイ装置３０１（ゲートウェイ受信装置１７１）がデータパケットを受信したことにより起動される。インターネット側インターフェース３０７、３０８、３０９のいずれかがデータパケットを受信することにより本処理が開始されるが、インターネット側インターフェースの数は、上記の実施形態同様、任意の数を選択することができる。
【０１０２】
まず、ゲートウェイ装置のＣＰＵ  ３０２は、受信したデータパケットのフロー情報を識別する（ステップＳ７０１）。
【０１０３】
次に、データパケットの順番に連続性があるか否かを判定する（ステップＳ７０２）。
【０１０４】
データパケットの連続性に連続性がある場合（ステップＳ７０２；Ｙｅｓ）、特定条件が満たされることになるので、当該データパケットのフロー情報（最新のフロー情報に相当する）をＲＡＭ  ３０４に記憶し（ステップＳ７０３）、パケットを受信側端末に送信して（ステップＳ７０４）、本処理を終了する。
【０１０５】
一方、データパケットの順番に連続性がない場合（ステップＳ７０２；Ｎｏ）、以下に説明する保持処理を行い（ステップＳ７０６）、本処理を終了する。
【０１０６】
以下、図７を参照して、保持処理の詳細について説明する。図７は、ゲートウェイ装置で実行される保持処理の流れを示すフローチャートである。
【０１０７】
まず、受信したデータパケットをＲＡＭ  ３０４に記憶する（ステップＳ８０１）。この保持済みデータパケットは、受信してから所定のタイムアウト時間が経過した場合には、データパケットを受信側端末に送信する。
【０１０８】
本実施形態では、ゲートウェイ装置１７１において、不連続となった箇所のデータパケットが遅れて到着するのか、あるいは、インターネット区間の通信路でパケット損失が発生したためにパケット順序が不連続となったのかを区別できないため、このようなタイムアウト時間の導入が必要となる。
【０１０９】
本実施形態では、ステップＳ８０１の後でタイムアウト時間を経過したか否かを判断する（ステップＳ８０２）。ただし、タイムアウト時間の経過は、たとえば割込処理などにより検知することができる。この場合は、タイムアウト割込で、ステップＳ８０２以降を実行すればよい。
【０１１０】
タイムアウト時間を超えた場合（ステップＳ８０２；Ｙｅｓ）はパケット損失が発生したと判断し、当該フローの保持しているデータパケットのすべてを受信側端末に送信する（ステップＳ８０３）。また、ＲＡＭ  ３０４のデータパケットの最新フロー情報を更新して（ステップＳ８０４）、本処理を終了する。
【０１１１】
一方タイムアウト時間を超えていない場合（ステップＳ８０２；Ｎｏ）、本処理を終了する。
【０１１２】
タイムアウト時間は、保持済みデータパケットごとに計算してもよい。また、現在保持されているデータパケットのうち最も古いものについてタイムアウト時間が経過したか否かを判別し、タイムアウト時間が経過した場合には、保持しているデータパケットすべてを送信してしまうのでもよい。
【０１１３】
一方、新たなデータパケットが受信された場合には、ＲＡＭ  ３０４に記憶された保持済みデータパケットも考慮した上で、パケットの順番が連続しているか否かを調べ、連続している場合には、連続している保持済みデータパケットと受信したデータパケットとを、順番に受信側端末に送信する。
【０１１４】
送信した後は、ＲＡＭ  ３０４から保持済みデータパケットを消去する。その後に到着したデータパケットが、ＲＡＭ  ３０４に記録された最新フロー情報よりも古い場合は、データの順番を考慮せず、すなわち、保持処理を行わずに、受信側端末へ送信する。このような保持処理を行うことにより、できるだけデータパケットの順番を維持することができる。
【０１１５】
また、上記タイムアウト時間を経過する前にパケット損失が発生したことが予想される２つの場合には、タイムアウト時間を待たずに、その時点で保持済みデータパケットの送信を行い、最新フロー情報を更新することもできる（パケット損失の判定）。
（１）全通信路において、次に到着すべき順番のパケットよりも後のパケットを受信した場合。
（２）一定通信路内でのパケット順序に不連続性が見られた場合。
【０１１６】
これらは、「ある２地点間の通信では、パケットの到着順序が入れ替わるのはまれである」という仮定のもとに成り立っている。この仮定が成立することは、実験によって確かめることができる。
【０１１７】
条件（１）が成立する場合は条件（２）も必ず成立するが、逆は必ずしも成り立たない。これら２つの条件を両方ともパケット損失の判定に利用することができる。また、いずれかを選択してもよい。さらに、これらの条件を考慮しない実施形態を採用することもできる。これらはすべて本発明の範囲に含まれる。
【０１１８】
ここで、条件（２）を判定に利用するためには、同じ通信路を経由してきたパケットのみでパケット損失を検出しなければならない。このため、以下のような手法を採用することができる。
【０１１９】
本実施形態では、ゲートウェイ装置１２１におけるデータパケット送信処理のステップＳ４０３の際に、図８に示すように、データパケット（ＩＰパケット）のユーザ用タイムスタンプ領域に、以下の情報を記録してから送信する。
・当該パケットの送信時刻。
・同じ宛先（すなわち、フロー情報が同一の宛先）に対する当該パケットの直前に送信したパケットの送信時刻。
【０１２０】
ＩＰ規約により、タイムスタンプ領域は、ＩＰパケット内にユーザ用として複数用意されているが、これ以外の通信プロトコルを使用する場合であっても、同様のタイムスタンプ領域を用意することができ、このような実施形態も本発明の範囲に含まれる。
【０１２１】
また、上記の２種類の送信時刻をデータパケットに記録するのは、直前に送信したパケットと当該パケットとの順番を表すためである。順序が付いた複数のパケットが所定の順序をもって送信される場合を考えると、たとえば当該パケットが４個の場合、順に時刻t1, t2, t3, t4に送信したとすると、これらの送信時刻の組は、以下のようになる。
【０１２２】
「0,  t1」「t1, t2」「t2, t3」「t3, t4」
【０１２３】
なお、最初のパケットには「直前に送信したパケット」は存在しないので、これを表すために特別な時刻を用いる。たとえば「０」をそのために用いる。これにより、同じ通信路を経由してきたパケットおんみでパケット損失（パケットの順序の不連続性）を検出することができる。
【０１２４】
なお、連続しているか否かが判別できればよいため、到着時刻ではなく、単なる追番を付すのでもよい。
【０１２５】
上記の状態を具体例で説明する。図９は、複数の順序のついたデータパケットがゲートウェイ受信装置１７１に到着した場合に、受信側端末１６１にどのような順に送信されるかを示す説明図である。
【０１２６】
図９（ａ）は、２つの通信路を介して６つのデータパケットが到着した場合であり、ルート１で１番目のパケット、ルート２で２番目のパケット、ルート２で４番目のパケット、ルート１で３番目のパケット、ルート１で５番目のパケット、ルート２で６番目のパケットの順に到着した場合である。
【０１２７】
この場合、１番目と２番目、５番目と６番目のパケットでは順番が連続しているが、３番目と４番目の順番が入れ替わっている。このため、４番目のパケットを受信した際に保持処理（ステップＳ７０６）が実行され、３番目のパケットを受信してから、３番目、４番目のパケットが合わせて受信側端末１６１に送信される。
【０１２８】
図９（ｂ）は、２つの通信路を介して４つのデータパケットが送信され、３番目のパケットが損失された場合であり、ルート１で１番目のパケット、ルート２で２番目のパケット、ルート２で４番目のパケットの順に到着した場合である。
【０１２９】
この場合、４番目のパケットを受信してから所定のタイムアウト時間が経過してから、４番目のパケットが受信側端末１６１に送信される。この場合、３番目のパケット損失の復旧処理は、公知の技術により行うことができる。たとえば、順番が抜けていることを受信側端末１６１から送信側端末１０１に通知するなどの手法である。
【０１３０】
図９（ｃ）は、パケット損失の判定（１）を示す例である。２つの経路で送られた６つのパケットにおいて、３番目のパケットが損失している。４番目のパケットが到着した時点で保持処理が行われるが、タイムアウト時間が経過する前に全通信路において４番目以降のパケット（５番目のパケット）を受信したため、その時点（５番目のパケットを受信した時点）で保持処理を解除し、保持済みデータパケットを受信側端末１６１に対して送信する。
【０１３１】
図９（ｄ）は、パケット損失の判定（２）を示す例である。
【０１３２】
この実施形態では、データパケットに上記のフロー情報のほか、当該通信路を経由して同じ宛先に直前に送信された送信時刻を記録する。これにより、たとえば、ルート１では、１、３、５番目のパケットが、ルート２では、２、４、６番目のパケットが、それぞれ送信される。３番目のパケットが損失した場合には、５番目のパケットを受信した時点で、ルート１でのパケットの連続性が損なわれたことが判明する。このように、パケットの連続性が損なわれた場合には、順番待ちを解除し、保持されているデータパケットをすべて送信する。
【０１３３】
図９（ｃ）、（ｄ）のように、パケット損失が発生したと予想される場合には、タイムアウト時間の経過を待たずにパケット損失の復旧処理を実行することができる。前述の実施形態と同様に、パケット損失の復旧処理は公知の技術により行うことができる。
【０１３４】
（第３の実施の形態）
本実施形態では、ゲートウェイ装置１２１に記憶される伝送遅延時間を修正することにより、より正確なデータパケット到達時刻の推測を行い、高速なデータの伝送を可能にする。
【０１３５】
ゲートウェイ装置１７１におけるデータパケット受信処理においては、データパケットに到着予測時刻が記録されている場合には、後述するようにその時刻と実際に到着した時刻とを比較し、ゲートウェイ装置１２１に記憶された伝送遅延時間の修正情報を生成し、これを含む管理・制御用パケットを別途ゲートウェイ装置１２１に送信する。管理・制御用パケットの修正情報にしたがって、ゲートウェイ装置１２１は、適宜伝送遅延時間を修正することができる。
【０１３６】
この際、ゲートウェイ装置１２１におけるデータパケット送信処理の際に、図２に示すように、データパケット（ＩＰパケット）のユーザ用タイムスタンプ領域に、当該パケットの到着予測時刻を記録してから送信することができる。ＩＰ規約により、タイムスタンプ領域は、ＩＰパケット内にユーザ用として複数用意されているが、これ以外の通信プロトコルを使用する場合であっても、同様のタイムスタンプ領域を用意することができ、このような実施形態も本発明の範囲に含まれる。
【０１３７】
以下詳細に説明する。
【０１３８】
ゲートウェイ送信装置１２１では、データパケットがゲートウェイ受信装置１７１に到着する予想到着時刻を記録する。これは、現在時刻にWmを加算することにより得ることができる。
【０１３９】
ゲートウェイ受信装置１７１が、このデータパケットを受信した場合、実際の到着時刻と予想到着時刻との差を求め、複数パケットについてこのような差の平均を求める。
【０１４０】
求めた差の平均値が修正情報であり、ゲートウェイ受信装置１７１がゲートウェイ送信装置１２１に送信する。修正情報は、通常のデータパケットやＡＣＫパケットとは異なる管理・制御用パケットを用いる。
【０１４１】
ゲートウェイ送信装置１２１が管理・制御用パケットを受信すると、その中から修正情報を読み出し、Dmの値を修正する。
【０１４２】
なお、この実施形態の場合、ゲートウェイ装置１２１とゲートウェイ装置１７１との時刻は同期していなくともよい。修正情報は、すべての通信路に均等に反映することになるからである。
【０１４３】
なお、以上では、インターネットを用いたＴＣＰ／ＩＰ通信を例にあげて説明したが、本発明をほかのコンピュータネットワークに適用することは容易であり、その実施態様も本発明の範囲に含まれる。
【０１４４】
【発明の効果】
以上説明したように、本発明によれば、送信側端末と、これに接続されたゲートウェイ送信装置と、これに複数の通信路を介して接続されたゲートウェイ受信装置と、これに接続された受信側端末と、を備える通信システム、ゲートウェイ送信装置、ゲートウェイ受信装置、ゲートウェイ送信方法、ゲートウェイ受信方法を提供することができる。
【０１４５】
また、ゲートウェイ送信装置、ゲートウェイ受信装置、ゲートウェイ送信方法、ゲートウェイ受信方法を実現するプログラムを記録した情報記録媒体をソフトウェア商品として、ハードウェアと独立して容易に配布したり販売したりすることができるようになる。本発明の情報記録媒体に記録されたプログラムをゲートウェイ送信装置、ゲートウェイ受信装置、で実行すれば、上記の発明に係るゲートウェイ送信装置、ゲートウェイ受信装置、ゲートウェイ送信方法、ゲートウェイ受信方法が実現できる。
【図面の簡単な説明】
【図１】本発明のゲートウェイ送信装置と、ゲートウェイ受信装置とがインターネットを介して２つのＬＡＮの中継を行う実施形態の様子を示す模式図である。
【図２】伝送されるデータパケットの様子を示す模式図である。
【図３】ゲートウェイ送信装置と、ゲートウェイ受信装置とを実現するゲートウェイ装置の構成を示すブロック構成図である。
【図４】ゲートウェイ送信装置において実行されるデータパケット送信処理の流れを示すフローチャートである。
【図５】図１に示す実施形態のゲートウェイ受信装置におけるＲＡＭの使用状況の模式図である。
【図６】ゲートウェイ受信装置において実行されるデータパケット受信処理の流れを示すフローチャートである。
【図７】ゲートウェイ受信装置において実行される保持処理の流れを示すフローチャートである。
【図８】伝送されるデータパケットの様子を示す模式図である。
【図９】ゲートウェイ受信装置に到着したパケットが受信側端末に送信される順序を示す説明図である。
【符号の説明】
１０１  送信側端末
１２１  ゲートウェイ送信装置
１２２  ＬＡＮ側インターフェース
１３２  インターネット側インターフェース
１３３  インターネット側インターフェース
１３４  インターネット側インターフェース
１３７  送信用バッファ
１３８  送信用バッファ
１３９  送信用バッファ
１４２  通信路
１４３  通信路
１４４  通信路
１６１  受信側端末
１７１  ゲートウェイ受信装置
１７２  インターネット側インターフェース
１７３  インターネット側インターフェース
１７４  インターネット側インターフェース
１７９  ＬＡＮ側インターフェース
２０１  ＩＰパケット
２１１  ＩＰヘッダ部
２１２  送信側アドレス領域
２１３  受信側アドレス領域
２１４  タイムスタンプ領域
２２１  ＩＰデータ部
２３１  ＴＣＰヘッダ部
２３２  ポート番号領域
２３３  シーケンス番号領域
２３４  ＡＣＫ番号領域
２４１  ＴＣＰデータ部
３０１  ゲートウェイ装置
３０２  ＣＰＵ
３０３  ＲＯＭ
３０４  ＲＡＭ
３０５  外部記憶装置
３０６  ＬＡＮ側インターフェース
３０７  インターネット側インターフェース
３０８  インターネット側インターフェース
３０９  インターネット側インターフェース
５０１  履歴表
５０７  通信バッファ
５０８  通信バッファ
５０９  通信バッファ
【図１】
0004505575.tif 000002
【図２】
0004505575.tif 000003
【図３】
0004505575.tif 000004
【図４】
0004505575.tif 000005
【図５】
0004505575.tif 000006
【図６】
0004505575.tif 000007
【図７】
0004505575.tif 000008
【図８】
0004505575.tif 000009
【図９】
0004505575.tif 000010