(57)【特許請求の範囲】
【請求項１】
少なくとも１つの送信元ノードと複数の送信先ノードとの間のデータ伝送を中継する中継ノードであって、
メモリと、
前記メモリを用いて、前記少なくとも１つの送信元ノードと前記複数の送信先ノードとの間のデータ伝送の高速化処理をする高速化処理部と、
前記メモリを用いて、前記高速化処理以外の情報処理として、データの中継に関する処理、および前記データの中継に関する処理以外のアプリケーションに関する情報処理の少なくとも一方をする情報処理部と、
前記情報処理部が利用する前記メモリの第１容量に基づいて、前記高速化処理部が利用可能な前記メモリの第２容量を制御するメモリ制御部と
を備え、
前記メモリ制御部は、前記高速化処理部が使用している前記メモリの容量が前記第２容量に達した場合、前記高速化処理部による前記高速化処理の実行を抑制することで、前記高速化処理部よりも前記情報処理部に優先的に前記メモリの容量を割り当てる、中継ノード。
【請求項２】
前記メモリ制御部は、新たなセッションの確立を要求してきた送信先ノードがすでに確立しているセッションの数が、前記高速化処理を許可する単位ノード当たりのセッションの数よりも小さい場合、前記新たなセッションの確立を要求してきた前記送信先ノードの前記新たなセッションに対して前記第２容量の中から前記メモリの容量を割り当てる、請求項１に記載の中継ノード。
【請求項３】
前記メモリ制御部は、前記複数の送信先ノードとの間にすでに確立されているセッションの合計の数が予め定められた数に達したことに対応して、前記高速化処理をさせるセッションの数を低下させるように、前記複数の送信先ノードに割り当てられる前記メモリの容量を調整する、請求項１または請求項２に記載の中継ノード。
【請求項４】
前記メモリ制御部は、前記複数の送信先ノードとの間にすでに確立されているセッションの合計の数が予め定められた数に達したことに対応して、前記複数の送信先ノードまたはそれぞれのセッションに対して割り当てられる前記メモリの容量を均等化する、請求項１から請求項３のいずれか１つに記載の中継ノード。
【請求項５】
前記複数の送信先ノードのうち一の送信先ノードと前記中継ノードとの間、または前記少なくとも１つの送信元ノードのうち前記一の送信先ノードに対応する一の送信元ノードと前記中継ノードとの間の通信品質を取得する通信品質取得部をさらに備え、
前記メモリ制御部は、前記通信品質が予め定められた基準通信品質を満たさない場合、前記通信品質が前記基準通信品質を満たす場合よりも、前記一の送信先ノードに対して前記第２容量の中から割り当てられる前記メモリの容量を大きくする、請求項１から請求項４のいずれか１つに記載の中継ノード。
【請求項６】
前記複数の送信先ノードのそれぞれと前記中継ノードとの間、または前記少なくとも一つの送信元ノードのうち前記複数の送信先ノードのそれぞれに対応するそれぞれの送信元ノードと前記中継ノードとの間の通信品質を取得する通信品質取得部をさらに備え、
前記メモリ制御部は、前記複数の送信先ノードのうち、前記通信品質取得部により取得された前記通信品質が低い送信先ノードほど、前記第２容量の中から割り当てられる前記メモリの容量を大きくする、請求項１から請求項５のいずれか１つに記載の中継ノード。
【請求項７】
前記メモリ制御部は、前記複数の送信先ノードのうち予め定められたノード条件を満たす送信先ノードに対して、前記ノード条件を満たさない送信先ノードよりも、前記第２容量の中から割り当てられる前記メモリの容量を大きくする、請求項１から請求項６のいずれか１つに記載の中継ノード。
【請求項８】
前記メモリ制御部は、前記複数の送信先ノードのうち前記中継ノードとの間に確立されたセッションが予め定められたセッション条件を満たす送信先ノードに対して、前記セッション条件を満たさない送信先ノードよりも、前記第２容量の中から割り当てられる前記メモリの容量を大きくする、請求項１から７のいずれか１つに記載の中継ノード。
【請求項９】
前記メモリ制御部は、前記セッション条件を満たす前記送信先ノードに対して前記第２容量の中から前記メモリの容量を割り当て、前記高速化処理部に前記セッション条件を満たす前記送信先ノードに対する前記高速化処理をさせ、前記セッション条件を満たさない前記送信先ノードに対して前記第２容量の中から前記メモリの容量を割り当てず、前記高速化処理部に前記セッション条件を満たさない前記送信先ノードに対する前記高速化処理をさせない、請求項８に記載の中継ノード。
【請求項１０】
前記メモリ制御部は、前記複数の送信先ノードのうち前記中継ノードとの間の通信に使用されるプロトコルが予め定められたプロトコル条件を満たす送信先ノードに対して、前記プロトコル条件を満たさない送信先ノードよりも、前記第２容量の中から割り当てられる前記メモリの容量を大きくする、請求項１から９のいずれか１つに記載の中継ノード。
【請求項１１】
前記メモリ制御部は、前記プロトコル条件を満たす前記送信先ノードに対して前記第２容量の中から前記メモリの容量を割り当て、前記高速化処理部に前記プロトコル条件を満たす前記送信先ノードに対する前記高速化処理をさせ、前記プロトコル条件を満たさない前記送信先ノードに対して前記第２容量の中から前記メモリの容量を割り当てず、前記高速化処理部に前記プロトコル条件を満たさない前記送信先ノードに対する前記高速化処理をさせない、請求項１０に記載の中継ノード。
【請求項１２】
前記メモリ制御部は、前記複数の送信先ノードのうち前記中継ノードとの間でやりとりされるデータを使用して実行されるアプリケーションが予め定められたアプリケーション条件を満たす送信先ノードに対して、前記アプリケーション条件を満たさない送信先ノードよりも、前記第２容量の中から割り当てられる前記メモリの容量を大きくする、請求項１から請求項１１のいずれか１つに記載の中継ノード。
【請求項１３】
前記アプリケーション条件を満たす前記送信先ノードに対して前記第２容量の中から前記メモリの容量を割り当て、前記高速化処理部に前記アプリケーション条件を満たす前記送信先ノードに対する前記高速化処理をさせ、前記アプリケーション条件を満たさない前記送信先ノードに対して前記第２容量の中から前記メモリの容量を割り当てず、前記高速化処理部に前記アプリケーション条件を満たさない前記送信先ノードに対する前記高速化処理をさせない、請求項１２に記載の中継ノード。
【請求項１４】
前記高速化処理部は、前記少なくとも１つの送信元ノードのうちの一の送信元ノードからのデータ伝送の第１スループットと、前記複数の送信先ノードのうちの一の送信先ノードへのデータ伝送の第２スループットとの差が小さくなるように、前記第１スループットおよび前記第２スループットの一方のスループットに基づいて他方のスループットを調整して、前記高速化処理をする、請求項１から請求項１３のいずれか１つに記載の中継ノード。
【請求項１５】
前記高速化処理部は、前記一の送信元ノードから受信したデータに対する受信応答を、前記一の送信先ノードに代わって代理応答することで、前記高速化処理をし、
前記メモリ制御部は、前記メモリの前記第２容量を用いて、前記高速化処理部が前記一の送信元ノードから前記一の送信先ノードへ中継されるデータについて前記高速化処理をする場合に一時的に保持するデータ量が基準値より小さくなるように、前記高速化処理部に前記受信応答のタイミングを調整させることで、前記第１スループットと前記第２スループットとの差を小さくする、請求項１４に記載の中継ノード。
【請求項１６】
前記高速化処理部は、前記一の送信元ノードから一度に受信可能なデータのサイズを調整することで、前記高速化処理をし、
前記メモリ制御部は、前記メモリの前記第２容量を用いて、前記高速化処理部が前記一の送信元ノードから前記一の送信先ノードへ中継されるデータについて前記高速化処理をする場合に一時的に保持するデータ量が基準値より小さくなるように、前記高速化処理部に前記受信可能なデータのサイズを調整させることで、前記第１スループットと前記第２スループットとの差を小さくする、請求項１４または請求項１５に記載の中継ノード。
【請求項１７】
前記少なくとも１つの送信元ノードと有線で通信する有線通信部と、
前記複数の送信先ノードと無線で通信する無線通信部と
をさらに備える請求項１から請求項１６のいずれか１つに記載の中継ノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継ノードに関する。
【背景技術】
【０００２】
特許文献１には、ＴＣＰコネクションのスループットを高速化させるＴＣＰコネクション中継装置が記載されている。
特許文献１  特開２００６−１００９１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
送信元ノードと送信先ノードとの間のデータ伝送の高速化処理をする中継ノードにおいて、高速化処理に加えて中継処理などの他の情報処理をする場合、高速化処理および他の情報処理に利用されるメモリの容量が小さいと、それぞれの処理に遅延が生じるなどの不具合が発生する可能性がある。
【課題を解決するための手段】
【０００４】
本発明の一態様に係る中継ノードは、少なくとも１つの送信元ノードと複数の送信先ノードとの間のデータ伝送を中継する中継ノードであって、メモリと、メモリを用いて、少なくとも１つの送信元ノードと複数の送信先ノードとの間のデータ伝送の高速化処理をする高速化処理部と、メモリを用いて、高速化処理以外の情報処理をする情報処理部と、情報処理部が利用するメモリの第１容量に基づいて、高速化処理部が利用可能なメモリの第２容量を制御するメモリ制御部とを備える。
【０００５】
上記中継ノードにおいて、複数の送信先ノードのうち一の送信先ノードと中継ノードとの間、または少なくとも１つの送信元ノードのうち一の送信先ノードに対応する一の送信元ノードと中継ノードとの間の通信品質を取得する通信品質取得部をさらに備え、メモリ制御部は、通信品質が予め定められた基準通信品質を満たさない場合、通信品質が基準通信品質を満たす場合よりも、一の送信先ノードに対して第２容量の中から割り当てられるメモリの容量を大きくしてもよい。
【０００６】
上記中継ノードにおいて、メモリ制御部は、通信品質が予め定められた基準通信品質を満たさない場合、第２容量の中から前記メモリの容量を割り当て、高速化処理部に一の送信先ノードに対する高速化処理をさせ、通信品質が基準通信品質を満たす場合、一の送信先ノードに対して第２容量の中から前記メモリの容量を割り当てず、高速化処理部に一の送信先ノードに対する高速化処理をさせなくてもよい。
【０００７】
上記中継ノードにおいて、複数の送信先ノードのそれぞれと中継ノードとの間、または少なくとも一つの送信元ノードのうち複数の送信先ノードのそれぞれに対応するそれぞれの送信元ノードと中継ノードとの間の通信品質を取得する通信品質取得部をさらに備え、メモリ制御部は、複数の送信先ノードのうち、通信品質取得部により取得された通信品質が低い送信先ノードほど、第２容量の中から割り当てられるメモリの容量を大きくしてもよい。
【０００８】
上記中継ノードにおいて、メモリ制御部は、通信品質が予め定められた基準通信品質を満たさない送信先ノードに対して第２容量の中からメモリの容量を割り当て、高速化処理部に基準通信品質を満たさない送信先ノードに対する高速化処理をさせ、基準通信品質を満たす送信先ノードに対して第２容量の中からメモリの容量を割り当てず、高速化処理部に基準通信品質を満たす送信先ノードに対する高速化処理をさせなくてもよい。
【０００９】
上記中継ノードにおいて、メモリ制御部は、複数の送信先ノードのうち予め定められたノード条件を満たす送信先ノードに対して、予め定められたノード条件を満たさない送信先ノードよりも、第２容量の中から割り当てられるメモリの容量を大きくしてもよい。
【００１０】
上記中継ノードにおいて、メモリ制御部は、ノード条件を満たす送信先ノードに対して第２容量の中からメモリの容量を割り当て、高速化処理部にノード条件を満たす送信先ノードに対する高速化処理をさせ、ノード条件を満たさない送信先ノードに対して第２容量の中からメモリの容量を割り当てず、高速化処理部にノード条件を満たさない送信先ノードに対する高速化処理をさせなくてもよい。
【００１１】
上記中継ノードにおいて、メモリ制御部は、複数の送信先ノードのうち中継ノードとの間に確立されたセッションが予め定められたセッション条件を満たす送信先ノードに対して、セッション条件を満たさない送信先ノードよりも、第２容量の中から割り当てられるメモリの容量を大きくしてもよい。
【００１２】
上記中継ノードにおいて、メモリ制御部は、セッション条件を満たす送信先ノードに対して第２容量の中からメモリの容量を割り当て、高速化処理部にセッション条件を満たす送信先ノードに対する高速化処理をさせ、セッション条件を満たさない送信先ノードに対して第２容量の中からメモリの容量を割り当てず、高速化処理部にセッション条件を満たさない送信先ノードに対する高速化処理をさせなくてもよい。
【００１３】
上記中継ノードにおいて、メモリ制御部は、複数の送信先ノードのうち中継ノードとの間の通信に使用されるプロトコルが予め定められたプロトコル条件を満たす送信先ノードに対して、プロトコル条件を満たさない送信先ノードよりも、第２容量の中から割り当てられるメモリの容量を大きくしてもよい。
【００１４】
上記中継ノードにおいて、メモリ制御部は、プロトコル条件を満たす送信先ノードに対して第２容量の中からメモリの容量を割り当て、高速化処理部にプロトコル条件を満たす送信先ノードに対する高速化処理をさせ、プロトコル条件を満たさない送信先ノードに対して第２容量の中からメモリの容量を割り当てず、高速化処理部にプロトコル条件を満たさない送信先ノードに対する高速化処理をさせなくてもよい。
【００１５】
上記中継ノードにおいて、メモリ制御部は、複数の送信先ノードのうち中継ノードとの間でやりとりされるデータを使用して実行されるアプリケーションが予め定められたアプリケーション条件を満たす送信先ノードに対して、アプリケーション条件を満たさない送信先ノードよりも、第２容量の中から割り当てられるメモリの容量を大きくしてもよい。
【００１６】
上記中継ノードにおいて、アプリケーション条件を満たす送信先ノードに対して第２容量の中からメモリの容量を割り当て、高速化処理部にアプリケーション条件を満たす送信先ノードに対する高速化処理をさせ、アプリケーション条件を満たさない送信先ノードに対して第２容量の中からメモリの容量を割り当てず、高速化処理部にアプリケーション条件を満たさない送信先ノードに対する高速化処理をさせなくてもよい。
【００１７】
上記中継ノードにおいて、高速化処理部は、少なくとも１つの送信元ノードのうちの一の送信元ノードからのデータ伝送の第１スループットと、複数の送信先ノードのうちの一の送信先ノードへのデータ伝送の第２スループットとの差が小さくなるように、第１スループットおよび第２スループットの一方のスループットに基づいて他方のスループットを調整して、高速化処理をしてもよい。
【００１８】
上記中継ノードにおいて、高速化処理部は、一の送信元ノードから受信したデータに対する受信応答を、一の送信先ノードに代わって代理応答することで、高速化処理をし、メモリ制御部は、メモリの第２容量を用いて、高速化処理部が一の送信元ノードから一の送信先ノードへ中継されるデータについて高速化処理をする場合に一時的に保持するデータ量が基準値より小さくなるように、高速化処理部に受信応答のタイミングを調整させることで、第１スループットと第２スループットとの差を小さくしてもよい。
【００１９】
上記中継ノードにおいて、高速化処理部は、一の送信元ノードから一度に受信可能なデータのサイズを調整することで、高速化処理をし、メモリ制御部は、メモリの第２容量を用いて、高速化処理部が一の送信元ノードから一の送信先ノードへ中継されるデータについて高速化処理をする場合に一時的に保持するデータ量が基準値より小さくなるように、高速化処理部に受信可能なデータのサイズを調整させることで、第１スループットと第２スループットとの差を小さくしてもよい。
【００２０】
上記中継ノードは、少なくとも１つの送信元ノードと有線で通信する有線通信部と、複数の送信先ノードと無線で通信する無線通信部とをさらに備えてもよい。
【００２１】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００２２】
【図１】本実施形態に係る通信システムの全体構成の一例を示す図である。
【図２】本実施形態に係る通信装置の機能構成を概略的に示す図である。
【図３】メモリ制御部が高速化処理部にメモリの容量を割り当てる手順の一例を示すフローチャートである。
【図４】通信装置が中継処理を行う手順の一例を示すフローチャートである。
【図５】通信装置が高速化処理を行う手順の一例を示すフローチャートである。
【図６】通信装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００２３】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００２４】
図１は、本実施形態に係る通信システムの全体構成の一例を示す。通信システムは、アクセスポイント１００、通信端末２００、通信端末２１０、通信端末２２０、通信端末２３０、基地局３００、およびデータ提供装置４００を含む。
【００２５】
アクセスポイント１００、基地局３００、およびデータ提供装置４００は、インターネットなどのネットワーク１０を介して接続されている。アクセスポイント１００は、例えば、無線ＬＡＮアクセスポイントである。アクセスポイント１００は、送信元ノードと送信先ノードとの間のデータ伝送を中継する中継ノードの一例である。基地局３００は、例えば、３Ｇ、ＬＴＥ、または４Ｇなどのセルラー網の基地局である。データ提供装置４００は、例えば、Ｗｅｂサーバ、ファイルサーバ、メールサーバなど通信端末２００、通信端末２１０、通信端末２２０および通信端末２３０に各種データを提供する装置である。なお、アクセスポイント１００は、セルラー網の基地局３００に比べて小さいセルでエリアをカバーするフェムトセル基地局またはＰＨＳ基地局などの無線通信装置でもよい。
【００２６】
通信端末２００は、例えば、アクセスポイント１００を介してデータ提供装置４００との間でデータを送受信する無線端末である。通信端末２１０は、例えば、基地局３００を介してデータ提供装置４００との間でデータを送受信する無線端末である。通信端末２１０は、テザリング機能を有する。通信端末２２０は、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）またはＵＳＢケーブルを介して通信端末２１０と通信してよい。通信端末２２０は、例えば、通信端末２１０のテザリング機能を利用して、通信端末２１０および基地局３００を介してデータ提供装置４００との間でデータを送受信してもよい。また、通信端末２２０は、通信端末２１０のテザリング機能を利用して、通信端末２１０およびアクセスポイント１００を介してデータ提供装置４００との間でデータを送受信してもよい。
【００２７】
通信端末２３０は、基地局３００を介してデータ提供装置４００との間でデータを送受信する無線端末である。なお、通信端末２００および２２０は、基地局３００を介してデータ提供装置４００との間でデータを送受信してもよい。通信端末２３０は、アクセスポイント１００または通信端末２１０を介してデータ提供装置４００との間でデータを送受信してもよい。
【００２８】
通信端末２００、通信端末２１０および通信端末２３０は、例えばスマートフォンである。通信端末２２０は、例えばタブレット、ゲーム機器などである。
【００２９】
上記のような通信システムにおいて、通信端末２００などの送信先ノードへのデータ伝送のスループットを向上させるべく、送信元ノードと送信先ノードとの間のデータ伝送の高速化処理を実行する高速化処理装置を設置する場合がある。高速化処理を実行する専用の高速化処理装置の場合、ＣＰＵおよびメモリを高速化処理の実行に占有させることができる。しかしながら、このような高速化処理装置を、アクセスポイント１００または基地局３００などスループットを向上させたいネットワークに接続された機器に併設する場合、高速化処理装置を設置するスペースの確保が困難な場合がある。そこで、中継処理などの他の情報処理をするアクセスポイント１００などに高速化処理の機能を組み込むことが考えられる。しかし、例えば、中継処理などの他の情報処理を実行するアクセスポイント１００が、メモリを用いて他の情報処理に加えて高速化処理をする場合、それぞれの処理にメモリの容量を十分に割り当てられない可能性がある。また、アクセスポイント１００が、メモリを用いて、高速化処理に加えて中継処理などの他の情報処理をする場合、メモリの容量が小さいと、それぞれの処理に遅延が生じるなどの不具合が発生する可能性がある。
【００３０】
そこで、アクセスポイント１００は、高速化処理を選択的に実行することで、高速化処理に伴う処理の負担を低減させ、高速化処理以外の情報処理に悪影響が及ぶことを防止する。
【００３１】
図２は、アクセスポイント１００の機能構成を概略的に示す。アクセスポイント１００は、制御部１２０、有線通信部１３０および無線通信部１４０を備える。制御部１２０は、メモリ１０２、高速化処理部１０４、情報処理部１０６、メモリ制御部１０８、条件保持部１１０、および通信品質取得部１１２を含む。
【００３２】
アクセスポイント１００は、データ提供装置４００などの少なくとも１つの送信元ノードと、通信端末２００および通信端末２１０などの複数の送信先ノードとの間のデータ伝送を中継する中継ノードの一例である。
【００３３】
有線通信部１３０は、少なくとも１つの送信元ノードと有線で通信する。有線通信部１３０は、例えば、データ提供装置４００と有線でインターネットを介して通信する。無線通信部１４０は、複数の送信先ノードと無線で通信する。無線通信部１４０は、例えば、通信端末２００および通信端末２１０と、ＷｉＦｉなどの無線で通信する。
【００３４】
高速化処理部１０４は、メモリ１０２を用いて、少なくとも１つの送信元ノードと複数の送信先ノードとの間のデータ伝送の高速化処理をする。高速化処理部１０４は、少なくとも１つの送信元ノードと複数の送信先ノードとの間のデータ伝送に利用されるプロトコルがＴＣＰの場合に高速化処理をしてもよい。高速化処理部１０４は、利用されるプロトコルがＴＣＰの場合に、送信元ノードから受信したデータに対する受信応答（ＡＣＫ）を、送信先ノードに代わって代理応答することで、高速化処理をしてもよい。高速化処理部１０４は、利用されるプロトコルがＴＣＰの場合に、送信元ノードから一度に受信可能なデータのサイズ、例えばウィンドウサイズを調整することで、高速化処理をしてもよい。なお、高速化処理の具体的な処理内容は、上記には限定されない。
【００３５】
情報処理部１０６は、メモリ１０２を用いて、高速化処理以外の情報処理をする。情報処理部１０６は、データの中継に関する処理、例えばルーティング処理などを行ってもよい。なお、テザリング機能を有するスマートフォンなどの通信端末２１０が、中継ノードとして機能する場合には、情報処理部１０６は、データの中継に関する処理以外の各種アプリケーションに関する情報処理をしてもよい。
【００３６】
メモリ制御部１０８は、情報処理部１０６が利用するメモリ１０２の第１容量に基づいて、高速化処理部１０４が利用可能なメモリ１０２の第２容量を制御する。メモリ制御部１０８は、メモリ１０２の容量を高速化処理部１０４よりも情報処理部１０６に優先的に割り当ててもよい。メモリ制御部１０８は、高速化処理部１０４が使用しているメモリ１０２の容量が第２容量に達した場合には、高速化処理部１０４による高速化処理の実行を抑制させてもよい。例えば、メモリ制御部１０８は、高速化処理部１０４が使用しているメモリ１０２の容量が第２容量に達した場合には、ノードが新たに確立を要求してきたセッションにおいて高速化処理部１０４が高速化処理をできないように、新たなセッションあるいは、新たなセッションを要求してきたノードに対して第２容量から新たな容量を割り当てなくもよい。メモリ制御部１０８は、高速化処理部１０４が使用しているメモリ１０２の容量が第２容量に達した場合には、高速化処理が実行されている現在のセッションの中から新たなセッションよりも優先度の低いセッションに対する高速化処理を中断させるべく、新たなセッションよりも優先度の低いセッションに割り当てられているメモリ１０２の容量を開放してもよい。
【００３７】
また、メモリ制御部１０８は、高速化処理部１０４が使用しているメモリ１０２の容量が第２容量に達した場合に、メモリ１０２にまだ空き容量がある場合には、ノードが新たに確立を要求してきたセッションにおいて高速化処理部１０４が高速化処理をできるように、空き容量の中から新たなセッションの確立を要求してきたノードに対して容量を割り当ててもよい。さらに、メモリ制御部１０８は、その空き容量の残りが予め定められた容量に達した場合には、情報処理部１０６によりその残りの容量を用いた新たな処理を実行させることを優先させてもよい。この場合、メモリ制御部１０８は、新たなセッションの確立を要求してきたノードに対して残りの容量の中から容量を割り当てず、そのノードに対しては、高速化処理部１０４が高速化処理をできないようにしてもよい。
【００３８】
通信品質取得部１１２は、複数の送信先ノードのうち一の送信先ノードと中継ノードとの間、または少なくとも１つの送信元ノードにうち一の送信先ノードに対応する一の送信元ノードと中継ノードとの間の通信品質を取得してもよい。通信品質取得部１１２は、複数の送信先ノードのそれぞれと中継ノードとの間、または少なくとも１つの送信元ノードのうち複数の送信先ノードのそれぞれに対応するそれぞれの送信元ノードと中継ノードとの間の通信品質を取得してもよい。
【００３９】
通信品質取得部１１２は、例えば、通信端末２００とアクセスポイント１００との間の通信品質を取得してもよい。通信品質取得部１１２は、通信端末２００を含む複数の通信端末のそれぞれとアクセスポイント１００との間の通信品質を取得してもよい。
【００４０】
ここで、通信品質とは、複数の送信先ノードへのデータ伝送のスループットに影響を及ぼす通信に関する指標を示す。通信品質取得部１１２は、送信先ノードにおける受信信号強度（ＲＳＳＩ）、雑音指数（ＮＦ）、リンク速度などを通信品質として取得してもよい。通信品質取得部１１２は、送信先ノードに対して信号を発してから応答が返ってくるまでの時間を示す往復遅延時間（ＲＴＴ）を通信品質として取得してもよい。通信品質取得部１１２は、送信先ノードにおけるパケットロス率、再送回数などを通信品質として取得してもよい。通信品質取得部１１２は、送信元ノードにおけるパケットロス率、再送回数などを通信品質として取得してもよい。通信品質取得部１１２は、送信先ノードまたは送信元ノードにおける実測スループットを通信品質として取得してもよい。
【００４１】
条件保持部１１０は、メモリ制御部１０８が高速化処理を許可する条件を示す条件情報を保持する。メモリ制御部１０８は、条件保持部１１０の条件情報を参照して、高速化処理部１０４にメモリ１０２の容量を割り当てる。
【００４２】
条件保持部１１０は、条件情報として、高速化処理を許可する通信品質の閾値を保持してもよい。条件保持部１１０は、条件情報として、高速化処理を許可するノードを一意に識別するノード識別子を保持してもよい。条件保持部１１０は、例えば、高速化処理サービスの提供を受ける契約をしているユーザに対応するノード識別子を、保持してもよい。
【００４３】
条件保持部１１０は、条件情報として、高速化処理を許可するセッションの条件を保持してもよい。条件保持部１１０は、例えば、条件情報として、一ノード当たりに高速化処理を許可するセッション数を保持してもよい。条件保持部１１０は、条件情報として、アクセスポイント１００が高速化処理を許可する最大のセッション数を保持してもよい。
【００４４】
条件保持部１１０は、条件情報として、高速化処理を許可するプロトコルまたはアプリケーションを示す情報を保持してもよい。
【００４５】
メモリ制御部１０８は、通信品質取得部１１２により取得された通信品質が予め定められた基準通信品質を満たさない場合、通信品質が基準通信品質を満たす場合よりも、送信先ノードに対して第２容量の中から割り当てられるメモリ１０２の容量を大きくしてもよい。メモリ制御部１０８は、例えば、通信品質が予め定められた基準通信品質を満たさない場合、送信先ノードである通信端末２００に対して第２容量の中から予め定められた単位容量を割り当て、基準通信品質を満たす場合には、通信端末２００に対して第２容量の中から容量を割り当てなくてもよい。メモリ制御部１０８は、通信品質が予め定められた基準通信品質を満たさない送信先ノードに対して第２容量の中からメモリ１０２の容量を割り当て、高速化処理部１０４に予め定められた基準通信品質を満たさない送信先ノードに対する高速化処理をさせてもよい。また、メモリ制御部１０８は、予め定められた基準通信品質を満たす送信先ノードに対して第２容量の中からメモリ１０２の容量を割り当てず、高速化処理部１０４に予め定められた基準通信品質を満たす送信先ノードに対する高速化処理をさせなくてもよい。
【００４６】
よって、アクセスポイント１００との間の通信品質が比較的悪い通信端末は、アクセスポイント１００との間の通信品質が比較的良い通信端末の場合よりも、スループットが低下する可能性が高い。そこで、メモリ制御部１０８は、アクセスポイント１００との間の通信品質が良い通信端末よりも悪い通信端末に対して高速化処理部１０４に優先的に高速化処理をさせてもよい。この場合、メモリ制御部１０８は、複数の送信先ノードのうち、通信品質取得部１１２により取得された通信品質が低い送信先ノードほど、第２容量の中から割り当てられるメモリの容量を大きくしてもよい。
【００４７】
一般にメモリの容量が大きいほど、アクセスポイント１００は、例えば、送信元ノードであるデータ提供装置４００から送信先ノードである通信端末２００に転送するためにメモリ１０２により多くの量のデータを一時的に保持できる。アクセスポイント１００に一時的に保持できるデータの量が多いほど、アクセスポイント１００が、通信端末２００に一度に送信できるデータの量が増加し、通信端末２００に対するスループットを向上させることができる。また、アクセスポイント１００に一時的に保持できるデータの量が多いほど、例えばアクセスポイント１００におけるキャッシュ機能を効率的に利用できるので、通信端末２００に対するスループットを向上させることができる。
【００４８】
メモリ制御部１０８は、複数の送信先ノードのうち予め定められたノード条件を満たす送信先ノードに対して、予め定められたノード条件を満たさない送信先ノードよりも、第２容量の中から割り当てられるメモリ１０２の容量を大きくしてもよい。メモリ制御部１０８は、ノード条件を満たす送信先ノードに対して第２容量の中からメモリの容量を割り当て、高速化処理部１０４にノード条件を満たす送信先ノードに対する高速化処理をさせてもよい。一方、メモリ制御部１０８は、ノード条件を満たさない送信先ノードに対して第２容量の中からメモリ１０２の容量を割り当てず、高速化処理部１０４にノード条件を満たさない送信先ノードに対する高速化処理をさせなくてもよい。
【００４９】
ここで、ノード条件とは、高速化処理を優先的に実行させるべき、または高速化処理を実行することが許可されている送信先ノードを特定するための条件を示す。メモリ制御部１０８は、例えば、新たなセッションの確立（コネクションの確立）を要求してきたノードのノード識別子が、高速化処理を許可する対象のノード識別子として登録されている場合、ノード条件を満たすノードであると判断してもよい。メモリ制御部１０８は、例えば、新たなセッションの確立を要求してきたノードのノード識別子が、高速化処理のサービスを受ける契約をしているユーザに対応するノード識別子として登録されている場合、ノード条件を満たすノードであると判断してもよい。
【００５０】
メモリ制御部１０８は、複数の送信先ノードのうち中継ノードとの間に確立されたセッションが予め定められたセッション条件を満たす送信先ノードに対して、セッション条件を満たさない送信先ノードよりも、第２容量の中から割り当てられるメモリ１０２の容量を大きくしてもよい。メモリ制御部１０８は、セッション条件を満たす送信先ノードに対して第２容量の中からメモリ１０２の容量を割り当て、高速化処理部１０４にセッション条件を満たす送信先ノードに対する高速化処理をさせてもよい。一方、メモリ制御部１０８は、セッション条件を満たさない送信先ノードに対して第２容量の中からメモリ１０２の容量を割り当てず、高速化処理部１０４にセッション条件を満たさない送信先ノードに対する高速化処理をさせなくてもよい。
【００５１】
メモリ制御部１０８は、例えば、新たなセッションの確立を要求してきたノードがアクセスポイント１００を介してすでに確立しているセッションの数が、条件保持部１１０に保持されている高速化処理を許可する単位ノード当たりのセッション数より小さい場合には、セッション条件を満たすノードであると判断してもよい。または、メモリ制御部１０８は、複数のノードがアクセスポイント１００を介してすでに確立している合計のセッションの数が、条件保持部１１０に保持されている高速化処理を許可する最大セッション数より小さい場合に、セッションの条件を満たすノードであると判断してもよい。
【００５２】
条件保持部１１０は、合計のセッションの数が、予め定められた数に達した段階で、高速化処理を許可する単位ノード当たりのセッション数が小さくなるような条件情報を保持してもよい。この場合、メモリ制御部１０８は、合計のセッションの数が、予め定められた数に達した段階で、それぞれのノードに対して高速化処理をさせるセッション数を低下させるように、それぞれのノードに対するメモリ１０２の容量の割り当てを調整してもよい。メモリ制御部１０８は、合計のセッションの数が、予め定められた数に達した段階で、それぞれのノードまたはセッションに割り当てられるメモリ１０２の容量を均等化してもよい。メモリ制御部１０８は、合計のセッションの数が、予め定められた数に達するまで、それぞれのノードまたはセッションに対して割り当てるメモリ１０２の容量に制限を設けず、合計のセッションの数が、予め定められた数に達した段階で、新たなノードまたは新たなセッションに対してメモリ１０２の容量を割り当てず、新たなノードまたは新たなセッションに対する高速化処理を高速化処理部１０４にさせなくてもよい。
【００５３】
メモリ制御部１０８は、複数の送信先ノードのうち中継ノードとの間の通信に使用されるプロトコルが予め定められたプロトコル条件を満たす送信先ノードに対して、プロトコル条件を満たさない送信先ノードよりも、第２容量の中から割り当てられるメモリ１０２の容量を大きくしてもよい。メモリ制御部１０８は、プロトコル条件を満たす送信先ノードに対して第２容量の中からメモリ１０２の容量を割り当て、高速化処理部１０４にプロトコル条件を満たす送信先ノードに対する高速化処理をさせてもよい。一方、メモリ制御部１０８は、プロトコル条件を満たさない送信先ノードに対して第２容量の中からメモリ１０２の容量を割り当てず、高速化処理部１０４にプロトコル条件を満たさない送信先ノードに対する高速化処理をさせなくてもよい。
【００５４】
メモリ制御部１０８は、例えば、新たなセッションの確立を要求してきたノードがアクセスポイント１００との間の通信に使用するプロトコルが、高速化処理を許可するプロトコルとして条件保持部１１０に登録されている場合には、プロトコル条件を満たすノードであると判断してもよい。
【００５５】
メモリ制御部１０８は、複数の送信先ノードのうち中継ノードとの間でやりとりされるデータを使用して実行されるアプリケーションが予め定められたアプリケーション条件を満たす送信先ノードに対して、アプリケーション条件を満たさない送信先ノードよりも、第２容量の中から割り当てられるメモリの容量を大きくしてもよい。メモリ制御部１０８は、動画、音声などリアルタイム性が要求されるデータを扱うアプリケーションなど特定のアプリケーションが実行される場合に、実行されるアプリケーションが予め定められたアプリケーション条件を満たすと判断してもよい。
【００５６】
メモリ制御部１０８は、アプリケーション条件を満たす送信先ノードに対して第２容量の中からメモリ１０２の容量を割り当て、高速化処理部１０４にアプリケーション条件を満たす送信先ノードに対する高速化処理をさせてもよい。メモリ制御部１０８は、アプリケーション条件を満たさない送信先ノードに対して第２容量の中からメモリ１０２の容量を割り当てず、高速化処理部１０４にアプリケーション条件を満たさない送信先ノードに対する高速化処理をさせなくてもよい。
【００５７】
メモリ制御部１０８は、例えば、新たなセッションの確立を要求してきたノードが、新たなセッションにおいてやりとりするデータを使用して実行するアプリケーションが、高速化処理を許可するアプリケーションとして条件保持部１１０に登録されている場合には、アプリケーション条件を満たすノードであると判断してもよい。
【００５８】
以上のように、メモリ制御部１０８は、通信端末２００などのノードから新たなセッションの確立が要求される毎に、その要求が、予め定められた高速化処理を許可する条件を満たすかどうかを判断する。これにより、高速化処理をすべきセッションが制限される。よって、高速化処理部１０４により利用されるメモリ１０２の容量が制限される。これにより、高速化処理に伴うメモリ１０２の使用の増大を防ぎ、メモリ１０２を利用して実行される高速化処理以外の情報処理に悪影響が及ぶことを防止できる。
【００５９】
例えば、通信品質が比較的悪いノードに対して優先的に第２容量の中からメモリ１０２の容量を割り当てることで、高速化処理部１０４により利用されるメモリ１０２の容量が制限されていても、通信品質が比較的悪いノードに対して優先的に高速化処理を実行することができる。
【００６０】
図３は、メモリ制御部１０８が高速化処理部１０４にメモリ１０２の容量を割り当てる手順の一例を示すフローチャートである。メモリ制御部１０８は、定期的に図３に示す手順を実行してもよい。
【００６１】
メモリ制御部１０８は、高速化処理以外の情報処理にメモリ１０２が利用されるか否かを判断する（Ｓ１００）。メモリ制御部１０８は、メモリ１０２を参照して、現時点で高速化処理以外の情報処理にメモリ１０２が利用される否かを判断してもよい。また、メモリ制御部１０８は、現時点から予め定められた期間内に高速化処理以外の情報処理にメモリ１０２が利用される予定があるか否かを、例えば予め作成されているメモリ１０２の使用スケジュールを参照して判断することで、高速化処理以外の情報処理にメモリ１０２が利用されるか否かを判断してもよい。
【００６２】
高速化処理以外の情報処理にメモリ１０２が利用される場合、メモリ制御部１０８は、高速化処理以外の情報処理に利用されるメモリ１０２の第１容量を特定し、第１容量に基づいて第２容量を特定する（Ｓ１０２）。メモリ制御部１０８は、メモリ１０２の全容量のうち、第１容量以外の容量を第２容量として特定してもよい。メモリ制御部１０８は、メモリ１０２の全容量の中の第１容量以外の容量のうち、予め定められた割合の容量を第２容量として特定してもよい。
【００６３】
一方、高速化処理以外の情報処理にメモリ１０２が利用されていない場合、メモリ制御部１０８は、メモリ１０２の全容量から第２容量を特定する（Ｓ１０４）。メモリ制御部１０８は、メモリ１０２の全容量を第２容量として特定してもよい。また、メモリ制御部１０８は、メモリ１０２の全容量の中から予め定められた割合の容量を第２容量として特定してもよい。
【００６４】
以上のように、メモリ制御部１０８が、高速化処理以外の情報処理にメモリ１０２が利用されている場合、またはメモリ１０２の空き容量が少ない場合には、高速化処理に利用するメモリ１０２の容量を制限することで、他の情報処理に悪影響が及ぶことを防止できる。また、メモリ制御部１０８が、メモリ１０２の空き容量が多い場合でも、高速化処理に利用するメモリ１０２の容量を制限することで、高速化処理を実行中に新たに他の情報処理が実行される場合に、他の情報処理の実行に悪影響が及ぶことを防止できる。
【００６５】
図４は、ＴＣＰに従ってアクセスポイント１００が中継処理を行う手順の一例を示すフローチャートである。例えば、アクセスポイント１００が、通信端末２００がデータ提供装置４００との間でセッションを確立するために、通信端末２００とデータ提供装置４００との間でやりとりされるＳＹＮパケット、ＳＹＮ／ＡＣＫパケット、およびＡＣＫパケットを中継し、通信端末２００とデータ提供装置４００との間に新たなセッション（コネクション）を確立する（Ｓ２００）。新たなセッションが確立されると、メモリ制御部１０８は、メモリ１０２の容量のうち高速化処理部１０４に対して割り当てられた第２容量の空きに十分な余裕があるか否かを判断する（Ｓ２０２）。メモリ制御部１０８は、例えば、第２容量のうち予め定められた割合、例えば５０％以上の容量が空いているか否かを判断する。第２容量の空きに余裕があれば、メモリ制御部１０８は、新たなセッションに対して第２容量の中から高速化処理に必要な容量を割り当てて、高速化処理部１０４が、新たなセッションに対して高速化処理を実行する（Ｓ２０６）。
【００６６】
一方、メモリ制御部１０８は、メモリ１０２の容量のうち高速化処理部１０４に対して割り当てられた第２容量の空きに十分な余裕がない場合、例えば、第２容量のうち予め定められた割合、例えば５０％より少ない容量しか空いていない場合、メモリ制御部１０８は、条件保持部１１０を参照して、新たなセッションが、高速化処理を許可すべき条件を満たすか否かを判断する（Ｓ２０４）。
【００６７】
メモリ制御部１０８は、例えば、通信品質取得部１１２から新たなセッションの確立を要求してきた通信端末２００に対する通信品質を取得し、通信端末２００に対する通信品質が基準通信品質を満たすか否かを判断する。そして、メモリ制御部１０８は、通信品質が基準通信品質を満たさない場合、高速化処理を許可すべき条件を満たすと判断してもよい。
【００６８】
メモリ制御部１０８は、高速化処理を許可すべき条件を満たす場合、第２容量の中から、新たなセッションの確立を要求してきた通信端末２００または確立された新たなセッションに対して高速化処理に必要な容量を割り当てる。そして、高速化処理部１０４が、新たなセッションに対して高速化処理を実行するとともに、情報処理部１０６は、通信端末２００とデータ提供装置４００との間のデータ転送を中継する（Ｓ２０６）。
【００６９】
一方、メモリ制御部１０８は、高速化処理を許可すべき条件を満たさない場合、第２容量の中から、新たなセッションの確立を要求してきた通信端末２００または確立された新たなセッションに対して高速化処理に必要な容量を割り当てない。そして、高速化処理部１０４は、新たなセッションに対して高速化処理を実行せずに、情報処理部１０６が、通信端末２００とデータ提供装置４００との間のデータ転送を中継する（Ｓ２０８）。
【００７０】
通信端末２００とデータ提供装置４００との間のデータ転送が終了すると、セッションが開放され（Ｓ２１０）、メモリ制御部１０８は、そのセッションに対して割り当てられていたメモリ１０２の容量を開放し、処理を終了する。
【００７１】
以上の通り、メモリ制御部１０８は、新たなセッションが確立される毎に、要求してきた通信端末、要求してきた通信端末の通信品質、使用されるプロトコル、または実行されるアプリケーションなどが予め定められた条件を満たすか否かに基づいて、そのセッションに対して高速化処理をすべきか否かを判断する。そして、高速化処理部１０４は、メモリ制御部１０８による判断結果に応じて割り当てられるメモリ１０２の容量に応じて、高速化処理を選択的に実行する。
【００７２】
これにより、高速化処理をすべきセッションが制限される。よって、高速化処理部１０４により利用されるメモリ１０２の容量を制限できる。したがって、高速化処理に利用されるメモリ１０２の容量の増加を抑制でき、メモリ１０２を利用して実行される高速化処理以外の情報処理に悪影響が及ぶことを防止できる。
【００７３】
ところで、高速化処理部１０４による高速化処理などにより、送信元ノードであるデータ提供装置４００から中継ノードであるアクセスポイント１００へのデータ伝送のスループットを必要以上に向上させると、アクセスポイント１００が、送信先ノードである通信端末２００などにデータを中継するまでに一時的に保持するデータ量が多くなる場合がある。
【００７４】
例えば、高速化処理を実行する専用の装置は、高速化処理のみにメモリを利用することができる。よって、送信元ノードからその装置へのデータ伝送のスループットを向上させ、メモリに一時的に保持するデータ量が増大しても、高速化処理以外の情報処理にそのメモリが利用されないので、不都合は生じない。
【００７５】
しかし、例えば、メモリを用いて高速化処理以外の情報処理を実行するアクセスポイント１００、またはテザリング機能を有する通信端末２１０が、そのメモリを用いて高速化処理を実行する場合、送信元ノードからアクセスポイント１００または通信端末２１０へのデータ伝送のスループットを必要以上に向上させると不都合が生じる可能性がある。
【００７６】
ここで、送信元ノードから高速化処理を実行する中継ノードまでの区間を「Ａ」、中継ノードから送信先ノードまでの区間を「Ｂ」とする。また、中継ノードの地点を「Ｘ」とする。この場合、中継ノードによる高速化処理により、伝送されるデータは、区間Ａにおいて高速に移動する。一方、伝送されるデータは、区間Ｂにおいて、例えば、ＴＣＰ（トランスポート）レイヤ以下のネットワークレイヤ、データリンクレイヤまたは物理レイヤのパフォーマンスに応じた速度で移動する。
【００７７】
区間Ａのスループットを「ＴＡ」、区間Ｂのスループットを「ＴＢ」とした場合、送信元ノード、中継ノード、および送信先ノードにおけるデータ伝送において、ＴＡ≧ＴＢという関係が成り立つ。仮に、ＴＡ＜ＴＢという関係が成り立つと、データ伝送の時間が経過するにつれて、区間Ｂを移動するデータ量が、区間Ａを移動するデータ量を上回ってしまうので、矛盾する。
【００７８】
ＴＡ≧ＴＢという関係が成り立つ場合、区間Ａを移動してきたデータは、区間Ｂを移動するまでの間、地点Ｘにおいて、つまり中継ノードにおいて一時的に保持される。よって、区間Ａのスループットが、区間Ｂのスループットよりも大きいほど、地点Ｘにおいて一時的保持するデータ量が多くなる。つまり、区間Ａのスループットが、区間Ｂのスループットよりも大きいほど、中継ノードにおいて中継すべきデータを一時的に保持するために必要なメモリの容量が多くなる。
【００７９】
例えば、地点Ｘ、つまり中継ノードにおいて、高速化処理に利用されるメモリが、他の情報処理にも利用される場合、高速化処理に利用できるメモリの容量に制限がある。メモリの容量に制限がある場合、上記のように、区間Ａのスループットが、区間Ｂのスループットよりも大きすぎると、高速化処理に悪影響を与え、その結果、区間Ａまたは区間Ｂのスループットの低下を招く可能性がある。
【００８０】
したがって、区間Ａのスループットと区間Ｂのスループットとの差は最小限にすることが好ましい。この差を最小限にすることで、中継ノードにおいて中継すべきデータを一時的に保持するために必要なメモリの容量を少なくできる。これにより、高速化処理に利用できるメモリの容量に制限がある場合でも、高速化処理に悪影響を与えない。その結果、区間Ａまたは区間Ｂのスループットの低下を招くことを防ぐことができる。
【００８１】
そこで、高速化処理部１０４は、少なくとも１つの送信元ノードのうちの一の送信元ノードからのデータ伝送の第１スループットと、複数の送信先ノードのうちの一の送信先ノードへのデータ伝送の第２スループットとの差が小さくなるように、第１スループットおよび第２スループットの一方のスループットに基づいて他方のスループットを調整して、高速化処理をしてもよい。
【００８２】
メモリ制御部１０８は、送信元ノードから中継ノードへのデータ伝送の第１スループットと、中継ノードから送信先ノードへのデータ伝送の第２スループットとの差が小さくなるように、第１スループットおよび第２スループットの一方のスループットに基づいて他方のスループットを中継ノードに調整させるスループット調整装置として機能してもよい。
【００８３】
メモリ制御部１０８は、メモリ１０２の第２容量を用いて、高速化処理部１０４が一の送信元ノードから一の送信先ノードへ中継されるデータについて高速化処理をする場合に一時的に保持するデータ量が基準値より小さくなるように、高速化処理部１０４による高速化処理を調整してもよい。
【００８４】
メモリ制御部１０８は、例えば、メモリ１０２の第２容量を用いて、高速化処理部１０４が一の送信元ノードから一の送信先ノードへ中継されるデータについて高速化処理をする場合に一時的に保持するデータ量が基準値より小さくなるように、高速化処理部１０４に受信応答のタイミングを調整させることで、第１スループットと第２スループットとの差を小さくしてもよい。
【００８５】
メモリ制御部１０８は、メモリ１０２に一時的に保持されるデータ量が基準値より大きい場合、高速化処理部１０４に送信先ノードに代わって送信させる受信応答のタイミングを遅延させることで、第１スループットを低下させて、第１スループットと第２スループットとの差を小さくしてもよい。
【００８６】
メモリ制御部１０８は、メモリ１０２の第２容量を用いて、高速化処理部１０４が一の送信元ノードから一の送信先ノードへ中継されるデータについて高速化処理をする場合に一時的に保持するデータ量が基準値より小さくなるように、高速化処理部１０４に一度に受信可能なデータのサイズを調整させることで、第１スループットと第２スループットとの差を小さくしてもよい。
【００８７】
メモリ制御部１０８は、メモリ１０２に一時的に保持されるデータ量が基準値より大きい場合、高速化処理部１０４に一度に受信可能なデータのサイズ、つまりウィンドウサイズを小さくさせることで、第１スループットを低下させて、第１スループットと第２スループットとの差を小さくしてもよい。
【００８８】
図５は、アクセスポイント１００が高速化処理を行う手順の一例を示すフローチャートである。高速化処理部１０４が、高速化処理を開始すると（Ｓ３００）、メモリ制御部１０８は、メモリ１０２に高速化処理により一時的に保持されているデータ量が基準値以下か否かを判断する（Ｓ３０２）。メモリ制御部１０８が、セッション毎に高速化処理を制御している場合には、セッション毎にメモリ１０２に一時的に保持されているデータ量が基準値以下か否かを判断してもよい。
【００８９】
データ量が基準値より大きい場合、メモリ制御部１０８は、高速化処理部１０４にデータ量が基準値より小さくなるように高速化処理を調整させ、第１スループットと第２スループットとの差を小さくする（Ｓ３０４）。メモリ制御部１０８は、高速化処理部１０４に受信応答のタイミングを調整させることで、第１スループットと第２スループットとの差を小さくしてもよい。メモリ制御部１０８は、高速化処理部１０４に受信可能なデータのサイズを調整させることで、第１スループットと第２スループットとの差を小さくしてもよい。
【００９０】
例えば、送信元ノードであるデータ提供装置４００から送信先ノードである通信端末２００へのデータ転送が終了し、セッションが開放されると（Ｓ３０６）、アクセスポイント１００は、そのセッションに対する高速化処理を終了する。データ転送が終了していなければ、メモリ制御部１０８は、改めてメモリ１０２に一時的に保持されているデータ量を基準値以下か否かを判断して、必要に応じて、高速化処理部１０４に高速化処理の調整をさせる。
【００９１】
以上の通り、第１スループットと第２スループットとの差が小さくなるように高速化処理を調整することで、高速化処理に利用されるメモリの容量を最小限に抑えることができる。
【００９２】
よって、高速化処理以外の情報処理を実行するアクセスポイント１００などの中継ノードが、高速化処理を実行する場合でも、高速化処理に利用するメモリの容量を抑えることができる。これにより、高速化処理以外の情報処理に悪影響を及ぼすことを防止できる。また、高速化処理に利用されるメモリの容量が最小限に抑えられているので、高速化処理に利用可能なメモリの容量が少ない場合でも高速化処理に悪影響を及ぼすことを防止できる。よって、高速化処理に利用されるメモリの容量が制限される場合でも、スループットの低下を招くことを防止できる。
【００９３】
図６は、本実施形態に係るアクセスポイント１００のハードウェア構成の一例を示す。本実施形態に係るアクセスポイント１００は、ホストコントローラ９０２により相互に接続されるＣＰＵ９０４、ＲＡＭ９０６を有するＣＰＵ周辺部と、入出力コントローラ９０８によりホストコントローラ９０２に接続されるＲＯＭ９１０、通信インターフェイス９１２、およびアンテナ９１４を有する入出力部とを備える。入出力部は、ハードディスクドライブ、ＣＤ−ＲＯＭドライブ、およびＵＳＢインターフェイスをさらに有してよい。
【００９４】
ホストコントローラ９０２は、ＲＡＭ９０６と、高い転送レートでＲＡＭ９０６をアクセスするＣＰＵ９０４とを接続する。ＣＰＵ９０４は、ＲＯＭ９１０およびＲＡＭ９０６に格納されたプログラムに基づいて動作して、各部を制御する。入出力コントローラ９０８は、ホストコントローラ９０２と、比較的高速な入出力装置である通信インターフェイス９１２と、ＲＯＭ９１０とを接続する。
【００９５】
通信インターフェイス９１２は、ネットワークを介して有線で他の通信装置と通信する。また、通信インターフェイス９１２は、アンテナ９１４を介して無線で他の通信装置と通信する。ハードディスクドライブは、アクセスポイント１００内のＣＰＵ９０４が使用するプログラムおよびデータを格納する。ＣＤ−ＲＯＭドライブは、ＣＤ−ＲＯＭからプログラムまたはデータを読み取り、ＲＡＭ９０６を介してハードディスクドライブに提供する。また、ＲＯＭ９１０は、アクセスポイント１００が起動時に実行するブート・プログラム、アクセスポイント１００のハードウェアに依存するプログラム等を格納する。
【００９６】
ＲＡＭ９０６を介してハードディスクドライブに提供されるプログラムは、ＣＤ−ＲＯＭ、またはＵＳＢメモリ等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ９０６を介してアクセスポイント１００内のハードディスクドライブにインストールされ、ＣＰＵ９０４において実行される。
【００９７】
アクセスポイント１００にインストールされて実行されるプログラムは、ＣＰＵ９０４等に働きかけて、アクセスポイント１００を、図１から図５にかけて説明したメモリ１０２、高速化処理部１０４、情報処理部１０６、メモリ制御部１０８、条件保持部１１０、通信品質取得部１１２、有線通信部１３０、および無線通信部１４０として機能させる。
【００９８】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００９９】
アクセスポイント１００が、制御部１２０を備える例について説明したが、テザリング機能を有する通信端末２１０、基地局３００、あるいはルータが制御部１２０を備えてもよい。通信端末２１０が制御部１２０を備える場合、通信端末２１０は、例えば、データ提供装置４００から基地局３００を介して３Ｇ、ＬＴＥ、４Ｇなどの公衆無線でデータを受信し、ＷｉＦｉなどの無線ＬＡＮでそのデータを通信端末２２０に転送する。
【０１００】
制御部１２０を備える通信端末２１０は、データ提供装置４００と通信端末２２０との間のデータ伝送の高速化処理をしてもよい。通信端末２１０は、通信端末２１０が実行する高速化処理以外の情報処理に利用されるメモリ１０２の容量に基づいて、高速化処理に利用するメモリ１０２の容量を制御してもよい。また、通信端末２１０は、例えば、通信端末２２０からの新たなセッションの確立の要求毎に、そのセッションで利用されるアプリケーション、プロトコル、通信端末２２０における通信品質、確立されているセッション数などをパラメータとして、そのセッションに対して高速化処理をするか否かを判断してよい。なお、送信先ノードに加えて送信元ノードとも無線通信する通信端末２１０が制御部１２０を備える場合には、通信品質取得部１１２は、送信先ノードに加えて、または送信先ノードの代わりに送信元ノードにおける受信信号強度（ＲＳＳＩ）、雑音指数（ＮＦ）、リンク速度などを通信品質として取得してもよい。
【０１０１】
また、制御部１２０を備える通信端末２１０は、データ提供装置４００から通信端末２１０へのデータ伝送のスループットと、通信端末２１０から通信端末２２０へのデータ伝送のスループットとの差が小さくなるように、データ提供装置４００と通信端末２２０との間のデータ伝送の中継処理を制御してもよい。制御部１２０を備える通信端末２１０は、データ提供装置４００から通信端末２１０へのデータ伝送のスループットと、通信端末２１０から通信端末２２０へのデータ伝送のスループットとの差が小さくなるように、高速化処理を調整してよい。
【０１０２】
制御部１２０を備える基地局３００は、データ提供装置４００から基幹網およびインターネットなどの公衆網を介してデータ提供装置４００からデータを受信し、３Ｇ、ＬＴＥ、４Ｇなどの公衆無線でそのデータを通信端末２３０に転送する。このような基地局３００は、例えば、データ提供装置４００と、通信端末２３０との間のデータ伝送の高速化処理をしてもよい。基地局３００は、基地局３００が実行する高速化処理以外の中継処理などの情報処理に利用されるメモリ１０２の容量に基づいて、高速化処理に利用するメモリ１０２の容量を制御してもよい。また、基地局３００は、例えば、通信端末２３０からの新たなセッションの確立の要求毎に、そのセッションで利用されるアプリケーション、プロトコル、通信端末２２０における通信品質、確立されているセッション数、通信端末２３０の契約内容などをパラメータとして、そのセッションに対して高速化処理をするか否かを判断してよい。
【０１０３】
また、制御部１２０を備える基地局３００は、データ提供装置４００から基地局３００へのデータ伝送のスループットと、基地局３００から通信端末２３０へのデータ伝送のスループットとの差が小さくなるように、データ提供装置４００と通信端末２３０との間のデータ伝送の中継処理を制御してもよい。制御部１２０を備える基地局３００は、データ提供装置４００から基地局３００へのデータ伝送のスループットと、基地局３００から通信端末２３０へのデータ伝送のスループットとの差が小さくなるように、高速化処理を調整してよい。
【０１０４】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１０５】
１０  ネットワーク
１００  アクセスポイント
１０２  メモリ
１０４  高速化処理部
１０６  情報処理部
１０８  メモリ制御部
１１０  条件保持部
１１２  通信品質取得部
１２０  制御部
１３０  有線通信部
１４０  無線通信部
２００  通信端末
２１０  通信端末
２２０  通信端末
２３０  通信端末
３００  基地局
４００  データ提供装置
【要約】
【課題】送信元ノードと送信先ノードとの間のデータ伝送の高速化処理をする中継ノードにおいて、高速化処理に加えて中継処理などの他の情報処理をする場合、高速化処理および他の情報処理に利用されるメモリの容量が小さいと、それぞれの処理に遅延が生じるなどの不具合が発生する可能性がある。
【解決手段】少なくとも１つの送信元ノードと複数の送信先ノードとの間のデータ伝送を中継する中継ノードは、メモリと、メモリを用いて、少なくとも１つの送信元ノードと複数の送信先ノードとの間のデータ伝送の高速化処理をする高速化処理部と、メモリを用いて、高速化処理以外の情報処理をする情報処理部と、情報処理部が利用するメモリの第１容量に基づいて、高速化処理部が利用可能なメモリの第２容量を制御するメモリ制御部とを備える。
【選択図】図２【図１】
0005564603.tif 000002
【図２】
0005564603.tif 000003
【図３】
0005564603.tif 000004
【図４】
0005564603.tif 000005
【図５】
0005564603.tif 000006
【図６】
0005564603.tif 000007