(57)【要約】【課題】実アドレスの通信に変化が生じても、情報処理部（例えばアプリケーション等）による通信を維持可能な情報通信装置を提供する。【解決手段】仮想アドレスを用いて通信データに関する送信要求を行う情報処理部１１、仮想アドレスと実アドレスを対応付けるアドレス対応情報が記憶されるアドレス対応情報記憶部１２、実アドレス変化検出部１３が検出した実アドレスの変化に応じてアドレス対応情報を更新するアドレス更新部１４、通信データを用いて仮想通信データを構成し、仮想アドレスに対応する実アドレスをアドレス対応情報から取得し、その実アドレスを用いた仮想通信データに関する通信データ処理を行う仮想通信処理部１５、仮想通信データと実アドレスとを用いた通信処理を行う通信処理部１６を備え、仮想通信処理部１５は、実アドレスの変化が検出されても通信データ処理を継続する。【選択図】図１
2008098813.tif 000002
【特許請求の範囲】
【請求項１】
仮想アドレスを用いて通信データに関する送信要求を行う情報処理部と、
送信に使用する仮想アドレスと送信に使用する実アドレスとを対応付けて有する情報である１以上のアドレス対応情報が記憶されるアドレス対応情報記憶部と、
送信に使用する実アドレスの変化を検出する実アドレス変化検出部と、
前記実アドレス変化検出部が実アドレスの変化を検出した場合に、当該変化に応じて前記アドレス対応情報記憶部で記憶されているアドレス対応情報を更新するアドレス更新部と、
前記情報処理部からの送信要求に基づき、前記情報処理部から受け付けた通信データを用いて仮想通信データを構成し、前記情報処理部から受け付けた仮想アドレスに対応する実アドレスを前記アドレス対応情報から取得し、当該実アドレスを用いた仮想通信データに関する通信データ処理を行う仮想通信処理部と、
前記仮想通信処理部から仮想通信データと実アドレスとを受け付け、当該仮想通信データと実アドレスとを用いた通信処理を行う通信処理部と、を備え、
前記仮想通信処理部は、前記実アドレス変化検出部が実アドレスの変化を検出した場合でも、前記通信データ処理を継続する、情報通信装置。
【請求項２】
前記通信処理部は、前記情報通信装置の実アドレスを保持しており、
前記実アドレス変化検出部は、前記情報通信装置の実アドレスの変化を検出する、請求項１記載の情報通信装置。
【請求項３】
前記実アドレス変化検出部は、通信先の装置が保持している実アドレスの変化を検出する、請求項１または請求項２記載の情報通信装置。
【請求項４】
前記実アドレス変化検出部は、通信先の装置を特定する情報である特定情報に対応付けられている実アドレスの変化を検出する、請求項３記載の情報通信装置。
【請求項５】
前記仮想通信処理部は、前記情報処理部から受け付けた仮想アドレスと、通信データとを含む仮想通信データを構成する、請求項１から請求項４のいずれか記載の情報通信装置。
【請求項６】
前記仮想通信処理部は、前記情報処理部から受け付けた通信データを含み、仮想アドレスを含まない仮想通信データを構成する、請求項１から請求項４のいずれか記載の情報通信装置。
【請求項７】
実アドレスを用いた通信が切断された場合に、通信先との実アドレスを用いた通信を確立する通信再確立部をさらに備えた、請求項１から請求項６のいずれか記載の情報通信装置。
【請求項８】
前記通信再確立部は、実アドレスを用いた通信が切断される前に通信していた通信先の装置を特定する情報である特定情報で特定される装置との通信を確立する、請求項７記載の情報通信装置。
【請求項９】
前記実アドレス変化検出部は、実アドレスの変化を検出した場合に、実アドレスの変化を検出した旨を前記通信処理部に通知する、請求項１から請求項８のいずれか記載の情報通信装置。
【請求項１０】
前記実アドレス変化検出部は、実アドレスの変化を検出した場合に、実アドレスの変化を検出した旨を前記仮想通信処理部に通知する、請求項１から請求項９のいずれか記載の情報通信装置。
【請求項１１】
仮想アドレスを用いて通信データに関する送信要求を行う情報処理ステップと、
送信に使用する実アドレスの変化を検出する実アドレス変化検出ステップと、
前記実アドレス変化検出ステップで実アドレスの変化を検出した場合に、当該変化に応じて、送信に使用する仮想アドレスと送信に使用する実アドレスとを対応付けて有する情報である１以上のアドレス対応情報が記憶されるアドレス対応情報記憶部で記憶されているアドレス対応情報を更新するアドレス更新ステップと、
前記情報処理ステップでの送信要求に基づき、前記通信データを用いて仮想通信データを構成し、前記情報処理ステップでの送信要求に用いられた仮想アドレスに対応する実アドレスを前記アドレス対応情報から取得し、当該実アドレスを用いた仮想通信データに関する通信データ処理を行う仮想通信処理ステップと、
前記仮想通信処理ステップで構成された仮想通信データと、前記仮想通信処理ステップで取得された実アドレスとを受け付け、当該仮想通信データと実アドレスとを用いた通信処理を行う通信処理ステップと、を備え、
前記仮想通信処理ステップでは、前記実アドレス変化検出ステップで実アドレスの変化を検出した場合でも、前記通信データ処理を継続する、情報通信方法。
【請求項１２】
コンピュータに、
仮想アドレスを用いて通信データに関する送信要求を行う情報処理ステップと、
送信に使用する実アドレスの変化を検出する実アドレス変化検出ステップと、
前記実アドレス変化検出ステップで実アドレスの変化を検出した場合に、当該変化に応じて、送信に使用する仮想アドレスと送信に使用する実アドレスとを対応付けて有する情報である１以上のアドレス対応情報が記憶されるアドレス対応情報記憶部で記憶されているアドレス対応情報を更新するアドレス更新ステップと、
前記情報処理ステップでの送信要求に基づき、前記通信データを用いて仮想通信データを構成し、前記情報処理ステップでの送信要求に用いられた仮想アドレスに対応する実アドレスを前記アドレス対応情報から取得し、当該実アドレスを用いた仮想通信データに関する通信データ処理を行う仮想通信処理ステップと、
前記仮想通信処理ステップで構成された仮想通信データと、前記仮想通信処理ステップで取得された実アドレスとを受け付け、当該仮想通信データと実アドレスとを用いた通信処理を行う通信処理ステップと、を実行させ、
前記仮想通信処理ステップでは、前記実アドレス変化検出ステップで実アドレスの変化を検出した場合でも、前記通信データ処理を継続する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、他の装置等と通信を行う情報通信装置等に関する。
【背景技術】
【０００２】
例えば、無線通信において通信可能領域の外に情報通信装置が出てしまうことや、情報通信装置がトンネル等に入ってしまうこと、有線通信において情報通信装置に接続されている通信ケーブルが外れたことなどの物理層での断線が起こることにより、通信が切断されることがある。また、有線の通信回線から無線の通信回線に切り替えることなどにより、通信が一時的に切断されることがある。また、情報通信装置にアドレスを提供している通信事業者が、セキュリティー等の理由によって、その提供している情報通信装置のアドレスを変更することにより、通信が一時的に切断されることがある。また、情報通信装置がＮＡＴ機能を有する通信装置を介して通信を行っている場合に、種々の理由により、そのＮＡＴ機能を有する通信装置のＷＡＮ側のポート番号が変更される場合もある。また、これら以外の理由によっても、情報通信装置のアドレスが変更されたり、あるいは、情報通信装置の通信が切断されたりすることが起こりうる。
【０００３】
それらの原因等により設定されているＩＰアドレスやポート番号等が変更されること、または、設定されているＩＰアドレスやポート番号等を用いた通信が切断されることが発生すると、一般にアプリケーション層での通信を維持することができなくなる。なぜなら、ネットワークインターフェース層等の下位層で通信が切断されると、アプリケーション層での通信も切断されるためである。したがって、そのような場合には、アプリケーションに特別な設定がない限り、ネットワークインターフェース層等の下位層で通信が再度確立された後に、アプリケーション層における通信開始の指示をはじめからやり直さなければならない。例えば、あるアプリケーションが他の装置にファイルを送信している途中で通信が切断された場合には、そのファイルを再度送信する指示をはじめから行うことになる。
【０００４】
なお、ＩＰアドレスが変更されても通信を維持することができる技術として、モバイルＩＰが開発されている。モバイルＩＰでは、接続しているネットワークの変更に伴ってＩＰアドレスが変わったとしても、移動通信端末は、ホームエージェント、フォーリンエージェント等を介することにより、通信相手と継続した通信を行うことができる。
【０００５】
また、関連する技術として、上位セッションの活性状態を維持した状態において、下位レイアの開放や再接続を行う通信方式であるドーマント方式が知られている（例えば、特許文献１参照）。
【特許文献１】特開２００４−１３５１３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述のように、ネットワークインターフェース層等の下位層での通信が切断されると、ネットワークインターフェース層等の下位層での通信の切断に対する対応がなされていない汎用のアプリケーション等は通信を維持することができないという問題があった。そのため、その汎用のアプリケーション等が通信を行っている場合には、ネットワークインターフェース層等の下位層での通信の再開後に、そのアプリケーション等は通信を開始する処理を実行しなければならず、その処理のための余分な時間が必要であった。また、その通信の切断によって、それまでの通信が無駄になってしまうという問題もあった。
【０００７】
また、モバイルＩＰでは、ネットワークの負荷の増大、パケットの伝達遅延の発生、ホームエージェントの負荷の増大等の問題があった。さらに、各ネットワークがモバイルＩＰに対応していなければならないため、モバイルＩＰに対応していないネットワークに接続されている端末装置では利用できないという問題があった。また、たとえモバイルＩＰに対応した移動通信端末であったとしても、ネットワークインターフェース層等の下位層で通信が一時的に切断されると、アプリケーション層での通信も切断されてしまうという問題があった。
また、ドーマント方式では、ＩＰアドレス等のアドレスが変更される場合に通信を維持することができないという問題があった。
【０００８】
本発明は、上記問題点を解決するためになされたものであり、実アドレスを用いた通信に変化が生じたとしても、情報処理部（例えば、アプリケーション等）の通信を維持することが可能な情報通信装置等を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明による情報通信装置は、仮想アドレスを用いて通信データに関する送信要求を行う情報処理部と、送信に使用する仮想アドレスと送信に使用する実アドレスとを対応付けて有する情報である１以上のアドレス対応情報が記憶されるアドレス対応情報記憶部と、送信に使用する実アドレスの変化を検出する実アドレス変化検出部と、前記実アドレス変化検出部が実アドレスの変化を検出した場合に、当該変化に応じて前記アドレス対応情報記憶部で記憶されているアドレス対応情報を更新するアドレス更新部と、前記情報処理部からの送信要求に基づき、前記情報処理部から受け付けた通信データを用いて仮想通信データを構成し、前記情報処理部から受け付けた仮想アドレスに対応する実アドレスを前記アドレス対応情報から取得し、当該実アドレスを用いた仮想通信データに関する通信データ処理を行う仮想通信処理部と、前記仮想通信処理部から仮想通信データと実アドレスとを受け付け、当該仮想通信データと実アドレスとを用いた通信処理を行う通信処理部と、を備え、前記仮想通信処理部は、前記実アドレス変化検出部が実アドレスの変化を検出した場合でも、前記通信データ処理を継続する、ものである。
【００１０】
このような構成により、実アドレスを用いた通信に変化が生じたとしても、仮想アドレスを用いた通信を維持することができうる。したがって、たとえ実アドレスが変更された場合であっても、仮想アドレスを用いた通信を維持することができるため、変更後の実アドレスによる通信が再開された際に、通信を開始する処理を実行することなくスムーズに仮想アドレスを用いた通信を行うことができる。また、実アドレスの変更前に行われていた通信内容を無駄にすることがないというメリットもある。
【００１１】
また、本発明による情報通信装置では、前記通信処理部は、前記情報通信装置の実アドレスを保持しており、前記実アドレス変化検出部は、前記情報通信装置の実アドレスの変化を検出してもよい。
このような構成により、情報通信装置の実アドレスの変化を検出することができる。
【００１２】
また、本発明による情報通信装置では、前記実アドレス変化検出部は、通信先の装置が保持している実アドレスの変化を検出してもよい。
このような構成により、情報通信装置の通信先の装置の実アドレスの変化を検出することができる。
【００１３】
また、本発明による情報通信装置では、前記実アドレス変化検出部は、通信先の装置を特定する情報である特定情報に対応付けられている実アドレスの変化を検出してもよい。
このような構成により、特定情報を用いることにより、通信先の装置を一意に特定することができうる。
【００１４】
また、本発明による情報通信装置では、前記仮想通信処理部は、前記情報処理部から受け付けた仮想アドレスと、通信データとを含む仮想通信データを構成してもよい。
【００１５】
このような構成により、仮想アドレスも通信先の装置に送信することができる。なお、仮想通信データは、例えば、ＩＰｓｅｃのトンネルモードの場合のように、通信データをペイロードに含み、仮想アドレスをヘッダに含むパケットであってもよい。
【００１６】
また、本発明による情報通信装置では、前記仮想通信処理部は、前記情報処理部から受け付けた通信データを含み、仮想アドレスを含まない仮想通信データを構成してもよい。
【００１７】
このような構成により、仮想アドレスを含まない情報が通信先の装置に送信されることになる。この場合には、例えば、情報通信装置から送信されるパケットは、ＩＰｓｅｃのトランスポートモードのパケットのようになる。
【００１８】
また、本発明による情報通信装置では、実アドレスを用いた通信が切断された場合に、通信先との実アドレスを用いた通信を確立する通信再確立部をさらに備えてもよい。
このような構成により、通信再確立部により、情報通信装置と、その通信先の装置との実アドレスを用いた通信を確立することができる。
【００１９】
また、本発明による情報通信装置では、前記通信再確立部は、実アドレスを用いた通信が切断される前に通信していた通信先の装置を特定する情報である特定情報で特定される装置との通信を確立してもよい。
【００２０】
このような構成により、特定情報で識別される通信先の装置との実アドレスの通信が切断された場合でも、その特定情報を用いることにより、その通信を再度、通信再確立部によって確立することができうる。
【００２１】
また、本発明による情報通信装置では、前記実アドレス変化検出部は、実アドレスの変化を検出した場合に、実アドレスの変化を検出した旨を前記通信処理部に通知してもよい。
【００２２】
また、本発明による情報通信装置では、前記実アドレス変化検出部は、実アドレスの変化を検出した場合に、実アドレスの変化を検出した旨を前記仮想通信処理部に通知してもよい。
【発明の効果】
【００２３】
本発明による情報通信装置等によれば、実アドレスを用いた通信に変化が生じたとしても、情報処理部の通信を維持することができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明による情報通信装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
【００２５】
（実施の形態１）
本発明の実施の形態１による情報通信装置について、図面を参照しながら説明する。
図１は、本実施の形態による情報通信装置１の構成を示すブロック図である。図１において、本実施の形態による情報通信装置１は、情報処理部１１と、アドレス対応情報記憶部１２と、実アドレス変化検出部１３と、アドレス更新部１４と、仮想通信処理部１５と
、通信処理部１６とを備える。
【００２６】
情報処理部１１は、仮想アドレスを用いて通信データに関する送信要求を行う。より具体的には、情報処理部１１は、送信したいデータである通信データと、その通信データを送信したい通信先に対応した仮想アドレスとを仮想通信処理部１５に渡し、その通信データを仮想アドレスに対応する通信先に送信する旨の要求を行う。仮想アドレスとは、実アドレスとは異なる仮想的なアドレスである。実アドレスとは、情報通信装置１から実際に送信されるパケットのヘッダで用いられるアドレスである。なお、情報処理部１１は、例えば、汎用のアプリケーション等によって実現されるが、その汎用のアプリケーション等は仮想アドレスを実アドレスと見なして送信要求を行ってもよい。情報処理部１１は、実アドレスと仮想アドレスの対応等を認識する必要はないからである。また、送信要求は、具体的なコマンドであってもよく、あるいは、仮想アドレスと通信データが渡されることによって、仮想通信処理部１５において送信要求があったと判断されてもよい。情報処理部１１は、情報通信装置１に送信されてきた通信データを仮想通信処理部１５から受け取ってもよい。
【００２７】
なお、仮想アドレスは、情報通信装置１に対して固定のアドレスではなく、変わりうるアドレスであってもよい。例えば、情報処理部１１が、通信先の装置Ａと動画の通信を行う場合に用いられる仮想アドレスと、情報処理部１１が、通信先の装置Ｂと音声の通信を行う場合に用いられる仮想アドレスとは、異なっていてもよい。
【００２８】
アドレス対応情報記憶部１２では、送信に使用する仮想アドレスと、送信に使用する実アドレスとを対応付けて有する情報である１以上のアドレス対応情報が記憶される。実アドレスとは、前述のように、情報通信装置１等の装置間の通信で実際に用いられるアドレスであり、例えば、情報通信装置１が送信するパケット、あるいは、情報通信装置１が受信するパケットのヘッダに含まれるアドレスである。実アドレス、仮想アドレスは、例えば、ＩＰアドレス、ポート番号、電話番号、ＩＥＥＥ１３９４のアドレス等のいずれかであってもよく、あるいは、それらの組み合わせであってもよい。なお、アドレス対応情報記憶部１２は、所定の記録媒体（例えば、半導体メモリや磁気ディスク、光ディスクなど）によって実現されうる。
【００２９】
実アドレス変化検出部１３は、送信に使用する実アドレスの変化を検出する。実アドレス変化検出部１３は、例えば、情報通信装置１の実アドレスの変化を検出してもよく、情報通信装置１の通信先の装置が保持している実アドレスの変化を検出してもよく、あるいは、その両方を検出してもよい。なお、実アドレスの変化とは、例えば、実アドレスがあるアドレスから別のアドレスに変更されたことであってもよく、実アドレスがなくなったことであってもよく、実アドレスが新たに設定されたことであってもよい。なお、結果として、実アドレスの変化を検出することができるのであれば、実アドレス変化検出部１３は、他のイベントの発生等を検出することにより、実アドレスの変化を検出してもよい。実アドレス変化検出部１３が実アドレスの変化を検出する具体的な方法については後述する。実アドレス変化検出部１３は、実アドレスの変化を検出した場合に、実アドレスの変化を検出した旨を後述する仮想通信処理部１５に通知してもよく、実アドレスの変化を検出した旨を後述する通信処理部１６に通知してもよい。
【００３０】
ここで、実アドレス変化検出部１３が実アドレスの変化を検出する方法について説明する。
（１）キープアライブパケットの通信エラーによる検出
例えば、情報通信装置１と、通信先の装置との間で、通信経路を維持するため等の理由により、反復してパケットが送信される場合がある。そのパケットのことを一般に、キープアライブ（Ｋｅｅｐ  Ａｌｉｖｅ）パケットと呼ぶ。そのキープアライブパケットは、
例えば、３０秒ごとに送信されてもよい。キープアライブパケットは、例えば、仮想通信処理部１５が送信してもよく、他の構成要素が送信してもよい。実アドレス変化検出部１３は、そのキープアライブパケットの通信が適切に行われなくなった場合に、情報通信装置１、あるいは通信先の装置の実アドレスが変化したことを検出してもよい。キープアライブパケットの通信が適切に行われなくなった場合とは、例えば、情報通信装置１から送信したキープアライブパケットについて通信エラーが発生した場合や、情報通信装置１から送信したキープアライブパケットに対して、そのキープアライブパケットを受信した旨のパケットを通信先の装置から受信しない場合、通信先の装置から反復して送信されていたキープアライブパケットを受信しなくなった場合などである。例えば、情報通信装置１が無線ネットワークの圏外に位置することになった場合には、キープアライブパケットを送信することができなくなる。キープアライブパケットを送信できなくなったことにより、実アドレス変化検出部１３は、情報通信装置１の実アドレスが変化したこと、すなわち、その実アドレスが使用できなくなったことを検出してもよい。また、例えば、情報通信装置１の通信先の装置の実アドレスが変化した場合には、キープアライブパケットが通信先の装置に到達しなくなる。そして、ＩＣＭＰ  Ｄｅｓｔｉｎａｔｉｏｎ  Ｕｎｒｅａｃｈａｂｌｅのパケットが返信されてくる。そのパケットを情報通信装置１が受信することによって、実アドレス変化検出部１３は、通信先の装置の実アドレスが変化したことを検出してもよい。本実施の形態では、キープアライブパケットの通信が適切に行われなくなったことによって実アドレスの変化が検出される場合について説明する。
【００３１】
なお、情報通信装置１の実アドレスが変更されたとしても、情報通信装置１から通信先の装置に送信されたキープアライブパケットが通信先の装置で適切に受信される場合もある。そのような場合には、実アドレス変化検出部１３は、実アドレスの変化を検出しなくてもよい。すなわち、実アドレス変化検出部１３が検出する実アドレスの変化は、情報通信装置１と通信先の装置との間の通信が切断される実アドレスの変化であってもよい。
【００３２】
（２）通信先の装置から実アドレスの変わった旨を受信することによる検出
情報通信装置１の通信先の装置の実アドレスが変化した場合に、その旨をその通信先の装置から直接、あるいは、サーバ等を介して受信することによって、実アドレス変化検出部１３は、通信先の装置の実アドレスが変化した旨を検出してもよい。また、情報通信装置１の実アドレスが変化しているにもかかわらず、情報通信装置１が送信されたパケットが通信先の装置において受信される場合もある。例えば、情報通信装置１と、通信先の装置との間にＮＡＴ等が存在しない場合などである。そのような場合に、通信先の装置において、情報通信装置１のアドレスが変化した旨が検出され、その検出結果が情報通信装置１に送信され、その検出結果によって、実アドレス変化検出部１３は、情報通信装置１の実アドレスの変化を検出してもよい。
【００３３】
（３）通信先の装置から送信されたパケットのソースアドレスの変化による検出
情報通信装置１の通信先の装置の実アドレスが変化しているにもかかわらず、その通信先の装置から送信されたパケットを情報通信装置１が受信することができる場合がある。例えば、情報通信装置１と、通信先の装置との間にＮＡＴ等が存在しない場合などである。そのような場合に、実アドレス変化検出部１３は、通信先の装置から送信されたパケットのソースアドレスが変化していることによって、通信先の装置の実アドレスの変化を検出してもよい。
【００３４】
（４）情報通信装置１に設定されている実アドレスを確認することによる検出
情報通信装置１の実アドレスは、例えば、後述する通信処理部１６のレジスタや環境変数等において設定されている。実アドレス変化検出部１３は、そのレジスタ等に設定されている実アドレスが変化したかどうかを確認し、変化していた場合に、情報通信装置１の実アドレスの変化を検出してもよい。そのレジスタ等に設定されている実アドレスが変化
したかどうかを確認するタイミングは問わない。例えば、定期的（例えば、１０秒ごとや、３０秒ごとなど）に確認してもよく、あるいは、所定のイベントの発生をトリガーとして確認してもよい。所定のイベントとは、例えば、情報通信装置１から情報が送信されなくなったことでもよく、ＤＨＣＰサーバによってリースされたアドレスのリース期間が終わったことであってもよく、その他であってもよい。
【００３５】
なお、実アドレス変化検出部１３が通信先の装置の実アドレスの変化を検出する場合に、通信先の装置を特定する情報である特定情報に対応付けられている実アドレスの変化を検出してもよい。なお、変化後の通信先の装置の実アドレスを取得する方法としては、例えば、特定情報と実アドレスとを対応付けて有するサーバ等に特定情報に対応する実アドレスを問い合わせ、その問い合わせに応じた回答によって変化後の通信先の装置の実アドレスを取得する方法や、通信先の装置から、変化後の通信先の装置の実アドレスと特定情報とを直接または間接に受け付ける方法等がある。ここで、通信先の装置を特定する情報である特定情報とは、例えば、装置を識別する装置ＩＤや、装置に対応付けられている電話番号、その装置のニックネーム等であってもよく、あるいは、情報通信装置１と通信先の装置との間でなされているトンネル通信を識別するトンネルＩＤ等であってもよい。例えば、特定情報がトンネルＩＤである場合には、所定のサーバ等において、そのトンネルＩＤと、装置とが対応付けられており、その対応付けによって、トンネルＩＤから装置を特定することができうる。
【００３６】
アドレス更新部１４は、実アドレス変化検出部１３が実アドレスの変化を検出した場合に、その変化に応じてアドレス対応情報記憶部１２で記憶されているアドレス対応情報を更新する。なお、このアドレス対応情報の更新は、実アドレス変化検出部１３が実アドレスの変化を検出したすべての場合に行われてもよく、あるいは、一部の場合に行われてもよい。前者としては、例えば、実アドレス変化検出部１３が通信先の装置の実アドレスの変化を検出する場合がある。後者としては、例えば、実アドレス変化検出部１３が情報通信装置１の実アドレスの変化と、通信先の装置の実アドレスの変化とを検出する場合がある。その場合には、実アドレス変化検出部１３が検出した通信先の装置の実アドレスの変化に応じてのみ、アドレス更新部１４は、アドレス対応情報を更新するようにしてもよい。
【００３７】
仮想通信処理部１５は、情報処理部１１からの送信要求に基づき、情報処理部１１から受け付けた通信データを用いて仮想通信データを構成する。また、仮想通信処理部１５は、情報処理部１１から受け付けた仮想アドレスに対応する実アドレスをアドレス対応情報から取得する。この実アドレスの取得は、アドレス対応情報記憶部１２で記憶されているアドレス対応情報を検索することによりなされる。仮想通信処理部１５は、その取得した実アドレスを用いた仮想通信データに関する通信データ処理を行う。この通信データ処理は、例えば、構成した仮想通信データと、取得した実アドレスとを後述する通信処理部１６に渡すことであってもよい。仮想通信処理部１５は、実アドレス変化検出部１３が実アドレスの変化を検出した場合でも、通信データ処理を継続する。仮想通信処理部１５が継続する通信データ処理は、例えば、情報処理部１１から通信データ等を受け付ける処理であってもよい。仮想通信処理部１５は、情報通信装置１に送信されてきたデータを通信処理部１６から受け取ってもよい。
【００３８】
仮想通信処理部１５は、情報処理部１１から受け付けた仮想アドレスと、通信データとを含む仮想通信データを構成してもよく、あるいは、情報処理部１１から受け付けた通信データを含み、仮想アドレスを含まない仮想通信データを構成してもよい。前者は、例えば、ＩＰｓｅｃにおけるトンネルモードであり、後者は、例えば、ＩＰｓｅｃにおけるトランスポートモードである。本実施の形態では、主に前者の場合について説明する。
【００３９】
また、仮想通信処理部１５は、実アドレス変化検出部１３から情報通信装置１の実アドレスが存在しなくなった旨を通知された場合には、その後に、新たな実アドレスが設定された旨を通知されるまで、仮想通信データを通信処理部１６に渡す処理を行わないようにしてもよい。また、仮想通信処理部１５は、実アドレス変化検出部１３から通信先の装置の実アドレスが存在しなくなった旨を通知された場合には、その後に、新たな実アドレスが設定された旨を通知されるまで、仮想通信データを通信処理部１６に渡す処理を行わないようにしてもよい。
【００４０】
さらに、仮想通信処理部１５は、実アドレスを用いた通信が切断された場合に、通信先との実アドレスを用いた通信を確立する。通信を確立するとは、情報通信装置１から送信された情報が通信先の装置で受信され、通信先の装置から送信された情報が情報通信装置１で受信される状態となることである。仮想通信処理部１５は、実アドレスを用いた通信が切断される前に通信していた通信先の装置を特定する情報である特定情報で特定される装置との通信を確立してもよい。このようにすることで、通信先の装置との通信が切断した場合であっても、通信の切断前に通信していた通信先の装置との通信を再度行うことができるようになる。ここで、特定情報は、前述の説明と同様のものである。
【００４１】
仮想通信処理部１５は、例えば、通信先の装置の実アドレスが変化したことにより実アドレスを用いた通信が切断された場合には、所定のサーバ装置に通信先の装置の新たな実アドレスを問い合わせ、その実アドレスを受け付けることにより、通信が確立されることになる。そのような場合において、仮想通信処理部１５が通信先の装置の変化後の実アドレスを取得する手段は問わない。２個の装置が通信を確立するための具体的な方法としては、例えば、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を用いた方法や、次の各文献に記載されている方法等を用いることができうる。情報通信装置１と通信先の装置との間にＮＡＴ（Ｎｅｔｗｏｒｋ  ａｄｄｒｅｓｓ  ｔｒａｎｓｌａｔｉｏｎ）機能を有する装置が存在する場合には、特に下記の各文献に記載されている方法が有効である。
【００４２】
文献１：Ｊ．Ｒｏｓｅｎｂｅｒｇ、Ｊ．Ｗｅｉｎｂｅｒｇｅｒ、Ｃ．Ｈｕｉｔｅｍａ、Ｒ．Ｍａｈｙ、「ＳＴＵＮ  −  Ｓｉｍｐｌｅ  Ｔｒａｖｅｒｓａｌ  ｏｆ  Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ（ＵＤＰ）  Ｔｈｒｏｕｇｈ  Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｏｒｓ（ＮＡＴｓ）」、２００３年３月、Ｎｅｔｗｏｒｋ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ  Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔｓ：３４８９、<ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ３４８９．ｔｘｔ>
文献２：特開２００４−１８０００３号公報
文献３：ＷＯ２００５／０４１５００号公報
文献４：ＷＯ２００５／０４６１４３号公報
【００４３】
なお、仮想通信処理部１５は、通信が切断された場合のみでなく、通信をはじめる場合にも、通信先の装置との通信を確立してもよい。通信を確立する通信先の装置は、例えば、情報通信装置１と同様の端末装置であってもよく、あるいは、ウェブサーバや、データベースサーバ、リレーサーバ等のサーバであってもよい。仮想通信処理部１５が確立する通信は、いわゆるＰ２Ｐ通信（ピアー・ツー・ピアー通信）と呼ばれる、サーバ等を介さないで端末装置間で行われる通信であってもよい。
【００４４】
通信処理部１６は、仮想通信処理部１５から仮想通信データと実アドレスとを受け付け、その仮想通信データと実アドレスとを用いた通信処理を行う。すなわち、通信処理部１６は、仮想通信処理部１５から受け付けた実アドレスを送信先として、仮想通信データを送信する処理を行う。具体的には、通信処理部１６は、仮想通信データをペイロードに含
み、仮想通信処理部１５から受け付けた実アドレスを送信先のアドレスとしてヘッダに含むパケットを構成して送信してもよい。通信処理部１６は、情報通信装置１に送信されてきたデータを受信してもよい。また、通信処理部１６は、情報通信装置１の実アドレスを保持していてもよい。その実アドレスの保持は、例えば、レジスタや環境変数、メインメモリ等においてなされていてもよい。
【００４５】
また、通信処理部１６は、実アドレス変化検出部１３から情報通信装置１の実アドレスが存在しなくなった旨を通知された場合には、その後に、新たな実アドレスが設定された旨を通知されるまで、仮想通信処理部１５から受け付けた仮想通信データに関する通信処理を行わないようにしてもよい。また、通信処理部１６は、実アドレス変化検出部１３から情報通信装置１の実アドレスが変更された旨を通知された場合には、その変更後の実アドレスが設定されているレジスタ等から、その変更後の実アドレスを読み出すようにしてもよい。
【００４６】
なお、通信処理部１６は、通信を行うための通信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、通信処理部１６と通信回線との間に図示しない通信デバイスが存在することとなる）。また、通信処理部１６は、ハードウェアによって実現されてもよく、あるいは通信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００４７】
次に、本実施の形態による情報通信装置１の動作について、図２のフローチャートを用いて説明する。なお、以下の説明において、情報の通信は、パケットを用いてなされるパケット通信であるとする。
【００４８】
（ステップＳ１０１）情報処理部１１は、データを送信するかどうか判断する。そして、送信する場合には、ステップＳ１０２に進み、そうでない場合には、ステップＳ１０３に進む。
【００４９】
（ステップＳ１０２）情報処理部１１、仮想通信処理部１５、通信処理部１６は、データの送信処理を行う。そして、ステップＳ１０１に戻る。なお、この送信処理については、図３のフローチャートを用いて後述する。
【００５０】
（ステップＳ１０３）通信処理部１６は、データを受信したかどうか判断する。そして、受信した場合には、ステップＳ１０４に進み、そうでない場合には、ステップＳ１０５に進む。
【００５１】
（ステップＳ１０４）通信処理部１６、仮想通信処理部１５、情報処理部１１は、データの受信処理を行う。この受信処理は、従来の受信処理と同様のものであるため、詳細な説明を省略する。そして、ステップＳ１０１に戻る。
【００５２】
（ステップＳ１０５）実アドレス変化検出部１３は、実アドレスの変化を検出したかどうか判断する。そして、実アドレスの変化を検出した場合には、ステップＳ１０６に進み、そうでなければ、ステップＳ１０１に戻る。
【００５３】
（ステップＳ１０６）アドレス更新部１４等は、実アドレスの変化に応じた処理を行う。そして、ステップＳ１０１に戻る。なお、この実アドレスの変化に応じた処理については、図４のフローチャートを用いて後述する。
なお、図２のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００５４】
図３は、図２のフローチャートにおけるステップＳ１０２の送信処理の詳細を示すフローチャートである。
（ステップＳ２０１）情報処理部１１は、通信対象のデータである通信データと、その通信データの送信先のアドレスである仮想アドレスとを仮想通信処理部１５に渡し、その通信データの送信要求を行う。
【００５５】
（ステップＳ２０２）仮想通信処理部１５は、情報処理部１１から受け付けた仮想アドレスに対応する実アドレスがアドレス対応情報記憶部１２で記憶されているアドレス対応情報に存在するかどうか判断する。そして、存在する場合には、ステップＳ２０３に進み、そうでない場合には、ステップＳ２０６に進む。
【００５６】
（ステップＳ２０３）仮想通信処理部１５は、情報処理部１１から受け付けた仮想アドレスに対応する実アドレスをアドレス対応情報記憶部１２で記憶されているアドレス対応情報から取得する。
（ステップＳ２０４）仮想通信処理部１５は、情報処理部１１から受け付けた通信データと仮想アドレスとを用いて仮想通信データを構成する。
【００５７】
（ステップＳ２０５）仮想通信処理部１５は、ステップＳ２０３で取得した実アドレスと、ステップＳ２０４で構成した仮想通信データとを通信処理部１６に渡す。この実アドレスが、仮想通信データの送信先のアドレスとなる。
【００５８】
（ステップＳ２０６）仮想通信処理部１５は、情報処理部１１から受け付けた通信データを破棄する。そして、一連の送信処理は終了となり、ステップＳ１０１に戻る。なお、その通信データを破棄した旨は、情報処理部１１には通知されない。したがって、情報処理部１１は、通信先との通信に関する処理を継続するものとする。
【００５９】
（ステップＳ２０７）通信処理部１６は、仮想通信処理部１５から受け付けた仮想通信データを送信することができるかどうか判断する。例えば、情報通信装置１の実アドレスが存在しない場合には、通信処理部１６は、仮想通信データを送信することができないと判断してもよい。そして、送信することができる場合には、ステップＳ２０８に進み、そうでない場合には、ステップＳ２１０に進む。
【００６０】
（ステップＳ２０８）通信処理部１６は、仮想通信処理部１５から受け付けた仮想通信データをペイロードに含み、仮想通信処理部１５から受け付けた実アドレスを送信先のアドレスとしてヘッダに含むパケットを構成する。
【００６１】
（ステップＳ２０９）通信処理部１６は、構成したパケットを有線または無線の通信回線を介して通信先の装置に送信する。そして、一連の送信処理は終了となり、ステップＳ１０１に戻る。
【００６２】
（ステップＳ２１０）通信処理部１６は、仮想通信データを破棄する。そして、一連の送信処理は終了となり、ステップＳ１０１に戻る。なお、その仮想通信データを破棄した旨は、情報処理部１１には通知されない。したがって、情報処理部１１は、通信先との通信に関する処理を継続するものとする。
【００６３】
なお、図３のフローチャートにおいて、実アドレスを取得する前に仮想通信データを構成してもよい。例えば、ステップＳ２０２の処理の前に、ステップＳ２０４の処理を行ってもよい。その場合には、仮想アドレスに対応する実アドレスが存在しないとすると（ステップＳ２０２でＮＯであるとすると）、その構成された仮想通信データそのものが破棄されることになる。
【００６４】
図４は、図２のフローチャートにおけるステップＳ１０６の実アドレスの変化に応じた処理の詳細を示すフローチャートである。
（ステップＳ３０１）仮想通信処理部１５は、切断された通信先の装置との通信を再開するために、通信を確立する処理を実行する。なお、この処理において、例えば、情報通信装置１の実アドレスが変化している場合には、その変化後の実アドレスを所定のサーバ等に登録する処理を実行してもよい。
【００６５】
（ステップＳ３０２）仮想通信処理部１５は、通信先の装置との通信を確立することができたかどうか判断する。そして、通信を確立することができた場合には、ステップＳ３０３に進み、そうでない場合には、ステップＳ３０５に進む。
【００６６】
（ステップＳ３０３）アドレス更新部１４は、仮想通信処理部１５が確立した通信における通信先の装置の実アドレスが、アドレス対応情報記憶部１２で記憶されているアドレス対応情報における通信先の装置の実アドレスと同じであるかどうか判断する。例えば、実アドレスに実ＩＰアドレスと、実ポート番号とが含まれる場合に、通信確立後の通信先の装置に対応する実ＩＰアドレスと、実ポート番号の少なくとも一方がアドレス対応情報のものと異なっていたとすると、アドレス更新部１４は、通信先の装置の実アドレスが変化していると判断することになる。そして、変化している場合には、ステップＳ３０４に進み、同じである場合には、実アドレスの変化に応じた一連の処理は終了となり、ステップＳ１０１に戻る。
【００６７】
（ステップＳ３０４）アドレス更新部１４は、アドレス対応情報における通信先の装置の実アドレスを変化後の実アドレスに更新する。そして、実アドレスの変化に応じた一連の処理は終了となり、ステップＳ１０１に戻る。
【００６８】
（ステップＳ３０５）実アドレス変化検出部１３は、情報通信装置１の実アドレスが存在するかどうか判断する。この判断は、例えば、通信処理部１６において保持されている実アドレスが存在するかどうかを確認することによってなされてもよい。そして、情報通信装置１の実アドレスが存在する場合には、ステップＳ３０６に進み、そうでない場合には、実アドレスの変化に応じた一連の処理は終了となり、ステップＳ１０１に戻る。
【００６９】
（ステップＳ３０６）アドレス更新部１４は、アドレス対応情報における通信先の装置の実アドレスを削除する。ステップＳ３０５の判断処理において、情報通信装置１の実アドレスが存在すると判断された場合には、通信を確立することができなかった理由が、通信先の装置の実アドレスが存在しなくなったからであると考えられるからである。そして、実アドレスの変化に応じた一連の処理は終了となり、ステップＳ１０１に戻る。
【００７０】
なお、図４のフローチャートにおいて、ステップＳ３０５の判断は、通信を確立することができなかった理由が、通信先の装置の実アドレスが存在しなくなったことであるのか、あるいは、情報通信装置１の実アドレスが存在しなくなったことであるのかを判断するために行われるものである。したがって、ステップＳ３０１の通信確立処理において通信が確立できなかった際に、どちらの理由によって通信を確立できなかったのかが通信確立処理において検出可能な場合には、その情報を用いて、ステップＳ３０５において、ステップＳ３０６に進むのか、あるいは、ステップＳ１０１に戻るのかを判断するようにしてもよい。
【００７１】
また、図４のフローチャートにおいて、ステップＳ３０２で確立できたと判断された場合に、ステップＳ３０３で通信先の実アドレスが変化したかどうかを確認することなく、ステップＳ３０４において、通信が確立できた通信先の実アドレスをアドレス対応情報に
上書きしてもよい。この場合において、通信先の実アドレスが変化していなかったときには、その上書きがなされても、アドレス対応情報は変化しないことになる。
【００７２】
ここで、本実施の形態による情報通信装置１における処理について、図５〜図７を用いて説明する。なお、この説明において、情報通信装置１と、その通信先の装置である情報通信装置２との間の実アドレスを用いた通信はすでに確立されているものとする。
【００７３】
図５で示されるように、情報通信装置１が通信先の情報通信装置２と通信を行うことができる場合には、情報処理部１１から仮想通信処理部１５に通信データが渡され、仮想通信処理部１５において仮想通信データが構成されて通信処理部１６に渡され、通信処理部１６からパケットが情報通信装置２に送信される。このようにして、情報通信装置１と、情報通信装置２との間の通信が行われることになる。
【００７４】
一方、情報通信装置１と、情報通信装置２との間の通信が何らかの理由によって切断された場合には、図６で示されるように、情報処理部１１から仮想通信処理部１５に通信データが渡されるが、その通信データが仮想通信処理部１５で破棄されることになる。または、情報処理部１１から仮想通信処理部１５に通信データが渡され、仮想通信データが仮想通信処理部１５で構成されて通信処理部１６に渡されるが、その仮想通信データが通信処理部１６で破棄されることになる。したがって、通信処理部１６から情報通信装置２にパケットが送信されることはない。ただし、仮想通信処理部１５が情報処理部１１から通信データを受け付ける処理を継続するため、情報処理部１１は、情報通信装置１と、情報通信装置２との間の通信が切断されることを知ることはなく、通信データ処理を継続することになる。そして、情報通信装置１と、情報通信装置２との間の通信が再開された場合には、図５で示されるように、通信データを含むパケットが情報通信装置１から送信されるようになり、通信の切断前に通信を行っていた通信先との通信を再開することができる。
【００７５】
図７は、アドレスの変化が検出された場合の処理について説明するための図である。実アドレス変化検出部１３が実アドレスの変化を検出した場合には、その検出に応じてアドレス対応情報が更新されることになる。一方、実アドレスの変化が検出された旨は、情報処理部１１には通知されない。また、実アドレスの変化が検出された旨が、通知（ａ）で示されるように、通信処理部１６に通知され、通信処理部１６から仮想通信処理部１５に通知されるように設定されていたとしても、仮想通信処理部１５から情報処理部１１には通知されない。また、実アドレスの変化が検出された旨が、通知（ｂ）で示されるように、仮想通信処理部１５に通知されるように設定されていたとしても、仮想通信処理部１５から情報処理部１１には通知されない。したがって、この実アドレスの変化によって情報通信装置１と通信先の装置との通信が切断された場合であっても、情報処理部１１は、前述のように、実アドレスが変化したことを知ることなく、通信データ処理を継続することになる。なお、通知（ｂ）で示されるように、実アドレスの変化が検出された旨が仮想通信処理部１５に通知されるように設定されている場合に、仮想通信処理部１５と共に、通信処理部１６にも通知されるように設定されていてもよい。
【００７６】
次に、本実施の形態による情報通信装置１の動作について、具体例を用いて説明する。図８で示されるように、この具体例において、情報通信装置１、情報通信装置２、通信確立サーバ３は、有線または無線の通信回線１００を介して互いに接続されているものとする。通信回線１００は、例えば、インターネットやイントラネット、公衆電話回線網等である。なお、情報通信装置２も情報通信装置１と同様の構成要素を備えているものとする。また、情報通信装置１と通信回線１００との間や、情報通信装置２と通信回線１００との間にＮＡＴ機能を有する通信装置やファイアウォール機能を有する通信装置が存在してもよい。
【００７７】
はじめに、情報通信装置１、２が、通信確立サーバ３に実アドレスを登録する処理について説明する。まず、情報通信装置１の仮想通信処理部１５は、情報通信装置１を特定する特定情報「Ｔ００１」と、実アドレスを登録する旨と、それらの情報を通信確立サーバ３に送信する旨の要求と、通信確立サーバ３のアドレスとを通信処理部１６に渡す。なお、仮想通信処理部１５は、通信確立サーバ３のアドレスをあらかじめ知っているものとする。また、情報通信装置１の特定情報「Ｔ００１」は、仮想通信処理部１５がアクセス可能な図示しない記録媒体において保持されているものとする。通信処理部１６は、それらの情報を受け取ると、特定情報「Ｔ００１」と、実アドレスを登録する旨とをペイロードに含むパケットを構成し、通信確立サーバ３に送信する。
【００７８】
情報通信装置１から送信されたパケットは、通信確立サーバ３で受信される。そして、通信確立サーバ３は、そのパケットのヘッダから送信元のＩＰアドレス「１１１．２２２．１０．１０」と、送信元のポート番号「１１２２３」とを取得する。このＩＰアドレスとポート番号が、情報通信装置１の実アドレスである。また、通信確立サーバ３は、そのパケットのペイロードから、情報通信装置１の特定情報「Ｔ００１」を取得する。そして、通信確立サーバ３では、情報通信装置１の特定情報と実アドレスとを対応付けて図示しない記録媒体に蓄積する。同様にして、情報通信装置２も通信確立サーバ３に実アドレスを登録する。なお、情報通信装置２の特定情報は「Ｔ００２」であるとする。
【００７９】
図９は、通信確立サーバ３において登録された実アドレスと特定情報との対応の一例を示す図である。なお、情報通信装置１、２と通信回線１００との間にＮＡＴ機能を有する通信装置が存在する場合には、その通信装置のＷＡＮ側の実アドレスが、通信確立サーバ３において登録されることになる。
【００８０】
次に、情報通信装置１と情報通信装置２との間での通信が開始されるまでの処理について説明する。なお、この具体例では、情報処理部１１が通信で用いる仮想ポート番号が、あらかじめ「１１１１１」に設定されているものとする。
【００８１】
まず、情報処理部１１は、特定情報「Ｔ００２」で特定される情報通信装置２との通信を確立する旨の指示を仮想通信処理部１５に渡す。なお、この特定情報「Ｔ００２」は、情報通信装置１のユーザによって情報通信装置１に入力されたものであってもよく、その他の方法によって情報通信装置１で受け付けられたものであってもよい。
【００８２】
仮想通信処理部１５は、その特定情報「Ｔ００２」と、その特定情報で特定される情報通信装置２と通信を開始したい旨とを含むパケットを、通信処理部１６を介して通信確立サーバ３に送信させる。すると、そのパケットは通信確立サーバ３で受信される。そして、通信確立サーバ３は、特定情報「Ｔ００２」に対応する実アドレスを取得する。また、情報通信装置１に対応する仮想ＩＰアドレス「１９２．１６８．０．１０」と、情報通信装置２に対応する仮想ＩＰアドレス「１９２．１６８．０．１」とを発行する。この仮想ＩＰアドレスの発行は、仮想アドレス用のＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバ等を用いて行われてもよい。
【００８３】
その後、通信確立サーバ３は、特定情報「Ｔ００２」で特定される情報通信装置２の実アドレスと、情報通信装置１に割り当てられた仮想ＩＰアドレスと、情報通信装置２に割り当てられた仮想ＩＰアドレスとを情報通信装置１に送信する。また同様に、通信確立サーバ３は、通信確立要求を行った情報通信装置１の実アドレスと、情報通信装置１に割り当てられた仮想ＩＰアドレスと、情報通信装置２に割り当てられた仮想ＩＰアドレスとを情報通信装置２に送信する。
【００８４】
情報通信装置１の通信処理部１６は、通信確立サーバ３から送信された情報通信装置２の実アドレスと、情報通信装置１に割り当てられた仮想ＩＰアドレスと、情報通信装置２に割り当てられた仮想ＩＰアドレスとを含むパケットを受信する。そして、そのパケットに含まれる、通信確立サーバ３から送信された情報通信装置２の実アドレスと、情報通信装置１に割り当てられた仮想ＩＰアドレスと、情報通信装置２に割り当てられた仮想ＩＰアドレスとは、仮想通信処理部１５に渡される。
【００８５】
仮想通信処理部１５は、情報通信装置２の仮想ＩＰアドレスを情報処理部１１に渡す。このようにして、情報処理部１１は、通信先の装置の仮想ＩＰアドレスを知ることができる。その仮想ＩＰアドレスは、例えば、図示しない記録媒体において保持されてもよい。また、仮想通信処理部１５は、情報通信装置２の実アドレスと、情報通信装置２の仮想ＩＰアドレスと、情報通信装置２の特定情報「Ｔ００２」とをアドレス更新部１４に渡す。すると、アドレス更新部１４は、その特定情報と、実アドレスと、仮想ＩＰアドレスとを対応付けてアドレス対応情報記憶部１２で記憶されているアドレス対応情報に蓄積する。図１０で示される１番目のレコードが、そのようにして蓄積されたアドレス対応情報である。
【００８６】
また、仮想通信処理部１５は、情報通信装置１の仮想ＩＰアドレスを仮想通信処理部１５に渡す。仮想通信処理部１５は、その仮想ＩＰアドレスを、情報通信装置１の仮想ＩＰアドレスとして保持する。これらの情報通信装置１で行われた処理と同様の処理が、情報通信装置２においても行われるものとする。
【００８７】
次に、情報通信装置１からパケットが送信されるまでの処理について説明する。まず、情報処理部１１が、データを送信すると判断したとする（ステップＳ１０１）。すると、情報処理部１１は、通信データと、その通信データの送信先である情報通信装置２の仮想ＩＰアドレス「１９２．１６８．０．１」と、情報通信装置２の仮想ポート番号「１１１１１」とを仮想通信処理部１５に渡す（ステップＳ２０１）。仮想通信処理部１５は、図１０で示されるアドレス対応情報を参照し、受け付けた仮想ＩＰアドレスに対応する実ＩＰアドレスと、実ポート番号とが存在するかどうか判断する（ステップＳ２０２）。この場合には、図１０の１番目のレコードが存在するため、仮想通信処理部１５は、受け付けた仮想アドレスに対応する実アドレスが存在すると判断し、その仮想アドレスに対応する実ＩＰアドレス「１９２．１６８．０．１０」と、実ポート番号「１２３４５」とを取得する（ステップＳ２０３）。また、仮想通信処理部１５は、受け付けた通信データをペイロードに含み、受け付けた情報通信装置２の仮想ＩＰアドレスと、仮想ポート番号とを通信先のアドレスとしてヘッダに含み、あらかじめ設定されている情報通信装置１の仮想ＩＰアドレス「１９２．１６８．０．１０」と、仮想ポート番号「１１１１１」とを通信元のアドレスとしてヘッダに含むパケットを構成する（ステップＳ２０４）。このパケットが仮想通信データである。図１１は、その仮想通信データの構造を示す図である。
【００８８】
仮想通信処理部１５は、構成した仮想通信データと、アドレス対応情報から取得した実アドレスとを通信処理部１６に渡す（ステップＳ２０５）。すると、通信処理部１６は、情報通信装置１の実アドレスが設定されている場合には、送信可能であると判断して（ステップＳ２０７）、仮想通信データをペイロードに含み、仮想通信処理部１５から受け付けた実アドレスを送信先の実アドレスとしてヘッダに含み、通信処理部１６に設定されている情報通信装置１の実アドレスを送信元の実アドレスとしてヘッダに含む送信パケットを構成する（ステップＳ２０８）。図１２は、その送信パケットの構造を示す図である。この場合には、送信パケットのペイロードに、仮想アドレスが含まれることになる。なお、この送信パケットは、例えば、ＥＳＰヘッダとＥＳＰトレーラとを用いることなどによって、ペイロードを暗号化してもよい。また、この送信パケットは、例えば、ＥＳＰ認証トレーラを用いることによって、認証を行うようにしてもよい。通信処理部１６は、その
送信パケットを送信する（ステップＳ２０９）。そのようにして送信された送信パケットは、情報通信装置２において受信される。
【００８９】
次に、送信パケットが情報通信装置２から情報通信装置１に送信された場合の送信パケットの受信処理について説明する。情報通信装置１の通信処理部１６が送信パケットを受信すると（ステップＳ１０３）、その送信パケットのペイロードに含まれる仮想通信データが仮想通信処理部１５に渡される。そして、仮想通信処理部１５は、その仮想通信データのパケットのペイロードに含まれる通信データを情報処理部１１に渡す。このようにして、受信処理が行われる（ステップＳ１０４）。なお、この受信処理は、パケットがカプセル化されている場合における一般的な受信処理（カプセル化の解除の処理）と同様であり、その詳細な説明を省略する。
【００９０】
次に、実アドレスの変化が検出された場合について説明する。実アドレスの変化として、（１）情報通信装置１の実アドレスがなくなった場合、（２）情報通信装置１の実アドレスが新たな実アドレスに変更された場合、（３）情報通信装置２の実アドレスがなくなった場合、（４）情報通信装置２の実アドレスが新たな実アドレスに変更された場合について説明する。なお、この具体例において、実アドレス変化検出部１３は、キープアライブパケットが適切に送信されなくなったことによって、実アドレスの変化、特に実アドレスがなくなったことや、実アドレスが新たな実アドレスに変更されたことを検出するものとする。一方、この具体例において、情報通信装置１の実アドレスがなくなった後に、情報通信装置１に対して新たな実アドレスが付与されたことの検出は、通信処理部１６において新たな実アドレスが設定を検出することによって行われるものとする。また、この具体例において、通信先の装置である情報通信装置２の実アドレスがなくなった後に、情報通信装置２に対して新たな実アドレスが付与されたことの検出は、情報通信装置２から通信を確立するための処理が行われることを検出することによって行われるものとする。
【００９１】
（１）情報通信装置１の実アドレスがなくなった場合
例えば、情報通信装置１が無線通信を行っており、情報通信装置１が、その無線通信のアクセスポイントの圏外に出てしまった場合には、情報通信装置１に設定されている実アドレスが開放されてしまうことにより、情報通信装置１の実アドレスがなくなってしまうことになる。または、情報通信装置１には実アドレスが設定されたままであるが、その実アドレスを用いた通信を行うことができなくなることにより、実質的に、情報通信装置１の実アドレスがなくなってしまうことになる（この場合も、「実アドレスがなくなった」と呼ぶことにする）。そのように、情報通信装置１の実アドレスがなくなった場合には、仮想通信処理部１５が反復して送信しているキープアライブパケットを送信することができなくなる。すると、実アドレス変化検出部１３は、キープアライブパケットの送信にエラーが発生したことから、実アドレスの変化を検出する（ステップＳ１０５）。なお、どの通信先の装置との通信にエラーが発生したのかについては、例えば、キープアライブパケットに通信先の装置の特定情報が含まれる場合には、その特定情報を用いて判断してもよく、あるいは、キープアライブパケットの送信先の実アドレスに対応する特定情報をアドレス対応情報から取得し、その取得した特定情報を用いて判断してもよい。そして、仮想通信処理部１５に実アドレスが変化した旨を渡す。すると、仮想通信処理部１５は、それまでに通信を行っていた情報通信装置２との通信を確立する処理を実行する（ステップＳ３０１）。ただし、この場合には、情報通信装置１の実アドレスがなくなっているため、その通信を確立する処理を実行することもできない。したがって、仮想通信処理部１５は、通信を確立することができないと判断する（ステップＳ３０２）。そして、実アドレス変化検出部１３は、通信処理部１６において保持されている実アドレスが存在するかどうか確認し、この場合には、存在しないと判断する（ステップＳ３０５）。
【００９２】
この後に、情報処理部１１がデータを送信すると判断した場合に（ステップＳ１０１）
、情報処理部１１から仮想アドレス等が仮想通信処理部１５に渡され、仮想通信データが構成され、その仮想通信データ等が通信処理部１６に渡されるが（ステップＳ２０１〜Ｓ２０５）、情報通信装置１の実アドレスが存在しないため、通信可能でないと判断され（ステップＳ２０７）、仮想通信データは破棄される（ステップＳ２１０）。しかしながら、仮想通信処理部１５は、情報処理部１１から通信データを受け付ける処理を継続して行う。したがって、情報処理部１１は、情報通信装置１の実アドレスがなくなったことを認識することはない。
【００９３】
その後、例えば、情報通信装置１の実アドレスが再設定された場合には、実アドレス変化検出部１３は、そのことを検出し、情報通信装置２との通信を確立する処理を行うことによって情報通信装置２との通信が確立される（ステップＳ３０１，Ｓ３０２）。この場合には、情報通信装置２の実アドレスは変化していないため（ステップＳ３０３）、アドレス対応情報の更新は行われない。そして、情報通信装置１と情報通信装置２との間での通信が再開されることになる。なお、この場合であっても、情報通信装置１の仮想アドレスと、通信先の情報通信装置２の仮想アドレスは、実アドレスの変更前と変わらない。
【００９４】
（２）情報通信装置１の実アドレスが新たな実アドレスに変更された場合
例えば、情報通信装置１にプロバイダから付与されていた実アドレスが、新たな実アドレスに変更されたとする。そのような状況において、通信先の装置である情報通信装置２がＮＡＴ機能を有する通信装置を介して通信を行っている場合には、情報通信装置１から送信するキープアライブパケットが、そのＮＡＴ機能を有する通信装置を越えることができず、情報通信装置２に到達しないこともありうる。その場合には、キープアライブパケットの通信エラーが検出されることによって、実アドレスの変化が検出される（ステップＳ１０５）。
【００９５】
そして、実アドレス変化検出部１３は、仮想通信処理部１５に実アドレスが変化した旨を渡す。すると、仮想通信処理部１５は、それまでに通信を行っていた情報通信装置２との通信を確立する処理を実行する（ステップＳ３０１）。ただし、この場合には、情報通信装置１の実アドレスが変更されているため、仮想通信処理部１５は、通信確立サーバ３に登録されている情報通信装置１に対応する実アドレスを、新たな実アドレスに変更する処理も行う。そして、情報通信装置１と情報通信装置２との間での通信が確立されたとする（ステップＳ３０２）。なお、この場合であっても、情報通信装置１の仮想アドレスと、通信先の情報通信装置２の仮想アドレスは、実アドレスの変更前と変わらない。また、ここでは、仮想通信処理部１５が通信確立サーバ３に登録されている実アドレスを変更する処理を行うと説明したが、その登録されている実アドレスを変更する処理は、仮想通信処理部１５以外の構成要素によって行われてもよい。また、その登録されている実アドレスを変更する処理は、この時点で行われずに、後から行われてもよい。
【００９６】
アドレス更新部１４は、仮想通信処理部１５が確立した通信における情報通信装置２の実アドレスがアドレス対応情報で記憶されているものと同じであるかどうか判断する。この場合には、同じであると判断され（ステップＳ３０３）、アドレス対応情報を更新する処理は行われない。このようにして、情報通信装置１と情報通信装置２との間の仮想アドレスを用いた通信が継続されることになる。
【００９７】
（３）情報通信装置２の実アドレスがなくなった場合
情報通信装置２の実アドレスがなくなった場合には、仮想通信処理部１５が反復して送信しているキープアライブパケットが情報通信装置２に到達しなくなる。すると、実アドレス変化検出部１３は、キープアライブパケットの送信にエラーが発生したことから、実アドレスの変化を検出する（ステップＳ１０５）。そして、仮想通信処理部１５に実アドレスが変化した旨を渡す。すると、仮想通信処理部１５は、それまでに通信を行っていた
情報通信装置２との通信を確立する処理を実行する（ステップＳ３０１）。ただし、この場合には、情報通信装置２の実アドレスがなくなっているため、その通信を確立する処理を実行することもできない。したがって、仮想通信処理部１５は、通信を確立することができないと判断する（ステップＳ３０２）。そして、実アドレス変化検出部１３は、通信処理部１６において保持されている実アドレスが存在するかどうか確認し、この場合には、存在すると判断する（ステップＳ３０５）。したがって、アドレス更新部１４は、アドレス対応情報において、情報通信装置２の特定情報「Ｔ００２」に対応付けられている実アドレスが削除される（ステップＳ３０６）。その結果、アドレス対応情報は、図１３で示されるようになる。
【００９８】
この後に、情報処理部１１がデータを送信すると判断した場合に（ステップＳ１０１）、情報処理部１１から仮想アドレス等が仮想通信処理部１５に渡されるが（ステップＳ２０１）、情報通信装置２の実アドレスが存在しないため（ステップＳ２０２）、通信データは破棄される（ステップＳ２０６）。しかしながら、仮想通信処理部１５は、情報処理部１１から通信データを受け付ける処理を継続して行う。したがって、情報処理部１１は、情報通信装置２の実アドレスがなくなったことを認識することはない。
【００９９】
その後、情報通信装置２の実アドレスが設定され、情報通信装置２から通信を確立する旨の処理が実行されたとする。その処理の実行を実アドレス変化検出部１３が検出すると（ステップＳ１０５）、仮想通信処理部１５による通信確立処理が実行される（ステップＳ３０１）。この場合には、その通信が確立されたとする（ステップＳ３０２）。すると、アドレス更新部１４は、情報通信装置２の実アドレスを仮想通信処理部１５から受け取り、通信先の実アドレスが変化したと判断し（ステップＳ３０３）、その新たな実アドレスを情報通信装置２の特定情報「Ｔ００２」に対応付けてアドレス対応情報に蓄積する（ステップＳ３０４）。そして、情報通信装置１と情報通信装置２との間での通信が再開されることになる。なお、この場合であっても、情報通信装置１の仮想アドレスと、通信先の情報通信装置２の仮想アドレスは、実アドレスの変更前と変わらない。
【０１００】
（４）情報通信装置２の実アドレスが新たな実アドレスに変更された場合
例えば、情報通信装置２にプロバイダから付与されていた実アドレスが、新たな実アドレスに変更されたとする。すると、アドレス対応情報で示される情報通信装置２の実アドレスに送信されていたキープアライブパケットは、情報通信装置２に到達しなくなり、通信エラーが検出されることによって、実アドレスの変化が検出される（ステップＳ１０５）。
【０１０１】
そして、実アドレス変化検出部１３は、仮想通信処理部１５に実アドレスが変化した旨を渡す。すると、仮想通信処理部１５は、それまでに通信を行っていた情報通信装置２との通信を確立する処理を実行する（ステップＳ３０１）。そして、情報通信装置１と情報通信装置２との間での通信が確立されたとする（ステップＳ３０２）。なお、この場合であっても、情報通信装置１の仮想アドレスと、通信先の情報通信装置２の仮想アドレスは、実アドレスの変更前と変わらない。
【０１０２】
アドレス更新部１４は、仮想通信処理部１５が確立した通信における情報通信装置２の実アドレスがアドレス対応情報で記憶されているものと同じであるかどうか判断する。この場合には、異なっていると判断され（ステップＳ３０３）、情報通信装置２の実アドレスが新たな実アドレスに更新される（ステップＳ３０４）。このようにして、情報通信装置１と情報通信装置２との間の仮想アドレスを用いた通信が継続されることになる。
【０１０３】
この具体例では、例えば、情報処理部１１での処理がアプリケーション層での処理に対応し、仮想通信処理部１５での処理が仮想通信データ（カプセル化されるパケット）に関
するトランスポート層、ネットワーク層での各処理に対応し、通信処理部１６での処理が情報通信装置１から送信されるパケットに関するトランスポート層、ネットワーク層、データリンク層での各処理に対応する、と考えることができる。ここで、通信処理部１６での処理に物理層での処理が含まれてもよく、あるいは、通信処理部１６と通信回線との間に位置する図示しない構成要素が物理層での処理を実行してもよい。なお、この各構成要素と各階層との対応関係は一例であって、他の対応であってもよいことは言うまでもない。例えば、仮想通信処理部１５での処理が、仮想通信データに関するトランスポート層、ネットワーク層、データリンク層での各処理に対応してもよい。その場合には、例えば、仮想通信データはイーサネット（登録商標）ヘッダを含むものであってもよい。
【０１０４】
なお、この具体例では、各情報通信装置１、２以外のサーバにおいて、仮想ＩＰアドレスを決定する場合について説明したが、その他の方法によって仮想ＩＰアドレスを決定してもよい。例えば、ＷＯ／２００５／０７４２０８号公報で開示されている方法等を用いて、各情報通信装置１、２において仮想ＩＰアドレスを決定するようにしてもよい。
【０１０５】
また、この具体例では、情報処理部１１が通信データと通信先の仮想アドレスとを仮想通信処理部１５に渡すことによって、通信データに関する通信処理が行われる場合について説明したが、情報処理部１１は、ソケット通信として行ってもよいことは言うまでもない。
【０１０６】
また、この具体例では、アドレス対応情報に含まれる仮想アドレスが、仮想ＩＰアドレスである場合について説明したが、図１４で示されるように、仮想アドレスとして仮想ソケット番号を用いてもよい。この仮想ソケット番号は、別途、仮想ＩＰアドレスと仮想ポート番号とに対応付けられていることになる。また、アドレス対応情報に含まれる実アドレスが、ソケット番号であってもよい。
【０１０７】
また、この具体例では、仮想ポート番号があらかじめ決められている場合について説明したが、仮想ポート番号は、あらかじめ決められているものではなく、通信を行う際に、仮想通信処理部１５等によって決定されるものであってもよい。その場合には、情報処理部１１は、仮想通信処理部１５に仮想ポート番号を問い合わせることにより、あるいは、リフレクトサーバから送信されたパケットにより、その仮想ポート番号を知ることができうる。ここで、リフレクトサーバとは、情報処理部１１、仮想通信処理部１５、通信処理部１６を介して送信されたパケットのペイロードに含まれるパケットのヘッダから仮想ポート番号等を読み出し、その仮想ポート番号等をペイロードに含むパケットを構成し、その構成したパケットをペイロードに含む情報通信装置１への返信パケットを送信するサーバである。その返信パケットを情報通信装置１が受信し、その返信パケットのペイロードに含まれるパケットのペイロードが情報処理部１１に渡されることにより、情報処理部１１は、仮想ポート番号を知ることができうる。同様の方法によって、情報処理部１１は、仮想ＩＰアドレスについても知ることができうる。なお、その返信パケットのペイロードに含まれるパケットのヘッダのアドレスは、リフレクトサーバが情報通信装置１から受信したパケットのペイロードに含まれるパケットのヘッダのアドレスに対して返信するためのアドレスとなっているものとする。通常は、送信先アドレスと、送信元アドレスとを逆にしたアドレスとなる。また、このような場合には、情報処理部１１は、通信先の情報通信装置２で用いられる仮想ポート番号を、その通信先の情報通信装置２から受信するものとする。その仮想ポート番号は、情報通信装置２から情報通信装置１に直接送信されてもよく、あるいは、通信確立サーバ３等を介して送信されてもよい。あるいは、情報通信装置１が情報通信装置２の実アドレスを入手した場合のように、各情報通信装置１，２の仮想ポート番号が通信確立サーバ３で管理されており、その仮想ポート番号を情報通信装置１が取得してもよい。
【０１０８】
また、この具体例では、アドレス対応情報に含まれる仮想アドレスが、仮想ＩＰアドレスのみを含む場合について説明したが、仮想アドレスは、図１５で示されるように、仮想ＩＰアドレスと、仮想ポート番号とを含んでもよい。
【０１０９】
また、この具体例では、仮想アドレスと通信データとを含む仮想通信データが構成される場合について説明したが、通信データを含み、仮想アドレスを含まない仮想通信データが構成されてもよい。その場合に、仮想通信データが構成される２個の具体例について簡単に説明する。まず、１番目の具体例について説明する。仮想通信処理部１５は、情報処理部１１から通信データと仮想アドレスとを受け取り、その通信データをそのまま、図１６で示すように、仮想通信データとする。そして、その仮想通信データと、仮想アドレスに対応する実アドレスとを通信処理部１６に渡す。次に、２番目の具体例について説明する。仮想通信処理部１５は、情報処理部１１から通信データと仮想アドレスとを受け取り、上記具体例での説明と同様に、仮想アドレスをヘッダに含み、通信データをペイロードに含むパケットを構成する。仮想通信処理部１５は、そのパケットからヘッダを削除することにより、通信データを含み、仮想アドレスを含まない仮想通信データを構成し、その仮想通信データと、仮想アドレスに対応する実アドレスとを通信処理部１６に渡す。なお、仮想通信データに仮想アドレスが含まれない場合であって、パケットの受信処理の際に、通信先の仮想アドレスを情報処理部１１に渡す場合には、受信した通信パケットのヘッダに含まれる実アドレスに対応する仮想アドレスをアドレス対応情報から取得する処理を行い、その取得した仮想アドレスを通信先の仮想アドレスとして情報処理部１１に渡してもよい。
【０１１０】
また、この具体例で説明したパケットのペイロードやヘッダに、具体例で説明した以外の情報が含まれていてもよいことは言うまでもない。例えば、パケットのヘッダにセッションＩＤ等の情報が含まれていてもよい。
【０１１１】
また、例えば、情報処理部１１からの指示による終了、情報処理部１１による通信の終了、情報処理部１１の異常終了、情報通信装置１による通信の終了、情報通信装置１の異常終了などの際に仮想アドレスを用いた通信は終了することになる。また、情報処理部１１は、一定の期間以上、通信先との通信を行うことができなかった場合には、仮想アドレスを用いた通信を終了する旨の指示を仮想通信処理部１５に渡してもよい。
【０１１２】
以上のように、本実施の形態による情報通信装置１では、情報処理部１１が仮想アドレスを用いた通信を行い、実アドレスの変化が検出された場合であっても、仮想通信処理部１５が通信データ処理を継続するため、情報処理部１１は、実際の通信の状況にかかわらず、通信先の装置との通信を維持することができる。そのため、情報通信装置１がトンネルに入ってしまうことなどにより、実アドレスを用いた通信が一時的に切断されたとしても、情報処理部１１は、通信を維持することができる。したがって、実アドレスを用いた通信が再開された後に、情報処理部１１は、すぐに通信先の装置とのデータの授受を再開することができる。
【０１１３】
なお、本実施の形態では、図３のフローチャートのステップＳ２０６，Ｓ２１０において、通信データや仮想通信データを破棄する場合について説明したが、通信データ等を破棄するのではなく、メモリ等においてキューイングするようにしてもよい。その場合には、通信を行うことができる状況になってから、キューイングしていた通信データ等を通信先の装置に送信する処理を行うものとする。
【０１１４】
また、本実施の形態において、情報通信装置１の実アドレス、仮想アドレスが設定される処理や、通信先の装置の実アドレス、仮想アドレスを情報通信装置１が知るための処理は、上記説明に限定されず、他の方法によってなされてもよい。例えば、情報通信装置１
は、通信先の装置の仮想アドレスを、情報通信装置１と通信先の装置との間で張られたトンネル内で実行されるＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）や、ＤＬＮＡ（Ｄｉｇｉｔａｌ  Ｌｉｖｉｎｇ  Ｎｅｔｗｏｒｋ  Ａｌｌｉａｎｃｅ）の相互接続の方式等を用いて入手してもよい。
【０１１５】
（実施の形態２）
本発明の実施の形態２による情報通信装置について、図面を参照しながら説明する。本実施の形態による情報通信装置は、通信を再確立する通信再確立部をさらに備えたものである。
【０１１６】
図１７は、本実施の形態による情報通信装置４の構成を示すブロック図である。図１７において、本実施の形態による情報通信装置１は、情報処理部１１と、アドレス対応情報記憶部１２と、実アドレス変化検出部１３と、アドレス更新部１４と、仮想通信処理部１５と、通信処理部１６と、通信再確立部１７とを備える。なお、通信再確立部１７以外の構成及び動作は、仮想通信処理部１５が通信を再確立する処理を行わない以外、実施の形態１と同様であり、その説明を省略する。
【０１１７】
通信再確立部１７は、実アドレスを用いた通信が切断された場合に、通信先との実アドレスを用いた通信を確立する。通信を確立するとは、情報通信装置４から送信された情報が通信先の装置で受信され、通信先の装置から送信された情報が情報通信装置４で受信される状態となることである。通信再確立部１７は、実アドレスを用いた通信が切断される前に通信していた通信先の装置を特定する情報である特定情報で特定される装置との通信を確立してもよい。このようにすることで、通信先の装置との通信が切断した場合であっても、通信の切断前に通信していた通信先の装置との通信を再度行うことができるようになる。ここで、特定情報は、前述の説明と同様のものである。
【０１１８】
通信再確立部１７は、例えば、通信先の装置の実アドレスが変化したことにより実アドレスを用いた通信が切断された場合には、所定のサーバ装置に通信先の装置の新たな実アドレスを問い合わせ、その実アドレスを受け付けることにより、通信が確立されることになる。そのような場合において、通信再確立部１７が通信先の装置の変化後の実アドレスを取得する手段は問わない。２個の装置が通信を確立するための具体的な方法としては、例えば、ＳＩＰを用いた方法や、実施の形態１で説明した各文献（文献１〜文献４）に記載されている方法等を用いることができうる。情報通信装置１と通信先の装置との間にＮＡＴ機能を有する装置が存在する場合には、特に実施の形態１で説明した各文献（文献１〜文献４）に記載されている方法が有効である。
【０１１９】
なお、通信再確立部１７は、通信が切断された場合のみでなく、通信をはじめる場合にも、通信先の装置との通信を確立してもよい。あるいは、通信を始める場合には、別の構成要素が通信先の装置との通信を確立してもよい。通信を確立する通信先の装置は、例えば、情報通信装置４と同様の端末装置であってもよく、あるいは、ウェブサーバや、データベースサーバ、リレーサーバ等のサーバであってもよい。通信再確立部１７が確立する通信は、いわゆるＰ２Ｐ通信と呼ばれる、サーバ等を介さないで端末装置間で行われる通信であってもよい。
【０１２０】
なお、情報通信装置４の動作は、実アドレスを用いた通信が切断された場合に、通信先との実アドレスを用いた通信を確立する処理を仮想通信処理部１５ではなく通信再確立部１７が行う以外、実施の形態１と同様であり、その説明を省略する。
【０１２１】
また、実アドレス変化検出部１３が実アドレスの変化を検出した場合に、そのことを仮想通信処理部１５や通信処理部１６に通知してもよい。ここで、実施の形態１でも説明し
たように、実アドレスの変化が検出された旨は、情報処理部１１には伝えられない。したがって、たとえ実アドレスが変化したとしても、情報処理部１１は、そのことを知ることなく、仮想通信処理部１５に対する通信データ処理を継続するものとする。
【０１２２】
以上のように、本実施の形態による情報通信装置４も、実施の形態１による情報通信装置１と同様に、情報処理部１１が仮想アドレスを用いた通信を行い、実アドレスの変化が検出された場合であっても、仮想通信処理部１５が通信データ処理を継続するため、情報処理部１１は、実際の通信の状況にかかわらず、通信先の装置との通信を維持することができる。
【０１２３】
なお、実施の形態１，２では、実アドレスの変化が検出された場合に、通信を確立する処理を行う場合について説明したが（図２，図４のフローチャート）、実アドレスの変化が検出された場合であっても、通信を継続することができるときには、通信を確立する処理を行わなくてもよい。例えば、実施の形態１で説明したように、実アドレスの変化の検出が、「（２）通信先の装置から実アドレスの変わった旨を受信することによる検出」や、「（３）通信先の装置から送信されたパケットのソースアドレスの変化による検出」によって行われる場合には、実アドレスの変化が検出されたとしても、情報通信装置１，３は、通信先の装置と通信を継続することができているときもある。そのときには、実アドレスの変化が検出されたとしても、仮想通信処理部１５や通信再確立部１７による通信を確立する処理を行わなくてもよい。このような場合には、実アドレスの変化が検出された際に、通信先の装置との通信が切断されているときには、通信を確立する処理を実行し、そうでないときには、通信を確立する処理を実行しなくてもよい。通信を確立する処理を実行しない場合であっても、通信先の実アドレスが変化しているのであれば、アドレス対応情報を更新するものとする。すなわち、図４のフローチャートにおいて、まず通信先の装置との通信が切断されているかどうかを判断し、切断されている場合には、ステップＳ３０１に進み、切断されていない場合には、ステップＳ３０３に進むようにしてもよい。
【０１２４】
また、実施の形態１，２の図３のフローチャートにおいて、通信処理部１６の通信が可能でない場合にも、仮想通信処理部１５において通信データを破棄してもよい。また、仮想アドレスに対応する実アドレスが存在しない場合でも、通信処理部１６において仮想通信データを破棄してもよい。
【０１２５】
また、実施の形態１，２において、情報通信装置１の実アドレスがなくなったことが検出された場合に、仮想通信処理部１５、または通信処理部１６は、その実アドレスに対応するポートを閉じる処理を行ってもよい。なお、実アドレスに対応するポートが閉じられたとしても、仮想アドレスに対応するポートは閉じられないで残っている。
【０１２６】
また、実施の形態１，２において、仮想通信処理部１５、または通信処理部１６が実アドレス変化検出部１３の機能を有してもよい。その場合には、仮想通信処理部１５、または通信処理部１６が、実アドレス変化検出部１３を含むことと同じことになる。
【０１２７】
また、実施の形態１，２において、仮想通信処理部１５は、アドレス更新部１４の機能を有してもよい。その場合には、仮想通信処理部１５が、アドレス更新部１４を含むことと同じことになる。
【０１２８】
また、上記各実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【０１２９】
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されて
もよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記各実施の形態における情報通信装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、仮想アドレスを用いて通信データに関する送信要求を行う情報処理ステップと、送信に使用する実アドレスの変化を検出する実アドレス変化検出ステップと、前記実アドレス変化検出ステップで実アドレスの変化を検出した場合に、当該変化に応じて、送信に使用する仮想アドレスと送信に使用する実アドレスとを対応付けて有する情報である１以上のアドレス対応情報が記憶されるアドレス対応情報記憶部で記憶されているアドレス対応情報を更新するアドレス更新ステップと、前記情報処理ステップでの送信要求に基づき、前記通信データを用いて仮想通信データを構成し、前記情報処理ステップでの送信要求に用いられた仮想アドレスに対応する実アドレスを前記アドレス対応情報から取得し、当該実アドレスを用いた仮想通信データに関する通信データ処理を行う仮想通信処理ステップと、前記仮想通信処理ステップで構成された仮想通信データと、前記仮想通信処理ステップで取得された実アドレスとを受け付け、当該仮想通信データと実アドレスとを用いた通信処理を行う通信処理ステップと、を実行させ、前記仮想通信処理ステップでは、前記実アドレス変化検出ステップで実アドレスの変化を検出した場合でも、前記通信データ処理を継続する、ものである。
【０１３０】
なお、上記プログラムにおいて、通信処理ステップなどでは、ハードウェアでしか行われない処理、例えば、通信処理ステップにおけるモデムやインターフェースカードなどで行われる処理は少なくとも含まれない。
【０１３１】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、ＣＤ−ＲＯＭなどの光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。
【０１３２】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１３３】
以上より、本発明による情報通信装置等は、実アドレスが変化したとしても仮想アドレスを用いた通信を維持することができるものであり、他の装置と通信を行う情報通信装置等において有用である。
【図面の簡単な説明】
【０１３４】
【図１】本発明の実施の形態１による情報通信装置の構成を示すブロック図
【図２】同実施の形態による情報通信装置の動作を示すフローチャート
【図３】同実施の形態による情報通信装置の動作を示すフローチャート
【図４】同実施の形態による情報通信装置の動作を示すフローチャート
【図５】同実施の形態による情報通信装置の動作について説明するための図
【図６】同実施の形態による情報通信装置の動作について説明するための図
【図７】同実施の形態による情報通信装置の動作について説明するための図
【図８】同実施の形態による情報通信装置を含む情報システムの一例を示す図
【図９】同実施の形態における通信確立サーバにおいて保持される実アドレスの一例を示す図
【図１０】同実施の形態におけるアドレス対応情報の一例を示す図
【図１１】同実施の形態における仮想通信データの一例を示す図
【図１２】同実施の形態における通信パケットの一例を示す図
【図１３】同実施の形態におけるアドレス対応情報の一例を示す図
【図１４】同実施の形態におけるアドレス対応情報の他の一例を示す図
【図１５】同実施の形態におけるアドレス対応情報の他の一例を示す図
【図１６】同実施の形態における仮想通信データの他の一例を示す図
【図１７】本発明の実施の形態２による情報通信装置の構成を示すブロック図
【符号の説明】
【０１３５】
１、２、４  情報通信装置
３  通信確立サーバ
１１  情報処理部
１２  アドレス対応情報記憶部
１３  実アドレス変化検出部
１４  アドレス更新部
１５  仮想通信処理部
１６  通信処理部
１７  通信再確立部
【図１】
2008098813.tif 000003
【図２】
2008098813.tif 000004
【図３】
2008098813.tif 000005
【図４】
2008098813.tif 000006
【図５】
2008098813.tif 000007
【図６】
2008098813.tif 000008
【図７】
2008098813.tif 000009
【図８】
2008098813.tif 000010
【図９】
2008098813.tif 000011
【図１０】
2008098813.tif 000012
【図１１】
2008098813.tif 000013
【図１２】
2008098813.tif 000014
【図１３】
2008098813.tif 000015
【図１４】
2008098813.tif 000016
【図１５】
2008098813.tif 000017
【図１６】
2008098813.tif 000018
【図１７】
2008098813.tif 000019