JP6933207B2 - 送信装置、方法およびプログラム - Google Patents

送信装置、方法およびプログラム Download PDF

Info

Publication number
JP6933207B2
JP6933207B2 JP2018518286A JP2018518286A JP6933207B2 JP 6933207 B2 JP6933207 B2 JP 6933207B2 JP 2018518286 A JP2018518286 A JP 2018518286A JP 2018518286 A JP2018518286 A JP 2018518286A JP 6933207 B2 JP6933207 B2 JP 6933207B2
Authority
JP
Japan
Prior art keywords
data
retransmission
transfer
unit
network
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.)
Active
Application number
JP2018518286A
Other languages
English (en)
Other versions
JPWO2017199913A1 (ja
Inventor
長谷川 洋平
洋平 長谷川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2017199913A1 publication Critical patent/JPWO2017199913A1/ja
Application granted granted Critical
Publication of JP6933207B2 publication Critical patent/JP6933207B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0044Arrangements for allocating sub-channels of the transmission path allocation of payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、受信装置へ送信したデータの消失を検知して消失データの再送を行う、送信装置、方法、プログラムおよび記録媒体に関する。
インターネットで用いられる代表的な通信プロトコルであるTCP/IP(Transmission Control Protocol/Internet Protocol)通信方式では、これを利用するアプリケーションに対してデータ転送の完全性を保証している。つまり、送信装置が送信したデータが送信装置、ネットワークもしくは受信装置にて消失した場合、送信装置は消失したデータを再送する。そして、受信装置は受信したデータを整列して元のデータを復元し、受信側のアプリケーションへと転送する。
近年、データセンタがユーザデータなどを保有してサービス提供者がユーザごとに調整したサービスを提供するような、クラウド型サービスが発展している。クラウド型サービスでは、データセンタとユーザ端末との距離が長距離となる場合がある。そのため、データセンタとユーザ端末との間の通信距離によらず十分な通信速度を発揮する通信方法が求められている。
このような長距離の高速通信を実現するため、送信装置、ネットワーク、受信装置のそれぞれには、より多くのデータ/パケットを一時的に蓄積するためのバッファが必要となる。特に通信速度を最初に決定することになる送信装置内には大きなバッファが必要である。近年では、長距離の10Gbps回線を活用するため、TCP層に300MB、IP層に300MB、データリンク層に100MBほどのバッファを送信装置が持つこともしばしばある。
基本的に、高速通信を実現できるように大きなバッファを設定した場合には、データを再送する場合に、大きな転送遅延が発生する可能性が高くなる。一般的なTCP/IP通信では、一対の送受信装置間のデータ転送では一つの通信経路を使用する。イーサネット(登録商標)に代表されるデータリンク層も、原則一つの通信経路を利用し、また、その転送順序は入れ替わらない。そのため、再送データは送信中のすべてのデータの最後尾で転送されることになり、送信待ち時間が大きくなる。
図19に、一般的なTCP/IPによるデータ転送の例を示す。送信装置は受信装置へデータを送信し、受信装置は送信装置へ確認応答(ACK:ACKnowledgement)を返信する。送信装置にはアプリケーション層、TCP層、IP層、イーサネット層の各処理レイヤがあるが、図19にはTCP層以下を記載する。
データとACKにはそれぞれシーケンス番号が付与されている。以降、データのシーケンス番号をデータ番号、ACKのシーケンス番号をACK番号と呼ぶ。図19には、TCP層から出力されたデータ番号11以降のデータの送信を示している。また、簡単のため、送信装置のTCP層は、受信したACK番号に6を加えたデータ番号のデータまでを送信できるものとする。
TCP層が出力したデータは、IP層、イーサネット層でそれぞれバッファされ、イーサネット層から順次出力される。図19では1行に1つのデータが送信されている。イーサネット層には1つのデータ、IPには6つのデータをバッファできるものとする。受信装置は受信したデータ番号の次の番号(つまり、次に受信することを期待する番号)をACK番号とする。
図19の例では、データ12がネットワークにて消失したとしている。受信装置は、データ13を受信したとき、到着を期待していたのはデータ12であるので、ACK12を返信する。受信装置は、データ12が到着するまで、他のデータを受信した際にはACK12を返信する。
送信装置のTCP層は、3つの重複したACK(ACK12)が到着したことで、データ12が消失したことと判断し、データ12(下線付き)を再送する。このとき、送信装置のイーサネット層とIP層のバッファには、データ17、データ18が格納されている。そのため、データ12が送信されるのはデータ17、データ18の後になる。さらに、データ12が受信装置に到着してACK(ACK19)が送信装置に到着するまで、送信装置が送信可能なデータはデータ18(ACK番号(12)+6)までとなる。そのため、送信装置はデータ19以降を送信できず、送信が一時停止してしまう。
一方、再送データを他のデータより優先的に転送する方法が、特許文献1および特許文献2に記載されている。
特許文献1では、再送パケットをヘッダ情報に基づいて検出し、再送パケットのIPヘッダのToS(Type of Service)フィールドの値を通常より高い優先度を示す値に書き換える方法が提案されている。これにより、後段の装置では、ToSフィールドの値によって再送データを優先的に転送することが可能になる。
また、特許文献2では、再送パケットをUDP(User Datagram Protocol)でカプセル化し、後段の装置で再送パケットを優先的に転送する方法が提案されている。
国際公開第2002/051101号 特開2014−049905号公報
しかし、特許文献1に記載の方法および特許文献2に記載の方法のいずれも、後段の装置での優先処理を可能とする方法であり、送信装置内では再送データを優先することができない。
特許文献1に記載の方法のように、IP層で再送パケットのToSフィールドを書き換えても、データリンク層以下ではToSフィールドを参照しないため、再送パケットを優先することができない。また、特許文献2に記載の方法のように、再送パケットをUDPでカプセル化しても、IP層以下には効果がない。
そのため、特許文献1に記載の方法および特許文献2に記載の方法のいずれも、送信装置から再送データが出力されるまでの遅延が大きくなる問題を解決することができない。
本発明の目的は、再送データが出力されるまでの遅延を短縮することを可能とする、送信装置、方法、プログラムおよび記録媒体を提供することにある。
上述の問題を解決するために、本発明の送信装置は、データを入力するデータ入力手段と、第一の転送手段と、第二の転送手段と、前記データを前記第一の転送手段へ転送するデータ送信手段と、前記データの再送の要否を判断する再送制御手段と、前記再送が必要と判断したとき、再送すべき再送データを前記第二の転送手段へ転送する再送データ送信手段と、前記再送データの前記第二の転送手段への前記転送の時点で前記第一の転送手段に残留する前記データの少なくともいずれかに先立って、前記第二の転送手段の前記再送データを前記第一の転送手段の前記データと同一の宛先に出力する入出力処理手段とを備えることを特徴とする。
また、本発明の送信方法は、データ入力部から入力されたデータを第一の転送部へ転送し、前記データの再送の要否を判断し、前記再送が必要と判断したとき、再送すべき再送データを第二の転送部へ転送し、前記再送データの前記第二の転送部への前記転送の時点で前記第一の転送部に残留する前記データの少なくともいずれかに先立って、前記第二の転送部の前記再送データを前記第一の転送部の前記データと同一の宛先に出力することを特徴とする。
また、本発明のコンピュータ読み取り可能な記録媒体に記録された送信プログラムは、コンピュータに、データ入力部から入力されたデータを第一の転送部へ転送するデータ送信機能と、前記データの再送の要否を判断する再送制御機能と、前記再送が必要と判断したとき、再送すべき再送データを第二の転送部へ転送する再送データ送信機能と、前記再送データの前記第二の転送部への前記転送の時点で前記第一の転送部に残留する前記データの少なくともいずれかに先立って、前記第二の転送部の前記再送データを前記第一の転送部の前記データと同一の宛先に出力する入出力処理機能とを実現させることを特徴とする。
本発明の送信装置、方法、プログラムおよび記録媒体により、再送データが出力されるまでの遅延を短縮することが可能になる。
本発明の第一の実施形態の送信装置の構成例を示す図である。 本発明の第一の実施形態の送信装置の動作例を示す図である。 本発明の第二の実施形態の送信システムの構成例を示す図である。 本発明の第二の実施形態の送信装置の構成例を示す図である。 本発明の第二の実施形態の受信装置の構成例を示す図である。 本発明の第二の実施形態の送信装置の処理レイヤと論理的/物理的処理部の対応関係の例を示す図である。 本発明の第二の実施形態の送信装置のデータ転送の例を示す図である。 本発明の第二の実施形態の送信装置の動作例を示す図である。 本発明の第二の実施形態の送信装置の動作例を示す図である。 本発明の第二の実施形態の送信装置の動作例を示す図である。 本発明の第三の実施形態の送信装置の構成例を示す図である。 本発明の第三の実施形態の送信装置の動作例を示す図である。 本発明の第四の実施形態の送信装置の構成例を示す図である。 本発明の第五および第六の実施形態の送信装置の構成例を示す図である。 本発明の第六の実施形態の送信装置の構成例を示す図である。 本発明の第六の実施形態の送信装置の動作例を示す図である。 本発明の第七の実施形態の送信装置の動作例を示す図である。 本発明の各実施形態のハードウェア構成例を示す図である。 一般的な送信装置のデータ転送の例を示す図である。 一般的な送信装置の処理レイヤと論理的/物理的処理部の対応関係の例を示す図である。
[第一の実施形態]
本発明の第一の実施の形態について説明する。
図1に本実施形態の送信装置10の構成例を示す。本実施形態の送信装置10は、データ入力部11、第一の転送部12、第二の転送部13、データ送信部14、再送制御部15、再送データ送信部16および入出力処理部17により構成される。
データ入力部11は、データを入力する部分である。データ送信部14は、データを第一の転送部12へ転送する部分である。再送制御部15は、データの再送の要否を判断する部分である。再送データ送信部16は、再送が必要と判断したとき、再送すべき再送データを第二の転送部13へ転送する部分である。入出力処理部17は、再送データの第二の転送部13への転送の時点で第一の転送部12に残留するデータの少なくともいずれかに先立って、第二の転送部13の再送データを第一の転送部12のデータと同一の宛先に出力する部分である。
このように送信装置10を構成することによって、送信装置10は、再送データの第二の転送部13への転送の時点で第一の転送部12に残留するデータの少なくともいずれかに先立って、第二の転送部13の再送データを第一の転送部12のデータと同一の宛先に出力する。これにより、第一の転送部12上のバッファに多くのデータが格納されていたとしても、第二の転送部13を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
次に、図2に本実施形態の送信装置10の動作の例を示す。
データ送信部14は、データ入力部11が入力したデータを第一の転送部12へ転送する(ステップS101、S102)。再送制御部15は、データの再送の要否を判断し、再送データ送信部16は、再送が必要と判断したとき、再送すべき再送データを第二の転送部13へ転送する(ステップS103、S104)。入出力処理部17は、再送データの第二の転送部13への転送の時点で第一の転送部12に残留するデータの少なくともいずれかに先立って、第二の転送部13の再送データを第一の転送部12のデータと同一の宛先に出力する(ステップS105)。
このように動作することによって、送信装置10は、再送データの第二の転送部13への転送の時点で第一の転送部12に残留するデータの少なくともいずれかに先立って、第二の転送部13の再送データを第一の転送部12のデータと同一の宛先に出力する。これにより、第一の転送部12上のバッファに多くのデータが格納されていたとしても、第二の転送部13を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
以上で説明したように、本発明の第一の実施形態では、送信装置は、再送データの第二の転送部への転送の時点で第一の転送部に残留するデータの少なくともいずれかに先立って、第二の転送部の再送データを第一の転送部のデータと同一の宛先に出力する。これにより、第一の転送部上のバッファに多くのデータが格納されていたとしても、第二の転送部を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
[第二の実施形態]
次に、本発明の第二の実施の形態について説明する。本実施形態では、第一の実施形態の送信装置についてより具体的に説明する。
まず、図3に、本実施形態の送信装置20を用いた送受信システムの構成例を示す。
送信装置20と受信装置70は、ネットワーク90を介し、TCPコネクション91を利用してデータ転送を行う。送信装置20はデータを受信装置70へ送信し、受信装置70はデータに対する確認応答(ACK)を送信装置20へ返信する。データはネットワーク90上で消失する可能性がある。ネットワーク90としては、たとえば、インターネットなどを想定する。
図4に本実施形態の送信装置20の構成例を示す。図1の構成例との差分は、第一の転送部12が第一のネットワーク処理部21および第一のデータリンク処理部22を、第二の転送部13が第二のネットワーク処理部23および第二のデータリンク処理部24を備える点である。また、データ送信部14、再送制御部15および再送データ送信部16をまとめて、トランスポート処理部25としている。
データ入力部11は、送信するデータをデータ送信部14へ入力する部分である。データ入力部11は、アプリケーション等のデータを、データ送信部14へ入力する。
トランスポート処理部25は、データ入力部11からデータを受け取り、受け取ったデータをセグメント化し、再送制御しつつ信頼性ある通信を実現する部分である。トランスポート処理部25は、トランスポート層の処理を行う部分であり、本実施形態では、TCP層の処理を行う。トランスポート処理部25は、データ送信部14、再送制御部15および再送データ送信部16を備える。
データ送信部14は、データ入力部11から受け取ったデータをセグメント化して第一のネットワーク処理部21へ転送する部分である。また、セグメント化したデータを、再送用に、再送制御部15にも転送する。
再送制御部15は、再送制御を行う部分であり、データの再送の要否を判断する。
再送データ送信部16は、再送制御部15が再送が必要と判断したとき、再送データ(セグメント化はデータ送信部14で実施済み)を第二のネットワーク処理部23へ転送する部分である。
第一のネットワーク処理部21は、データ送信部14から受け取ったデータをパケット化し、第一のデータリンク処理部22へ渡す部分である。第一のネットワーク処理部21は、ネットワーク層の処理を行う部分であり、本実施形態では、IP層の処理を行う。
また、第一のネットワーク処理部21は、データ送信部14からデータを受け取って一時的に格納する第一のネットワークバッファを持つ。データ送信部14は、第一のネットワークバッファにデータを格納し、第一のネットワーク処理部21は、第一のネットワークバッファから取り出したデータをパケット化して第一のデータリンク処理部22へ渡す。
第二のネットワーク処理部23は、再送データ送信部16から受け取った再送データをパケット化し、第二のデータリンク処理部24に渡す部分である。第二のネットワーク処理部23も、第一のネットワーク処理部21と同様に、ネットワーク層の処理を行う部分であり、本実施形態では、IP層の処理を行う。
また、第二のネットワーク処理部23は、再送データ送信部16からデータを受け取って一時的に格納する第二のネットワークバッファを持つ。再送データ送信部16は、第二のネットワークバッファにデータを格納し、第二のネットワーク処理部23は、第二のネットワークバッファから取り出したデータをパケット化して第二のデータリンク処理部24へ渡す。
第一のデータリンク処理部22および第二のデータリンク処理部24は、それぞれ、第一のネットワーク処理部21および第二のネットワーク処理部23から受け取ったパケットをフレーム化して入出力処理部17へ渡す部分である。第一のデータリンク処理部22および第二のデータリンク処理部24は、データリンク層の処理を行う部分であり、本実施形態では、イーサネットの処理を行う。
また、第一のデータリンク処理部22は、第一のネットワーク処理部21からパケットを受け取って一時的に格納する第一のデータリンクバッファを持つ。第一のネットワーク処理部21は、第一のデータリンクバッファにパケットを格納し、第一のデータリンク処理部22は、第一のデータリンクバッファから取り出したパケットをフレーム化して入出力処理部17へ渡す。
また、第二のデータリンク処理部24は、第二のネットワーク処理部23からパケットを受け取って一時的に格納する第二のデータリンクバッファを持つ。第二のネットワーク処理部23は、第二のデータリンクバッファにパケットを格納し、第二のデータリンク処理部24は、第二のデータリンクバッファから取り出したパケットをフレーム化して入出力処理部17へ渡す。
入出力処理部17は、第一のデータリンク処理部22および第二のデータリンク処理部24から受け取ったデータをネットワーク90に出力する部分である。
図5に受信装置70の構成例を示す。本実施形態の送信装置20は、一般的なTCPの受信動作を実現する受信装置70と通信が可能である。そのため、図5には、本実施形態の説明に必要な部分のみを図示する。
受信装置70は、アプリケーション71、トランスポート受信部72、ネットワーク処理部75、データリンク処理部76および入出力処理部77を備える。また、トランスポート受信部72は、データ受信部73およびACK送信部74を備える。
アプリケーション71は、受信装置70が受信したデータを受け取り、利用する部分である。
トランスポート受信部72は、ネットワーク処理部75から受け取ったセグメントに対してACKを送信し、セグメントをデータ化してアプリケーション71に渡す部分である。本実施形態では、トランスポート受信部72は、TCP層のデータ受信処理を行う。
データ受信部73は、データ(セグメント)を受信する部分である。ACK送信部74は、受信したデータに対するACKを作成し送信する部分である。
ネットワーク処理部75は、データリンク処理部76から受け取ったパケットをセグメント化しデータ受信部73へと渡す部分である。本実施形態では、ネットワーク処理部75は、IP層のデータ受信処理を行う。また、ネットワーク処理部75は、ACK送信部74から受け取ったACKをパケット化してデータリンク処理部76へ渡す。
データリンク処理部76は、入出力処理部77から受け取った信号をパケット化してネットワーク処理部75へ渡す部分である。本実施形態では、データリンク処理部76は、イーサネットの処理を行う。また、データリンク処理部76は、ネットワーク処理部75から受け取ったパケットをフレーム化して入出力処理部77へ渡す。
入出力処理部77は、ネットワーク90から受け取った信号をフレーム化してデータリンク処理部76に渡す部分である。また、入出力処理部77は、データリンク処理部76から受け取ったフレームをネットワーク90へ出力する。
次に、本実施形態の送信装置20の再送用の転送部(第二の転送部13)について、処理レイヤと論理的/物理的処理部の対応関係を示しつつ説明する。
一般的に利用可能なイーサネットのNIC(Network Interface Card)の中には仮想化機能を有するものがある。この仮想化機能を用いると、OS(Operating System)は、物理的には一つのNICを、複数の割り込み番号を持つ複数のNICとして扱えるようになる。この仮想化機能は、本来、OS上に複数の仮想マシンを動作させ、それぞれの仮想マシンにNICを仮想的に割り当てるための機能である。本実施形態の送信装置は、このNICの仮想化機能を用いることで、ネットワーク層とデータリンク層に二つの経路を備え、また、一つのインタフェースでネットワークに接続することが可能になる。これにより、本実施形態の送信装置は、一般的なパソコンとNICを用いても実現することが可能になる。
図20に、一般的なTCP/IP送信装置における各処理レイヤと、論理的/物理的な処理部の対応関係の概要の例を示す。図20(a)は、TCP/IPにおける各処理レイヤを、図20(b)は、論理的/物理的な処理部の構成を示す。
図20(b)では、Main board(計算機本体)とNICがPCI(Peripheral Component Interconnect)バスで接続されている。イーサネットの処理は、一部がMain boardのOS/Driverで、一部がNICで処理される。一般的なOSでは、Main board上のメモリにIP(イーサネットの一部処理も含む場合がある)のバッファがあり、NICにイーサネットのバッファがある。
これに対し、図6に本実施形態の送信装置の各処理レイヤと論理的/物理的な処理部の対応関係の概要の例を示す。NICの仮想化機能を利用すると、図6(b)のように、物理的なNIC内に、仮想NIC(図6のvNIC)を2つ作成することが可能である。第一の転送部12および第二の転送部13のデバイスドライバからそれぞれの仮想NICにフレームを渡すことで、イーサネットまでバッファが分離された経路を作成することができる。
このように送信装置20を構成することによって、送信装置20は、再送データの第二の転送部13への転送の時点で第一の転送部12に残留するデータの少なくともいずれかに先立って、第二の転送部13の再送データを第一の転送部12のデータと同一の宛先に出力する。これにより、第一の転送部12上のバッファに多くのデータが格納されていたとしても、第二の転送部13を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
次に、本実施形態の送信装置20と受信装置70の通信手順について説明する。なお、受信装置70の動作は既存のTCPの受信動作で良いため、ここでは主に送信装置20に着目して説明する。
図7に、本実施形態のTCP/IPによるデータ転送の例を示す。送信装置20は受信装置70へデータを送信し、受信装置70は送信装置20へ確認応答(ACK)を返信する。送信装置にはアプリケーション層、TCP層、IP層、イーサネット層の各処理レイヤがあるが、図7にはTCP層以下を記載する。
データとACKにはそれぞれシーケンス番号が付与されている。以降、データのシーケンス番号をデータ番号、ACKのシーケンス番号をACK番号と呼ぶ。図7には、TCP層から出力されたデータ番号11以降のデータの送信を示している。また、簡単のため、送信装置のTCP層は、受信したACK番号に6を加えたデータ番号のデータまでを送信できるものとする。
TCP層が出力したデータは、IP層、イーサネット層でそれぞれバッファされ、イーサネット層から順次出力される。図7では1行に1つのデータが送信されている。イーサネット層には1つのデータ、IP層には6つのデータをバッファできるものとする。また、イーサネット層は、通常データ用のバッファ1と再送データ用のバッファ2を持つものとする。IP層も2つのバッファを持つが、ここでは通常データ用のバッファのみを図示する。受信装置は受信したデータ番号の次の番号(つまり、次に受信することを期待する番号)をACK番号とする。
図7の例では、データ12がネットワーク90にて消失したとしている。受信装置70は、データ13を受信したとき、到着を期待していたのはデータ12であるので、ACK12を返信する。受信装置は、データ12が到着するまで、他のデータを受信した際にはACK12を返信する。
送信装置20のTCP層は、3つの重複したACK(ACK12)が到着したことで、データ12が消失したことと判断し、データ12(下線付き)を再送する。このとき、本実施形態では、第二のネットワーク処理部23および第二のデータリンク処理部24を用いて再送データ(データ12)を送信する。そして、データ12は、第一のネットワーク処理部21のバッファに格納されていたデータ17、データ18より先に入出力処理部17から出力される。
このように、データ12は、図19の例では、データ17、データ18の後に出力されるのに対し、図7の例では、データ17、データ18より先に出力される。そのため、本実施形態の送信装置20は、再送データが出力されるまでの遅延を短縮することが可能になる。
また、図19の例では、データ12が受信装置に到着し、その後返信されたACK(ACK19)が送信装置に到着するまでの間、送信可能なデータがない状態となっている。これに対し、図7の例では、データ12が受信装置70に到着し、その後返信されたACK(ACK17)が送信装置20に到着するまでの間にも、送信可能なデータ(ACK番号(12)+6までのデータ、つまり、データ17、データ18)がある。このように、本実施形態の送信装置20は、送信が一時停止する時間を短縮することができる。(図7の場合は、一時停止する時間をなしにすることができる。)そのため、より安定した高い性能にてデータ転送が可能になる。
次に、図8から図10に本実施形態の送信装置20の動作例を示す。なお、受信装置70の動作は一般的なTCPの受信動作と同様であるため、ここでは主に送信装置20に着目して説明する。
送信装置20は、送信装置20と受信装置70との間のTCPコネクションを開設し、受信装置70へ送信するデータをデータ入力部11(アプリケーション)から受け取ると、データ送信処理を開始する。また、送信装置20は、受信装置70へ送信するデータがなく、かつ、アプリケーションからコネクション終了指示を受け取った場合、データ送信処理を終了する。図8から図10は、データ送信処理を行っている間の、送信装置20の動作例である。図8はデータ送信時の動作例、図9はACK受信時の動作例、図10は再送タイマー満了時の動作例である。
送信装置20のデータ送信部14は、データ入力部11からデータを受け取ると(ステップS201でYES)、データをTCPセグメント化する。そして、輻輳ウィンドウ制御と広告ウィンドウに基づき送信可能な範囲のTCPセグメントを第一の転送部12へ転送する。第一の転送部12の第一のネットワーク処理部21は、受け取ったセグメントをIPパケット化して第一のデータリンク処理部22へ転送する。第一のデータリンク処理部22は、受け取ったパケットをイーサネットフレーム化し、入出力処理部17へ転送する。そして、入出力処理部17は受け取ったフレームを受信装置70へ送信する(ステップS202)。ステップS202において、データ送信部14から第一の転送部12に転送されたセグメントは、入出力処理部17から出力されるまでは、各レイヤ(ネットワーク層、データリンク層)のバッファに格納される。
また、データ送信部14は、セグメントを第一の転送部12へ転送するとともに、再送制御部15にも転送する。そして、このとき、再送制御部15は再送タイマーを起動する(ステップS203)。再送タイマーは、たとえばRTT(Round-Trip Time:平準化されたパケット往復遅延時間)のs倍にセットする。また、各セグメントに対して一つの再送タイマーを起動する。
再送制御部15では、入出力処理部17、第二の転送部13、再送データ送信部16経由で受信装置70からACKを受信すると(ステップS204でYES)、ステップS203で起動した再送タイマーを無効化する(ステップS205)。図7のように、受信を期待するデータの番号がACK番号としてACKに記載されている場合には、受信したACKのACK番号の前の番号のセグメントまでの再送タイマーを無効化する。たとえば、ACK番号が12のときは、データ番号11までの再送タイマーを無効化する。なお、ステップS205において、再送タイマーがすでに無効化されている場合、再送制御部15は、再度無効化を行っても良いし、再送タイマーが起動中か否かを判断して、起動中の再送タイマーのみを無効化しても良い。
また、再送制御部15では、3回同じACK番号のACKを受信した場合(ステップS206でYES)、データが消失したために再送が必要と判断する。そして、再送データ送信部16は、受信したACK番号に対応する再送データのセグメントを第二の転送部13へ転送する。第二のネットワーク処理部23は、受け取ったセグメントをIPパケット化し、第二のデータリンク処理部24へ転送する。第二のデータリンク処理部24は、受け取ったパケットをフレーム化して入出力処理部17へ転送する。そして、入出力処理部17は受け取ったフレームを受信装置70へ送信する(ステップS207)。このとき、再送制御部15では、再送したデータに対する再送タイマーを再起動する(ステップS208)。
また、再送制御部15では、再送タイマーが満了したときにも(ステップS209でYES)、満了した再送タイマーに対応するデータの再送が必要と判断する。そして、再送データ送信部16は、該当するデータの再送データセグメントを第二の転送部13経由で再送信する(ステップS210)。
このように動作することによって、送信装置20は、再送データの第二の転送部13への転送の時点で第一の転送部12に残留するデータの少なくともいずれかに先立って、第二の転送部13の再送データを第一の転送部12のデータと同一の宛先に出力する。これにより、第一の転送部12上のバッファに多くのデータが格納されていたとしても、第二の転送部13を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
次に、本実施形態の効果について説明する。
第一の効果は、再送データの送信遅延の短縮が可能になることである。
一般的なハードウェア構成のTCP/IP/イーサネット送信装置では、送信バッファが大きいとき、再送データが出力されるまでの遅延が大きくなってしまう。TCPではデータの再送を制御するが、再送データを送信装置から優先的に送信する手段を持っていない。
これに対して、本実施形態の送信装置は、第一の転送部と第二の転送部を備え、第一の転送部を用いて通常データを送信し、第二の転送部を用いて再送データを送信する。そのため、第一の転送部上の送信バッファに大量にデータが格納されている場合であっても、第一の転送部上のデータより先に再送データを送信装置から出力することが可能になる。これにより、再送データの送信遅延を短縮することが可能になる。
第二の効果は、データリンク層での再送データの送信遅延の短縮が可能になることである。
一般的な構成の送信装置では、同じ宛先へのデータはデータリンク層が受け取った順番に送信されるため、再送データがデータリンク層から出力されるまでの遅延が大きくなる。ネットワーク層であるIP層で優先制御を行っても、一般的なデータリンク層であるイーサネットでは優先制御の仕組みがないため、再送データが送信されるまでの時間を短縮することができない。
これに対して、本実施形態の送信装置は、第二のデータリンク処理部を備え、この第二のデータリンク処理部を用いて再送パケットを送信する。言い換えると、本実施形態の送信装置は、データリンク層に通常データ用のバッファと再送データ用のバッファとを備える。これにより、データリンク層での再送データの送信遅延の短縮が可能になる。
第三の効果は、一般的な送信装置のネットワーク層であっても、データリンク層の再送用バッファへ再送データを転送することが可能になることである。
一般的な送信装置のネットワーク層は、同じ宛先へのデータは一つのデータリンク層へ転送する。そのため、ネットワーク層で優先制御を行ったとしても、同じ宛先へのデータは一つのデータリンク層へ転送され、データリンク層で再送データが送信されるまでに遅延が生じてしまう。
これに対して、本実施形態の送信装置では、第二のネットワーク処理部と第二のデータリンク処理部とを備え、これを用いて再送データを転送する。言い換えると、本実施形態の送信装置は、ネットワーク層およびデータリンク層それぞれに通常データ用と再送データ用のバッファを備える。これにより、一般的な送信装置のネットワーク層であっても、ネットワーク層の再送用バッファからデータリンク層の再送用バッファへ再送データを転送することが可能になる。その結果、データリンク層での再送データの送信遅延の短縮が可能になる。
第四の効果は、ネットワーク層、データリンク層で再送データを識別する場合に比べて、コストの低減が可能になることである。
ネットワーク層やデータリンク層のデータは、再送パケットか否かの情報を持たない。そのため、ネットワーク層やデータリンク層で再送パケットを識別するためには、入力されたすべてのデータのTCP/IPヘッダを参照し、該当するTCP/IPコネクションのデータを取り出し、TCPによる再送動作が行われたことを推定する必要がある。TCPの再送動作は、3回以上同じACKが送信されたとき、再送信タイマーが期限切れとなったとき(Retransmission TimeOut)、SACK(Selective ACK)オプションで消失データを通知されたときなどに行われる。これらの再送動作の発生を推定するためには、多くのコスト(計算機資源、記憶資源、計算時間、電力コスト等)が必要となる。
これに対して、本実施形態の送信装置では、トランスポート層が再送データを第二の転送部に振り分ける。そのため、ネットワーク層やデータリンク層は再送パケットの識別が不要になる。これにより、ネットワーク層やデータリンク層で再送データを識別する場合に比べてコストを低減することが可能になる。
第五の効果は、複数のデータリンク層のデータを同一の出力インタフェース(出力ポート)から出力することが可能になることである。
一般的な構成の送信装置は、複数のデータリンク層を経由したデータをデータリンク層ごとに異なる出力インタフェースから出力する。したがって、第二の転送部を経由する再送データは、通常データとは異なる出力インタフェースから出力されることになる。再送データが通常データとは異なる出力インタフェースから送信されると、受信装置は、正常に再送データを受信することが困難になる。
これに対して、本実施形態の送信装置は、たとえば、NICの仮想化機能を利用することで、複数のデータリンク層が一つの出力インタフェース(出力ポート)を共有する構成とすることが可能である。これにより、送信装置は、複数のデータリンク層のデータを同一の出力インタフェースから出力することが可能になる。
以上で説明したように、本発明の第二の実施形態では、送信装置は、再送データの第二の転送部への転送の時点で第一の転送部に残留するデータの少なくともいずれかに先立って、第二の転送部の再送データを第一の転送部のデータと同一の宛先に出力する。これにより、第一の転送部上のバッファに多くのデータが格納されていたとしても、第二の転送部を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
また、本実施形態の送信装置は、データリンク層に通常データ用のバッファと再送データ用のバッファとを備える。これにより、データリンク層での再送データの送信遅延の短縮が可能になる。
また、本実施形態の送信装置は、ネットワーク層およびデータリンク層それぞれに通常データ用と再送データ用のバッファを備える。これにより、一般的な送信装置のネットワーク層であっても、ネットワーク層の再送用バッファからデータリンク層の再送用バッファへ再送データを転送することが可能になる。その結果、データリンク層での再送データの送信遅延の短縮が可能になる。
また、本実施形態の送信装置では、トランスポート層が再送データを第二の転送部に振り分ける。そのため、ネットワーク層やデータリンク層では再送パケットの識別が不要になる。これにより、ネットワーク層やデータリンク層で再送データを識別する場合に比べてコストを低減することが可能になる。
また、本実施形態の送信装置は、たとえば、NICの仮想化機能を利用することで、複数のデータリンク層が一つの出力インタフェース(出力ポート)を共有する構成とすることが可能である。これにより、複数のデータリンク層に送信したデータを同一の出力インタフェースから出力することが可能になる。
[第三の実施形態]
次に、本発明の第三の実施の形態について説明する。
第二の実施形態では、ネットワーク処理部とデータリンク処理部を二つずつ設け、転送部が異なるネットワーク処理部とデータリンク処理部を備えるように構成した。これに対して、本実施形態では、一つのネットワーク処理部を転送部で共有する。
図11に本実施形態の送信装置30の構成例を示す。図4との違いは、ネットワーク処理部が一つである点、および、再送データ送信部16が再送データ送信部36となっている点である。他の部分については図4と同様のため、説明を省略する。
再送データ送信部36と再送データ送信部16との違いは、再送データ送信部36では、ネットワーク処理部31へ転送する再送データのセグメントに、再送データであることを示すフラグを付与する点である。
ネットワーク処理部31は、データ送信部14および再送データ送信部36からセグメントを受け取り、パケット化する。また、セグメントのフラグを確認し、通常データを第一のデータリンク処理部22へ、再送データを第二のデータリンク処理部24へ転送する。
このように送信装置30を構成することによって、送信装置30は、再送データの第二の転送部13への転送の時点で第一の転送部12に残留するデータの少なくともいずれかに先立って、第二の転送部13の再送データを第一の転送部12のデータと同一の宛先に出力する。これにより、第一の転送部12上のバッファに多くのデータが格納されていたとしても、第二の転送部13を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
また、本実施形態の送信装置は、トランスポート層からネットワーク層へ再送データを転送する際に再送データであることを示すフラグを再送データに付与する。また、ネットワーク層では、そのフラグを確認し、再送データである場合は再送用のデータリンク層へ転送する。そのため、ネットワーク層が一つであっても、二つのデータリンク層へ通常データと再送データを振り分けることが可能になる。これにより、データリンク層での再送データの送信遅延の短縮が可能になる。
また、本実施形態の送信装置は、ネットワーク処理部を各転送部で共有する。これにより、ネットワーク処理部を二つ備える場合に比べて、送信装置が使用するハードウェア資源を少なくすることが可能になる。
次に、図8から図10、図12を用いて本実施形態の送信装置30の動作例について説明する。
再送データ送信部36は、図9のステップS207および図10のステップS210において、再送データのセグメントを転送する際、再送データのセグメントに再送データであることを示すフラグを付与する。そして、ネットワーク処理部31は、図8のステップS202、図9のステップS207および図10のステップS210において、セグメントのフラグを確認し、通常データを第一のデータリンク処理部22へ、再送データを第二のデータリンク処理部24へ転送する。
図12に、図8のステップS202、図9のステップS207および図10のステップS210における、ネットワーク処理部31の動作の例を示す。
ネットワーク処理部31では、データ送信部14あるいは再送データ送信部36からセグメントを受信すると(ステップS301)、セグメントをパケット化する(ステップS302)。そして、セグメントに再送データであることを示すフラグが付与されていなければ(ステップS303でNO)、パケットを第一のデータリンク処理部22へ転送する(ステップS304)。セグメントに再送データであることを示すフラグが付与されていれば、パケットを第二のデータリンク処理部24へ転送する(ステップS305)。
このように動作することによって、送信装置30は、再送データの第二の転送部13への転送の時点で第一の転送部12に残留するデータの少なくともいずれかに先立って、第二の転送部13の再送データを第一の転送部12のデータと同一の宛先に出力する。これにより、第一の転送部12上のバッファに多くのデータが格納されていたとしても、第二の転送部13を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
以上で説明したように、本発明の第三の実施形態では、第一および第二の実施形態と同様に、送信装置は、再送データの第二の転送部への転送の時点で第一の転送部に残留するデータの少なくともいずれかに先立って、第二の転送部の再送データを第一の転送部のデータと同一の宛先に出力する。これにより、第一の転送部上のバッファに多くのデータが格納されていたとしても、第二の転送部を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
また、本実施形態の送信装置は、トランスポート層からネットワーク層へ再送データを出力する際に再送データであることを示すフラグを再送データに付与する。また、ネットワーク層は、そのフラグを確認し、再送データを再送用のデータリンク層へ転送する。そのため、ネットワーク層が一つであっても、二つのデータリンク層へ通常データと再送データを振り分けることが可能になる。これにより、データリンク層での再送データの送信遅延の短縮が可能になる。
また、本実施形態の送信装置は、ネットワーク処理部を各転送部で共有する。これにより、ネットワーク処理部を二つ備える場合に比べて、送信装置が使用するハードウェア資源を少なくすることが可能になる。
[第四の実施形態]
次に、本発明の第四の実施の形態について説明する。
第二の実施形態では、ネットワーク処理部とデータリンク処理部を二つずつ設け、各転送部が異なるネットワーク処理部とデータリンク処理部を備えるように構成した。また、第三の実施形態では、一つのネットワーク処理部を各転送部で共有した。これに対して、本実施形態では、一つのデータリンク処理部を各転送部で共有する。
図13に本実施形態の送信装置40の構成例を示す。図4との違いは、データリンク処理部が一つである点である。他の部分については図4と同様のため、説明を省略する。
データリンク処理部41は、第一のネットワーク処理部21および第二のネットワーク処理部23からパケットを受け取り、フレーム化する。また、フレーム化したデータを入出力処理部17へ転送する。
このように送信装置40を構成することによって、送信装置40は、再送データの第二の転送部13への転送の時点で第一の転送部12に残留するデータの少なくともいずれかに先立って、第二の転送部13の再送データを第一の転送部12のデータと同一の宛先に出力する。これにより、第一の転送部12上のバッファに多くのデータが格納されていたとしても、第二の転送部13を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
また、本実施形態の送信装置は、二つのネットワーク処理部を持つ。これにより、ネットワーク層での再送データの送信遅延の短縮が可能になる。
また、本実施形態の送信装置は、データリンク処理部を各転送部で共有する。これにより、データリンク処理部を二つ備える場合に比べて、送信装置が使用するハードウェア資源を少なくすることが可能になる。
次に、図8から図10を用いて本実施形態の送信装置40の動作例について説明する。
図8のステップS202において、データ送信部14は、第一のネットワーク処理部21へデータを転送する。データを受け取った第一のネットワーク処理部21は、データリンク処理部41へデータを転送する。そして、データリンク処理部41はデータを入出力処理部17経由で出力する。
また、図9のステップS207および図10のステップS210において、再送データ送信部16は第二のネットワーク処理部23へ再送データを転送する。再送データを受け取った第二のネットワーク処理部23は、データリンク処理部41へデータを転送する。そして、データリンク処理部41はデータを入出力処理部17経由で出力する。
このように動作することによって、送信装置40は、再送データの第二の転送部13への転送の時点で第一の転送部12に残留するデータの少なくともいずれかに先立って、第二の転送部13の再送データを第一の転送部12のデータと同一の宛先に出力する。これにより、第一の転送部12上のバッファに多くのデータが格納されていたとしても、第二の転送部13を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
以上で説明したように、本発明の第四の実施形態では、第一から第三の実施形態と同様に、送信装置は、再送データの第二の転送部への転送の時点で第一の転送部に残留するデータの少なくともいずれかに先立って、第二の転送部の再送データを第一の転送部のデータと同一の宛先に出力する。これにより、第一の転送部上のバッファに多くのデータが格納されていたとしても、第二の転送部を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
また、本実施形態の送信装置は、二つのネットワーク処理部を持つ。これにより、ネットワーク層での再送データの送信遅延の短縮が可能になる。
また、本実施形態の送信装置は、データリンク処理部を各転送部で共有する。これにより、データリンク処理部を二つ備える場合に比べて、送信装置が使用するハードウェア資源を少なくすることが可能になる。
[第五の実施形態]
次に、本発明の第五の実施の形態について説明する。本実施形態は、ネットワーク処理部を二つ設ける場合に、第一のネットワーク処理部21と第二のネットワーク処理部23の通信フローに対する転送条件を同一にする形態である。
一般的に、IP層では、サービス/通信の安全性を向上させるために、通信セッションの状態によってパケットフィルタを設定し、正常に開設がなされたTCPコネクションのパケットのみを通過させるようになっている。このため、第二の転送部13を使用する場合に、第一の転送部12と第二の転送部13のパケットフィルタの処理状態を同一にする必要がある場合がある。本実施形態では、第一の転送部12と第二の転送部13のパケットフィルタの処理状態などの通信フローに対する転送条件を同一にする形態について説明する。
図14に、本実施形態の送信装置50の構成例を示す。図4に対して、状態記憶部58を追加している。また、図13に対して状態記憶部58を追加しても良い。
状態記憶部58は、第一のネットワーク処理部21および第二のネットワーク処理部23のパケットフィルタの処理状態などの通信フローに対する転送条件を記憶させる部分である。第一のネットワーク処理部21と第二のネットワーク処理部23とがこの状態記憶部58を共有することで、第一のネットワーク処理部21と第二のネットワーク処理部23とは転送条件を合わせることが可能になる。状態記憶部58には、たとえば、パケットを通過させるコネクションについての、IPアドレス、ポート番号などを記憶させることが可能である。
このように送信装置50を構成することによって、送信装置50は、再送データの第二の転送部13への転送の時点で第一の転送部12に残留するデータの少なくともいずれかに先立って、第二の転送部13の再送データを第一の転送部12のデータと同一の宛先に出力する。これにより、第一の転送部12上のバッファに多くのデータが格納されていたとしても、第二の転送部13を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
また、本実施形態の送信装置は、複数のネットワーク層の間に状態記憶部を設け、複数のネットワーク層の転送条件を同期させる。これにより、複数のネットワーク層を使用しても、それぞれのネットワーク層の転送条件を同期させ、処理に矛盾が生じないようにすることが可能になる。
また、本実施形態の送信装置は、二つのネットワーク層の間に状態記憶部を設け、パケットフィルタの処理状態を同期させる。これにより、通信状態に応じて設定される動的なフィルタの処理状態を、二つのネットワーク層で同一にすることができるため、正常に通信することが可能になる。
次に、本実施形態の送信装置50の動作例について説明する。
第一のネットワーク処理部21と第二のネットワーク処理部23は、動的フィルタの処理状態などの、通信フローに対する転送条件を変更するたびに、その転送条件を状態記憶部58に記憶させる。また、フィルタリングなどの転送処理の際には、状態記憶部58に記憶させた転送条件を参照して転送処理を行う。
このように動作することによって、送信装置50は、再送データの第二の転送部13への転送の時点で第一の転送部12に残留するデータの少なくともいずれかに先立って、第二の転送部13の再送データを第一の転送部12のデータと同一の宛先に出力する。これにより、第一の転送部12上のバッファに多くのデータが格納されていたとしても、第二の転送部13を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
以上で説明したように、本発明の第五の実施形態では、第一から第三の実施形態と同様に、送信装置は、再送データの第二の転送部への転送の時点で第一の転送部に残留するデータの少なくともいずれかに先立って、第二の転送部の再送データを第一の転送部のデータと同一の宛先に出力する。これにより、第一の転送部上のバッファに多くのデータが格納されていたとしても、第二の転送部を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
また、本実施形態の送信装置は、複数のネットワーク層の間に状態記憶部を設け、複数のネットワーク層の転送条件を同期させる。これにより、複数のネットワーク層を使用しても、それぞれのネットワーク層の転送条件を同期させ、処理に矛盾が生じないようにすることが可能になる。
また、本実施形態の送信装置は、二つのネットワーク層の間に状態記憶部を設け、パケットフィルタの処理状態を同期させる。これにより、通信状態に応じて設定される動的なフィルタの処理状態を、二つのネットワーク層で同一にすることができるため、正常に通信することが可能になる。
[第六の実施形態]
次に、本発明の第六の実施の形態について説明する。本実施形態は、再送データが追い越したデータ数を計測する形態である。
第一から第五の実施形態のような、第二の転送部による再送データの優先制御を送信装置に導入しても、利用者にとっては、再送データが追い越したデータ数がわからなければ、優先制御を導入した効果を把握することが難しい。そのため、本実施形態では、再送データが優先制御によって追い越したデータ数を送信装置が計測することで、優先制御を導入した効果を利用者が把握することを可能にする。また、これにより、優先制御への投資効果が明らかになり、ユーザの満足度が改善される可能性がある。
図15に、本実施形態の送信装置60の構成例を示す。図15では、図4の構成例に状態記憶部58を追加している。図11や図13の構成例に状態記憶部58を追加することも可能である。
本実施形態では、追い越したデータ数の算出を第二のネットワーク処理部23、あるいは、第二のデータリンク処理部24が行う。
追い越したデータ数の算出を第二のネットワーク処理部23が行う場合は、算出されるデータ数は、再送データがネットワーク層で追い越したデータ数となり、データリンク層で追い越したデータ数は含まれない。
追い越したデータ数の算出を第二のデータリンク処理部24が行う場合は、データリンク層で追い越したデータ数、あるいは、ネットワーク層で追い越したデータ数とデータリンク層で追い越したデータ数の合計を算出することができる。
まず、追い越したデータ数の算出を第二のネットワーク処理部23が行う場合について説明する。
第一のネットワーク処理部21は、データリンク層へデータパケットを転送するとき、そのデータ番号(TCPシーケンス番号)を状態記憶部58に記憶させる。このデータ番号(第一のデータ番号)は、データリンク層へ転送済みのデータ番号である。
また、データ送信部14は、第一のネットワーク処理部21へデータを転送するとき、そのデータ番号(第二のデータ番号)を状態記憶部58に記憶させる。この第二のデータ番号は、第一のネットワーク処理部21のバッファに格納されているデータの最大のデータ番号である。
そして、第二のネットワーク処理部23は、再送データをデータリンク層へ転送するとき、状態記憶部58に記憶されている第一のデータ番号および第二のデータ番号に基づいて、ネットワーク層で追い越したデータ数を算出する。
たとえば、図7の例の場合、IP層に格納されているデータ数は、(第二のデータ番号−第一のデータ番号)である。IP層からイーサネット層にデータ番号12の再送データを転送したとき、状態記憶部58が記憶している第一のデータ番号は17、第二のデータ番号は18である。このとき、IP層に格納されているデータ数は第二のデータ番号−第一のデータ番号=1であり、これが、データ番号12の再送データがIP層で追い越したデータ数である。
次に、データリンク層で追い越したデータ数を第二のデータリンク処理部24が算出する場合について説明する。
第一のデータリンク処理部22は、入出力処理部17へデータパケットを転送するとき、そのデータ番号(TCPシーケンス番号)(第三のデータ番号)を状態記憶部58に記憶させる。この第三のデータ番号は、第一のデータリンク処理部22から入出力処理部17へ転送済みのデータ番号である。
また、第一のネットワーク処理部21(あるいはネットワーク処理部31)は、第一のデータリンク処理部22へデータを転送するとき、そのデータ番号(第一のデータ番号)を状態記憶部58に記憶させる。この第一のデータ番号は、データリンク層へ転送済みのデータ番号であり、この場合、第一のデータリンク処理部22のバッファに格納されているデータの最大のデータ番号である。
第二のデータリンク処理部24では、再送データを入出力処理部17へ転送するとき、状態記憶部58に記憶されている第三のデータ番号および第一のデータ番号に基づいて、データリンク層で追い越したデータ数を算出する。
たとえば、図7の例の場合、イーサネット層のバッファ1に格納されているデータ数は、(第一のデータ番号−第三のデータ番号)である。イーサネット層のバッファ2から入出力処理部にデータ番号12の再送データを転送したとき、状態記憶部58が記憶している第三のデータ番号は16、第一のデータ番号は17である。このとき、イーサネット層のバッファ1に格納されているデータ数は第一のデータ番号−第三のデータ番号=1であり、これが、データ番号12の再送データがデータリンク層で追い越したデータ数である。
次に、ネットワーク層で追い越したデータ数とデータリンク層で追い越したデータ数の合計を第二のデータリンク処理部24が算出する場合について説明する。
第一のデータリンク処理部22は、入出力処理部17へデータパケットを転送するとき、そのデータ番号(TCPシーケンス番号)(第三のデータ番号)を状態記憶部58に記憶させる。この第三のデータ番号は、第一のデータリンク処理部22から入出力処理部17へ転送済みのデータ番号である。
また、データ送信部14は、第一のネットワーク処理部21へデータを転送するとき、そのデータ番号(第二のデータ番号)を状態記憶部58に記憶させる。この第二のデータ番号は、第一のネットワーク処理部21のバッファに格納されているデータの最大のデータ番号である。
第二のデータリンク処理部24では、再送データを入出力処理部17へ転送するとき、状態記憶部58に記憶されている第三のデータ番号および第二のデータ番号に基づいて、データリンク層とネットワーク層で追い越したデータ数の合計を算出する。
たとえば、図7の例の場合、ネットワーク層とイーサネット層のバッファ1に格納されているデータ数の合計は、(第二のデータ番号−第三のデータ番号)である。イーサネット層のバッファ2から入出力処理部にデータ番号12の再送データを転送したとき、状態記憶部58が記憶している第三のデータ番号は16、第二のデータ番号は18である。このとき、イーサネット層のバッファ1とIP層に格納されているデータ数の合計は第二のデータ番号−第三のデータ番号=2であり、これが、データ番号12の再送データがデータリンク層およびネットワーク層で追い越したデータ数である。
このように送信装置を構成することによって、送信装置は、再送データの第二の転送部13への転送の時点で第一の転送部12に残留するデータの少なくともいずれかに先立って、第二の転送部13の再送データを第一の転送部12のデータと同一の宛先に出力する。これにより、第一の転送部12上のバッファに多くのデータが格納されていたとしても、第二の転送部13を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
また、本実施形態の送信装置は、状態記憶部に記憶させたデータ番号から、再送データが追い越したデータ数を算出する。これにより、優先制御を導入した効果を利用者が把握することが可能になる。
次に、図16に、本実施形態の送信装置60の追い越しデータ数算出動作の動作例を示す。再送データの転送動作については、第一の実施形態から第五の実施形態の説明と同様のため、説明を省略する。
まず、ネットワーク層で追い越したデータ数の算出動作の例について説明する。
まず、第一のネットワーク処理部21は、データリンク層へデータを転送する際(ステップS401でYES)、そのデータ番号(第一のデータ番号)を状態記憶部58へ記憶させる(ステップS402)。これは、第一のネットワーク処理部21から転送済みのデータのデータ番号である。
また、データ送信部14は、データを第一のネットワーク処理部21へ転送する際(ステップS403でYES)、そのデータ番号(第二のデータ番号)を状態記憶部58へ記憶させる(ステップS404)。これは、第一のネットワーク処理部21のバッファに格納されているデータの最大のデータ番号である。
そして、第二のネットワーク処理部23は、再送データをデータリンク層へ転送する際(ステップS405でYES)、状態記憶部58の第一のデータ番号と第二のデータ番号とに基づいて、追い越しデータ数を算出する(ステップS406)。
次に、データリンク層で追い越したデータ数の算出動作の例について説明する。
まず、第一のデータリンク処理部22は、入出力処理部17へデータを転送する際(ステップS401でYES)、そのデータ番号(第三のデータ番号)を状態記憶部58へ記憶させる(ステップS402)。これは、第一のデータリンク処理部22から転送済みのデータのデータ番号である。
また、第一のネットワーク処理部21あるいはネットワーク処理部31は、データを第一のデータリンク処理部22へ転送する際(ステップS403でYES)、そのデータ番号(第一のデータ番号)を状態記憶部58へ記憶させる(ステップS404)。これは、第一のデータリンク処理部22のバッファに格納されているデータの最大のデータ番号である。
そして、第二のデータリンク処理部24は、再送データを入出力処理部17へ転送する際(ステップS405でYES)、状態記憶部58の第三のデータ番号と第一のデータ番号とに基づいて、追い越しデータ数を算出する(ステップS406)。
次に、データリンク層とネットワーク層で追い越したデータ数の合計の算出動作の例について説明する。
まず、第一のデータリンク処理部22は、入出力処理部17へデータを転送する際(ステップS401でYES)、そのデータ番号(第三のデータ番号)を状態記憶部58へ記憶させる(ステップS402)。これは、第一のデータリンク処理部22から転送済みのデータのデータ番号である。
また、データ送信部14は、データを第一のネットワーク処理部21へ転送する際(ステップS403でYES)、そのデータ番号(第二のデータ番号)を状態記憶部58へ記憶させる(ステップS404)。これは、第一のネットワーク処理部21のバッファに格納されているデータの最大のデータ番号である。
そして、第二のデータリンク処理部24は、再送データを入出力処理部17へ転送する際(ステップS405でYES)、状態記憶部58の第三のデータ番号と第二のデータ番号とに基づいて、追い越しデータ数を算出する(ステップS406)。
このように動作することによって、送信装置は、再送データの第二の転送部13への転送の時点で第一の転送部12に残留するデータの少なくともいずれかに先立って、第二の転送部13の再送データを第一の転送部12のデータと同一の宛先に出力する。これにより、第一の転送部12上のバッファに多くのデータが格納されていたとしても、第二の転送部13を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
以上で説明したように、本発明の第六の実施形態では、第一から第五の実施形態と同様に、送信装置は、再送データの第二の転送部への転送の時点で第一の転送部に残留するデータの少なくともいずれかに先立って、第二の転送部の再送データを第一の転送部のデータと同一の宛先に出力する。これにより、第一の転送部上のバッファに多くのデータが格納されていたとしても、第二の転送部を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
また、本実施形態の送信装置は、状態記憶部に記憶させたデータ番号から、再送データが追い越したデータ数を算出する。これにより、優先制御を導入した効果を利用者が把握することが可能になる。
[第七の実施形態]
次に、本発明の第七の実施の形態について説明する。本実施形態は、入出力処理部において、出力データに所定のルールに従った番号を付与する形態である。
第一から第六の実施形態では、第一のネットワーク処理部21から出力されたデータと第二のネットワーク処理部23から出力された再送データとは、連続したパケット番号を持たない。しかし、受信装置には、受信データに連続したパケット番号が付与されていることを想定しているものがある。たとえば、IPヘッダの識別子フィールド(IPID:IP Identification)に連続番号が格納されていると想定し、IPIDに基づいてデータの消失を推定している受信装置がある。そのため、本実施形態では、入出力処理部において、出力データに所定のルールに従った番号、たとえば連続番号を付与する。
まず、本実施形態の送信装置の構成例について説明する。本実施形態の送信装置の構成例は、第一から第六の実施形態(図1、図4、図11、図14、図15)と同様である。
入出力処理部17では、第一の転送部12と第二の転送部13からデータフレームを受け取り、受け取ったフレームに所定のルールに従った番号を付与して、受信装置へ出力する。たとえば、入出力処理部17では、受け取ったフレームのIPヘッダのIPIDを連続番号に書き換える。
このように送信装置を構成することによって、送信装置は、再送データの第二の転送部13への転送の時点で第一の転送部12に残留するデータの少なくともいずれかに先立って、第二の転送部13の再送データを第一の転送部12のデータと同一の宛先に出力する。これにより、第一の転送部12上のバッファに多くのデータが格納されていたとしても、第二の転送部13を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
また、本実施形態の送信装置は、入出力処理部において、出力データに所定のルールに従った番号を付与する。これにより、所定のルールに従った番号を付与されたデータを出力することが可能になる。
次に、図17を用いて本実施形態の送信装置の入出力処理部17の動作例について説明する。入出力処理部17以外の動作については、第一から第六の実施形態と同様のため、説明を省略する。
入出力処理部17では、第一の転送部12あるいは第二の転送部13からデータフレームを受け取ると(ステップS501でYES)、そのフレームに所定のルールに従った番号を付与する(ステップS502)。たとえば、IPヘッダのIPIDを連続番号に書き換える。そして、そのフレームを受信装置へ出力する(ステップS503)。
このように動作することによって、送信装置は、再送データの第二の転送部13への転送の時点で第一の転送部12に残留するデータの少なくともいずれかに先立って、第二の転送部13の再送データを第一の転送部12のデータと同一の宛先に出力する。これにより、第一の転送部12上のバッファに多くのデータが格納されていたとしても、第二の転送部13を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
以上で説明したように、本発明の第七の実施形態では、第一から第六の実施形態と同様に、送信装置は、再送データの第二の転送部への転送の時点で第一の転送部に残留するデータの少なくともいずれかに先立って、第二の転送部の再送データを第一の転送部のデータと同一の宛先に出力する。これにより、第一の転送部上のバッファに多くのデータが格納されていたとしても、第二の転送部を使用して、再送データをより早く出力することが可能になる。そのため、再送データが出力されるまでの遅延を短縮することが可能になる。
また、本実施形態の送信装置は、入出力処理部において、出力データに所定のルールに従った番号を付与する。これにより、所定のルールに従った番号を付与されたデータを出力することが可能になる。
[ハードウェア構成例]
上述した本発明の各実施形態における送信装置(10、20、30、40、50、60)を、一つの情報処理装置(コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。なお、送信装置は、物理的または機能的に少なくとも二つの情報処理装置を用いて実現してもよい。また、送信装置は、専用の装置として実現してもよい。また、送信装置の一部の機能のみを情報処理装置を用いて実現しても良い。
図18は、本発明の各実施形態の送信装置を実現可能な情報処理装置のハードウェア構成例を概略的に示す図である。情報処理装置80は、通信インタフェース81、入出力インタフェース82、演算装置83、記憶装置84、不揮発性記憶装置85およびドライブ装置86を備える。
通信インタフェース81は、各実施形態の送信装置が、有線あるいは/および無線で外部装置と通信するための通信手段である。なお、送信装置を、少なくとも二つの情報処理装置を用いて実現する場合、それらの装置の間を通信インタフェース81経由で相互に通信可能なように接続しても良い。
入出力インタフェース82は、入力デバイスの一例であるキーボードや、出力デバイスとしてのディスプレイ等のマンマシンインタフェースである。
演算装置83は、汎用のCPU(Central Processing Unit)やマイクロプロセッサ等の演算処理装置である。演算装置83は、たとえば、不揮発性記憶装置85に記憶された各種プログラムを記憶装置84に読み出し、読み出したプログラムに従って処理を実行することが可能である。
記憶装置84は、演算装置83から参照可能な、RAM(Random Access Memory)等のメモリ装置であり、プログラムや各種データ等を記憶する。記憶装置84は、揮発性のメモリ装置であっても不揮発性のメモリ装置であっても良い。
不揮発性記憶装置85は、たとえば、ROM(Read Only Memory)、フラッシュメモリ、等の、不揮発性の記憶装置であり、各種プログラムやデータ等を記憶することが可能である。
ドライブ装置86は、たとえば、後述する記録媒体87に対するデータの読み込みや書き込みを処理する装置である。
記録媒体87は、たとえば、光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な任意の記録媒体である。
本発明の各実施形態は、たとえば、図18に例示した情報処理装置80により送信装置を構成し、この送信装置に対して、上記各実施形態において説明した機能を実現可能なプログラムを供給することにより実現してもよい。
この場合、送信装置に対して供給したプログラムを、演算装置83が実行することによって、実施形態を実現することが可能である。また、送信装置のすべてではなく、一部の機能を情報処理装置80で構成することも可能である。
さらに、上記プログラムを記録媒体87に記録しておき、送信装置の出荷段階、あるいは運用段階等において、適宜上記プログラムが不揮発性記憶装置85に格納されるよう構成してもよい。なお、この場合、上記プログラムの供給方法は、出荷前の製造段階、あるいは運用段階等において、適当な治具を利用して送信装置内にインストールする方法を採用してもよい。また、上記プログラムの供給方法は、インターネット等の通信回線を介して外部からダウンロードする方法等の一般的な手順を採用してもよい。
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
データを入力するデータ入力手段と、
第一の転送手段と、
第二の転送手段と、
前記データを前記第一の転送手段へ転送するデータ送信手段と、
前記データの再送の要否を判断する再送制御手段と、
前記再送が必要と判断したとき、再送すべき再送データを前記第二の転送手段へ転送する再送データ送信手段と、
前記再送データの前記第二の転送手段への前記転送の時点で前記第一の転送手段に残留する前記データの少なくともいずれかに先立って、前記第二の転送手段の前記再送データを前記第一の転送手段の前記データと同一の宛先に出力する入出力処理手段と
を備えることを特徴とする送信装置。
(付記2)
前記第一の転送手段のデータリンク層の第一のデータリンクバッファの前記データを前記入出力処理手段へ転送する第一のデータリンク処理手段と、
前記第二の転送手段の前記データリンク層の第二のデータリンクバッファの前記再送データを前記入出力処理手段へ転送する第二のデータリンク処理手段
をさらに備えることを特徴とする付記1に記載の送信装置。
(付記3)
前記再送データ送信手段は、前記再送データに前記再送データであることを示すフラグを付与して前記再送データの前記第二の転送手段への前記転送を行い、
前記フラグに従って、前記データを前記第一のデータリンクバッファへ転送し、前記再送データを前記第二のデータリンクバッファへ転送するネットワーク処理手段
をさらに備えることを特徴とする付記2に記載の送信装置。
(付記4)
前記第一のデータリンク処理手段は、前記入出力処理手段へ転送する前記データの第三のデータ番号を状態記憶部に記憶させ、
前記ネットワーク処理手段は、前記第一のデータリンクバッファへ転送する前記データの第一のデータ番号を前記状態記憶部に記憶させ、
前記第二のデータリンク処理手段は、前記状態記憶部に記憶させた前記第三のデータ番号および前記第一のデータ番号に基づき、前記再送データが追い越したデータ数を算出する
ことを特徴とする付記3に記載の送信装置。
(付記5)
前記第一の転送手段のネットワーク層の第一のネットワークバッファの前記データを前記第一のデータリンクバッファへ転送する第一のネットワーク処理手段と、
前記第二の転送手段の前記ネットワーク層の第二のネットワークバッファの前記再送データを前記第二のデータリンクバッファへ転送する第二のネットワーク処理手段と
をさらに備え、
前記データ送信手段は、前記第一の転送手段への前記データの前記転送を、前記データを前記第一のネットワークバッファへ転送することにより行い、
前記再送データ送信手段は、前記第二の転送手段への前記再送データの前記転送を、前記再送データを前記第二のネットワークバッファへ転送することにより行う
ことを特徴とする付記2に記載の送信装置。
(付記6)
前記第一のデータリンク処理手段は、前記入出力処理手段へ転送する前記データの第三のデータ番号を状態記憶部に記憶させ、
前記第一のネットワーク処理手段は、前記第一のデータリンクバッファへ転送する前記データの第一のデータ番号を前記状態記憶部に記憶させ、
前記第二のデータリンク処理手段は、前記状態記憶部に記憶させた前記第三のデータ番号および前記第一のデータ番号に基づき、前記再送データが追い越したデータ数を算出する
ことを特徴とする付記5に記載の送信装置。
(付記7)
前記第一のデータリンク処理手段は、前記入出力処理手段へ転送する前記データの第三のデータ番号を状態記憶部に記憶させ、
前記データ送信手段は、前記第一のネットワークバッファへ転送する前記データの第二のデータ番号を前記状態記憶部に記憶させ、
前記第二のデータリンク処理手段は、前記状態記憶部に記憶させた前記第三のデータ番号および前記第二のデータ番号に基づき、前記再送データが追い越したデータ数を算出する
ことを特徴とする付記5あるいは付記6に記載の送信装置。
(付記8)
前記第一の転送手段のネットワーク層の第一のネットワークバッファの前記データをデータリンク層のデータリンクバッファへ転送する第一のネットワーク処理手段と、
前記第二の転送手段の前記ネットワーク層の第二のネットワークバッファの前記再送データを、前記第一の転送手段と前記第二の転送手段とが共有する前記データリンクバッファへ転送する第二のネットワーク処理手段と、
前記データリンクバッファの前記データおよび前記再送データを前記入出力処理手段へ転送するデータリンク処理手段と
をさらに備え、
前記データ送信手段は、前記第一の転送手段への前記データの前記転送を、前記データを前記第一のネットワークバッファへ転送することにより行い、
前記再送データ送信手段は、前記第二の転送手段への前記再送データの前記転送を、前記再送データを前記第二のネットワークバッファへ転送することにより行う
ことを特徴とする付記1に記載の送信装置。
(付記9)
前記第一のネットワーク処理手段は、前記データリンク層へ転送する前記データの第一のデータ番号を状態記憶部に記憶させ、
前記データ送信手段は、前記第一のネットワークバッファへ転送する前記データの第二のデータ番号を前記状態記憶部に記憶させ、
前記第二のネットワーク処理手段は、前記状態記憶部に記憶させた前記第一のデータ番号および前記第二のデータ番号に基づき、前記再送データが追い越したデータ数を算出する
ことを特徴とする付記5から付記8のいずれかに記載の送信装置。
(付記10)
前記第一のネットワーク処理手段および前記第二のネットワーク処理手段は、通信フローに対する転送条件を状態記憶部に記憶させ、前記状態記憶部の前記転送条件に従って、前記データおよび前記再送データの前記転送を行う
ことを特徴とする付記5から付記9のいずれかに記載の送信装置。
(付記11)
前記転送条件は、パケットフィルタの処理状態を含む
ことを特徴とする付記10に記載の送信装置。
(付記12)
前記再送制御手段は、受信したACK(ACKnowledgement)に基づいて前記再送の前記要否の前記判断を行う
ことを特徴とする付記1から付記11のいずれかに記載の送信装置。
(付記13)
前記入出力処理手段は、前記データおよび前記再送データの前記出力を、一つの出力インタフェースから行う
ことを特徴とする付記1から付記12のいずれかに記載の送信装置。
(付記14)
前記入出力処理手段は、前記データおよび前記再送データのデータ出力番号を所定のルールに従って書き換える
ことを特徴とする付記1から付記13のいずれかに記載の送信装置。
(付記15)
前記データ出力番号は、IP(Internet Protocol)ヘッダのIPID(IP Identification)である
ことを特徴とする付記14に記載の送信装置。
(付記16)
データ入力部から入力されたデータを第一の転送部へ転送し、
前記データの再送の要否を判断し、
前記再送が必要と判断したとき、再送すべき再送データを第二の転送部へ転送し、
前記再送データの前記第二の転送部への前記転送の時点で前記第一の転送部に残留する前記データの少なくともいずれかに先立って、前記第二の転送部の前記再送データを前記第一の転送部の前記データと同一の宛先に出力する
ことを特徴とする送信方法。
(付記17)
前記第一の転送部の前記データは、前記第一の転送部のデータリンク層の第一のデータリンクバッファの前記データであり、
前記第二の転送部の前記再送データは、前記第二の転送部の前記データリンク層の第二のデータリンクバッファの前記再送データである
ことを特徴とする付記16に記載の送信方法。
(付記18)
前記再送データに前記再送データであることを示すフラグを付与して前記再送データの前記第二の転送部への前記転送を行い、
前記フラグに従って、前記データを前記第一のデータリンクバッファへ転送し、前記再送データを前記第二のデータリンクバッファへ転送する
ことを特徴とする付記17に記載の送信方法。
(付記19)
前記出力する前記データの第三のデータ番号を状態記憶部に記憶させ、
前記第一のデータリンクバッファへ転送する前記データの第一のデータ番号を前記状態記憶部に記憶させ、
前記状態記憶部に記憶させた前記第三のデータ番号および前記第一のデータ番号に基づき、前記再送データが追い越したデータ数を算出する
ことを特徴とする付記18に記載の送信方法。
(付記20)
前記第一の転送部のネットワーク層の第一のネットワークバッファの前記データを前記第一のデータリンクバッファへ転送し、
前記第二の転送部の前記ネットワーク層の第二のネットワークバッファの前記再送データを前記第二のデータリンクバッファへ転送し、
前記第一の転送部への前記データの前記転送を、前記データを前記第一のネットワークバッファへ転送することにより行い、
前記第二の転送部への前記再送データの前記転送を、前記再送データを前記第二のネットワークバッファへ転送することにより行う
ことを特徴とする付記17に記載の送信方法。
(付記21)
前記出力する前記データの第三のデータ番号を状態記憶部に記憶させ、
前記第一のデータリンクバッファへ転送する前記データの第一のデータ番号を前記状態記憶部に記憶させ、
前記状態記憶部に記憶させた前記第三のデータ番号および前記第一のデータ番号に基づき、前記再送データが追い越したデータ数を算出する
ことを特徴とする付記20に記載の送信方法。
(付記22)
前記出力する前記データの第三のデータ番号を状態記憶部に記憶させ、
前記第一のネットワークバッファへ転送する前記データの第二のデータ番号を前記状態記憶部に記憶させ、
前記状態記憶部に記憶させた前記第三のデータ番号および前記第二のデータ番号に基づき、前記再送データが追い越したデータ数を算出する
ことを特徴とする付記20あるいは付記21に記載の送信方法。
(付記23)
前記第一の転送部のネットワーク層の第一のネットワークバッファの前記データをデータリンク層のデータリンクバッファへ転送し、
前記第二の転送部の前記ネットワーク層の第二のネットワークバッファの前記再送データを、前記第一の転送部と前記第二の転送部とが共有する前記データリンクバッファへ転送し、
前記データリンクバッファの前記データおよび前記再送データを前記出力し、
前記第一の転送部への前記データの前記転送を、前記データを前記第一のネットワークバッファへ転送することにより行い、
前記第二の転送部への前記再送データの前記転送を、前記再送データを前記第二のネットワークバッファへ転送することにより行う
ことを特徴とする付記16に記載の送信方法。
(付記24)
前記データリンク層へ転送する前記データの第一のデータ番号を状態記憶部に記憶させ、
前記第一のネットワークバッファへ転送する前記データの第二のデータ番号を前記状態記憶部に記憶させ、
前記状態記憶部に記憶させた前記第一のデータ番号および前記第二のデータ番号に基づき、前記再送データが追い越したデータ数を算出する
ことを特徴とする付記20から付記23のいずれかに記載の送信方法。
(付記25)
通信フローに対する転送条件を状態記憶部に記憶させ、前記状態記憶部の前記転送条件に従って、前記データおよび前記再送データの前記転送を行う
ことを特徴とする付記20から付記24のいずれかに記載の送信方法。
(付記26)
前記転送条件は、パケットフィルタの処理状態を含む
ことを特徴とする付記25に記載の送信方法。
(付記27)
受信したACK(ACKnowledgement)に基づいて前記再送の前記要否の前記判断を行う
ことを特徴とする付記16から付記26のいずれかに記載の送信方法。
(付記28)
前記データおよび前記再送データの前記出力を、一つの出力インタフェースから行う
ことを特徴とする付記16から付記27のいずれかに記載の送信方法。
(付記29)
前記データおよび前記再送データのデータ出力番号を所定のルールに従って書き換える
ことを特徴とする付記16から付記28のいずれかに記載の送信方法。
(付記30)
前記データ出力番号は、IP(Internet Protocol)ヘッダのIPID(IP Identification)である
ことを特徴とする付記29に記載の送信方法。
(付記31)
コンピュータに、
データ入力部から入力されたデータを第一の転送部へ転送するデータ送信機能と、
前記データの再送の要否を判断する再送制御機能と、
前記再送が必要と判断したとき、再送すべき再送データを第二の転送部へ転送する再送データ送信機能と、
前記再送データの前記第二の転送部への前記転送の時点で前記第一の転送部に残留する前記データの少なくともいずれかに先立って、前記第二の転送部の前記再送データを前記第一の転送部の前記データと同一の宛先に出力する入出力処理機能と
を実現させることを特徴とする送信プログラム。
(付記32)
前記第一の転送部のデータリンク層の第一のデータリンクバッファの前記データを前記入出力処理機能へ転送する第一のデータリンク処理機能と、
前記第二の転送部の前記データリンク層の第二のデータリンクバッファの前記再送データを前記入出力処理機能へ転送する第二のデータリンク処理機能
をコンピュータにさらに実現させることを特徴とする付記31に記載の送信プログラム。
(付記33)
前記再送データ送信機能は、前記再送データに前記再送データであることを示すフラグを付与して前記再送データの前記第二の転送部への前記転送を行い、
前記フラグに従って、前記データを前記第一のデータリンクバッファへ転送し、前記再送データを前記第二のデータリンクバッファへ転送するネットワーク処理機能
をコンピュータにさらに実現させることを特徴とする付記32に記載の送信プログラム。
(付記34)
前記第一のデータリンク処理機能は、前記入出力処理機能へ転送する前記データの第三のデータ番号を状態記憶部に記憶させ、
前記ネットワーク処理機能は、前記第一のデータリンクバッファへ転送する前記データの第一のデータ番号を前記状態記憶部に記憶させ、
前記第二のデータリンク処理機能は、前記状態記憶部に記憶させた前記第三のデータ番号および前記第一のデータ番号に基づき、前記再送データが追い越したデータ数を算出する
ことを特徴とする付記33に記載の送信プログラム。
(付記35)
前記第一の転送部のネットワーク層の第一のネットワークバッファの前記データを前記第一のデータリンクバッファへ転送する第一のネットワーク処理機能と、
前記第二の転送部の前記ネットワーク層の第二のネットワークバッファの前記再送データを前記第二のデータリンクバッファへ転送する第二のネットワーク処理機能と
をコンピュータにさらに実現させ、
前記データ送信機能は、前記第一の転送部への前記データの前記転送を、前記データを前記第一のネットワークバッファへ転送することにより行い、
前記再送データ送信機能は、前記第二の転送部への前記再送データの前記転送を、前記再送データを前記第二のネットワークバッファへ転送することにより行う
ことを特徴とする付記32に記載の送信プログラム。
(付記36)
前記第一のデータリンク処理機能は、前記入出力処理機能へ転送する前記データの第三のデータ番号を状態記憶部に記憶させ、
前記第一のネットワーク処理機能は、前記第一のデータリンクバッファへ転送する前記データの第一のデータ番号を前記状態記憶部に記憶させ、
前記第二のデータリンク処理機能は、前記状態記憶部に記憶させた前記第三のデータ番号および前記第一のデータ番号に基づき、前記再送データが追い越したデータ数を算出する
ことを特徴とする付記35に記載の送信プログラム。
(付記37)
前記第一のデータリンク処理機能は、前記入出力処理機能へ転送する前記データの第三のデータ番号を状態記憶部に記憶させ、
前記データ送信機能は、前記第一のネットワークバッファへ転送する前記データの第二のデータ番号を前記状態記憶部に記憶させ、
前記第二のデータリンク処理機能は、前記状態記憶部に記憶させた前記第三のデータ番号および前記第二のデータ番号に基づき、前記再送データが追い越したデータ数を算出する
ことを特徴とする付記35あるいは付記36に記載の送信プログラム。
(付記38)
前記第一の転送部のネットワーク層の第一のネットワークバッファの前記データをデータリンク層のデータリンクバッファへ転送する第一のネットワーク処理機能と、
前記第二の転送部の前記ネットワーク層の第二のネットワークバッファの前記再送データを、前記第一の転送部と前記第二の転送部とが共有する前記データリンクバッファへ転送する第二のネットワーク処理機能と、
前記データリンクバッファの前記データおよび前記再送データを前記入出力処理機能へ転送するデータリンク処理機能と
をコンピュータにさらに実現させ、
前記データ送信機能は、前記第一の転送部への前記データの前記転送を、前記データを前記第一のネットワークバッファへ転送することにより行い、
前記再送データ送信機能は、前記第二の転送部への前記再送データの前記転送を、前記再送データを前記第二のネットワークバッファへ転送することにより行う
ことを特徴とする付記31に記載の送信プログラム。
(付記39)
前記第一のネットワーク処理機能は、前記データリンク層へ転送する前記データの第一のデータ番号を状態記憶部に記憶させ、
前記データ送信機能は、前記第一のネットワークバッファへ転送する前記データの第二のデータ番号を前記状態記憶部に記憶させ、
前記第二のネットワーク処理機能は、前記状態記憶部に記憶させた前記第一のデータ番号および前記第二のデータ番号に基づき、前記再送データが追い越したデータ数を算出する
ことを特徴とする付記35から付記38のいずれかに記載の送信プログラム。
(付記40)
前記第一のネットワーク処理機能および前記第二のネットワーク処理機能は、通信フローに対する転送条件を状態記憶部に記憶させ、前記状態記憶部の前記転送条件に従って、前記データおよび前記再送データの前記転送を行う
ことを特徴とする付記35から付記39のいずれかに記載の送信プログラム。
(付記41)
前記転送条件は、パケットフィルタの処理状態を含む
ことを特徴とする付記40に記載の送信プログラム。
(付記42)
前記再送制御機能は、受信したACK(ACKnowledgement)に基づいて前記再送の前記要否の前記判断を行う
ことを特徴とする付記31から付記41のいずれかに記載の送信プログラム。
(付記43)
前記入出力処理機能は、前記データおよび前記再送データの前記出力を、一つの出力インタフェースから行う
ことを特徴とする付記31から付記42のいずれかに記載の送信プログラム。
(付記44)
前記入出力処理機能は、前記データおよび前記再送データのデータ出力番号を所定のルールに従って書き換える
ことを特徴とする付記31から付記43のいずれかに記載の送信プログラム。
(付記45)
前記データ出力番号は、IP(Internet Protocol)ヘッダのIPID(IP Identification)である
ことを特徴とする付記44に記載の送信プログラム。
(付記46)
付記31から付記45のいずれかに記載の送信プログラムを記録した、コンピュータ読み取り可能な記録媒体。
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
この出願は、2016年5月18日に出願された日本出願特願2016−099698を基礎とする優先権を主張し、その開示の全てをここに取り込む。
10、20、30、40、50、60 送信装置
11 データ入力部
12 第一の転送部
13 第二の転送部
14 データ送信部
15 再送制御部
16 再送データ送信部
17 入出力処理部
21 第一のネットワーク処理部
22 第一のデータリンク処理部
23 第二のネットワーク処理部
24 第二のデータリンク処理部
25 トランスポート処理部
31 ネットワーク処理部
36 再送データ送信部
41 データリンク処理部
58 状態記憶部
70 受信装置
71 アプリケーション
72 トランスポート受信部
73 データ受信部
74 ACK送信部
75 ネットワーク処理部
76 データリンク処理部
77 入出力処理部
90 ネットワーク
91 TCPコネクション
80 情報処理装置
81 通信インタフェース
82 入出力インタフェース
83 演算装置
84 記憶装置
85 不揮発性記憶装置
86 ドライブ装置
87 記録媒体

Claims (16)

  1. データを入力するデータ入力手段と、
    第一の転送手段と、
    第二の転送手段と、
    前記データを前記第一の転送手段へ転送するデータ送信手段と、
    前記データの再送の要否を判断する再送制御手段と、
    前記再送が必要と判断したとき、再送すべき再送データを前記第二の転送手段へ転送する再送データ送信手段と、
    前記再送データの前記第二の転送手段への前記転送の時点で前記第一の転送手段に残留する前記データの少なくともいずれかに先立って、前記第二の転送手段の前記再送データを前記第一の転送手段の前記データと同一の宛先に出力する入出力処理手段と、
    前記第一の転送手段のデータリンク層の第一のデータリンクバッファの前記データを前記入出力処理手段へ転送する第一のデータリンク処理手段と、
    前記第二の転送手段の前記データリンク層の第二のデータリンクバッファの前記再送データを前記入出力処理手段へ転送する第二のデータリンク処理手段
    を備えることを特徴とする送信装置。
  2. 前記再送データ送信手段は、前記再送データに前記再送データであることを示すフラグを付与して前記再送データの前記第二の転送手段への前記転送を行い、
    前記フラグに従って、前記データを前記第一のデータリンクバッファへ転送し、前記再送データを前記第二のデータリンクバッファへ転送するネットワーク処理手段
    をさらに備えることを特徴とする請求項に記載の送信装置。
  3. 前記第一のデータリンク処理手段は、前記入出力処理手段へ転送する前記データの第三のデータ番号を状態記憶部に記憶させ、
    前記ネットワーク処理手段は、前記第一のデータリンクバッファへ転送する前記データの第一のデータ番号を前記状態記憶部に記憶させ、
    前記第二のデータリンク処理手段は、前記状態記憶部に記憶させた前記第三のデータ番号および前記第一のデータ番号に基づき、前記再送データが追い越したデータ数を算出する
    ことを特徴とする請求項に記載の送信装置。
  4. 前記第一の転送手段のネットワーク層の第一のネットワークバッファの前記データを前記第一のデータリンクバッファへ転送する第一のネットワーク処理手段と、
    前記第二の転送手段の前記ネットワーク層の第二のネットワークバッファの前記再送データを前記第二のデータリンクバッファへ転送する第二のネットワーク処理手段と
    をさらに備え、
    前記データ送信手段は、前記第一の転送手段への前記データの前記転送を、前記データを前記第一のネットワークバッファへ転送することにより行い、
    前記再送データ送信手段は、前記第二の転送手段への前記再送データの前記転送を、前記再送データを前記第二のネットワークバッファへ転送することにより行う
    ことを特徴とする請求項に記載の送信装置。
  5. 前記第一のデータリンク処理手段は、前記入出力処理手段へ転送する前記データの第三のデータ番号を状態記憶部に記憶させ、
    前記第一のネットワーク処理手段は、前記第一のデータリンクバッファへ転送する前記データの第一のデータ番号を前記状態記憶部に記憶させ、
    前記第二のデータリンク処理手段は、前記状態記憶部に記憶させた前記第三のデータ番号および前記第一のデータ番号に基づき、前記再送データが追い越したデータ数を算出する
    ことを特徴とする請求項に記載の送信装置。
  6. 前記第一のデータリンク処理手段は、前記入出力処理手段へ転送する前記データの第三のデータ番号を状態記憶部に記憶させ、
    前記データ送信手段は、前記第一のネットワークバッファへ転送する前記データの第二のデータ番号を前記状態記憶部に記憶させ、
    前記第二のデータリンク処理手段は、前記状態記憶部に記憶させた前記第三のデータ番号および前記第二のデータ番号に基づき、前記再送データが追い越したデータ数を算出する
    ことを特徴とする請求項あるいは請求項に記載の送信装置。
  7. データを入力するデータ入力手段と、
    第一の転送手段と、
    第二の転送手段と、
    前記データを前記第一の転送手段へ転送するデータ送信手段と、
    前記データの再送の要否を判断する再送制御手段と、
    前記再送が必要と判断したとき、再送すべき再送データを前記第二の転送手段へ転送する再送データ送信手段と、
    前記再送データの前記第二の転送手段への前記転送の時点で前記第一の転送手段に残留する前記データの少なくともいずれかに先立って、前記第二の転送手段の前記再送データを前記第一の転送手段の前記データと同一の宛先に出力する入出力処理手段と、
    前記第一の転送手段のネットワーク層の第一のネットワークバッファの前記データをデータリンク層のデータリンクバッファへ転送する第一のネットワーク処理手段と、
    前記第二の転送手段の前記ネットワーク層の第二のネットワークバッファの前記再送データを、前記第一の転送手段と前記第二の転送手段とが共有する前記データリンクバッファへ転送する第二のネットワーク処理手段と、
    前記データリンクバッファの前記データおよび前記再送データを前記入出力処理手段へ転送するデータリンク処理手段と
    を備え、
    前記データ送信手段は、前記第一の転送手段への前記データの前記転送を、前記データを前記第一のネットワークバッファへ転送することにより行い、
    前記再送データ送信手段は、前記第二の転送手段への前記再送データの前記転送を、前記再送データを前記第二のネットワークバッファへ転送することにより行う
    ことを特徴とする送信装置。
  8. 前記第一のネットワーク処理手段は、前記データリンク層へ転送する前記データの第一のデータ番号を状態記憶部に記憶させ、
    前記データ送信手段は、前記第一のネットワークバッファへ転送する前記データの第二のデータ番号を前記状態記憶部に記憶させ、
    前記第二のネットワーク処理手段は、前記状態記憶部に記憶させた前記第一のデータ番号および前記第二のデータ番号に基づき、前記再送データが追い越したデータ数を算出する
    ことを特徴とする請求項から請求項のいずれかに記載の送信装置。
  9. 前記第一のネットワーク処理手段および前記第二のネットワーク処理手段は、通信フローに対する転送条件を状態記憶部に記憶させ、前記状態記憶部の前記転送条件に従って、前記データおよび前記再送データの前記転送を行う
    ことを特徴とする請求項から請求項のいずれかに記載の送信装置。
  10. 前記転送条件は、パケットフィルタの処理状態を含む
    ことを特徴とする請求項に記載の送信装置。
  11. 前記再送制御手段は、受信したACK(ACKnowledgement)に基づいて前記再送の前記要否の前記判断を行う
    ことを特徴とする請求項1から請求項10のいずれかに記載の送信装置。
  12. 前記入出力処理手段は、前記データおよび前記再送データの前記出力を、一つの出力インタフェースから行う
    ことを特徴とする請求項1から請求項11のいずれかに記載の送信装置。
  13. 前記入出力処理手段は、前記データおよび前記再送データのデータ出力番号を所定のルールに従って書き換える
    ことを特徴とする請求項1から請求項12のいずれかに記載の送信装置。
  14. 前記データ出力番号は、IP(Internet Protocol)ヘッダのIPID(IP Identification)である
    ことを特徴とする請求項13に記載の送信装置。
  15. データ入力部から入力されたデータを第一の転送部へ転送し、
    前記データの再送の要否を判断し、
    前記再送が必要と判断したとき、再送すべき再送データを第二の転送部へ転送し、
    前記再送データの前記第二の転送部への前記転送の時点で前記第一の転送部に残留する前記データの少なくともいずれかに先立って、前記第二の転送部の前記再送データを前記第一の転送部の前記データと同一の宛先に出力し、
    前記第一の転送部のデータリンク層の第一のデータリンクバッファの前記データを転送し、
    前記第二の転送部の前記データリンク層の第二のデータリンクバッファの前記再送データを転送する
    ことを特徴とする送信方法。
  16. コンピュータに、
    データ入力部から入力されたデータを第一の転送部へ転送するデータ送信機能と、
    前記データの再送の要否を判断する再送制御機能と、
    前記再送が必要と判断したとき、再送すべき再送データを第二の転送部へ転送する再送データ送信機能と、
    前記再送データの前記第二の転送部への前記転送の時点で前記第一の転送部に残留する前記データの少なくともいずれかに先立って、前記第二の転送部の前記再送データを前記第一の転送部の前記データと同一の宛先に出力する入出力処理機能と、
    前記第一の転送部のデータリンク層の第一のデータリンクバッファの前記データを前記入出力処理機能へ転送する第一のデータリンク処理機能と、
    前記第二の転送部の前記データリンク層の第二のデータリンクバッファの前記再送データを前記入出力処理機能へ転送する第二のデータリンク処理機能と
    を実現させることを特徴とする送信プログラム。
JP2018518286A 2016-05-18 2017-05-15 送信装置、方法およびプログラム Active JP6933207B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016099698 2016-05-18
JP2016099698 2016-05-18
PCT/JP2017/018208 WO2017199913A1 (ja) 2016-05-18 2017-05-15 送信装置、方法、プログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JPWO2017199913A1 JPWO2017199913A1 (ja) 2019-03-22
JP6933207B2 true JP6933207B2 (ja) 2021-09-08

Family

ID=60325180

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018518286A Active JP6933207B2 (ja) 2016-05-18 2017-05-15 送信装置、方法およびプログラム

Country Status (4)

Country Link
US (1) US20190199833A1 (ja)
JP (1) JP6933207B2 (ja)
RU (1) RU2715016C1 (ja)
WO (1) WO2017199913A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO344681B1 (en) * 2017-09-05 2020-03-02 Numascale As Coherent Node Controller
CN113489575A (zh) * 2021-06-25 2021-10-08 阿波罗智联(北京)科技有限公司 一种数据传输方法、装置及电子设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030022628A1 (en) * 2001-01-09 2003-01-30 Chiyo Mamiya Data communication system and wireless communication device
JP3914771B2 (ja) * 2002-01-09 2007-05-16 株式会社日立製作所 パケット通信装置及びパケットデータ転送制御方法
JP2005051299A (ja) * 2003-07-29 2005-02-24 Toshiba Corp パケット送信装置、パケット受信装置、パケット送信方法及びパケット受信方法
US7536723B1 (en) * 2004-02-11 2009-05-19 Airtight Networks, Inc. Automated method and system for monitoring local area computer networks for unauthorized wireless access
JP2006295847A (ja) * 2005-04-14 2006-10-26 Nec Corp 再送制御装置
US8140696B2 (en) * 2007-03-12 2012-03-20 International Business Machines Corporation Layering serial attached small computer system interface (SAS) over ethernet
CN101114999B (zh) * 2007-08-26 2010-08-04 上海华为技术有限公司 数据发送控制方法及数据传输设备
EP2066063A1 (en) * 2007-11-30 2009-06-03 Nokia Siemens Networks Oy Method and system for data transmission in a data network
WO2010016149A1 (ja) * 2008-08-08 2010-02-11 富士通株式会社 通信装置、およびその通信方法、通信プログラム
ES2669001T3 (es) * 2009-05-25 2018-05-23 Vestas Wind Systems A/S Un tiempo global preciso y un tiempo máximo de transmisión
US9584443B2 (en) * 2014-08-08 2017-02-28 Pismo Labs Technology Limited Methods and systems for transmitting data through an aggregated connection
WO2011108480A1 (ja) * 2010-03-03 2011-09-09 日本電気株式会社 パケット再送制御システム、方法、及びプログラム
BR112013005106A2 (pt) * 2010-11-16 2016-05-10 Hitachi Ltd dispositivo e sistema de comunicação
KR101059752B1 (ko) * 2010-11-18 2011-08-26 (주) 위즈네트 고정 주소 기반의 tcp 재전송 처리 방법
CN102710484B (zh) * 2012-05-26 2015-03-04 济南凌康数控技术有限公司 一种环形冗余的实时以太网通讯方法
US9867068B2 (en) * 2012-10-26 2018-01-09 Verizon Patent And Licensing Inc. Wirespeed TCP session optimization for networks having radio segments
KR102102254B1 (ko) * 2014-01-15 2020-04-20 삼성전자주식회사 통신 시스템에서 무선 네트워크의 혼잡 검출 장치 및 방법
JP2016103698A (ja) * 2014-11-27 2016-06-02 株式会社東芝 パケット送信装置、及びパケット送信方法

Also Published As

Publication number Publication date
RU2715016C1 (ru) 2020-02-21
US20190199833A1 (en) 2019-06-27
JPWO2017199913A1 (ja) 2019-03-22
WO2017199913A1 (ja) 2017-11-23

Similar Documents

Publication Publication Date Title
US9432251B2 (en) Enhanced acknowledgement and retransmission mechanism
JP5005003B2 (ja) トンネルのトランスポートチャネル上のデータストリームの送信を管理する方法、対応するトンネル終点及びコンピュータ読み取り可能な記憶媒体
US7929540B2 (en) System and method for handling out-of-order frames
WO2018210117A1 (zh) 一种拥塞控制方法、网络设备及其网络接口控制器
JP5038425B2 (ja) パケット遠隔通信ネットワークにおけるトラフィックの制御の最適化プロセス
US20180004705A1 (en) Selective acknowledgment of RDMA packets
KR20090014334A (ko) 전송 프로토콜의 성능을 향상시키는 시스템 및 방법
US20090268742A1 (en) Session relay device and session relay method
US20090316719A1 (en) Method for managing mechanisms to enhance transmission of data streams in a tunnel, corresponding computer program product, storage medium and tunnel end-point
KR20110066602A (ko) Pci 익스프레스 프로토콜 처리 장치
CN112913170A (zh) 发送和接收互联网协议分组上的传输控制协议段的改进方法和系统
JP6933207B2 (ja) 送信装置、方法およびプログラム
EP1460804B1 (en) System and method for handling out-of-order frames (fka reception of out-of-order tcp data with zero copy service)
US11962517B2 (en) Communications method, apparatus, and system for recovering lost packets
JP2006148727A (ja) アプリケーションモニタ装置
CN114826496A (zh) 乱序分组处理
US20120072520A1 (en) System and Method for Establishing Reliable Communication in a Connection-Less Environment
JP4505575B2 (ja) 通信システム、ゲートウェイ送信装置、ゲートウェイ受信装置、送信方法、受信方法および情報記録媒体
JP2008199431A (ja) 通信装置
US20180054279A1 (en) Methods and devices for managing transfer of data frames
JP2008245302A (ja) 送信端末及びデータ送信方法
JP2017123620A (ja) 通信装置、その制御方法、およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180911

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210706

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: 20210720

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210802

R150 Certificate of patent or registration of utility model

Ref document number: 6933207

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150