説明

通信端末装置およびその制御方法並びにリモートプロキシサーバ装置およびその制御方法

【課題】比較的に簡単に継ぎ目なく相互に複数の通信を切り替えることができる通信端末装置を提供する。
【解決手段】通信端末装置12ではいわゆるローカルプロキシ43が確立される。このローカルプロキシ43はローカルインターフェースで例えばブラウザといったアプリケーションソフトウェアに接続される。インターフェース13、14、15はそれぞれ第1〜第3IPアドレスでインターネット28に接続される。インターフェース13、14、15が切り替えられても、アプリケーションソフトウェアおよびローカルプロキシ43の間で変更は加えられない。アプリケーションソフトウェアは通信の切り替えを認識せずに済む。こうして通信は継ぎ目なく切り替えられる。しかも、インターフェース13、14、15にはいわゆるIPに基づき通常通りにIPアドレスが割り振られればよい。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のネットワークに個別に接続される複数のインターフェースを備える通信端末装置に関し、特に、そういった通信端末装置とネットワーク上のサーバ装置との間でシームレスアクセスを実現することができるシームレスアクセス通信システムに関する。
【背景技術】
【0002】
例えば特許文献1に記載されるように、いわゆるシームレスサクセス通信システムではモバイルIPの利用が模索される。このモバイルIPが利用されれば、例えばインターネットへの接続中に携帯型のパーソナルコンピュータでは携帯電話通信と無線LAN通信とが継ぎ目なく相互に切り替えられることができる。アクセスポイントの通信範囲であれば、無線LAN通信に基づきデータは高速でダウンロードされることができる。その一方で、アクセスポイントの通信範囲から外れても、携帯電話通信に基づきデータのダウンロードは継続されることができる。接続の中断および再接続といった処理は回避されることができる。
【特許文献1】特開2006−121468号公報
【特許文献2】特開2005−267499号公報
【特許文献3】特開2005−223811号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
モバイルIPでは、1通信端末に対して1つのIPアドレスが割り振られる。例えばインターネットへの接続中であれば、通信方法の切り替えに拘わらず1つのIPアドレスは維持される。したがって、通信が任意のネットワークから他のネットワークに切り替えられると、そういったネットワーク間の移動は監視されなければならない。しかも、モバイルIPでは、TCPといったトランスポート層よりも下位のネットワーク層すなわちIP層でソフトウェアプログラムが変更されなければならない。こういった変更はなかなか一般の利用者に手に負えない。その結果、モバイルIPは期待されるほど普及していない。
【0004】
本発明は、上記実状に鑑みてなされたもので、比較的に簡単に継ぎ目なく相互に複数の通信を切り替えることができる通信端末装置を提供することを目的とする。本発明は、そういった通信端末装置を実現することができるリモートプロキシサーバ装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、第1発明によれば、第1IPアドレスで第1ネットワークに接続される第1インターフェースと、第2IPアドレスで第2ネットワークに接続され、第1および第2IPアドレスに基づき第1ネットワークに第2ネットワークを接続する第2インターフェースと、第3IPアドレスで第3ネットワークに接続され、第1および第3IPアドレスに基づき第1ネットワークに第3ネットワークを接続する第3インターフェースと、第2IPアドレスから第3IPアドレスへの切り替えに基づき、第1および第2ネットワーク間の通信を第1および第3ネットワーク間の通信に切り替える制御部とを備えることを特徴とする通信端末装置が提供される。
【0006】
こういった通信端末装置ではいわゆるローカルプロキシが確立される。このローカルプロキシは第1インターフェースで例えばブラウザといったアプリケーションソフトウェアに接続される。したがって、第1および第2ネットワーク間の通信が第1および第3ネットワーク間の通信に切り替えられても、アプリケーションソフトウェアおよび第1インターフェースの間で変更は加えられない。アプリケーションソフトウェアは通信の切り替えを認識せずに済む。こうして通信は継ぎ目なく切り替えられる。しかも、第2インターフェースや第3インターフェースにはいわゆるIPに基づき通常通りにIPアドレスが割り振られればよい。したがって、IP層に変更は加えられない。通信端末装置のユーザは比較的に簡単に通信端末装置にローカルプロキシを組み込むことができる。
【0007】
そういった通信端末装置で、制御部は、第1および第2ネットワーク間の接続の確立にあたって当該接続を特定する識別タグの発行を要求するパケットを生成するとともに、第1および第3ネットワーク間の接続の確立にあたって当該識別タグを含むパケットを生成するパケット生成部を備えてもよい。こういった識別タグによれば、第1および第3ネットワーク間の接続は第1および第2ネットワーク間の接続に簡単に関連付けられることができる。その結果、第1および第2ネットワーク間の通信は誤りなく第1および第3ネットワーク間の通信に切り替えられることができる。
【0008】
こういった通信端末装置の実現にあたって特定の制御方法が提供されてもよい。この制御方法は、例えば、第1IPアドレスで第1ネットワークに接続される第1インターフェースに基づき第1ネットワークとの間で接続を確立する手順と、第2IPアドレスで第2ネットワークに接続される第2インターフェースに基づき、第1ネットワークに第2ネットワークを接続する手順と、第3IPアドレスで第3ネットワークに接続される第3インターフェースに基づき、第1ネットワークに第3ネットワークを接続する手順と、第1および第2IPアドレスに基づき確立される通信を第1および第3IPアドレスに基づき確立される通信に切り替える手順とを備えればよい。
【0009】
その他、こういった制御方法の実現にあたって特定の通信制御ソフトウェアプログラムが提供されてもよい。この通信制御ソフトウェアプログラムは、例えば、第1ネットワークに固有の第1IPアドレス、および、第2ネットワークに固有の第2IPアドレスに基づき、第1ネットワークに第2ネットワークを接続する手順と、第1および第2ネットワーク間の接続を特定する識別タグの発行を要求するパケットを第2ネットワークに向けて送信する手順と、識別タグを含むパケットを第2ネットワークから受信する手順と、第1IPアドレス、および、第3ネットワークに固有の第3IPアドレスに基づき、第1ネットワークに第3ネットワークを接続する手順と、受け取った識別タグに関連付けつつ第1および第3ネットワーク間の接続を特定するパケットを第2ネットワークに向けて送信する手順とをプロセッサに実行させればよい。
【0010】
第2発明によれば、所定の通信端末装置に割り当てられる第1IPアドレスに基づき接続を確立する第1通信部と、同通信端末装置に割り当てられる第2IPアドレスに基づき接続を確立する第2通信部と、通信切り替えの依頼を通知するパケットを第2IPアドレスから受信すると、第1IPアドレスに基づく通信を第2IPアドレスに基づく通信に切り替える制御部とを備えることを特徴とするリモートプロキシサーバ装置が提供される。
【0011】
こういったリモートプロキシサーバ装置は前述の通信端末装置に組み合わせられて利用される。すなわち、リモートプロキシサーバ装置は第1IPアドレスで通信端末装置側の特定のインターフェース(第1のインターフェース)に接続される。同時に、リモートプロキシサーバ装置は第2IPアドレスで通信端末装置側の特定のインターフェース(第2のインターフェース)に接続される。通信端末装置向けのパケットで第1IPアドレスが記述されれば、パケットは第1のインターフェース経由で通信端末まで送り届けられる。同様に、通信端末装置向けのパケットで第2IPアドレスが記述されれば、パケットは第2のインターフェース経由で通信端末まで送り届けられる。インターフェースにはIPに基づき通常通りにIPアドレスが割り振られればよい。したがって、IP層に変更は加えられない。通信端末装置のユーザは比較的に簡単に通信端末装置にローカルプロキシを組み込むことができる。
【0012】
そういったリモートプロキシサーバ装置は、前述の接続の確立にあたって当該接続を特定する識別タグを格納する記憶部をさらに備えてもよい。こういった識別タグによれば、第1IPアドレスに基づく接続は第2IPアドレスに基づく接続に簡単に関連付けられることができる。その結果、第1IPアドレスに基づく通信は誤りなく第2IPアドレスに基づく通信に切り替えられることができる。
【0013】
こういったリモートプロキシサーバ装置の実現にあたって特定の制御方法が提供されてもよい。この制御方法は、所定の通信端末装置に割り当てられる第1IPアドレスに基づき接続を確立する手順と、同通信端末装置に割り当てられる第2IPアドレスに基づき接続を確立する手順と、通信切り替えの依頼を通知するパケットを第2IPアドレスから受信すると、第1IPアドレスに基づく通信を第2IPアドレスに基づく通信に切り替える手順とを備えればよい。制御方法は、第1IPアドレスの通信装置から送信される識別タグ要求信号を受信する手順と、第1IPアドレスに関連付けて、第1IPアドレスの通信装置との接続を特定する識別タグを記憶部に登録する手順と、第2IPアドレスの通信装置から送信されるパケットから識別タグを抽出する手順と、抽出された識別タグに関連付けて第2IPアドレスを記憶部に登録する手順とをさらに備えてもよい。
【発明の効果】
【0014】
以上のように本発明によれば、比較的に簡単に継ぎ目なく相互に複数の通信を切り替えることができる通信端末装置は提供される。同時に、そういった通信端末装置を実現することができるリモートプロキシサーバ装置は提供される。
【発明を実施するための最良の形態】
【0015】
以下、添付図面を参照しつつ本発明の一実施形態を説明する。
【0016】
図1に示されるように、このシームレスアクセス通信システム11は通信端末装置12を備える。通信端末装置12には携帯電話インターフェース13、無線LANインターフェース14および有線LANインターフェース15が実装される。携帯電話インターフェース13、無線LANインターフェース14および有線LANインターフェース15はCPU(中央演算処理装置)16に接続される。CPU16は携帯電話インターフェース13を通じて携帯電話通信ネットワーク17に接続されることができる。こうした接続にあたって携帯電話インターフェース13は基地局18との間で無線通信を確立する。無線通信の確立にあたって例えばWCDMAやCDMA2000といった通信方式が利用される。同様に、CPU16は、無線LANインターフェース14および有線LANインターフェース15を通じて無線LANネットワーク19および有線LANネットワーク21に接続されることができる。無線LANインターフェース14と無線LANネットワーク19のアクセスポイント22との間には無線通信が確立される。無線通信は例えばIEEE802.11系の規格に則って確立されればよい。ここでは、アクセスポイント22にルータの機能が組み込まれる。有線LANインターフェース15はケーブル23で例えばルータ24に接続される。有線LANネットワーク21には例えばイーサネット(登録商標)が利用されればよい。
【0017】
CPU16にはメモリ25およびストレージ26が接続される。ストレージ26にはいわゆるアプリケーションソフトウェアのプログラムやデータが格納される。CPU16はメモリ25に一時的に記憶されるプログラムやデータに基づき演算処理を実行する。ここでは、ブラウザや電子メールといったインターネット関連のアプリケーションソフトウェアがアプリケーションソフトウェアとして挙げられる。その他、ストレージ26には、後述のローカルプロキシを実現するローカルプロキシプログラムが格納される。メモリ25には例えばRAMが利用されればよい。ストレージ26には例えばハードディスク駆動装置(HDD)が利用されればよい。
【0018】
携帯電話通信ネットワーク17にはゲートウェイ27が接続される。ゲートウェイ27はインターネット28に携帯電話通信ネットワーク17を接続する。ゲートウェイ27の働きでインターネット28と通信端末装置12との間で通信は確立される。こういった通信の確立にあたってゲートウェイ27はいわゆるDHCP機能に基づき通信端末装置12にIPアドレスを割り当てる。ただし、IPアドレスの割り当てには、携帯電話通信ネットワーク17に接続されるDHCPサーバが利用されてもよい。
【0019】
アクセスポイント22は同様にインターネット28に接続される。アクセスポイント22はインターネット28に無線LANネットワーク19を接続する。アクセスポイント22の働きでインターネット28と通信端末装置12との間で通信は確立される。無線LANネットワーク19には例えばいわゆるDHCPサーバ(図示されず)が接続される。通信の確立にあたってDHCPサーバは通信端末装置12にIPアドレスを割り当てる。
【0020】
ルータ24は同様にインターネット28に接続される。ルータ24はインターネット28に有線LANネットワーク21を接続する。ルータ24の働きでインターネット28と通信端末装置12との間で通信は確立される。有線LANネットワーク21には例えばDHCPサーバ(図示されず)が接続される。通信の確立にあたってDHCPサーバは通信端末装置12にIPアドレスを割り当てる。
【0021】
インターネット28にはリモートプロキシサーバ装置29が接続される。リモートプロキシサーバ装置29は複数のインターフェース例えば第1および第2インターフェース31、32を備える。第1および第2インターフェース31、32は個別にルータ33に接続される。ルータ33はインターネット28に第1および第2インターフェース31、32を接続する。ルータ33は個々のインターフェース31、32ごとに個別にIPアドレスを設定する。
【0022】
リモートプロキシサーバ装置29はCPU34を備える。CPU34は第1および第2インターフェース31、32に接続される。CPU34は第1および第2インターフェース31、32を通じてインターネット28に接続される。
【0023】
CPU34にはメモリ35およびストレージ36が接続される。ストレージ36にはいわゆるアプリケーションソフトウェアのプログラムやデータが格納される。CPU34はメモリ35に一時的に記憶されるプログラムやデータに基づき演算処理を実行する。ここでは、ストレージ36には、後述のリモートプロキシを実現するリモートプロキシプログラムが格納される。メモリ35には例えばRAMが利用されればよい。ストレージ36には例えばハードディスク駆動装置(HDD)が利用されればよい。
【0024】
インターネット28にはいわゆるコンテンツサーバ37が接続される。コンテンツサーバ37にはインターフェース38が実装される。インターフェース38はインターネット28にコンテンツサーバ37を接続する。こういった接続にあたってインターフェース38はいわゆるルータの機能を担えばよい。コンテンツサーバ37には固有にIPアドレスが設定される。
【0025】
コンテンツサーバ37はCPU39を備える。CPU39にはメモリ41およびストレージ42が接続される。ストレージ42にはいわゆるアプリケーションソフトウェアのプログラムやデータが格納される。CPU39はメモリ41に一時的に記憶されるプログラムやデータに基づき演算処理を実行する。ここでは、ストレージ42に例えばコンテンツが格納される。こういったコンテンツは例えばHTTPで記述されればよい。メモリ41には例えばRAMが利用されればよい。ストレージ42には例えばハードディスク駆動装置(HDD)が利用されればよい。
【0026】
通信端末装置12にはローカルプロキシが搭載される。ローカルプロキシの実現にあたってCPU16はローカルプロキシプログラムを実行する。実行にあたってローカルプロキシプログラムは一時的にメモリ25に格納される。ローカルプロキシはTCP層で動作する。ローカルプロキシの処理の詳細は後述される。ローカルプロキシは本発明に係る制御部として機能する。
【0027】
同様に、リモートプロキシサーバ装置29にはリモートプロキシが搭載される。このリモートプロキシの実現にあたってCPU34はリモートプロキシプログラムを実行する。実行にあたってリモートプロキシプログラムは一時的にメモリ35に格納される。リモートプロキシ44はTCP層で動作する。リモートプロキシの処理の詳細は後述される。リモートプロキシは本発明に係る制御部として機能する。
【0028】
次に、ローカルプロキシの処理を詳述する。図2に示されるように、ローカルプロキシの処理が開始されると、まずステップS1でローカルプロキシとリモートプロキシとの間で新規に接続が確立される。その結果、携帯電話インターフェース13、無線LANインターフェース14および有線LANインターフェース15のいずれかが第1インターフェース31に接続される。リンクが確立される。リンク上でパケットは行き来する。詳細は後述される。
【0029】
新規に接続が確立されると、続くステップS2でその既存のリンク以外で新たにリンクが確立される。すなわち、既存のリンクに関与しないインターフェース13、14、15の中から新たに1インターフェースが第1インターフェース31に接続される。その結果、第1インターフェース31はインターフェース13、14、15のうち2つのインターフェースとの間でリンクを確立する。詳細は後述される。
【0030】
続くステップS3でローカルプロキシは2つのリンクの優先順位を検討する。新たなリンクの優先順位が既存のリンクのそれよりも高ければ、ローカルプロキシの処理動作はステップS4に進む。ステップS4でリンクが切り替えられる。新たなリンクは既存のリンクに取って代わる。すなわち、新たなリンク上でパケットは行き来する。既存のリンク上ではパケットの行き来は中止される。詳細は後述される。
【0031】
その後、ローカルプロキシは、ステップS5で、パケットの行き来に関与しない既存のリンクを監視する。こうしてローカルプロキシはバックアップ用のリンクを確保し続ける。ステップS5でバックアップ用のリンクの切断が確認されると、ローカルプロキシの処理動作はステップS2に戻る。ローカルプロキシは再び新たなリンクの確立を試みる。こうしてローカルプロキシは可能な限り少なくとも2つのリンクを確保していく。
【0032】
仮にステップS3で新たなリンクの優先順位が既存のリンクのそれよりも低ければ、ローカルプロキシの処理動作はステップS6に進む。既存のリンク上でパケットの行き来は維持される。その一方で、ローカルプロキシは、ステップS6で、パケットの行き来に関与しない新たなリンクを監視する。ローカルプロキシはバックアップ用のリンクを確保し続ける。ステップS6でバックアップ用のリンクの切断が確認されると、ローカルプロキシの処理動作はステップS2に戻る。ローカルプロキシは再び新たなリンクの確立を試みる。こうしてローカルプロキシは可能な限り少なくとも2つのリンクを確保していく。
【0033】
ここで、リンクの切断は例えば任意の「ヘルスチェック」パケットに基づき監視されればよい。リンクが維持されていれば、「ヘルスチェック」パケットの送信に応じて「ACK」パケットが返信されてくる。その一方で、リンクが切断されていれば、「ACK」パケットの返信は阻害される。ローカルプロキシは「ヘルスチェック」パケットの送信に応じて「ACK」パケットを受信することができない。したがって、「ACK」パケットの受信の有無でリンクの切断は判断されることができる。こういった「ヘルスチェック」パケットの送信は一定の時間間隔で繰り返されればよい。その他、例えば携帯電話インターフェース13や無線LANインターフェース14に基づくリンクの場合には、電波の受信強度が監視されてもよい。
【0034】
次に図2の「新規接続」を詳述する。図3に示されるように、ステップT1でローカルプロキシはインターフェースを選択する。インターフェースの選択にあたってローカルプロキシは優先順位を考慮する。こうした優先順位は例えば予めローカルプロキシプログラム内で設定されればよい。ここでは、例えばパケットの転送速度に基づき有線LANインターフェース15、無線LANインターフェース14および携帯電話インターフェース13の順番で優先順位が設定されればよい。その他、通信料金に基づき優先順位が設定されてもよい。こういった優先順位は通信端末装置12のユーザの入力操作に基づき設定されてもよい。優先順位は例えばストレージ26といった不揮発性の記憶媒体に格納されればよい。
【0035】
続いて、ローカルプロキシは、選択したインターフェースに基づきリモートプロキシとの間で3ウェイハンドシェイク処理を実施する。すなわち、ローカルプロキシはステップT2でリモートプロキシサーバ装置29の第1インターフェース31に向かって「SYN」パケットを送信する。送信に先立ってローカルプロキシでは「SYN」パケットが生成される。例えば携帯電話インターフェース13が選択されると、「SYN」パケットでは送信元に携帯電話インターフェース13のIPアドレスが記述される。同様に、無線LANインターフェース14が選択されると、送信元に無線LANインターフェース14のIPアドレスが記述される。有線LANインターフェース15が選択されると、送信元に有線LANインターフェース15のIPアドレスが記述される。
【0036】
続くステップT3でローカルプロキシはTCPの手順に則って「SYN+ACK」パケットの返信を待つ。選択されたインターフェースから「SYN+ACK」パケットを受信すると、ローカルプロキシはステップT4でTCPの手順に則って第1インターフェース31のIPアドレス宛てに「ACK」パケットを返信する。こうしてTCPの手順に則って3ウェイハンドシェイク処理は完了する。ローカルプロキシおよびリモートプロキシの間でリンクが確立される。
【0037】
続くステップT5でローカルプロキシは選択されたインターフェース経由で第1インターフェース31に向けて「IPアドレス+識別タグ要求」パケットを送信する。このパケットには、選択されたインターフェースのIPアドレスと、識別タグの発行を要求する意思表示とが記述される。識別タグは、選択されたインターフェースと第1インターフェース31とのリンクを特定する。この識別タグは、後述されるように、リモートプロキシで発行される。
【0038】
続くステップT6でローカルプロキシはTCPの手順に則って「ACK+識別タグ」パケットの返信を待つ。ローカルプロキシが選択のインターフェース経由で「ACK+識別タグ」パケットを受信すると、ステップT7で、受け取った識別タグが登録される。識別タグは例えばメモリ25に一時的に格納されればよい。こうして「新規接続」の処理が完了すると、選択されたインターフェースと第1インターフェース31との間でコンテンツデータのダウンロードが開始される。ローカルプロキシはステップT8でコンテンツデータの中継を開始する。ローカルプロキシはTCPの手順に則って一時的にメモリ25にコンテンツデータを格納しつつ例えばブラウザといった実行中のアプリケーションソフトウェアに向けてコンテンツデータを転送する。
【0039】
仮にローカルプロキシがステップT3で「SYN+ACK」パケットを受信することができなければ、ローカルプロキシはリンクの不成立を確認する。ローカルプロキシの処理動作はステップT9に進む。ステップT9でローカルプロキシはインターフェースの有無を判断する。最初に選択されたインターフェース以外にインターフェースの存在が確認されると、ローカルプロキシの処理動作はステップT1に戻る。ローカルプロキシは、最初に選択したインターフェースを諦めつつ新しいインターフェースを選択する。その後、ローカルプロキシは前述の処理動作を実施する。
【0040】
仮にローカルプロキシがステップT6で「ACK+識別タグ」パケットを受信することができなければ、ローカルプロキシは同様にリンクの不成立を確認する。ローカルプロキシの処理動作はステップT9に進む。こうしていずれか1のインターフェース13、14、15でリンクが成立するまで、ローカルプロキシはインターフェースの選択を繰り返す。ステップT9で完全にリンクの不成立が確認されると、ローカルプロキシはリンクの確立を断念する。処理は終了する。ローカルプロキシはアプリケーションソフトウェアにリンクの切断を通知する。
【0041】
次に図2の「新たなリンクの確立」を詳述する。図4に示されるように、ステップV1でローカルプロキシは前述と同様にインターフェースを選択する。ここでは、前述のリンクに関与するインターフェース以外のインターフェースが選択される。例えば「新規接続」で携帯電話インターフェース13経由でリンクが確立されていれば、無線LANインターフェース14および有線LANインターフェース15のいずれかが選択される。
【0042】
続いて、ローカルプロキシは、選択したインターフェースに基づきリモートプロキシ43との間で3ウェイハンドシェイク処理を実施する。すなわち、ローカルプロキシはステップV2で選択のインターフェース経由でリモートプロキシサーバ装置29の第1インターフェース31に向かって「SYN」パケットを送信する。送信に先立ってローカルプロキシでは第1インターフェース31のIPアドレス宛てに「SYN」パケットが生成される。続くステップV3でローカルプロキシはTCPの手順に則って「SYN+ACK」パケットの返信を待つ。選択されたインターフェースから「SYN+ACK」パケットを受信すると、ローカルプロキシはステップV4でTCPの手順に則って第1インターフェース31のIPアドレス宛てに「ACK」パケットを返信する。こうしてTCPの手順に則って3ウェイハンドシェイク処理は完了する。ローカルプロキシおよびリモートプロキシの間でリンクが確立される。
【0043】
続くステップV5でローカルプロキシは選択されたインターフェース経由で第1インターフェース31に向けて「IPアドレス+識別タグ」パケットを送信する。このパケットには、選択されたインターフェースのIPアドレスと、前述の識別タグとが記述される。識別タグはメモリ25から読み出されればよい。こうして選択されたインターフェースは前述の既存のリンクに関連付けられる。
【0044】
続くステップV6でローカルプロキシはTCPの手順に則って「ACK+識別タグ」パケットの返信を待つ。ローカルプロキシが「ACK+識別タグ」パケットを受信すると、「新たなリンクの確立」の処理は完了する。このとき、既存のリンクではコンテンツデータの中継は維持される。コンテンツデータのダウンロードは途切れない。
【0045】
仮にローカルプロキシがステップV3で「SYN+ACK」パケットを受信することができなければ、ローカルプロキシはリンクの不成立を確認する。ローカルプロキシの処理動作はステップV1に戻る。ローカルプロキシは、最初に選択したインターフェースを諦めつつ新しいインターフェースを選択する。その後、ローカルプロキシは前述の処理を実施する。同様に、ローカルプロキシがステップV6で「ACK+識別タグ」パケットを受信することができなければ、ローカルプロキシはリンクの不成立を確認する。ローカルプロキシの処理動作はステップV1に戻る。こうして新たにいずれか1のインターフェース13、14、15でリンクが成立するまで、ローカルプロキシはインターフェースの選択を繰り返す。
【0046】
次に図2の「リンクの切り替え」を詳述する。図5に示されるように、ステップW1でローカルプロキシはリモートプロキシサーバ装置29の第1インターフェース31に向かって新たなリンクのインターフェース経由で「切り替えトリガ」パケットを送信する。送信に先立ってローカルプロキシでは第1インターフェースのIPアドレス宛てに「切り替えトリガ」パケットが生成される。「切り替えトリガ」パケットにはリンクの切り替えの意思表示が記述される。送信元には新たなリンクのインターフェースのIPアドレスが記述される。
【0047】
続くステップW2でローカルプロキシはTCPの手順に則って「ACK」パケットの返信を確認する。このとき、後述されるように、リモートプロキシではリンクの切り替えが開始される。続くステップW3でローカルプロキシは選択されたインターフェース経由で「切り替え完了メッセージ」パケットを受信する。この「切り替え完了メッセージ」パケットでリンクの切り替えの完了が通知される。「切り替え完了メッセージ」パケットの送信元にはリモートプロキシサーバ装置29の第1インターフェース31のIPアドレスが記述される。パケットの送信先には選択されたインターフェースのIPアドレスが記述される。
【0048】
ローカルプロキシはステップW4でTCPの手順に則って「ACK」パケットを返信する。こうしてリンクの切り替えが完了すると、選択されたインターフェースと第1インターフェース31との間でコンテンツデータのダウンロードが開始される。ローカルプロキシはステップW5でコンテンツデータの中継を再開する。ローカルプロキシはTCPの手順に則って一時的にメモリ25にコンテンツデータを格納しつつアプリケーションソフトウェアに向けてコンテンツデータを転送する。その後、ローカルプロキシの処理動作は図2のステップS5に移行する。
【0049】
仮にローカルプロキシがステップW2で「ACK」パケットを受信することができなければ、ローカルプロキシは続くステップW6でリクエストタイムアウトを判断する。すなわち、所定の時間にわたって「ACK」パケットの受信が確認されなければ、ローカルプロキシはステップW7でリンクの切り替えを中止する。その後、ローカルプロキシの処理動作は図2のステップS5に移行する。ステップW6でリクエストタイムアウトが確認されなければ、ローカルプロキシの処理動作はステップW1に戻る。ローカルプロキシは再び「切り替えトリガ」パケットを送信する。
【0050】
以上のような処理動作に並行してローカルプロキシでは「障害の発生」が監視される。すなわち、例えば図6に示されるように、ローカルプロキシでは「DUP ACK」パケットの受信が監視される。コンテンツデータのダウンロードに障害が発生すると、アプリケーションソフトウェアはコンテンツデータを取得することができない。このとき、アプリケーションソフトウェアはローカルプロキシに向けて「DUP ACK」パケットを送信する。こうしてローカルプロキシにはコンテンツデータの不到達が通知される。
【0051】
ローカルプロキシがステップX1で「DUP ACK」パケットを受信すると、ローカルプロキシはアプリケーションソフトウェアに向けて「ACK」パケットを返信する。「ACK」パケットは一定間隔で送信され続ければよい。その結果、アプリケーションソフトウェアではタイムアウトの発生は回避される。アプリケーションソフトウェアは「ACK」パケットを受信し続ける。ただし、こうした「ACK」パケットにいわゆるデータは組み込まれない。
【0052】
続くステップX3でローカルプロキシは新たにリンクを選択する。ここでは、障害のリンク以外から任意のリンクが選択される。例えば有線LANインターフェース15経由のリンクに障害が確認されれば、携帯電話インターフェース13経由および無線LANインターフェース14経由のいずれかのリンクが選択される。リンクの選択にあたって前述の優先順位が考慮されてもよい。
【0053】
続いて、ローカルプロキシはステップX4でリモートプロキシサーバ装置29の第1インターフェース31に向かって「切り替えトリガ」パケットを送信する。送信にあたってローカルプロキシは「切り替えトリガ」パケットを生成する。「切り替えトリガ」パケットの送信元には選択されたリンクに関連するインターフェースのIPアドレスが記述される。続くステップX5でローカルプロキシはTCPの手順に則って「ACK」パケットの返信を確認する。このとき、リモートプロキシではリンクの切り替えが開始される。
【0054】
続くステップX6でローカルプロキシは選択されたインターフェース経由で「切り替え完了メッセージ」パケットを受信する。ローカルプロキシはステップX7でTCPの手順に則って「ACK」パケットを返信する。続くステップX8でローカルプロキシはアプリケーションソフトウェアに向けて「ACK」パケットの送信を終了する。その結果、コンテンツデータのダウンロードが開始される。ローカルプロキシはステップX9でコンテンツデータの中継を再開する。ローカルプロキシはTCPの手順に則って一時的にメモリ25にコンテンツデータを格納しつつアプリケーションソフトウェアに向けてコンテンツデータを転送する。その後、ローカルプロキシの処理動作はステップX1に戻る。ローカルプロキシは再び「障害の発生」を監視し続ける。
【0055】
仮にローカルプロキシがステップX5で「ACK」パケットを受信することができなければ、ローカルプロキシは続くステップX10でリクエストタイムアウトを判断する。すなわち、所定の時間にわたって「ACK」パケットの受信が確認されなければ、ローカルプロキシは全てのリンクの切断を確認する。ローカルプロキシはステップX11でリンクの切り替えを中止する。続くステップX12でローカルプロキシはアプリケーションソフトウェアに向けて「ACK」パケットの送信を終了する。その結果、コンテンツデータのダウンロードは途絶える。ステップX10でリクエストタイムアウトが確認されなければ、ローカルプロキシの処理動作はステップX4に戻る。ローカルプロキシは再び「切り替えトリガ」パケットを送信する。
【0056】
次に、リモートプロキシの処理を詳述する。図7に示されるように、リモートプロキシがステップY1でパケットを受信すると、リモートプロキシはそのパケットを解読する。すなわち、ステップY2でリモートプロキシが「SYN」パケットの受信を確認すると、続くステップY3でリモートプロキシはTCPの手順に則って「SYN」パケットの送信元に向けて「SYN+ACK」パケットを返信する。返信にあたってリモートプロキシは「SYN+ACK」パケットを生成する。宛先には「SYN」パケットの送信元のIPアドレスが記述される。その後、リモートプロキシが「SYN+ACK」パケットに対して「ACK」パケットを受信すると、「SYN」パケットの送信元との間で3ウェイハンドシェイク処理は完了する。リンクが確立される。
【0057】
ステップY5でリモートプロキシが「IPアドレス+識別タグ要求」パケットの受信を確認すると、ステップY6でリモートプロキシはメモリ35またはストレージ36に「IPアドレス」および「識別タグ」を登録する。「IPアドレス」はローカルプロキシのインターフェース13、14、15を特定する。「識別タグ」は当該1インターフェースと第1インターフェース31との間に確立されるリンクを特定する。こうしてリンクごとに「IPアドレス」すなわち1つのインターフェース13、14、15は関連付けられる。リモートプロキシは「識別タグ要求」に応じてそのインターフェースに固有の「識別タグ」を生成する。続くステップY7でリモートプロキシは「IPアドレス」に向けてパケットで「ACK」とともに「識別タグ」を送信する。
【0058】
ステップY8でリモートプロキシが「IPアドレス+識別タグ」パケットの受信を確認すると、ステップY9でリモートプロキシは登録済みの「識別タグ」を検索する。その結果、既存のリンクの「IPアドレス」は抽出される。送られてきたIPアドレスは既存のリンクの「IPアドレス」に関連付けられる。続くステップY10でリモートプロキシは送られてきたIPアドレスを登録する。このとき、リモートプロキシはその登録対象のIPアドレスに新たに「識別タグ」を割り振る。ここでは、登録にあたって2つの「識別タグ」同士は相互に関連付けられる。続くステップY11でリモートプロキシは登録対象のIPアドレスに向けてパケットで「ACK」とともに登録対象の「識別タグ」を送信する。
【0059】
ステップY12でリモートプロキシが「切り替えトリガ」パケットの受信を確認すると、ステップY13でリモートプロキシは「切り替えトリガ」パケットの送信元に向けて「ACK」パケットを返信する。リモートプロキシは「切り替えトリガ」パケットから「識別タグ」を抽出する。この「識別タグ」の働きで切り替え前すなわち既存のリンクは特定される。「ACK」パケットの送信と同時に、リモートプロキシは第2インターフェース32経由でコンテンツサーバ37に向けて「ゼロウィンドウ」パケットを送信する。コンテンツサーバ37は「ゼロウィンドウ」パケットの受信に応じてコンテンツデータの送信を中断する。周知の通り、再び「ACK」パケットを受信し始めるまでコンテンツサーバ37はコンテンツデータの送信を停止する。
【0060】
続くステップY15でリモートプロキシはリンクの切り替えを実施する。リモートプロキシは転送先の「IPアドレス」を変更する。既存のリンクのIPアドレスは「切り替えトリガ」パケットの送信元のIPアドレスに変更される。例えばバッファすなわちメモリ36内にコンテンツデータが蓄積する場合には、バッファ内のコンテンツデータは変更後の転送先に向けて送信される。こうしてリンクの切り替えが完了すると、リモートプロキシは「切り替えトリガ」パケットの送信元に向けて「切り替え完了メッセージ」パケットを送信する。
【0061】
ステップY17でリモートプロキシが「ACK」パケットの受信を確認すると、リモートプロキシはその「ACK」パケットに対応するコンテンツデータをバッファすなわちメモリ35から消去する。その結果、コンテンツデータの中継は完了する。中継にあたってコンテンツデータは第2インターフェース32からリモートプロキシに受け渡される。コンテンツデータでは個々のパケットごとに宛先の「IPアドレス」が確認される。
【0062】
リモートプロキシがステップY17で「ACK」パケットの受信を確認することができなければ、リモートプロキシはバッファ内にコンテンツデータを保持する。その後、続くステップY19でタイムアウトが確認されると、リモートプロキシの処理動作はステップY20に進む。リモートプロキシはコンテンツサーバ37に向けて「ゼロウィンドウ」パケットを送信する。コンテンツサーバ37は「ゼロウィンドウ」パケットの受信に応じてコンテンツデータの送信を中断する。たとえステップY19でタイムアウトが確認されなくても、ステップY21でバッファの空きが消滅すると、リモートプロキシはコンテンツサーバ37に向けて「ゼロウィンドウ」パケットを送信する。
【0063】
いま、シームレスアクセス通信システム11でコンテンツサーバ37からコンテンツデータをダウンロードする場面を想定する。図8に示されるように、コンテンツサーバ37のIPアドレスには「a.a.a.a」が設定される。したがって、インターネット28中のパケットでIPアドレス「a.a.a.a」が設定されると、そのパケットはコンテンツサーバ37に辿り着く。
【0064】
ローカルプロキシ43は例えばインターネットブラウザ45やEメール46といったアプリケーションソフトウェアとの間にネットワークを構築する。このネットワークでローカルプロキシ43のインターフェースは例えばIPアドレス「127.0.0.1」で特定される。すなわち、アプリケーションソフトウェアのプロキシサーバにはIPアドレス「127.0.0.1」が設定される。アプリケーションソフトウェアで生成されるパケットでは送信先にIPアドレス「127.0.0.1」が指定される。
【0065】
ローカルプロキシ43は個々のインターフェース13、14、15ごとにインターネット28に接続される。インターネット28では携帯電話インターフェース13にIPアドレス「d.d.d.d」が割り振られる。同様に、無線LANインターフェース14および有線LANインターフェース15にはそれぞれIPアドレス「e.e.e.e」および「f.f.f.f」が割り振られる。インターネット28中のパケットでIPアドレス「d.d.d.d」が指定されると、そのパケットは携帯電話インターフェース13経由でローカルプロキシ43に辿り着く。同様に、インターネット28中のパケットでIPアドレス「e.e.e.e」が指定されると、そのパケットは無線LANインターフェース14経由でローカルプロキシ43に辿り着く。インターネット28中のパケットでIPアドレス「f.f.f.f」が指定されると、そのパケットは有線LANインターフェース15経由でローカルプロキシ43に辿り着く。
【0066】
同様に、リモートプロキシ44は個々のインターフェース31、32ごとにインターネット28に接続される。インターネット28では第1インターフェース31にはIPアドレス「c.c.c.c」が割り振られる。同様に、第2インターフェース32にはIPアドレス「b.b.b.b」が割り振られる。インターネット28中のパケットでIPアドレス「c.c.c.c」が設定されると、そのパケットは第1インターフェース31経由でリモートプロキシ44に辿り着く。インターネット28中のパケットでIPアドレス「b.b.b.b」が設定されると、そのパケットは第2インターフェース32経由でリモートプロキシ44に辿り着く。IPアドレス「c.c.c.c」および「b.b.b.b」は固定値として第1および第2インターフェース31、32に割り振られればよい。なお、いずれのIPアドレスも「0.0.0.0」〜「255.255.255.255」の範囲で任意に設定されればよい。
【0067】
携帯電話インターフェース13、無線LANインターフェース14および有線LANインターフェース15はそれぞれ第1インターフェース31との間で接続を確立する。すなわち、個々のインターフェース13、14、15から送り出されるパケットでは宛先のIPアドレスに「c.c.c.c」が記述される。このとき、ローカルプロキシ43では固有のプロキシサーバとしてIPアドレス「c.c.c.c」が設定されればよい。こういったプロキシサーバの設定は例えばストレージ26といった不揮発性の記憶媒体に格納されればよい。その一方で、第1インターフェース31から送り出されるパケットでは宛先のIPアドレスに「d.d.d.d」、「e.e.e.e」および「f.f.f.f」のいずれかが記述される。第2インターフェース32はコンテンツサーバ37との間で接続を確立する。すなわち、第2インターフェース32から送り出されるパケットでは宛先のIPアドレスに「a.a.a.a」が記述される。
【0068】
いま、コンテンツデータのダウンロードにあたって通信端末装置12の携帯電話インターフェース13が利用される場面を想定する。まず、通信端末装置12のローカルプロキシ43は前述の「新規接続」を実施する。図9に示されるように、ローカルプロキシ43は携帯電話インターフェース13経由でリモートプロキシ44の第1インターフェース31との間で3ウェイハンドシェイク処理を実施する。リンクが確立される。こうして携帯電話インターフェース13はIPアドレス「d.d.d.d」でインターネット28に接続される。ブラウザ45はIPアドレス「127.0.0.1」および「d.d.d.d」に基づき携帯電話インターフェース13経由でインターネット28に接続される。
【0069】
続いてローカルプロキシ43は「IPアドレス+識別タグRQT」パケットを生成する。このパケットの送信元にはIPアドレス「d.d.d.d」が記述される。パケットの送信先にはIPアドレス「c.c.c.c」が記述される。パケットは携帯電話インターフェース13から送信される。
【0070】
リモートプロキシ44は第1インターフェース31経由で「IPアドレス+識別タグRQT」パケットを受信する。リモートプロキシ44は例えばストレージ36にIPアドレス「d.d.d.d」および識別タグを登録する。同時に、リモートプロキシ44は「ACK+識別タグ」パケットを生成する。このパケットの送信元にはIPアドレス「c.c.c.c」が記述される。パケットの送信先にはIPアドレス「d.d.d.d」が記述される。パケットは第1インターフェース31から送信される。ローカルプロキシ43は携帯電話インターフェース13経由で「ACK+識別タグ」パケットを受信する。ローカルプロキシ43は例えばストレージ26に「識別タグ」を登録する。
【0071】
その後、ブラウザ45はコンテンツサーバ37にアクセスする。例えばブラウザ45とコンテンツサーバ37との間でパケットがやり取りされる。パケットのやり取りに先立って3ウェイハンドシェイク処理が実施されてもよい。ブラウザ45は「GET」パケットを生成する。「GET」パケットにはコンテンツデータすなわちHTTPデータの取得の意思表示が記述される。このパケットの送信先にはローカルインターフェース47のIPアドレス「127.0.0.1」が記述される。ローカルプロキシ43はリモートプロキシ44に向けて「GET」パケットを転送する。転送にあたってパケットの送信先にはIPアドレス「c.c.c.c」が記述される。パケットの送信元にはIPアドレス「d.d.d.d」が記述される。「GET」パケットは第1インターフェース31でリモートプロキシ44に受け取られる。リモートプロキシ44はコンテンツサーバ37に向けて「GET」パケットを転送する。この転送にあたってパケットの送信先にはIPアドレス「a.a.a.a」が記述される。パケットの送信元にはIPアドレス「b.b.b.b」が記述される。このパケットは第2インターフェース32から送信される。こうしてコンテンツサーバ37は「GET」パケットを受信する。
【0072】
コンテンツサーバ37は「GET」パケットの受信に応じて「GET返信」パケットを生成する。「GET返信」パケットはブラウザ45に向けて返信される。返信にあたってパケットの送信先にはIPアドレス「b.b.b.b」が記述される。パケットの発信元にはIPアドレス「a.a.a.a」が記述される。リモートプロキシ44は第2インターフェース32経由で「GET返信」パケットを受信する。同時に、リモートプロキシ44はローカルプロキシ43に向けて「GET返信」パケットを転送する。転送にあたってパケットの送信先にはIPアドレス「d.d.d.d」が記述される。パケットの送信元にはIPアドレス「c.c.c.c」が記述される。「GET返信」パケットは携帯電話インターフェース13でローカルプロキシ43に受け取られる。ローカルプロキシ43はローカルインターフェース47経由でブラウザ45に「GET返信」パケットを受け渡す。
【0073】
その後、コンテンツサーバ37は順番に「HTTPデータ」パケットを送信する。送信にあたってパケットの送信先にはIPアドレス「b.b.b.b」が記述される。パケットの発信元にはIPアドレス「a.a.a.a」が記述される。リモートプロキシ44は第2インターフェース32経由で「HTTPデータ」パケットを受信する。同時に、リモートプロキシ44はローカルプロキシ43に向けて「HTTPデータ」パケットを転送する。転送にあたってパケットの送信先にはIPアドレス「d.d.d.d」が記述される。パケットの送信元にはIPアドレス「c.c.c.c」が記述される。その一方で、リモートプロキシ44は「ACK」パケットの受信まで一時的に「HTTPデータ」パケットを保持する。「HTTPデータ」パケットは携帯電話インターフェース13でローカルプロキシ43に受け取られる。ローカルプロキシ43はローカルインターフェース47経由でブラウザ45に「HTTPデータ」パケットを受け渡す。こうしてブラウザ45は「HTTPデータ」パケットに基づき表示装置(図示されず)の画面上にHTTPデータを表示する。
【0074】
こうして「HTTPデータ」パケットがブラウザ45に到着すると、ブラウザ45は「ACK」パケット(図示されず)を生成する。「ACK」パケットはローカルインターフェース47経由でローカルプロキシ43に受け渡される。ローカルプロキシ43はリモートプロキシ44に向けて「ACK」パケットを転送する。このとき、パケットの送信元にはIPアドレス「f.f.f.f」が記述される。パケットの送信先にはIPアドレス「c.c.c.c」が記述される。パケットは携帯電話インターフェース13から送り出される。リモートプロキシ44は第1インターフェース31経由で「ACK」パケットを受信する。受信と同時にリモートプロキシ44はバッファから対応の「HTTPデータ」パケットを消去する。同時に、「ACK」パケットはコンテンツサーバ37に転送される。コンテンツサーバ37は「ACK」パケットの受信に応じて「HTTPデータ」パケットの到着を確認する。
【0075】
いま、例えば前述のHTTPデータのダウンロード中に有線LANインターフェース15にケーブル23が接続される場面を想定する。図10に示されるように、通信端末装置12のローカルプロキシ43は前述の「新たなリンクの確立」を実施する。ローカルプロキシ43は有線LANインターフェース15経由でリモートプロキシ44の第1インターフェース31との間で3ウェイハンドシェイク処理を実施する。リンクが確立される。こうして有線LANインターフェース15はIPアドレス「f.f.f.f」でインターネット28に接続される。ブラウザ45はIPアドレス「127.0.0.1」および「f.f.f.f」に基づき有線LANインターフェース15経由でインターネット28に接続される。
【0076】
続いてローカルプロキシ43は「IPアドレス+識別タグ」パケットを生成する。このパケットの送信元にはIPアドレス「f.f.f.f」が記述される。パケットの送信先にはIPアドレス「c.c.c.c」が記述される。パケットは有線LANインターフェース15から送信される。
【0077】
リモートプロキシ44は第1インターフェース31経由で「IPアドレス+識別タグ」パケットを受信する。例えばストレージ36で同パケット中の「識別タグ」を検索する。こうして2つのIPアドレス「d.d.d.d」および「f.f.f.f」は相互に関連付けられる。同時に、リモートプロキシ44は例えばストレージ36にIPアドレス「f.f.f.f」および新たな識別タグを登録する。その一方で、リモートプロキシ44は新たな識別タグに基づき「ACK+識別タグ」パケットを生成する。このパケットの送信元にはIPアドレス「c.c.c.c」が記述される。パケットの送信先にはIPアドレス「f.f.f.f」が記述される。パケットは第1インターフェース31から送信される。ローカルプロキシ43は有線LANインターフェース15経由で「ACK+識別タグ」パケットを受信する。ローカルプロキシ43は例えばストレージ26に新たな「識別タグ」を登録する。
【0078】
ローカルプロキシ43は有線LANインターフェース15の優先順位を確認する。ここでは、有線LANインターフェース15の優先順位は携帯電話インターフェース13のそれよりも高いと仮定する。したがって、ローカルプロキシ43は前述の「リンクの切り替え」を実施する。ローカルプロキシ43は「切り替えトリガ」パケットを生成する。「切り替えトリガ」パケットにはリンクの切り替えすなわちインターフェースの切り替えの意思表示が記述される。同時に、このパケットには、携帯電話インターフェース13に基づくリンクに割り当てられた「識別タグ」が記述される。このパケットの送信元にはIPアドレス「f.f.f.f」が記述される。パケットの送信先にはIPアドレス「c.c.c.c」が記述される。パケットは有線LANインターフェース15から送信される。
【0079】
リモートプロキシ44は第1インターフェース31経由で「切り替えトリガ」パケットを受信する。リモートプロキシ44は「切り替えトリガ」パケットの受信に応じてリンクの切り替えを実施する。同時に、リモートプロキシ44は「ACK」パケットを生成する。このパケットの送信元にはIPアドレス「c.c.c.c」が記述される。パケットの送信先にはIPアドレス「f.f.f.f」が記述される。パケットは第1インターフェース31から送信される。ローカルプロキシ43は有線LANインターフェース15経由で「ACK」パケットを受信する。その一方で、リモートプロキシ44は「ゼロウィンドウ」パケットを生成する。このパケットの送信元にはIPアドレス「b.b.b.b」が記述される。パケットの送信先にはIPアドレス「a.a.a.a」が記述される。パケットは第2インターフェース32から送信される。コンテンツサーバ37はインターネット28経由で「ゼロウィンドウ」パケットを受信する。コンテンツサーバ37は「ゼロウィンドウ」パケットの受信に応じて「HTTPデータ」パケットの送信を中断する。
【0080】
リモートプロキシ44はIPアドレスの切り替えに基づきリンクの切り替えを実現する。リモートプロキシ44は「HTTPデータ」パケットの転送にあたってIPアドレスを変更する。すなわち、「HTTPデータ」パケットの送信先にはそれまでのIPアドレス「d.d.d.d」に代えてIPアドレス「f.f.f.f」が記述される。したがって、「HTTPデータ」パケットが第1インターフェース31から送信されると、「HTTPデータ」パケットは有線LANインターフェース15経由でローカルプロキシ43に受け取られる。こういった変更にあたって携帯電話インターフェース13のIPアドレス「d.d.d.d」は「識別タグ」に基づき特定される。
【0081】
続いてリモートプロキシ44は「切り替え完了メッセージ」パケットを生成する。リンクの切り替えの完了が通知される。このパケットの送信元にはIPアドレス「c.c.c.c」が記述される。パケットの送信先にはIPアドレス「f.f.f.f」が記述される。パケットは第1インターフェース31から送信される。ローカルプロキシ43は有線LANインターフェース15経由で「切り替え完了メッセージ」パケットを受信する。
【0082】
ローカルプロキシ43は「切り替え完了メッセージ」パケットの受信に応じて「ACK」パケットを生成する。このパケットの送信元にはIPアドレス「c.c.c.c」が記述される。パケットの送信先にはIPアドレス「f.f.f.f」が記述される。パケットは有線LANインターフェース15から送信される。リモートプロキシ44は第1インターフェース31経由で「ACK」パケットを受信する。
【0083】
続いてリモートプロキシ44はコンテンツサーバ37に向けて「ACK」パケットを転送する。この転送にあたってパケットの送信先にはIPアドレス「a.a.a.a」が記述される。パケットの送信元にはIPアドレス「b.b.b.b」が記述される。このパケットは第2インターフェース32から送信される。こうしてコンテンツサーバ37は「ACK」パケットを受信する。「ACK」パケットの受信に応じてコンテンツサーバ37は「HTTPデータ」パケットの送信を再開する。
【0084】
いま、例えばHTTPデータのダウンロード中に有線LANインターフェース15からケーブル23が抜かれた場面を想定する。図11に示されるように、ブラウザ45はローカルプロキシ43に向けて「DUP ACK」パケットを送信する。その後、ローカルプロキシ43は前述の「障害の発生」を実施する。すなわち、「DUP ACK」パケットの受信に応じてローカルプロキシ43はブラウザ45に向けて「ACK」パケットを返信する。このとき、「ACK」パケットにデータは組み込まれない。こうした「ACK」パケットの受信に応じてブラウザ45ではリクエストタイムアウトの発生は回避される。ブラウザ45の処理動作は維持される。
【0085】
同時に、リモートプロキシ44では送信済みの「HTTPデータ」パケットに対して「ACK」パケットの受領が阻害される。「HTTPデータ」パケットはバッファに蓄積していく。バッファが溢れると、リモートプロキシ44は「ゼロウィンドウ」パケットを生成する。このパケットの送信元にはIPアドレス「b.b.b.b」が記述される。パケットの送信先にはIPアドレス「a.a.a.a」が記述される。パケットは第2インターフェース32から送信される。コンテンツサーバ37はインターネット28経由で「ゼロウィンドウ」パケットを受信する。コンテンツサーバ37は「ゼロウィンドウ」パケットの受信に応じて「HTTPデータ」パケットの送信を中断する。
【0086】
前述の「ACK」パケットを送信すると、ローカルプロキシ43は「切り替えトリガ」パケットを生成する。このパケットには、有線LANインターフェース15に基づくリンクに割り当てられた「識別タグ」が記述される。このパケットの送信元にはIPアドレス「d.d.d.d」が記述される。パケットの送信先にはIPアドレス「c.c.c.c」が記述される。パケットは携帯電話インターフェース13から送信される。
【0087】
リモートプロキシ44は第1インターフェース31経由で「切り替えトリガ」パケットを受信する。リモートプロキシ44は「切り替えトリガ」パケットの受信に応じて前述と同様にリンクの切り替えを実施する。同時に、リモートプロキシ44は「ACK」パケットを生成する。このパケットの送信元にはIPアドレス「c.c.c.c」が記述される。パケットの送信先にはIPアドレス「d.d.d.d」が記述される。パケットは第1インターフェース31から送信される。ローカルプロキシ43は携帯電話インターフェース13経由で「ACK」パケットを受信する。「ACK」パケットの送信と同時にリモートプロキシ44は前述と同様にリンクの切り替えを実現する。
【0088】
続いてリモートプロキシ44は「切り替え完了メッセージ」パケットを生成する。リンクの切り替えの完了が通知される。パケットは第1インターフェース31から送信される。ローカルプロキシ43は携帯電話インターフェース13経由で「切り替え完了メッセージ」パケットを受信する。ローカルプロキシ43は「切り替え完了メッセージ」パケットの受信に応じて「ACK」パケットを生成する。パケットは携帯電話インターフェース13から送信される。リモートプロキシ44は第1インターフェース31経由で「ACK」パケットを受信する。
【0089】
リモートプロキシ44はリンクの切り替えにあたってバッファ内の「HTTPデータ」パケットで送信先のIPアドレスを変更する。こうしてバッファ内の「HTTPデータ」パケットはリモートプロキシ44から送り出される。パケットの送信元にはIPアドレス「c.c.c.c」が記述される。パケットの送信先にはIPアドレス「f.f.f.f」が記述される。ローカルプロキシ43は携帯電話インターフェース13経由で「HTTPデータ」パケットを受信する。続いてローカルプロキシ43はローカルインターフェース47経由でブラウザ45に「HTTPデータ」パケットを受け渡す。こうしてブラウザ45は「HTTPデータ」パケットに基づき表示装置(図示されず)の画面上にHTTPデータを表示する。
【0090】
こうして「HTTPデータ」パケットがブラウザ45に到着すると、ブラウザ45は「ACK」パケット(図示されず)を生成する。「ACK」パケットはローカルインターフェース47経由でローカルプロキシ43に受け渡される。ローカルプロキシ43はリモートプロキシ44に向けて「ACK」パケットを転送する。このとき、パケットの送信元にはIPアドレス「f.f.f.f」が記述される。パケットの送信先にはIPアドレス「c.c.c.c」が記述される。パケットは携帯電話インターフェース13から送り出される。リモートプロキシ44は第1インターフェース31経由で「ACK」パケットを受信する。受信と同時にリモートプロキシ44はバッファから対応の「HTTPデータ」パケットを消去する。同時に、「ACK」パケットはコンテンツサーバ37に転送される。コンテンツサーバ37は「ACK」パケットの受信に応じて「HTTPデータ」パケットの送信を再開する。
【0091】
こうして携帯電話インターフェース13経由のリンクが有線LANインターフェース15経由のリンクに切り替えられる際や、反対に有線LANインターフェース15経由のリンクが携帯電話インターフェース13経由のリンクに切り替えられる際に、ローカルプロキシ43およびリモートプロキシ44の間で処理は完結する。ブラウザ45およびローカルインターフェース47の間で接続に変更は加えられない。同様に、リモートプロキシ44およびコンテンツサーバ37の間で接続に変更は加えられない。ブラウザ45やコンテンツサーバ37はリンクの切り替えを認識することはない。すなわち、ブラウザ45やコンテンツサーバ37ではソフトウェアプログラムに変更が加えられる必要はない。リンクは継ぎ目なく切り替えられる。しかも、ローカルプロキシ43の実現にあたって通信端末装置12にはTPC層よりも上位層でソフトウェアが導入されればよい。IP層に変更は加えられない。通信端末装置12のユーザは比較的に簡単に通信端末装置12にローカルプロキシ43を組み込むことができる。
【0092】
なお、通信端末装置12には、いわゆるノートブックパーソナルコンピュータのほか、PDA(携帯情報端末)、携帯電話端末、無線LAN端末その他の電子機器が含まれることができる。
【図面の簡単な説明】
【0093】
【図1】本発明の一実施形態に係るシームレスアクセス通信システムのハードウェア構成を概略的に示すブロック図である。
【図2】シームレスアクセス通信システムのソフトウェア構成を概略的に示すブロック図である。
【図3】ローカルプロキシの処理手順を概略的に示すフローチャートである。
【図4】「新規接続」の処理手順を概略的に示すフローチャートである。
【図5】「新たなリンクの確立」の処理手順を概略的に示すフローチャートである。
【図6】「リンクの切り替え」の処理手順を概略的に示すフローチャートである。
【図7】「障害の発生」の処理手順を概略的に示すフローチャートである。
【図8】リモートプロキシの処理手順を概略的に示すフローチャートである。
【図9】携帯電話ネットワーク経由で通信端末とコンテンツサーバとの間にリンクが確立される際にシームレスアクセス通信システムでパケットのやり取りを示すシーケンス図である。
【図10】新たに有線LANネットワーク経由で通信端末とコンテンツサーバとの間にリンクが確立される際にシームレスアクセス通信システムでパケットのやり取りを示すシーケンス図である。
【図11】有線LANネットワーク経由のリンクの障害に基づき有線LANネットワーク経由から携帯電話ネットワーク経由にリンクが切り替えられる際にシームレスアクセス通信システムでパケットのやり取りを示すシーケンス図である。
【符号の説明】
【0094】
12 通信端末装置、13 第2および第3ネットワークとして機能する携帯電話インターフェース、14 第2および第3ネットワークとして機能する無線LANインターフェース、15 第2および第3ネットワークとして機能する有線LANインターフェース、16 制御部およびパケット生成部として機能するCPU(中央演算処理装置)、28 第2ネットワークおよび第3ネットワーク(インターネット)、29 リモートプロキシサーバ装置、34 第1通信部および第2通信部並びに制御部として機能するCPU、36 記憶部として機能するストレージ、43 制御部として機能するローカルプロキシ、44 制御部として機能するリモートプロキシ、47 第1インターフェースとして機能するローカルインターフェース。

【特許請求の範囲】
【請求項1】
第1IPアドレスで第1ネットワークに接続される第1インターフェースと、第2IPアドレスで第2ネットワークに接続され、第1および第2IPアドレスに基づき第1ネットワークに第2ネットワークを接続する第2インターフェースと、第3IPアドレスで第3ネットワークに接続され、第1および第3IPアドレスに基づき第1ネットワークに第3ネットワークを接続する第3インターフェースと、第2IPアドレスから第3IPアドレスへの切り替えに基づき、第1および第2ネットワーク間の通信を第1および第3ネットワーク間の通信に切り替える制御部とを備えることを特徴とする通信端末装置。
【請求項2】
請求項1に記載の通信端末装置において、前記制御部は、第1および第2ネットワーク間の接続の確立にあたって当該接続を特定する識別タグの発行を要求するパケットを生成するとともに、第1および第3ネットワーク間の接続の確立にあたって当該識別タグを含むパケットを生成するパケット生成部を備えることを特徴とする通信端末装置。
【請求項3】
第1IPアドレスで第1ネットワークに接続される第1インターフェースに基づき第1ネットワークとの間で接続を確立する手順と、第2IPアドレスで第2ネットワークに接続される第2インターフェースに基づき、第1ネットワークに第2ネットワークを接続する手順と、第3IPアドレスで第3ネットワークに接続される第3インターフェースに基づき、第1ネットワークに第3ネットワークを接続する手順と、第1および第2IPアドレスに基づき確立される通信を第1および第3IPアドレスに基づき確立される通信に切り替える手順とを備えることを特徴とする通信端末装置の制御方法。
【請求項4】
第1ネットワークに固有の第1IPアドレス、および、第2ネットワークに固有の第2IPアドレスに基づき、第1ネットワークに第2ネットワークを接続する手順と、第1および第2ネットワーク間の接続を特定する識別タグの発行を要求するパケットを第2ネットワークに向けて送信する手順と、識別タグを含むパケットを第2ネットワークから受信する手順と、第1IPアドレス、および、第3ネットワークに固有の第3IPアドレスに基づき、第1ネットワークに第3ネットワークを接続する手順と、受け取った識別タグに関連付けつつ第1および第3ネットワーク間の接続を特定するパケットを第2ネットワークに向けて送信する手順とをプロセッサに実行させることを特徴とする通信制御ソフトウェアプログラム。
【請求項5】
所定の通信端末装置に割り当てられる第1IPアドレスに基づき接続を確立する第1通信部と、同通信端末装置に割り当てられる第2IPアドレスに基づき接続を確立する第2通信部と、通信切り替えの依頼を通知するパケットを第2IPアドレスから受信すると、第1IPアドレスに基づく通信を第2IPアドレスに基づく通信に切り替える制御部とを備えることを特徴とするリモートプロキシサーバ装置。
【請求項6】
請求項5に記載のリモートプロキシサーバ装置において、前記接続の確立にあたって当該接続を特定する識別タグを格納する記憶部をさらに備えることを特徴とするリモートプロキシサーバ装置。
【請求項7】
所定の通信端末装置に割り当てられる第1IPアドレスに基づき接続を確立する手順と、同通信端末装置に割り当てられる第2IPアドレスに基づき接続を確立する手順と、通信切り替えの依頼を通知するパケットを第2IPアドレスから受信すると、第1IPアドレスに基づく通信を第2IPアドレスに基づく通信に切り替える手順とを備えることを特徴とするリモートプロキシサーバ装置の制御方法。
【請求項8】
請求項7に記載のリモートプロキシサーバ装置の制御方法において、第1IPアドレスの通信装置から送信される識別タグ要求信号を受信する手順と、第1IPアドレスに関連付けて、第1IPアドレスの通信装置との接続を特定する識別タグを記憶部に登録する手順と、第2IPアドレスの通信装置から送信されるパケットから識別タグを抽出する手順と、抽出された識別タグに関連付けて第2IPアドレスを記憶部に登録する手順とをさらに備えることを特徴とするリモートプロキシサーバ装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2007−336335(P2007−336335A)
【公開日】平成19年12月27日(2007.12.27)
【国際特許分類】
【出願番号】特願2006−167236(P2006−167236)
【出願日】平成18年6月16日(2006.6.16)
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
【Fターム(参考)】