JP3852600B2 - 通信インタフェース装置およびプログラム - Google Patents
通信インタフェース装置およびプログラム Download PDFInfo
- Publication number
- JP3852600B2 JP3852600B2 JP2003052702A JP2003052702A JP3852600B2 JP 3852600 B2 JP3852600 B2 JP 3852600B2 JP 2003052702 A JP2003052702 A JP 2003052702A JP 2003052702 A JP2003052702 A JP 2003052702A JP 3852600 B2 JP3852600 B2 JP 3852600B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- time
- information
- unit
- holding unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Communication Control (AREA)
Description
【発明の属する技術分野】
本発明はパケット通信に関し、特に、送信したパケットに対して確認応答パケットが受信されるまでの時間を監視することによってパケットの喪失を判断しパケットの再送を行うコネクション型のパケット通信に関する。
【0002】
【従来の技術】
コネクション型のパケット通信では、データの転送に先立って送信側と受信側との間にコネクションを確立する。コネクションは論理的なパスであり、1つの送信側が複数の受信側と同時に通信する場合、送信側と各受信側との間にそれぞれ異なるコネクションが確立される。送信側と各受信側は、確立したコネクションを通じてパケットの送受信を行う。送信側は、ある受信側に一連のパケットを送信する場合、各パケットに他のパケットと区別するための識別情報と誤り検出用のパリティビットなどのエラーチェック情報を付加して送信する。受信側は、エラーチェック情報を用いてパケットの誤りを検査し、誤りなく正常に受信できた場合には、正しく受信したことを示す確認応答パケットを送信側に返信し、反対に誤りを検出した場合には再送要求パケットを送信側に送って再送を行わせる。また、送信側は、パケットの送信後、通信プロトコルで予め規定されたタイムアウト時間内に、そのパケットに対する確認応答パケットを受信しないときは、パケットを自動的に再送する。
【0003】
このようにコネクション型のパケット通信では、到達確認と時間監視によりパケットの喪失を検出し、喪失が発生した場合には再送を行って確実なデータ転送を保証している。しかしながら、パケットの喪失を検出する時間監視では、比較的大きな時間がタイムアウト時間として設定されている場合が少なくないことから、再送が開始されるまでに時間がかかってしまい、データが一定時間内に到達しないような事態が発生する。また、単純に時間監視のタイムアウト時間を短くした場合には、通信者間の経路の状況によって、タイムアウトの検出による再送が頻発してしまい、帯域に悪影響を及ぼす。従って、低レイテンシと確実性が同時に要求される通信において、従来のコネクション型通信では対応できないケースがあった。
【0004】
このような事情を考慮して、送信相手毎のタイムアウト時間をパラメータテーブルに保持しておき、送信相手とコネクションを確立してパケット通信を開始する際に、その送信相手用のタイムアウト時間をパラメータテーブルから読み出して送信監視タイマに設定するようにした技術が提案されている(例えば、特許文献1参照)。
【0005】
【特許文献1】
【特開平9−219721号公報】
【0006】
【発明が解決しようとする課題】
特許文献1に記載の従来技術によれば、再送のための時間監視に使うタイムアウト時間を送信相手毎に設定するため、適切な値を事前に決定することができれば、低レイテンシと確実性を同時に満足させることができる。しかしながら、同じ送信相手であっても、間に介在する通信経路やその負荷状況は一定でないため、適切な値を静的に決定することは極めて困難である。
【0007】
そこで本発明の目的は、実際のパケット通信状況に応じてタイムアウト時間を適宜補正しながらパケットを再送することができる通信インタフェース装置を提供することにある。
【0008】
また、本発明の別の目的は、送信先との間に確立されるコネクション毎に、実際のパケット通信状況に応じてタイムアウト時間を適宜補正しながらパケットを再送することができる通信インタフェース装置を提供することにある。
【0012】
【課題を解決するための手段】
本発明の第1の通信インタフェース装置は、パケットを送信する送信部と、前記送信部が送信したパケットに対する確認応答パケットを受信する受信部と、前記送信部が送信したパケットに対して前記受信部で確認応答パケットが受信されるまでの経過時間を監視することによってパケットの喪失を判断しパケットの再送を制御する再送制御部とを備えたコネクション型の通信を行う通信インタフェース装置において、前記再送制御部は、パケットが喪失したと判断する喪失予測時間をコネクション毎に保持する喪失予測時間保持部と、前記送信部が送信したパケットおよび使用したコネクションを特定する情報および送信時からの経過時間情報を含むパケット状態情報を記憶するパケット状態保持部と、前記送信部によるパケットの送信毎に経過時間情報を初期値に設定したパケット状態情報を前記パケット状態保持部に登録するパケット状態登録手段と、前記パケット状態保持部に保持されたパケット状態情報の経過時間情報を時間の経過に応じて更新し、前記喪失予測時間保持部に保持されている該当コネクション用の喪失予測時間を超えたパケットを検出する経過時間監視手段と、前記経過時間監視手段で検出されたパケットの再送を前記送信部に要求する再送指示手段と、前記パケット状態保持部に保持されたパケット状態情報のうち前記受信部で確認応答パケットが受信された時点の経過時間情報およびコネクションを特定する情報に基づいて前記喪失予測時間保持部に保持されている該当コネクション用の喪失予測時間を補正する喪失予測時間補正手段とを備える。
また、本発明の第2の通信インタフェース装置は、第1の通信インタフェース装置において、前記パケット状態保持部が記憶する前記使用したコネクションを特定する情報は、当該コネクション用の喪失予測時間が設定されている前記喪失予測時間保持部のエントリの番号であることを特徴とする。
また、本発明の第3の通信インタフェース装置は、第1の通信インタフェース装置において、前記再送指示手段は、前記パケット状態保持部に記憶されているパケット状態情報のうち前記再送を指示したパケットのパケット状態情報中の経過時間情報を初期化することを特徴とする。
【0014】
本発明の第1のプログラムは、パケットを送信する送信部と、前記送信部が送信したパケットに対する確認応答パケットを受信する受信部と、パケットが喪失したと判断する喪失予測時間をコネクション毎に保持する喪失予測時間保持部および前記送信部が送信したパケットおよび使用したコネクションを特定する情報および送信時からの経過時間情報を含むパケット状態情報を記憶するパケット状態保持部を備え、前記送信部が送信したパケットに対して前記受信部で確認応答パケットが受信されるまでの経過時間を監視することによってパケットの喪失を判断しパケットの再送を制御する再送制御部とを備えたコネクション型の通信を行う通信インタフェース装置の前記再送制御部を構成するコンピュータを、前記送信部によるパケットの送信毎に経過時間情報を初期値に設定したパケット状態情報を前記パケット状態保持部に登録するパケット状態登録手段、前記パケット状態保持部に保持されたパケット状態情報の経過時間情報を時間の経過に応じて更新し、前記喪失予測時間保持部に保持されている該当コネクション用の喪失予測時間を超えたパケットを検出する経過時間監視手段、前記経過時間監視手段で検出されたパケットの再送を前記送信部に要求する再送指示手段、前記パケット状態保持部に保持されたパケット状態情報のうち前記受信部で確認応答パケットが受信された時点の経過時間情報およびコネクションを特定する情報に基づいて前記喪失予測時間保持部に保持されている該当コネクション用の喪失予測時間を補正する喪失予測時間補正手段、として機能させる。
また、本発明の第2のプログラムは、第1のプログラムにおいて、前記パケット状態保持部が記憶する前記使用したコネクションを特定する情報は、当該コネクション用の喪失予測時間が設定されている前記喪失予測時間保持部のエントリの番号であることを特徴とする。
また、本発明の第3のプログラムは、第1のプログラムにおいて、前記再送指示手段は、前記パケット状態保持部に記憶されているパケット状態情報のうち前記再送を指示したパケットのパケット状態情報中の経過時間情報を初期化することを特徴とする。
【0016】
【作用】
本発明の通信インタフェース装置およびプログラムにあっては、送信先との間に確立されるコネクション毎に、実際のパケット通信状況に応じてタイムアウト時間を適宜補正しながらパケットの再送を制御する。
【0017】
【発明の第1の実施の形態】
図1を参照すると、本発明の第1の実施の形態にかかる通信インタフェース装置1は、再送制御部100と送信部200と受信部300とを含んで構成され、上位ホスト2とネットワーク3との間に接続され、計算機間でデータ通信を行うインタフェースとして使用される。ネットワーク3は、例えば公衆パケット通信網などである。上位ホスト2は、計算機であり、計算機間の通信を必要としている計算機そのものである。
【0018】
送信部200は、通信インタフェース装置1が送信側として機能する場合、送信するデータを上位ホスト2から受け取り、それを相互通信可能な形式であるパケットに生成し、ネットワーク3を通じて受信側の図示しない通信インタフェース装置へ送信する。また、パケットの再送制御に必要な情報を再送制御部100と適宜授受し、再送制御部100からの指示に従ってパケットの再送を行う。他方、通信インタフェース装置1が受信側として機能する場合、受信部300からの指示に従って確認応答パケットおよび再送要求パケットを送信する。
【0019】
受信部300は、通信インタフェース装置1が送信側として機能する場合、送信部200が送信したパケットに対する確認応答パケットあるいは再送要求パケットを受信し、再送制御部100に通知する。他方、通信インタフェース装置1が受信側として機能する場合、ネットワーク3を通じて受信したパケットを復号し、上位ホスト2へ受信データを受け渡す。受信したパケットに異常を検出することなく受領できた場合には、送信元に正しく受領したことを示す確認応答パケットを送信するよう、送信部200に指示を行う。反対に、受信したパケットに毀損が生じている場合は、送信元に再送を要求する再送要求パケットを送信するよう、送信部200に指示を行う。
【0020】
再送制御部100は、コネクション型の通信において避けることの出来ないパケット喪失の検出と再送の制御を行う機能を有する。この再送制御部100は、送信部200がパケットを送信した時点からそのパケットに対する確認応答パケットを受信部が受信するまでの経過時間を測定し、この測定した経過時間に基づいて、パケットが喪失したと判断する喪失予測時間を補正する機能を有する。
【0021】
図2を参照すると、再送制御部100は、パケット状態保持部101、喪失予測時間保持部102、パケット状態登録部103、経過時間監視部104、喪失予測時間補正部105、パケット状態消去部106、再送指示部107を含んで構成され、それらはバス108に接続されている。
【0022】
パケット状態保持部101は、複数のエントリ111を有する記憶装置で構成される。各エントリ111は、送信部200が送信したパケットの状態情報を記憶するために使用される。1つのエントリ111には、当該エントリが有効か無効かを示す情報(V)112と、当該エントリで管理される送信パケットを識別するためのパケット識別情報(P)113と、その送信パケットが伝送されたコネクションを識別するためのコネクション識別情報(C)114と、送信時点からの経過時間(T)115とから構成されるパケット状態情報が保持される。情報112が無効を示すエントリ111を無効エントリあるいは空きエントリと呼び、情報112が有効を示すエントリ111を有効エントリあるいは使用中エントリと呼ぶ。通信インタフェース装置1は同時に多数のパケットを送信することができるため、空きエントリ数が不足しないように、パケット状態保持部101のエントリ総数が事前に設定されている。
【0023】
喪失予測時間保持部102は、通信インタフェース装置1が同時に処理することのできるコネクション数分のエントリ121を有する記憶装置で構成される。各エントリ121には、当該エントリが有効か無効かを示す情報(V)122と、送信部200が確立したコネクションを識別するためのコネクション識別情報(C)123と、そのコネクションを通じて送信されたパケットが喪失したと判断する喪失予測時間(ET)124とを記憶するために使用される。情報122が無効を示すエントリ121を無効エントリあるいは空きエントリと呼び、情報122が有効を示すエントリ121を有効エントリあるいは使用中エントリと呼ぶ。
【0024】
パケット状態登録部103は、送信部200に接続されており、喪失予測時間保持部102へ喪失予測時間の初期値を設定する処理と、パケット状態保持部101へパケット状態情報を登録する処理とを行う。パケット状態登録部103の処理例を図3に示す。
【0025】
送信部200は、新たなコネクションによる最初のパケットを送信すると、パケット状態登録部103に対して、その旨とパケット識別情報とコネクション識別情報とを通知してくる。パケット状態登録部103は、この通知を受けると、新たなコネクションによるパケットの送信であるため(S1でYES)、喪失予測時間保持部102から空きエントリ121を1つ確保し、そのエントリ121に、前記新たなコネクションのコネクション識別情報123と、通信プロトコルで規定される本来のタイムアウト時間に初期設定した喪失予測時間124とを登録し、情報122を有効にする(S2)。次に、パケット状態保持部101から空きエントリ111を1つ確保し、通知されたパケット識別情報113とコネクション識別情報114と値0の経過時間115とをそのエントリ111に登録し、情報112を有効にする(S3)。また、送信部200は、コネクションに後続のパケットを送信する毎に、パケット状態登録部103に対して、パケット識別情報とコネクション識別情報とを通知してくる。パケット状態登録部103は、この通知を受けると、新たなコネクションによるパケットの送信ではないので(S1でNO)、パケット状態情報の登録処理だけを行う(S3)。つまり、パケット状態保持部101の空きエントリ111に、通知されたパケット識別情報113とコネクション識別情報114と値0の経過時間115とを登録し、情報112を有効にする(S3)。
【0026】
なお、パケット状態登録部103は、送信部200からコネクション識別情報を指定してコネクションを解放した旨の通知を受けると、喪失予測時間保持部102における指定されたコネクション識別情報を持つエントリ121の情報122を無効状態に書き換える処理も行っている。
【0027】
経過時間監視部104は、再送指示部107に接続されており、パケット状態保持部101に登録されているパケット状態情報の経過時間115を時間の経過に応じて更新する処理と、その更新後の経過時間115が喪失予測時間を超えたかどうかを判定する処理と、若し喪失予測時間を超えていた場合には再送指示部107に対して再送指示を出す処理とを行う。経過時間監視部104の処理例を図4に示す。
【0028】
経過時間監視部104は、単位時間が経過する毎に図4に示す処理を実行する。まず、パケット状態保持部101の1つの有効エントリ111に注目する(S11)。次に、注目中の有効エントリ111の経過時間115を単位時間だけ加算し(S13)、注目中のエントリ111のコネクション識別情報114に基づいて喪失予測時間保持部102からそのコネクション用の喪失予測時間124を読み出し(S14)、更新後の経過時間115と比較する(S15)。更新後の経過時間115が喪失予測時間124を超えていなければ、パケット状態保持部101の次の1つの有効エントリ111に注目を移し(S17)、前述と同様の処理を繰り返す。他方、更新後の経過時間115が喪失予測時間124を超えていれば(S15でYES)、再送指示部107に対して、注目中のエントリ111のエントリ番号を指定した再送要求を送出する(S16)。そして、パケット状態保持部101の次の1つの有効エントリ111に注目を移す(S17)。パケット状態保持部101に登録されている全ての有効エントリ111について上述した処理を繰り返すと(S12でYES)、今回の処理を終える。
【0029】
再送指示部107は、送信部200、受信部300および経過時間監視部104に接続されており、経過時間監視部104および受信部300からのパケット再送指示に従って、送信部200にパケットの再送を要求すると共に、パケット状態情報の経過時間を初期化する処理を行う。再送指示部107の処理例を図5に示す。
【0030】
再送指示部107は、経過時間監視部104からパケット状態保持部101のエントリ番号を指定したパケットの再送指示を受けると、指定された番号のエントリ111中のパケット識別情報113およびコネクション情報114を読み出し、これらを指定して送信部200に対してパケットの再送を要求する(S21)。そして、そのエントリ111中の経過時間115を0に初期化する(S22)。送信部200は、再送指示部107から指定されたコネクション情報114およびパケット識別情報113で特定されるパケットを内部のバッファから読み出して再送する。
【0031】
また再送指示部107は、受信部300が受信側より再送要求パケットを受信したためにそのパケットで指定されたコネクション識別情報およびパケット識別情報を指定したパケット再送指示を再送指示部107に出力した場合も、図5と同様の処理を行う。つまり、指定されたパケット識別情報およびコネクション情報を指定して送信部200に対してパケットの再送を要求し(S21)、パケット状態保持部101における指定されたパケット識別情報およびコネクション情報を持つエントリ111中の経過時間115を0に初期化する(S22)。
【0032】
喪失予測時間補正部105は、受信部300に接続されており、送信部200が送信したパケットに対して確認応答パケットを受信した際に喪失予測時間を補正する処理を行う。また、パケット状態消去部106は、喪失予測時間補正部105に接続され、確認応答パケットの受信により不要になったパケット状態情報をパケット状態保持部101から消去する処理を行う。喪失予測時間補正部105およびパケット状態消去部106の処理例を図6に示す。
【0033】
喪失予測時間補正部105は、受信部300から、確認応答パケットに含まれるパケット識別情報およびコネクション情報を指定して、確認応答があった旨の通知を受けると、パケット状態保持部101における指定されたパケット識別情報およびコネクション情報を持つエントリ111から経過時間115を読み出し(S31)、喪失予測時間を再計算する(S32)。喪失予測時間を再計算する式を以下に示す。
【0034】
喪失予測時間=min{経過時間+余裕時間、タイムアウト時間} …(1)
ここで、min{A、B}は、AおよびBのうちの小さい値を選択することを意味する。また、タイムアウト時間は、パケット喪失が発生したと判断する経過時間として通信プロトコルで本来規定されている時間を意味する。余裕時間は予め設定されている値を使用する。
【0035】
上記の計算式によれば、パケット通信経路の負荷等が小さく通信状態が良好な場合、確認応答パケットが返されてくるまでに要した経過時間がタイムアウト時間よりも十分に短い時間となるので、喪失予測時間は本来のタイムアウト時間よりも短い時間に設定される。また、通信状態が悪化して確認応答パケットが返されてくるまでに要する経過時間が長くなれば、それに応じて喪失予測時間も延長される。但し、喪失予測時間は、タイムアウト時間を超えることはない。
【0036】
喪失予測時間補正部105は、喪失予測時間を再計算すると、喪失予測時間保持部102における受信部300から通知されたコネクション識別情報123を持つエントリ121中の喪失予測時間124を、ステップS32で再計算した値に書き換える(S33)。そして、ステップS31で経過時間115を読み出したパケット状態保持部101のエントリ111の番号をパケット状態消去部106へ通知する。パケット状態消去部106は、通知されたエントリ番号のエントリ111の情報112を無効状態に書き換えることにより、そのエントリ111に格納されていたパケット状態情報を消去する(S34)。
【0037】
このように本実施の形態にかかる通信インタフェース装置1によれば、パケット喪失が発生したと判断するための喪失予測時間を確認応答パケットの受信毎に再計算するため、通信プロトコル本来のタイムアウトによりパケットの喪失を判定する場合に比べ、宛て先への再送パケットをより早く到達させることが可能となる。また、通信経路の状況により応答時間が変化した場合、特に応答時間が悪化した場合でも、応答時間に応じて喪失予測時間の補正を行って再送開始のタイミングを変化させるため、喪失予測による再送が頻発して帯域が圧迫されるような事態の発生を最小限に抑えることが可能である。また、この喪失予測時間の補正は、多段にわたる通信経路を介する通信でも、同様に機能する。そして、本実施の形態では、喪失予測時間をコネクション毎に設定し且つコネクション毎に補正することが可能である。
【0038】
以上の説明では、パケット状態保持部101の有効エントリ111に保持されたパケット状態情報がどのコネクションによるパケットのものであるかを管理するために、コネクション識別情報114を持たせたが、コネクション識別情報114として、そのコネクション用の喪失予測時間が設定されている喪失予測時間保持部102のエントリ121のエントリ番号を使用しても良い。この場合、コネクション識別情報を知る必要があるときは、エントリ番号を基に喪失予測時間保持部102のエントリ121のコネクション識別情報123を参照すれば良い。また、パケットの再送に備えて送信部200側でパケットをバッファするものとしたが、パケット状態保持部101のエントリ111にパケットデータを保持しておく構成にすることも可能である。
【0039】
次に、本実施の形態の効果をより明確にするために、より具体的な実施例を挙げて説明する。
【0040】
【第1の実施の形態の実施例】
今、通信インタフェース装置1が送信側となって、複数のコネクション接続先と図7に示すような順序でパケットの送受信が行われている状況を考える。この場合、再送制御部100のパケット状態保持部101のエントリ111および喪失予測時間保持部102のエントリ121は、時間の経過に応じて図8に示すように遷移する。なお、本実施例の場合、前述した喪失予測時間の計算式における余裕時間を10秒、通信プロトコルで規定されるタイムアウト時間を2分としている。また、パケット状態保持部101のエントリ111におけるコネクション識別情報114に、喪失予測時間保持部102のエントリ121を指し示すエントリ番号を保持するものとしている。以下、詳細に説明する。
【0041】
時刻0:00:00において、パケット状態保持部101と喪失予測時間保持部102のいずれも情報を保持していない状態である。
【0042】
時刻0:00:01において、新たにパケットの送信が行われるが、これは新たなコネクションによるものであるため、パケットの情報をパケット状態保持部101のエントリ#0へ格納するだけでなく、コネクションの情報として喪失予測時間保持部102のエントリ#0へも格納される。コネクション開設時であるため、喪失予測時間保持部102のエントリへ格納される値としては、通信プロトコルにおけるパケット喪失を判断する時間である2分、即ち0:02:00が使用される。
【0043】
時刻0:00:15において、新たにパケットの送信が行われるが、これは既に登録済みのコネクションであるため、パケットの情報をパケット状態保持部101のエントリ#1へ格納するだけよい。
【0044】
時刻0:00:31において、送信済みパケットの確認応答を受信する。受信パケットの情報から、この確認応答に対応するパケットがパケット状態保持部101のエントリ#0に登録されていること、またそのコネクションの情報が喪失予測時間保持部102のエントリ#0に登録されていることを判別し、保持されていた経過時間0:00:30に余裕時間10秒を加えた値で喪失予測時間の補正を行う。即ち、喪失予測時間保持部102のエントリ#0は0:00:40と補正され、更新される。
【0045】
時刻0:00:32において、新たにパケットの送信が行われるが、これは新たなコネクションによるものであるため、パケットの情報をパケット状態保持部101のエントリ#2へ格納するだけでなく、コネクションの情報として喪失予測時間保持部102のエントリ#1へも格納される。コネクション開設時であるため、喪失予測時間保持部102のエントリへ格納される値としては、通信プロトコルにおけるパケット喪失を判断する時間である2分、即ち0:02:00が使用される。
【0046】
時刻0:00:45において、送信済みパケットの確認応答を受信する。受信パケットの情報から、この確認応答に対応するパケットがパケット状態保持部101のエントリ#1に対応すること、またそのコネクションの情報が喪失予測時間保持部102のエントリ#0に登録されていることを判別し、保持されていた経過時間0:00:30に余裕時間10秒を加えた値で喪失予測時間の補正を行う。即ち喪失予測時間保持部102のエントリ#0は0:00:40と補正され、更新される。また同時に、新たにパケットの送信が行われるが、これは新たなコネクションによるものであるため、パケットの情報をパケット状態保持部101のエントリ#3へ格納するだけでなく、コネクションの情報として喪失予測時間保持部102のエントリ#2へも格納される。コネクション開設時であるため、喪失予測時間保持部102のエントリへ格納される値としては、通信プロトコルにおけるパケット喪失を判断する時間である2分、即ち0:02:00が使用される。
【0047】
時刻0:01:00において、送信済みパケットの確認応答を受信する。受信パケットの情報から、この確認応答に対応するパケットがパケット状態保持部101のエントリ#2に対応すること、またそのコネクションの情報が喪失予測時間保持部102のエントリ#1に登録されていることを判別し、保持されていた経過時間0:00:28に余裕時間10秒を加えた値で喪失予測時間の補正を行う。即ち喪失予測時間保持部102のエントリ#1は0:00:38と補正され、更新される。
【0048】
時刻0:01:01において、新たにパケットの送信が行われるが、これは既に登録済みのコネクションであるため、パケットの情報をパケット状態保持部101のエントリ#0へ格納するだけよい。
【0049】
時刻0:01:15において、送信済みパケットの確認応答を受信する。受信パケットの情報から、この確認応答に対応するパケットがパケット状態保持部101のエントリ#3に対応すること、またそのコネクションの情報が喪失予測時間保持部102のエントリ#2に登録されていることを判別し、保持されていた経過時間0:00:30に余裕時間10秒を加えた値で喪失予測時間の補正を行う。即ち喪失予測時間保持部102のエントリ#2は0:00:40と補正され、更新される。また同時に、新たにパケットの送信が行われるが、これは既に登録済みのコネクションであるため、パケットの情報をパケット状態保持部101のエントリ#2に格納するだけでよい。
【0050】
時刻0:01:16において、新たにパケットの送信が行われるが、これは既に登録済みのコネクションのパケットであるため、パケットの情報をパケット状態保持部101のエントリ#1へ格納するだけでよい。
【0051】
時刻0:01:42において、パケット状態保持部101のエントリ#0において、経過時間が再送予測時間を超えることから、送信部200に対して再送指示が発行される。また、再送指示を発行したことに伴い、パケット状態保持部101のエントリ#0の経過時間がクリアされ、0:00:00として更新される。再送指示の発行時には喪失予測時間の補正は行われないため、喪失予測時間保持部102のエントリ#0の更新は行わない。
【0052】
時刻0:01:50において、送信済みパケットの確認応答を受信する。受信パケットの情報から、この確認応答に対応するパケットがパケット状態保持部101のエントリ#1に対応すること、またそのコネクションの情報が喪失予測時間保持部102のエントリ#2に登録されていることを判別し、保持されていた経過時間0:00:34に余裕時間10秒を加えた値で喪失予測時間の補正を行う。即ち喪失予測時間保持部のエントリ#2は0:00:44と補正され、更新される。
【0053】
時刻0:01:51において、送信済みパケットの確認応答を受信する。受信パケットの情報から、この確認応答に対応するパケットがパケット状態保持部101のエントリ#2に対応すること、またそのコネクションの情報が喪失予測時間保持部102のエントリ#0に登録されていることを判別し、保持されていた経過時間0:00:36に余裕時間10秒を加えた値で喪失予測時間の補正を行う。即ち喪失予測時間保持部102のエントリ#0は0:00:46と補正され、更新される。
【0054】
時刻0:02:20において、送信済みパケットの確認応答を受信する。受信パケットの情報から、この確認応答に対応するパケットがパケット状態保持部102のエントリ#3に対応すること、またそのコネクションの情報が喪失予測時間保持部102のエントリ#1に登録されていることを判別し、保持されていた経過時間0:00:38に余裕時間10秒を加えた値で喪失予測時間の補正を行う。即ち喪失予測時間保持部102のエントリ#1は0:00:48と補正され、更新される。
【0055】
時刻0:02:21において、送信済みパケットの確認応答を受信する。受信パケットの情報から、この確認応答に対応するパケットがパケット状態保持部101のエントリ#0に対応すること、またそのコネクションの情報が喪失予測時間保持部102のエントリ#0に登録されていることを判別し、保持されていた経過時間0:00:38に余裕時間10秒を加えた値で喪失予測時間の補正を行う。即ち喪失予測時間保持部102のエントリ#0は0:00:48と補正され、更新される。
【0056】
このように本実施例では、パケットの喪失を予測して再送を開始するため、通信プロトコル本来のタイムアウトによりパケットの喪失を判定する場合に較べ、宛先への再送パケットをより早く到達させることが可能となる。すなわち、本実施例では時刻0:01:43でパケットの喪失を予測して、パケットの再送を行っている。しかしながら、通常であればパケットの喪失と判断する2分が経過しないと再送を行わない為、本来ならば時刻0:03:01を過ぎるまで再送を行うことが出来なかったのだが、喪失を予測して再送を行っているため、パケット喪失による転送遅延を大幅に短縮することが可能となる。
【0074】
【発明の効果】
以上説明したように本発明によれば、コネクション型のパケット通信において低レイテンシと確実性を同時に満たすことが可能となる。その理由は、実際のパケット通信状況に応じてタイムアウト時間を適宜補正しながらパケットを再送することができるからである。また、送信先との間に確立されるコネクション毎に、実際のパケット通信状況に応じてタイムアウト時間を適宜補正しながらパケットを再送することができるからである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態にかかる通信インタフェース装置の全体構成を示すブロック図である。
【図2】本発明の第1の実施の形態にかかる通信インタフェース装置における再送制御部の構成例を示すブロック図である。
【図3】本発明の第1の実施の形態にかかる通信インタフェース装置における再送制御部のパケット状態登録部の処理例を示すフローチャートである。
【図4】本発明の第1の実施の形態にかかる通信インタフェース装置における再送制御部の経過時間監視部の処理例を示すフローチャートである。
【図5】本発明の第1の実施の形態にかかる通信インタフェース装置における再送制御部の再送指示部の処理例を示すフローチャートである。
【図6】本発明の第1の実施の形態にかかる通信インタフェース装置における再送制御部の喪失予測時間補正部およびパケット状態消去部の処理例を示すフローチャートである。
【図7】本発明の第1の実施の形態にかかる通信インタフェース装置の動作説明に用いるパケットの送受信状況を示す図である。
【図8】本発明の第1の実施の形態にかかる通信インタフェース装置における再送制御部におけるパケット状態保持部および喪失予測時間保持部の登録内容の時間的な遷移を示す図である。
【符号の説明】
1…通信インタフェース装置
2…上位ホスト
3…ネットワーク
100…再送制御部
101…パケット状態保持部
102…喪失予測時間保持部
103…パケット状態登録部
104…経過時間監視部
105…喪失予測時間補正部
106…パケット状態消去部
107…再送指示部
108…バス
111…エントリ
112…有効か無効かを示す情報
113…パケット識別情報
114…コネクション識別情報
115…経過時間
121…エントリ
122…有効か無効かを示す情報
123…コネクション識別情報
124…喪失予測時間
200…送信部
300…受信部
Claims (6)
- パケットを送信する送信部と、前記送信部が送信したパケットに対する確認応答パケットを受信する受信部と、前記送信部が送信したパケットに対して前記受信部で確認応答パケットが受信されるまでの経過時間を監視することによってパケットの喪失を判断しパケットの再送を制御する再送制御部とを備えたコネクション型の通信を行う通信インタフェース装置において、前記再送制御部は、パケットが喪失したと判断する喪失予測時間をコネクション毎に保持する喪失予測時間保持部と、前記送信部が送信したパケットおよび使用したコネクションを特定する情報および送信時からの経過時間情報を含むパケット状態情報を記憶するパケット状態保持部と、前記送信部によるパケットの送信毎に経過時間情報を初期値に設定したパケット状態情報を前記パケット状態保持部に登録するパケット状態登録手段と、前記パケット状態保持部に保持されたパケット状態情報の経過時間情報を時間の経過に応じて更新し、前記喪失予測時間保持部に保持されている該当コネクション用の喪失予測時間を超えたパケットを検出する経過時間監視手段と、前記経過時間監視手段で検出されたパケットの再送を前記送信部に要求する再送指示手段と、前記パケット状態保持部に保持されたパケット状態情報のうち前記受信部で確認応答パケットが受信された時点の経過時間情報およびコネクションを特定する情報に基づいて前記喪失予測時間保持部に保持されている該当コネクション用の喪失予測時間を補正する喪失予測時間補正手段とを備えることを特徴とする通信インタフェース装置。
- 前記パケット状態保持部が記憶する前記使用したコネクションを特定する情報は、当該コネクション用の喪失予測時間が設定されている前記喪失予測時間保持部のエントリの番号であることを特徴とする請求項1記載の通信インタフェース装置。
- 前記再送指示手段は、前記パケット状態保持部に記憶されているパケット状態情報のうち前記再送を指示したパケットのパケット状態情報中の経過時間情報を初期化することを特徴とする請求項1記載の通信インタフェース装置。
- パケットを送信する送信部と、前記送信部が送信したパケットに対する確認応答パケットを受信する受信部と、パケットが喪失したと判断する喪失予測時間をコネクション毎に保持する喪失予測時間保持部および前記送信部が送信したパケットおよび使用したコネクションを特定する情報および送信時からの経過時間情報を含むパケット状態情報を記憶するパケット状態保持部を備え、前記送信部が送信したパケットに対して前記受信部で確認応答パケットが受信されるまでの経過時間を監視することによってパケットの喪失を判断しパケットの再送を制御する再送制御部とを備えたコネクション型の通信を行う通信インタフェース装置の前記再送制御部を構成するコンピュータを、前記送信部によるパケットの送信毎に経過時間情報を初期値に設定したパケット状態情報を前記パケット状態保持部に登録するパケット状態登録手段、前記パケット状態保持部に保持されたパケット状態情報の経過時間情報を時間の経過に応じて更新し、前記喪失予測時間保持部に保持されている該当コネクション用の喪失予測時間を超えたパケットを検出する経過時間監視手段、前記経過時間監視手段で検出されたパケットの再送を前記送信部に要求する再送指示手段、前記パケット状態保持部に保持されたパケット状態情報のうち前記受信部で確認応答パケットが受信された時点の経過時間情報およびコネクションを特定する情報に基づいて前記喪失予測時間保持部に保持されている該当コネクション用の喪失予測時間を補正する喪失予測時間補正手段、として機能させるプログラム。
- 前記パケット状態保持部が記憶する前記使用したコネクションを特定する情報は、当該コネクション用の喪失予測時間が設定されている前記喪失予測時間保持部のエントリの番号であることを特徴とする請求項4記載のプログラム。
- 前記再送指示手段は、前記パケット状態保持部に記憶されているパケット状態情報のうち前記再送を指示したパケットのパケット状態情報中の経過時間情報を初期化することを特徴とする請求項4記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003052702A JP3852600B2 (ja) | 2003-02-28 | 2003-02-28 | 通信インタフェース装置およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003052702A JP3852600B2 (ja) | 2003-02-28 | 2003-02-28 | 通信インタフェース装置およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004266420A JP2004266420A (ja) | 2004-09-24 |
JP3852600B2 true JP3852600B2 (ja) | 2006-11-29 |
Family
ID=33117510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003052702A Expired - Lifetime JP3852600B2 (ja) | 2003-02-28 | 2003-02-28 | 通信インタフェース装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3852600B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1816776A1 (en) * | 2006-02-07 | 2007-08-08 | Alcatel Lucent | Device and method for mitigating effects of impulse noise on data packet transfer |
JP4562694B2 (ja) * | 2006-06-20 | 2010-10-13 | 富士通株式会社 | 再送制御方法及び装置 |
CN112751730B (zh) * | 2020-12-31 | 2024-02-20 | 百果园技术(新加坡)有限公司 | 抗丢包引入时延的统计方法、评估方法、装置、设备及介质 |
-
2003
- 2003-02-28 JP JP2003052702A patent/JP3852600B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2004266420A (ja) | 2004-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4503186B2 (ja) | 通信装置及び通信方法 | |
US7296206B2 (en) | Communication device, transmission control method, and program product | |
US7839858B2 (en) | Data unit sender and data unit relay device | |
KR101746629B1 (ko) | 통신 장치 및 통신 방법 | |
US7496038B2 (en) | Method for faster detection and retransmission of lost TCP segments | |
US7746786B2 (en) | Retransmission control method and device | |
JP4546542B2 (ja) | 重複受信確認を用いたデータフロー制御 | |
EP2978171B1 (en) | Communication method, communication device, and communication program | |
KR100842281B1 (ko) | 무선 네트워크상에서 경로 회복 알림을 통하여 전송 제어 프로토콜의 성능을 관리하는 장치 및 그 방법 | |
US7782771B2 (en) | Adjusting to network latency changes | |
KR102141389B1 (ko) | 다중 무선 접속 기술 기반 통신 시스템에서의 무선 링크 제어 상태 보고 전송 방법 및 장치 | |
US7764616B2 (en) | Transmitter device for controlling data transmission | |
CN114268991A (zh) | 数据传输方法、装置、电子设备、存储介质 | |
EP1569375A1 (en) | Method and device for transmitting data according to an ARQ method with variable redundancy | |
US7590888B2 (en) | Receiving device and transmitting device for determining errors in transmission | |
JP3852600B2 (ja) | 通信インタフェース装置およびプログラム | |
CN116506354B (zh) | 一种ndn路由器及其主动式拥塞丢包恢复方法 | |
JPH06303257A (ja) | データ転送方法 | |
JP2006191368A (ja) | ネットワーク伝送装置 | |
JP3782308B2 (ja) | データ配信管理装置、これを用いたデータ配信管理システムおよびデータ配信管理方法ならびにその方法をコンピュータに実行させるプログラム | |
JP2000151707A (ja) | データ転送制御方法 | |
KR101511225B1 (ko) | 패킷 송수신을 제어하는 망연동장치 및 방법 | |
KR101470575B1 (ko) | 패킷 송수신을 제어하는 망연동장치 및 방법 | |
JP2005167352A (ja) | 送信装置およびプログラム | |
US20230224084A1 (en) | Packet Retransmission Method and Apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060530 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060720 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060816 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060829 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090915 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100915 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110915 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120915 Year of fee payment: 6 |