(57)【要約】【課題】比較的早く再送される確率を向上させること。【解決手段】相互にネットワークを介して通信可能な第１の情報処理装置、及び第２の情報処理装置を有する情報処理システムであって、前記第１の情報処理装置と前記第２の情報処理装置はＴＣＰ（Transmission Control Protocol）を用いて通信し、前記第１の情報処理装置は、送信データを分割して構成された送信セグメントを順次送信した後に、ダミーデータから構成されたダミーセグメントを所定の数だけ送信する送信部を有し、前記第２の情報処理装置は、前記送信セグメントと前記ダミーセグメントを受信した際に、前記ダミーセグメントを除去し、前記送信セグメントにより構成されたデータを前記送信データとする除去部を有する。【選択図】図４
2019047162.tif 000002
【特許請求の範囲】
【請求項１】
相互にネットワークを介して通信可能な第１の情報処理装置、及び第２の情報処理装置を有する情報処理システムであって、
前記第１の情報処理装置と前記第２の情報処理装置はＴＣＰ（Transmission Control Protocol）を用いて通信し、
前記第１の情報処理装置は、
送信データを分割して構成された送信セグメントを順次送信した後に、ダミーデータから構成されたダミーセグメントを所定の数だけ送信する送信部を有し、
前記第２の情報処理装置は、
前記送信セグメントと前記ダミーセグメントを受信した際に、前記ダミーセグメントを除去し、前記送信セグメントにより構成されたデータを前記送信データとする除去部を有する、
情報処理システム。
【請求項２】
前記送信部は、１つのセグメントで送信可能なデータの最大サイズに依存しないサイズのダミーデータを含む前記ダミーセグメントを送信する、
請求項１に記載の情報処理システム。
【請求項３】
前記ダミーデータは、前記送信データの少なくとも一部を含む、
請求項１または２に記載の情報処理システム。
【請求項４】
前記ダミーデータは、前記送信データを複数のセグメントに分割した際の最終セグメントと同一のデータを含む、
請求項１乃至３のいずれか一項に記載の情報処理システム。
【請求項５】
前記所定の数は３である、
請求項１乃至４のいずれか一項に記載の情報処理システム。
【請求項６】
第１の情報処理装置が、
ＴＣＰ（Transmission Control Protocol）を用いて、送信データを分割して構成された送信セグメントを順次送信した後に、ダミーデータから構成されたダミーセグメントを所定の数だけ送信するステップを実行し、
第２の情報処理装置が、
前記送信セグメントと前記ダミーセグメントを受信した際に、前記ダミーセグメントを除去し、前記送信セグメントにより構成されたデータを前記送信データとするステップを実行する、情報処理方法。
【請求項７】
情報処理装置に、
ＴＣＰ（Transmission Control Protocol）を用いて、送信データを分割して構成された送信セグメントを順次送信した後に、ダミーデータから構成されたダミーセグメントを所定の数だけ送信するステップと、
前記ＴＣＰを用いて、他の情報処理装置から送信セグメントとダミーセグメントを受信した際に、当該ダミーセグメントを除去し、当該送信セグメントにより構成されたデータを前記他の情報処理装置における送信データとするステップと、
を実行させるプログラム。
【請求項８】
ＴＣＰ（Transmission Control Protocol）を用いて、送信データを分割して構成された送信セグメントを順次送信した後に、ダミーデータから構成されたダミーセグメントを所定の数だけ送信する、情報処理装置。
【請求項９】
ＴＣＰ（Transmission Control Protocol）を用いて、他の情報処理装置から送信セグメントとダミーセグメントを受信した際に、前記ダミーセグメントを除去し、前記送信セグメントにより構成されたデータを前記他の情報処理装置における送信データとする、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、プログラム、及び情報処理装置に関する。
【背景技術】
【０００２】
従来、ＴＣＰ（Transmission Control Protocol）等の通信プロトコルを用いて、送信側端末から送信したパケットが、輻輳等によりパケットロスし、受信側端末にて正常に受信できなかった場合に、当該パケットが再送（再転送）されるように制御する技術が知られている（例えば、特許文献１を参照）。
【０００３】
ＴＣＰ等において、送信側端末が、パケットを送信した後、受信側端末からの確認応答（ＡＣＫ、ACKnowledge）が所定時間経過しても受信しない場合、当該ＡＣＫの待ち時間（ＲＴＯ、Retransmission TimeOut）がタイムアウトしたタイミングで、当該パケットを再送する技術が知られている。
【０００４】
また、ＴＣＰ等において、送信側端末が、アプリケーション等から送信を要求されたデータを複数のセグメントに分割し、分割した各セグメントを含むパケットを、受信側端末からのＡＣＫを待たずに順次送信する場合に、上述したタイムアウトを待つよりも早く再送を行える技術が知られている（例えば、非特許文献１を参照）。この技術は、高速再転送（Fast Retransmit）等と称されている。この高速再転送において、受信側端末は、送信側端末からのパケットを受信する度、受信したパケットに含まれるシーケンス番号を判定し、抜けているシーケンス番号があれば、正しい順番で最後に受信したパケットに対するＡＣＫを返す。そして、送信側端末は、同一のシーケンス番号のＡＣＫを３回連続して受信した場合に、抜けていたパケットを再送する。なお、送信側端末が、当該ＡＣＫを１回目、及び２回目に受信した際に再送信しない理由は、受信側端末におけるパケットの到着順序が入れ替わっただけである可能性が比較的高いためである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１００１１８号公報
【非特許文献】
【０００６】
【非特許文献１】V. Jacobson, "Congestion Avoidance and Control," Computer Communication Review, vol. 18, no. 4, pp. 314-329, Aug. 1988.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来技術では、データを分割した各セグメントのうち、最後から３つ以内のセグメントをそれぞれ含むパケットのいずれかが受信側端末にて正常に受信できなかった場合は、上述した高速再転送が機能しない。この場合、所定の応答待ち時間がタイムアウトするまで再送されないため、再送までに比較的時間がかかるという問題がある。
【０００８】
本発明は、上記の点に鑑みてなされたものであって、比較的早く再送される確率を向上させることができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
発明の実施形態の情報処理システムは、相互にネットワークを介して通信可能な第１の情報処理装置、及び第２の情報処理装置を有する情報処理システムであって、前記第１の情報処理装置と前記第２の情報処理装置はＴＣＰ（Transmission Control Protocol）を用いて通信し、前記第１の情報処理装置は、送信データを分割して構成された送信セグメントを順次送信した後に、ダミーデータから構成されたダミーセグメントを所定の数だけ送信する送信部を有し、前記第２の情報処理装置は、前記送信セグメントと前記ダミーセグメントを受信した際に、前記ダミーセグメントを除去し、前記送信セグメントにより構成されたデータを前記送信データとする除去部を有する。
【００１０】
このため、送信側の情報処理装置は、送信データを含むパケットを送信した後、ダミーデータを含むパケットを送信する。したがって、比較的早く再送される確率を向上させることができる。
【００１１】
また、上述の実施形態において、前記送信部は、１つのセグメントで送信可能なデータの最大サイズに依存しないサイズのダミーデータを含む前記ダミーセグメントを送信してもよい。
【００１２】
これによれば、送信側の情報処理装置は、送信データを含むパケットを送信した後、任意のサイズのダミーデータを含むパケットを送信する。したがって、例えば、比較的小さいサイズのダミーデータにより、ネットワークの帯域の消費を抑えながら、比較的早く再送される確率を向上させることができる。
【００１３】
また、上述の実施形態において、前記ダミーデータは、前記送信データの少なくとも一部を含むようにしてもよい。
【００１４】
これによれば、送信側の情報処理装置は、所定の送信データを、ダミーデータとして再送しておく。したがって、例えば、受信側の情報処理装置において、パケットロスした送信セグメントの再送を待たずに、ダミーデータから当該送信セグメントを取得することができる。
【００１５】
また、上述の実施形態において、前記ダミーデータは、前記送信データを複数のセグメントに分割した際の最終セグメントと同一のデータを含むようにしてもよい。
【００１６】
これによれば、送信側の情報処理装置は、送信データにおける最終セグメントを、ダミーデータとして再送しておく。したがって、例えば、受信側の情報処理装置において、パケットロスした最終セグメントの再送を待たずに、ダミーデータから当該最終セグメントを取得することができる。
【００１７】
また、上述の実施形態において、前記所定の数は３でもよい。
【００１８】
これによれば、送信側の情報処理装置は、３つのダミーセグメントのパケットを送信する。したがって、送信データにおける最終セグメントがパケットロスした場合であっても、確実にＴＣＰの高速再転送が実行されるようにすることができる。
【００１９】
また、他の実施形態は、情報処理方法、プログラム、及び情報処理装置により実現される。
【発明の効果】
【００２０】
比較的早く再送される確率を向上させることができる。
【図面の簡単な説明】
【００２１】
【図１】実施形態に係る情報処理システムの構成例を示す図である。
【図２】実施形態に係る情報処理装置のハードウェア構成例を示す図である。
【図３】実施形態に係る情報処理装置の機能ブロック図の一例を示す図である。
【図４】実施形態に係る情報処理システムの処理の一例を示すシーケンス図である。
【図５】ダミーデータを付加する処理の例について説明する図である。
【図６】実施形態に係る情報処理システムの効果について説明する図である。
【図７】ダミーデータとして実データを用いる例について説明する図である。
【発明を実施するための形態】
【００２２】
以下、図面に基づいて本発明の実施形態を説明する。
【００２３】
＜システム構成＞
図１は、実施形態に係る情報処理システム１の構成例を示す図である。図１において、情報処理システム１は、情報処理装置１０−１（「第１の情報処理装置」）、及び情報処理装置１０−２（「第２の情報処理装置」）（以下で、それぞれを区別する必要がない場合は、単に「情報処理装置１０」と称する。）を有する。なお、情報処理装置１０は２つに限定されない。
【００２４】
情報処理装置１０−１、及び情報処理装置１０−２との間は、例えば、車載ＬＡＮ（Local Area Network）、ＬＡＮ、無線ＬＡＮ、インターネット、ＬＴＥ（Long Term Evolution）乃至５Ｇ（5th Generation）等の携帯電話網等のネットワーク５０により接続される。
【００２５】
以下では、車載機器が車載ＬＡＮにより接続された車載システムを例に説明するが、開示の技術は、工場等における機器制御用ネットワークシステム、センサ等をクラウド等に接続するＩｏＴ（Internet of Things）システム等、各種のネットワークシステムにおける各種機器に適用可能である。
【００２６】
情報処理装置１０−１、及び情報処理装置１０−２は、例えば、センサ、車載ＥＣＵ（Electronic Control Unit）等の車載機器である。
【００２７】
＜ハードウェア構成＞
図２は、実施形態に係る情報処理装置１０のハードウェア構成例を示す図である。図２の情報処理装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、インタフェース装置１０５等を有する。
【００２８】
情報処理装置１０での処理を実現する情報処理プログラムは、例えば、記録媒体１０１によって提供される。情報処理プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、情報処理プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、情報処理プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされた情報処理プログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２９】
メモリ装置１０３は、例えば、ＲＡＭ（Random access memory）であり、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って情報処理装置１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００３０】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard Disk Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００３１】
＜機能構成＞
次に、図３を参照し、実施形態に係る情報処理装置１０の機能構成について説明する。図３は、実施形態に係る情報処理装置１０の機能ブロック図の一例を示す図である。情報処理装置１０は、取得部１１、付加部１２、分割部１３、生成部１４、送信部１５、再送部１６、受信部１７、返信部１８、除去部１９、及び出力部２０を有する。取得部１１、付加部１２、分割部１３、生成部１４、送信部１５、再送部１６、受信部１７、返信部１８、除去部１９、及び出力部２０は、情報処理装置１０にインストールされた１以上のプログラムが、情報処理装置１０のＣＰＵ１０４に実行させる処理により実現される機能を表す。なお、取得部１１、付加部１２、分割部１３、生成部１４、送信部１５、及び再送部１６は、送信側の機能部である。また、受信部１７、返信部１８、除去部１９、及び出力部２０は、受信側の機能部である。
【００３２】
取得部１１は、送信すべき実データ（送信データ）をアプリケーションから取得する。付加部１２は、取得部１１により取得された実データに、ダミーデータを付加する。
【００３３】
分割部１３は、付加部１２により実データにダミーデータが付加されたデータを、複数のセグメントに分割する。ここで、分割部１３は、例えば、各セグメントのサイズが、一つのＴＣＰパケットで送信可能なＴＣＰデータの最大サイズ、すなわち１つのセグメントで送信可能なデータの最大サイズ（ＭＳＳ、Maximum Segment Size）以下となるようにデータを分割する。
【００３４】
生成部１４は、分割部１３により分割された各セグメントをそれぞれ含むパケットを順次生成する。送信部１５は、生成部１４により生成された各バケットを、先頭のセグメントから最後のセグメントまで順に送信する。すなわち、送信部１５は、実データを含む１以上のパケット（「第１のパケット」）を送信した後、ダミーデータを含む１以上のパケット（「第２のパケット」）を送信する。
【００３５】
再送部１６は、同一のパケットに関する応答を所定数受信すると、当該パケットを再送する。再送部１６は、例えば、ＴＣＰの高速再転送機能を用いて、同一のＡＣＫを３回、受信側の情報処理装置１０から受信すると、当該ＡＣＫにて示されるＴＣＰパケットを再送する。
【００３６】
受信部１７は、他の情報処理装置１０からのパケットを受信する。返信部１８は、受信部１７により一のセグメントを含むパケットを受信していない間に、当該一のセグメントよりも後ろのセグメントを含むパケットを受信した場合、当該一のセグメントに対する応答を返信する。
【００３７】
除去部１９は、受信部１７により受信した各セグメントを、セグメントの順に従って連結した後、連結したデータからダミーデータを除去する。なお、除去部１９は、受信部１７により受信した各セグメントからダミーデータを除去した後、ダミーデータが除去された各セグメントを、セグメントの順に従って連結してもよい。出力部２０は、除去部１９によりダミーデータが除去された後のデータを、アプリケーションに出力する。
【００３８】
＜処理＞
次に、図４、及び図５を参照して、実施形態に係る情報処理システム１の処理について説明する。図４は、実施形態に係る情報処理システム１の処理の一例を示すシーケンス図である。図５は、ダミーデータを付加する処理の例について説明する図である。
【００３９】
ステップＳ１において、情報処理装置１０−１の取得部１１は、実データ、及び送信先の通信アドレスを含む送信要求をアプリケーションから取得する。
【００４０】
続いて、情報処理装置１０−１の付加部１２は、当該送信要求に含まれる実データに、３つのＴＣＰパケットで送信可能な分のダミーデータを付加する（ステップＳ２）。ここで、ダミーデータは、例えば、情報処理装置１０−１と情報処理装置１０−２との間で予め設定されている所定のデータでもよい。
【００４１】
また、例えば、情報処理装置１０−１と情報処理装置１０−２との間がイーサネット（登録商標）で接続されており、イーサネットフレーム中のペイロードが１５００バイト、当該ペイロード中のＩＰヘッダが２０バイト、当該ペイロード中のＴＣＰヘッダが２０バイトであるとする。この場合、ＭＳＳは１４６０バイト（＝１５００バイト−２０バイト−２０バイト）である。そのため、図５（Ａ）に示すように、付加部１２は、４３８０バイトのダミーデータを付加すれば、３つのＴＣＰパケットで送信可能な分のダミーデータが付加されることとなる。
【００４２】
また、図５（Ｂ）に示すように、付加部１２は、最後のＴＣＰパケットに含まれるＴＣＰデータが１バイトとなるよう、実データのバイト数をＭＳＳのバイト数で除算した余りの値を２９２０（＝１４６０×２）から減算した後、１加算したバイト数のダミーデータを付加してもよい。この場合、例えば、実データが４４８０バイトの場合、２８２１（＝２９２０−（４４８０  ｍｏｄ  ４３８０）＋１）バイトのダミーデータを付加すればよい。
【００４３】
また、図５（Ｃ）に示すように、付加部１２は、ダミーデータを含む最後から３つ以内の各ＴＣＰパケットに含まれるＴＣＰデータがそれぞれ１バイトとなるようにしてもよい。この場合、例えば、ＴＣＰのプロトコルスタックにて、このようなダミーデータを付加する実装としてもよい。
【００４４】
続いて、情報処理装置１０−１の分割部１３は、実データにダミーデータが付加されたデータを、先頭から順に、ＭＳＳ以下のサイズのセグメントに分割する（ステップＳ３）。
【００４５】
続いて、情報処理装置１０−１の生成部１４は、分割された各セグメントをそれぞれ含む１番目からｎ番目までのＴＣＰパケットを順に生成する（ステップＳ４）。ここで、最後から３つ以内（ｎ−２番目〜ｎ番目）のＴＣＰパケットには、ダミーデータが含まれている。
【００４６】
続いて、情報処理装置１０−１の送信部１５は、生成された各パケットを、セグメント順に送信する（ステップＳ５）。ここで、ＴＣＰパケットには、ＴＣＰヘッダーに、シーケンス番号が含まれている。ＴＣＰパケットの受信側では、以前に受信したＴＣＰパケットに含まれるシーケンス番号とＴＣＰデータのバイト数、及び今回受信したＴＣＰパケットに含まれるシーケンス番号から、今回受信したＴＣＰパケットが、正しい順で受信したか否かを判定できる。
【００４７】
以下では、情報処理装置１０−２において、１番目からｎ番目までのＴＣＰパケットのうち、ｎ−４番目のＴＣＰパケットまで受信し、ｎ−３番目のＴＣＰパケットが輻輳等によりパケットロスしたものとして説明する。
【００４８】
情報処理装置１０−２の返信部１８は、受信部１７によりｎ−４番目のＴＣＰパケットを受信すると、ｎ−４番目のＴＣＰパケットに対する確認応答を返す（ステップＳ６）。具体的には、情報処理装置１０−２の返信部１８は、ｎ−４番目のＴＣＰパケットに含まれるシーケンス番号に、ｎ−４番目のＴＣＰパケットに含まれるＴＣＰデータのバイト数を加算したＡＣＫ番号が含まれるＡＣＫを返す。このＡＣＫにより、情報処理装置１０−１は、情報処理装置１０−２において次に受信することが期待されているのは、ｎ−３番目のＴＣＰパケットであることを判定できる。
【００４９】
続いて、情報処理装置１０−２の返信部１８は、ｎ−３番目のＴＣＰパケットを受信していない間に、ｎ−２番目のＴＣＰパケットを受信した場合、ｎ−４番目のＴＣＰパケットに対する確認応答を返す（ステップＳ７）。すなわち、ステップＳ６で送信されたＡＣＫと同一のＡＣＫが、再度返信される。
【００５０】
続いて、情報処理装置１０−２の返信部１８は、ｎ−３番目のＴＣＰパケットを受信していない間に、ｎ−１番目のＴＣＰパケットを受信した場合、ｎ−４番目のＴＣＰパケットに対する確認応答を返す（ステップＳ８）。すなわち、ステップＳ６で送信されたＡＣＫと同一のＡＣＫが、３回返信されることとなる。
【００５１】
続いて、情報処理装置１０−１の再送部１６は、同一のＡＣＫ番号を含むＡＣＫを３回受信したため、高速再転送機能により、ｎ−３番目のＴＣＰパケットを再送する（ステップＳ９）。
【００５２】
続いて、情報処理装置１０−２の除去部１９は、受信した各ＴＣＰパケットに含まれる各セグメントを順に連結した後、データからダミーデータを除去する（ステップＳ１０）。
【００５３】
続いて、情報処理装置１０−２の出力部２０は、ダミーデータが除去された後の受信データを、情報処理装置１０−２のアプリケーションに出力する（ステップＳ１１）。これにより、情報処理装置１０−２のアプリケーションは、情報処理装置１０−１のアプリケーションからの送信データを受信できる。
【００５４】
なお、情報処理装置１０−２は、ＴＣＰパケットが正しい順番で受信された場合、各ＴＣＰパケットを情報処理装置１０−１から受信する度に、受信したＴＣＰパケットに対するＡＣＫを返信してもよい。または、情報処理装置１０−２は、受信した複数のＴＣＰパケットに対して、一つのＡＣＫを返信してもよい。
【００５５】
＜効果＞
次に、図６を参照し、実施形態に係る情報処理システム１の効果について説明する。図６は、実施形態に係る情報処理システム１の効果について説明する図である。
【００５６】
一度に送信するパケット数をＷとすると、パケットロスが生じた際に、高速再転送による再送となる確率Ｐ（Ｗ）、及びＡＣＫの待ち時間のタイムアウトによる再送となる確率Ｑ（Ｗ）は、以下の式により求められる。
【００５７】
Ｐ（Ｗ）  ＝  ｍａｘ（１−３／Ｗ，０）        ・・・（１）
Ｑ（Ｗ）  ＝  ｍｉｎ（１，３／Ｗ）            ・・・（２）
【００５８】
図６の線６０１は、ダミーデータを付加しない従来技術の場合のＷとＰ（Ｗ）の関係を示す線である。従来技術では、Ｗが３以下の場合、パケットロスが発生しても、高速再転送は実行されない。
【００５９】
図６の線６０２は、上述した実施形態のダミーデータを３パケット分付加する場合のＷとＰ（Ｗ）の関係を示す線である。上述した実施形態では、ダミーデータのみを含むパケットについては、パケットロスが発生しても、高速再転送は実行されない。
【００６０】
図６の線６０３は、上述した実施形態のダミーデータを３パケット分付加する場合の、実データについてのＷとＰ（Ｗ）の関係を示す線である。図６の線６０３に示すように、ダミーデータを３パケット分付加した場合は、実データを含むパケットについては、パケットロスが発生しても、必ず高速再転送が実行される。なお、ダミーデータを３パケット分より多く付加した場合でも、実データを含むパケットについては、パケットロスが発生しても、必ず高速再転送が実行される。なお、ダミーデータを１パケット分、または２パケット分付加した場合でも、Ｐ（Ｗ）は従来技術よりは高くなるため、確認応答のタイムアウトよりも短い時間でパケットが再送され易くすることができる。
【００６１】
＜ダミーデータの変形例＞
上述した実施形態では、ダミーデータとして、実データとは無関係なデータを用いる例について説明した。これに代えて、ダミーデータとして、実データを用いてもよい。
【００６２】
図７は、ダミーデータとして実データを用いる例について説明する図である。図７に示すように、例えば、実データを各セグメントに分割して送信した後、最後から３つ以内の各セグメントをダミーデータとしてそれぞれ含むＴＣＰパケットを送信する。これにより、図７に示すように、実データが１番目からｋ番目までのセグメントに分割されてそれぞれ送信された後、ｋ−２、ｋ−１、ｋ番目のセグメントがそれぞれ再送される。この場合、ダミーデータとして再送される最後から３つ以内の各セグメントには、ダミーデータであることを示すフラグを付加してもよい。
【００６３】
受信側は、実データの最後から３つ以内の各セグメントをそれぞれ含むＴＣＰパケットを正常に受信した場合、受信した各ＴＣＰパケットのうち、最後から３つ以内の各セグメントをダミーデータであると判定し、当該ダミーデータを除去（破棄）する。
【００６４】
また、受信側は、実データの最後から３つ以内の各セグメントをそれぞれ含むＴＣＰパケットのうち１つ以上がパケットロスした場合、例えば、ＴＣＰのプロトコルスタックの実装により、以下の処理を行う。まず、パケットロスにより受信していないセグメントをダミーデータとして含むＴＣＰパケットを受信したか否かを判定する。そして、受信した場合、ダミーデータから当該セグメントを取得し、受信した各セグメントを連結したデータをアプリケーションに渡す。なお、パケットロスしたＴＣＰパケットが再送された場合は、当該ＴＣＰパケットを破棄する。これにより、パケットロスした場合でも、より高速にデータを取得できる。
【００６５】
なお、最後から３つ以内の各セグメントをそれぞれダミーデータとして含むＴＣＰパケットを送信する代わりに、任意の各セグメントをそれぞれダミーデータとして含むＴＣＰパケットを送信するようにしてもよい。この場合、ダミーデータとして再送される各セグメントには、ダミーデータであることを示すフラグ、及び何番目のセグメントであるかを示すデータを付加してもよい。
【００６６】
＜変形例＞
上述した実施形態では、ＴＣＰを用いる例について説明したが、開示の技術は、ＴＣＰに限らず、同一の確認応答または否定応答（ＮＡＣＫ、Negative ACKnowledge）を所定回数受信した場合に再送を行なうプロトコルを用いることができる。
【００６７】
＜まとめ＞
従来、相互接続された機器間のデータ転送に使われる規格であるＣＡＮ（Controller Area Network）が知られている。ＣＡＮは、自動車、工場等における機器の制御情報の通信に用いられている。ＣＡＮのペイロードの最大値は８バイト（６４ビット）等である。
【００６８】
一方、イーサネット（Ethernet）（登録商標）では、ペイロードの最大値は１５００バイト等であり、一つのパケットで送信可能なデータのサイズが比較的大きい。従来のＣＡＮに接続される機器は、一度に送信されるデータのサイズが比較的小さいため、当該機器をイーサネットにて接続する場合、当該機器から一度に送信されるデータは、比較的少ない数のパケットで送信される場合がある。したがって、当該パケットがパケットロスしても、高速再転送が実行されない場合は比較的多くなる。
【００６９】
上述した実施形態によれば、送信側の情報処理装置は、実データを含むパケットを送信した後、ダミーデータを含むパケットを送信する。そして、実データを含むパケットに関する応答を所定数受信すると、当該パケットを再送する。これにより、比較的早く再送される確率を向上させることができる。
【００７０】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００７１】
情報処理装置１０の各機能部は、例えば１以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。
【００７２】
上述したダミーデータの付加、及び除去を行う機能は、アプリケーション層等のレイヤーでの通信を行うプログラムにて実装してもよい。または、トランスポート層等のレイヤーでの通信を行うプログラム（プロトコルスタック等）にて実装してもよい。この場合、当該プログラムは、ＯＳ（Operating System）にバンドルされて情報処理装置１０にインストールされてもよい。
【符号の説明】
【００７３】
１  情報処理システム
１０  情報処理装置
１１  取得部
１２  付加部
１３  分割部
１４  生成部
１５  送信部
１６  再送部
１７  受信部
１８  返信部
１９  除去部
２０  出力部
【図１】
2019047162.tif 000003
【図２】
2019047162.tif 000004
【図３】
2019047162.tif 000005
【図４】
2019047162.tif 000006
【図５】
2019047162.tif 000007
【図６】
2019047162.tif 000008
【図７】
2019047162.tif 000009