(57)【特許請求の範囲】
【請求項１】
ＴＣＰ（Transmission Control Protocol）又はＵＤＰ（User Datagram Protocol）を
用いて所定の最大転送量単位でデータを送信する送信部と、
前記送信部で前記ＴＣＰを用いて前記所定の最大転送量単位でデータを転送する際に、データ再送の回数が所定回数以上であるか否かを判定する第１の判定部と、
前記送信部で前記ＵＤＰを用いて前記所定の最大転送量単位でデータを転送する際に、前記データの転送量が前記所定の最大転送量を下回るエラーを検出したか否かを判定する第２の判定部と、
前記第１の判定部の判定の結果、前記データ再送の回数が前記所定回数以上の場合に、前記所定の最大転送量を減少する方向に調整し、前記第２の判定部の判定の結果、前記エラーを検出した場合に、前記所定の最大転送量を増加する方向に調整する調整部と
を有することを特徴とする通信装置。
【請求項２】
情報処理装置に、
ＴＣＰ（Transmission Control Protocol）又はＵＤＰ（User Datagram Protocol）を
用いて所定の最大転送量単位でデータを送信し、
前記ＴＣＰを用いて前記所定の最大転送量単位でデータを転送する際に、データ再送の回数が所定回数以上であるか否かを判定し、
前記データ再送の回数が前記所定回数以上の場合に、前記所定の最大転送量を減少する方向に調整し、
前記ＵＤＰを用いて前記所定の最大転送量単位でデータを転送する際に、前記データの転送量が前記所定の最大転送量を下回るエラーを検出したか否かを判定し、
前記エラーを検出した場合に、前記所定の最大転送量を増加する方向に調整する
処理を実行させることを特徴とする通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及び通信制御プログラムに関する。
【背景技術】
【０００２】
例えば、ＩＥＥＥ（The  Institute  of  Electrical  and  Electronics  Engineers,  Inc.）等で規定されているネットワークでは、データ転送できる最大転送単位（ＭＴＵ：Maximum  Transfer  Unit）が規定されている。ネットワークでは、例えば、携帯電話機とサーバとの間でデータを転送する際に、ＭＴＵを超える量のデータは破棄されて転送できない。
【０００３】
また、複数の物理網を用いたネットワークのＭＴＵを決定する方法としては、ＩＥＴＦ（Internet  Engineering  Task  Force）のＲＦＣ(Request  for  Comment)１１９１が規定されている。
【０００４】
しかしながら、通信網の中には、セキュリティ等の観点からＲＦＣ１１９１の機能が利用できない通信網も存在する。また、ネットワーク内の統計情報及び経路情報に基づきパケットサイズを自動的に調整する方法も提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２１８８４０号公報
【特許文献２】特表２００７−５２７１７９号公報
【特許文献３】特開２００８−２２７８５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
スマートフォン等の通信装置を収容する通信事業者の通信網は、通信事業者や通信種別毎に設定するＭＴＵが異なる場合がある。例えば、日本国内の通信事業者の通信網間では問題にならないが、海外ローミング等で海外の通信事業者の通信網を利用する場合、ＭＴＵが異なるため、ＭＴＵのサイズを調整しないと、データを転送できない場合がある。
【０００７】
しかしながら、通信装置では、海外ローミング等で利用する通信網のＭＴＵが不明のため、通信網に適したＭＴＵのサイズを動的に調整できない。その結果、通信装置は、通信網に適したＭＴＵ（最大転送単位）のサイズを調整できず、通信網と通信できない。
【０００８】
一つの側面では、通信装置側で通信網に適した最大転送単位を調整できる通信装置及び通信制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
一つの案の通信装置では、送信部と、判定部と、調整部とを有する。前記送信部は、所定の最大転送量単位でデータを送信する。前記判定部は、前記送信部で前記所定の最大転送量単位でデータを転送する際に前記データの転送量が前記所定の最大転送量を上回ることで実行するデータ再送の回数が所定回数以上であるか否かを判定する。前記調整部は、前記データ再送の回数が前記所定回数以上の場合に、前記所定の最大転送量を減少する方向に調整する。
【発明の効果】
【００１０】
通信装置側で通信網に適した最大転送単位を調整できる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１の無線端末の一例を示す説明図である。
【図２】図２は、ＴＣＰ用の計測テーブルの一例を示す説明図である。
【図３】図３は、第１のＭＴＵ調整処理に関わる無線端末及びサーバの処理動作の一例を示すシーケンス図である。
【図４】図４は、テーブル設定処理に関わる無線端末のプロセッサの処理動作の一例を示すフローチャートである。
【図５】図５は、第１のＭＴＵ調整処理に関わる無線端末のプロセッサの処理動作の一例を示すフローチャートである。
【図６】図６は、実施例２の無線端末の一例を示す説明図である。
【図７】図７は、ＵＤＰ用の計測テーブルの一例を示す説明図である。
【図８】図８は、第２のＭＴＵ調整処理に関わる無線端末及びサーバの処理動作の一例を示すシーケンス図である。
【図９】図９は、第２のＭＴＵ調整処理に関わる無線端末のプロセッサの処理動作の一例を示すフローチャートである。
【図１０】図１０は、通信制御プログラムを実行する情報処理装置の一例を示す説明図である。
【発明を実施するための形態】
【００１２】
以下、図面に基づいて、本願の開示する通信装置及び通信制御プログラムの実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
【実施例１】
【００１３】
図１は、本実施例の無線端末１の一例を示す説明図である。図１に示す無線端末１は、無線部１１と、表示部１２と、タッチセンサ１３と、オーディオ入出力部１４と、マイク１５と、スピーカ１６と、ＲＯＭ（Read  Only  Memory）１７と、ＲＡＭ(Random  Access  Memory)１８と、プロセッサ１９とを有する。
【００１４】
無線部１１は、無線端末１の無線通信を司る部位である。尚、無線部１１は、例えば、ＴＣＰ(Transmission  Control  Protocol)やＵＤＰ（User  Datagram  Protocol）を利用したパケット通信を実行する機能を有する。表示部１２は、各種情報を表示する出力インタフェースである。タッチセンサ１３は、各種情報を入力する入力インタフェースである。オーディオ入出力部１４は、マイク１５及びスピーカ１６と接続し、マイク１５から音響信号を入力すると共に、スピーカ１６から音響信号を出力する。
【００１５】
ＲＯＭ１７は、各種情報、例えば、通信制御プログラム等を格納する領域である。ＲＡＭ１８は、各種情報を記憶する領域を有し、例えば、計測テーブル３０を有する。計測テーブル３０は、後述する、ＴＣＰ通信する通信網に適したＭＴＵを調整する際に使用するＴＣＰ用の計測基準値を記憶したテーブルである。図２は、ＴＣＰ用の計測テーブル３０の一例を示す説明図である。図２の計測テーブル３０は、通信事業者３１や通信ベアラ３２毎に、ＭＴＵ値３３、再送閾値３４、単位時間３５、調整量（減少割合）３６及び更新日時３７を対応付けて管理している。通信事業者３１は、通信網の通信事業者を識別するＩＤである。通信ベアラ３２は、利用する通信種別、例えば、ＬＴＥ(Long  Term  Evolution)、ＧＳＭ（Global  System  for  Mobile  Communications（登録商標））、ＷＣＤＭＡ（Wideband  Code  Division  Multiple  Access（登録商標））及びＷｉ−Ｆｉ(Wireless  Fidelity（登録商標）)等の通信種別である。ＭＴＵ値３３は、現在設定中のＭＴＵ値である。尚、ＭＴＵ値３３は、初期設定時には通信ベアラに対応したＭＴＵ値である。再送閾値３４は、後述するＴＣＰ転送エラーと判定するためのパケットの再送回数の閾値である。単位時間３５は、ＴＣＰ転送エラーと判定するための監視タイマの監視時間である。調整量３６は、ＭＴＵ値を減少方向に調整するためのＭＴＵ値の割合である。更新日時３７は、計測テーブル３０の内容を更新した日時である。
【００１６】
プロセッサ１９は、計測テーブル３０を参照し、通信事業者３１は“Ｄ社”、通信ベアラ３２は“ＬＴＥ”、ＭＴＵ値３３は“１４００”バイト、再送閾値３４は“３”、単位時間３５は“６０秒”、調整量（減少割合）３６は“１０％”等と認識する。
【００１７】
プロセッサ１９は、無線端末１全体を制御する部位である。プロセッサ１９は、ＲＯＭ１７に記憶された通信制御プログラムを読み出し、読み出された通信制御プログラムに基づき各種プロセスを機能として構成する。プロセッサ１９は、機能構成として、認識部２１と、第１の判定部２２と、第１の調整部２３と、第１の制御部２４とを有する。認識部２１は、通信中の在圏情報から通信事業者及び通信種別を認識する。第１の判定部２２は、通信先の通信網に対するＴＣＰ転送エラーを判定する。第１の調整部２３は、ＴＣＰ転送エラーと判定した場合、現在設定中のＭＴＵ値を調整する。第１の制御部２４は、プロセッサ１９全体を制御する。
【００１８】
第１の制御部２４は、無線部１１を通じて通信網内のサーバ２に対して設定中のＭＴＵ値でパケットを送信する。第１の制御部２４は、サーバ２にパケットを送信後、ＴＣＰで送信パケットに対する応答パケット（ＡＣＫ）を受信しなかった場合にパケット破棄と認識し、パケット再送を要求し、パケットを再送する。尚、パケット破棄による再送の仕組みは、ＲＦＣ２０１８（TCP  Selective  Acknowledgment  Options）に規定されている。第１の制御部２４では、例えば、ＲＦＣ２０１８の仕組みを利用するものとする。
【００１９】
第１の制御部２４は、認識部２１にて認識した通信事業者及び通信ベアラに対応する計測テーブル３０がＲＡＭ１８内にあるか否かを判定する。第１の制御部２４は、認識した通信事業者及び通信ベアラに対応する計測テーブル３０がある場合、該当する計測テーブル３０から計測基準値（ＭＴＵ値３３、再送閾値３４、単位時間３５及び調整量３６）を読み出して設定する。
【００２０】
第１の制御部２４は、設定した計測基準値内の再送閾値３４及び単位時間３５を参照し、サーバ２との通信中にパケット破棄で１回目のパケット再送を検知した場合、図示せぬ監視タイマの計時動作を開始し、そのパケットの再送回数を＋１インクリメントする。そして、第１の制御部２４は、監視時間中に再送を検知する毎に再送回数を＋１インクリメントする。
【００２１】
第１の判定部２２は、単位時間内にパケットの再送回数が再送閾値以上であるか否かを判定する。第１の判定部２２は、再送回数が再送閾値以上と判定された場合、ＴＣＰ転送エラーと判定する。
【００２２】
第１の調整部２３は、ＴＣＰ転送エラーと判定した場合、設定した計測基準値内のＭＴＵ値３３及び調整量３６を参照し、現在ＭＴＵ値α＊調整量（減少割合：１０％）βで調整ＭＴＵ値を算出する。つまり、調整ＭＴＵ値は、現在ＭＴＵ値から１０％の割合で減少する。尚、調整量は、適宜設定変更可能である。
【００２３】
第１の制御部２４は、算出した調整ＭＴＵ値がＭＴＵ下限値を下回ったか否かを判定する。尚、ＭＴＵ下限値は、設定可能なＭＴＵ値の下限値である。第１の制御部２４は、調整ＭＴＵ値がＭＴＵ下限値を下回らなかった場合、調整ＭＴＵ値を現在ＭＴＵ値として設定すると共に、計測テーブル３０内の現在ＭＴＵ値３３を調整ＭＴＵ値に更新する。第１の制御部２４は、調整ＭＴＵ値がＭＴＵ下限値を下回った場合、調整ＭＴＵ値を設定しない。
【００２４】
次に実施例１の無線端末１の動作について説明する。図３は、第１のＭＴＵ調整処理に関わる無線端末１及びサーバ２の処理動作の一例を示すシーケンス図である。図３に示す無線端末１は、サーバ２とのＴＣＰ通信中に、現在のＭＴＵ値でシーケンシャル番号を付加したパケットをサーバ２に送信する（ステップＳ１１）。無線端末１は、サーバ２からパケット応答がない場合、シーケンシャル番号に基づきパケット破棄を認識する（ステップＳ１２）。
【００２５】
無線端末１は、パケット破棄を認識した場合、パケット再送を検知し（ステップＳ１３）、再送回数を＋１インクリメントする。そして、無線端末１は、パケット再送に応じて、サーバ２に対してパケットを現在のＭＴＵ値で送信する（ステップＳ１４）。
【００２６】
更に、無線端末１は、サーバ２からパケット応答がない場合、シーケンシャル番号に基づきパケット破棄を認識する（ステップＳ１５）。無線端末１は、パケット破棄を認識した場合、パケット再送を検知し（ステップＳ１６）、再送回数を＋１インクリメントする。更に、無線端末１は、パケット再送に応じて、サーバ２に対してパケットを現在のＭＴＵ値で送信する（ステップＳ１７）。
【００２７】
そして、無線端末１は、再送回数が再送閾値以上になった場合（ステップＳ１８）、ＴＣＰ転送エラーと判定する（ステップＳ１９）。無線端末１は、現在ＭＴＵ値α＊調整量（減少割合：１０％）βでＭＴＵ値を減少方向に調整するＭＴＵ調整処理を実行する（ステップＳ２０）。その結果、無線端末１は、減少方向に調整したＭＴＵ値を設定し、設定した調整ＭＴＵ値でサーバ２との間でＴＣＰのパケット通信を確保できる。
【００２８】
図４は、テーブル設定処理に関わる無線端末１内のプロセッサ１９の処理動作の一例を示すフローチャートである。図４に示すテーブル設定処理は、通信先の通信事業者及び通信ベアラに対応したＴＣＰ用の計測テーブル３０を設定し、設定した計測テーブル３０内の計測基準値を設定する処理である。
【００２９】
図４においてプロセッサ１９は、通信ベアラの変化を検出したか否かを判定する（ステップＳ２１）。尚、通信ベアラの変化とは、例えば、同一通信事業者内のＬＴＥからＷＣＤＭＡへの変更や、例えば、Ｂ社のＬＴＥからＤ社のＷＣＤＭＡへの変更等である。プロセッサ１９内の認識部２１は、通信ベアラの変化を検出した場合（ステップＳ２１肯定）、在圏情報から通信網の通信事業者及び通信ベアラを認識する（ステップＳ２２）。
【００３０】
プロセッサ１９内の第１の制御部２４は、認識した通信事業者及び通信ベアラに対応する計測テーブル３０がＲＡＭ１８内にあるか否かを判定する（ステップＳ２３）。第１の制御部２４は、通信事業者及び通信ベアラに対応した計測テーブル３０がある場合（ステップＳ２３肯定）、その計測テーブル３０内の計測基準値を設定し（ステップＳ２４）、後述する図５に示す第１のＭＴＵ調整処理を実行し（ステップＳ２５）、図４に示す処理動作を終了する。
【００３１】
第１の制御部２４は、認識した通信事業者及び通信ベアラに対応する計測テーブル３０がＲＡＭ１８内にない場合（ステップＳ２３否定）、認識した通信事業者及び通信ベアラに対応した新規の計測テーブル３０を生成する（ステップＳ２６）。尚、新規の計測テーブル３０内の計測基準値は初期値が設定されているものとする。更に、第１の制御部２４は、新規の計測テーブル３０を生成した後、その新規の計測テーブル３０の計測基準値を設定し（ステップＳ２７）、第１のＭＴＵ調整処理を実行すべく、ステップＳ２５に移行する。
【００３２】
プロセッサ１９は、通信ベアラの変化を検出したのでない場合（ステップＳ２１否定）、パケット通信中であるか否かを判定する（ステップＳ２８）。認識部２１は、パケット通信中の場合（ステップＳ２８肯定）、在圏情報から通信事業者及び通信ベアラを認識すべく、ステップＳ２２に移行する。プロセッサ１９は、パケット通信中でない場合（ステップＳ２８否定）、図４に示す処理動作を終了する。
【００３３】
図４に示すテーブル設定処理を実行するプロセッサ１９は、在圏情報から通信事業者及び通信ベアラを認識し、認識した通信事業者及び通信ベアラに対応した計測テーブル３０がＲＡＭ１８内にある場合、該当した計測テーブル３０内の計測基準値を設定する。その結果、無線端末１は、通信先の通信網に適したＭＴＵ値を調整する計測基準値を設定できる。
【００３４】
また、プロセッサ１９は、認識した通信事業者及び通信ベアラに対応した計測テーブル３０がＲＡＭ１８内にない場合、新規の計測テーブル３０を生成し、新規の計測テーブル３０内の計測基準値を設定する。その結果、無線端末１は、通信先の通信網に適したＭＴＵ値を調整する計測基準値を設定できる。
【００３５】
図５は、第１のＭＴＵ調整処理に関わる無線端末１のプロセッサ１９の処理動作の一例を示すフローチャートである。図５に示す第１のＭＴＵ調整処理は、ＴＣＰ転送エラーと判定された場合、現在設定中のＭＴＵのサイズを調整する処理である。
【００３６】
図５において無線端末１のプロセッサ１９内の第１の制御部２４は、サーバ２とのＴＣＰ通信によるパケット通信を開始したか否かを判定する（ステップＳ３１）。第１の制御部２４は、パケット通信を開始した場合（ステップＳ３１肯定）、パケット破棄によるパケットの再送を検知したか否かを判定する（ステップＳ３２）。
【００３７】
第１の判定部２２は、パケットの再送を検知した場合（ステップＳ３２肯定）、破棄パケットのデータサイズが第１の条件を満たしているか否かを判定する（ステップＳ３３）。尚、第１の条件は、破棄パケットのデータサイズがＭＴＵ値の下限値よりも大きく、かつ、現在設定中のＭＴＵ値よりも小さいか否かを判定する条件である。尚、第１の制御部２４は、破棄パケットのデータサイズを認識しているものとする。
【００３８】
第１の判定部２２は、破棄パケットのデータサイズが第１の条件を満たした場合（ステップＳ３３肯定）、監視タイマが計時中であるか否かを判定する（ステップＳ３４）。第１の判定部２２は、監視タイマが計時中でない場合（ステップＳ３４否定）、監視タイマを起動する（ステップＳ３５）。第１の判定部２２は、監視タイマを起動した後、再送回数をクリアし（ステップＳ３６）、再送回数を＋１インクリメントする（ステップＳ３７）。
【００３９】
第１の判定部２２は、再送回数を＋１インクリメントした後、設定中の計測テーブル３０内の再送閾値３４及び単位時間３５を参照し、再送回数が再送閾値以上であるか否かを判定する（ステップＳ３８）。プロセッサ１９内の第１の調整部２３は、再送回数が再送閾値以上の場合（ステップＳ３８肯定）、現在のＭＴＵ値α＊調整量（減少割合：１０％）βで調整ＭＴＵ値を算出する（ステップＳ３９）。その結果、調整ＭＴＵ値は、現在ＭＴＵ値よりも１０％小さくなる。
【００４０】
第１の制御部２４は、調整ＭＴＵ値を算出した後、調整ＭＴＵ値がＭＴＵ下限値を下回るか否かを判定する（ステップＳ４０）。第１の制御部２４は、調整ＭＴＵ値がＭＴＵ下限値を下回らない場合（ステップＳ４０否定）、算出した調整ＭＴＵ値を設定する（ステップＳ４１）。
【００４１】
第１の判定部２２は、パケット通信を開始しなかった場合（ステップＳ３１否定）、図５に示す処理動作を終了する。第１の判定部２２は、パケット再送を検知しなかった場合（ステップＳ３２否定）、又は、破棄パケットのデータサイズが第１の条件を満たさなかった場合（ステップＳ３３否定）、パケット再送を検知したか否かを判定すべく、ステップＳ３２に移行する。第１の判定部２２は、監視タイマが計時中の場合（ステップＳ３４肯定）、再送回数を＋１インクリメントすべく、ステップＳ３７に移行する。
【００４２】
第１の制御部２４は、再送回数が再送閾値以上でない場合（ステップＳ３８否定）、監視タイマがタイムアップを検出したか否かを判定する（ステップＳ４２）。第１の制御部２４は、監視タイマがタイムアップした場合（ステップＳ４２肯定）、監視タイマの計時動作をクリアし（ステップＳ４３）、図５に示す処理動作を終了する。更に、第１の制御部２４は、監視タイマがタイムアップしたのでない場合（ステップＳ４２否定）、パケット再送を検知したか否かを判定すべく、ステップＳ３２に移行する。第１の制御部２４は、調整ＭＴＵ値がＭＴＵ下限値を下回った場合（ステップＳ４０肯定）、調整ＭＴＵ値を設定することなく、監視タイマの計時動作をクリアすべく、ステップＳ４３に移行する。
【００４３】
図５に示す第１のＭＴＵ調整処理を実行するプロセッサ１９は、単位時間内にパケットの再送回数が再送閾値以上の場合、ＴＣＰ転送エラーと判定し、現在設定中のＭＴＵ値に減少割合の調整量を乗算して調整ＭＴＵ値を算出する。その結果、ＴＣＰ転送エラーが生じた場合でも、現在設定中のＭＴＵ値を小さくしてＴＣＰ転送エラーを解消できる。
【００４４】
プロセッサ１９は、ＴＣＰ転送エラーと判定後、現在設定中のＭＴＵ値に減少割合の調整量を乗算し、算出した調整ＭＴＵ値がＭＴＵ下限値を下回らない場合、算出した調整ＭＴＵ値を設定する。その結果、無線端末１は、調整ＭＴＵ値に基づき、サーバ２との間のパケット通信を確保できる。
【００４５】
更に、プロセッサ１９は、調整ＭＴＵ値がＭＴＵ下限値を下回らない場合、算出した調整ＭＴＵ値を計測テーブル３０内に更新する。その結果、無線端末１は、調整ＭＴＵ値を計測テーブル３０内に更新するため、次回のＭＴＵ調整を円滑に実現できる。
【００４６】
プロセッサ１９は、算出した調整ＭＴＵ値がＭＴＵ下限値を下回る場合、算出した調整ＭＴＵ値を設定しない。その結果、無線端末１は、ＭＴＵ値の再調整によるＴＣＰ転送エラーを防止できる。
【００４７】
プロセッサ１９は、１度の第１のＭＴＵ調整処理で算出した調整ＭＴＵ値でＴＣＰ転送エラーを解消できなくても、再度、第１のＭＴＵ調整処理を繰り返し実行し、ＭＴＵ値を徐々に調整することで、ＴＣＰ転送エラーを確実に解消できる。
【００４８】
実施例１の無線端末１は、パケットの再送回数が再送閾値以上の場合に、現在設定中のＭＴＵ値に減少割合の調整量を乗算して調整ＭＴＵ値を算出し、算出した調整ＭＴＵ値を設定する。その結果、無線端末１は、ＴＣＰ転送エラーが生じた場合でも、現在設定中のＭＴＵ値を小さくすることでＴＣＰ転送エラーを解消し、サーバ２との間のパケット通信を確保できる。つまり、無線端末１側で相手先の通信網に適したＭＴＵ値を調整できる。無線端末１は、例えば、海外ローミング時でもＴＣＰ転送エラーを解消し、海外ローミング通信を確保できる。
【００４９】
無線端末１では、パケット転送が許されないサイズのパケットを送信した場合でも、その際に発生する再送が繰り返し行われた場合に自端末に設定しているＭＴＵ値を小さくすることで、確実にパケットの送信が可能となる。つまり、切替先の通信網のＭＴＵ値が小さい場合でも、転送可能なサイズまでＭＴＵ値を減少するため、パケットの送信を確実に実現できる。
【００５０】
尚、上記実施例１の無線端末１では、調整ＭＴＵ値がＭＴＵ下限値を下回る場合、算出した調整ＭＴＵ値を設定しないようにした。しかしながら、調整ＭＴＵ値がＭＴＵ下限値を下回る場合に、現在ＭＴＵ値の減少割合の調整量を小さくし、調整ＭＴＵ値がＭＴＵ下限値を下回らないように調整量を調整するようにしても良い。
【００５１】
無線端末１では、現在設定中のＭＴＵ値を減少割合の調整量で乗算してＭＴＵ値を小さくする場合を例示したが、ＭＴＵ値を増加割合の調整量で乗算してＭＴＵ値を大きくするようにしても良い。
【００５２】
無線端末１では、再送回数としてパケットの再送を検知すると、再送回数を＋１インクリメントしたが、パケットの再送を実行する前の再送要求を検知した場合や、パケットの破棄を検知した場合に、再送回数をインクリメントするようにしても良い。
【００５３】
また、上記実施例１では、無線端末１とサーバ２との間のＴＣＰ通信のＭＴＵのサイズを調整する場合を例示したが、ＵＤＰ通信の場合にも適用可能であり、その場合の実施の形態につき、実施例２として、以下に説明する。
【実施例２】
【００５４】
図６は、実施例２の無線端末１Ａの一例を示すブロック図である。尚、実施例１の無線端末１と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。図６に示す無線端末１Ａは、無線部１１、表示部１２、タッチセンサ１３、オーディオ入出力部１４、マイク１５、スピーカ１６、ＲＯＭ１７及びＲＡＭ１８の他に、プロセッサ１９Ａを有する。プロセッサ１９Ａは、機能構成として、本体制御部５０と、アプリ６０とを有する。
【００５５】
ＲＡＭ１８には、通信事業者及び通信ベアラに対応するＵＤＰ用の計測基準値を格納した計測テーブル４０を有する。図７は、ＵＤＰ用の計測テーブル４０の一例を示す説明図である。図７に示す計測テーブル４０は、通信事業者４１及び通信ベアラ４２毎に、ＭＴＵ値４３、調整量（増加割合）４４及び更新日時４５を対応付けて管理している。ＭＴＵ値４３は、現在設定中のＭＴＵ値である。調整量４４は、現在設定中のＭＴＵのサイズを増加する割合である。更新日時４５は、計測テーブル４０の内容を更新した日時である。尚、ＵＤＰ用の計測基準値は、ＭＴＵ値４３及び調整量（増加割合）４４等である。
【００５６】
プロセッサ１９Ａは、図６の計測テーブル４０を参照し、例えば、通信事業者４１を“Ｄ社”、通信ベアラ４２を“ＬＴＥ”、ＭＴＵ値４３を“１４００”バイト、調整量（増加割合）４４を“１０％”等を認識する。
【００５７】
アプリ６０は、例えば、ＵＤＰ通信を用いて通信先の通信網にあるサーバ２と通信するアプリケーションである。本体制御部５０は、認識部２１と、第２の調整部２３Ａと、第２の制御部２４Ａとを有する。
【００５８】
第２の制御部２４Ａは、認識部２１にてＵＤＰ通信中のパケット内の在圏情報から通信事業者及び通信種別を認識し、認識した通信事業者及び通信種別に対応したＵＤＰ用の計測テーブル４０内の計測基準値を読み出して設定する。
【００５９】
第２の制御部２４Ａは、アプリ６０からパケットの送信要求を検出した場合、パケットがＵＤＰ通信で設定中のＭＴＵよりも大きいか否かを判定する。第２の制御部２４Ａは、パケットが設定中のＭＴＵよりも大きい場合、パケットをＭＴＵ単位に分割し、無線部１１を通じて、分割したパケットをサーバ２に送信する。
【００６０】
アプリ６０は、通信先のサーバ２からデータサイズ不正のエラーを示すエラー応答を検出したか否かを判定する。アプリ６０は、エラー応答を検出した場合、パケット分割のデータサイズ不正によるＵＤＰ転送エラーと判定する。アプリ６０は、ＵＤＰ転送エラーと判定した場合、ＭＴＵ調整要求を本体制御部５０に通知する。
【００６１】
第２の調整部２３Ａは、ＭＴＵ調整要求を検出した場合、設定中の計測基準値内のＭＴＵ値４３及び調整量４４を参照し、現在設定中のＭＴＵ値に調整量（増加割合：１０％）を乗算し、調整ＭＴＵ値を算出する。つまり、第２の調整部２３Ａは、現在設定中のＭＴＵ値から１０％の割合で大きくする。
【００６２】
第２の制御部２４Ａは、算出した調整ＭＴＵ値がＭＴＵ上限値を超えたか否かを判定する。尚、ＭＴＵ上限値は、設定可能なＭＴＵ値の上限値である。第２の制御部２４Ａは、算出した調整ＭＴＵ値がＭＴＵ上限値を超えなかった場合、算出した調整ＭＴＵ値を設定する。更に、第２の制御部２４Ａは、算出した調整ＭＴＵ値がＭＴＵ上限値を超えなかった場合、算出した調整ＭＴＵ値を設定中の計測テーブル４０内に更新する。第２の制御部２４Ａは、算出した調整ＭＴＵ値がＭＴＵ上限値を超えた場合、算出した調整ＭＴＵ値を設定しない。
【００６３】
次に実施例２の無線端末１Ａの動作について説明する。無線端末１Ａは、通信事業者及び通信ベアラを認識すると、図４に示すテーブル設定処理を実行し、通信事業者及び通信ベアラに対応した計測テーブル４０内の計測基準値を読み出して設定するものである。図８は、実施例２の第２のＭＴＵ調整処理に関わる無線端末１Ａ及びサーバ２の処理動作の一例を示すシーケンス図である。図８に示す無線端末１Ａ内のアプリ６０は、ＵＤＰ通信のパケットの送信要求を本体制御部５０に通知する（ステップＳ５１）。本体制御部５０は、パケットの送信要求を受け付け（ステップＳ５２）、パケットをＭＴＵ単位に分割する（ステップＳ５３）。本体制御部５０は、分割データを通信網側のサーバ２に送信する（ステップＳ５４）。
【００６４】
サーバ２は、無線端末１Ａから分割パケットを受信した場合に（ステップＳ５５）、仮に分割パケットのデータサイズ不正によるエラーを検出したとする（ステップＳ５６）。サーバ２は、データサイズ不正によるエラーを検出した場合、エラー応答を無線端末１Ａに送信する（ステップＳ５７）。
【００６５】
無線端末１Ａ内の本体制御部５０は、サーバ２からエラー応答を受信した場合、アプリ６０に対してエラー応答を通知する（ステップＳ５８）。アプリ６０は、エラー応答を検出すると（ステップＳ５９）、パケット分割が要因のエラーと認識し（ステップＳ６０）、ＭＴＵ調整要求を本体制御部５０に通知する（ステップＳ６１）。本体制御部５０は、ＭＴＵ調整要求を検出すると、現在設定中のＭＴＵ値を増加方向に調整する第２のＭＴＵ調整処理を実行する（ステップＳ６２）。
【００６６】
図８に示す第２のＭＴＵ調整処理を実行するプロセッサ１９Ａは、通信先のサーバ２からＵＤＰのデータサイズ不正によるエラー応答を検出した場合、現在設定中のＭＴＵ値を増加方向に調整する。その結果、無線端末１Ａは、現在設定中のＭＴＵのサイズを増加方向に調整するため、ＵＤＰ転送エラーを解消できる。
【００６７】
図９は、第２のＭＴＵ調整処理に関わる無線端末１Ａのプロセッサ１９Ａの処理動作の一例を示すフローチャートである。図９に示す第２のＭＴＵ調整処理は、ＵＤＰ転送エラーと判定した場合に、現在設定中のＭＴＵのサイズを調整する処理である。
【００６８】
図９において無線端末１Ａ内のプロセッサ１９Ａ内の本体制御部５０は、サーバ２とのＵＤＰ通信によるパケット通信を開始したか否かを判定する（ステップＳ７１）。プロセッサ１９Ａ内のアプリ６０は、パケット通信を開始した場合（ステップＳ７１肯定）、サーバ２からエラー応答を検出したか否かを判定する（ステップＳ７２）。
【００６９】
アプリ６０は、エラー応答を検出した場合（ステップＳ７２肯定）、エラー応答がデータサイズ不正によるＵＤＰ転送エラーであるか否かを判定する（ステップＳ７３）。そして、アプリ６０は、データサイズ不正によるＵＤＰ転送エラーの場合（ステップＳ７３肯定）、ＭＴＵ調整要求を本体制御部６０に通知する。そして、本体制御部５０内の第２の調整部２３Ａは、ＭＴＵ調整要求に応じて、現在設定中のＭＴＵ値α＊調整量（増加割合：１０％）γで調整ＭＴＵ値を算出する（ステップＳ７４）。その結果、調整ＭＴＵ値は、現在設定中のＭＴＵ値よりも１０％大きくできる。
【００７０】
本体制御部５０内の第２の制御部２４Ａは、調整ＭＴＵ値を算出した後、調整ＭＴＵ値がＭＴＵ上限値を上回るか否かを判定する（ステップＳ７５）。第２の制御部２４Ａは、調整ＭＴＵ値がＭＴＵ上限値を上回らない場合（ステップＳ７５否定）、算出した調整ＭＴＵ値を設定する（ステップＳ７６）。尚、第２の制御部２４Ａは、算出した調整ＭＴＵ値を設定中の計測テーブル４０内の基準計測値のＭＴＵ値４３として更新する。
【００７１】
本体制御部５０は、パケット通信を開始しなかった場合（ステップＳ７１否定）、図９に示す処理動作を終了する。本体制御部５０は、サーバ２からエラー応答を検出しなかった場合（ステップＳ７２否定）、エラー応答を検出したか否かを判定すべく、ステップＳ７２に移行する。本体制御部５０は、エラー応答の内容がデータサイズ不正によるＵＤＰ転送エラーでない場合（ステップＳ７３否定）、エラー応答を検出したか否かを判定すべく、ステップＳ７２に移行する。第２の制御部２４Ａは、算出した調整ＭＴＵ値がＭＴＵ上限値を上回る場合（ステップＳ７５肯定）、調整ＭＴＵ値を設定せずに、図９に示す処理動作を終了する。
【００７２】
図９に示す第２のＭＴＵ調整処理を実行するプロセッサ１９Ａは、ＵＤＰ転送エラーと判定した場合、現在設定中のＭＴＵ値に増加割合の調整量を乗算して調整ＭＴＵ値を算出する。その結果、ＵＤＰ転送エラーが生じた場合でも、現在設定中のＭＴＵ値を大きくしてＵＤＰ転送エラーを解消できる。
【００７３】
プロセッサ１９Ａは、ＵＤＰ転送エラーと判定した場合、現在設定中のＭＴＵ値に増加割合の調整量を乗算し、算出した調整ＭＴＵ値がＭＴＵ上限値を上回らない場合、算出した調整ＭＴＵ値を設定する。その結果、無線端末１Ａは、調整ＭＴＵ値に基づき、サーバ２との間のＵＤＰによるパケット通信を確保できる。
【００７４】
更に、プロセッサ１９Ａは、調整ＭＴＵ値がＭＴＵ上限値を上回らない場合、算出した調整ＭＴＵ値を計測テーブル４０内に更新する。その結果、無線端末１Ａは、調整ＭＴＵ値を計測テーブル４０内に更新するため、次回のＭＴＵ調整を円滑に行うことができる。
【００７５】
プロセッサ１９Ａは、算出した調整ＭＴＵ値がＭＴＵ上限値を上回る場合、算出した調整ＭＴＵ値を設定しない。その結果、無線端末１Ａは、ＭＴＵ値の再調整によるＵＤＰ転送エラーを防止できる。
【００７６】
実施例２の無線端末１Ａは、ＵＤＰ通信で分割パケットの転送量が現在設定中のＭＴＵ値を下回るＵＤＰ転送エラーと判定した場合、現在設定中のＭＴＵ値を増加方向に調整した。その結果、無線端末１Ａは、ＵＤＰ転送エラーが生じた場合でも、現在設定中のＭＴＵ値を大きくすることでＵＤＰ転送エラーを解消し、サーバ２との間のパケット通信を確保できる。つまり、無線端末１Ａ側で相手先の通信網に適したＭＴＵ値を調整できる。無線端末１Ａは、例えば、海外ローミング時でもＵＤＰ転送エラーを解消し、海外ローミング通信を確保できる。
【００７７】
尚、上記実施例２の無線端末１Ａでは、調整ＭＴＵ値がＭＴＵ上限値を上回る場合、算出した調整ＭＴＵ値を設定しないようにした。しかしながら、調整ＭＴＵ値がＭＴＵ上限値を上回る場合に、現在ＭＴＵ値の増加割合の調整量を小さくし、調整ＭＴＵ値がＭＴＵ上限値を上回らないように調整量を調整するようにしても良い。
【００７８】
無線端末１Ａでは、現在設定中のＭＴＵ値を増加割合の調整量で乗算してＭＴＵ値を大きくする場合を例示したが、ＭＴＵ値を減少割合の調整量で乗算してＭＴＵ値を小さくするようにしても良い。
【００７９】
上記実施例１の無線端末１では、ＴＣＰ転送エラーを解消すべく、ＴＣＰ通信のＭＴＵのサイズを調整する場合を例示した。しかしながら、無線端末１は、ＵＤＰ転送エラーを解消すべく、ＵＤＰ通信のＭＴＵサイズを調整する、実施例２の無線端末１Ａの機能を内蔵するようにしても良い。
【００８０】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【００８１】
更に、各装置で行われる各種処理機能は、ＣＰＵ（Central  Processing  Unit）（又はＭＰＵ（Micro  Processing  Unit）、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、ＣＰＵ（又はＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
【００８２】
ところで、本実施例で説明した各種の処理は、予め用意されたプログラムを端末装置内のＣＰＵ等のプロセッサで実行させることによって実現できる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行する端末装置の一例を説明する。図１０は、通信制御プログラムを実行する情報処理装置の一例を示す説明図である。
【００８３】
図１０に示す通信制御プログラムを実行する情報処理装置１００は、通信部１１０と、ＲＯＭ１２０と、ＲＡＭ１３０と、ＣＰＵ１４０とを有する。通信部１１０、ＲＯＭ１２０、ＲＡＭ１３０及びＣＰＵ１４０は、バス１５０を介して接続される。
【００８４】
そして、ＲＯＭ１２０には、上記実施例と同様の機能を発揮する通信制御プログラムが予め記憶されている。ＲＯＭ１２０は、通信制御プログラムとして送信プログラム１２０Ａ、判定プログラム１２０Ｂ及び調整プログラム１２０Ｃが記憶されている。尚、ＲＯＭ１２０ではなく、図示せぬドライブでコンピュータ読取可能な記録媒体に通信制御プログラムが記録されていても良い。また、記録媒体としては、例えば、ＣＤ−ＲＯＭ、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等でも良い。
【００８５】
そして、ＣＰＵ１４０は、送信プログラム１２０ＡをＲＯＭ１２０から読み出し、ＲＡＭ１３０上で送信プロセス１３０Ａとして機能する。更に、ＣＰＵ１４０は、判定プログラム１２０ＢをＲＯＭ１２０から読み出し、ＲＡＭ１３０上で判定プロセス１３０Ｂとして機能する。ＣＰＵ１４０は、調整プログラム１２０ＣをＲＯＭ１２０から読み出し、ＲＡＭ１３０上で調整プロセス１３０Ｃとして機能する。
【００８６】
ＣＰＵ１４０は、通信部１１０を通じて所定の最大転送量単位でデータを送信する。ＣＰＵ１４０は、前記所定の最大転送量単位でデータを転送する際に前記データの転送量が前記所定の最大転送量を上回ることで実行するデータ再送の回数が所定回数以上であるか否かを判定する。ＣＰＵ１４０は、前記データ再送の回数が前記所定回数以上の場合に、前記所定の最大転送量を減少する方向に調整する。その結果、情報処理装置側で相手先の通信網に適した最大転送量を調整できる。
【符号の説明】
【００８７】
１  無線端末
１Ａ  無線端末
１９  プロセッサ
１９Ａ  プロセッサ
２１  認識部
２２  第１の判定部
２３  第１の調整部
２３Ａ  第２の調整部
２４  第１の制御部
２４Ａ  第２の制御部
３０  計測テーブル
４０  計測テーブル
【図１】
0006547333.tif 000002
【図２】
0006547333.tif 000003
【図３】
0006547333.tif 000004
【図４】
0006547333.tif 000005
【図５】
0006547333.tif 000006
【図６】
0006547333.tif 000007
【図７】
0006547333.tif 000008
【図８】
0006547333.tif 000009
【図９】
0006547333.tif 000010
【図１０】
0006547333.tif 000011