(57)【特許請求の範囲】
【請求項１】
プロトコルＴＣＰ／ＩＰに準拠し、予め送信端末に連続受信可能データサイズを通知し、該送信端末がこの通知された連続受信可能データサイズ内で連続してパケットを送信すると、このパケットを受信してから応答確認を送信するデータ通信装置であって、
現在の連続受信可能データサイズから連続して受信したパケット数と最大セグメントサイズを乗算した値を引いた値が、該最大セグメントサイズ以下か否かを判断するウインドウサイズ判断手段と、この値が前記最大セグメントサイズ以下であると判断された場合に、連続受信可能データサイズを増加させるか否かを判断するオファーウインドウ増減判断手段と、前記オファーウインドウ増減判断手段において増加可能と判断された場合、連続受信可能データサイズを増加させるオファーウインドウ増減手段と、受信中に輻輳が発生したか否かを判断する輻輳検知手段と、前記輻輳検知手段において輻輳が検知された場合、連続受信可能データサイズを小さくして応答確認を返信する輻輳対策手段を備えたことを特徴とするデータ通信装置。
【請求項２】
オファーウインドウ増減判断手段は、応答確認返信時間と受信パケット数と伝送媒体に起因するパラメータとを用いて増加させるか否かの判断を行なうことを特徴とする請求項１記載のデータ通信装置。
【請求項３】
オファーウインドウ増減手段は、連続受信可能データサイズの最大値を規制する最大規制値と、所定値分連続受信可能データサイズを増加させた値と、空きメモリ量からセッション数と連続受信可能データサイズの初期値を乗算した値を減算した値のうち小さい値を連続受信可能データサイズとして用いることを特徴とする請求項１記載のデータ通信装置。
【請求項４】
輻輳対策手段は、輻輳が発生した際には連続受信可能データサイズを初期値に設定することを特徴とする請求項１記載のデータ通信装置。
【請求項５】
応答確認返信手段は、輻輳が発生した場合は前記輻輳対策手段から通知される連続受信可能データサイズを用い、輻輳が発生せず、前記ウインドウサイズ判断手段で連続受信可能データサイズの更新が指示された場合は、前記オファーウインドウ増減手段から通知される連続受信可能データサイズを用い、輻輳が発生せず、前記ウインドウサイズ判断手段で連続受信可能データサイズの更新が指示されなかった場合は、現在の連続受信可能データサイズを用いることを特徴とする請求項１記載のデータ通信装置。
【請求項６】
プロトコルＴＣＰ／ＩＰに準拠し、予め送信端末に連続受信可能データサイズを通知し、該送信端末がこの通知された連続受信可能データサイズで連続してパケットを送信すると、このパケットを受信してから応答確認を送信するデータ通信方法であって、
現在の連続受信可能データサイズから連続して受信したパケット数と最大セグメントサイズを乗算した値を引いた値が、該最大セグメントサイズ以下か否かをウインドウサイズ判断手段にて判断し、この値が前記最大セグメントサイズ以下であると判断された場合に、連続受信可能データサイズを増加させるか否かをオファーウインドウ増減判断手段が判断し、前記オファーウインドウ増減判断手段の結果が増加可能である場合、オファーウインドウ増減手段が連続受信可能データサイズを増加させ、輻輳検知手段が受信中に輻輳が発生したことを検知した場合、輻輳対策手段が連続受信可能データサイズを小さくして応答確認を返信することを特徴とするデータ通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＬＡＮ上ででプリンタ等、データ量の大きい画像データを高速に転送することが可能なデータ通信装置及びデータ通信方法に関する。
【０００２】
【従来の技術】
近年、ネットワークを介してのデータのやりとりが頻繁に行われており、パーソナルコンピュータの周辺機器であるプリンタもネットワーク対応が行われている。パーソナルコンピュータのグラフィックス環境が向上するにつれ、プリンタへの印字要求もモノクロからカラーへと変化し、更にデータ量の増加が著しい。現在、ＩＰネットワーク環境での印字データの転送プロトコルとしては、ＴＣＰ／ＩＰ（Transmission Contorol Protocol/Internet Protocol）及び、その上に被さるＬＰＲ（Line Printer Remote）が用いられている。
【０００３】
図９はクライアントコンピュータ（以下クライアントＰＣと呼ぶ）からの印字シーケンスを示すタイムチャートであり、ＴＣＰ／ＩＰでのデータ通信方法を示す。まず、クライアントはプリンタに対してコネクションの要求を行い、プリンタからのコネクション受信確認応答を待って、コネクション受信確認応答に対する確認応答をプリンタへ送信する。この時点でクライアントＰＣとプリンタとのコネクションが成立する。その際に実際にプリンタ側が連続してデータを受取ることができるかを示すサイズをクライアントＰＣに通知する。
【０００４】
その後、クライアントＰＣは、プリンタから通知されたサイズ内でデータを送信し、送信したデータの受信確認応答が返信されるのを待つ。送信データの受信確認応答が帰ってくると、次のデータを送信する。応答確認の中には次にプリンタが受信することができるサイズが示されている。通常受信バッファサイズはセッション単位で決められており、その受信バッファの空き容量をクライアントＰＣへ通知するサイズとして用いる。
【０００５】
全てのデータの送信が終了すると、接続終了通知をプリンタへ送信する。プリンタは接続終了通知を受信すると、それに対する確認応答をクライアントＰＣへ送信し、プリンタからも接続終了通知をクライアントＰＣへ送信する。クライアントＰＣは、接続終了通知を受信すると、それに対する確認応答をプリンタへ送信し、この時点で接続はクローズし、データ転送は終了する。
【０００６】
【課題を解決しようとする課題】
上記のように、従来のＴＣＰ／ＩＰを用いたデータ転送では、受信バッファサイズが固定で決められており、通信速度の制御を行ないたいという要求があっても行なうことができなかった。
【０００７】
本発明は、通信速度の制御を送信側の送信能力及び回線の状態に応じて制御することができ、更に回線速度に応じてメモリの有効利用を行ないながらデータ通信をおこなうことができるデータ通信装置及びデータ通信方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明は、上記した課題を解決するために、プロトコルＴＣＰ／ＩＰに準拠し、予め送信端末に連続受信可能データサイズを通知し、該送信端末がこの通知された連続受信可能データサイズ内で連続してパケットを送信すると、このパケットを受信してから応答確認を送信するデータ通信装置であって、現在の連続受信可能データサイズから連続して受信したパケット数と最大セグメントサイズを乗算した値を引いた値が、該最大セグメントサイズ以下か否かを判断するウインドウサイズ判断手段と、この値が前記最大セグメントサイズ以下であると判断された場合に、連続受信可能データサイズを増加させるか否かを判断するオファーウインドウ増減判断手段と、前記オファーウインドウ増減判断手段において増加可能と判断された場合、連続受信可能データサイズを増加させるオファーウインドウ増減手段と、受信中に輻輳が発生したか否かを判断する輻輳検知手段と、前記輻輳検知手段において輻輳が検知された場合、連続受信可能データサイズを小さくして応答確認を返信する輻輳対策手段を備えたことを特徴とする構成とする。
【０００９】
上記構成により、回線が安定している状況では、送信端末の送信能力に応じて連続受信可能データサイズを制御することができ、通信速度の向上を行なうことができる。
【００１０】
【発明の実施の形態】
本発明の請求項１記載の発明は、プロトコルＴＣＰ／ＩＰに準拠し、予め送信端末に連続受信可能データサイズを通知し、該送信端末がこの通知された連続受信可能データサイズ内で連続してパケットを送信すると、このパケットを受信してから応答確認を送信するデータ通信装置であって、現在の連続受信可能データサイズから連続して受信したパケット数と最大セグメントサイズを乗算した値を引いた値が、該最大セグメントサイズ以下か否かを判断するウインドウサイズ判断手段と、この値が最大セグメントサイズ以下であると判断された場合に、連続受信可能データサイズを増加させるか否かを判断するオファーウインドウ増減判断手段と、オファーウインドウ増減判断手段において増加可能と判断された場合、連続受信可能データサイズを増加させるオファーウインドウ増減手段と、受信中に輻輳が発生したか否かを判断する輻輳検知手段と、輻輳検知手段において輻輳が検知された場合、連続受信可能データサイズを小さくして応答確認を返信する輻輳対策手段を備えたデータ通信装置であり、この構成により、簡単な演算によって送信端末の送信能力を知ることができ、回線が安定している状況では、送信端末の送信能力に応じて連続受信可能データサイズを制御することができ、通信速度の向上を行なうことができる。
【００１２】
本発明の請求項３記載の発明は、前記請求項１に記載のオファーウインドウ増減判断手段について、応答確認返信時間と受信パケット数と伝送媒体に起因するパラメータとを用いて増加させるか否かの判断を行なうように構成したものであり、連続受信可能データサイズ上限を判断することができ、無駄なメモリを消費することが防げる。
【００１３】
本発明の請求項３記載の発明は、請求項１に記載のオファーウインドウ増減手段について、連続受信可能データサイズの最大値を規制する最大規制値と、所定値分連続受信可能データサイズを増加させた値と、空きメモリ量からセッション数と連続受信可能データサイズの初期値を乗算した値を減算した値のうち小さい値を連続受信可能データサイズとして用いるように構成したものであり、空きメモリ容量、セッション数を考慮した連続受信可能データサイズの設定を可能とすることができる。
【００１４】
本発明の請求項４記載の発明は、請求項１に記載の輻輳対策手段について、輻輳が発生した際には連続受信可能データサイズを初期値に設定するように構成したものであり、輻輳が発生した際に、連続受信可能データサイズを小さくすることにより、輻輳のリカバリを早くすることができ、更に受信バッファの消費を押さえることができる。
【００１５】
本発明の請求項５記載の発明は、請求項１に記載の応答確認返信手段について、輻輳が発生した場合は輻輳対策手段から通知される連続受信可能データサイズを用い、輻輳が発生せず、ウインドウサイズ判断手段でウインドウサイズの更新が指示された場合は、オファーウインドウ増減手段から通知される連続受信可能データサイズを用い、輻輳が発生せず、ウインドウサイズ判断手段でウインドウサイズの更新が指示されなかった場合は、現在の連続受信可能データサイズを用いるように構成したものであり、連続受信可能データサイズを状況に応じて切り替えることができる。
また、本発明の請求項６記載の発明は、プロトコルＴＣＰ／ＩＰに準拠し、予め送信端末に連続受信可能データサイズを通知し、該送信端末がこの通知された連続受信可能データサイズ内で連続してパケットを送信すると、このパケットを受信してから応答確認を送信するデータ通信方法であって、現在の連続受信可能データサイズから連続して受信したパケット数と最大セグメントサイズを乗算した値を引いた値が、該最大セグメントサイズ以下か否かをウインドウサイズ判断手段にて判断し、この値が最大セグメントサイズ以下であると判断された場合に、連続受信可能データサイズを増加させるか否かをオファーウインドウ増減判断手段が判断し、オファーウインドウ増減判断手段の結果が増加可能である場合、オファーウインドウ増減手段が連続受信可能データサイズを増加させ、輻輳検知手段が受信中に輻輳が発生したことを検知した場合、輻輳対策手段が連続受信可能データサイズを小さくして応答確認を返信することを特徴とするデータ通信方法であり、この構成により、回線が安定している状況では、送信端末の送信能力に応じて連続受信可能データサイズを制御することができ、通信速度の向上を行なうことができる。
【００１６】
（実施の形態１）
以下、本発明の実施の形態の構成を図１から図８、及び（数１）から（数４）を用いて説明する。図１は本発明の実施の形態におけるデータ通信装置の全体構成図を示す図である。本発明の実施の形態はＬＡＮ環境下での印刷通信に適用した一例を示すものである。送信端末１０１〜１０３から印刷データがＬＡＮを介してプリンタ１０５に送信される構成であって、送信端末１０１〜１０３からプリンタ１０５へはコネクション型伝送プロトコルであるＴＣＰ／ＩＰを用いて印刷データが転送されるデータ通信装置及びその送信方法である。
【００１７】
次に図２を用いて前記プリンタ１０５内でデータ送受信を行なうプリントサーバ部２０１について説明する。図２において、２０２は受信手段であり、ＬＡＮを介して送信端末から送信されてきたパケットを受信する。２０３は輻輳検知手段であり、受信手段２０２で受信したパケットの順序の誤りやパケットの欠落やデータ誤りチェックを行ない輻輳が発生しているかのチェックを行なう。
【００１８】
２０４はウインドウサイズ判断手段であり、プロトコルＴＣＰ／ＩＰに準拠して送信端末が受信確認応答なしで連続して送信してきたパケットサイズ（ウインドウサイズ）が連続受信可能データサイズ（以下、オファーウインドウサイズと呼ぶ）に近い、すなわち現在のオファーウインドウサイズから連続して受信したパケット数と最大セグメントサイズを乗算した値を引いた値が、この最大セグメントサイズ以下か否か、の判断を行なう。詳細は後述する。
【００１９】
２０５はオファーウインドウ増減判断手段であり、ウインドウサイズ判断手段２０４で、連続して送信されてきたパケットサイズがオファーウインドウサイズに近いと判断された場合に、オファーウインドウを増加させるか否かを判断する。
【００２０】
２０６はオファーウインドウ増減手段であり、オファーウインドウ増減判断手段２０５で増加させると判断された場合に、新たなオファーウインドウサイズを決定する。
【００２１】
２０７は輻輳対策手段であり、輻輳検知手段２０３で輻輳が発生していると判断された場合に、オファーウインドウを初期値に設定する。２０８は応答確認返信手段であり、輻輳検知手段２０３で輻輳が発生していると判断された場合は、輻輳対策手段２０７からのオファーウインドウを用いて応答確認パケットを作成し、輻輳が発生していないと判断され、ウインドウサイズ判断手段２０４からウインドウサイズの更新信号が入力されている場合は、オファーウインドウ増減手段２０６からのオファーウインドウを用いて応答確認パケットを作成し、輻輳が発生していないと判断され、ウインドウサイズ判断手段２０４からウインドウサイズの更新信号が入力されていない場合は、現在の割り当てられたメモリサイズから使用中のサイズを引いた値をオファーウインドウとして応答確認パケットを作成する。
【００２２】
２０９は送信手段であり、応答確認返信手段２０８から受取った応答確認パケットをＬＡＮ上へ送出する。
【００２３】
次に図３を用いて、全体の処理プロセスを説明する。図３は全体の処理プロセスを示したフローチャートである。まず、送信端末からコネクション要求がくるとコネクションを張りデータ受信を開始する（Ｓ０）。この際には、初期値のオファーウインドウサイズが送信端末に通知される。
【００２４】
送信端末からのパケットデータを受信し（Ｓ１）、パケットの順序が狂っているか、データが誤っていないかをチェックする輻輳検知を行ない（Ｓ２）、輻輳が発生していない場合は、そのパケットに対する応答確認要求を発行する（Ｓ３）。連続して送信されてくるパケットの場合は、応答確認返信処理よりも受信処理を優先する。
【００２５】
応答確認返信処理に移った場合には、受信しているパケットに対してすべて応答確認を返信済みかをチェックし（Ｓ４）、受信済みパケット全ての応答確認を返信済みでない場合は、（Ｓ２）へシーケンスを移行する。
【００２６】
受信済みパケット全ての応答確認を返信済みである場合は、連続して受信したパケットデータ量が送信端末へ通知したオファーウインドウサイズに近いか否かを判断し（Ｓ５）、オファーウインドウサイズに近い場合は、オファーウインドウサイズを増加させるか否かの判断を行ない（Ｓ６）、オファーウインドウを増加させると判断した場合はオファーウインドウの見直しを行ない、新たなオファーウインドウを設定する（Ｓ７）。
【００２７】
（Ｓ２）において輻輳が発生したと判断された場合は、オファーウインドウを初期値に設定し（Ｓ８）、応答確認要求を発行する（Ｓ９）。
【００２８】
次に図４を用いて、ウインドウサイズ判断手段２０４の動作についてさらに詳しく説明する。４０１は連続パケット数カウント部であり、送信端末から連続して送信されてきたパケット数ｎをカウントする。４０２はサイズ比較部であり、連続パケット数カウント部４０１でカウントされたパケット数ｎと、イーサネットの最大セグメントサイズ情報４０３と、現在のオファーウインドウサイズ情報４０４を用いて（数１）により比較演算を行なう。
【００２９】
【数１】
0004096428.tif 000002
ここで、Ethernet（登録商標）は登録商標である。ここで、４０５はウインドウ判断部であり、サイズ比較部４０２の比較結果から、比較条件が成立する場合は連続して受信したパケット量が送信端末へ通知したオファーウインドウサイズに近いという判断を行ない、確認応答返信手段２０８へ制御信号を、オファーウインドウ増減判断手段２０５へ制御信号とパケット情報を送出する。サイズ比較部４０２の比較結果から、比較条件が成立しない場合は連続して受信したパケット量が送信端末へ通知したオファーウインドウサイズよりも小さいと判断し、何も行なわない。
【００３０】
次に図５を用いて、オファーウインドウ増減判断手段２０５の動作についてさらに詳しく説明する。５０１はパケット処理時間検出部であり、連続受信したパケットの受信開始から最終パケットを上位プロトコルへ渡すまでの時間を検出する。
【００３１】
５０２は応答確認返信時間検出部であり、連続受信したパケットの最初のパケットへの応答確認送信から最終パケットへの応答確認送信までの時間を検出する。
【００３２】
５０３は増減判断部であり、パケット処理時間検出部５０１で検出されたパケット処理時間αと、応答確認返信時間検出部５０２で検出されたＡｃｋ返信時間βと伝送媒体による固有パラメータ（例えば１０Ｂａｓｅ−ＴのＴＣＰ／ＩＰでは０．９とした）と、イーサネット最大セグメントサイズを用いて（数２）に示す条件を満たしているかを判断し、条件を満たしている場合は、これ以上オファーウインドウサイズを増加させても、効果が少ないと判断し、増加を行なわないように増減制御信号を出力する。
【００３３】
【数２】
0004096428.tif 000003
条件を満たしていない場合は、オファーウインドウを増加させると効果があると判断し、増加を行なうように増減制御信号を出力する。
【００３４】
次に図６を用いて、オファーウインドウ増減手段２０６の動作についてさらに詳しく説明する。６０１はオファーウインドウ所定値増減部であり、増減制御信号が増加を示す場合、現在のオファーウインドウ（オファーウインドウサイズ情報４０４で示される）に対し、増減所定値情報６０２で示される所定値分（例えば４０９６バイト）を追加したウインドウサイズＷを算出する。６０３は空きメモリ量算出部であり、現在使用可能である空きメモリ量ｗｉｎを（数３）に示すようにセッション数情報６０５、オファーウインドウサイズ初期値情報６０６を用いて算出する。
【００３５】
【数３】
0004096428.tif 000004
６０４は新オファーウインドウ算出部であり、オファーウインドウ所定値増減部６０１で算出された要求ウインドウサイズＷと、空きメモリ量算出部６０３で算出された使用可能空きメモリサイズｗｉｎと、ウインドウサイズ最大規制値６０７のうち（数４）に示すように最も小さい値を、新しいオファーウインドウとして用いる。
【００３６】
【数４】
0004096428.tif 000005
次に図７を用いて、輻輳対策手段２０７の動作についてさらに詳しく説明する。７０１は輻輳発生後オファーウインドウ設定部であり、輻輳信号から輻輳が発生したことを検知すると、現在のオファーウインドウサイズをオファーウインドウ初期値情報６０６で示される値に置き換えることを行ない、輻輳が解除されるまでは、オファーウインドウ初期値情報６０６で示される値をオファーウインドウとして用いる。
【００３７】
次に図８を用いて、応答確認返信手段２０８の動作についてさらに詳しく説明する。８０１はオファーウインドウ決定部であり、輻輳信号で輻輳発生を指示された場合は、輻輳対策手段２０７から示される輻輳オファーウインドウサイズをオファーウインドウとして用い、輻輳が発生しておらず、制御信号でオファーウインドウの更新が指示された場合は、オファーウインドウ増減手段２０６から示されるオファーウインドウサイズをオファーウインドウとして用い、何も指示されない場合は、現在のオファーウインドウサイズを採用する。
【００３８】
ただし、現セッションで既に受信しているパケットで処理が終わっていないものに関しては、輻輳発生時以外は、オファーウインドウサイズから受信しているパケットサイズを引いた値をオファーウインドウとして用いる。８０２は応答確認パケット構成部であり、オファーウインドウサイズ決定部８０１で決定されたオファーウインドウサイズを用いて応答確認パケットを作成し、送信手段２０９に送信を依頼する。
【００３９】
【発明の効果】
以上のように、本発明によれば、ホストの送信能力に応じて、オファーウインドウを変更することができ、転送効率の向上が望める。
【００４０】
また、輻輳が発生した場合、オファーウインドウを小さく変更する為、輻輳のリカバリが早めに行なえると共に、輻輳解除までの受信済みパケットを少なくすることができ、受信バッファの利用効率を向上できる。
【００４１】
また、オファーウインドウサイズの上限を転送媒体固有情報や最大規制値を設け規制することにより、複数セッションを考慮したバッファの利用効率を向上することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるデータ通信装置の全体構成図
【図２】本発明の実施の形態におけるプリントサーバ部の構成図
【図３】本発明の実施の形態におけるプリントサーバ部での処理プロセスを示すフローチャート
【図４】本発明の実施の形態におけるウインドウサイズ判断手段の構成図
【図５】本発明の実施の形態におけるオファーウインドウ増減判断手段の構成図
【図６】本発明の実施の形態におけるオファーウインドウ増減手段の構成図
【図７】本発明の実施の形態における輻輳対策手段の構成図
【図８】本発明の実施の形態における応答確認返信手段の構成図
【図９】従来のＴＣＰ／ＩＰでのデータ通信方法を示す図
【符号の説明】
２０１  プリントサーバ部
２０２  受信手段
２０３  輻輳検知手段
２０４  ウインドウサイズ判断手段
２０５  オファーウインドウ増減判断手段
２０６  オファーウインドウ増減手段
２０７  輻輳対策手段
２０８  応答確認返信手段
２０９  送信手段
【図１】
0004096428.tif 000006
【図２】
0004096428.tif 000007
【図３】
0004096428.tif 000008
【図４】
0004096428.tif 000009
【図５】
0004096428.tif 000010
【図６】
0004096428.tif 000011
【図７】
0004096428.tif 000012
【図８】
0004096428.tif 000013
【図９】
0004096428.tif 000014