JP7024259B2 - 情報処理システム、情報処理方法、プログラム、及び情報処理装置 - Google Patents

情報処理システム、情報処理方法、プログラム、及び情報処理装置 Download PDF

Info

Publication number
JP7024259B2
JP7024259B2 JP2017164767A JP2017164767A JP7024259B2 JP 7024259 B2 JP7024259 B2 JP 7024259B2 JP 2017164767 A JP2017164767 A JP 2017164767A JP 2017164767 A JP2017164767 A JP 2017164767A JP 7024259 B2 JP7024259 B2 JP 7024259B2
Authority
JP
Japan
Prior art keywords
information processing
packet
segment
data
dummy
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
JP2017164767A
Other languages
English (en)
Other versions
JP2019047162A (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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2017164767A priority Critical patent/JP7024259B2/ja
Priority to CN201810763887.8A priority patent/CN109428685B/zh
Priority to US16/036,775 priority patent/US10601601B2/en
Publication of JP2019047162A publication Critical patent/JP2019047162A/ja
Application granted granted Critical
Publication of JP7024259B2 publication Critical patent/JP7024259B2/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/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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/1806Go-back-N protocols
    • 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/188Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • 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
    • 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/166IP fragmentation; TCP segmentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は、情報処理システム、情報処理方法、プログラム、及び情報処理装置に関する。
従来、TCP(Transmission Control Protocol)等の通信プロトコルを用いて、送信側端末から送信したパケットが、輻輳等によりパケットロスし、受信側端末にて正常に受信できなかった場合に、当該パケットが再送(再転送)されるように制御する技術が知られている(例えば、特許文献1を参照)。
TCP等において、送信側端末が、パケットを送信した後、受信側端末からの確認応答(ACK、ACKnowledge)が所定時間経過しても受信しない場合、当該ACKの待ち時間(RTO、Retransmission TimeOut)がタイムアウトしたタイミングで、当該パケットを再送する技術が知られている。
また、TCP等において、送信側端末が、アプリケーション等から送信を要求されたデータを複数のセグメントに分割し、分割した各セグメントを含むパケットを、受信側端末からのACKを待たずに順次送信する場合に、上述したタイムアウトを待つよりも早く再送を行える技術が知られている(例えば、非特許文献1を参照)。この技術は、高速再転送(Fast Retransmit)等と称されている。この高速再転送において、受信側端末は、送信側端末からのパケットを受信する度、受信したパケットに含まれるシーケンス番号を判定し、抜けているシーケンス番号があれば、正しい順番で最後に受信したパケットに対するACKを返す。そして、送信側端末は、同一のシーケンス番号のACKを3回連続して受信した場合に、抜けていたパケットを再送する。なお、送信側端末が、当該ACKを1回目、及び2回目に受信した際に再送信しない理由は、受信側端末におけるパケットの到着順序が入れ替わっただけである可能性が比較的高いためである。
特開2009-100118号公報
V. Jacobson, "Congestion Avoidance and Control," Computer Communication Review, vol. 18, no. 4, pp. 314-329, Aug. 1988.
しかしながら、従来技術では、データを分割した各セグメントのうち、最後から3つ以内のセグメントをそれぞれ含むパケットのいずれかが受信側端末にて正常に受信できなかった場合は、上述した高速再転送が機能しない。この場合、所定の応答待ち時間がタイムアウトするまで再送されないため、再送までに比較的時間がかかるという問題がある。
本発明は、上記の点に鑑みてなされたものであって、比較的早く再送される確率を向上させることができる技術を提供することを目的とする。
発明の実施形態の情報処理システムは、相互にネットワークを介して通信可能な第1の情報処理装置、及び第2の情報処理装置を有する情報処理システムであって、前記第1の情報処理装置と前記第2の情報処理装置はTCP(Transmission Control Protocol)を用いて通信し、前記第1の情報処理装置は、同一のパケットに関する確認応答を所定の数、受信すると、当該確認応答にて示されるパケットを再送する再送部と、送信データを分割して構成された複数のセグメントにおける先頭のセグメントから最後のセグメントまでを複数のパケットとして順に送信した後に、ダミーデータを含む前記所定の数のダミーパケットを送信する送信部と、を有し、前記第2の情報処理装置は、前記第1の情報処理装置が送信するパケットを受信する受信部と、前記受信部が一のセグメントを含むパケットを受信する前に、当該一のセグメントより後のセグメントを含むパケットを受信した場合、当該一のセグメントを含むパケットに関する確認応答を返信する返信部と、前記複数のセグメントを含むパケットと前記ダミーパケットとを受信した際に、前記ダミーデータを除去し、前記複数のセグメントにより構成されたデータを前記送信データとする除去部と、を有する。
このため、送信側の情報処理装置は、送信データを含むパケットを送信した後、ダミーデータを含むパケットを送信する。したがって、比較的早く再送される確率を向上させることができる。
また、他の実施形態は、情報処理方法、プログラム、及び情報処理装置により実現される。
比較的早く再送される確率を向上させることができる。
実施形態に係る情報処理システムの構成例を示す図である。 実施形態に係る情報処理装置のハードウェア構成例を示す図である。 実施形態に係る情報処理装置の機能ブロック図の一例を示す図である。 実施形態に係る情報処理システムの処理の一例を示すシーケンス図である。 ダミーデータを付加する処理の例について説明する図である。 実施形態に係る情報処理システムの効果について説明する図である。 ダミーデータとして実データを用いる例について説明する図である。
以下、図面に基づいて本発明の実施形態を説明する。
<システム構成>
図1は、実施形態に係る情報処理システム1の構成例を示す図である。図1において、情報処理システム1は、情報処理装置10-1(「第1の情報処理装置」)、及び情報処理装置10-2(「第2の情報処理装置」)(以下で、それぞれを区別する必要がない場合は、単に「情報処理装置10」と称する。)を有する。なお、情報処理装置10は2つに限定されない。
情報処理装置10-1、及び情報処理装置10-2との間は、例えば、車載LAN(Local Area Network)、LAN、無線LAN、インターネット、LTE(Long Term Evolution)乃至5G(5th Generation)等の携帯電話網等のネットワーク50により接続される。
以下では、車載機器が車載LANにより接続された車載システムを例に説明するが、開示の技術は、工場等における機器制御用ネットワークシステム、センサ等をクラウド等に接続するIoT(Internet of Things)システム等、各種のネットワークシステムにおける各種機器に適用可能である。
情報処理装置10-1、及び情報処理装置10-2は、例えば、センサ、車載ECU(Electronic Control Unit)等の車載機器である。
<ハードウェア構成>
図2は、実施形態に係る情報処理装置10のハードウェア構成例を示す図である。図2の情報処理装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、インタフェース装置105等を有する。
情報処理装置10での処理を実現する情報処理プログラムは、例えば、記録媒体101によって提供される。情報処理プログラムを記録した記録媒体101がドライブ装置100にセットされると、情報処理プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、情報処理プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされた情報処理プログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、例えば、RAM(Random access memory)であり、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って情報処理装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
なお、記録媒体101の一例としては、CD-ROM、DVDディスク、又はUSBメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置102の一例としては、HDD(Hard Disk Drive)又はフラッシュメモリ等が挙げられる。記録媒体101及び補助記憶装置102のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
<機能構成>
次に、図3を参照し、実施形態に係る情報処理装置10の機能構成について説明する。図3は、実施形態に係る情報処理装置10の機能ブロック図の一例を示す図である。情報処理装置10は、取得部11、付加部12、分割部13、生成部14、送信部15、再送部16、受信部17、返信部18、除去部19、及び出力部20を有する。取得部11、付加部12、分割部13、生成部14、送信部15、再送部16、受信部17、返信部18、除去部19、及び出力部20は、情報処理装置10にインストールされた1以上のプログラムが、情報処理装置10のCPU104に実行させる処理により実現される機能を表す。なお、取得部11、付加部12、分割部13、生成部14、送信部15、及び再送部16は、送信側の機能部である。また、受信部17、返信部18、除去部19、及び出力部20は、受信側の機能部である。
取得部11は、送信すべき実データ(送信データ)をアプリケーションから取得する。付加部12は、取得部11により取得された実データに、ダミーデータを付加する。
分割部13は、付加部12により実データにダミーデータが付加されたデータを、複数のセグメントに分割する。ここで、分割部13は、例えば、各セグメントのサイズが、一つのTCPパケットで送信可能なTCPデータの最大サイズ、すなわち1つのセグメントで送信可能なデータの最大サイズ(MSS、Maximum Segment Size)以下となるようにデータを分割する。
生成部14は、分割部13により分割された各セグメントをそれぞれ含むパケットを順次生成する。送信部15は、生成部14により生成された各バケットを、先頭のセグメントから最後のセグメントまで順に送信する。すなわち、送信部15は、実データを含む1以上のパケット(「第1のパケット」)を送信した後、ダミーデータを含む1以上のパケット(「第2のパケット」)を送信する。
再送部16は、同一のパケットに関する応答を所定数受信すると、当該パケットを再送する。再送部16は、例えば、TCPの高速再転送機能を用いて、同一のACKを3回、受信側の情報処理装置10から受信すると、当該ACKにて示されるTCPパケットを再送する。
受信部17は、他の情報処理装置10からのパケットを受信する。返信部18は、受信部17により一のセグメントを含むパケットを受信していない間に、当該一のセグメントよりも後ろのセグメントを含むパケットを受信した場合、当該一のセグメントに対する応答を返信する。
除去部19は、受信部17により受信した各セグメントを、セグメントの順に従って連結した後、連結したデータからダミーデータを除去する。なお、除去部19は、受信部17により受信した各セグメントからダミーデータを除去した後、ダミーデータが除去された各セグメントを、セグメントの順に従って連結してもよい。出力部20は、除去部19によりダミーデータが除去された後のデータを、アプリケーションに出力する。
<処理>
次に、図4、及び図5を参照して、実施形態に係る情報処理システム1の処理について説明する。図4は、実施形態に係る情報処理システム1の処理の一例を示すシーケンス図である。図5は、ダミーデータを付加する処理の例について説明する図である。
ステップS1において、情報処理装置10-1の取得部11は、実データ、及び送信先の通信アドレスを含む送信要求をアプリケーションから取得する。
続いて、情報処理装置10-1の付加部12は、当該送信要求に含まれる実データに、3つのTCPパケットで送信可能な分のダミーデータを付加する(ステップS2)。ここで、ダミーデータは、例えば、情報処理装置10-1と情報処理装置10-2との間で予め設定されている所定のデータでもよい。
また、例えば、情報処理装置10-1と情報処理装置10-2との間がイーサネット(登録商標)で接続されており、イーサネットフレーム中のペイロードが1500バイト、当該ペイロード中のIPヘッダが20バイト、当該ペイロード中のTCPヘッダが20バイトであるとする。この場合、MSSは1460バイト(=1500バイト-20バイト-20バイト)である。そのため、図5(A)に示すように、付加部12は、4380バイトのダミーデータを付加すれば、3つのTCPパケットで送信可能な分のダミーデータが付加されることとなる。
また、図5(B)に示すように、付加部12は、最後のTCPパケットに含まれるTCPデータが1バイトとなるよう、実データのバイト数をMSSのバイト数で除算した余りの値を2920(=1460×2)から減算した後、1加算したバイト数のダミーデータを付加してもよい。この場合、例えば、実データが4480バイトの場合、2821(=2920-(4480 mod 4380)+1)バイトのダミーデータを付加すればよい。
また、図5(C)に示すように、付加部12は、ダミーデータを含む最後から3つ以内の各TCPパケットに含まれるTCPデータがそれぞれ1バイトとなるようにしてもよい。この場合、例えば、TCPのプロトコルスタックにて、このようなダミーデータを付加する実装としてもよい。
続いて、情報処理装置10-1の分割部13は、実データにダミーデータが付加されたデータを、先頭から順に、MSS以下のサイズのセグメントに分割する(ステップS3)。
続いて、情報処理装置10-1の生成部14は、分割された各セグメントをそれぞれ含む1番目からn番目までのTCPパケットを順に生成する(ステップS4)。ここで、最後から3つ以内(n-2番目~n番目)のTCPパケットには、ダミーデータが含まれている。
続いて、情報処理装置10-1の送信部15は、生成された各パケットを、セグメント順に送信する(ステップS5)。ここで、TCPパケットには、TCPヘッダーに、シーケンス番号が含まれている。TCPパケットの受信側では、以前に受信したTCPパケットに含まれるシーケンス番号とTCPデータのバイト数、及び今回受信したTCPパケットに含まれるシーケンス番号から、今回受信したTCPパケットが、正しい順で受信したか否かを判定できる。
以下では、情報処理装置10-2において、1番目からn番目までのTCPパケットのうち、n-4番目のTCPパケットまで受信し、n-3番目のTCPパケットが輻輳等によりパケットロスしたものとして説明する。
情報処理装置10-2の返信部18は、受信部17によりn-4番目のTCPパケットを受信すると、n-4番目のTCPパケットに対する確認応答を返す(ステップS6)。具体的には、情報処理装置10-2の返信部18は、n-4番目のTCPパケットに含まれるシーケンス番号に、n-4番目のTCPパケットに含まれるTCPデータのバイト数を加算したACK番号が含まれるACKを返す。このACKにより、情報処理装置10-1は、情報処理装置10-2において次に受信することが期待されているのは、n-3番目のTCPパケットであることを判定できる。
続いて、情報処理装置10-2の返信部18は、n-3番目のTCPパケットを受信していない間に、n-2番目のTCPパケットを受信した場合、n-4番目のTCPパケットに対する確認応答を返す(ステップS7)。すなわち、ステップS6で送信されたACKと同一のACKが、再度返信される。
続いて、情報処理装置10-2の返信部18は、n-3番目のTCPパケットを受信していない間に、n-1番目のTCPパケットを受信した場合、n-4番目のTCPパケットに対する確認応答を返す(ステップS8)。すなわち、ステップS6で送信されたACKと同一のACKが、3回返信されることとなる。
続いて、情報処理装置10-1の再送部16は、同一のACK番号を含むACKを3回受信したため、高速再転送機能により、n-3番目のTCPパケットを再送する(ステップS9)。
続いて、情報処理装置10-2の除去部19は、受信した各TCPパケットに含まれる各セグメントを順に連結した後、データからダミーデータを除去する(ステップS10)。
続いて、情報処理装置10-2の出力部20は、ダミーデータが除去された後の受信データを、情報処理装置10-2のアプリケーションに出力する(ステップS11)。これにより、情報処理装置10-2のアプリケーションは、情報処理装置10-1のアプリケーションからの送信データを受信できる。
なお、情報処理装置10-2は、TCPパケットが正しい順番で受信された場合、各TCPパケットを情報処理装置10-1から受信する度に、受信したTCPパケットに対するACKを返信してもよい。または、情報処理装置10-2は、受信した複数のTCPパケットに対して、一つのACKを返信してもよい。
<効果>
次に、図6を参照し、実施形態に係る情報処理システム1の効果について説明する。図6は、実施形態に係る情報処理システム1の効果について説明する図である。
一度に送信するパケット数をWとすると、パケットロスが生じた際に、高速再転送による再送となる確率P(W)、及びACKの待ち時間のタイムアウトによる再送となる確率Q(W)は、以下の式により求められる。
P(W) = max(1-3/W,0) ・・・(1)
Q(W) = min(1,3/W) ・・・(2)
図6の線601は、ダミーデータを付加しない従来技術の場合のWとP(W)の関係を示す線である。従来技術では、Wが3以下の場合、パケットロスが発生しても、高速再転送は実行されない。
図6の線602は、上述した実施形態のダミーデータを3パケット分付加する場合のWとP(W)の関係を示す線である。上述した実施形態では、ダミーデータのみを含むパケットについては、パケットロスが発生しても、高速再転送は実行されない。
図6の線603は、上述した実施形態のダミーデータを3パケット分付加する場合の、実データについてのWとP(W)の関係を示す線である。図6の線603に示すように、ダミーデータを3パケット分付加した場合は、実データを含むパケットについては、パケットロスが発生しても、必ず高速再転送が実行される。なお、ダミーデータを3パケット分より多く付加した場合でも、実データを含むパケットについては、パケットロスが発生しても、必ず高速再転送が実行される。なお、ダミーデータを1パケット分、または2パケット分付加した場合でも、P(W)は従来技術よりは高くなるため、確認応答のタイムアウトよりも短い時間でパケットが再送され易くすることができる。
<ダミーデータの変形例>
上述した実施形態では、ダミーデータとして、実データとは無関係なデータを用いる例について説明した。これに代えて、ダミーデータとして、実データを用いてもよい。
図7は、ダミーデータとして実データを用いる例について説明する図である。図7に示すように、例えば、実データを各セグメントに分割して送信した後、最後から3つ以内の各セグメントをダミーデータとしてそれぞれ含むTCPパケットを送信する。これにより、図7に示すように、実データが1番目からk番目までのセグメントに分割されてそれぞれ送信された後、k-2、k-1、k番目のセグメントがそれぞれ再送される。この場合、ダミーデータとして再送される最後から3つ以内の各セグメントには、ダミーデータであることを示すフラグを付加してもよい。
受信側は、実データの最後から3つ以内の各セグメントをそれぞれ含むTCPパケットを正常に受信した場合、受信した各TCPパケットのうち、最後から3つ以内の各セグメントをダミーデータであると判定し、当該ダミーデータを除去(破棄)する。
また、受信側は、実データの最後から3つ以内の各セグメントをそれぞれ含むTCPパケットのうち1つ以上がパケットロスした場合、例えば、TCPのプロトコルスタックの実装により、以下の処理を行う。まず、パケットロスにより受信していないセグメントをダミーデータとして含むTCPパケットを受信したか否かを判定する。そして、受信した場合、ダミーデータから当該セグメントを取得し、受信した各セグメントを連結したデータをアプリケーションに渡す。なお、パケットロスしたTCPパケットが再送された場合は、当該TCPパケットを破棄する。これにより、パケットロスした場合でも、より高速にデータを取得できる。
なお、最後から3つ以内の各セグメントをそれぞれダミーデータとして含むTCPパケットを送信する代わりに、任意の各セグメントをそれぞれダミーデータとして含むTCPパケットを送信するようにしてもよい。この場合、ダミーデータとして再送される各セグメントには、ダミーデータであることを示すフラグ、及び何番目のセグメントであるかを示すデータを付加してもよい。
<変形例>
上述した実施形態では、TCPを用いる例について説明したが、開示の技術は、TCPに限らず、同一の確認応答または否定応答(NACK、Negative ACKnowledge)を所定回数受信した場合に再送を行なうプロトコルを用いることができる。
<まとめ>
従来、相互接続された機器間のデータ転送に使われる規格であるCAN(Controller Area Network)が知られている。CANは、自動車、工場等における機器の制御情報の通信に用いられている。CANのペイロードの最大値は8バイト(64ビット)等である。
一方、イーサネット(Ethernet)(登録商標)では、ペイロードの最大値は1500バイト等であり、一つのパケットで送信可能なデータのサイズが比較的大きい。従来のCANに接続される機器は、一度に送信されるデータのサイズが比較的小さいため、当該機器をイーサネットにて接続する場合、当該機器から一度に送信されるデータは、比較的少ない数のパケットで送信される場合がある。したがって、当該パケットがパケットロスしても、高速再転送が実行されない場合は比較的多くなる。
上述した実施形態によれば、送信側の情報処理装置は、実データを含むパケットを送信した後、ダミーデータを含むパケットを送信する。そして、実データを含むパケットに関する応答を所定数受信すると、当該パケットを再送する。これにより、比較的早く再送される確率を向上させることができる。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
情報処理装置10の各機能部は、例えば1以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。
上述したダミーデータの付加、及び除去を行う機能は、アプリケーション層等のレイヤーでの通信を行うプログラムにて実装してもよい。または、トランスポート層等のレイヤーでの通信を行うプログラム(プロトコルスタック等)にて実装してもよい。この場合、当該プログラムは、OS(Operating System)にバンドルされて情報処理装置10にインストールされてもよい。
1 情報処理システム
10 情報処理装置
11 取得部
12 付加部
13 分割部
14 生成部
15 送信部
16 再送部
17 受信部
18 返信部
19 除去部
20 出力部

Claims (9)

  1. 相互にネットワークを介して通信可能な第1の情報処理装置、及び第2の情報処理装置を有する情報処理システムであって、
    前記第1の情報処理装置と前記第2の情報処理装置はTCP(Transmission Control Protocol)を用いて通信し、
    前記第1の情報処理装置は、
    同一のパケットに関する確認応答を所定の数、受信すると、当該確認応答にて示されるパケットを再送する再送部と、
    送信データを分割して構成された複数のセグメントにおける先頭のセグメントから最後のセグメントまでを複数のパケットとして順に送信した後に、ダミーデータを含む前記所定の数のダミーパケットを送信する送信部と、
    有し、
    前記第2の情報処理装置は、
    前記第1の情報処理装置が送信するパケットを受信する受信部と、
    前記受信部が一のセグメントを含むパケットを受信する前に、当該一のセグメントより後のセグメントを含むパケットを受信した場合、当該一のセグメントを含むパケットに関する確認応答を返信する返信部と、
    前記複数のセグメントを含むパケットと前記ダミーパケットとを受信した際に、前記ダミーデータを除去し、前記複数のセグメントにより構成されたデータを前記送信データとする除去部と、
    を有する、情報処理システム。
  2. 前記送信部は、1つのセグメントで送信可能なデータの最大サイズに依存しないサイズのダミーデータを含む前記ダミーパケットを送信する、請求項1に記載の情報処理システム。
  3. 前記ダミーデータは、前記送信データの少なくとも一部を含む、請求項1又は2に記載の情報処理システム。
  4. 前記ダミーデータは、前記送信データを複数のセグメントに分割した際の最終セグメントと同一のデータを含む、請求項1乃至3のいずれか一項に記載の情報処理システム。
  5. 前記再送部は、TCPの高速再転送機能を用いて、同一のパケットに関する確認応答を3回受信すると、当該確認応答にて示されるパケットを再送し、
    前記送信部は、前記複数のセグメントにおける先頭のセグメントから最後のセグメントまでを複数のパケットとして順に送信した後に、前記ダミーパケットを3パケット送信する、
    請求項1乃至4のいずれか一項に記載の情報処理システム。
  6. 第1の情報処理装置が、
    TCP(Transmission Control Protocol)を用いて、
    同一のパケットに関する確認応答を所定の数、受信すると、当該確認応答にて示されるパケットを再送するステップと、
    送信データを分割して構成された複数のセグメントにおける先頭のセグメントから最後のセグメントまでを複数のパケットとして順に送信した後に、ダミーデータを含む前記所定の数のダミーパケットを送信するステップと、
    実行し、
    第2の情報処理装置が、
    TCPを用いて、
    前記第1の情報処理装置が送信するパケットを受信する受信ステップと、
    前記受信ステップで一のセグメントを含むパケットを受信する前に、当該一のセグメントより後のセグメントを含むパケットを受信した場合、当該一のセグメントを含むパケットに関する確認応答を返信するステップと、
    前記複数のセグメントを含むパケットと前記ダミーパケットとを受信した際に、前記ダミーデータを除去し、前記複数のセグメントにより構成されたデータを前記送信データとするステップと、
    実行する、情報処理方法。
  7. 情報処理装置に、
    TCP(Transmission Control Protocol)を用いて、
    同一のパケットに関する確認応答を所定の数、受信すると、当該確認応答にて示されるパケットを再送するステップと、
    送信データを分割して構成された複数のセグメントにおける先頭のセグメントから最後のセグメントまでを複数のパケットとして順に送信した後に、ダミーデータを含む前記所定の数のダミーパケットを送信するステップと、
    他の情報処理装置が送信するパケットを受信する受信ステップと、
    前記受信ステップで一のセグメントを含むパケットを受信する前に、当該一のセグメントより後のセグメントを含むパケットを受信した場合、当該一のセグメントを含むパケットに関する確認応答を返信するステップと、
    前記他の情報処理装置から、送信データを分割して構成された複数のセグメントを含むパケットと、ダミーデータを含む前記所定の数のダミーパケットとを受信した際に、受信したダミーパケットに含まれるダミーデータを除去し、受信したパケットに含まれる複数のセグメントにより構成されたデータを前記他の情報処理装置における送信データとするステップと、
    を実行させるプログラム。
  8. TCP(Transmission Control Protocol)を用いて、
    同一のパケットに関する確認応答を所定の数、受信すると、当該確認応答にて示されるパケットを再送し、
    送信データを分割して構成された複数のセグメントにおける先頭のセグメントから最後のセグメントまでを複数のパケットとして順に送信した後に、ダミーデータを含む前記所定の数のダミーパケットを送信する、
    情報処理装置。
  9. TCP用いて、
    他の情報処理装置が送信するパケットを受信する受信し、
    一のセグメントを含むパケットを受信する前に、当該一のセグメントより後のセグメントを含むパケットを受信した場合、当該一のセグメントを含むパケットに関する確認応答を返信し、
    前記他の情報処理装置から、送信データを分割して構成された複数のセグメントを含むパケットと、ダミーデータを含む前記所定の数のダミーパケットとを受信した際に、受信したダミーパケットに含まれるダミーデータを除去し、受信したパケットに含まれる複数のセグメントにより構成されたデータを前記他の情報処理装置における送信データとする、
    請求項8に記載の情報処理装置。
JP2017164767A 2017-08-29 2017-08-29 情報処理システム、情報処理方法、プログラム、及び情報処理装置 Active JP7024259B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017164767A JP7024259B2 (ja) 2017-08-29 2017-08-29 情報処理システム、情報処理方法、プログラム、及び情報処理装置
CN201810763887.8A CN109428685B (zh) 2017-08-29 2018-07-12 信息处理系统、方法和装置以及非暂态存储介质
US16/036,775 US10601601B2 (en) 2017-08-29 2018-07-16 Information processing system, information processing method, non-transitory storage medium storing program, and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017164767A JP7024259B2 (ja) 2017-08-29 2017-08-29 情報処理システム、情報処理方法、プログラム、及び情報処理装置

Publications (2)

Publication Number Publication Date
JP2019047162A JP2019047162A (ja) 2019-03-22
JP7024259B2 true JP7024259B2 (ja) 2022-02-24

Family

ID=65437991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017164767A Active JP7024259B2 (ja) 2017-08-29 2017-08-29 情報処理システム、情報処理方法、プログラム、及び情報処理装置

Country Status (3)

Country Link
US (1) US10601601B2 (ja)
JP (1) JP7024259B2 (ja)
CN (1) CN109428685B (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005027456A1 (ja) 2003-09-18 2005-03-24 Nomura Research Institute Co., Ltd. 通信システム、通信装置、およびデータの再送制御方法
JP2008109698A (ja) 2007-11-30 2008-05-08 Nec Corp パケット通信装置及びパケット通信方法及びパケット通信プログラム
WO2015068381A1 (ja) 2013-11-05 2015-05-14 日本電気株式会社 送信装置、受信装置、情報処理システム、マスタサーバ、スレーブサーバ、データベースシステム、データ転送方法、および、記憶媒体
JP2015177408A (ja) 2014-03-17 2015-10-05 日本電気株式会社 データ通信装置、データ通信システム及びデータ通信方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09233126A (ja) * 1996-02-28 1997-09-05 Doro Kotsu Joho Tsushin Syst Center データグループ構成方法およびデータグループ送信方法
JP2000332618A (ja) * 1999-05-24 2000-11-30 Mitsubishi Electric Corp 通信システム、送信機および受信機、ならびに通信方法
JP2005167353A (ja) * 2003-11-28 2005-06-23 Ntt Docomo Inc 送信装置およびプログラム
KR100604597B1 (ko) * 2004-02-20 2006-07-24 주식회사 팬택앤큐리텔 이동 통신 단말기
WO2008139594A1 (ja) * 2007-05-11 2008-11-20 Fujitsu Limited 無線通信のヘッダ圧縮制御方法並びに無線基地局及び送信装置
DE112008001885T5 (de) * 2007-07-26 2010-06-02 Samsung Electronics Co., Ltd., Suwon Vorrichtung zum Verarbeiten von Streams und Verfahren hierfür
JP2009100118A (ja) 2007-10-15 2009-05-07 Mitsubishi Electric Corp 送信装置、受信装置、通信装置及び通信方法
RU2530663C2 (ru) * 2012-11-16 2014-10-10 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ передачи данных в цифровых сетях передачи данных по протоколу тср/ip через нттр
WO2017056398A1 (ja) * 2015-09-30 2017-04-06 パナソニックIpマネジメント株式会社 通信システム、送信機、及び受信機ならびに通信方法、送信方法、及び受信方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005027456A1 (ja) 2003-09-18 2005-03-24 Nomura Research Institute Co., Ltd. 通信システム、通信装置、およびデータの再送制御方法
JP2008109698A (ja) 2007-11-30 2008-05-08 Nec Corp パケット通信装置及びパケット通信方法及びパケット通信プログラム
WO2015068381A1 (ja) 2013-11-05 2015-05-14 日本電気株式会社 送信装置、受信装置、情報処理システム、マスタサーバ、スレーブサーバ、データベースシステム、データ転送方法、および、記憶媒体
JP2015177408A (ja) 2014-03-17 2015-10-05 日本電気株式会社 データ通信装置、データ通信システム及びデータ通信方法

Also Published As

Publication number Publication date
CN109428685A (zh) 2019-03-05
US20190068391A1 (en) 2019-02-28
CN109428685B (zh) 2021-03-16
US10601601B2 (en) 2020-03-24
JP2019047162A (ja) 2019-03-22

Similar Documents

Publication Publication Date Title
US11934340B2 (en) Multi-path RDMA transmission
CN109412946B (zh) 一种确定回源路径的方法、装置、服务器及可读存储介质
US10341469B2 (en) Data transmission method and apparatus and data receiving method and apparatus
US7953093B2 (en) TCP/IP reordering
JP5080654B2 (ja) 通信装置、通信方法
US10708816B2 (en) Communication apparatus, communication method, and non-transitory computer-readable storage medium for performing packetization processing that does not depend on a network interface
US11336297B2 (en) DMA transfer apparatus, method of controlling the same, communication apparatus, method of controlling the same, and non-transitory computer-readable storage medium
US10372667B2 (en) Communication apparatus and control method thereof
JP5664646B2 (ja) パケット整列装置、パケット整列方法、及び記憶媒体
US9544401B2 (en) Device and method for data communication using a transmission ring buffer
JP7024259B2 (ja) 情報処理システム、情報処理方法、プログラム、及び情報処理装置
EP2774342B1 (en) Reducing tcp timeouts due to incast collapse at a network switch
US20140047124A1 (en) Trivial file transfer protocol (tftp) data transferring prior to file transfer completion
US9294409B2 (en) Reducing round-trip times for TCP communications
JP5636574B2 (ja) 通信装置、パケット転送方法及びそのプログラム
US20140071993A1 (en) Transfer device and transfer method
EP3170291B1 (en) Transmission control protocol (tcp) acknowledgement (ack) packet suppression
CN110351028B (zh) 一种数据处理方法及装置、以及电子设备
JP6933207B2 (ja) 送信装置、方法およびプログラム
JP2019114947A (ja) 通信装置、通信装置の制御方法およびプログラム
JP6268027B2 (ja) 通信システム、送信装置、及び通信方法
JP2012049883A (ja) 通信装置およびパケット処理方法
JP7142462B2 (ja) 通信装置、通信装置の制御方法、およびプログラム
CN116938395A (zh) 一种数据传输方法、装置以及相关设备
US20170180816A1 (en) Communication system, transmission apparatus, reception apparatus, communication apparatus, communication method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210806

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220124

R151 Written notification of patent or utility model registration

Ref document number: 7024259

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151