(57)【要約】【課題】  中継装置においてデータ書き換えを行う場合に、データが連続的に送信されネットワーク内でデータの紛失が発生した場合にも、中継装置においてシーケンス番号、アクノレッジ番号を正しく補正し続ける。【解決手段】  通信呼に対して複数の補正値の履歴を管理することで、連続的に送信されたデータが一部廃棄された場合にも、データ量の増減があったデータ毎の補正値を管理して、シーケンス番号とアクノレッジ番号の補正を行う際に、この履歴で管理されている補正値の情報に基づき、各パケットに対して正しい補正値を選択して補正を実施することが可能になる。【選択図】  図１
2006339726.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末間で送受信されるデータを当該端末に適合するデータ様式に書き換えながら中継する中継装置において、
通信呼を識別する通信呼識別手段と、
この通信呼識別手段により識別された通信呼毎に、データ書き換えを実施した際のデータ量の増減値を、書き換えを行ったデータを識別するための情報と共に受信データ毎に管理する補正履歴管理手段と、
この補正履歴管理手段により管理される通信呼について、呼開設から現在までのデータ量増減値に基づき、受信データのシーケンス番号とアクノレッジ番号とを補正する番号補正手段と
を備えたことを特徴とする中継装置。
【請求項２】
前記補正履歴管理手段は、前記データ量の増減値として受信データ毎の補正値を格納する手段を備え、
前記番号補正手段は、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記補正値の合計値を計算して補正を実施する手段を備えた
請求項１記載の中継装置。
【請求項３】
前記補正履歴管理手段は、前記データ量の増減値として受信データ毎の通信呼開始から現在までの補正値の累積値を格納する手段を備え、
前記番号補正手段は、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記累積値を用いて補正を実施する手段を備えた
請求項１記載の中継装置。
【請求項４】
前記補正履歴管理手段は、受信データ毎の全ての補正履歴を蓄積して管理する手段を備えた請求項２または３記載の中継装置。
【請求項５】
前記補正履歴管理手段は、データ書き換えによりデータ量の増減が発生した受信データに限り、その補正履歴を蓄積して管理する手段を備えた請求項２または３記載の中継装置。
【請求項６】
複数の端末間で送受信されるデータを、中継装置を用いて当該端末に適合するデータ様式に書き換えながら中継するデータ中継方法において、
通信呼を識別し、識別された通信呼毎に、データ書き換えを実施した際のデータ量の増減値を、書き換えを行ったデータを識別するための情報と共に受信データ毎に管理し、管理される通信呼について、呼開設から現在までのデータ量増減値に基づき、受信データのシーケンス番号とアクノレッジ番号とを補正する
ことを特徴とするデータ中継方法。
【請求項７】
前記データ量の増減値として受信データ毎の補正値を格納しておき、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記補正値の合計値を計算して補正を実施する請求項６記載のデータ中継方法。
【請求項８】
前記データ量の増減値として受信データ毎の通信呼開始から現在までの補正値の累積値を格納しておき、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記累積値を用いて補正を実施する請求項６記載のデータ中継方法。
【請求項９】
受信データ毎の全ての補正履歴を蓄積して管理する請求項７または８記載のデータ中継方法。
【請求項１０】
データ書き換えによりデータ量の増減が発生した受信データに限り、その補正履歴を蓄積して管理する請求項７または８記載のデータ中継方法。
【請求項１１】
情報処理装置にインストールすることにより、その情報処理装置に、
複数の端末間で送受信されるデータを当該端末に適合するデータ様式に書き換えながら中継する中継装置に相応する機能を実現させるプログラムにおいて、
通信呼を識別する通信呼識別機能と、
この通信呼識別機能により識別された通信呼毎に、データ書き換えを実施した際のデータ量の増減値を、書き換えを行ったデータを識別するための情報と共に受信データ毎に管理する補正履歴管理機能と、
この補正履歴管理機能により管理される通信呼について、呼開設から現在までのデータ量増減値に基づき、受信データのシーケンス番号とアクノレッジ番号とを補正する番号補正機能と
を実現させることを特徴とするプログラム。
【請求項１２】
前記補正履歴管理機能として、前記データ量の増減値として受信データ毎の補正値を格納する機能を実現させ、
前記番号補正機能として、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記補正値の合計値を計算して補正を実施する機能を実現させる
請求項１１記載のプログラム。
【請求項１３】
前記補正履歴管理機能として、前記データ量の増減値として受信データ毎の通信呼開始から現在までの補正値の累積値を格納する機能を実現させ、
前記番号補正機能として、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記累積値を用いて補正を実施する機能を実現させる
請求項１１記載のプログラム。
【請求項１４】
前記補正履歴管理機能として、受信データ毎の全ての補正履歴を蓄積して管理する機能を実現させる請求項１１または１２記載のプログラム。
【請求項１５】
前記補正履歴管理機能として、データ書き換えによりデータ量の増減が発生した受信データに限り、その補正履歴を蓄積して管理する機能を実現させる請求項１１または１２記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ(Internet Protocol)ネットワークに適用され、異なるネットワーク間のデータ転送を中継する中継装置に利用する。特に、データ中継を行う際に、データの書き換えを伴うデータ中継方法に関する。
【背景技術】
【０００２】
ＩＰを使用したネットワークにおいては、ＩＰアドレスの枯渇に対する対策と柔軟なネットワーク構成を実現するために、ＮＡＴ(Network Address Translation)やＮＡＰＴ(Network Address Port Translation)と呼ばれる機能が使用されている。
【０００３】
ＮＡＴはプライベートネットワーク用に設定されたＩＰアドレスを、Ｉｎｔｅｒｎｅｔに接続可能な正式に割り当てられたＩＰアドレスに変換する機能であり、この機能は異なるアドレス体系を持つ２つのネットワークを接続するために使用されている。ＮＡＰＴはＩＰアドレスだけでなくトランスポート層の情報であるＴＣＰ(Transmission Control Protocol)やＵＤＰ(User Datagram Protocol)のポート番号も変換を行う。以降ではＮＡＴ、ＮＡＰＴを合わせてＮＡＴと呼ぶこととする。
【０００４】
しかし、ＮＡＴを使用したネットワーク環境下においては、特定の通信アプリケーションの接続に障害が発生することがある。特定のアプリケーションでは、ユーザデータのフィールドを使用してＩＰアドレス、ポート番号情報をやり取りすることにより、他のコネクションに対する制御を行うものがあり、ＮＡＴはＩＰパケットのフレームフォーマットで規定されたＩＰアドレス領域およびトランスポートプロトコルポート番号領域のみを変換対象としているが、このようなユーザデータフィールドに記載されたＩＰアドレス情報の変換には対応できない。
【０００５】
これを解決するためにＡＬＧ(Application Level Gateway)と呼ばれる機能では、特定アプリケーションのユーザデータフィールドの構造を解析し記載されているＩＰアドレス情報をＮＡＴ機能と同様にアドレス変換を行うことで、ＮＡＴ環境下での通信を実現している。ＡＬＧ機能は特定のアプリケーション毎にそれぞれのＡＬＧが必要になる。
【０００６】
ＡＬＧにおいてこのようなアドレス書き換えを実施する処理では、文字列変換が必要となることから、ＩＰアドレスの桁の違いによりデータサイズの変更が発生する可能性があり、前述したデータ書き換えを行う中継装置においては各通信呼に対応するデータサイズ変更量を管理する必要があった。
【非特許文献１】ＲＦＣ１６３１  Ｔｈｅ  ＩＰ  Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｏｒhttp://www.ietf.org/rfc/rfc1631.txt?number=1631Ｋ.Ｅｇｅｖａｎｇ，Ｃｒａｙ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｐ.Ｆｒａｎｃｉｓ，ＮＴＴ  Ｍａｙ  １９９４２００５．４．２２  検索
【発明の開示】
【発明が解決しようとする課題】
【０００７】
現在のデータ書き換えを行う中継装置においては、各通信呼に対してデータサイズの変更にかかわる累積補正値を管理する機能を有するが、累積補正値を使用している関係からデータが連続的に送信される場合には、途中のデータがネットワーク上で廃棄されてしまった場合などに補正を行うことができない。
【０００８】
以下に現状のデータ補正方式と、それにより問題が発生する場合の例について図に基づいて説明する。図１１は本発明に関わる装置の構成を示した図である。このシステムはデータの送受信を行う端末１、２と、その端末を収容するそれぞれのネットワーク４、５と、その２つのネットワークを接続する中継装置３により構成される。
【０００９】
図１２は既存技術に基づく補正値管理機能を持つデータ書き換え方式にしたがったデータ送信シーケンスである。データ６Ａ〜データ９ＢはそれぞれＴＣＰのデータであり、データ６Ａ、７Ｂ、８Ａ、９Ｂは送信端末から中継装置に転送され、中継装置により受信データの書き換えを行った後、それぞれデータ６Ｂ、７Ａ、８Ｂ、９Ａとしてネットワークに転送され、受信端末に到着する。
【００１０】
図１３は図１２に示したデータ送信シーケンスについて、データの書き換え実施によるサイズの変更と補正の累積値の変化状況について示している。図１２および図１３を用いてこのシーケンスの動作について説明する。まず端末１はデータ６Ａを端末２に向けて送信する。６Ａはペイロードサイズが１０であったが、中継装置３により書き換えを行った後のデータ６Ｂはペイロードサイズが２０となり、データ量が１０増加した。データ６Ａに対してシーケンス番号とアクノレッジ番号の補正は必要ない。
【００１１】
次に、端末２はデータ７Ｂを用いて端末１に対し、送信されたデータ６Ｂが正常に受信できたことを通知する。端末２はデータ６Ｂによりシーケンス番号に記載された１からデータサイズ分の１〜２０のデータを受信しているため、次に送信してもらう必要のあるデータは２１である。これにより端末２は７Ｂのデータのアクノレッジ番号を２１として端末１宛に送信する。
【００１２】
中継装置ではこのデータ７Ｂを受信した際に該パケットのアクノレッジ番号を、受信したパケットと逆方向のそれまでの補正値の１０の累積を使用し補正を行う。受信したアクノレッジ番号２１から補正値１０を減算して、新しいアクノレッジ番号を１１として書き換え、新しいデータ７Ａとする。
【００１３】
データ７Ａを受信した端末１では、前回送信したデータ６Ａが対向装置により正しく受信されたことを認識し、次のデータ８Ａを送信する。データ８Ａはシーケンス番号１１とアクノレッジ番号１をもっている。
【００１４】
中継装置ではこのデータ８Ａを受信した際にはこのパケットのシーケンス番号を、受信したパケットと順方向の累積補正値である１０を使用し補正を行う。受信したシーケンス番号１１から補正値１０を加算して、新しいアクノレッジ番号を２１として書き換え、新しいデータ８Ｂとする。
【００１５】
このデータを受信する端末２においては、６Ａで受信したデータ以降の正しいデータを受信することが可能になる。
【００１６】
上記に示したとおり、この通信呼の送受信方向に応じてデータ書き換えの補正値を管理することで、中継装置によりデータの書き換えを行った場合にも正常に通信が可能となる。
【００１７】
図１４は連続的にデータを送信する場合のシーケンスを示しており、図１５は図１４に示したデータ送信シーケンスについて、データの書き換え実施によるサイズの変更と補正の累積値の変化状況について示している。
【００１８】
図１４に示すように連続的にデータを送信する状況において、途中のデータ１１Ｂが中継装置から受信側端末２の間で廃棄された場合に、以降の受信データについて中継装置３におけるデータサイズの正常な補正処理ができない。
【００１９】
データパケット１１Ｂの廃棄を検出した端末２はこのパケットの再送を要求するために、パケット１３Ｂを送信するが、この補正にはパケット１２Ａからパケット１２Ｂへの変換を実施した後の累積補正値のデータを使用してしまうため、データパケット１３Ａへのアクノレッジ番号の補正の値をデータパケット１２Ｂでの分だけ誤った補正を行ってしまう。これにより端末１でシーケンス番号４からのデータを再送してしまうことになる。
【００２０】
この後シーケンス番号４からデータを端末１が再送した場合、そのシーケンス番号の補正はパケット１２Ｂまでの補正値を基に補正を行ってしまうことで、端末Ｂが必要とするパケットが受信できなくなるため、トランスポートレイヤのコネクションを正常に継続できなくなり、ＴＣＰのコネクションが異常終了することがある。
【００２１】
本発明は、このような背景の下に行われたものであって、中継装置においてデータ書き換えを行う場合に、データが連続的に送信されネットワーク内でデータの紛失が発生した場合にも、中継装置においてシーケンス番号、アクノレッジ番号を正しく補正し続けることが可能になり、コネクションが異常状態に陥ることを防ぐことができる中継装置およびデータ書き換え方法を提供することを目的とする。
【課題を解決するための手段】
【００２２】
以上で説明したような誤補正によるＴＣＰの異常終了を防ぐために、本発明では、通信呼に対して複数の補正値の履歴を管理することで、連続的に送信されたデータが一部廃棄された場合にも、データ量の増減があったデータ毎の補正値を管理して、シーケンス番号とアクノレッジ番号の補正を行う際に、この履歴で管理されている補正値の情報に基づき、各パケットに対して正しい補正値を選択して補正を実施することが可能になる。
【００２３】
本発明の第一の観点は、複数の端末間で送受信されるデータを当該端末に適合するデータ様式に書き換えながら中継する中継装置であって、本発明の特徴とするところは、通信呼を識別する通信呼識別手段と、この通信呼識別手段により識別された通信呼毎に、データ書き換えを実施した際のデータ量の増減値を、書き換えを行ったデータを識別するための情報と共に受信データ毎に管理する補正履歴管理手段と、この補正履歴管理手段により管理される通信呼について、呼開設から現在までのデータ量増減値に基づき、受信データのシーケンス番号とアクノレッジ番号とを補正する番号補正手段とを備えたところにある。
【００２４】
このように、データ量増減値を記録しておき、データ再送を行う場合には、この記録を参照し、受信データのシーケンス番号とアクノレッジ番号とを補正することにより、正しいデータ再送を行うことができる。
【００２５】
また、前記補正履歴管理手段は、前記データ量の増減値として受信データ毎の補正値を格納する手段を備え、前記番号補正手段は、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記補正値の合計値を計算して補正を実施する手段を備えることができる。
【００２６】
これによれば、データ再送の要求が発生した時点で、補正値の合計値を計算して補正を実施するので、平常時に、補正履歴として記録するのは受信データ毎の補正値のみでよいため、補正履歴の記録処理を簡単化できると共に、履歴を記録するためのメモリ資源を有効利用することができる。
【００２７】
あるいは、前記補正履歴管理手段は、前記データ量の増減値として受信データ毎の通信呼開始から現在までの補正値の累積値を格納する手段を備え、前記番号補正手段は、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記累積値を用いて補正を実施する手段を備えることができる。
【００２８】
これによれば、データ再送の要求が発生した時点で、既に補正値の累積値が算出されているので、前者のように、補正値の合計値を計算する必要がなく、データ再送の要求が発生してから実際にデータ再送を行うまでの時間を前者よりも短縮することができる。ただし、補正履歴の記録処理は前者と比較して複雑化する。また、履歴を記録するためのメモリ資源も前者と比較してより多く必要とする。
【００２９】
また、前記補正履歴管理手段は、受信データ毎の全ての補正履歴を蓄積して管理する手段を備えることができるが、データ書き換えによりデータ量の増減が発生した受信データに限り、その補正履歴を蓄積して管理する手段を備えることもできる。データ量の増減が発生した受信データに限り、その補正履歴を蓄積して管理することにより、履歴を記録するためのメモリ資源を有効利用することができる。
【００３０】
本発明の第二の観点は、複数の端末間で送受信されるデータを、中継装置を用いて当該端末に適合するデータ様式に書き換えながら中継するデータ中継方法であって、本発明の特徴とするところは、通信呼を識別し、識別された通信呼毎に、データ書き換えを実施した際のデータ量の増減値を、書き換えを行ったデータを識別するための情報と共に受信データ毎に管理し、管理される通信呼について、呼開設から現在までのデータ量増減値に基づき、受信データのシーケンス番号とアクノレッジ番号とを補正するところにある。
【００３１】
また、前記データ量の増減値として受信データ毎の補正値を格納しておき、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記補正値の合計値を計算して補正を実施することができる。
【００３２】
あるいは、前記データ量の増減値として受信データ毎の通信呼開始から現在までの補正値の累積値を格納しておき、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記累積値を用いて補正を実施することができる。
【００３３】
また、受信データ毎の全ての補正履歴を蓄積して管理することができるが、データ書き換えによりデータ量の増減が発生した受信データに限り、その補正履歴を蓄積して管理することもできる。
【００３４】
本発明の第三の観点は、情報処理装置にインストールすることにより、その情報処理装置に、複数の端末間で送受信されるデータを当該端末に適合するデータ様式に書き換えながら中継する中継装置に相応する機能を実現させるプログラムであって、本発明の特徴とするところは、通信呼を識別する通信呼識別機能と、この通信呼識別機能により識別された通信呼毎に、データ書き換えを実施した際のデータ量の増減値を、書き換えを行ったデータを識別するための情報と共に受信データ毎に管理する補正履歴管理機能と、この補正履歴管理機能により管理される通信呼について、呼開設から現在までのデータ量増減値に基づき、受信データのシーケンス番号とアクノレッジ番号とを補正する番号補正機能とを実現させるところにある。
【００３５】
また、前記補正履歴管理機能として、前記データ量の増減値として受信データ毎の補正値を格納する機能を実現させ、前記番号補正機能として、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記補正値の合計値を計算して補正を実施する機能を実現させることができる。
【００３６】
あるいは、前記補正履歴管理機能として、前記データ量の増減値として受信データ毎の通信呼開始から現在までの補正値の累積値を格納する機能を実現させ、前記番号補正機能として、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記累積値を用いて補正を実施する機能を実現させることができる。
【００３７】
また、前記補正履歴管理機能として、受信データ毎の全ての補正履歴を蓄積して管理する機能を実現させることができるが、前記補正履歴管理機能として、データ書き換えによりデータ量の増減が発生した受信データに限り、その補正履歴を蓄積して管理する機能を実現させることもできる。
【００３８】
本発明のプログラムは記録媒体に記録されることにより、前記情報処理装置は、この記録媒体を用いて本発明のプログラムをインストールすることができる。あるいは、本発明のプログラムを保持するサーバからネットワークを介して直接前記情報処理装置に本発明のプログラムをインストールすることもできる。
【００３９】
これにより、汎用の情報処理装置を用いて、本発明の中継装置を実現し、本発明のデータ中継方法を実施させることができる。
【発明の効果】
【００４０】
以上説明したように、本発明によれば中継装置においてデータ書き換えを行う場合に、データが連続的に送信されネットワーク内でデータの紛失が発生した場合にも、中継装置においてシーケンス番号、アクノレッジ番号を正しく補正し続けることが可能になり、コネクションが異常状態に陥ることを防ぐことが可能になる。
【発明を実施するための最良の形態】
【００４１】
本発明実施例の中継装置およびデータ中継方法の概要を図１ないし図３を参照して説明する。図１は本実施例の中継装置のブロック構成図である。図２は本実施例のデータ中継方法の動作手順を示すフローチャートである。図３は補正履歴記録手順の詳細を示すフローチャートである。
【００４２】
本実施例は、図１に示すように、複数の端末間で送受信されるデータを当該端末に適合するデータ様式に書き換えながら中継する中継装置であって、本実施例の特徴とするところは、通信呼を識別する通信呼識別部２３と、この通信呼識別部２３により識別された通信呼毎に、データ書き換えを実施した際のデータ量の増減値を、書き換えを行ったデータを識別するための情報と共に受信データ毎に管理する補正履歴管理部２６と、この補正履歴管理部２６により管理される通信呼について、呼開設から現在までのデータ量増減値に基づき、受信データのシーケンス番号とアクノレッジ番号とを補正するＳＥＱ／ＡＣＫ番号補正部２５とを備えたところにある。
【００４３】
また、補正履歴管理部２６は、前記データ量の増減値として受信データ毎の補正値を格納する手段を備え、ＳＥＱ／ＡＣＫ番号補正部２５は、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記補正値の合計値を計算して補正を実施する手段を備える。
【００４４】
他の実施例として、補正履歴管理部２６は、前記データ量の増減値として受信データ毎の通信呼開始から現在までの補正値の累積値を格納する手段を備え、ＳＥＱ／ＡＣＫ番号補正部２５は、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記累積値を用いて補正を実施する手段を備える。
【００４５】
また、補正履歴管理部２６は、受信データ毎の全ての補正履歴を蓄積して管理する手段を備えることもできるし、あるいは、データ書き換えによりデータ量の増減が発生した受信データに限り、その補正履歴を蓄積して管理する手段を備えることもできる。
【００４６】
次に、本実施例のデータ中継方法を図２および図３を参照して説明する。本実施例は、複数の端末間で送受信されるデータを、中継装置を用いて当該端末に適合するデータ様式に書き換えながら中継するデータ中継方法であって、本実施例の特徴とするところは、通信呼識別部２３により通信呼を識別し、補正履歴管理部２６により識別された通信呼毎に、データ処理部２４によりデータ書き換えを実施した際のデータ量の増減値を、書き換えを行ったデータを識別するための情報と共に受信データ毎に管理し、管理される通信呼について、ＳＥＱ／ＡＫＣ番号補正部２５により呼開設から現在までのデータ量増減値に基づき、受信データのシーケンス番号とアクノレッジ番号とを補正するところにある。
【００４７】
すなわち、図２に示すように、中継装置のインタフェース部２１にデータが到着すると（Ｓ１）、通信呼識別部２３により通信呼の識別が行われ（Ｓ２）、通信呼が識別されると、当該データは、データ処理部２４に渡される。データ処理部２４では、渡されたデータに対してデータ書き換え等の所定の処理を施した後、当該データをＳＥＱ／ＡＣＫ番号補正部２５に渡す。データを渡されたＳＥＱ／ＡＣＫ番号補正部２５は、補正履歴管理部２６に記録されている当該通信呼の補正履歴を参照する（Ｓ３）。補正履歴があれば（Ｓ４）、補正値の合計を計算する（Ｓ５）。計算された補正値の合計に基づきシーケンス番号およびアクノレッジ番号に対して補正を実施する（Ｓ６）。補正履歴管理部２６は、この補正履歴を記録する（Ｓ７）。補正履歴が記録されたデータは、インタフェース部２２から送出される（Ｓ８）。
【００４８】
なお、ステップＳ１としてインタフェース部２２にデータが到着し、上記ステップＳ２〜Ｓ７の処理を経て、ステップＳ８としてインタフェース部２１からデータが送出される例もあるが、ここでは、説明をわかりやすくするため、データの流れは一方向について説明する。
【００４９】
また、ステップＳ５では、データ量の増減値として受信データ毎の通信呼開始から現在までの補正値の累積値を格納しておくこともできる。この場合には、ＳＥＱ／ＡＣＫ番号補正部２５は、単に、該当する受信データの累積値を補正履歴管理部２６から抽出するだけでよく、計算処理を行う必要はない。このとき、ＳＥＱ／ＡＣＫ番号補正部２５は、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記累積値を用いて補正を実施する。
【００５０】
また、ステップＳ７では、受信データ毎の全ての補正履歴を蓄積して管理することもできるが、図３に示すように、データ書き換えによりデータ量の増減が発生した受信データに限り（Ｓ７−１）、その補正履歴を蓄積して管理する（Ｓ７−２）こともできる。
【００５１】
また、本実施例は、汎用の情報処理装置にインストールすることにより、その情報処理装置に本実施例の中継装置に相応する機能を実現させるプログラムとして実現することができる。このプログラムは、記録媒体に記録されて情報処理装置にインストールされ、あるいは通信回線を介して情報処理装置にインストールされることにより当該情報処理装置に、インタフェース部２１、２２、通信呼識別部２３、データ処理部２４、ＳＥＱ／ＡＫＣ番号補正部２５、補正履歴管理部２６にそれぞれ相応する機能を実現させることができる。
【００５２】
以下では、本実施例の中継装置およびデータ中継方法をさらに詳細に説明する。
【００５３】
図１の３は中継装置全体を示し、２１、２２は中継装置が外部のネットワークと接続するためのインタフェース機能を示す。２３は受信したデータの情報から通信呼を識別するための通信呼識別部、２４は中継装置によりデータの書き換え等を実施するデータ処理部、２５はＳＥＱ／ＡＣＫ番号補正部、２６はデータ書き換え量の履歴を管理する補正履歴管理部である。
【００５４】
図４は本実施例の動作に関わるデータ転送のシーケンスを示しており、図５は図４のシーケンスにより更新された本実施例にかかる補正履歴管理部２６に実装される履歴データベースを示している。４０は履歴データベース全体を示しており、４１は受信データとの関連を示すエントリ情報、４２、４３はそれぞれ端末１から端末２方向と端末２から端末１方向のデータサイズ累積補正値、４４、４５はそれぞれ端末１から端末２方向と端末２から端末１方向の期待ＡＣＫ番号を示している。
【００５５】
期待ＡＣＫ番号は受信パケットに対し正常なアクノレッジが返る際の、アクノレッジ番号でありこれに基づき相互の端末がどこまでパケットを正常受信したかを確認できるものである。４６、４７は端末１から端末２方向と端末２から端末１方向のそれぞれにおける、エントリ情報４１で示されたデータ処理時点におけるシーケンス番号情報を示す受信ＳＥＱ番号であり、４８、４９は端末１から端末２方向と端末２から端末１方向のそれぞれにおける、エントリ情報４１で示されたデータ処理前のデータサイズを示す受信データサイズである。
【００５６】
図６は本実施例の動作に関わるデータ紛失があった場合の転送シーケンスを示しており、図７はそれに基づく補正履歴機能に実装される履歴データベース４０を示している。
【００５７】
（第一実施例）
第一実施例に係る中継装置の動作について、パケット紛失が無い場合のシーケンスの動作を図４のシーケンスを基に示す。図４において端末１と端末２は中継装置３を介して通信を行っている。以下ではデータ３３Ａ以降のデータ転送を例にして、端末１と中継装置３の間、また中継装置３と端末２の間のデータ転送と、中継装置３における書き換え方式について説明する。
【００５８】
端末１は端末２に宛て、データ３３Ａを送信する。データ３３Ａを受信した中継装置においては、インタフェース部２１、通信呼識別部２３を経てデータ処理部２４にこのデータが転送される。データ処理部２４においては中継装置に実装されている様々なアプリケーションに応じてデータが処理され、データサイズの増減が発生する。データ３３Ａから３３Ｂへの書き換えにおいて発生するデータサイズの増減は９−１０＝「−１」である。このデータ増減値「−１」と共にデータ処理部２４はＳＥＱ／ＡＣＫ番号補正部２５に対し、データ３３の情報を転送する。
【００５９】
ＳＥＱ／ＡＣＫ番号補正部２５では、データ３３についてシーケンス番号およびアクノレッジ番号を補正するため、履歴データベース４０から必要な情報の検索を実施する。端末２→端末１方向の期待ＡＣＫ番号４５の、データ３３以前の履歴情報を基に、転送されたデータ３３に設定されているアクノレッジ番号「５２」と一致する項目を検索し、一致する履歴のうち最新の履歴情報を検索して、データ３２の履歴情報に期待ＡＣＫ番号４５が「５２」として設定されていることを検出する。
【００６０】
これによりデータ３３に対するアクノレッジ番号の補正について直前の履歴であるデータ３２の端末２→端末１方向のデータサイズ累積補正値４３の「＋１」を使用してデータ３３のアクノレッジ番号に対する補正を実施することを決定する。
【００６１】
次に、データ３３に対するシーケンス番号の補正に使用するデータを検索するために、端末１→端末２方向の受信ＳＥＱ番号の補正に使用するデータを検索する。このために、端末１→端末２方向の受信ＳＥＱ番号４６の格納値と、端末１→端末２方向の受信データサイズ４８の格納値を加算した値とが、データ３３に格納されたシーケンス番号の値と一致する履歴のうち最新の履歴情報を検索する。これにより、データ３２の履歴情報が検索される。
【００６２】
これによりデータ３３に対するシーケンス番号の補正値としてデータ３２の履歴情報の端末１→２補正のデータサイズ累積補正値４２の「＋１６」を使用してデータ３３のシーケンス番号に対する補正を実施することを決定する。
【００６３】
以上の動作によりデータ３３に対するシーケンス番号の補正量と、アクノレッジ番号の補正量が決定する。
【００６４】
ＳＥＱ／ＡＣＫ番号補正部２５では、受信したデータ３３のシーケンス番号フィールドをデータ３２の履歴情報の端末１→２方向のデータサイズ累積補正値４２の「＋１６」を加算することで、データ３３Ｂのシーケンス番号は「１７１＋１６＝１８７」となる。
【００６５】
また、受信したデータ３３Ｂのアクノレッジ番号のフィールドを、データ３２の端末２→端末１方向のデータサイズ累積補正値４３の「＋１」を使用して補正することから、データ３３Ａのアクノレッジ番号「５２」から「＋１」を減算することで、データ３３Ｂのアクノレッジ番号は「５２（＋１）＝５１」となる。
【００６６】
これによりデータ３３Ａのシーケンス番号およびアクノレッジ番号の書き換えを完了し、書換え後のデータがデータ３３Ｂとなる。
【００６７】
ＳＥＱ／ＡＣＫ番号補正部２５は、このデータ３３Ｂの情報と、データ処理部２４におけるデータ増減値「−１」と、データ３２の端末２→端末１方向のデータサイズ累積補正値４３の「＋１」を使用してデータ３３のアクノレッジ番号に対する補正を実施した情報と、データ３２の履歴情報の端末１→２方向のデータサイズ累積補正値４２の「＋１６」を使用してデータ３３のシーケンス番号に対する補正を実施した情報を全て補正履歴管理部２６に対して転送する。
【００６８】
補正履歴管理部２６では、受信したデータ３３に該当する補正履歴情報を履歴データベース４０に登録する。登録する内容については以下に示す。
【００６９】
端末１→２方向のデータサイズ累積補正値４２については補正による補正量「−１」を加算して、１６＋（＋１）＝１５として格納する。
【００７０】
端末２→１方向のデータサイズ累積補正値４３はアクノレッジ番号の補正に使用したデータ３２の端末１→２方向のデータサイズ累積補正値４２の値「＋１」をそのまま格納する。
【００７１】
端末１→２方向の期待ＡＣＫ番号４４はデータ３３のシーケンス番号にデータサイズの値を加算したものであり、ここでは１８７＋９＝１９６を格納する。
【００７２】
端末２→１方向の期待ＡＣＫ番号４５は、データ３３の期待ＡＣＫ番号４４の検索において検索条件に一致したデータ３２の端末２→１方向のデータサイズ累積補正値４３の情報である「５２」をそのまま格納する。
【００７３】
端末１→２方向の受信シーケンス番号４６は受信したパケット３３Ａのシーケンス番号をデータ３３Ｂのシーケンス番号と、データ３３に対するシーケンス番号補正値から計算し、１８７−１６＝１７１として格納する。
【００７４】
端末２→１方向の受信ＳＥＱ番号４７は、データ３３の期待ＡＣＫ番号４４の検索において検索条件に一致したデータ３２の受信ＳＥＱ番号４７の値「１」をそのまま格納する。
【００７５】
端末１→２方向の受信データサイズ４８は受信したパケット３３Ａのデータサイズをデータ３３Ｂのデータサイズと、データ３３に対するデータサイズ補正値から計算し、９−（−１）＝１０として格納する。
【００７６】
端末２→１方向の受信データサイズ４９は、データ３３の期待ＡＣＫ番号４４の検索において検索条件に一致したデータ３２の受信データサイズ４９の値「５０」をそのまま格納する。
【００７７】
上記処理により求めた情報をデータ３３の履歴情報として履歴データベース４０に登録し、補正履歴管理部２６はネットワークへの転送のためデータ３３Ｂをインタフェース部２２に転送する。
【００７８】
データ３３Ｂを受信したインタフェース部２２はネットワークに対してデータを転送する。
【００７９】
以上の動作を各データ入力時の処理として繰り返すことにより、中継装置においてデータの書き換えを行った場合に、書き換えデータサイズを管理することで、シーケンス番号およびアクノレッジ番号を補正しながら、正常な通信の継続が可能となる。
【００８０】
次に、連続送信されているデータの途中のパケットが、ネットワークにおいて廃棄されてしまった場合の補正処理の流れについて、図６および図７に基づいて説明する。データ３１Ａ〜データ３５Ｂまでのデータ書き換え、補正、転送については、前述したデータ３３のデータ書き換え処理に従う。
【００８１】
ここでデータ３４Ｂとデータ３５Ｂが中継装置３と端末２の間で紛失し、端末２に到着しなかった場合のデータ５１Ｂの処理の流れについて下記に示す。
【００８２】
データ３４Ｂ、３５Ｂがそれぞれネットワーク内にて紛失しているため、データ６５１Ｂに設定されているアクノレッジ番号は「１９６」となりデータ３４Ｂの再送を促しているものである。
【００８３】
データ５１Ｂは端末２から送信され中継装置３で受信される。中継装置３では最初にインタフェース部２２によりデータ５１Ｂを受信し、通信呼識別部２３、データ処理部２４での処理を実施し、ＳＥＱ／ＡＣＫ番号補正部２５に対してデータ５１と、データ５１のデータ処理部２４による処理により発生したデータ増減値「＋９」が通知される。
【００８４】
ＳＥＱ／ＡＣＫ番号補正部２５では、データ５１に該当する履歴データベース４０から、シーケンス番号およびアクノレッジ番号の補正に使用する履歴情報を、データ５１の情報を基に検索する。
【００８５】
データ５１のアクノレッジ番号の補正に必要なデータの検索方法はデータ３３に対する補正実施時と同様の動作を行う。
【００８６】
端末２→端末１方向の期待ＡＣＫ番号４５の、データ５１以前の履歴情報を基に、転送されたデータ５１に設定されているアクノレッジ番号「１９６」と一致する項目を検索し、一致する履歴のうち最新の履歴情報を検索して、データ３３の履歴情報に端末１→２方向の期待ＡＣＫ番号４４が「１９６」として設定されていることを検出する。
【００８７】
これによりデータ５１に対するアクノレッジ番号の補正について、データ３３の端末１→端末２方向のデータサイズ累積補正値４２の「＋１５」を使用してデータ５１のアクノレッジ番号に対する補正を実施することを決定する。
【００８８】
次に、データ５１に対するシーケンス番号の補正に使用するデータを検索するために、端末２→端末１方向の受信ＳＥＱ番号４７の格納値と、端末２→端末１方向の受信データサイズ４９の格納値を加算した値が、データ５１に格納されたシーケンス番号の値と一致する履歴のうち最新の履歴情報を検索することで、データ３２の履歴情報を検出する。
【００８９】
これによりデータ５１に対するシーケンス番号の補正値としてデータ３５の履歴情報の端末２→１方向のデータサイズ累積補正値４２の「＋１」を使用してデータ５１のシーケンス番号に対する補正を実施することを決定する。
【００９０】
以上の動作によりデータ５１に対するシーケンス番号の補正量と、アクノレッジ番号の補正量が決定する。
【００９１】
ＳＥＱ／ＡＣＫ番号補正部２５では、受信したデータ５１のシーケンス番号フィールドをデータ３５の履歴情報の端末２→１方向のデータサイズ累積補正値４２の「＋１」を使用して補正することから、データ５１Ｂのシーケンス番号「５１」に「＋１」を加算することで、データ５１Ａのシーケンス番号は「５１＋１＝５２」となる。
【００９２】
また、受信したデータ５１のアクノレッジ番号のフィールドを、データ３３の端末１→端末２方向のデータサイズ累積補正値４３の「＋１５」を使用して補正することから、データ５１Ｂのアクノレッジ番号「１９６」から「＋１５」を減算することで、データ５１Ａのアクノレッジ番号は「１９６−（＋１５）＝１８１」となる。
【００９３】
これによりデータ５１Ｂのシーケンス番号およびアクノレッジ番号の書き換えを完了し、書き換え後のデータがデータ５１Ａとなる。
【００９４】
以上のとおり、シーケンス番号およびアクノレッジ番号の補正を行うことで、図６に示すように連続送信中にデータの紛失が発生した場合のデータ送信シーケンスの場合にも正しいデータ補正が可能になり、ＴＣＰのコネクション状態が異常になることなく通信を継続することが可能になる。
【００９５】
（第二実施例）
第二実施例に係る中継装置においては、履歴データベース４０の構成方法が、第一実施例と異なり、図８で示すようにデータサイズ累積補正値４２、４３の項目の代わりに、データサイズ個別補正値６１、６２を管理することを特徴とする。
【００９６】
実際の補正を施す際には補正値の管理開始から該当データまでの履歴情報の合計値を計算し、補正値を決定することで第一実施例と同様の効果を実現可能である。
【００９７】
第二実施例によれば、平常時に、補正履歴として記録するのは受信データ毎の補正値のみでよいため、補正履歴の記録処理を簡単化できると共に、履歴を記録するためのメモリ資源を有効利用することができる。
【００９８】
（第三実施例）
第三実施例に係る中継装置においては、履歴データベース４０への履歴情報と登録の動作において、第一実施例と異なり、図９、１０にて示すように補正の発生したデータのみ履歴情報登録を実施する方法である。第三実施例の処理手順は図３のフローチャートに示した。
【００９９】
図９においてデータ７２、７３はデータサイズに変更がないために、図１０に示す履歴データベース４０への登録を行わない。
【０１００】
このように、全てのデータに対する履歴が保持されているわけではないので、該当する検索条件となる期待ＡＣＫ番号４４、４５もしくは受信ＳＥＱ番号４６、４７と受信データサイズ４８、４の条件に最も近い、新しい履歴を用いて補正を行うことを特徴とする。
【０１０１】
これにより履歴データベース４０の実装において、データベースサイズを小さくして実装することが可能になる。
【産業上の利用可能性】
【０１０２】
以上説明したように、本発明によれば中継装置においてデータ書き換えを行う場合に、データが連続的に送信されネットワーク内でデータの紛失が発生した場合にも、中継装置においてシーケンス番号、アクノレッジ番号を正しく補正し続けることが可能になり、コネクションが異常状態に陥ることを防ぐことが可能になる。これにより、ネットワークユーザに対するサービス品質を向上させることができる。
【図面の簡単な説明】
【０１０３】
【図１】本実施例の中継装置のブロック構成図。
【図２】本実施例のデータ中継方法の動作手順を示すフローチャート。
【図３】補正履歴記録ステップの詳細を示すフローチャート。
【図４】第一実施例を説明するための廃棄のないデータシーケンスを示す図。
【図５】図４に対応する履歴データベースの状態を示す図。
【図６】第一実施例を説明するための連続送信中に廃棄が発生するデータシーケンスを示す図。
【図７】図６に対応する履歴データベースの状態を示す図。
【図８】第二実施例に係るパケット毎のデータサイズ個別補正値として管理する履歴データベースの構成を示す図。
【図９】第三実施例を説明するためのデータシーケンスを示す図。
【図１０】図９に対応する履歴データベースの状態を示す図。
【図１１】中継装置を使用したネットワーク構成を示す図。
【図１２】従来例における通常に補正されるデータシーケンスを示す図。
【図１３】図１２に対応するシーケンス番号、アクノレッジ番号補正管理テーブルを示す図。
【図１４】従来例における補正に失敗するデータシーケンスを示す図。
【図１５】図１４に対応するシーケンス番号、アクノレッジ番号補正管理テーブルを示す図。
【符号の説明】
【０１０４】
１、２  端末
３  中継装置
４、５  ネットワーク
６Ａ〜１３Ａ、３１Ａ〜３６Ａ、５１Ａ、７１Ａ〜７４Ａ、６Ｂ〜１３Ｂ、３１Ｂ〜３６Ｂ、５１Ｂ、７１Ｂ〜７４Ｂ  データ
２１、２２  インタフェース部
２３  通信呼識別部
２４  データ処理部
２５  ＳＥＱ／ＡＣＫ番号補正部
２６  補正履歴管理部
４０  履歴データベース
４１  エントリ情報
４２、４３  データサイズ累積補正値
４４、４５  期待ＡＣＫ番号
４６、４７  受信ＳＥＱ番号
４８、４９  受信データサイズ
６１、６２  データサイズ個別補正値
【図１】
2006339726.tif 000003
【図２】
2006339726.tif 000004
【図３】
2006339726.tif 000005
【図４】
2006339726.tif 000006
【図５】
2006339726.tif 000007
【図６】
2006339726.tif 000008
【図７】
2006339726.tif 000009
【図８】
2006339726.tif 000010
【図９】
2006339726.tif 000011
【図１０】
2006339726.tif 000012
【図１１】
2006339726.tif 000013
【図１２】
2006339726.tif 000014
【図１３】
2006339726.tif 000015
【図１４】
2006339726.tif 000016
【図１５】
2006339726.tif 000017