(57)【要約】【課題】データ受信装置において、ネットワークのデータ転送速度に応じてウィンドウサイズを選択し、簡単に通信用途に適したデータ転送速度を得ることが困難である。【解決手段】通信相手側装置から送信されたデータを記憶する受信用バッファメモリを備える通信制御部と、通信相手側装置との間のデータ転送速度とデータ転送に要する時間から求まるウィンドウサイズと受信用バッファメモリのデータ容量とを比較し高速又は低速モードを設定するモード設定部と、高速モードの場合は通信相手側装置との間のデータ転送速度を高いデータ転送速度に設定し、受信用バッファメモリのデータ容量以下のデータ容量をウィンドウサイズの最大値に設定し、低速モードの場合は通信相手側装置との間のデータ転送速度を低いデータ転送速度に設定し、受信用バッファメモリのデータ容量より大きいデータ容量をウィンドウサイズの最大値に設定する中央制御部を備えた。【選択図】      図１
2005109765.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続された通信相手側装置との回線の接続・切断・データの送受信の制御を行うと共に前記通信相手側装置から送信されたデータを一時記憶する受信用バッファメモリを備え前記通信相手側装置が送信したデータを受信したときにデータを受信したことを示す肯定応答パケットを送信する通信制御部と、前記通信相手側装置との間のデータ転送速度とデータ転送に要する時間から求まるウィンドウサイズが前記受信用バッファメモリのデータ容量より小さい場合に高速モードを設定し前記通信相手側装置との間のデータ転送速度とデータ転送に要する時間から求まるウィンドウサイズが前記受信用バッファメモリのデータ容量より大きい場合に低速モードを設定するモード設定部と、前記モード設定部で設定されたモードが高速モードの場合は前記通信相手側装置との間のデータ転送速度を前記通信制御部との間のデータ転送速度より高いデータ転送速度に設定すると共に前記受信用バッファメモリのデータ容量以下のデータ容量をウィンドウサイズの最大値に設定し、前記モード設定部で設定されたモードが低速モードの場合は前記通信相手側装置との間のデータ転送速度を前記通信制御部との間のデータ転送速度より低いデータ転送速度に設定すると共に前記受信用バッファメモリのデータ容量より大きいデータ容量をウィンドウサイズの最大値に設定する中央制御部を備えたことを特徴とするデータ受信装置。
【請求項２】
ネットワークを介して接続された通信相手側装置との回線の接続・切断・データの送受信の制御を行うと共に前記通信相手側装置から送信されたデータを一時記憶する受信用バッファメモリを備え前記通信相手側装置が送信したデータを受信したときにデータを受信したことを示す肯定応答パケットを送信する通信制御部と、前記通信相手側装置との間のデータ転送速度とデータ転送に要する時間から求まるウィンドウサイズが前記受信用バッファメモリのデータ容量より小さい場合に高速モードを設定し前記通信相手側装置との間のデータ転送速度とデータ転送に要する時間から求まるウィンドウサイズが前記受信用バッファメモリのデータ容量より大きい場合に低速モードを設定するモード設定部と、前記受信用バッファメモリに一時記憶されたデータを格納する第２受信用バッファメモリを備えたメインメモリと、前記モード設定部で設定されたモードが高速モードの場合は前記通信相手側装置との間のデータ転送速度を前記通信制御部との間のデータ転送速度より高いデータ転送速度に設定すると共に前記受信用バッファメモリのデータ容量以下のデータ容量をウィンドウサイズの最大値に設定し前記受信用バッファメモリに一時記憶されたデータを読み出して信号処理を行い、前記モード設定部により低速モードが設定された場合は前記通信相手側装置との間のデータ転送速度を前記通信制御部との間のデータ転送速度より低いデータ転送速度に設定すると共に前記受信用バッファメモリに一時記憶されたデータを順次前記第２受信用バッファメモリに転送して前記第２受信用バッファメモリの記憶領域を確保し前記第２受信用バッファメモリに転送されたデータを読み出して信号処理を行う中央制御部を備えたことを特徴とするデータ受信装置。
【請求項３】
請求項１及び請求項２に記載のデータ受信装置において、前記モード設定部は、前記通信相手側装置との間がＬＡＮにより接続されている場合に高速モードを設定し、前記通信相手装置との間がＷＡＮを経由するネットワークを介して接続されている場合に低速モードを設定することを特徴とするデータ受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＴＣＰ／ＩＰ（Transport Control Protocol / Internet Protocol）を用いてデータを受信するデータ受信装置に関する。
【背景技術】
【０００２】
ＴＣＰ／ＩＰにおけるファイル転送プロトコル（File Transfer Protocol：ＦＴＰ）において、ファイル転送の性能は、１度の送受信でやり取りができるデータサイズ（Maximum Transfer Unit：ＭＴＵ）と、データの受信側装置から送信されてくる肯定応答パケット（Acknowledge Packet：ＡＣＫパケット）を得るまで送信側装置から受信側装置に送り続けることが可能なデータバイト数（ウィンドウサイズ）により制限されることが多い。
【０００３】
特に、送信側装置が受信側装置からのＡＣＫパケットの受信を確認してから受信側装置にデータの転送を行うスライディングウィンドウによるファイル転送では、ウィンドウサイズが小さい場合、送信側装置から受信側装置に転送できるデータ量が少なくなるため、ファイル転送の効率が低下することが多い。
【０００４】
これらのＭＴＵおよびウィンドウサイズ等のパラメータは、システム固定或いはアプリケーション起動時に設定するようになっている。ＭＴＵは、経路ＭＴＵ検索（Path Maximum Transfer Unit Discovery）機能によりＭＴＵの最適値である最適ＭＴＵを取得することができる。
【０００５】
一方、ウィンドウサイズは、従来、受信側装置の受信用バッファメモリの空き容量を最大ウィンドウサイズに設定していた。また、送信側装置が受信側装置からのＡＣＫパケットの受信を確認せずに受信側装置にデータの転送を行うフロー制御によるファイル転送において、受信用バッファメモリの空き容量を最大ウィンドウサイズに設定した場合に、単位時間当たりのデータ転送速度（スループット）を改善するため、受信用バッファメモリの空き容量および使用可能な最大帯域と通信に要する時間の積に基づくデータ容量のうち、いずれか最小のものを最大ウィンドウサイズとして使用するウインドウ制御方法が、特開平１１−１２７１６３号公報に開示されている。
【０００６】
これらのいずれの場合も、通常、ウィンドウサイズの最大値は、受信用バッファメモリの容量を越えるウィンドウサイズに設定されることはない。
【０００７】
図５は、従来のデータ受信装置の概略構成を示す図である。
図５（ａ）に示すような高速なＣＰＵ（Central Processing Unit）とＰＣＩ（Peripheral Component Interconnect）を備えたパーソナルコンピュータ等のデータ受信装置１では、メインメモリ４内に受信用バッファメモリを設けることで、大容量のデータ受信領域を確保し、高速な通信を可能にしている。
【０００８】
また、最近は、家庭用電気製品（冷蔵庫、電子レンジ等）にネットワーク接続機能を備えた「ネット家電」と呼ばれる装置も普及し始めている。図５（ｂ）に示すようなデータ受信装置１は、コスト、消費電力、外形の制限などから、パーソナルコンピュータのような高性能なＣＰＵやバスを搭載することができず、通信制御部２に設けられた受信用バッファメモリのみで、送信されてきたデータを受信している。
【０００９】
近年、ローカルエリアネットワーク（Local Area Network：ＬＡＮ）では、ツイストケーブルが用いられ、１０ＢＡＳＥ−Ｔから１００ＢＡＳＥ−ＴＸ、１０００ＢＡＳＥ−Ｔと高速化され、「ネット家電」のような家庭用電気製品に組み込まれている通信機能のデータ転送速度を上回ってきている。
【００１０】
図５（ｂ）に示す「ネット家電」のような、高性能なＣＰＵやバスを搭載せず、受信用バッファメモリを通信制御部のみに備えたネットワーク接続機能を備えたデータ受信装置において、データ受信装置と通信相手側装置との間がＬＡＮのような高速ネットワークにより接続されている場合は、データ受信装置と通信相手側装置との間のデータ転送速度が速く、通信に要する時間が短い。このため、通信制御部に備えた受信用バッファメモリのウィンドウサイズが大きくなくても、短時間でデータの受信を行うことができ、ある程度の通信パフォーマンス（データ送受信の効率）が得られる。
【００１１】
具体的には、データ通信装置において、データ受信装置と通信相手側装置とがポップ数（中継点）が少ない高速ネットワーク（例えば、ＬＡＮ）で接続している場合、データ受信装置と通信相手側装置との間の通信に要する時間が短く、データ受信装置は、通信相手側装置が送信したデータを受信した後にＡＣＫパケットを通信相手側装置に送信し、ＡＣＫパケットは、短時間で通信相手側装置に伝送され、通信相手側装置は、ＡＣＫパケットを受信した直後にデータ受信装置に次のデータを送信し、そのデータは、短時間でデータ受信装置に伝送され、データ受信装置は、通信相手側装置が送信した次のデータを取得することができる。
【００１２】
データ受信装置と通信相手側装置との間の通信に要する時間が短いため、データ受信装置内部の通信制御部と中央制御部との間のローカルバスのデータ転送速度がデータ受信装置と通信相手側装置との間のデータ転送速度より遅く、通信制御部の受信用バッファメモリに格納されたデータが中央制御部に転送されるまでに時間がかかっても、データ受信装置の中央制御部は、通信相手側装置が送信したデータを、データ受信装置と通信相手側装置との間のローカルバスのデータ転送速度に近いデータ転送速度で取得することができる。
【００１３】
このように、データ受信装置と通信相手側装置とがＬＡＮのような高速ネットワークにより接続している場合、データ受信装置と通信相手側装置との間の通信に要する時間が短いため、データ受信装置の受信用バッファメモリの容量が小さくても、データ受信装置と通信相手側装置とのデータ或いはＡＣＫパケットのやり取りが比較的短時間で行うことができる。
【００１４】
【特許文献１】特開平１１−１２７１６３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかし、データ受信装置において、ウィンドウサイズの上限は、通信制御部内部の受信用バッファメモリの容量で制限される。データ受信装置は、受信用バッファメモリに格納されたデータが中央制御部に転送され、受信用バッファメモリに通信相手側装置から送信されたデータを受信可能な容量が確保されるまでは、通信相手側装置にＡＣＫパケットを送信しない、或いは、データの受信可能な容量が確保されたことを示すＡＣＫパケットを送信しない。受信用バッファメモリの容量が小さい場合、受信用バッファメモリの容量いっぱいにデータが蓄積されるまでにかかる時間は速いが、通信制御部の受信用バッファメモリから中央制御部へのデータ転送が遅いため、受信用バッファメモリにデータの受信可能な容量が確保されるまでに時間がかかり、通信制御部が、データの受信可能な容量が確保されたことを示すＡＣＫパケットを送信するまでに時間がかかる。
【００１６】
そして、データ受信装置と通信相手側装置との間が、例えば、低速でホップ数（中継点）が多いワイドエリアネットワーク（Wide Area Network：ＷＡＮ）を介して接続されている場合、データ受信装置と通信相手側装置との間のデータ伝送の通信に要する時間が長くなる。一般的に、ＷＡＮのような複数の中継点（ポップ数）を介してデータを転送するネットワークでは、中継点の数に比例してデータ伝送の通信に要する時間は増大する。
【００１７】
このため、データ受信装置が、受信用バッファメモリにデータの受信可能な領域が確保されＡＣＫパケットを通信相手側装置に送信しても、通信相手側装置がそのＡＣＫパケットを受信して次のデータを送信し、データ受信装置がそのデータを取得するまでに時間がかかる。
【００１８】
したがって、データ受信装置が、通信相手側装置からデータを取得するまでに時間がかかり、通信制御部と中央処理部との間のデータ転送速度、中央制御部の処理能力の限界に関係なく、データ受信装置と通信相手側装置との間の通信に要する時間に比例し、通信パフォーマンスが低下してしまうという問題がある。
【００１９】
本発明は、データ受信装置と通信相手側装置との間のデータ転送の通信に要する時間がかかる場合においても、データ受信装置と通信相手側装置との間のデータ転送速度をあげることができるデータ受信装置を提供することを目的とする。
【課題を解決するための手段】
【００２０】
本発明は、データ受信装置において、ネットワークを介して接続された通信相手側装置との回線の接続・切断・データの送受信の制御を行うと共に前記通信相手側装置から送信されたデータを一時記憶する受信用バッファメモリを備え前記通信相手側装置が送信したデータを受信したときにデータを受信したことを示す肯定応答パケットを送信する通信制御部と、前記通信相手側装置との間のデータ転送速度とデータ転送に要する時間から求まるウィンドウサイズが前記受信用バッファメモリのデータ容量より小さい場合に高速モードを設定し前記通信相手側装置との間のデータ転送速度とデータ転送に要する時間から求まるウィンドウサイズが前記受信用バッファメモリのデータ容量より大きい場合に低速モードを設定するモード設定部と、前記モード設定部で設定されたモードが高速モードの場合は前記通信相手側装置との間のデータ転送速度を前記通信制御部との間のデータ転送速度より高いデータ転送速度に設定すると共に前記受信用バッファメモリのデータ容量以下のデータ容量をウィンドウサイズの最大値に設定し、前記モード設定部で設定されたモードが低速モードの場合は前記通信相手側装置との間のデータ転送速度を前記通信制御部との間のデータ転送速度より低いデータ転送速度に設定すると共に前記受信用バッファメモリのデータ容量より大きいデータ容量をウィンドウサイズの最大値に設定する中央制御部を備えたことを特徴とする。
【００２１】
本発明は、データ受信装置において、ネットワークを介して接続された通信相手側装置との回線の接続・切断・データの送受信の制御を行うと共に前記通信相手側装置から送信されたデータを一時記憶する受信用バッファメモリを備え前記通信相手側装置が送信したデータを受信したときにデータを受信したことを示す肯定応答パケットを送信する通信制御部と、前記通信相手側装置との間のデータ転送速度とデータ転送に要する時間から求まるウィンドウサイズが前記受信用バッファメモリのデータ容量より小さい場合に高速モードを設定し前記通信相手側装置との間のデータ転送速度とデータ転送に要する時間から求まるウィンドウサイズが前記受信用バッファメモリのデータ容量より大きい場合に低速モードを設定するモード設定部と、前記受信用バッファメモリに一時記憶されたデータを格納する第２受信用バッファメモリを備えたメインメモリと、前記モード設定部で設定されたモードが高速モードの場合は前記通信相手側装置との間のデータ転送速度を前記通信制御部との間のデータ転送速度より高いデータ転送速度に設定すると共に前記受信用バッファメモリのデータ容量以下のデータ容量をウィンドウサイズの最大値に設定し前記受信用バッファメモリに一時記憶されたデータを読み出して信号処理を行い、前記モード設定部により低速モードが設定された場合は前記通信相手側装置との間のデータ転送速度を前記通信制御部との間のデータ転送速度より低いデータ転送速度に設定すると共に前記受信用バッファメモリに一時記憶されたデータを順次前記第２受信用バッファメモリに転送して前記第２受信用バッファメモリの記憶領域を確保し前記第２受信用バッファメモリに転送されたデータを読み出して信号処理を行う中央制御部を備えたことを特徴とする。
【００２２】
本発明は、上述したデータ受信装置において、前記モード設定部は、前記通信相手側装置との間がＬＡＮにより接続されている場合に高速モードを設定し、前記通信相手装置との間がＷＡＮを経由するネットワークを介して接続されている場合に低速モードを設定することを特徴とする。
【発明の効果】
【００２３】
本発明によれば、データ受信装置と通信相手側装置との間のデータ転送の通信に要する時間がかかる場合においても、データ受信装置と通信相手側装置との間のデータ転送速度をあげることができる。
【発明を実施するための最良の形態】
【００２４】
図１は、本発明のデータ受信装置の一実施例の概略構成を示す図である。
図１において、データ受信装置１は、通信制御部２、モード設定部３、メインメモリ４、中央制御部５を備える。データ受信装置１は、高速なネットワーク（本実施例では、ＬＡＮ６）を介して通信中継装置７と接続し、通信中継装置７は、低速なネットワーク（本実施例では、ＷＡＮ）８を介して通信相手側の通信中継装置７に接続され、当該通信中継装置７と通信相手側装置９が接続しているとする。データ受信装置１は、通信中継装置７を介して通信相手側装置９と通信を行う。
【００２５】
図１において、通信制御部２は、ネットワークを介してデータの送受信等の通信を行う通信プロトコル処理部２ａと、受信したデータを一時格納する受信用バッファメモリ２ｂを備える。
【００２６】
通信プロトコル処理部２ａは、後述する中央制御部３の制御により、ＴＣＰ／ＩＰのプロトコルに基づいて、通信相手の端末装置との通信回線の接続、データの送信、データの受信、通信回線の切断等を行う。通信プロトコル処理部２ａは、通信相手側装置９にデータ送信の要求のコマンドを送信し、通信相手側装置９から送信されたデータを受信し、データを受信した場合に後述する中央制御部３の制御に基づいて通信相手側装置９にＡＣＫパケットを送信する。
【００２７】
受信用バッファメモリ２ｂは、通信相手側装置９からネットワークを介して送信され、通信プロトコル処理部２ａが受信したデータを一時記憶する。受信用バッファメモリ２ｂは、比較的容量が小さいメモリである。
【００２８】
メインメモリ４は、後述する中央制御部５の作業領域として用いられ、各種データを格納する。また、メインメモリ４は、第２受信用バッファメモリ４ａを備え、第２受信用バッファメモリ４ａは、通信制御部２の受信用バッファメモリ２ａより大きい容量のメモリであり、中央制御部５の制御に基づいて通信制御部２から転送されたデータを記憶する。
【００２９】
モード設定部３は、ユーザがデータ受信装置１と通信相手側装置９との間のネットワーク環境に基づいて高速モード又は低速モードの設定を行うと、設定されたモードを示すモード信号を中央制御部５に出力する。
【００３０】
高速モードは、データ受信装置１が設置されている場所と通信相手側装置９が設置されている場所が近距離である場合など、データ受信装置１と通信相手側装置９との間のデータ転送速度とデータ転送の通信に要する時間から求まるウィンドウサイズが受信用バッファメモリ２ａのデータ容量より小さい場合である。例えば、データ受信装置１と通信相手側装置９との間が高速ネットワークで接続されている場合など、データ受信装置１と通信相手側装置９との間のデータ伝送の通信に要する時間が短い場合に選択するモードである。ここで、高速ネットワークとは、例えば、ＬＡＮ、ＩＥＥＥ１３９４、ファーストイーサネット（登録商標）などである。
【００３１】
低速モードは、データ受信装置１が設置されている場所と通信相手側装置９が設置されている場所が遠距離である場合など、データ受信装置１と通信相手側装置９との間のデータ転送速度とデータ転送の通信に要する時間から求まるウィンドウサイズが受信用バッファメモリ２ａのデータ容量より大きい場合である。例えば、データ受信装置１と通信相手側装置９との間が低速ネットワークを経由して接続されている場合など、データ受信装置１と通信相手側装置９との間のデータ伝送の通信に要する時間が長い場合に選択するモードである。ここで、低速ネットワークとは、例えば、インターネット、ＩＳＤＮ（Integrated Services Digital Network）、ＡＤＳＬ（Asymmetric Digital Subscriber Line）などのＷＡＮである。
【００３２】
これらの高速モード又は低速モードの設定は、ユーザがデータ受信装置１と通信相手側装置９との間のネットワーク環境を認識して設定する。例えば、データ受信装置１と通信相手側装置９が社内に設置されており、これらの装置間のポップ数が少なく、高速ネットワークのみで接続されている場合には、高速モードを選択する。また、データ受信装置１と通信相手側装置９が別々の地域に設置されており、これらの装置間のポップ数が多く、低速ネットワークを介して接続されている場合には、低速モードを選択する。
【００３３】
中央制御部３は、データ転送速度が遅いローカルバスを介して通信制御部２と接続されており、データ受信装置１を総合的に制御する。中央制御部３は、通信制御部２の受信バッファメモリ２ｂに記憶されたデータの受信、通信プロトコル処理部２ａを制御するコマンドの送信などを行い、通信制御部２に、通信相手側装置９との通信回線の接続・切断、データの受信等を行わせる。また、中央制御部３は、通信相手側装置９から受信したデータに対して、デコード等の信号処理を行う。
【００３４】
中央制御部３は、モード設定部４から入力するモード信号により高速モードが設定されていると判断した場合、データ受信装置１と通信相手側装置９との間のデータ転送速度を高いデータ転送速度（例えば、１００ＢＡＳＥ−ＴＸ）に設定し、通信制御部２の受信用バッファメモリ２ａに記憶されたデータを順次読み取り、そのデータに対し信号処理を行う。
【００３５】
また、中央制御部３は、モード設定部４から入力するモード信号により低速モードが設定されていると判断した場合、データ受信装置１と通信相手側装置９との間のデータ転送速度を低いデータ転送速度（例えば、ローカルバスのデータ転送速度より遅い１０ＢＡＳＥ−ＴＸ）に設定し、通信制御部２の受信用バッファメモリ２ａに格納されているデータを順次読み取り、第２受信用バッファメモリ４ａに転送し記憶させ、第２受信用バッファメモリ４ａに記憶されたデータ全ての転送が完了すると、受信用バッファメモリ２ａのデータを記憶している領域を開放（データを消去）する制御を行う。そして、中央制御部３は、第２受信用バッファメモリ４ａに記憶されたデータに対し信号処理を行う。
【００３６】
データ受信装置１と通信相手側装置９との間のデータ伝送について説明する。
図２は、データ受信装置と通信相手側装置との間のデータの送受信を説明する図である。
データ受信装置１のウィンドウサイズが１０Ｋｂｙｔｅ、データ受信装置１と通信相手側装置９との間のデータ転送速度を１Ｍｂｐｓとし、データ受信装置１と通信相手側装置９との間のデータ伝送の通信に要する時間が片道（データ受信装置１から通信相手側装置９にデータが到達するまでの通信に要する時間、または、通信相手側装置９からデータ受信装置１にデータが到達するまでの通信に要する時間）１００ｍｓである場合、データ受信装置１と通信相手側装置９との間のデータの送受信は、図２に示すようになる。
【００３７】
すなわち、図２において、通信相手側装置９が、時刻０ｍｓからデータ受信装置１に１０ｋｂｙｔｅのデータＡの送信を開始する。データ受信装置１は、時刻１００ｍｓから、データＡの受信を開始する。データ受信装置１は、通信相手側装置９から送信されたデータＡの最初のパケットを受信すると、通信相手側装置９に最初のパケットを受信したことを示すＡＣＫパケットを送信する。その後、データ受信装置１は、パケットを受信する毎に通信相手側装置９にＡＣＫパケットを送信する。
【００３８】
一方、通信相手側装置９は、データＡの送信を開始した後、時刻１００ｍｓの時点（データ受信装置がデータを受信した時刻）でデータＡの送信を完了し、データ送信の処理を一旦停止する。
【００３９】
通信相手側装置９がデータ受信装置１にデータＡの送信を開始した後、時刻２００ｍｓの時点で、通信相手側装置９は、データ受信装置１が送信したＡＣＫパケットを受信する。そうすると、通信相手側装置９は、データ受信装置１に次の１０ＫｂｙｔｅのデータＢの送信を開始する。
【００４０】
一方、データ受信装置１は、時刻２００ｍｓの時点（通信相手側装置９がデータＢの送信を開始した時刻）で、通信相手側装置９が送信したデータＡの受信を完了し、次のデータを受信するまで待機する。
【００４１】
通信相手側装置９が時刻２００ｍｓからデータ受信装置１にデータＢの送信を開始した後、時刻３００ｍｓの時点で、データ受信装置１は、通信相手側装置９が送信したデータＢの受信を開始する。そして、データ受信装置１は、通信相手側装置９から送信されたデータＢの最初のパケットを受信すると、通信相手側装置９に最初のパケットを受信したことを示すＡＣＫパケットを送信し、その後、パケットを受信する毎に通信相手側装置９にＡＣＫパケットを送信する。
【００４２】
一方、通信相手側装置９は、データＢの送信を開始した後、時刻３００ｍｓの時点（データ受信装置１がデータＢを受信を開始した時刻）でデータＢの送信が完了し、データ送信の処理を一旦停止する。
【００４３】
通信相手側装置９がデータ受信装置１にデータＣの送信を開始した後、時刻４００ｍｓの時点で、データ受信装置１は、通信相手側装置９が送信したデータＢの受信を完了し、次のデータを受信するまで待機する。
【００４４】
一方、通信相手側装置９は、時刻４００ｍｓの時点でデータ受信装置１が送信したＡＣＫパケットを受信すると、データ受信装置１に次の１０ＫｂｙｔｅのデータＣの送信を開始する。
【００４５】
このように、通信相手側装置９が送信した１０Ｋｂｙｔｅのデータについて、データ受信装置１が受信を完了するまでには１００ｍｓの時間がかかり、データ受信装置１が送信したＡＣＫパケットを通信相手側装置９が受信するまでに１００ｍｓの時間がかかる。このため、通信相手側装置９とデータ受信装置１との間のデータ転送速度が１Ｍｂｐｓであっても、２００ｍｓの時間で１０Ｋｂｙｔｅのデータしか送信していないため、実質的には、通信相手側装置９とデータ受信装置１との間のデータ転送速度は、５００Ｋｂｐｓとなる。
【００４６】
通信相手側装置９とデータ受信装置１との間のデータ転送速度を改善するためには、通信相手側装置９とデータ受信装置１との間のデータ伝送の往復の通信に要する時間（２００ｍｓ）に、通信相手側装置９とデータ受信装置１との間のデータ転送速度（１Ｍｂｐｓ）で送信可能な２０Ｋｂｙｔｅのウィンドウサイズをデータ受信装置１に設ける必要がある。
【００４７】
つまり、通信相手側装置９とデータ受信装置１との間のデータ転送速度をＭｂ（Ｍｂｐｓ）、データ受信装置１に送信するデータとそのデータに付加する付加情報（例えば、エラー訂正信号など）との割合Ｃ、通信相手側装置９とデータ受信装置１との間の片側の通信に要する時間Ｔｄ（ｍｓｅｃ）とし、データ受信装置１のウィンドウサイズ（受信したデータを格納するメモリの容量）Ｓｗ（Ｋｂｙｔｅ）とすると、以下の式により求めることができる。
【００４８】
Ｓｗ＝Ｍｂ／８／Ｃ×２×Ｔｄ
【００４９】
したがって、データ受信装置１と通信相手側装置９との間が低速ネットワークを介して接続され、データ伝送の通信に要する時間が長い場合、上記式により求められるウィンドウサイズをデータ受信装置１に設ける。
【００５０】
ここで、データ受信装置１と通信相手側装置９との間のデータ伝送の通信に要する時間は、例えば、ＴＣＰ／ＩＰにおける「ｐｉｎｇコマンド」を用いて測定することができる。測定した通信に要する時間を用いて上記式により演算することにより適切なウィンドウサイズを求めることができる。
【００５１】
なお、ＴＣＰ／ＩＰにおいては、データ受信装置１と通信相手側装置９との間で通信回線の接続の処理が行われる段階で既にウィンドウサイズが決定し、それに基づいてデータの送受信が行われている。本実施例では、ユーザがデータ受信装置１と通信相手側装置９との間のネッワーク環境を認識し、高速モード又は低速モードの設定を行うようにするが、データ受信装置１が、自動的に、最初にデータ受信装置１と通信相手側装置９との間の通信に要する時間を測定した後、一旦通信の接続を切断し、適当なウィンドウサイズを設定し直した後、再度、通信相手側装置９と接続し、通信（データの送受信）を行うようにしてもよい。
【００５２】
図３は、本実施例のデータ受信装置の低速モードにおけるデータ受信の動作を説明する図である。
図３において、右側が通信制御部２の動作、左側が中央制御部５の動作を示す。
通信制御部２は、通信相手側装置９から送信されたパケットを受信すると、通信プロトコル処理部２ａは、そのパケットが自分のアドレス宛のデータであるか否かを確認する（Ｓ１１）。
【００５３】
通信プロトコル処理部２ａは、当該パケットが自分のアドレス宛のデータであれば、そのパケットのデータを受信用バッファメモリ２ｂへの格納を開始する（Ｓ１２）。
【００５４】
当該パケットの格納が終了すると、通信プロトコル処理部２ａは、受信用バッファメモリ２ｂに格納したデータを中央制御部５に転送するための割込要求を中央制御部５に出力する（Ｓ１３）。
【００５５】
中央制御部５は、通信制御部２からの割込要求を受け付けると、通信制御部２から出力されたデータの受取りを開始し、メインメモリ４の第２受信用バッファメモリ４ａへの転送を開始する（Ｓ１４）。
【００５６】
第２受信用バッファメモリ４ａにデータの転送が完了すると、中央制御部５は、通信制御部２に、第２受信用バッファメモリ４ａに記憶したデータが格納されている受信用バッファメモリ２ｂの使用領域を開放するよう要求する（Ｓ１５）。
【００５７】
通信制御部２は、中央制御部５から、既に中央制御部５に転送したデータが格納されている受信用バッファメモリ２ｂの使用領域を開放する要求を受けると、受信用バッファメモリ２ｂの使用領域を開放し（Ｓ１６）、通信相手側装置９から送信されてくるデータを受信するまで待機する（Ｓ１７）。
【００５８】
一方、中央制御部５は、通信制御部２に、第２受信用バッファメモリ４ａに記憶したデータが格納されている受信用バッファメモリ２ｂの使用領域を開放するよう要求をした後、第２受信用バッファメモリ４ａに記憶したデータのデータ格納位置を、中央制御部５内部の上位アプリケーションに通知する（Ｓ１８）。
【００５９】
一方、中央制御部５内部の上位アプリケーションは、通知されたデータ格納位置に基づいてデータの読み出し等を行い、そのデータに対して信号処理を開始する（Ｓ１９）。
【００６０】
本実施例のデータ受信装置１において、通信相手側装置９が近い所（例えば、ＬＡＮ内）に設置されている場合の高速モードと、通信相手側装置９が遠い所（例えば、インターネットなどのＷＡＮを経由する場合）に設置されている場合の低速モードについて説明する。
ここで、データ受信装置１と他の装置（例えば、通信中継装置８、または、通信中継装置８を経由した通信相手側装置９）との間のデータ転送速度をリンク速度とする。
【００６１】
データ受信装置１と通信中継装置８との間は、１００ＢＡＳＥ−ＴＸ、１０ＢＡＳＥ−Ｔのどちらでもリンクできるものとする。一般的に、１００ＢＡＳＥ−ＴＸでは約１００Ｍｂｐｓ、１０ＢＡＳＥ−Ｔでは約１０Ｍｂｐｓのデータ転送速度が期待できると考えられる。また、データ受信装置１内の通信制御部２と中央制御部５との間を接続するローカルバスは、データ転送速度が１０Ｍｂｐｓを越えるが１００Ｍｂｐｓに満たないバスであり、本実施例では、データ転送速度が５０Ｍｂｐｓのローカルバスとする。
【００６２】
データ受信装置１は、通信制御部２に接続される通信中継装置８に対して複数のリンク速度のうちどのリンク速度で接続が可能かを試みる。
【００６３】
データ受信装置１と通信相手側装置９とが高速なネットワークで接続されている場合について説明する。
ＬＡＮ内にデータ受信装置１と通信相手側装置９が設置されているような場合、リンク速度は１００Ｍｂｐｓ（１００ＢＡＳＥ−ＴＸ）であり、受信時の最大ウィンドウサイズは通信制御部２の受信用バッファメモリ２ｂのデータ容量以下となる。
【００６４】
この場合、リンク速度（１００Ｍｂｐｓ）は、通信制御部２と中央制御部５との間のローカルバスのデータ転送速度（５０Ｍｂｐｓ）を上回る。このため、通信制御部２の受信用バッファメモリ２ｂから受信したデータが中央制御部５への転送が完了する前に、通信相手側装置９から次のパケットを受信することになる。
【００６５】
しかし、ウィンドウサイズが常に通信制御部２の受信用バッファメモリ２ｂの空き容量以下となるように制御するため、通信相手側装置９からは受信用バッファメモリ２ｂの容量以上のデータ量のパケットは送信されない。このため、データ受信装置と通信相手側装置との間が高速ネットワークで接続されている場合、すなわち、ＡＣＫパケットがデータ受信装置１から通信相手側装置９に短時間（通信に要する時間が短い）で送信できる場合には、データ受信装置１は、速いリンク速度で通信相手側装置９との通信を行う高速モードを使用する。
【００６６】
この高速モードでは、ウィンドウサイズは、受信用バッファメモリ２ｂの容量より小さい容量となっているため、データ受信装置１は、ＴＣＰ／ＩＰにより通信中の通信相手側装置９からの送信されてくるデータをオーバフローすることなく受信することができ、中央制御部５の能力を効率よく使用した通信が行うことができる。
【００６７】
次に、データ受信装置１と通信相手側装置９とが低速なネットワークを介して接続されている場合について説明する。
データ受信装置１と通信相手側装置９とがＷＡＮを経由して接続されているような遠距離に設置されている場合、データ受信装置１は、リンク速度をローカルバスのデータ転送速度より遅い１０Ｍｂｐｓ（１０ＢＡＳＥ−Ｔ）に設定し、受信時の最大ウィンドウサイズはメインメモリ４に備えられた第２受信用バッファメモリ４ａの容量以下となる。
【００６８】
この場合、リンク速度（１０Ｍｂｐｓ）は、通信制御部２と中央制御部５との間のローカルバスのデータ転送速度（５０Ｍｂｐｓ）を下回る。このため、受信したデータは、直ちに通信制御部２の受信用バッファメモリ２ｂから中央制御部５のメインメモリ４の第２受信用バッファメモリ４ａに転送される。
【００６９】
受信用バッファメモリ２ｂからメインメモリ４の第２受信用バッファメモリ４ａへのデータの転送が完了すると、中央制御部５は、通信制御部２に受信用バッファメモリ２ｂの使用領域を開放させる。このため、受信用バッファメモリ２ｂは、次に受信したデータを格納できる状態となる。このことにより、受信用バッファメモリ２ｂは、メインメモリ４の第２受信用バッファメモリ４ａに空きがある限り、常に通信相手側装置９からデータを受信することができる。
【００７０】
通信制御部２は、常にウィンドウサイズが、メインメモリ４に備えられた第２受信用バッファメモリ４ａの容量を合計した容量以下となるように制御するため、通信相手側装置９からはメインメモリ４に備えられた第２受信用バッファメモリ４ａの容量を合計した容量以上のデータ量のパケットは送信されない。このため、データ受信装置１と通信相手側装置９とが低速なネットワークを介して接続されている場合、すなわち、データを受信したことを示すＡＣＫパケットをデータ受信装置１から通信相手側装置９に送信する時間が長い場合（通信に要する時間が長い）には、データ受信装置１は、遅いリンク速度で通信相手側装置９との通信を行う低速モードを使用する。
【００７１】
この低速モードでは、通信制御部２が受信したデータを直ちに中央制御部５を介してメインメモリ４の第２受信用バッファメモリ４ａに転送するため、ウィンドウサイズは、メインメモリ４の第２受信用バッファメモリ４ａの容量が上限となる。このため、データ受信装置１は、ＴＣＰ／ＩＰによる通信中の通信相手側装置９から送信されてくるデータをオーバフローなく受信することができ、より大きなウィンドウサイズを使うことにより、データ伝送の通信に要する時間が長くても、比較的速く通信相手側装置９からデータを受信することができる。
【００７２】
上述したモード設定は、以下のような場合に用いることができる。
図４は、本実施例のデータ受信装置と通信相手側装置との接続形態の一例を説明する図である。
通信相手側装置９は、複数のコンテンツデータを蓄積したサーバとする。データ受信装置１は、最初に通信相手側装置９が蓄積しているコンテンツデータを取得して記憶部（ここでは、メインメモリ４として説明する。）に記憶し、そのコンテンツデータを再生し、通信相手側装置９に新たなコンテンツデータが蓄積した場合、そのコンテンツデータを取得してメインメモリ４に記憶し、当該コンテンツデータを再生する。
【００７３】
具体的には、まず、データ受信装置１は、工場出荷時に予め定めた複数のコンテンツデータをメインメモリ４に記憶する。例えば、図４（ａ）に示すように、通信相手側装置９とデータ受信装置１は、ルータを介してＬＡＮ６で接続され、データ受信装置１は、通信相手側装置９のコンテンツデータをダウンロードし、メインメモリ４に記憶する。
【００７４】
その後、ユーザがデータ受信装置１を購入し、データ受信装置１がインターネット等のネットワークを介して通信相手側装置９に接続可能な状態になった場合、通信相手側装置９から新たなコンテンツデータを入手、或いは、データ受信装置１が搭載しているアプリケーションのアップデータ等を行うような形態となる。
【００７５】
図４（ｂ）に示すように、データ受信装置１は、ルータとＬＡＮ６で接続し、当該ルータと通信相手側装置９側のルータとがインターネット（ＷＡＮ）を介して接続され、通信相手側装置９側のルータと通信相手側装置９がＬＡＮで接続される。データ受信装置１からの要求により通信相手側装置９がＷＡＮを介してデータ受信装置１にデータを送信し、データ受信装置１は、通信相手側装置９から送信されてきたデータを受信し、もメインメモリ４に記憶する。
【００７６】
このような利用形態において、図４（ａ）に示すように通信相手側装置９とデータ受信装置１とが高速なネットワーク（ＬＡＮ）で接続された場合は、高速モードを選択し、図４（ｂ）に示すように通信相手側装置９とデータ受信装置１とが低速ネットワーク（ＷＡＮ）を介して接続された場合は、低速モードを設定する。このことにより、いずれの接続形態で接続された場合でも、データ受信装置１は、最適なデータ転送速度でデータを受信することができる。
【００７７】
以上のように、データ受信装置と通信相手側装置が高速ネットワークにより接続されている場合など、データ受信装置と通信相手側装置との間のデータ転送の通信に要する時間が短い場合は、ウィンドウサイズが常に通信制御部の受信用バッファメモリの空き容量以下となるように通信制御が行われる。ウィンドウサイズが小さい場合でも、あまり通信パフォーマンスの低下を招くことはなく、通信制御部と中央制御部との間のローカルバスのデータ転送速度の限界まで、通信パフォーマンスをあげることができる。
【００７８】
また、データ受信装置と通信相手側装置が低速ネットワークにより接続されている場合など、データ受信装置と通信相手側装置との間のデータ転送の通信に要する時間が長い場合は、ウィンドウサイズが小さいことにより通信パフォーマンスの低下を招くため、ウィンドウサイズが常にメインメモリの第２受信用バッファメモリの容量以下となるように通信制御が行われる。このため、リンク速度は高速なネットワークにより接続されている場合より低下するが、大きなウィンドウサイズにより通信パフォーマンスが低下することなくデータの送受信を行うことができる。
【図面の簡単な説明】
【００７９】
【図１】本発明のデータ受信装置の一実施例の概略構成を示す図。
【図２】データ受信装置と通信相手側装置との間のデータの送受信を説明する図。
【図３】本実施例のデータ受信装置の低速モードにおけるデータ受信の動作を説明する図。
【図４】本実施例のデータ受信装置と通信相手側装置との接続形態の一例を説明する図。
【図５】従来のデータ通信装置の概略構成を示す図。
【符号の説明】
【００８０】
１・・・データ受信装置、２・・・通信制御部、２ａ・・・通信プロトコル処理部、２ｂ・・・受信用バッファメモリ、３・・・モード設定部、４・・・メインメモリ、４ａ・・・第２受信用バッファメモリ、５・・・中央制御部、６・・・ＬＡＮ、７・・・通信中継装置、８・・・ＷＡＮ、９・・・通信相手側装置。
【図１】
2005109765.tif 000003
【図２】
2005109765.tif 000004
【図３】
2005109765.tif 000005
【図４】
2005109765.tif 000006
【図５】
2005109765.tif 000007