(57)【要約】【課題】無線通信伝送路の切替において、複数レイヤを含む通信プロトコルスタックにおいて該切替の処理よりも上位レイヤのプロトコルの応答待ち時間の延長を抑制する。【解決手段】プロセッサと、メモリとを含む通信装置であって、プロセッサが、第１の無線通信方式と第２の無線通信方式との間の通信伝送路の切替を行う切替処理と、複数レイヤを含む通信プロトコルスタックにおいて前記切替処理よりも上位のレイヤでアプリケーションからの送信要求に応じたデータの送信及び応答の受信を行うデータ送受信処理と、を行い、第１の無線通信方式の通信伝送路から第２の無線通信方式の通信伝送路への切替を判定した場合には、データ送受信処理が応答の受信待機中であるか否かを判定し、データ送受信処理が応答の受信待機中である場合には、応答の受信まで、切替処理の実行を保留する。【選択図】図４
2016119555.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、メモリとを含む通信装置であって、
前記プロセッサが、
第１の無線通信方式と第２の無線通信方式との間の通信伝送路の切替を行う切替処理と、複数レイヤを含む通信プロトコルスタックにおいて前記切替処理よりも上位のレイヤでアプリケーションからの送信要求に応じたデータの送信及び応答の受信を行うデータ送受信処理と、を行い、
前記第１の無線通信方式の通信伝送路から前記第２の無線通信方式の通信伝送路への切替を判定した場合には、前記データ送受信処理が、前記応答の受信待機中であるか否かを判定し、
前記データ送受信処理が前記応答の受信待機中である場合には、前記応答の受信まで、前記切替処理の実行を保留する、
通信装置。
【請求項２】
前記プロセッサは、
前記切替処理と前記データ送受信処理との間の論理インタフェースを用いて、前記応答の受信待機中であるか否かの判定を行う、
請求項１に記載の通信装置。
【請求項３】
前記プロセッサは、
前記データ送受信処理が前記応答の受信待機中であるか否かの判定結果が所定時間得られない場合には、保留中の前記切替処理を実行する、
請求項１又は２に記載の通信装置。
【請求項４】
前記プロセッサは、
前記データ送受信処理において前記応答の受信待機時間が所定時間経過した場合には、保留中の前記切替処理を実行する、
請求項１から３のいずれか一項に記載の通信装置。
【請求項５】
前記データ送受信処理は、前記通信プロトコルスタックのアプリケーションレイヤの処理である、
請求項１から４のいずれか一項に記載の通信装置。
【請求項６】
前記データ送受信処理は、ＴＣＰ（Transmission Control Protocol）の処理である、
請求項１から４のいずれか一項に記載の通信装置。
【請求項７】
コンピュータに、
第１の無線通信方式と第２の無線通信方式との間の通信伝送路の切替を行う切替処理と、複数レイヤを含む通信プロトコルスタックにおいて前記切替処理よりも上位のレイヤでアプリケーションからの送信要求に応じたデータの送信及び応答の受信を行うデータ送受信処理と、を行わせ、
前記第１の無線通信方式の通信伝送路から前記第２の無線通信方式の通信伝送路への切替を判定した場合には、前記データ送受信処理が、前記応答の受信待機中であるか否かを判定させ、
前記データ送受信処理が前記応答の受信待機中である場合には、前記応答の受信まで、前記切替処理の実行を保留させる、
ための通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、及び、通信制御プログラムに関する。
【背景技術】
【０００２】
近年、携帯電話やスマートフォンの普及により、データ通信のトラフィック量が増加し、基地局、交換機等の通信キャリア側の装置にかかる負荷も増加している。通信キャリア側の装置にかかる負荷を減らすために、通信キャリアは、例えば、駅、空港等の公衆の場所に、無料で使用可能なＷｉ−Ｆｉスポットを設置し、トラフィックがＷｉ―Ｆｉ通信に流れるようにしている。
【０００３】
ユーザの観点からは、例えば、ＬＴＥ（Long Term Evolution）通信では、１か月のパ
ケット通信量の上限値が設定されていることが多く、Ｗｉ−Ｆｉの圏内ではＷｉ−Ｆｉ通信によってデータ通信を行うことで、ＬＴＥ通信でのパケット通信量を抑えることができる。
【０００４】
また、近年では、３Ｇ（3rd Generation）／ＬＴＥとＷｉ−Ｆｉとの間で伝送路を自動的に切り替えることができる携帯電話、スマートフォン、タブレット端末が発売されている。これらの携帯端末では、Ｗｉ−Ｆｉ圏内であることを検出すると、優先的にＷｉ−Ｆｉを選択する設定がなされていることが多い。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２００７−５２１６８２号公報
【特許文献２】特開２０１０−１６１６５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、３Ｇ／ＬＴＥとＷｉ−Ｆｉとの間で伝送路を切り替える際には、例えば、以下のような問題があった。例えば、ユーザが電車の乗車中にスマートフォンでウェブブラウザによりニュースサイトを閲覧している場合に、次の停車駅に近づいたことによって、スマートフォンが、Ｗｉ−Ｆｉ圏内に入り、３Ｇ／ＬＴＥからＷｉ−Ｆｉに伝送路が切り替えられることを想定する。
【０００７】
３Ｇ／ＬＴＥからＷｉ−Ｆｉに伝送路が切り替えられる場合には、該切り替えに伴って、ＴＣＰコネクションは切断され、新たに確立され直される。新たなＴＰＣコネクションは、元のＴＣＰコネクションとは異なるＩＰアドレス、ポート番号を用いているため、ＨＴＴＰ（Hypertext Transfer Protocol）からは、元のＴＣＰコネクションとは異なるコ
ネクションとして識別される。例えば、３Ｇ／ＬＴＥに接続している間に、ＨＴＴＰリクエストが送信され、ＨＴＴＰレスポンスが受信される前に、Ｗｉ−Ｆｉに伝送路が切り替えられた場合には、用いていたＴＣＰコネクションが切断されてしまうため、ＨＴＴＰはＨＴＴＰレスポンスを受信することができなくなる。結果的に、ＨＴＴＰレスポンスの待ち時間が満了してしまい、新たにＷｉ−Ｆｉに接続するＴＣＰコネクションが確立されているにもかかわらず、ＨＴＴＰのコネクションが切断されてしまう。
【０００８】
この場合には、ユーザには、接続不可やタイムアウトという形で見えてしまい、例えば、ＨＴＴＰレスポンスのタイムアウトまでの時間と新たにＴＣＰコネクションが確立されるまでの時間との合計１分程度、同じ画面が表示され続けることがある。また、ユーザが
再度ニュースサイトを閲覧する際には、再読み込み等のＨＴＴＰコネクションの再接続のための動作が要求される。これらは、ユーザに不便さを感じさせる要因となっている。なお、上述の問題は、３Ｇ／ＬＴＥとＷｉ−Ｆｉとの間の伝送路の切替に限定されず、複数レイヤを含む通信プロトコルスタック内の下位レイヤの異なる無線通信方式のネットワーク間での伝送路の切替が行われる場合に、共通に発生する問題である。
【０００９】
本発明の一態様は、無線通信伝送路の切替において、複数レイヤを含む通信プロトコルスタックにおいて該切替の処理よりも上位レイヤの通信プロトコルの応答待ちの延長を抑制可能な通信装置、及び、通信制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の態様の一つは、プロセッサと、メモリとを含む通信装置であって、プロセッサが、第１の無線通信方式と第２の無線通信方式との間の通信伝送路の切替を行う切替処理と、複数レイヤを含む通信プロトコルスタックにおいて前記切替処理よりも上位のレイヤでアプリケーションからの送信要求に応じたデータの送信及び応答の受信を行うデータ送受信処理と、を行い、第１の無線通信方式の通信伝送路から第２の無線通信方式の通信伝送路への切替を判定した場合には、データ送受信処理が、応答の受信待機中であるか否かを判定し、データ送受信処理が応答の受信待機中である場合には、該応答の受信まで、切替処理の実行を保留する、通信装置である。
【発明の効果】
【００１１】
開示の通信装置、及び、通信制御プログラムによれば、無線通信伝送路の切替において、複数レイヤを含む通信プロトコルスタックにおいて該切替の処理よりも上位レイヤのプロトコルの応答待ちの延長を抑制することができる。
【図面の簡単な説明】
【００１２】
【図１】ＨＴＴＰレスポンスの受信待機中に、３Ｇ／ＬＴＥからＷｉ−Ｆｉへの通信伝送路の切替が判定される場合の処理のシーケンスの一例を示す図である。
【図２】第１実施形態に係る、ＨＴＴＰレスポンスの受信待機中に、３Ｇ／ＬＴＥからＷｉ−Ｆｉへの通信伝送路の切替が判定される場合の処理のシーケンスの一例を示す図である。
【図３】携帯端末のハードウェア構成の一例を示す図である。
【図４】携帯端末の機能構成の一例である。
【図５Ａ】通信制御部の処理のフローチャートの一例である。
【図５Ｂ】通信制御部の処理のフローチャートの一例である。
【図６Ａ】ＨＴＴＰの処理のフローチャートの一例である。
【図６Ｂ】ＨＴＴＰの処理のフローチャートの一例である。
【図６Ｃ】ＨＴＴＰの処理のフローチャートの一例である。
【図６Ｄ】ＨＴＴＰの処理のフローチャートの一例である。
【図７Ａ】第２実施形態に係る通信制御部の処理のフローチャートの一例である。
【図７Ｂ】第２実施形態に係る通信制御部の処理のフローチャートの一例である。
【図８Ａ】第２実施形態に係るＴＣＰ／ＩＰの処理のフローチャートの一例である。
【図８Ｂ】第２実施形態に係るＴＣＰ／ＩＰの処理のフローチャートの一例である。
【図８Ｃ】第２実施形態に係るＴＣＰ／ＩＰの処理のフローチャートの一例である。
【図８Ｄ】第２実施形態に係るＴＣＰ／ＩＰの処理のフローチャートの一例である。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１４】
図１は、ＨＴＴＰレスポンスの受信待機中に、３Ｇ／ＬＴＥからＷｉ−Ｆｉへの通信伝送路の切替が判定される場合の処理のシーケンスの一例を示す図である。携帯端末Ｐ１は、機能構成として、アプリケーションＰ１１、ＨＴＴＰ  Ｐ１２、ＴＣＰ／ＩＰ  Ｐ１３、通信制御部Ｐ１４を含む。ＨＴＴＰ  Ｐ１２＞ＴＣＰ／ＩＰ  Ｐ１３＞通信制御部Ｐ１４の順で、通信プロトコルスタックにおけるレイヤが高くなる。なお、ＨＴＴＰ  Ｐ１２、ＴＣＰ／ＩＰ  Ｐ１３、通信制御部Ｐ１４のレイヤの高さの順は、３Ｇ／ＬＴＥ、Ｗｉ−Ｆｉのいずれの通信プロトコルスタックにおいても、同様である。
【００１５】
通信制御部Ｐ１４は、３Ｇ／ＬＴＥの在圏状態や受信レベル、Ｗｉ−Ｆｉの接続状態や受信レベルを所定の周期で取得し、状況に応じて伝送路を自動的に選択する。図１では、通信制御部Ｐ１４には、３Ｇ／ＬＴＥよりもＷｉ−Ｆｉを優先して接続するように設定がなされているものとする。
【００１６】
３Ｇ／ＬＴＥ  Ｐ５は、３Ｇ又はＬＴＥの基地局を示す。Ｗｉ−Ｆｉ  Ｐ６は、Ｗｉ−Ｆｉのアクセスポイントを示す。アプリケーションＰ１１は、例えば、ウェブブラウザとする。図１に示される例では、携帯電話Ｐ１は、３Ｇ／ＬＴＥの伝送路を使用して通信していることとする。
【００１７】
Ｓ１では、アプリケーションＰ１１は、データ送信要求を送信し、該データ送信要求に応じて、ＨＴＴＰ  Ｐ１２、ＴＣＰ／ＩＰ  Ｐ１３、通信制御部Ｐ１４のレイヤの高い方から順に経由してデータが送信される。ＨＴＴＰ  Ｐ１２からデータが送信される際には、データはＨＴＴＰリクエストとして送信され、ＨＴＴＰ  Ｐ１２は、ＨＴＴＰレスポンスの受信の待機状態となる。
【００１８】
Ｓ２では、ＴＣＰ／ＩＰ  Ｐ１３は、Ｓ１におけるデータの送信により、ＴＣＰ  ＡＣＫ待ちの状態となる。
【００１９】
Ｓ３では、通信制御部Ｐ１４は、所定の周期で実行されるＷｉＦｉスポットの検索処理によってＷｉ−Ｆｉスポットを検出する。Ｓ４では、通信制御部Ｐ１４は、３Ｇ／ＬＴＥからＷｉ−Ｆｉに伝送路を切り替えるために、まず、ＴＣＰ／ＩＰ  Ｐ１３にＴＣＰ  ＲＳＴメッセージの送信要求を送信する。ＴＣＰ  ＲＳＴメッセージは、一方的にＴＣＰコネクションを切断することができるメッセージである。
【００２０】
Ｓ５では、ＴＣＰ／ＩＰ  Ｐ１３は、ＴＣＰ  ＲＳＴメッセージの送信要求を受信し、ＴＣＰ  ＲＳＴメッセージを通信相手に送信し、ＴＣＰコネクションを解放する。これによって、ＴＣＰ／ＩＰ  Ｐ１３のＴＣＰ  ＡＣＫ待ちの状態もリセットされる。
【００２１】
Ｓ６−０では、通信制御部Ｐ１４は、Ｗｉ−Ｆｉ上のＴＣＰコネクションを確立するため、ＤＨＣＰ（Dynamic Host Configuration Protocol）によってＩＰアドレスを取得す
る。
【００２２】
Ｓ６では、通信制御部Ｐ１４は、Ｗｉ−Ｆｉ上のＴＣＰコネクションを確立するため、ＴＣＰ／ＩＰ  Ｐ１３に接続要求を送信することで取得したＩＰアドレスを通知する。ＴＣＰ／ＩＰ  Ｐ１３が接続要求を受信すると、Ｗｉ−Ｆｉ上にＴＣＰコネクションが確立される。
【００２３】
一方、Ｓ７では、通信相手の装置が、携帯端末Ｐ１からのＴＣＰ  ＲＳＴメッセージの受信の前に、Ｓ１のデータ送信に対する応答を３Ｇ／ＬＴＥ上のＴＣＰコネクションを用いて送信する。しかしながら、携帯端末Ｐ１では、すでに３Ｇ／ＬＴＥ上のＴＣＰコネクションが切断されているため、該応答は受信されない。
【００２４】
また、Ｓ８では、ＨＴＴＰ  Ｐ１２では、ＨＴＴＰリクエストの送信から所定時間経過してもＨＴＴＰレスポンスが受信されないので、タイムアウトが発生する。ＨＴＴＰ  Ｐ１２は、タイムアウトをアプリケーションＰ１１に通知する。この通知を受信すると、アプリケーションＰ１１は、例えば、タイムアウトを示す画面に携帯端末Ｐ１の画面を遷移させる。ＨＴＴＰレスポンスの受信待機のタイムアウト時間は、例えば、６０秒である。
【００２５】
したがって、ユーザが再読み込み等の操作を行わない場合には、携帯端末Ｐ１では、例えば、同じ画面が、少なくともＨＴＴＰレスポンスの受信待機のタイムアウトまで表示され続けることとなる。また、ＨＴＴＰレスポンスの受信待機のタイムアウト前にユーザが再読み込み等の操作を行う場合でも、新たにＷｉ−Ｆｉ上でＴＣＰコネクションが確立されるまでの間は、携帯端末Ｐ１ユーザには、同じ画面が表示され続けることとなる。要するに、ＨＴＴＰレスポンスの待機中に、３Ｇ／ＬＴＥからＷｉ−Ｆｉへ接続先が切り替わってしまった場合には、数十秒間携帯端末Ｐ１の画面の遷移がなくなり、ユーザに対して、煩わしさを与えることとなる。
【００２６】
ＨＴＴＰレスポンスの待機中に、３Ｇ／ＬＴＥからＷｉ−Ｆｉへ伝送路が切り替わってしまうのは、ＨＴＴＰ  Ｐ１２のリクエストの送信とＨＴＴＰレスポンスの受信との処理と、通信制御部Ｐ１４の伝送路の切替処理と、が独立していることに起因する。ＨＴＴＰ
Ｐ１２のリクエストの送信とＨＴＴＰレスポンスの受信との処理と、通信制御部Ｐ１４の伝送路の切替処理とが独立しているのは、複数レイヤを含む通信プロトコルスタックにおいて、レイヤが異なるためである。
【００２７】
＜第１実施形態＞
第１実施形態では、携帯端末は、３Ｇ／ＬＴＥからＷｉ−Ｆｉへの伝送路の切替を行うことが判定された場合に、ＨＴＴＰレスポンスを受信するまで伝送路の切替処理を保留させ、ＨＴＴＰレスポンスを受信してから、伝送路の切替処理を行う。すなわち、第１実施形態では、伝送路の切替処理とＨＴＴＰリクエストの送信とＨＴＴＰレスポンスの受信との処理とを連携させることによって、ＨＴＴＰリクエストの受信待機のタイムアウトを抑制する。
【００２８】
図２は、第１実施形態に係る、ＨＴＴＰレスポンスの受信待機中に、３Ｇ／ＬＴＥからＷｉ−Ｆｉへの通信伝送路の切替が判定される場合の処理のシーケンスの一例を示す図である。第１実施形態において、無線通信システム１００は、携帯端末１、３Ｇ／ＬＴＥ基地局５、Ｗｉ−Ｆｉアクセスポイント６を含む。携帯端末１、３Ｇ／ＬＴＥ基地局５、Ｗｉ−Ｆｉアクセスポイント６は、それぞれ、複数含まれる。
【００２９】
携帯端末１は、例えば、スマートフォン、携帯電話、タブレット端末等である。携帯端末１は、機能構成として、アプリケーション１１、ＨＴＴＰ  １２、ＴＣＰ／ＩＰ  １３、通信制御部１４を備える。アプリケーション１１は、第１実施形態ではウェブブラウザであるとする。ただし、アプリケーション１１は、ウェブブラウザに限定されず、第１実施形態では、ＨＴＴＰ上で動作するアプリケーションであれば適用可能である。
【００３０】
Ｓ１１では、アプリケーション１１は、ユーザからの操作入力に従って、データ送信要求をＨＴＴＰ  １２に送信する。ＨＴＴＰ  １２は、アプリケーション１１からのデータ送信要求に従って、ＨＴＴＰリクエストとしてデータを送信する。ＨＴＴＰ  １２から送信されたデータは、ＴＣＰ／ＩＰ  １３、通信制御部１４を順に経由して、３Ｇ／ＬＴＥ上の伝送路から送出される。Ｓ１２では、ＴＣＰ／ＩＰ  １３は、Ｓ１１において、データを送信したため、ＴＣＰ  ＡＣＫ待ちの状態となる。
【００３１】
Ｓ１３では、通信制御部１４は、所定の周期で実行されるＷｉ−Ｆｉスポットの検索処理によってＷｉ−Ｆｉスポットを検出する。第１実施形態では、通信制御部１４には、３Ｇ／ＬＴＥよりもＷｉ−Ｆｉを優先して選択するように設定されていることとする。そのため、通信制御部１４は、３Ｇ／ＬＴＥからＷｉ−Ｆｉへ伝送路の切替を判定する。
【００３２】
Ｓ１４では、通信制御部１４は、ＨＴＴＰ  １２が伝送路の切替処理を行える状態である、すなわち、ＨＴＴＰ  １２がＨＴＴＰレスポンスの受信待機状態でないことを確認するために、ＨＴＴＰ  １２にＮＷ切替確認要求を送信する。ＮＷ切替確認要求に対する伝送路切替許可の応答であるＮＷ切替確認応答を受信するまで、通信制御部１４は、３Ｇ／ＬＴＥからＷｉ−Ｆｉへの伝送路の切替処理を保留する。
【００３３】
Ｓ１５では、通信相手の装置からＳ１１のデータ送信に対する応答としてのＨＴＴＰレスポンスが３Ｇ／ＬＴＥ上のＴＣＰコネクションを用いて送信される。この時点で、３Ｇ／ＬＴＥ上のＴＣＰコネクションは接続されているので、ＨＴＴＰレスポンスは通信制御部１４、ＴＣＰ／ＩＰ  １３を経由してＨＴＴＰ  １２に届く。また、ＨＴＴＰ  １２からアプリケーション１１に、Ｓ１１におけるデータ送信に対する応答が転送される。
【００３４】
Ｓ１６では、ＨＴＴＰ  １２は、ＨＴＴＰレスポンスを受信したので、Ｓ１４において受信したＮＷ切替確認要求に対する応答であるＮＷ切替確認応答を通信制御部１４に送信する。ＮＷ切替確認応答の受信は通信制御部１４の伝送路の切替処理の契機となるので、ＮＷ切替確認応答は、通信制御部１４に対する、伝送路の切替処理の許可ともいえる。
【００３５】
Ｓ１７では、通信制御部１４は、３Ｇ／ＬＴＥ上のＴＣＰコネクションを切断するために、ＴＣＰ／ＩＰ  １３にＴＣＰ  ＲＳＴメッセージの送信要求を送信する。Ｓ１８では、ＴＣＰ／ＩＰ  １３は、ＴＣＰ  ＲＳＴメッセージを受信し、通信相手にＴＣＰ  ＲＳＴメッセージを送信し、３Ｇ／ＬＴＥ上のＴＣＰコネクションを解放する。
【００３６】
Ｓ１９−０では、通信制御部１４は、Ｗｉ−Ｆｉ上のＴＣＰコネクションを確立するため、ＤＨＣＰによってＩＰアドレスを取得する。
【００３７】
Ｓ１９では、通信制御部１４は、Ｗｉ−Ｆｉ上のＴＣＰコネクションを確立するため、ＴＣＰ／ＩＰ  Ｐ１３に接続要求を送信することで取得したＩＰアドレスを通知する。ＴＣＰ／ＩＰ  Ｐ１３が接続要求を受信すると、Ｗｉ−Ｆｉ上にＴＣＰコネクションが確立される。  
【００３８】
第１実施形態では、携帯端末１では、ＨＴＴＰレスポンスの受信待機中である場合には、ＨＴＴＰレスポンスの応答を待ってから、伝送路の切替処理が行われる。これによって、携帯端末１の画面に、ＨＴＴＰリクエストに対するＨＴＴＰレスポンスの内容が表示されてから、すなわち、ユーザが所望する情報が表示されてから、伝送路の切替処理が行われるので、ユーザに対して与える不便さを軽減することができる。
【００３９】
＜装置構成＞
図３は、携帯端末１のハードウェア構成の一例を示す図である。携帯端末１は、例えば、スマートフォン、携帯電話端末、タブレット端末等の無線通信可能且つ携帯可能な通信装置である。第１実施形態では、携帯端末１は、スマートフォンであることを想定する。
【００４０】
携帯端末１は、プロセッサ１０１、記憶部１０２、入力部１０３、表示部１０４、オーディオ入出力部１０５、無線部１０６、Ｗｉ−Ｆｉ通信部１０７を備え、これらは互いに電気的に接続されている。
【００４１】
記憶部１０２は、ＲＡＭ（Random Access Memory）１０２Ａと補助記憶装置１０２Ｂとを含む。ＲＡＭ  １０２Ａは、半導体メモリである。ＲＡＭ  １０２Ａは、主記憶装置として、プロセッサ１０１に、補助記憶装置１０２Ｂに格納されているプログラムがロードされる記憶領域、作業領域を提供する。
【００４２】
補助記憶装置１０２Ｂは、様々なプログラムや、各プログラムの実行に際してプロセッサ１０１が使用するデータを格納する。補助記憶装置１０２Ｂは、例えば、ＥＰＲＯＭ（Erasable Programmable ROM）、フラッシュメモリ等の不揮発性のメモリである。補助記
憶装置１０２Ｂは、例えば、オペレーティングシステム（ＯＳ）、ＨＴＴＰ、ＴＣＰ／ＩＰ等の通信プロトコルのプログラム、ウェブブラウザ等のアプリケーションプログラムを保持する。
【００４３】
入力部１０３は、例えば、タッチセンサー部１０３Ａと、キーパッド部１０３Ｂを含む。タッチセンサー部１０３Ａ、キーパッド部１０３Ｂを通じて入力されるデータは、プロセッサ１０１に出力される。表示部１０４は、例えば、液晶ディスプレイであって、プロセッサ１０１の処理の結果を出力する。表示部１０４は、例えば、メインＬＣＤとサブＬＣＤと、というように複数のＬＣＤを備えていてもよい。
【００４４】
オーディオ入出力部１０５は、スピーカ１０５Ａ、マイクロフォン１０５Ｂと接続し、スピーカ１０５Ａ、マイクロフォン１０５Ｂとプロセッサ１０１との間で、電気信号と音声信号との変換を行う。オーディオ入出力部１０５は、マイクロフォン１０５Ｂから入力された音声信号を電気信号に変換し、プロセッサ１０１に出力する。また、オーディオ入出力部１０５は、プロセッサ１０１から入力された電気信号を音声信号に変換してスピーカ１０５Ａに出力する。
【００４５】
無線部１０６は、３Ｇ又はＬＴＥ等の通信キャリアの無線ネットワークとの信号の入出力を行う回路である。無線部１０６は、搬送波周波数に合わせ変調されたデータを送信又は受信した中間周波数あるいはＩ／Ｑ信号に変換するＲＦ部と、ディジタルデータを変復調するＭＯＤＥＭ部とを含む。また、無線部１０６は、誤り訂正やチャネルコーディング、インタリーブ等の処理ブロックも含む。
【００４６】
Ｗｉ−Ｆｉ通信部１０７は、Ｗｉ−Ｆｉの無線ネットワークとの信号の入出力を行う回路である。伝送路の切替とは、携帯端末１単体で見ると、プロセッサ１０１が無線部１０６とＷｉ−Ｆｉ通信部１０７との間で通信に用いる回路を切り替えることを示す。無線部１０６、Ｗｉ−Ｆｉ通信部１０７は、それぞれのアンテナから入力された無線信号を電気信号に変換し、プロセッサ１０１に出力する。
【００４７】
プロセッサ１０１は、補助記憶装置１０２Ｂに保持されたＯＳ、通信プロトコルのプログラム、アプリケーションプログラム等をＲＡＭ  １０２Ａにロードして実行することによって、様々な処理を実行する。プロセッサ１０１は、１つに限られず、複数備えられてもよい。
【００４８】
なお、携帯端末１のハードウェア構成は、図３に示されるものに限定されず、適宜、追加、置換、削除等の変更が可能である。例えば、携帯端末１は、スマートフォンである場合には、キーパッド部１０３Ｂを備えなくてもよい。例えば、携帯端末１は、携帯電話である場合には、タッチセンサー部１０３Ａを備えなくてもよい。携帯端末１は、「通信装置」の一例である。
【００４９】
図４は、携帯端末１の機能構成の一例である。携帯端末１は、機能構成として、アプリケーション１１、ＨＴＴＰ  １２、ＴＣＰ／ＩＰ  １３、通信制御部１４、３Ｇ／ＬＴＥ
制御部１５、Ｗｉ−Ｆｉ制御部１６を含む。また、携帯端末１は、補助記憶装置１０２Ｂに３Ｇ／ＬＴＥ在圏情報１７とＷｉ−Ｆｉ接続品質情報１８とを保持する。
【００５０】
アプリケーション１１は、プロセッサ１０１がアプリケーションプログラムを実行することによって達成される機能構成である。ＨＴＴＰ  １２は、プロセッサ１０１がＨＴＴＰのプログラムを実行することによって達成される機能構成であって、ＨＴＴＰの処理を行う。ＨＴＴＰ  １２の処理の一つに、ＨＴＴＰリクエストの送信とＨＴＴＰレスポンスの受信の処理がある。ＨＴＴＰ  １２は、アプリケーション層で動作する。
【００５１】
ＴＣＰ／ＩＰ  １３は、プロセッサ１０１がＴＣＰ及びＩＰのプログラムを実行することによって実現される機能構成であり、ＩＰとＴＣＰとの処理を行う。ＴＣＰ／ＩＰ  １３のＴＣＰとしての再送制御の処理の一つとして、データの送信と該データに対する確認応答の受信の処理がある。ＴＣＰ／ＩＰ  １３は、ＨＴＴＰ  １２よりも下位のレイヤであるトランスポート層及びネットワーク層で動作する。
【００５２】
通信制御部１４は、プロセッサ１０１が通信制御プログラムを実行することによって実現される機能構成である。通信制御部１４は、３Ｇ／ＬＴＥの在圏状態や受信レベル、Ｗｉ−Ｆｉの接続状態や受信レベルを所定周期で取得し、どちらのネットワークにＴＣＰ／ＩＰデータを送信するかを判定する。通信制御部１４は、ＴＣＰ／ＩＰ  １３よりも下位のレイヤで動作する。
【００５３】
３Ｇ／ＬＴＥ制御部１５は、プロセッサ１０１が無線部１０６と通信することによって達成される機能構成である。Ｗｉ−Ｆｉ制御部１６は、プロセッサ１０１がＷｉ−Ｆｉ通信部１０７と通信することによって達成される機能構成である。通信制御部１４は、状況に応じて、３Ｇ／ＬＴＥ制御部１５、Ｗｉ−Ｆｉ制御部１６のいずれか一方にＴＣＰ／ＩＰデータを送信する。伝送路の切替処理とは、通信制御部１４が３Ｇ／ＬＴＥ制御部１５とＷｉ−Ｆｉ制御部１６との間でＴＣＰ／ＩＰデータの送信に有効なものを切り替える処理、とも換言できる。
【００５４】
第１実施形態では、通信制御部１４は、使用可能な伝送路が１本から２本以上に増加し、使用する伝送路の切替を判定した場合に、ＮＷ切替確認要求をＨＴＴＰ  １２に送信する。使用可能な伝送路が１本から２本以上に増加した場合とは、例えば、通信制御部１４が、所定の周期でＷｉ−Ｆｉ制御部１６を通じてＷｉ−Ｆｉアクセスポイントの検索を行い、３Ｇ／ＬＴＥの伝送路を使用中にＷｉ−Ｆｉアクセスポイントを検出した場合である。ＨＴＴＰ  １２からＮＷ切替確認応答を受信した場合に、通信制御部１４は、伝送路の切替処理を行う。通信制御部１４の処理の詳細は、後述される。
【００５５】
また、第１実施形態では、ＨＴＴＰ  １２は、通信制御部１４からＮＷ切替確認要求を受信した際に、ＨＴＴＰレスポンスの受信待機状態である場合には、ＨＴＴＰレスポンスの受信を契機に、ＮＷ切替確認要求を送信する。ＨＴＴＰ  １２の処理の詳細は、後述される。
【００５６】
第１実施形態では、通信制御部１４とＨＴＴＰ  １２との間にインタフェース１９Ａ、１９Ｂが設けられる。インタフェース１９Ａは、使用可能な伝送路が１本から２本以上に増加し、使用する伝送路の切替が判定された場合に、通信制御部１４からＨＴＴＰ  １２へのＮＷ切替確認要求の通知に用いられるインタフェースである。インタフェース１９Ｂは、ＮＷ切替確認要求を受信したＨＴＴＰ  １２が通信制御部１４へのＮＷ切替確認応答の通知に使用するインタフェースである。インタフェース１９Ａ、１９Ｂは、それぞれ、ＡＰＩ（Application Programming Interface）として実装される。インタフェース１９
Ａ、１９Ｂは、「論理インタフェース」の一例である。
【００５７】
ＮＷ切替確認要求の受信時点で送信バッファに複数の送信データがある場合には、ＨＴＴＰ  １２は、該受信時点で送信バッファ内にある送信データのうち最後に送信したＨＴＴＰリクエストに対するＨＴＴＰレスポンスの受信を契機に、ＮＷ切替確認応答を通知するようにしてもよい。この場合には、ＮＷ切替確認要求の受信以降にアプリケーション１１からＨＴＴＰ  １２に届く送信データについては、伝送路の切替処理の完了後に処理される。
【００５８】
３Ｇ／ＬＴＥ在圏情報１７は、携帯端末１の現在位置が３Ｇ／ＬＴＥ圏内であるか否かを示す情報である。３Ｇ／ＬＴＥ在圏情報１７は、通信制御部１４によって管理される。
【００５９】
Ｗｉ−Ｆｉ接続品質情報１８は、スキャンにより検出されたアクセスポイントの管理と接続状態、接続のためのパラメータ等を含む情報である。Ｗｉ−Ｆｉ接続品質情報１８は通信制御部１４によって管理される。通信制御部１４は、Ｗｉ−Ｆｉアクセスポイントの検索処理でＷｉ−Ｆｉアクセスポイントを発見し、該アクセスポイントについて認証されると、Ｗｉ−Ｆｉ接続品質情報１８に該アクセスポイントを登録する。一旦Ｗｉ−Ｆｉ接続品質情報１８に登録されると、アクセスポイントとの接続が切断されても、Ｗｉ−Ｆｉ接続品質情報１８の該アクセスポイントの登録は維持される。
【００６０】
Ｗｉ−Ｆｉ接続品質情報１８に含まれるアクセスポイントの接続のためのパラメータの一つとして、アクセスポイントの利用可否の判定のための電波強度の閾値がある。また、Ｗｉ−Ｆｉ接続品質情報１８に含まれるアクセスポイントの接続状態には、使用中のアクセスポイントの電波強度が含まれる。
【００６１】
なお、図４には、通信制御部１４とＴＣＰ／ＩＰ  １３との間にインタフェース２０Ａ、２０Ｂが表示されているが、インタフェース２０Ａ、２０Ｂは、第１実施形態では用いられず、後述の第２実施形態で用いられる。そのため、第１実施形態では、インタフェース２０Ａ、２０Ｂの説明は省略される。
【００６２】
＜処理の流れ＞
図５Ａ、図５Ｂは、通信制御部１４の処理のフローチャートの一例である。図５Ａに示されるフローチャートは、携帯端末１の電源投入やユーザ操作によってＷｉ−Ｆｉ通信部１０７が起動した場合に開始される。
【００６３】
ＯＰ１１では、通信制御部１４は、ＡＰスキャンタイマを起動させる。ＡＰスキャンタイマは、Ｗｉ−Ｆｉのアクセスポイントの検索処理の実行タイミングを計るためのタイマである。ＡＰスキャンタイマの長さは、例えば、１０〜２０秒の間の値である。次に処理がＯＰ１２に進む。
【００６４】
ＯＰ１２では、通信制御部１４はイベントを受信する。受信したイベントがＡＰスキャンのタイムアウトである場合には、処理がＯＰ１３に進む。受信したイベントが３Ｇ／ＬＴＥ圏内又は圏外通知である場合には、処理がＯＰ１７に進む。
【００６５】
ＯＰ１３では、通信制御部１４は、ＡＰスキャンタイマが満了したので、ＡＰスキャンを行う。次に、処理がＯＰ１４に進む。ＯＰ１４では、通信制御部１４は、スキャンタイマを起動させる。次に処理がＯＰ１５に進む。
【００６６】
ＯＰ１５では、通信制御部１４は、アクセスポイントを検出したか否かを判定する。アクセスポイントが検出された場合には（ＯＰ１５：ＹＥＳ）、処理がＯＰ１６に進む。アクセスポイントが検出されない場合には（ＯＰ１５：ＮＯ）、処理がＯＰ１２に戻る。
【００６７】
ＯＰ１６では、通信制御部１４は、検出したアクセスポイントがＷｉ−Ｆｉ接続品質情報１８に登録されているか否か判定する。検出されたアクセスポイントがＷｉ−Ｆｉ接続品質情報１８に登録されている場合には（ＯＰ１６：ＹＥＳ）、処理がＯＰ１７に進む。検出されたアクセスポイントがＷｉ−Ｆｉ接続品質情報１８に登録されていない場合には（ＯＰ１６：ＮＯ）、処理がＯＰ１２に戻る。
【００６８】
ＯＰ１７では、通信制御部１４は、伝送路選択処理を行う。伝送路選択処理は、新たに伝送路が検出された際に、現在使用中の伝送路と新たに検出された伝送路とから使用する伝送路を、携帯端末１の設定に従って選択する処理である。第１実施形態では、通信制御部１４には、Ｗｉ−Ｆｉを優先して選択する設定がなされている。そのため、現在の伝送路、又は、新たに検出された伝送路のいずれかがＷｉ−Ｆｉであって、もう一方が３Ｇ／ＬＴＥである場合には、通信制御部１４は、Ｗｉ−Ｆｉの伝送路を選択する。
【００６９】
例えば、現在の伝送路、及び、新たに検出された伝送路の双方がＷｉ−Ｆｉである場合には、通信制御部１４は、現在の接続を維持するが、電波強度が大きい方のアクセスポイントの伝送路を選択することも可能である。次に処理がＯＰ１８に進む。
【００７０】
ＯＰ１８では、通信制御部１４は、新たに選択された伝送路がＷｉ−Ｆｉの伝送路であるか否かを判定する。新たに選択された伝送路がＷｉ−Ｆｉの伝送路である場合には（ＯＰ１８：ＹＥＳ）、処理がＯＰ１９に進む。新たに選択された伝送路がＷｉ−Ｆｉの伝送路でない場合には（ＯＰ１８：ＮＯ）、すなわち、新たに選択された伝送路が３Ｇ／ＬＴＥの伝送路である場合には、処理がＯＰ１２に戻る。第１実施形態では、設定によってＷｉ−Ｆｉが優先的に選択されるので、新たに選択された伝送路が３Ｇ／ＬＴＥの伝送路である場合には、現在使用している伝送路も３Ｇ／ＬＴＥの伝送路であり、伝送路の切り替えが発生しないためである。
【００７１】
ＯＰ１９では、通信制御部１４は、新たに選択した伝送路が現在の伝送路と異なるか否かを判定する。新たに選択された伝送路が現在の伝送路と異なる場合には（ＯＰ１９：ＹＥＳ）、処理がＯＰ２０に進む。新たに選択された伝送路が現在の伝送路と同じ場合にはＯＰ１９：ＮＯ）、処理がＯＰ１２に戻る。例えば、新たに選択された伝送路も現在の伝送路もＷｉ−Ｆｉの伝送路であって、使用するアクセスポイントが異なる場合には、通信制御部１４は、新たに選択された伝送路と現在の伝送路とは異なる伝送路と判定する。
【００７２】
ＯＰ２０では、通信制御部１４は、ＨＴＴＰ  １２にＮＷ切替確認要求を送信する。次に処理がＯＰ２１に進む。ＯＰ２１では、通信制御部１４はガードタイマを起動させる。ガードタイマは、ＮＷ切替確認要求に対する応答の待ち時間のタイマである。ガードタイマは、例えば、ＨＴＴＰレスポンスの待ち時間よりも少し長い、４０〜７０秒の間の時間に設定される。次に処理がＯＰ２２に進む。
【００７３】
ＯＰ２２では、通信制御部１４は、ＮＷ切替確認応答の受信を待機し、ＮＷ切替確認応答を受信した場合には（ＯＰ２２：ＹＥＳ）、処理がＯＰ２３に進む。ＮＷ切替確認応答を受信しない場合には（ＯＰ２２：ＮＯ）、処理がＯＰ２４に進む。
【００７４】
ＯＰ２３では、通信制御部１４は、ＮＷ切替確認応答を受信したので、ガードタイマを停止させる。次に処理がＯＰ２５に進む。
【００７５】
ＯＰ２４では、通信制御部１４は、ＮＷ切替確認応答を受信していないので、ガードタイマがタイムアウトしていないか否かを判定する。ガードタイマがタイムアウトした場合には（ＯＰ２４：ＹＥＳ）、処理がＯＰ２５に進む。ガードタイマがタイムアウトしてい
ない場合には（ＯＰ２４：ＮＯ）、処理がＯＰ２２に戻る。
【００７６】
ＯＰ２５では、通信制御部１４は、ＴＣＰ／ＩＰ  １３にＴＣＰ  ＲＳＴメッセージの送信要求を送信する。次に処理がＯＰ２６に進む。
【００７７】
ＯＰ２６では、通信制御部１４は、ＴＣＰ  ＲＳＴメッセージの送信要求を受信したＴＣＰ／ＩＰ  １３のコネクション解放処理に連携して、現在の伝送路の解放処理を行う。次に処理がＯＰ２７に進む。ＯＰ２７では、通信制御部１４は、ＴＣＰ／ＩＰよりも低いレイヤでの、新しい伝送路の確立処理を行う。次に処理がＯＰ２８に進む。
【００７８】
ＯＰ２８では、通信制御部１４は、新しい伝送路でのＩＰアドレスの取得を行った後、ＴＣＰコネクションの確立をＴＣＰ／ＩＰ  １３に要求する。その後、処理がＯＰ１２に戻る。
【００７９】
図５Ａ、図５Ｂに示される例では、ＯＰ１６において、検出されたアクセスポイントがＷｉ−Ｆｉ接続品質情報１８に登録されているか否かを判定し、登録されていない場合には、検出されたアクセスポイントは使用不可と判定される。これに代えて、検出されたアクセスポイントがＷｉ−Ｆｉ接続品質情報１８に登録されていない場合には、例えば、通信制御部１４は、認証処理等を行い、Ｗｉ−Ｆｉ接続品質情報１８に登録して、該アクセスポイントの伝送路を使用可能と判定してもよい。
【００８０】
図６Ａ、図６Ｂ、図６Ｃ、図６Ｄは、ＨＴＴＰ  １２の処理のフローチャートの一例である。図６Ａに示されるフローチャートは、ＨＴＴＰ  １２の起動により開始される。
【００８１】
ＯＰ３１では、ＨＴＴＰ  １２は、ＨＴＴＰリクエストの送信中か否か記録するための送信状態を“送信なし”に設定する。送信状態が“送信なし”である場合には、ＨＴＴＰ１２が、ＨＴＴＰリクエストに対するＨＴＴＰレスポンスの受信待機中でないことが示される。また、送信状態には、“送信なし”の他に、“送信中”がある。送信状態が“送信中”である場合には、ＨＴＴＰ  １２が、ＨＴＴＰリクエストに対するＨＴＴＰレスポンスの受信待機中であることが示される。送信状態は、例えば、ＲＡＭ  １０２Ａに記録される。次に処理がＯＰ３２に進む。
【００８２】
ＯＰ３２では、ＨＴＴＰ  １２は、ＮＷ切替確認要求の受信状態を記録するためのＮＷ切替確認状態を“受信なし”に設定する。ＮＷ切替確認状態が“受信なし”である場合には、ＨＴＴＰ  １２が、通信制御部１４からＮＷ切替確認要求を受信していない、又は、受信したＮＷ切替確認要求に対してＮＷ切替確認応答を返信済みであることが示される。また、ＮＷ切替確認状態には、“受信なし”の他に、“受信あり”がある。ＮＷ切替確認状態が“受信あり”である場合には、ＨＴＴＰ  １２が、通信制御部１４からＮＷ切替確認要求を受信しており、且つ、ＮＷ切替確認応答を返信していない状態であることが示される。ＮＷ切替確認状態は、例えば、ＲＡＭ  １０２Ａに記録される。次に処理がＯＰ３３に進む。
【００８３】
ＯＰ３３では、ＨＴＴＰ  １２はイベントを受信する。イベントがアプリケーション１１からのデータ送信要求である場合には、処理がＯＰ３４に進む。イベントがネットワーク、すなわち、通信相手からのデータ受信である場合には、処理がＯＰ４１に進む。イベントがＮＷ確認切替要求の受信である場合には、処理がＯＰ５１に進む。イベントがＨＴＴＰレスポンスの待ち時間のタイムアウトである場合には、処理がＯＰ６１に進む。
【００８４】
ＯＰ３４〜ＯＰ３８は、ＨＴＴＰ  １２がアプリケーション１１からデータ送信要求を受信した場合の処理である。ＯＰ３４では、ＨＴＴＰ  １２は、ＮＷ切替確認状態が“受
信あり”であるか否かを判定する。ＮＷ切替確認状態が“受信あり”である場合には（ＯＰ３４：ＹＥＳ）、処理がＯＰ３８に進む。ＮＷ切替確認状態が“受信あり”でない場合には（ＯＰ３４：ＮＯ）、処理がＯＰ３５に進む。
【００８５】
ＯＰ３５では、ＨＴＴＰ  １２は、ＮＷ切替確認状態が“受信なし”であり、伝送路の切替の判定がなされていないので、ＴＣＰ／ＩＰ  １３にアプリケーション１１からのデータ送信要求の対象であるデータをＨＴＴＰリクエストとして送信する。次に処理がＯＰ３６に進む。
【００８６】
ＯＰ３６では、ＨＴＴＰリクエストを送信したので、ＨＴＴＰ  １２は、ＨＴＴＰレスポンスの待ち時間のタイマを開始する。次に処理がＯＰ３７に進む。
【００８７】
ＯＰ３７では、ＨＴＴＰ  １２は、送信状態を“送信中”に設定する。次に処理がＯＰ３３に戻る。
【００８８】
ＯＰ３８では、ＨＴＴＰ  １２は、ＮＷ切替確認状態が“受信あり”の状態でアプリケーション１１からのデータ送信要求を受信したので、該データ受信要求を受け付けず、アプリケーション１１にエラーを返す。その後、処理がＯＰ３３に戻る。
【００８９】
図６Ｂは、ＨＴＴＰ  １２が受信したイベントが、ネットワークからのデータ受信である場合の処理の一例である。ネットワークから受信されるデータは、ＨＴＴＰリクエストに対するＨＴＴＰレスポンスである可能性が高い。
【００９０】
ＯＰ４１では、ＨＴＴＰ  １２は、ＨＴＴＰレスポンスの待ち時間のタイマを停止させる。次に処理がＯＰ４２に進む。
【００９１】
ＯＰ４２では、ＨＴＴＰ  １２は、受信データがＨＴＴＰレスポンスであるか否かを判定する。受信データがＨＴＴＰレスポンスである場合には（ＯＰ４２：ＹＥＳ）、処理がＯＰ４３に進む。受信データがＨＴＴＰレスポンスでない場合には（ＯＰ４２：ＮＯ）、処理がＯＰ３３に戻る。
【００９２】
ＯＰ４３では、ＨＴＴＰ  １２は、ＨＴＴＰレスポンスを受信したので、該ＨＴＴＰレスポンスに含まれるデータをアプリケーション１１に転送する。次に処理がＯＰ４４に進む。
【００９３】
ＯＰ４４では、ＨＴＴＰ  １２は、ＮＷ切替確認状態が“受信あり”であるか否かを判定する。ＮＷ切替確認状態が“受信あり”である場合には（ＯＰ４４：ＹＥＳ）、処理がＯＰ４５に進む。ＮＷ切替確認状態が“受信なし”である場合には（ＯＰ４４：ＮＯ）、処理がＯＰ４７に進む。
【００９４】
ＯＰ４５では、ＨＴＴＰ  １２は、ＮＷ切替確認応答を通信制御部１４に送信する。次に処理がＯＰ４６に進む。
【００９５】
ＯＰ４６では、ＨＴＴＰ  １２は、ＮＷ切替確認状態を“受信なし”に設定する。次に処理がＯＰ４７に進む。
【００９６】
ＯＰ４７では、ＨＴＴＰ  １２は、送信状態を“送信なし”に設定する。その後、処理がＯＰ３３に戻る。
【００９７】
図６Ｃは、ＨＴＴＰ  １２が受信したイベントが、ＮＷ切替確認要求の受信である場合
の処理の一例である。
【００９８】
ＯＰ５１では、ＨＴＴＰ  １２は、送信状態が“送信中”であるか否かを判定する。送信状態が“送信中”である場合には（ＯＰ５１：ＹＥＳ）、処理がＯＰ５２に進む。送信状態が“送信中”でない場合には（ＯＰ５１：ＮＯ）、処理がＯＰ５３に進む。
【００９９】
ＯＰ５２では、ＨＴＴＰ  １２は、ＮＷ切替確認要求を受信し、送信状態が“送信中”である、すなわち、ＨＴＴＰリクエストの受信待機中であるので、ＮＷ切替確認状態を“受信あり”に設定する。その後処理がＯＰ３３に戻る。
【０１００】
ＯＰ５３では、ＨＴＴＰ  １２は、ＮＷ切替確認要求を受信したものの、送信状態が“送信中”でない、すなわち、ＨＴＴＰリクエストの受信待機中でないので、通信制御部１４にＮＷ切替確認応答を送信する。その後、処理がＯＰ３３に戻る。
【０１０１】
図６Ｄは、ＨＴＴＰ  １２が受信したイベントが、ＨＴＴＰレスポンスの待ち時間のタイムアウトである場合の処理の一例である。
【０１０２】
ＯＰ６１では、ＨＴＴＰ  １２は、ＮＷ切替確認状態が“受信あり”であるか否かを判定する。ＮＷ切替確認状態が“受信あり”である場合には（ＯＰ６１：ＹＥＳ）、処理がＯＰ６２に進む。ＮＷ切替確認状態が“受信なし”である場合には（ＯＰ６１：ＮＯ）、処理がＯＰ６４に進む。
【０１０３】
ＯＰ６２では、ＨＴＴＰ  １２は、ＮＷ切替確認状態が“受信あり”であり、ＨＴＴＰレスポンスの待ち時間がタイムアウトしたので、通信制御部１４にＮＷ切替確認応答を送信する。次に処理がＯＰ６３に進む。
【０１０４】
ＯＰ６３では、ＨＴＴＰ  １２は、ＮＷ切替確認状態を“受信なし”に設定する。次に処理がＯＰ６４に進む。
【０１０５】
ＯＰ６４では、ＨＴＴＰ  １２は、送信状態を“送信なし”に設定する。その後処理がＯＰ３３に戻る。
【０１０６】
＜第１実施形態の作用効果＞
第１実施形態では、通信制御部１４は、使用可能な伝送路が複数あり、伝送路が切り替わる場合に、ＨＴＴＰ  １２に対して、ＮＷ切替確認要求を送信する。ＨＴＴＰ  １２は、ＨＴＴＰレスポンスの待ち状態である場合には、ＨＴＴＰレスポンスを受信してから、ＮＷ切替確認応答を通信制御部１４に返す。このように、第１実施形態では、ＨＴＴＰリクエストの送信とＨＴＴＰレスポンスの受信の処理と、伝送路の切替処理とを連携させることによって、伝送路の切替の発生による上位レイヤにおけるタイムアウトを低減することができる。また、ユーザに対しては、ＨＴＴＰリクエストを送信した際の画面表示に対する応答画面を表示してから、伝送路の切替が行われるため、応答画面を待つ時間を短縮することができ、不便さを低減させることができる。
【０１０７】
また、ＨＴＴＰ  １２は、ＮＷ切替確認要求を受信した際に、ＨＴＴＰレスポンスの待ち状態であり、ＨＴＴＰレスポンスの待ち時間がタイムアウトした場合には、ＮＷ切替確認応答を通信制御部１４に返す。これによって、伝送路の切替以外の要因でＨＴＴＰレスポンスの待ち時間がタイムアウトした場合でも、適正に伝送路の切替処理が行われる。
【０１０８】
また、通信制御部１４は、ＮＷ切替確認要求をＨＴＴＰ  １２に送信した後に、ＮＷ切替確認応答を受信しないままガードタイマがタイムアウトした場合には、伝送路の切替処
理を行う。これによって、何らかの要因でＨＴＴＰ  １２からＮＷ切替確認応答が返ってこない場合でも、適正に伝送路の切替処理が行われる。
【０１０９】
第１実施形態で説明された技術は、ＨＴＴＰ  １２及び通信制御部１４に実装されるため、各アプリケーションを修正することなく、比較的容易に導入可能である。なお、第１実施形態では、アプリケーションレイヤのプロトコルとして、ＨＴＴＰを例に説明されたが、データ送信と応答受信の処理を行うアプリケーションレイヤのプロトコルであれば、ＨＴＴＰ以外でも第１実施形態のＨＴＴＰ  １２の技術を適用可能である。
【０１１０】
＜第２実施形態＞
第１実施形態では、通信制御部１４はＨＴＴＰ  １２にＮＷ切替確認要求を送信し、ＨＴＴＰリクエストの送信とＨＴＴＰレスポンスの受信の処理と、伝送路の切替処理とを連携させていた。第２実施形態では、通信制御部１４はＴＣＰ／ＩＰ  １３にＮＷ切替確認要求を送信し、ＴＣＰセグメント送信とＴＣＰ  ＡＣＫの受信の処理と、伝送路の切替処理とを連携させる。第２実施形態では、第１実施形態と重複する説明は省略される。
【０１１１】
第２実施形態では、携帯端末１のハードウェア構成は第１実施形態と同様である。また、第２実施形態では、携帯端末１の機能構成は、インタフェース１９Ａ、１９Ｂに代わり、インタフェース２０Ａ、２０Ｂが有効となる。
【０１１２】
第２実施形態では、通信制御部１４は、使用可能な伝送路が１本から２本以上に増加し、使用する伝送路の切替を判定した場合に、ＮＷ切替確認要求をＴＣＰ／ＩＰ  １３に送信する。ＴＣＰ／ＩＰ  １３からＮＷ切替確認応答を受信した場合に、通信制御部１４は、伝送路の切替処理を行う。通信制御部１４の処理の詳細は、後述される。
【０１１３】
第２実施形態では、ＴＣＰ／ＩＰ  １３は、通信制御部１４からＮＷ切替確認要求を受信した際に、ＴＣＰ  ＡＣＫの受信待機状態である場合には、ＴＣＰ  ＡＣＫを受信してから、ＮＷ切替確認要求を送信する。ＴＣＰ／ＩＰ  １３の処理の詳細は、後述される。
【０１１４】
第２実施形態では、通信制御部１４とＴＣＰ／ＩＰ  １３との間にインタフェース２０Ａ、２０Ｂが設けられる。通信制御部１４からＴＣＰ／ＩＰ  １３へのＮＷ切替確認要求の通知に利用されるインタフェースである。インタフェース２０Ｂは、ＴＣＰ／ＩＰ  １３によって通信制御部１４へのＮＷ切替確認応答の通知に使用されるインタフェースである。インタフェース２０Ａ、２０Ｂは、それぞれ、ＡＰＩ（Application Programming Interface）として実装される。インタフェース２０Ａ、２０Ｂは、「論理インタフェース
」の一例である。
【０１１５】
ＮＷ切替確認要求の受信時点で、送信済みでＴＣＰ  ＡＣＫ待ちの複数のＴＣＰセグメントが存在する場合には、ＴＣＰ／ＩＰ  １３は、該複数のＴＣＰセグメント分のＴＣＰ
ＡＣＫを受信するまで、ＮＷ切替確認応答の送信を待機する。例えば、ＴＣＰ／ＩＰ  １３がＴＣＰセグメントを３セグメント分送信した後にＮＷ切替確認要求を受信した場合には、該３セグメント分のＴＣＰ  ＡＣＫを受信した後に、通信制御部１４にＮＷ切替確認応答を送信する。
【０１１６】
また、Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅが短いことが判明している場合には、送信バッファに残っているデータをセグメント単位で送信し、送信したセグメント分のＴＣＰ  ＡＣＫを受信した後に、ＮＷ切替確認応答を通信制御部１４に送信するようにしてもよい。
【０１１７】
＜処理の流れ＞
図７Ａ、図７Ｂは、第２実施形態に係る通信制御部１４の処理のフローチャートの一例
である。第２実施形態に係る通信制御部１４の処理は、ＮＷ切替確認要求の送信先がＴＣＰ／ＩＰ  １３である点が異なる。具体的には、図７Ａ、図７ＢのＯＰ７１〜ＯＰ７９、ＯＰ８１〜ＯＰ８８の処理は、図５Ａ、図５ＢのＯＰ１１〜ＯＰ１９、ＯＰ２１〜ＯＰ２８とそれぞれ同様である。
【０１１８】
ＯＰ８０では、通信制御部１４は、新たに選択した伝送路がＷｉ−Ｆｉであって（ＯＰ７８：ＹＥＳ）、新たに選択した伝送路と現在の伝送路とが異なるので（ＯＰ７９：ＹＥＳ）、ＴＣＰ／ＩＰ  １３にＮＷ切替確認要求を送信する。また、ＯＰ８２では、通信制御部１４は、ＴＣＰ／ＩＰ  １３からＮＷ切替確認要求を受信する。このとき起動するガードタイマは、例えば、ＴＣＰ  ＡＣＫの待ち時間よりも長い、１０〜３０秒の間の時間の設定される。
【０１１９】
図８Ａ、図８Ｂ、図８Ｃは、第２実施形態に係るＴＣＰ／ＩＰ  １３の処理のフローチャートの一例である。図８ＡのＯＰ９１、ＯＰ９２の処理は、主体がＴＣＰ／ＩＰ  １３に変更される点以外は、図６ＡのＯＰ３１、ＯＰ３２の処理と同様である。
【０１２０】
ＯＰ９３では、ＴＣＰ／ＩＰ  １３はイベントを受信する。イベントがＨＴＴＰ  １２からのデータ送信要求である場合には、処理がＯＰ９４に進む。イベントがＴＣＰ  ＡＣＫの受信である場合には、処理がＯＰ１０１に進む。イベントがＴＣＰ  ＡＣＫ以外の受信である場合には、処理がＯＰ１１１に進む。イベントがＮＷ確認切替要求の受信である場合には、図６Ｃと同様の処理が実行される。ただし、図６Ｃの処理が終了すると、処理はＯＰ９３に戻る。イベントがＴＣＰ  ＡＣＫの待ち時間のタイムアウトである場合には、処理がＯＰ１２１に進む。
【０１２１】
ＯＰ９４〜ＯＰ９８は、ＴＣＰ／ＩＰ  １３がＨＴＴＰ  １２からデータ送信要求を受信した場合の処理である。ＯＰ９４では、ＴＣＰ／ＩＰ  １３は、ＮＷ切替確認状態が“受信あり”であるか否かを判定する。ＮＷ切替確認状態が“受信あり”である場合には（ＯＰ９４：ＹＥＳ）、処理がＯＰ９８に進む。ＮＷ切替確認状態が“受信あり”でない場合には（ＯＰ９４：ＮＯ）、処理がＯＰ９５に進む。
【０１２２】
ＯＰ９５では、ＴＣＰ／ＩＰ  １３は、通信制御部１４にＨＴＴＰ  １２からのデータ送信要求の対象であるデータをＴＣＰセグメントとして送信する。次に処理がＯＰ９６に進む。
【０１２３】
ＯＰ９６では、ＴＣＰセグメントを送信したので、ＴＣＰ／ＩＰ  １３は、ＴＣＰ  ＡＣＫの待ち時間のタイマを開始する。次に処理がＯＰ９７に進む。
【０１２４】
ＯＰ９７では、ＴＣＰ／ＩＰ  １３は、送信状態を“送信中”に設定する。次に処理がＯＰ９３に戻る。
【０１２５】
ＯＰ９８では、ＴＣＰ／ＩＰ  １３は、ＮＷ切替確認状態が“受信あり”の状態でＨＴＴＰ  １２からのデータ送信要求を受信したので、該データ受信要求を受け付けず、ＨＴＴＰ  １２にエラーを返す。その後、処理がＯＰ９３に戻る。
【０１２６】
図８Ｂは、ＴＣＰ／ＩＰ  １３が受信したイベントが、ＴＣＰ  ＡＣＫの受信である場合の処理の一例である。
【０１２７】
ＯＰ１０１では、ＴＣＰ／ＩＰ  １３は、ＴＣＰ  ＡＣＫの待ち時間のタイマを停止させる。次に処理がＯＰ１０２に進む。
【０１２８】
ＯＰ１０２では、ＴＣＰ／ＩＰ  １３は、ＴＣＰ  ＡＣＫに含まれるデータをＨＴＴＰ
１２に転送する。次に処理がＯＰ１０３に進む。
【０１２９】
ＯＰ１０３では、ＴＣＰ／ＩＰ  １３は、受信したＴＣＰ  ＡＣＫのシーケンス番号が送信したＴＣＰセグメントのシーケンス番号と一致するか否かを判定する。受信したＴＣＰ  ＡＣＫのシーケンス番号が送信したＴＣＰセグメントのシーケンス番号と一致する場合には（ＯＰ１０３：ＹＥＳ）、処理がＯＰ１０４に進む。受信したＴＣＰ  ＡＣＫのシーケンス番号が送信したＴＣＰセグメントのシーケンス番号と一致しない場合には（ＯＰ１０３：ＮＯ）、処理がＯＰ９３に戻る。
【０１３０】
ＯＰ１０４では、ＴＣＰ／ＩＰ  １３は、送信状態を“送信なし”に設定する。次に処理がＯＰ１０５に進む。
【０１３１】
ＯＰ１０５では、ＴＣＰ／ＩＰ  １３は、ＮＷ切替確認状態が“受信あり”であるか否かを判定する。ＮＷ切替確認状態が“受信あり”である場合には（ＯＰ１０５：ＹＥＳ）、処理がＯＰ１０６に進む。ＮＷ切替確認状態が“受信なし”である場合には（ＯＰ１０５：ＮＯ）、処理がＯＰ９３に戻る。
【０１３２】
ＯＰ１０６では、ＴＣＰ／ＩＰ  １３は、ＮＷ切替確認応答を通信制御部１４に送信する。次に処理がＯＰ１０７に進む。
【０１３３】
ＯＰ１０７では、ＴＣＰ／ＩＰ  １３は、ＮＷ切替確認状態を“受信なし”に設定する。次に処理がＯＰ９３に戻る。
【０１３４】
図８Ｃは、ＴＣＰ／ＩＰ  １３が受信したイベントが、ＴＣＰ  ＡＣＫ以外のＴＣＰセグメントである場合の処理の一例である。ＴＣＰでは、通信相手からコネクション終了または破棄されることがあり、図８Ｃに示される処理は、通信相手からコネクション終了または破棄された場合の処理である。ＴＣＰ  ＡＣＫ以外のＴＣＰセグメントとは、例えば、ＴＣＰ  ＦＩＮメッセージやＴＣＰ  ＲＳＴメッセージである。
【０１３５】
ＯＰ１１１では、ＴＣＰ／ＩＰ  １３は、ＴＣＰ  ＡＣＫの待ち時間のタイマを停止させる。次に処理がＯＰ１１２に進む。
【０１３６】
ＯＰ１１２では、ＴＣＰ／ＩＰ  １３は、ＮＷ切替確認状態が“受信あり”であるか否かを判定する。ＮＷ切替確認状態が“受信あり”である場合には（ＯＰ１１２：ＹＥＳ）、処理がＯＰ１１３に進む。ＮＷ切替確認状態が“受信なし”である場合には（ＯＰ１１２：ＮＯ）、処理がＯＰ１１５に進む。
【０１３７】
ＯＰ１１３では、ＴＣＰ／ＩＰ  １３は、ＮＷ切替確認応答を通信制御部１４に送信する。次に処理がＯＰ１１４に進む。
【０１３８】
ＯＰ１１４では、ＴＣＰ／ＩＰ  １３は、ＮＷ切替確認状態を“受信なし”に設定する。次に処理がＯＰ１１５に進む。
【０１３９】
ＯＰ１１５では、ＴＣＰ／ＩＰ  １３は、送信状態を“送信なし”に設定する。次に処理がＯＰ１１６に進む。
【０１４０】
ＯＰ１１６では、ＴＣＰ／ＩＰ  １３は、ＴＣＰコネクションのクローズ処理を行う。ＴＣＰクローズ処理が行われると、該当のＴＣＰコネクションの状態はリセットされる。その後、図８Ｃに示される処理が終了する。
【０１４１】
ただし、ＴＣＰ  ＦＩＮを受信した場合には、ＴＣＰ／ＩＰ  １３は、ＯＰ１１６のＴＣＰコネクションのクローズ処理後に、ＯＰ１１３の通信制御部１４へのＮＷ切替確認応答の送信を行う。
【０１４２】
図８Ｄは、ＴＣＰ／ＩＰ  １３が受信したイベントが、ＴＣＰ  ＡＣＫの待ち時間のタイムアウトである場合の処理の一例である。
【０１４３】
ＯＰ１２１では、ＴＣＰ／ＩＰ  １３は、ＴＣＰの再送の上限回数に達したか否かを判定する。ＴＣＰの再送の上限回数に達している場合には（ＯＰ１２１：ＹＥＳ）、処理がＯＰ１２４に進む。ＴＣＰの再送の上限回数に達していない場合には（ＯＰ１２１：ＮＯ）、処理がＯＰ１２２に進む。ＴＣＰの再送の上限回数は設定により変更可能であって、例えば、３回〜１０回である。
【０１４４】
ＯＰ１２２では、ＴＣＰ／ＩＰ  １３は、該当のＴＣＰセグメントの再送処理を行う。次に処理がＯＰ１２３に進む。ＯＰ１２３では、ＴＣＰ／ＩＰ  １３は、ＴＣＰ  ＡＣＫの待ち時間のタイマを開始させる。次に処理がＯＰ９３に戻る。
【０１４５】
ＯＰ１２４では、ＴＣＰ／ＩＰ  １３は、ＴＣＰの再送の上限回数に達したので、ＮＷ切替確認状態が“受信あり”であるか否かを判定する。ＮＷ切替確認状態が“受信あり”である場合には（ＯＰ１２４：ＹＥＳ）、処理がＯＰ１２５に進む。ＮＷ切替確認状態が“受信なし”である場合には（ＯＰ１２４：ＮＯ）、処理がＯＰ１２７に進む。
【０１４６】
ＯＰ１２５では、ＴＣＰ／ＩＰ  １３は、ＮＷ切替確認状態が“受信あり”であり、ＴＣＰ  ＡＣＫの待ち時間がタイムアウトしたので、通信制御部１４にＮＷ切替確認応答を送信する。次に処理がＯＰ１２６に進む。
【０１４７】
ＯＰ１２６では、ＴＣＰ／ＩＰ  １３は、ＮＷ切替確認状態を“受信なし”に設定する。次に処理がＯＰ１２７に進む。
【０１４８】
ＯＰ１２７では、ＴＣＰコネクションのクローズ処理を行う。ＴＣＰクローズ処理が行われると、該当のＴＣＰコネクションの状態はリセットされる。その後図８Ｄに示される処理が終了する。
【０１４９】
ＴＣＰでは、再送が行われると、伝送路の切替処理もＴＣＰ  ＡＣＫの待ち時間のタイマの長さ分遅延してしまうため、伝送路の切り替えが発生する場合には、再送を行わない、すなわち、ＯＰ１２１の判定を行わずにＯＰ１２２から処理が始められてもよい。又は、再送回数を減らすという処理を行ってもよい。
【０１５０】
図８Ａ〜図８Ｄの処理は、携帯端末１に存在するＴＣＰコネクション単位で実行される。ただし、通信制御部１４からＴＣＰ／ＩＰ  １３へのＮＷ切替確認要求は、全ＴＣＰコネクションに対して一斉に行われるものとする。
【０１５１】
＜第２実施形態の作用効果＞
第２実施形態では、ＴＣＰセグメントの送信とＴＣＰ  ＡＣＫの受信処理と、伝送路切替処理とを連携させることによって、ＴＣＰより上位のレイヤのプロトコルやアプリケーションを変更することなく用いることができる。
【０１５２】
＜その他＞
第１及び第２実施形態では、３Ｇ／ＬＴＥの伝送路からＷｉ−Ｆｉの伝送路への切替を
例に説明されたが、これに限られない。例えば、Ｗｉ−Ｆｉ→３Ｇ／ＬＴＥ、Ｗｉ−Ｆｉ→Ｗｉ−Ｆｉ、ＷｉＭＡＸ→Ｗｉ−Ｆｉ、３Ｇ／ＬＴＥ→ＷｉＭＡＸ等の伝送路の切替に、第１及び第２実施形態で説明された技術が適用されてもよい。Ｗｉ−Ｆｉ、３Ｇ、ＬＴＥ、ＷｉＭＡＸ等は、それぞれ、「第１の無線通信方式」、「第２の無線通信方式」の一例である。
【０１５３】
＜記録媒体＞
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【０１５４】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ＲＯＭ（リードオンリーメモリ）等がある。さらに、ＳＳＤ（Solid State Drive）は、コンピュータ等から取り外し可能な記録媒体としても、コンピュータ
等に固定された記録媒体としても利用可能である。
【符号の説明】
【０１５５】
１      携帯端末
１１    アプリケーション
１２    ＨＴＴＰ
１３    ＴＣＰ／ＩＰ
１４    通信制御部
１０１  プロセッサ
１０２  記憶部
【図１】
2016119555.tif 000003
【図２】
2016119555.tif 000004
【図３】
2016119555.tif 000005
【図４】
2016119555.tif 000006
【図５Ａ】
2016119555.tif 000007
【図５Ｂ】
2016119555.tif 000008
【図６Ａ】
2016119555.tif 000009
【図６Ｂ】
2016119555.tif 000010
【図６Ｃ】
2016119555.tif 000011
【図６Ｄ】
2016119555.tif 000012
【図７Ａ】
2016119555.tif 000013
【図７Ｂ】
2016119555.tif 000014
【図８Ａ】
2016119555.tif 000015
【図８Ｂ】
2016119555.tif 000016
【図８Ｃ】
2016119555.tif 000017
【図８Ｄ】
2016119555.tif 000018