(57)【要約】      （修正有）【課題】複数のＴＣＰコネクションを設定した通信のオーバーヘッドを勘案してデータ転送方法を決定することで、通信速度の低下を抑えることができ、消費電力を抑えることが出来る携帯型デバイス及び通信制御方法を提供する。【解決手段】利用する無線通信方式によってＴＣＰコネクション数の初期数や、動的増減数を決定することにより、通信帯域幅の大きい無線通信方式では複数のＴＣＰコネクションを利用することによる通信速度向上を期待できる。一方で、通信帯域幅の小さい無線通信方式では通信速度の低下を抑えることができる。【選択図】図５
2015035718.tif 000002
【特許請求の範囲】
【請求項１】
基地局との無線通信により相手装置との通信を確立する携帯型デバイスであって、
前記携帯型デバイスで利用可能な無線通信の接続形態と、前記相手装置とのコネクション数とを関連付けた対応表を保持する保持手段と、
現在の前記携帯型デバイスの無線通信の接続形態を特定する特定手段と、
前記特定手段により特定された無線通信の接続形態に対応する前記コネクション数を、前記対応表を基に決定する決定手段と、
前記決定手段により決定された前記コネクション数で前記相手装置との通信を行う通信手段と
を有することを特徴とする携帯型デバイス。
【請求項２】
前記無線通信の接続形態が、携帯電話の通信方式のいずれかである場合には、前記決定手段は、通信規格ごとに予め定めた数のコネクション数を決定することを特徴とする請求項１に記載の携帯型デバイス。
【請求項３】
前記無線通信の接続形態が、携帯電話の通信方式のいずれでもない場合には、前記決定手段は、接続速度に応じて予め定めた数のコネクション数を決定することを特徴とする請求項１又は２に記載の携帯型デバイス。
【請求項４】
前記接続速度は、データが転送される方向についての接続速度であることを特徴とする請求項３に記載の携帯型デバイス。
【請求項５】
前記決定手段はさらに、前記携帯型デバイスが高速移動中であるか否かを判定する手段を有し、高速移動中である場合には、無線通信の接続形態に応じた数よりも少ない数を前記コネクション数として決定することを特徴とする請求項１乃至４のいずれか一項に記載の携帯型デバイス。
【請求項６】
前記高速移動中であることは、所定時間の間に生じたハンドオーバーの回数が所定の数よりも多い場合に判定されることを特徴とする請求項５に記載の携帯型デバイス。
【請求項７】
前記決定手段はさらに、接続先のネットワークが低速通信網であるか否かを判定する手段を有し、低速通信網である場合には、無線通信の接続形態に応じた数よりも少ない数を前記コネクション数として決定することを特徴とする請求項１乃至６のいずれか一項に記載の携帯型デバイス。
【請求項８】
前記接続先のネットワークが低速通信網であるか否かの判定は、前記相手装置へ至る接続先を指定する設定情報に関連付けられた速度の情報に基づいて行うことを特徴とする請求項７に記載の携帯型デバイス。
【請求項９】
前記決定手段はさらに、前記携帯型デバイスに係る料金の契約形態を示す契約情報を取得し、契約形態が従量制である場合には、無線通信の接続形態に応じた数よりも少ない数を前記コネクション数として決定することを特徴とする請求項１乃至６のいずれか一項に記載の携帯型デバイス。
【請求項１０】
前記無線通信の接続形態に応じた数よりも少ない数は１であることを特徴とする請求項５乃至９のいずれか一項に記載の携帯型デバイス。
【請求項１１】
前記決定手段は、前記コネクション数の決定を定期的に行うことを特徴とする請求項１乃至１０のいずれか一項に記載の携帯型デバイス。
【請求項１２】
ユーザインタフェースを表示する表示手段を更に有し、
前記ユーザインタフェースは、前記コネクション数を前記決定手段により決定することの指定と、定期的に前記コネクション数の決定を行うことの指定と、前記契約形態に応じて前記コネクション数の決定を行うことの指定と、前記携帯型デバイスが高速移動中であるか否かに応じて前記コネクション数の決定を行うことの指定と、前記接続先のネットワークが低速通信網であるか否かに応じて前記コネクション数の決定を行うことの指定との少なくともいずれかを含むことを特徴とする請求項１乃至１１のいずれか一項に記載の携帯型デバイス。
【請求項１３】
基地局との無線通信により相手装置との通信を確立する携帯型デバイスによる通信制御方法であって、
前記携帯型デバイスで利用可能な無線通信の接続形態と、前記相手装置とのコネクション数とを関連付けた対応表を保持する保持工程と、
現在の前記携帯型デバイスの無線通信の接続形態を特定する特定工程と、
前記特定工程により特定された無線通信の接続形態に対応する前記コネクション数を、前記対応表を基に決定する決定工程と、
前記決定工程により決定された前記コネクション数で前記相手装置との通信を行う通信工程と
を有することを特徴とする通信制御方法。
【請求項１４】
請求項１乃至１２のいずれか一項に記載の携帯型デバイスとしてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動情報端末等の携帯型デバイスおよび該デバイス上で複数のＴＣＰコネクションを用いて送受信する通信制御方法に関するものである。
【背景技術】
【０００２】
ＴＣＰ(Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ)は、ファイルの送受信のような信頼性を要求する通信に利用されるプロトコルの代表的なものとして知られている（非特許文献１参照）。通信速度を向上させるために、複数のＴＣＰコネクションを用いる手法がある。この手法は、一般的に送信したいデータを複数個に分割し、それを複数のＴＣＰコネクションで並行して送信する手法である。このような手法は情報端末間の物理的な通信路に十分な帯域幅がある場合、大きな効果があることが知られている。また、無線環境下での使用も検討されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−６７０１５号公報
【非特許文献】
【０００４】
【非特許文献１】ＲＦＣ７９３：Ｔｒａｎｓｍｉｓｓｉｏｎ Ｃｏｎｔｒｏｌ Ｐｒｏｔｏｃｏｌ（ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ７９３．ｔｘｔ）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような複数のＴＣＰコネクションを用いる手法は、安定した通信環境があり、バッテリ駆動で無い通常の情報機器の場合、大きなデメリットを伴わずに効果を期待できた。しかしながら、無線情報端末は一般的に基地局と数キロメートル以上離れている点や、高速移動に伴う在圏基地局の頻繁な切り替え、建物内における電波の減衰などにより、通信速度が安定しない。そのため、複数のＴＣＰコネクションの使用方法によっては、効果が無いどころか、場合によっては単一のＴＣＰコネクションを用いた場合の通信速度を割り込んでしまうという課題があった。
【０００６】
また、移動情報端末はバッテリ駆動である一方で、複数のＴＣＰコネクションを用いる手法は複数のＣＰＵコアを占有するために駆動時間に影響を及ぼす恐れがあるという課題もあった。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本発明は以下の構成を有する。基地局との無線通信により相手装置との通信を確立する携帯型デバイスであって、
前記携帯型デバイスで利用可能な無線通信の接続形態と、前記相手装置とのコネクション数とを関連付けた対応表を保持する保持手段と、
現在の前記携帯型デバイスの無線通信の接続形態を特定する特定手段と、
前記特定手段により特定された無線通信の接続形態に対応する前記コネクション数を、前記対応表を基に決定する決定手段と、
前記決定手段により決定された前記コネクション数で前記相手装置との通信を行う通信手段とを有する。
【発明の効果】
【０００８】
本発明によれば、複数のＴＣＰコネクションを設定した通信のオーバーヘッドを勘案してデータ転送方法を決定することで、通信速度の低下を抑えることができる。また、消費電力を抑えることが出来る。
【図面の簡単な説明】
【０００９】
【図１】実施形態の一実施形態としてのコンピュータを含むネットワーク構成図
【図２】実施形態の一実施形態としてのコンピュータを含むシステムを構成するブロック図
【図３】実施形態の一実施形態としてのソフトウェア構成図
【図４】制御部における初期ＴＣＰコネクション数取得処理のフローチャート
【図５】ＴＣＰコネクション数決定のためのテーブルを示す図
【図６】帯域幅の小さい環境下における複数ＴＣＰコネクション通信の解説図
【図７】制御部における高速移動中の判定処理のフローチャート
【図８】制御部における高速移動中の判定処理を用いた初期ＴＣＰコネクション数取得処理のフローチャート
【図９】制御部における従量制の判定処理のフローチャート
【図１０】制御部における従量制の判定処理を用いた初期ＴＣＰコネクション数取得処理のフローチャート
【図１１】制御部における低速通信網の判定処理のフローチャート
【図１２】制御部における低速通信網の判定処理を用いた初期ＴＣＰコネクション数取得処理のフローチャート
【図１３】制御部における拡張された初期ＴＣＰコネクション数取得処理のフローチャート
【図１４】複数ＴＣＰコネクション通信の利用可否の利用者問い合わせ画面を示す図
【発明を実施するための形態】
【００１０】
実施形態を説明する前に、説明に用いる用語について定義する。ソケットとは、ＴＣＰレイヤ上の通信路を識別、分類するための表記である。多くの場合ＩＰプロトコルを下位レイヤとして用いるのが一般的であり、この場合、ＩＰアドレスとＴＣＰポート番号の組のことを指す。ＴＣＰコネクションとはＴＣＰレイヤにおけるひとつの通信路を意味する。具体的には受信側ソケットと送信側ソケットの組のことである。受信ウィンドウサイズとは、ＴＣＰプロトコルにおける、受信用のバッファである。送信ウィンドウサイズとは、ＴＣＰプロトコルにおける、送信用のバッファである。ＴＣＰは残り受信ウィンドウサイズを送信側に通知することにより、バッファ溢れを防ぐことが出来る。また、ＴＣＰは送信ウィンドウサイズを徐々に大きくすることにより、通信速度の向上を試みる。一方で送信ウィンドウサイズを単に大きくすると、通信路の輻輳に繋がるため、これらウィンドウサイズの制御を行う輻輳制御アルゴリズムが必要である。広く知られている輻輳制御アルゴリズムには、Ｔａｈｏｅ、Ｒｅｎｏ等がある。
【００１１】
本明細書において、セッションとは１本以上のＴＣＰコネクションを束ねたものを意味する。前記セッションは、ファイルを分割して送受信する際に使われる複数のＴＣＰコネクションを束ねたものである。
【００１２】
［実施形態形態１］
＜装置の構成＞
本発明に係る情報処理装置の一実施形態として、実施形態に係る通信制御方法を実現するコンピュータについて説明する。図２は本実施形態のコンピュータの構成を説明するブロック図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器から成るシステムであっても、本発明を適用できることは言うまでもない。また、特に断らない限り、本発明の機能が実行されるのであれば、ＬＡＮ、ＷＡＮ、ＷＷＡＮ、インターネット等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【００１３】
図２において、コンピュータ２００はクライアントコンピュータ１０３、もしくはサーバコンピュータ１０２である。コンピュータ２００はＲＯＭ２０２のプログラム用ＲＯＭあるいは外部記憶装置２０５に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した処理を実行するＣＰＵ２０１を備える。さらに、システムバス２０４に接続される各デバイスをＣＰＵ２０１が統括的に制御する。また、これら以外に入出力装置を備えていても良い。
【００１４】
クライアントコンピュータ１０３およびサーバコンピュータ１０２は有線通信あるいは無線通信のいずれかによって接続が確立されていても良いが、本実施形態では、クライアントコンピュータ１０３は無線通信でネットワーク（すなわちサーバー等の通信の相手装置）と接続される。クライアントコンピュータは、クライアントあるいは無線端末あるいは無線情報端末あるいは携帯型デバイスなどとも呼ぶことがある。
【００１５】
また、このＲＯＭ２０２のプログラム用ＲＯＭあるいは外部記憶装置２０５には、ＣＰＵ２０１の制御プログラムであるオペレーションシステム等を記憶する。また、ＲＯＭ２０２のデータ用ＲＯＭあるいは外部記憶装置２０５には各種データを記憶する。
【００１６】
ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能し、ネットワークＩ／Ｆ制御部２０６は、ＬＡＮ２０７とのデータの送受信を制御する。
【００１７】
図１において、ネットワーク１００は、上述の各装置の間で情報をやり取りするための通信回線である。インターネット１０１は、ファイアウォールを越えて上述の各装置間で情報をやり取りするための通信回線である。このネットワークＩ／Ｆ制御部２０６は無線通信装置であっても構わない。すなわち、無線アンテナやその制御のための装置を備えていても良い。ネットワーク１００、およびインターネット１０１は、例えば、ＴＣＰ／ＩＰプロトコルなどをサポートする通信回線網である。図１において、サーバコンピュータ群１０２は、１台のサーバとして示されているが複数台のサーバコンピュータで構成されていても構わない。また、仮想ＰＣとして構成されていても構わない。また、無線基地局１０４およびその無線接続範囲１０５で接続可能な無線情報端末１０３としてコンピュータが構成されていても構わないし、固有の無線端末回線網１０６を介していても構わない。
【００１８】
＜ソフトウェア構成＞
続いて本実施形態におけるシステムブロック図について説明する。図３はクライアントコンピュータ１０３等のコンピュータが有する通信機能のソフトウェアモジュールを示す。図３の通信回線（外部ネットワーク）を除く各処理部は、クライアントコンピュータのＲＯＭ２０２またはＲＡＭ２０３または外部記憶装置２０５に格納され、ＣＰＵ２０１によって処理が実行される。
【００１９】
クライアント１０３およびサーバ１０２はデータ転送を管理する機構、具体的にはコネクションを複数設けて通信を行うか否かを管理する機構を備える必要がある。その機構は多くが共通化でき、サーバ、およびクライアント両方に本発明を実施することで効果を得るが、片方だけでも半分の効果を得ることができる。ここではサーバかクライアントの片方に偏った実施方法ではなく、両方で実施可能な方法を示す。
【００２０】
ソフトウェア構成を図３に示す。ＴＣＰレイヤまでの管理機構はＲＦＣ７９３を満たし、利用可能なＡＰＩが提供されていればどのような実施方法でも構わない。すなわち、ＴＣＰ処理部３０３および下位レイヤ処理部３０４が適切なＡＰＩを提供していれば、その実装は問わない。このＴＣＰ処理部３０３および下位レイヤ処理部３０４は、多くの場合、オペレーティングシステムが提供することが一般的であるが、本発明が必要とする管理機構が直接実装していても構わない。その実施方法は一般的に広く知られているため、詳細に記述しない。
【００２１】
制御部３０１は複数ＴＣＰコネクションの送受信処理を管理する。制御部３０１は上位レイヤアプリケーション３００へのインターフェースの提供、また下位レイヤに対してデータの送受信も管理する。制御部３０１は全ての処理を行わず、セッション管理部３０２にＴＣＰコネクションの処理を委譲する。
【００２２】
この、制御部３０１およびセッション管理部３０２は本実施形態では１つのソフトウェアライブラリの形で記述するが、オペレーティングシステムそのものに本機能を実施したり、ネットワークＩ／Ｆのハードウェアに実装しても構わない。すなわち、同等の機能及びインターフェースが上位レイヤアプリケーション３００に提供できれば、実施箇所は問わない。
【００２３】
制御部３０１および、セッション管理部３０２は複数ＴＣＰコネクションを束ねるセッションを管理する。具体的にはＴＣＰコネクションの接続、受付、送受信等を管理し、その結果を上位レイヤアプリケーション３００に通知する。セッション管理部３０２ではＴＣＰコネクションを複数本用いた通信の管理も行う。ＴＣＰコネクションを複数本用いた通信手法については、広く知られている技術のため、本実施形態では詳細を記述しない。例えば、固定ＴＣＰコネクション数でファイルサイズを基に等分で分割する手法であっても良いし、通信状況に応じてＴＣＰコネクション数を動的に増減させる手法、または、ユーザにＴＣＰコネクション数を問い合わせる手法などであっても良い。
【００２４】
＜データ転送手順＞
次に本実施形態に係るデータ転送方法すなわちデータの送受信について説明する。ここでは通信開始時の処理のフローを図４に示す。制御部３０１は上位レイヤアプリケーション３００から通信開始の要求を受け取ると、図４の初期ＴＣＰコネクション数取得処理４００にて初期ＴＣＰコネクション数の決定を行う。初期ＴＣＰコネクション数取得処理４００では、まずＳ４０１にてネットワークに接続可能かどうかを判断する。もしネットワークになんらかの理由で接続出来ないと判断した場合、接続不可処理（Ｓ４０９）にて接続エラーを上位レイヤアプリケーション３００に通知する。接続可能と判断した場合、Ｓ４０２に遷移する。Ｓ４０２では大まかな接続形態を取得する。ここではＷｉ−Ｆｉか有線ＬＡＮか、移動情報端末用の無線通信か等の接続形態を取得する。接続形態を取得後、接続形態を特定するためにＳ４０３にて移動情報端末用の無線かどうかの判定を行う。ここで、移動情報端末用の無線通信とは、主に移動体を考慮した無線通信のことを指し、例えば携帯電話の通信方式（あるいは通信規格）を指す。例えば、情報端末が高速で広範囲に移動したとしても、常時、通信可能な状態にしておくことを目的とするような通信方式を指す。一方で移動情報端末用でない無線通信とは、主に移動しない、位置が固定された端末を対象とした通信方式を指す。本例では、Ｗｉ−Ｆｉ（無線ＬＡＮ）は移動情報端末用でない無線通信に属するものとする。もし、移動端末用の無線では無い場合Ｓ４０６に遷移する。Ｓ４０６では現在の接続形態の接続速度を取得する。ここでは主にＷｉ−Ｆｉ接続を想定しているが、有線ＬＡＮ等の他の接続形態を考慮したい場合はＳ４０３の分岐をさらに詳細化しても良い。Ｓ４０７では取得した接続速度に応じてＴＣＰコネクション数を取得している。本実施形態では図５（ｂ）に示す対応表すなわち接続速度に対するＴＣＰコネクション数テーブルを用いて初期ＴＣＰコネクション数を決定している。初期ＴＣＰコネクション数の決定方法はこれに限る必要は無い。例えば、接続速度に対するＴＣＰコネクション数を割り出すための方程式を用意しても良いし、外部ネットワークに算出手段を用意する手法であっても構わない。Ｓ４０７によりＴＣＰコネクション数を取得したのち、そのＴＣＰコネクション数をＳ４０８にて通信に用いる初期ＴＣＰコネクションとして設定し、接続処理に移る。Ｓ４０３にて移動端末用の無線であると判定した場合、Ｓ４０４に遷移する。制御部３０１はＳ４０４にて接続形態の詳細を取得する。ここで前記接続形態の詳細とは、移動端末用の無線規格の事であり、具体的にはＧＳＭ（登録商標）やＷＣＤＭＡ（登録商標）等を指す。前記詳細な接続形態を取得後、制御部３０１はＳ４０５にて前記詳細な接続形態に対応するＴＣＰコネクション数を取得する。本実施形態では図５（ａ）に示す対応表すなわち詳細な接続形態に対するＴＣＰコネクション数テーブルを用いて初期ＴＣＰコネクション数を決定している。Ｓ４０５によりＴＣＰコネクション数を取得したのち、そのＴＣＰコネクション数をＳ４０８にて通信に用いる初期ＴＣＰコネクションとして設定し、接続処理に移る。この初期ＴＣＰコネクション数取得処理４００以外にも、接続処理そのものや送受信処理、終了処理等が必要となる。しかし、これらの処理は複数ＴＣＰコネクション送受信の技術として、広く知られており、本発明の特徴を示すために不要なので、詳細は省略する。図５に示した対応表は、例えばＲＯＭ２０２やＲＡＭ２０３に保持されている。
【００２５】
以上、説明した本実施形態によれば、利用する無線通信方式によってＴＣＰコネクション数の初期数や、動的増減数を決定することにより、通信帯域幅の大きい無線通信方式では複数のＴＣＰコネクションを利用することによる通信速度向上を期待できる。一方で、通信帯域幅の小さい無線通信方式では通信速度の低下を抑えることができる。また、複数ＣＰＵ資源の利用を最小限に抑えることにより、消費電力を抑えることが出来る。
【００２６】
また、補足として通信帯域幅の小さい回線で大量のＴＣＰコネクションを張った場合の速度低下の理由について簡単に説明する。この現象はクライアントとサーバそれぞれの輻輳制御アルゴリズムによって挙動が異なる。そのため、ここで説明する現象が常に発生するとは限らない。図６において、６０１は無線情報端末を示し、６０２はサーバを示している。ここで無線情報端末６０１がサーバ６０２から、なんらかのコンテンツを受信することを考える。図６（ａ）は複数ＴＣＰコネクション技術を用いず、１本のＴＣＰコネクションで受信した場合を示している。一方で図６（ｂ）は複数ＴＣＰコネクション技術を用いて、３本のＴＣＰコネクションで受信した場合を示している。また６０３等で示すブロックはひとつのＴＣＰパケットを示している。６０５は無線情報端末６０１からみた時の受信回線、６０６は送信回線を示している。ＴＣＰでは受信側のバッファが溢れないように、受信側は空きバッファの容量と共に、どこまで受信したかをサーバ側に返送している。その返信パケットが６０４で示す、ＡＣＫ（ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔ）パケットである。このＡＣＫパケット６０４は送受信したいデータを含まない制御信号である。そのため、ＡＣＫパケット６０４の増加は、通信におけるオーバヘッドの増加に繋がる。ここで、ＡＣＫパケット６０４で示されている番号は、どの転送データのパケットの応答かを示している。図６（ａ）では同じコネクションなので、３つの受信パケットに対してまとめてＡＣＫパケットを返信出来ている。一方で図６（ｂ）では異なるコネクションのため、まとめてＡＣＫパケットを返信することが出来ず、その分ＡＣＫパケットが増加している。もちろん図６（ｂ）の場合でもＴＣＰコネクション単独で見た際に順調に送受信出来ていれば、サーバ７０２側の輻輳アルゴリズムがサーバ７０２の送信ウィンドウサイズを十分大きくすることにより、まとめてＴＣＰパケットを送れる。しかし通信帯域幅が小さい場合、ＴＣＰコネクション単独で見ると、他のＴＣＰコネクションの影響でＡＣＫが遅れてしまう。その分、サーバ側の輻輳アルゴリズムが、回線が混み合っていると判定してしまう可能性が高くなる。その場合、サーバ７０２の送信ウィンドウサイズが小さくなるため、ＡＣＫパケットの間隔が短くなる。結果的に通信帯域幅の小さい回線で大量のＴＣＰコネクションを張った場合、ＡＣＫパケットの増加が予想される。
【００２７】
なお、上りと下りとが非対称な通信媒体を用いている場合には、データが転送される方向への接続速度に応じた数のコネクションが設定される。
【００２８】
［実施形態２］
実施形態１における制御部３０１では、接続形態および、詳細な接続形態に応じてＴＣＰコネクション数を決定する方法を示した。本実施形態では、高速移動中の無線情報端末に対して、より動的にＴＣＰコネクション数を決定できる実施形態を示す。
【００２９】
図７を用いて、本実施形態による無線情報端末の高速移動の可否に基づく初期ＴＣＰコネクションの決定方法について説明する。図７に示す高速移動中の判定処理は、本実施形態では、能動的に基地局の情報を取得している。しかし、オペレーティングシステムやベースバンドチップからの通知をトリガとして、以降の処理を行っても良い。
【００３０】
制御部３０１では、高速移動中の判定処理７００に基づき、初期ＴＣＰコネクション数の補正を行う。高速移動中の判定処理７００のＳ７０１において、制御部３０１は予め設定していた判定用タイマが一定時間を越えたかどうかを判定する。もし一定時間を越えていた場合、Ｓ７０２にて基地局変動回数、および判定用タイマを０にリセットする。次に、Ｓ７０３では制御部３０１は移動中判定回数を取得する。前記移動中判定回数は予め定数として用意しても良いし、動的に増減させるものであっても良い。前記移動中判定回数は、一定時間内に在圏基地局が変わった回数（水平ハンドオーバーの回数）と比較され、水平ハンドオーバーの回数が移動中判定回数を超えた場合に高速移動中とみなす閾値として使用する。Ｓ７０４では制御部３０１は接続事業者情報を取得する。前記接続事業者情報とは、具体的にはＭＮＣ（電気通信事業者ＩＤ）やＭＣＣ（接続国ＩＤ）を指すが、それら以外の判定に必要なパラメータを取得しても良い。Ｓ７０５において、制御部３０１は基地局情報を取得する。前記基地局情報とはＣｅｌｌＩＤ（基地局ＩＤ）やＬＡＣ（地域コード）等を指すが、それら以外の判定に必要なパラメータを取得しても良い。Ｓ７０６では前記接続事業者情報と前記基地局情報が正しく取得出来たかを判定する。もし正常に取得出来た場合、Ｓ７０７に遷移する。もし正常に取得出来なかった場合はＳ７１１に遷移し、高速移動中ではないと判定し処理を抜ける。Ｓ７０７では前回の接続情報と今回取得した接続情報を比較する。ここで前記接続情報とは、前記接続事業者情報と前記基地局情報の組を指す。もし前記接続情報が一致した場合、高速移動中ではないとし、Ｓ７１１に遷移する。もし前記接続情報が一致しなかった場合、Ｓ７０８に遷移し、制御部３０１は基地局変動回数をインクリメントする。Ｓ７０９では取得した前記移動中判定回数すなわち閾値と前記基地局変動回数を比較し、まだ前記移動中判定回数の方が基地局変動回数よりも大きかった場合はＳ７１１に遷移し、基地局判定回数が移動中判定回数以上の場合は、Ｓ７１０に遷移する。Ｓ７１０で制御部３０１は高速移動中と判定し本処理を抜ける。
【００３１】
この高速移動中の判定処理７００の使用方法を図８にて説明する。図８における初期ＴＣＰコネクション数取得処理８００は図４の初期ＴＣＰコネクション数取得処理４００を拡張したものである。初期ＴＣＰコネクション数取得処理４００と同等の処理については、実施形態１にて解説済みであり、本実施形態の特徴を示すものではないため、詳細を省略する。初期ＴＣＰコネクション数取得処理８００では、Ｓ４０１にてネットワーク接続可能かどうか判断した後、７００にてまず高速移動中かどうかを判定する。制御部３０１はＳ８０１にて高速移動中であればＳ４０２に遷移し、高速移動中で無ければＳ８０２に遷移する。通信速度が十分に出る状態でないと判定した場合、制御部３０１はＳ８０２において、ＴＣＰコネクション数を最小に設定する。ここで最小のＴＣＰコネクション数とは、一般的には1本であることが多いと思われるが、無線情報端末や通信網の性能に基づいて任意に決めて良いし、動的に変動させても良い。何れにせよ、Ｓ４０５、またはＳ４０７で決定されるＴＣＰコネクション数よりも少ない本数である。なお図８において、判定処理７００が例えば携帯電話などの接続形態である移動端末用無線に限って場合に行われるものとすれば、判定処理７００をＳ４０３とＳ４０４との間に行ってもよい。
【００３２】
以上、説明した本実施形態によれば、無線情報端末が高速移動中かどうかを判定し、高速移動中であれば、通信速度の低下を見込み、ＴＣＰコネクション数を抑えることによって複数ＴＣＰコネクション通信のオーバヘッドを減らし、通信速度を維持出来る。このように、データ転送に用いられる実効的な帯域幅が小さくなる高速移動中の場合には、無線通信の接続形態に応じた数よりも少ない数、例えば１、を前記コネクション数として決定することで、通信速度の低下を防止できる。
【００３３】
［実施形態３］
実施形態１における制御部３０１では、接続形態および、詳細な接続形態に応じてＴＣＰコネクション数を決定する方法を示した。本実施形態では、従量制の通信プランの利用や、通信量を制限するエンドユーザに対して、より動的に対応できる実施形態を示す。
【００３４】
図９を用いて、本実施形態による従量制プランの使用であるか否かに基づく初期ＴＣＰコネクションの決定方について説明する。制御部３０１では従量制の判定処理９００に基づき、初期ＴＣＰコネクション数の補正、制限を行う。まず、制御部３０１はＳ９０１にて通信中の契約形態、特に料金に係る契約形態を示す契約情報を取得する。前記契約形態とは従量制か定額制がどうかである。次に、制御部３０１はＳ９０２において、正しく取得出来たかどうかを判定し、正しく前記契約情報を取得出来た場合、Ｓ９０３に遷移する。Ｓ９０３において契約情報が従量制を示す場合、Ｓ９０５に遷移し、従量制で無かった場合Ｓ９０６に遷移する。Ｓ９０５では従量制であるとして、本処理を抜ける。Ｓ９０６では従量制で無いとして本処理を抜ける。もちろんＳ９０５，Ｓ９０６における判定結果は記録される。一方で、Ｓ９０２にて、契約情報を正しく取得出来なかった場合、Ｓ９０４に遷移する。Ｓ９０４では制御部３０１はエンドユーザがデータ通信量の制限をしているかどうかを判定する。もし、データ通信量の制限をしていると判定した場合、Ｓ９０５に遷移する。本実施形態ではエンドユーザがデータ通信量を制限している場合、従量制と同等の処理を行う。しかし、実施形態としてはこれ以外にも、エンドユーザが設定した月間の制限量を超えた場合のみ、ＴＣＰコネクション数の制限を行うことや、ユーザにデータ通信量制限設定の利用可否を問うなどの、他の実施方法であっても構わない。この従量制の判定処理９００の使用方法を図１０にて説明する。
【００３５】
図１０における初期ＴＣＰコネクション数取得処理１０００は図４の初期ＴＣＰコネクション数取得処理４００を拡張したものである。初期ＴＣＰコネクション数取得処理４００と同等の処理については、実施形態１にて解説済みであり、本実施形態の特徴を示すものではないため、詳細を省略する。また、Ｓ８０２は実施形態２で解説済みであるため、本実施形態では説明を省略する。初期ＴＣＰコネクション数取得処理１０００では、Ｓ４０１にてネットワーク接続可能かどうか判断した後、９００にてまず従量制かどうかを判定する。制御部３０１はＳ１００１にて従量制であればＳ４０２に遷移し、従量制で無ければＳ８０２に遷移する。
【００３６】
以上、説明した本実施形態によれば、無線情報端末が従量制の通信プランかどうかを判定し、従量制であれば、複数ＴＣＰコネクションにおけるオーバヘッドを考慮し、ＴＣＰコネクション数を制限することによって、エンドユーザの利用コストを抑えることが出来る。
【００３７】
［実施形態４］
実施形態１における制御部３０１では、接続形態および、詳細な接続形態に応じてＴＣＰコネクション数を決定する方法を示した。本実施形態では、低速通信層の利用有無に基づいて、より適切な初期ＴＣＰコネクション数を決定できる実施形態を示す。
【００３８】
図１１を用いて、本実施形態による従量制プランの採用の有無に基づく初期ＴＣＰコネクションの決定方について説明する。制御部３０１では低速通信網の判定処理１１００に基づき、初期ＴＣＰコネクション数の補正、制限を行う。
【００３９】
まず、制御部３０１はＳ９０１にてＡＰＮ（Ａｃｃｅｓｓ  Ｐｏｉｎｔ  Ｎａｍｅ）の取得を試みる。ＡＰＮとは無線情報端末がデータ通信で必要となる、接続先を指定する設定情報を指す。Ｓ１１０２にてＡＰＮが正しく取得出来たかどうかを判定し、正しく取得出来なかった場合、Ｓ１１０５に遷移し、低速通信網であると判定し処理を抜ける。一方で、正しくＡＰＮを取得出来た場合、Ｓ１１０３に遷移する。Ｓ１１０３にて低速通信判定テーブルから低速通信網かどうかの判定を行う。ここで前記低速通信判定テーブルとは、通信速度に制限をかけるＡＰＮのリストである。すなわちＡＰＮに関連付けられた速度の情報に基づいて判定が行われる。前記低速通信判定テーブルは無線情報端末に予め用意しても良いし、定期的にインターネット等を通じて更新を行ったり、逐一インターネット等から最新のテーブルを取得しても良い。Ｓ１１０４にて制御部３０１は低速通信網であると判定した場合、Ｓ１１０５へ、一方で低速通信網でないと判定した場合Ｓ１１０６に遷移する。
【００４０】
この低速通信網の判定処理１１００の使用方法を図１２にて説明する。図１２における初期ＴＣＰコネクション数取得処理１０００は図４の初期ＴＣＰコネクション数取得処理４００を拡張したものである。初期ＴＣＰコネクション数取得処理４００と同等の処理については、実施形態１にて解説済みであり、本実施形態の特徴を示すものではないため、詳細を省略する。また、Ｓ８０２は実施形態２で解説済みであるため、本実施形態では説明を省略する。初期ＴＣＰコネクション数取得処理１２００では、Ｓ４０１にてネットワーク接続可能かどうか判断した後、１１００にてまず低速通信網かどうかを判定する。制御部３０１はＳ１２０１にて低速通信網であればＳ４０２に遷移し、低速通信網で無ければＳ８０２に遷移する。
【００４１】
以上、説明した本実施形態によれば、低速通信網であるかどうかを事前に把握することにより、ＴＣＰコネクション数を制限出来るため、複数ＴＣＰコネクション通信のオーバヘッドを減らし、通信速度を維持出来る。
【００４２】
［実施形態５］
実施形態２，実施形態３および実施形態４では、より適切な初期ＴＣＰコネクション数の決定方法を示した。それぞれの実施形態は、独立して実施可能であるが、これらの実施形態を組み合わせて実施することも可能である。そのため、本実施形態では実施形態２，実施形態３および実施形態４を組み合わせた実施方法を示す。
【００４３】
図１３を用いて、本実施形態の制御フローを示す。図１３における初期ＴＣＰコネクション数取得処理１３００は図４の初期ＴＣＰコネクション数取得処理４００を拡張したものである。初期ＴＣＰコネクション数取得処理４００と同等の処理については、実施形態１にて解説済みであり、本実施形態の特徴を示すものではないため、詳細を省略する。また、Ｓ８０２は実施形態２で解説済みであるため、本実施形態では説明を省略する。
【００４４】
初期ＴＣＰコネクション数取得処理１３００では、Ｓ４０１にてネットワーク接続可能かどうか判断した後、通信速度が十分に出る状態か、オーバヘッドを考慮しても複数ＴＣＰコネクション通信を行うべきかをチェックしていく。まず、制御部３０１は高速移動中の判定処理７００にて高速移動中かどうかを判定する。制御部３０１は、その結果からＳ１３０１にて高速移動中である場合はＳ８０２へ遷移し、そうでない場合は更にチェックを続ける。制御部３０１は従量制の判定処理９００にて、現在の通信回線の契約体制が従量制かどうかを判定する。従量制であった場合、Ｓ１３０２にてＳ８０２に遷移し、そうでない場合は更にチェックを続ける。続いて、制御部３０１は低速回線網の判定処理１１００にて、現在の通信回線が低速通信網に属しているかどうかの判定を行う。低速通信網で無かった場合にはＳ１３０３にてＳ８０２に遷移する。これらのチェックを全て通った場合、制御部３０１は接続形態に応じたＴＣＰコネクション数の決定を行う。このように、複数の判定基準のいずれかで、利用可能な実効的な帯域幅が狭いと判断された場合には、ＴＣＰコネクションの数を増やさずに通信を行う。
【００４５】
本実施形態では単に複数ＴＣＰコネクション通信が有効かどうかの判定を順に行っている。しかし、他の実施形態として、それぞれの判定処理の重きを設定し、その合計値が閾値を超えた場合のみ、複数ＴＣＰコネクション通信を行わないと判定しても良い。また、それぞれの判定処理を複数ＴＣＰコネクション通信の有効性の判定に用いるかどうかを、図１４のような入力画面（ユーザインタフェース画面）を利用者に提示することで、利用者自身に決定させる方法であっても良い。
【００４６】
図１４においては、「高速通信の自動制御を行う」チェックボックスがチェックされていると、図１３の手順を実行する。チェックされていない場合には、たとえばコネクション数を１などの所定の数に固定するか、あるいはユーザに入力された数とする。チェックされている場合に、「固定ＴＣＰコネクション数で通信する」チェックボックスがさらにチェックされていると、図１３の手順は一回だけ行われる。チェックされていない場合には、例えば定期的に図１３の手順を実行して、その時点で適した数のコネクションを用いる。さらに、「従量制御情報を使用する」チェックボックスがチェックされている場合に限って、図１３の９００を実行する。９００が実行されない場合には、Ｓ１３０２の判定結果はＮｏである。さらに、「高速移動情報を使用する」チェックボックスがチェックされている場合に限って、図１３の７００を実行する。７００が実行されない場合には、Ｓ１３０１の判定結果はＮｏである。さらに、「ＡＰＮ情報を使用する」チェックボックスがチェックされている場合に限って、図１３の１１００を実行する。１１００が実行されない場合には、Ｓ１３０３の判定結果はＮｏである。このように、図１４においてチェックされた判定基準のみが図１３の手順中で実行される。これは他の実施形態についてもできよう可能である。この場合には各実施形態で用いない判定基準については、図１４のユーザインタフェースに表示しなくともよい。同時に、同画面でＴＣＰコネクション数の動的な増減を利用者自身に決定させる方法を用いても良い。
【００４７】
以上、説明した本実施形態によれば、無線通信網における、複数ＴＣＰコネクション通信の有効性を様々な方法で判断出来る。より最適なＴＣＰコネクション数を決定出来るため、利用者は通信帯域の有効利用および、回線契約等に基づき通信方式を制御することが可能となる。
【００４８】
［他の実施形態］
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良い。
【００４９】
また仮想化ＯＳなどで構成される場合も含めて一つの機器からなる装置に適用しても良い。さらに、情報処理装置がインターネットを経由したクラウドコンピューティングで構成されるシステムに適用しても良い。
【００５０】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【００５１】
また、プログラムの実行環境は、パーソナルコンピュータやパーソナルコンピュータでのオペレーションシステムを仮想化した仮想ＰＣやリモートＰＣを含む。
さらには、画像形成装置、プリンタやＭＦＰ（マルチファンクションペリフェラル）等の組み込みコンピュータで実行される場合も含まれる。
【００５２】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００５３】
プログラムを供給するための記録媒体としては、様々なものが使用できる。
例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどである。
【００５４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。その場合、ダウンロードされるのは、本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【００５５】
また、本発明のプログラムを暗号化してDVD−ＲＯＭ等の記憶媒体に格納してユーザに配布する形態としても良い。その場合、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムが実行可能な形式でコンピュータにインストールされるようにする。
【００５６】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される形態以外の形態でも実現可能である。例えば、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００５７】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれるようにしてもよい。この場合、その後で、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【００５８】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015035718.tif 000003
【図２】
2015035718.tif 000004
【図３】
2015035718.tif 000005
【図４】
2015035718.tif 000006
【図５】
2015035718.tif 000007
【図６】
2015035718.tif 000008
【図７】
2015035718.tif 000009
【図８】
2015035718.tif 000010
【図９】
2015035718.tif 000011
【図１０】
2015035718.tif 000012
【図１１】
2015035718.tif 000013
【図１２】
2015035718.tif 000014
【図１３】
2015035718.tif 000015
【図１４】
2015035718.tif 000016