(57)【要約】  本発明は、送信側の通信装置においてＴＣＰ層が隠蔽されている場合であっても、遅延確認応答がタイムアウトするまで遅延することなく確認応答を受け取ることを可能にするコネクション型通信装置を提供する。そのコネクション型通信装置は、受信データに対応する確認応答便乗用返信データを生成し、その確認応答便乗用返信データを、その受信データを受け取ってから所定の時間が経過した後に出力する手段と、その確認応答便乗用返信データを含む送信セグメントに確認応答または遅延確認応答を便乗させて送信する手段と、を備える。
2013128885.tif 000002
【特許請求の範囲】
【請求項１】
遅延確認応答を用いたコネクション型通信を行い、外部から受信した受信セグメントに含まれる、受信データを出力し、前記受信セグメントに対する確認応答を便乗させて返信するための確認応答便乗用返信データを受け取り、前記確認応答便乗用返信データを含む送信セグメントに確認応答または前記遅延確認応答を便乗させて送信する通信制御手段と、
前記通信制御手段が出力した受信データを受け取り、前記受け取った受信データに対応する確認応答便乗用返信データを生成し、出力する返信データ生成手段と、
前記通信制御手段が出力した受信データを受け取ってから、前記確認応答便乗用返信データを前記通信制御手段に出力するまでの待機時間を示す待機時間情報に基づいて、前記受信データを受け取ってから前記待機時間情報で示される時間が経過した後に、前記確認応答便乗用返信データを前記通信制御手段に出力することを指示する返信指示手段と、
を含む通信装置。
【請求項２】
前記待機時間情報が示す待機時間は、０から、前記遅延確認応答を送信する契機である、前記遅延確認応答のタイムアウト時間まで、の間の任意の時間である
ことを特徴とする請求項１記載の通信装置。
【請求項３】
前記待機時間を決定し、出力する待機時間決定手段を更に含む
ことを特徴とする請求項２記載の通信装置。
【請求項４】
前記待機時間決定手段は、前記遅延確認応答タイムアウトの時間に基づいて、前記待機時間を決定する
ことを特徴とする請求項３記載の通信装置。
【請求項５】
前記待機時間決定手段は、前記通信装置自身を含む端末装置の負荷状態に基づいて、前記待機時間を決定する
ことを特徴とする請求項３または４記載の通信装置。
【請求項６】
前記待機時間決定手段は、受信データの受信遅延時間に基づいて、前記待機時間を決定する
ことを特徴とする請求項３乃至５のいずれか１項に記載のコネクション型通信装置。
【請求項７】
前記待機時間決定手段は、受信データの受信間隔時間に基づいて、前記待機時間を決定する
ことを特徴とする請求項３乃至６のいずれか１項に記載のコネクション型通信装置。
【請求項８】
前記待機時間決定手段は、通信相手端末のサービスレベルに基づいて、前記待機時間を決定する
ことを特徴とする請求項３乃至７のいずれか１項に記載のコネクション型通信装置。
【請求項９】
コンピュータが、
遅延確認応答を用いたコネクション型通信を行い、
外部から受信した受信セグメントに含まれる、受信データを出力し、
前記受信セグメントに対する確認応答を便乗させて返信するための確認応答便乗用返信データを受け取り、
前記確認応答便乗用返信データを含む送信セグメントに確認応答または前記遅延確認応答を便乗させて送信し、
前記出力された受信データを受け取り、
前記受け取った受信データに対応する確認応答便乗用返信データを生成し、出力し、
前記出力された受信データを受け取ってから、前記確認応答便乗用返信データを出力するまでの待機時間を示す待機時間情報に基づいて、前記受信データを受け取ってから前記待機時間情報で示される時間が経過した後に、前記確認応答便乗用返信データを出力する
コネクション型通信方法。
【請求項１０】
遅延確認応答を用いたコネクション型通信を行う処理と、
外部から受信した受信セグメントに含まれる、受信データを出力する処理と、
前記受信セグメントに対する確認応答を便乗させて返信するための確認応答便乗用返信データを受け取り、前記確認応答便乗用返信データを含む送信セグメントに確認応答または前記遅延確認応答を便乗させて送信する処理と、
前記出力された受信データを受け取る処理と、
前記受け取った受信データに対応する確認応答便乗用返信データを生成し、出力する処理と、
前記出力された受信データを受け取ってから、前記確認応答便乗用返信データを出力するまでの待機時間を示す待機時間情報に基づいて、前記受信データを受け取ってから前記待機時間情報で示される時間が経過した後に、前記確認応答便乗用返信データを出力する処理と、をコンピュータに実行させる
プログラムを記録した不揮発性記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コネクション型通信を実行する通信装置、コネクション型通信方法、及びそのためのプログラムに関し、特に、遅延確認応答が用いられる通信を制御するコネクション型通信を実行する通信装置、コネクション型通信方法、及びそのためのプログラムに関する。
【背景技術】
【０００２】
ネットワークを介したデータ通信を行う標準プロトコルとして、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ Ｃｏｎｔｒｏｌ Ｐｒｏｔｏｃｏｌ）が広く普及している。 
ＴＣＰは、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルにおける、トランスポート層の機能を果たすプロトコルである。ＴＣＰは、コネクション型通信を行うプロトコルである。即ち、ＴＣＰに準拠する通信を実行する通信装置（以下、コネクション型通信装置と呼ぶ）は、送信側と受信側とでコネクションを確立した後、セグメントの送受信を行う。また、送信側のコネクション型通信装置は、セグメントを送信し、その送信したセグメントに対する確認応答（ＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｍｅｎｔ））を受け取ることにより、その送信したセグメントが受信側のコネクション型通信装置に到達したことを確認する。その送信されたセグメントを受信した受信側のコネクション型通信装置は、確認応答を含むセグメントを送信する。【０００３】
送信側のコネクション型通信装置は、セグメントを送信し、その送信したセグメントに対する確認応答を待っている場合、セグメントサイズの最大値（以下、ＭＳＳ（Ｍａｘｉｍｕｍ  Ｓｅｇｍｅｎｔ  Ｓｉｚｅ）と呼ぶ）のデータが貯まるまで、次のセグメントの送信を待機する。そして、コネクション型通信装置は、その待機の最中に確認応答を含むセグメントを受信した場合、またはＭＳＳのデータが貯まった場合、次のセグメントを送信する。【０００４】
一方、受信側のコネクション型通信装置は、遅延確認応答を行う。遅延確認応答とは、複数のセグメントを受信後、確認応答をまとめて送信することである。遅延確認応答は、確認応答によるネットワークの輻輳を回避し、効率的なデータの送受信を可能とするための方法である。【０００５】
ＴＣＰにおいては、この遅延確認応答は、２つの受信セグメントに対して１つの確認応答を返すように設定されることが多い。このとき、１つのセグメントのみ受信した受信側のコネクション型通信装置は、確認応答を便乗させるセグメントを上層から受け取った場合を除き、２つ目の受信セグメントを待つ。その後、その受信側のコネクション型通信装置は、遅延確認応答タイムアウトが発生すると、受信した１つのセグメントのみに対応した確認応答を含むセグメントを生成し、送信する。【０００６】
ここで、例えば、非常に小さいサイズのデータを含むセグメントを短い時間間隔で継続的に送信する場合、以下のような問題がある。まず、送信側のコネクション型通信装置は、セグメントを１つ送信した後、確認応答を待ち、確認応答が到着するか、ＭＳＳのサイズのデータが貯まるかまで、次のセグメントの送信を待機する。一方、受信側のコネクション型通信装置は、遅延確認応答を行う。このため、受信側のコネクション型通信装置は、確認応答を便乗させることのできる送信セグメントがたまたま存在する場合を除いて、次のセグメントを受信するか、または遅延確認応答タイムアウトが発生するまで、確認応答を含むセグメントを送信しない。こうして、送信側のコネクション型通信装置は、次のセグメントの送信を長時間待つことになり、効率の良いデータ通信が行えない状況が発生する。【０００７】
このような問題点を解決する技術が特許文献１に記載されている。特許文献１に記載の送信側通信端末は、受信側通信端末において遅延確認応答が行われているか否かを確認し、行われている場合には、送信側通信端末が送信データを２つのセグメントに分割して送信する。こうすることにより、受信側通信端末において遅延確認応答タイムアウトを発生させない（遅延確認応答タイムアウトが発生することなく、遅延確認応答を送信する）通信制御方法が示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９‐１５９２７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した特許文献に記載された技術においては、送信側のコネクション型通信装置においてＴＣＰ層が隠蔽（ブラックボックス化）されている場合、確認応答を受け取るタイミングが遅延する場合があることを防止できないという問題点がある。その遅延する時間は、遅延確認応答がタイムアウトするまでの時間である。【００１０】
上述の問題点がある理由は、ＴＣＰ層の上層に位置するアプリケーション層が、隠蔽されているＴＣＰ層にセグメントを分割させることができないからである。【００１１】
本発明の目的は、上述した問題点を解決するコネクション型通信を実行する通信装置、コネクション型通信方法、及びそのためのプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の通信装置は、遅延確認応答を用いたコネクション型通信を行い、外部から受信した受信セグメントに含まれる、受信データを出力し、前記受信セグメントに対する確認応答を便乗させて返信するための確認応答便乗用返信データを受け取り、前記確認応答便乗用返信データを含む送信セグメントに確認応答または前記遅延確認応答を便乗させて送信する通信制御手段と、
前記通信制御手段が出力した受信データを受け取り、受け取った前記受信データに対応する確認応答便乗用返信データを生成し、出力する返信データ生成手段と、
前記通信制御手段が出力した受信データを受け取ってから、前記確認応答便乗用返信データを前記通信制御手段に出力するまでの待機時間を示す待機時間情報に基づいて、前記受信データを受け取ってから前記待機時間情報で示される時間が経過した後に、前記確認応答便乗用返信データを前記通信制御手段に出力することを指示する返信指示手段と、を含む。【００１３】
本発明のコネクション型通信方法は、コンピュータが、
遅延確認応答を用いたコネクション型通信を行い、
外部から受信した受信セグメントに含まれる、受信データを出力し、
前記受信セグメントに対する確認応答を便乗させて返信するための確認応答便乗用返信データを受け取り、
前記確認応答便乗用返信データを含む送信セグメントに確認応答または前記遅延確認応答を便乗させて送信し、
前記出力された受信データを受け取り、
受け取った前記受信データに対応する確認応答便乗用返信データを生成し、出力し、
前記出力された受信データを受け取ってから、前記確認応答便乗用返信データを出力するまでの待機時間を示す待機時間情報に基づいて、前記受信データを受け取ってから前記待機時間情報で示される時間が経過した後に、前記確認応答便乗用返信データを出力する。【００１４】
本発明の不揮発性記録媒体は、
遅延確認応答を用いたコネクション型通信を行う処理と、
外部から受信した受信セグメントに含まれる、受信データを出力する処理と、
前記受信セグメントに対する確認応答を便乗させて返信するための確認応答便乗用返信データを受け取り、前記確認応答便乗用返信データを含む送信セグメントに確認応答または前記遅延確認応答を便乗させて送信する処理と、
前記出力された受信データを受け取る処理と、
受け取った前記受信データに対応する確認応答便乗用返信データを生成し、出力する処理と、
前記出力された受信データを受け取ってから、前記確認応答便乗用返信データを出力するまでの待機時間を示す待機時間情報に基づいて、前記受信データを受け取ってから前記待機時間情報で示される時間が経過した後に、前記確認応答便乗用返信データを出力する処理と、をコンピュータに実行させるプログラムを記録する。
【発明の効果】
【００１５】
本発明は、送信側のコネクション型通信を実行する通信装置においてＴＣＰ層が隠蔽（ブラックボックス化）されている場合であっても、遅延確認応答がタイムアウトするまで遅延することなく確認応答を受け取ることが可能になるという効果がある。
【図面の簡単な説明】
【００１６】
【図１】図１は、第１の実施形態に係るコネクション型通信装置の構成を示すブロック図である。
【図２】図２は、第１の実施形態における待機時間情報保持部の一例を示す図である。
【図３】図３は、第１の実施形態に係るコネクション型通信装置を実現するコンピュータのハードウェア構成を示すブロック図である。
【図４】図４は、第１の実施形態に係るコネクション型通信装置を含む通信システムの構成を示すブロック図である。
【図５】図５は、第１の実施形態における通信システムの動作を示すシーケンス図である。
【図６】図６は、第１の実施形態におけるコネクション型通信装置の動作の概要を示すフローチャートである。
【図７】図７は、第２の実施形態に係るコネクション型通信装置の構成を示すブロック図である。
【図８】図８は、第２の実施形態における会員テーブルの一例を示す図である
【図９】図９は、第２の実施形態における待機時間情報５４０の一例を示す図である。
【発明を実施するための形態】
【００１７】
本発明を実施するための形態について図面を参照して詳細に説明する。尚、各図面及び明細書記載の各実施形態において、同様の機能を備える構成要素には同様の符号が与えられている。
【００１８】
＜＜第１の実施形態＞＞
図１は、本発明の第１の実施形態に係るコネクション型通信装置１００の構成を示すブロック図である。
【００１９】
図１を参照すると、本実施形態に係るコネクション型通信装置１００は、通信制御部１１０と、返信データ生成部１２０と、返信指示部１３０とを含む。コネクション型通信装置１００は、図示しない相手側通信装置とコネクション型通信を行う。
【００２０】
次に、第１の実施形態におけるコネクション型通信装置１００が備える各構成要素について説明する。尚、図１に示す構成要素は、ハードウェア単位の構成要素ではなく、機能単位の構成要素を示している。
【００２１】
＝＝＝通信制御部１１０＝＝＝
通信制御部１１０は、図示しない相手側通信装置との間で、遅延確認応答（ｄｅｌａｙｅｄ  ＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｍｅｎｔ））を用いたコネクション型通信を行う。
【００２２】
また、通信制御部１１０は、相手側通信装置から受信した受信セグメントに含まれる受信データ５１０を返信データ生成部１２０に出力する。通信制御部１１０は、その受信データ５１０を返信指示部１３０及び図示しないアプリケーション部にも出力する。尚、通信制御部１１０は、返信データ生成部１２０を経由して、その受信データ５１０を返信指示部１３０及び図示しないアプリケーション部にも出力するようにしてもよい。
【００２３】
また、通信制御部１１０は、返信データ生成部１２０から確認応答便乗用返信データ５２０を受け取り、その確認応答便乗用返信データ５２０を含む送信セグメントに確認応答または遅延確認応答を便乗させて（ｂａｃｋｈａｕｌｅｄ）、相手側通信装置に送信する。更に、通信制御部１１０は、図示しないアプリケーション部からデータを受け取り、そのデータを含む送信セグメントに確認応答または遅延確認応答を便乗させて送信するようにしてもよい。
【００２４】
通信制御部１１０は、例えば、確認応答便乗用返信データ５２０を含むＴＣＰセグメントを送信セグメントとして生成することにより、ＴＣＰヘッダに確認応答または遅延確認応答を便乗させる。
【００２５】
即ち、通信制御部１１０は、ＴＣＰプロトコルに従って、他の通信装置と通信する。尚、通信制御装置はＴＣＰプロトコルの層より下層のプロトコルの制御機能を含んでよい。
【００２６】
＝＝＝返信データ生成部１２０＝＝＝
返信データ生成部１２０は、受信データ５１０を受け取り、その受信データ５１０に対応する確認応答便乗用返信データ５２０を生成し、出力する。
【００２７】
＝＝＝返信指示部１３０＝＝＝
返信指示部１３０は、通信制御部１１０から受信データ５１０を受け取る。返信指示部１３０は、その受信データ５１０を受け取ってから待機時間情報で示される時間が経過した後に、返信指示５３０を返信データ生成部１２０に出力する。返信指示５３０は、確認応答便乗用返信データ５２０を通信制御部１１０に出力することを、返信データ生成部１２０に対して指示する。尚、通信制御部１１０が受信データ５１０を返信データ生成部１２０に送信し、返信データ生成部１２０が返信指示部１３０に受信データ５１０を出力してもよい。この場合にも、返信指示部１３０は、その受信データ５１０を受け取ってから待機時間情報で示される時間が経過した後に、返信指示５３０を返信データ生成部１２０に出力する。
【００２８】
図２は、返信指示部１３０に含まれる、待機時間情報１３２を保持する待機時間情報保持部１３１の一例を示す図である。待機時間情報１３２は、受信セグメントに含まれる受信データ５１０を通信制御部１１０から受け取ってから、確認応答便乗用返信データ５２０を通信制御部１１０に出力するまでの待機時間を示す。待機時間情報１３２は、「０」から、遅延確認応答タイムアウトの時間までの、任意の時間であってよい。
【００２９】
待機時間情報１３２は、コネクション型通信装置１００に予め設定されている。尚、待機時間情報１３２は、図示しない手段（例えば、図示しない入力手段からの、人手による入力）により、返信指示部１３０に与えられてもよい。
【００３０】
以上が、コネクション型通信装置１００の機能単位の各構成要素についての説明である。
【００３１】
次に、コネクション型通信装置１００のハードウェア単位の構成要素について説明する。
【００３２】
図３は、本実施形態におけるコネクション型通信装置１００を実現するコンピュータ７００のハードウェア構成を示す図である。
【００３３】
図３に示すように、コンピュータ７００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７０１、記憶部７０２、記憶装置７０３、入力部７０４、出力部７０５及び通信部７０６を含む。更に、コンピュータ７００は、外部から供給される記録媒体（または記憶媒体）７０７を含む。記録媒体７０７は、情報を非一時的に記憶する不揮発性記録媒体であってもよい。
【００３４】
ＣＰＵ７０１は、オペレーティングシステム（不図示）を動作させて、コンピュータ７００の、全体の動作を制御する。また、ＣＰＵ７０１は、例えば記憶装置７０３に装着された記録媒体７０７から、プログラム（例えば、後述の図６に示すフローチャートの動作をコンピュータ７００に実行させるプログラム）やデータを読み込み、読み込んだプログラムやデータを記憶部７０２に書き込む。そして、ＣＰＵ７０１は、読み込んだプログラムに従って、また読み込んだデータに基づいて、図１に示す通信制御部１１０、返信データ生成部１２０及び返信指示部１３０として各種の処理を実行する。
【００３５】
尚、ＣＰＵ７０１は、通信網（不図示）に接続されている外部コンピュータ（不図示）から、記憶部７０２にプログラムやデータをダウンロードするようにしてもよい。
【００３６】
記憶部７０２は、プログラムやデータを記憶する。記憶部７０２は、返信指示部１３０の一部としても含まれ、待機時間情報保持部１３１を含んでよい。
【００３７】
記憶装置７０３は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク及び半導体メモリであって、記録媒体７０７を含む。記憶装置７０３は、プログラムをコンピュータ読み取り可能に記録する。また、記憶装置７０３は、データをコンピュータ読み取り可能に記録してもよい。記憶装置７０３は、返信指示部１３０の一部としても含まれ、待機時間情報保持部１３１を含んでよい。
【００３８】
入力部７０４は、例えばマウスやキーボード、内蔵のキーボタンなどで実現され、入力操作に用いられる。入力部７０４は、マウスやキーボード、内蔵のキーボタンに限らず、例えばタッチパネル、加速度計、ジャイロセンサ、カメラなどでもよい。
【００３９】
出力部７０５は、例えばディスプレイで実現され、出力を確認するために用いられる。
【００４０】
通信部７０６は、他の通信装置（相手側通信装置）とのインタフェースを実現する。通信部７０６は、通信制御部１１０一部として含まれ、ＴＣＰプロトコルに基づいて通信を実行する。
【００４１】
以上説明したように、図１に示すコネクション型通信装置１００の機能単位のブロックは、図２に示すハードウェア構成のコンピュータ７００によって実現される。但し、コンピュータ７００が備える各部の実現手段は、上記に限定されない。すなわち、コンピュータ７００は、物理的に結合した１つの装置により実現されてもよいし、物理的に分離した２つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
【００４２】
尚、上述のプログラムのコードを記録した記録媒体７０７が、コンピュータ７００に供給され、ＣＰＵ７０１は、記録媒体７０７に格納されたプログラムのコードを読み出して実行するようにしてもよい。或いは、ＣＰＵ７０１は、記録媒体７０７に格納されたプログラムのコードを、記憶部７０２、記憶装置７０３またはその両方に格納するようにしてもよい。すなわち、本実施形態は、コンピュータ７００（ＣＰＵ７０１）が実行するプログラム（ソフトウェア）を、一時的にまたは非一時的に、記憶する記録媒体７０７の実施形態を含む。
【００４３】
以上が、本実施形態におけるコネクション型通信装置１００を実現するコンピュータ７００の、ハードウェア単位の各構成要素についての説明である。
【００４４】
次に本実施形態の動作について、図１〜図６を参照して詳細に説明する。
【００４５】
図４は、本実施形態に係るコネクション型通信装置１００を含む通信システムの全体構成を示すブロック図である。
【００４６】
図４を参照すると、この通信システムは、送信側通信端末１０、受信側通信端末２０及びネットワーク３０とからなる。送信側通信端末１０と受信側通信端末２０とのそれぞれは、例えば、パーソナルコンピュータ、または携帯端末である。
【００４７】
送信側通信端末１０と受信側通信端末２０とは、ネットワーク３０を介し、ＴＣＰプロトコルを用いてセグメント５００を送受信する。
【００４８】
受信側通信端末２０は、コネクション型通信装置１００とアプリケーション部２１とを含む。アプリケーション部２１は、後述の図５に図示する。
【００４９】
アプリケーション部２１は、ＯＳＩ参照モデルにおけるアプリケーション層の処理を実行する。
【００５０】
図５は、本実施形態における通信システムの動作を示すシーケンス図である。尚、シーケンスの各ステップ名については、Ｓ６０１のように、記号で記載する。
【００５１】
尚、図５に示すシーケンス図では、返信指示部１３０及びその動作の記載を省略している。
【００５２】
送信側通信端末１０と受信側通信端末２０の通信制御部１１０とは、コネクション確立を完了しているものとする。
【００５３】
送信側通信端末１０は、受信側通信端末２０へ送信する第１のデータを発生すると、その第１のデータを含むセグメント５００１を生成し、受信側通信端末２０へ送信する（Ｓ６０１）。尚、セグメント５００１は、セグメント５００の１つである。
【００５４】
次に、セグメント５００１を受信した受信側通信端末２０の通信制御部１１０は、セグメント５００１を受信データ５１０１（第１のデータ）に変換し、返信データ生成部１２０及びアプリケーション部２１に出力する（Ｓ６０２）。実際には、受信データ５１０１は、図１に示す返信指示部１３０にも出力されるが、その動作は図６を用いて後述する。尚、受信データ５１０１は、受信データ５１０の１つである。
【００５５】
次に、受信データ５１０１を受け取った返信データ生成部１２０は、受信データ５１０１に対応する確認応答便乗用返信データ５２０１を作成し、通信制御部１１０に出力する（Ｓ６０３）。尚、確認応答便乗用返信データ５２０１は、確認応答便乗用返信データ５２０の１つである。
【００５６】
次に、確認応答便乗用返信データ５２０１を受け取った通信制御部１１０は、セグメント５００２をＴＣＰプロトコルに基づいて生成し、送信側通信端末１０へ送信する（Ｓ６０４）。具体的には、通信制御部１１０は、セグメント５００２に、確認応答便乗用返信データ５２０１を含め、セグメント５００１に対する確認応答を便乗させる。尚、セグメント５００２は、セグメント５００の１つである。即ち、受信側通信端末２０は、確認応答便乗用返信データ５２０１を送信側通信端末１０へ送信する処理を実行することで、セグメント５００１に対する確認応答を便乗させたセグメント５００２を送信側通信端末１０へ送信する。
【００５７】
次に、送信側通信端末１０は、次の受信側通信端末２０へ送信する第２のデータが発生すると、そのデータを含むセグメント５００３を生成し、受信側通信端末２０へ送信する（Ｓ６０５）。尚、セグメント５００３は、セグメント５００の１つである。即ち、送信側通信端末１０は、前回送信したセグメント５００１の確認応答を、セグメント５００２で受け取っているため、待機することなく、第２のデータをセグメント化し、セグメント５００３として送信する。
【００５８】
次に、セグメント５００３を受信した受信側通信端末２０の通信制御部１１０は、セグメント５００３を受信データ５１０２（第２のデータ）に変換し、返信データ生成部１２０及びアプリケーション部２１に出力する（Ｓ６０６）。尚、受信データ５１０２は、受信データ５１０の１つである。
【００５９】
以上のように動作するため、受信側通信端末２０において遅延確認応答タイムアウトは発生しない。こうして、アプリケーション部２１は、遅延確認応答タイムアウトの時間を待たされることなく、第１のデータに続いて第２のデータを取得することができる。
【００６０】
図６は、本実施形態におけるコネクション型通信装置１００の動作を示すフローチャートである。尚、このフローチャートによる処理は、前述したＣＰＵによるプログラム制御に基づいて、実行されても良い。また、処理のステップ名については、Ｓ６０１のように、記号で記載する。
【００６１】
図６に示すフローチャートは、コネクション型通信装置１００における、図５に示すシーケンス図のＳ６０１からＳ６０４に対応する。
【００６２】
通信制御部１１０は、セグメント５００１を受信する（Ｓ６２０）。
【００６３】
次に、通信制御部１１０は、セグメント５００１を受信データ５１０１に変換し、返信データ生成部１２０、返信指示部１３０及びアプリケーション部２１に出力する（Ｓ６２１）。
【００６４】
次に、返信指示部１３０は、受信データ５１０を受け取り、計時を開始する（Ｓ６２２）。
【００６５】
次に、返信データ生成部１２０は、受信データ５１０１に対応する確認応答便乗用返信データ５２０１を作成する（Ｓ６２３）。
【００６６】
次に、返信指示部１３０は、計時している時間が図２に示す待機時間情報１３２で示される時間に達したこと（即ち、待機時間が経過したこと）に基づいて、確認応答便乗用返信データ５２０１を出力させるよう、返信指示５３０（図１）を発生して返信データ生成部１２０に指示する（Ｓ６２４）。
【００６７】
次に、返信データ生成部１２０は、確認応答便乗用返信データ５２０１の出力の指示（返信指示５３０）を受けて、通信制御部１１０に確認応答便乗用返信データ５２０１を出力する（Ｓ６２５）。
【００６８】
次に、通信制御部１１０は、確認応答便乗用返信データ５２０１を受け取り、確認応答便乗用返信データ５２０１を含む、セグメント５００１に対する確認応答を便乗させたセグメント５００２を生成し、送信側通信端末１０へ送信する。（Ｓ６２６）。
【００６９】
以上が、本実施形態におけるコネクション型通信装置１００の動作の説明である。
【００７０】
次に、具体的なデータを示して図４に示す本実施形態の通信システムの動作を、図５のシーケンス図を参照して説明する。
【００７１】
送信側通信端末１０と受信側通信端末２０との間でＴＣＰ通信の接続が確立されているものとする。
【００７２】
例えば、送信側通信端末１０は、２４ミリ秒間隔で、データを受信側通信端末２０に送信しようとするものとする。そのデータは、最初のデータが文字列「１」、次のデータが文字列「２」、その次のデータが文字列「３」と、１ずつ数値をインクリメントされた１バイトの文字列である。
【００７３】
また、ＭＳＳは、１６バイトであるとする。また、遅延確認タイムアウト時間は５００ミリ秒であるとする。また、待機時間情報保持部１３１に保持されている待機時間情報１３２は、１ミリ秒であるとする。
【００７４】
尚、以下の説明において、送信側通信端末１０と受信側通信端末２０とにおける各動作の処理時間、及び送信側通信端末１０と受信側通信端末２０との間のセグメント転送時間は、上述の待機時間情報１３２などに比べて、無視できるほど小さいものとする。
【００７５】
送信側通信端末１０は、まず文字列「１」のデータを含むセグメント５００１を生成し、受信側通信端末２０へ送信する（Ｓ６０１）。
【００７６】
次に、セグメント５００１を受信した受信側通信端末２０の通信制御部１１０は、セグメント５００１を受信データ５１０１として「１」に変換し、返信データ生成部１２０、返信指示部１３０及びアプリケーション部２１に出力する（Ｓ６０２）。
【００７７】
ここで、受信側通信端末が本実施形態に係る通信端末ではなく、コネクション型通信装置１００を含まない通信端末であった場合、通信システムは以下のように動作する。尚、このコネクション型通信装置１００を含まない通信端末は、Ｓ６０３の動作を行わない。また、このコネクション型通信装置１００を含まない通信端末は、遅延確認応答を行うため、Ｓ６０４に対応する動作も、遅延確認タイムアウト時間後（即ち、５００ミリ秒後）まで、行わない。
【００７８】
２４ミリ秒後に、送信側通信端末１０は文字列「２」のデータを含むセグメント５００３を生成し、受信側通信端末２０へ送信しようとする（Ｓ６０５に対応）。ここで、送信側通信端末１０は、セグメント５００１の確認応答を含むセグメント５００２を受信していない場合、セグメント５００３の送信を待機する。
【００７９】
その後、送信側通信端末１０は、セグメント５００２を受信しない限り、データの量がＭＳＳのサイズに達するまでセグメント５００３の送信を待機する。即ち、文字列「２」から文字列「１７」までの１６バイトのデータが貯まるまで、３８４ミリ秒の間、セグメント５００３の送信を待機する。
【００８０】
３８４ミリ秒経過後に、送信側通信端末１０は、文字列「２」から文字列「１７」までの１６バイトのデータを含むセグメント５００３を受信側通信端末２０に送信する（Ｓ６０５）。
【００８１】
受信側通信端末が、遅延確認応答を行うが確認応答便乗用返信データ５２０１の生成を行わない通信端末であった場合、通信システムは以上のように動作する。即ち、受信側通信端末２０は、本来２４ミリ秒後に受け取るべきデータ（文字列「２」）を３８４ミリ秒後に受け取ることになる。同様に、受信側通信端末２０は、文字列「３」以後のデータそれぞれも、遅延して受け取る。
【００８２】
受信側通信端末が、本実施形態のコネクション型通信装置１００を含む受信側通信端末２０である場合に戻って、説明を続ける。
【００８３】
次に、受信データ５１０１である「１」を受け取った返信データ生成部１２０は、受信データ５１０１に対応する確認応答便乗用返信データ５２０１として、例えば「−１」を作成する。そして、返信データ生成部１２０は、待機時間情報１３２で指定された１ミリ秒後に、返信指示部１３０から返信指示５３０を受け、作成した確認応答便乗用返信データ５２０１である「−１」を、通信制御部１１０に出力する（Ｓ６０３）。
【００８４】
次に、確認応答便乗用返信データ５２０１である「−１」を受け取った通信制御部１１０は、その確認応答便乗用返信データ５２０１を含む、セグメント５００１に対する確認応答を便乗させたセグメント５００２を生成し、送信側通信端末１０へ送信する（Ｓ６０４）。
【００８５】
２４ミリ秒後に、送信側通信端末１０は、文字列「２」を含むセグメント５００３を生成し、受信側通信端末２０へ送信する（Ｓ６０５）。即ち、送信側通信端末１０は、前回送信したセグメント５００１の確認応答を、セグメント５００２で受け取っているため、待機することなく、「２」をセグメント化し、セグメント５００３として送信する。
【００８６】
次に、セグメント５００３を受信した受信側通信端末２０の通信制御部１１０は、セグメント５００３を受信データ５１０２である「２」に変換し、返信データ生成部１２０及びアプリケーション部２１に出力する（Ｓ６０６）。
【００８７】
以後同様に、送信側通信端末１０は、２４ミリ秒間隔で、セグメント５００を送信し、受信側通信端末２０はそのセグメント５００を受信する。
【００８８】
以上説明した実施形態において、返信データ生成部１２０及び返信指示部１３０は、アプリケーション部２１の一部であってもよい。この場合、通信制御部１１０は、アプリケーション部２１から確認応答便乗用返信データ５２０を、アプリケーションのデータとして受け取る。
【００８９】
通信制御部１１０が、この受け取ったデータを含むセグメント５００に確認応答及び遅延確認応答を便乗させる点は、上述の構成の場合と同じである。従って、アプリケーション部２１は、送信側通信端末１０に送信するデータを持っている場合は、そのデータを通信制御部１１０へ出力し、確認応答便乗用返信データ５２０の出力を省略するようにしてもよい。
【００９０】
上述した本実施形態における効果は、送信側のコネクション型通信装置（送信側通信端末１０）においてＴＣＰ層が隠蔽（ブラックボックス化）されている場合であっても、遅延確認応答がタイムアウトするまで遅延することなく確認応答を受け取ることを可能にする点である。
【００９１】
その理由は、以下のような構成を含むからである。即ち、第１に返信データ生成部１２０が確認応答便乗用返信データ５２０を生成する。第２に、返信指示部１３０が、待機時間情報１３２に基づいて返信データ生成部１２０に確認応答便乗用返信データ５２０の出力を指示する。第３に、通信制御部１１０が確認応答便乗用返信データ５２０を含むセグメント５００に確認応答を便乗させる。
【００９２】
＜＜第２の実施形態＞＞
次に、本発明の第２の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【００９３】
図７は、本発明の第２の実施形態に係るコネクション型通信装置２００の構成を示すブロック図である。
【００９４】
図７を参照すると、本実施形態におけるコネクション型通信装置２００は、第１の実施形態のコネクション型通信装置１００と比べて、待機時間決定部２４０を更に含む。
【００９５】
待機時間決定部２４０は、待機時間を決定し、決定した待機時間を示す待機時間情報５４０を生成し、返信指示部１３０に出力する。
【００９６】
待機時間情報５４０が示す待機時間は、図２の待機時間情報１３２が示す待機時間と同じく、受信データ５１０を受け取ってから確認応答便乗用返信データ５２０を出力するまでの時間である。
【００９７】
例えば、待機時間決定部２４０は、遅延確認応答タイムアウトの時間に基づいて、待機時間を決定する。具体的には、待機時間決定部２４０は、遅延確認応答タイムアウトの時間に対して所定の割合（例えば、「１割」）の時間を待機時間として決定する。
【００９８】
また、待機時間決定部２４０は、コネクション型通信装置１００を含む受信側通信端末２０の負荷状態に基づいて、待機時間を決定するようにしてもよい。具体的には、待機時間決定部２４０は、図示しない手段から取得した受信側通信端末２０の負荷情報に基づいて、例えば、その負荷情報で示される負荷が大きいほど待機時間を長く、決定するようにしてもよい。また、待機時間決定部２４０は、その負荷情報で示される負荷が小さいほど待機時間を短く、決定するようにしてもよい。
【００９９】
また、待機時間決定部２４０は、受信データ５１０の受信遅延時間に基づいて、待機時間を決定するようにしてもよい。具体的には、待機時間決定部２４０は、実際に受信データ５１０を受け取るタイミングが予め定められたタイミングに対して遅延する場合、これらのタイミングの差分時間を、現状の待機時間から減算した時間を待機時間として決定する。
【０１００】
また、待機時間決定部２４０は、受信データ５１０の受信間隔時間に基づいて、待機時間を決定するようにしてもよい。具体的には、待機時間決定部２４０は、実際に受信データ５１０を受け取る間隔が予め定められた間隔より長い場合、現状の待機時間より短い待機時間を決定するようにしてもよい。また、待機時間決定部２４０は、実際に受信データ５１０を受け取る間隔が予め定められた間隔より短い場合、現状の待機時間より長い待機時間を決定するようにしてもよい。
【０１０１】
また、待機時間決定部２４０は、通信相手端末のサービスレベルに基づいて、待機時間を決定するようにしてもよい。具体的には、プレミアム会員が使用している送信側通信端末１０に対応する待機時間を、ベーシック会員の使用している送信側通信端末１０に対応する待機時間に対して、相対的に短く決定する。
【０１０２】
こうして、コネクション型通信装置２００を含む通信システムを用いてあるサービスを提供する場合、会費を支払うプレミアム会員には待機時間を小さめの値に設定し、無料サービスのみを利用するベーシック会員には待機時間を大きめの値に設定して、サービスを提供することができる。
【０１０３】
待機時間決定部２４０は、上述の複数の方法を組み合わせて、待機時間を決定するようにしてもよい。
【０１０４】
待機時間決定部２４０が、通信相手端末のサービスレベルに応じて、待機時間を決定する場合の、通信システムの動作について、具体的なデータを示して説明する。
【０１０５】
図４に示す通信システムにおいて、受信側通信端末２０は、コネクション型通信装置２００を含むものとして説明する。
【０１０６】
まず、待機時間決定部２４０の動作を説明する。
【０１０７】
図８は、あるサービスの会員識別情報と対応する待機時間率との関係を示す会員テーブル２４１の一例を示す図である。会員テーブル２４１は、例えば、管理者によって図３に示す入力部７０４から待機時間決定部２４０に設定される。会員テーブル２４１の待機時間率は、例えば、上述の受信側通信端末２０の負荷情報に基づいて決定した待機時間を１とした場合の比で示されている。例えば、管理者は、プレミアム会員の会員識別情報に対応する待機時間率を「０．５」に、ベーシック会員の会員識別情報に対応する待機時間率を「１」にした会員テーブル２４１を、待機時間決定部２４０に設定する。
【０１０８】
例えば、待機時間決定部２４０は、まず受信側通信端末２０の負荷情報に基づいて、待機時間を１００ミリ秒と決定する。
【０１０９】
次に、待機時間決定部２４０は、会員テーブル２４１に基づいて、プレミアム会員の会員識別情報に対応する待機時間を「５０ミリ秒」に、ベーシック会員の会員識別情報に対応する待機時間を「１００ミリ秒」と決定する。
【０１１０】
次に、待機時間決定部２４０は、これらの決定した待機時間を、図９に示すような待機時間情報５４０として、返信指示部１３０に出力する。図９は、会員識別情報と対応する待機時間とを示す待機時間情報５４０の一例を示す図である。
【０１１１】
返信指示部１３０は、待機時間情報５４０を待機時間情報１３２として保持する。
【０１１２】
次に、通信システムの動作について説明する。
【０１１３】
例えば、送信側通信端末１０は、２４ミリ秒間隔で、データを受信側通信端末２０に送信しようとするものとする。そのデータは、最初のデータが文字列「１」、次のデータが文字列「２」、その次のデータが文字列「３」のように、１ずつ数値をインクリメントされた１バイトの文字列と、３バイトの会員識別情報とを合わせたデータである。
【０１１４】
また、ＭＳＳは、１６バイトであるとする。遅延確認タイムアウト時間は５００ミリ秒であるとする。
【０１１５】
送信側通信端末１０がプレミアム会員の使用する送信側通信端末１０である場合、文字列「１」及び会員識別情報である「ＡＡＡ」のデータを含むセグメント５００１を受け取った受信側通信端末２０は、会員識別情報である「ＡＡＡ」に対応する待機時間である「５０ミリ秒」の待機後に、セグメント５００２を送信する。
【０１１６】
次に、送信側通信端末１０は、５０ミリ秒後にセグメント５００２を受け取り、この間に貯まった文字列「２」、「３」及び会員識別情報である「ＡＡＡ」をセグメント化し、セグメント５００３として送信する。以後も同様のペースでセグメント５００を送信する。
【０１１７】
送信側通信端末１０がベーシック会員の使用する送信側通信端末１０である場合、文字列「１」及び会員識別情報である「ＢＢＢ」のデータを含むセグメント５００１を受け取った受信側通信端末２０は、会員識別情報である「ＢＢＢ」に対応する待機時間である「１００ミリ秒」の待機後に、セグメント５００２を送信する。
【０１１８】
次に、送信側通信端末１０は、１００ミリ秒後にセグメント５００２を受け取り、この間に貯まった文字列「２」、「３」、「４」、「５」及び会員識別情報である「ＢＢＢ」をセグメント化し、セグメント５００３として送信する。以後も同様のペースでセグメント５００を送信する。
【０１１９】
上述した本実施形態における効果は、第１の実施の形態の効果に加えて、柔軟に通信効率を制御することが可能になる点である。
【０１２０】
その理由は、待機時間決定部２４０が待機時間を決定し、返信指示部１３０がその決定された待機時間に基づいて返信指示５３０を出力するようにしたからである。
【０１２１】
以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、各構成要素は、複数の構成要素が１個のモジュールとして実現されてよい。また、各構成要素は、１つの構成要素が複数のモジュールで実現されてもよい。また、各構成要素は、ある構成要素が他の構成要素の一部であるような構成であってよい。また、各構成要素は、ある構成要素の一部と他の構成要素の一部とが重複するような構成であってもよい。
【０１２２】
以上説明した各実施形態における各構成要素及び各構成要素を実現するモジュールは、必要に応じ、可能であれば、ハードウェア的に実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、コンピュータ及びプログラムで実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、ハードウェア的なモジュールとコンピュータ及びプログラムとの混在により実現されてもよい。
【０１２３】
そのプログラムは、例えば、磁気ディスクや半導体メモリなど、不揮発性のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施形態における構成要素として機能させる。
【０１２４】
また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障しない範囲で変更することができる。
【０１２５】
更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、ある動作の実行中に他の動作が発生したり、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複していたりしていてもよい。
【０１２６】
更に、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作との全ての関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は内容的に支障のない範囲で変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障をきたさない範囲内で変更されて良い。
【０１２７】
以上、各実施形態及び実施例を参照して本発明を説明したが、本発明は上記実施形態及び実施例に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しえるさまざまな変更をすることができる。
【０１２８】
この出願は、２０１２年３月２日に出願された日本出願特願２０１２−０４６９６２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１２９】
本発明は、例えば、短い間隔での高頻度なデータ転送により、端末間で同期した処理を行う通信システムに適用できる。
【符号の説明】
【０１３０】
１０    送信側通信端末
２０    受信側通信端末
２１    アプリケーション部
３０    ネットワーク
１００    コネクション型通信装置
１１０    通信制御部
１２０    返信データ生成部
１３０    返信指示部
１３１    待機時間情報保持部
１３２    待機時間情報
２００    コネクション型通信装置
２４０    待機時間決定部
２４１    会員テーブル
５００    セグメント
５１０    受信データ
５２０    確認応答便乗用返信データ
５３０    返信指示
５４０    待機時間情報
７００    コンピュータ
７０１    ＣＰＵ
７０２    記憶部
７０３    記憶装置
７０４    入力部
７０５    出力部
７０６    通信部
７０７    記録媒体
５００１    セグメント
５００２    セグメント
５００３    セグメント
５１０１    受信データ
５１０２    受信データ
５２０１    確認応答便乗用返信データ
【図１】
2013128885.tif 000003
【図２】
2013128885.tif 000004
【図３】
2013128885.tif 000005
【図４】
2013128885.tif 000006
【図５】
2013128885.tif 000007
【図６】
2013128885.tif 000008
【図７】
2013128885.tif 000009
【図８】
2013128885.tif 000010
【図９】
2013128885.tif 000011
【手続補正書】
【提出日】平成26年7月17日(2014.7.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１０
【補正方法】変更
【補正の内容】
【請求項１０】
遅延確認応答を用いたコネクション型通信を行う処理と、
外部から受信した受信セグメントに含まれる、受信データを出力する処理と、
前記受信セグメントに対する確認応答を便乗させて返信するための確認応答便乗用返信データを受け取り、前記確認応答便乗用返信データを含む送信セグメントに確認応答または前記遅延確認応答を便乗させて送信する処理と、
前記出力された受信データを受け取る処理と、
前記受け取った受信データに対応する確認応答便乗用返信データを生成し、出力する処理と、
前記出力された受信データを受け取ってから、前記確認応答便乗用返信データを出力するまでの待機時間を示す待機時間情報に基づいて、前記受信データを受け取ってから前記待機時間情報で示される時間が経過した後に、前記確認応答便乗用返信データを出力する処理と、をコンピュータに実行させる
プログラム。
【国際調査報告】
2013128885.tif 000012
2013128885.tif 000013
2013128885.tif 000014
2013128885.tif 000015