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

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

Info

Publication number
JP2019047162A
JP2019047162A JP2017164767A JP2017164767A JP2019047162A JP 2019047162 A JP2019047162 A JP 2019047162A JP 2017164767 A JP2017164767 A JP 2017164767A JP 2017164767 A JP2017164767 A JP 2017164767A JP 2019047162 A JP2019047162 A JP 2019047162A
Authority
JP
Japan
Prior art keywords
information processing
data
transmission
processing apparatus
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.)
Granted
Application number
JP2017164767A
Other languages
English (en)
Other versions
JP7024259B2 (ja
Inventor
康広 山崎
Yasuhiro Yamazaki
康広 山崎
俊雄 川村
Toshio Kawamura
俊雄 川村
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
    • 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]
    • 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)

Abstract

【課題】比較的早く再送される確率を向上させること。【解決手段】相互にネットワークを介して通信可能な第1の情報処理装置、及び第2の情報処理装置を有する情報処理システムであって、前記第1の情報処理装置と前記第2の情報処理装置はTCP(Transmission Control Protocol)を用いて通信し、前記第1の情報処理装置は、送信データを分割して構成された送信セグメントを順次送信した後に、ダミーデータから構成されたダミーセグメントを所定の数だけ送信する送信部を有し、前記第2の情報処理装置は、前記送信セグメントと前記ダミーセグメントを受信した際に、前記ダミーセグメントを除去し、前記送信セグメントにより構成されたデータを前記送信データとする除去部を有する。【選択図】図4

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つのセグメントで送信可能なデータの最大サイズに依存しないサイズのダミーデータを含む前記ダミーセグメントを送信してもよい。
これによれば、送信側の情報処理装置は、送信データを含むパケットを送信した後、任意のサイズのダミーデータを含むパケットを送信する。したがって、例えば、比較的小さいサイズのダミーデータにより、ネットワークの帯域の消費を抑えながら、比較的早く再送される確率を向上させることができる。
また、上述の実施形態において、前記ダミーデータは、前記送信データの少なくとも一部を含むようにしてもよい。
これによれば、送信側の情報処理装置は、所定の送信データを、ダミーデータとして再送しておく。したがって、例えば、受信側の情報処理装置において、パケットロスした送信セグメントの再送を待たずに、ダミーデータから当該送信セグメントを取得することができる。
また、上述の実施形態において、前記ダミーデータは、前記送信データを複数のセグメントに分割した際の最終セグメントと同一のデータを含むようにしてもよい。
これによれば、送信側の情報処理装置は、送信データにおける最終セグメントを、ダミーデータとして再送しておく。したがって、例えば、受信側の情報処理装置において、パケットロスした最終セグメントの再送を待たずに、ダミーデータから当該最終セグメントを取得することができる。
また、上述の実施形態において、前記所定の数は3でもよい。
これによれば、送信側の情報処理装置は、3つのダミーセグメントのパケットを送信する。したがって、送信データにおける最終セグメントがパケットロスした場合であっても、確実にTCPの高速再転送が実行されるようにすることができる。
また、他の実施形態は、情報処理方法、プログラム、及び情報処理装置により実現される。
比較的早く再送される確率を向上させることができる。
実施形態に係る情報処理システムの構成例を示す図である。 実施形態に係る情報処理装置のハードウェア構成例を示す図である。 実施形態に係る情報処理装置の機能ブロック図の一例を示す図である。 実施形態に係る情報処理システムの処理の一例を示すシーケンス図である。 ダミーデータを付加する処理の例について説明する図である。 実施形態に係る情報処理システムの効果について説明する図である。 ダミーデータとして実データを用いる例について説明する図である。
以下、図面に基づいて本発明の実施形態を説明する。
<システム構成>
図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の情報処理装置は、
    前記送信セグメントと前記ダミーセグメントを受信した際に、前記ダミーセグメントを除去し、前記送信セグメントにより構成されたデータを前記送信データとする除去部を有する、
    情報処理システム。
  2. 前記送信部は、1つのセグメントで送信可能なデータの最大サイズに依存しないサイズのダミーデータを含む前記ダミーセグメントを送信する、
    請求項1に記載の情報処理システム。
  3. 前記ダミーデータは、前記送信データの少なくとも一部を含む、
    請求項1または2に記載の情報処理システム。
  4. 前記ダミーデータは、前記送信データを複数のセグメントに分割した際の最終セグメントと同一のデータを含む、
    請求項1乃至3のいずれか一項に記載の情報処理システム。
  5. 前記所定の数は3である、
    請求項1乃至4のいずれか一項に記載の情報処理システム。
  6. 第1の情報処理装置が、
    TCP(Transmission Control Protocol)を用いて、送信データを分割して構成された送信セグメントを順次送信した後に、ダミーデータから構成されたダミーセグメントを所定の数だけ送信するステップを実行し、
    第2の情報処理装置が、
    前記送信セグメントと前記ダミーセグメントを受信した際に、前記ダミーセグメントを除去し、前記送信セグメントにより構成されたデータを前記送信データとするステップを実行する、情報処理方法。
  7. 情報処理装置に、
    TCP(Transmission Control Protocol)を用いて、送信データを分割して構成された送信セグメントを順次送信した後に、ダミーデータから構成されたダミーセグメントを所定の数だけ送信するステップと、
    前記TCPを用いて、他の情報処理装置から送信セグメントとダミーセグメントを受信した際に、当該ダミーセグメントを除去し、当該送信セグメントにより構成されたデータを前記他の情報処理装置における送信データとするステップと、
    を実行させるプログラム。
  8. TCP(Transmission Control Protocol)を用いて、送信データを分割して構成された送信セグメントを順次送信した後に、ダミーデータから構成されたダミーセグメントを所定の数だけ送信する、情報処理装置。
  9. TCP(Transmission Control Protocol)を用いて、他の情報処理装置から送信セグメントとダミーセグメントを受信した際に、前記ダミーセグメントを除去し、前記送信セグメントにより構成されたデータを前記他の情報処理装置における送信データとする、情報処理装置。
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 true JP2019047162A (ja) 2019-03-22
JP7024259B2 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 (5)

* 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 データグループ構成方法およびデータグループ送信方法
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 (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 주식회사 팬택앤큐리텔 이동 통신 단말기
JP4930587B2 (ja) * 2007-05-11 2012-05-16 富士通株式会社 無線通信のヘッダ圧縮制御方法並びに無線基地局及び送信装置
BRPI0814315A2 (pt) * 2007-07-26 2011-09-13 Samsung Electronics Co Ltd dispositivo e método para o processamento de fluxos contìnuos de dados
JP2009100118A (ja) 2007-10-15 2009-05-07 Mitsubishi Electric Corp 送信装置、受信装置、通信装置及び通信方法
RU2530663C2 (ru) * 2012-11-16 2014-10-10 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ передачи данных в цифровых сетях передачи данных по протоколу тср/ip через нттр
US10708174B2 (en) * 2015-09-30 2020-07-07 Panasonic Intellectual Proerty Management Co., Ltd. Communication system, transmitter, receiver, communication method, transmission method, and reception method

Patent Citations (5)

* 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 データグループ構成方法およびデータグループ送信方法
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
US10601601B2 (en) 2020-03-24
CN109428685A (zh) 2019-03-05
US20190068391A1 (en) 2019-02-28
JP7024259B2 (ja) 2022-02-24
CN109428685B (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
CN111512603B (zh) 一种数据传输方法及第一设备
US11934340B2 (en) Multi-path RDMA transmission
US10430374B2 (en) Selective acknowledgement of RDMA packets
US11012367B2 (en) Technologies for managing TCP/IP packet delivery
WO2017050216A1 (zh) 一种报文传输方法及用户设备
CN109412946B (zh) 一种确定回源路径的方法、装置、服务器及可读存储介质
CN105376173B (zh) 一种发送窗口流量控制方法和终端
EP2978171B1 (en) Communication method, communication device, and communication program
TW200537877A (en) Retransmission system and method for a transport offload engine
JP5080654B2 (ja) 通信装置、通信方法
WO2019128964A1 (zh) 一种实现丢包检测的方法、装置和系统
JP5832335B2 (ja) 通信装置および通信システム
JP2019106697A (ja) 相互接続ネットワークでのメッセージ再送遅延を動的に管理するための方法及びデバイス
JP5664646B2 (ja) パケット整列装置、パケット整列方法、及び記憶媒体
EP2774342B1 (en) Reducing tcp timeouts due to incast collapse at a network switch
JP2017011580A (ja) 通信装置およびその制御方法、プログラム
US9294409B2 (en) Reducing round-trip times for TCP communications
JP5636574B2 (ja) 通信装置、パケット転送方法及びそのプログラム
US9172654B2 (en) Transfer device and transfer method
JP2019047162A (ja) 情報処理システム、情報処理方法、プログラム、及び情報処理装置
JP2014147011A5 (ja)
CN110351028B (zh) 一种数据处理方法及装置、以及电子设备
JP2019114947A (ja) 通信装置、通信装置の制御方法およびプログラム
JP6618330B2 (ja) 通信装置及びその方法、コンピュータプログラム
JPWO2017199913A1 (ja) 送信装置、方法およびプログラム

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